x

Endotoxin Detection and Control in Pharma, Limulus, and Mammalian Systems.

Online Resource




x

Marine and freshwater toxins / editors, P. Gopalakrishnakone, Vidal Haddad Jr., William R. Kem, Aurelia Tubaro, Euikyung Kim

Online Resource




x

Experiments in pharmaceutical chemistry / Charles Dickson

Online Resource




x

Drug transporters in drug disposition, effects and toxicity Xiaodong Liu, Guoyu Pan, editors

Online Resource




x

The science and regulations of naturally derived complex drugs / Ram Sasisekharan [and 3 others], editors

Hayden Library - RS380.S35 2019




x

Ventilatory support and oxygen therapy in elder, palliative and end-of-life care patients / Antonio M. Esquinas, Nicola Vargas, editors

Online Resource




x

Hyperbaric oxygenation therapy: molecular mechanisms and clinical applications / Nariyoshi Shinomiya, Yasufumi Asai, editors

Online Resource




x

The Practice of Consumer Exposure Assessment edited by Gerhard Heinemeyer, Matti Jantunen, Pertti Hakkinen

Online Resource




x

Nanoparticles induce oxidative and endoplasmic reticulum stresses: antioxidant therapeutic defenses / Loutfy H. Madkour

Online Resource




x

Psychoactive medicinal plants and fungal neurotoxins Amritpal Singh Saroya, Jaswinder Singh

Online Resource




x

The role of NIH in drug development innovation and its impact on patient access: proceedings of a workshop / Francis K. Amankwah, Alexandra Andrada, Sharyl J. Nass, and Theresa Wizemann, rapporteurs ; Board on Health Care Services ; Board on Health Scienc

Online Resource




x

Fungus that causes bat-killing disease White-nose Syndrome is expanding in Texas

BCI announced today that early signs of the fungus Pseudogymnoascus destructans (Pd) have been detected at one of the world’s premier bat conservation sites, Bracken Cave Preserve




x

Exploring the Solar System, 2nd Edition


 

An Exciting and Authoritative Account of the Second Golden Age of Solar System Exploration Award-winning author Peter Bond provides an up-to-date, in-depth account of the sun and its family in the 2nd edition of Exploring the Solar System. This new edition brings together the discoveries and advances in scientific understanding made during the last 60 years of solar and planetary exploration, using research conducted by the world's leading geoscientists



Read More...




x

ArchLinux UEFI and Dell XPS 2015

unrelated important thing first: I am blogging on my own website too, you can read my very first public entry in there!
I will keep posting here less web-centric related issues, or mostly rants, and will post there interesting stuff about HTML5, JavaScript, client/server and Mobile Web development ... now, back to the topic ...

archibold and my Dell XPS Developer Edition

So they changed my motherboard today, it suddenly stopped recognizing the Hard Drive, and even trying other drives didn't work at all.
Kudos to Dell for their assistance: the day after a person with already all necessary pieces arrived at my door and substituted the Motherboard with a very quiet and professional attitude.
... when I've asked assistance for a Lenovo Yoga Pro 3 they never even come back ...

If you've never heard about archibold, it's an installer which aim is to simplify ArchLinux and, optionally, GNOME configuration. Since I already backed up my Dell, and even if it was working like a charm, I've decided to erase it and see if I could make it work via UEFI.
Apparently this BIOS could be quite problematic and while efibootmgr seems to work without problems, it actually doesn't: it puts the EFI label into the list of Legacy boot-able devices so it won't work!

Not only the boot manager

If you have tried my installer before, I suggested to use UEFI=NO and enable Legacy mode on the bios. This was because not only I couldn't figure out how to install via UEFI, but I was using genfstab generated /etc/fstab during the installation and it was storing wrong UUIDs.

Finally Managed to install with UEFI boot!

The TL;DR story is that if you have an EFI partition created through gparted, and you have Syslinux on it, you should go in the part of the bios where you can add UEFI partitions manually, selecting syslinux/syslinux.efi file to boot from.
Full Article


x

Exporting modules in JavaScript

In my latest entry I explain the difference about exporting a module between server side or CLI environments such Nashorn, SpiderMonkey, JSC, or micro controller and embedded engines such Duktape, Espruino, KinomaJS, and Desktop UI space via GJS.
Using this is a universal way to attach and export properties but when it comes to ES2015 modules, incompatible with CommonJS and with an undefined execution context.
Enjoy




x

The missing analysis in JavaScript "Real" Mixins

I love hacks and unusual patterns! As logical consequence, I loved this post about "Real" Mixins!!!
The only hitch about that post is that I believe there are few points closer to a "gonna sell you my idea" discussion than a non disillusioned one.
Let's start this counter analysis remembering what are actually classes in latest JavaScript standard, so that we can move on explaining what's missing in there.

JavaScript embraces prototypal inheritance

It doesn't matter if ES6 made the previously reserved class keyword usable; at the end of the day we're dealing with a special syntactical shortcut to enrich a generic prototype object.

// class in ES2015
class A {
constructor() {}
method() {}
get accessor() {}
set accessor(value) {}
}

// where are those methods and properties defined?
console.log(
Object.getOwnPropertyNames(A.prototype)
// ["constructor", "method", "accessor"]
);
Accordingly, declaring a generic class consists in bypassing the following procedure:

function A() {}
Object.defineProperties(
A.prototype,
{
// constructor is implicitly defined
method: {
configurable: true,
writable: true,
value: function method() {}
},
accessor: {
configurable: true,
get: function get() {},
set: function set(value) {}
}
}
);
If you don't trust me, trust what a transpiler would do, summarized in the following code:

var A = (function () {
// the constructor
function A() {
_classCallCheck(this, _temporalAssertDefined(A, "A", _temporalUndefined) && A);
}
// the enriched prototype
_createClass(_temporalAssertDefined(A, "A", _temporalUndefined) && A, [{
key: "method",
value: function method() {}
}, {
key: "accessor",
get: function get() {},
set: function set(value) {}
}]);

return _temporalAssertDefined(A, "A", _temporalUndefined) && A;
})();
If there is some public static property in the definition, its assignment to the constructor would be the second bypassed part.

The super case

The extra bit in terms of syntax that makes ES6 special is the special keyword super. Being multiple inheritance not possible in JavaScript, we could think about super as the static reference to the directly extended prototype. In case of the previous B class, which extends A, we can think about super variable like if it was defined as such:

// used within the constructor
let super = (...args) => A.apply(this, arguments);

// used within any other method
super.method = (...args) => A.prototype.method.apply(this, args);

// used as accessor
Object.defineProperty(super, 'accessor', {
get: () => Object.getOwnPropertyDescriptor(
A.prototype, 'accessor'
).get.call(this),
set: (value) => Object.getOwnPropertyDescriptor(
A.prototype, 'accessor'
).set.call(this, value)
});
Now that we have a decent understanding on how inheritance works in JavaScript and what it means to declare a class, let's talk about few misleading points sold as pros or cons in the mentioned article.

Prototypes are always modified anyway!

We've just seen that defining a class technically means enriching its prototype object. This already invalidates somehow Justin point but there's more to consider.
When Justin exposes his idea on why current solutions are bad, he says that:
When using mixin libraries against prototype objects, the prototypes are directly mutated. This is a problem if the prototype is used anywhere else that the mixed-in properties are not wanted.
The way Justin describes this issue is quite misleading because mutating prototypes at runtime is a well known bad practice.
Indeed, I believe every single library he mentioned in that post, and he also forgot mine, is not designed to mutate classes prototypes at runtime ... like: not at all!
Every single mixin proposal that is capable of implementing mixins via classes is indeed designed to define these classes at definition time, not at runtime!
Moreover, whatever solution Justin proposed will not guard any class from being modified at runtime later on!
The same way he's defining his final classes during their definitions, mixins-for-classes oriented libraries have exactly the same goal: you define your class and its mixins during the class definition time!
The fact mixins add properties to a prototype is a completely hidden matter that at class definition time is everything but bad.
Also, no property is modified in place, because mixins are there to enrich, not to modify ... and having a prototype enriched means also that it's easier to spot name clashing and methods or properties conflicts ... but I'll come back to that later ...

super actually should NOT work!

The main bummer about the article is that it starts in a very reasonable way, describing mixins and classes, and also analyzing their role in a program.
The real, and only, difference between a mixin and normal subclass is that a normal subclass has a fixed superclass, while a mixin definition doesn't yet have a superclass.
Justin started right at the very beginning, and then degenerated with all sort of contradictions such:
Then finally he's back to Sanity Village with the following sentence:
super calls can be a little unintuitive for those new to mixins because the superclass isn't known at mixin definition, and sometimes developers expect super to point to the declared superclass (the parameter to the mixin), not the mixin application.
And on top of that, Justin talks about constructors too:
Constructors are a potential source of confusion with mixins. They essentially behave like methods, except that overriden methods tend to have the same signature, while constructors in a inheritance hierarchy often have different signatures.
In case you're not convinced yet how much messed up could be the situation, I'd like to add extra examples to the plate.
Let's consider the word area and its multiple meanings:
  • any particular extent of space or surface
  • a geographical region
  • any section reserved for a specific function
  • extent, range, or scope
  • field of study, or a branch of a field of study
  • a piece of unoccupied ground; an open space
  • the space or site on which a building stands
Now you really have to tell me in case you implement a basic Shape mixin with an area() method what the hack would you expect when invoking super. Moreoever, you should tell me if for every single method you are going to write within a mixin, you are also going to blindly invoke super with arbitrary amount of arguments in there ...

So here my quick advice about calling blindly a super: NO, followed by DON'T and eventually NEVER!

Oversold super ability

No kidding, and I can't stress this enough ... I've never ever in my life wrote a single mixin that was blindly trusting on a super call. That would be eventually an application based on mixins but that's a completely different story.
My feeling is that Justin tried to combine at all cost different concepts, probably mislead by his Dart background, since mentioned as reference, where composition in Dart was indeed classes based and the lang itself exposes native mixins as classes ... but here again we are in JavaScript!

instanceof what?

Another oversold point in Justin's article is that instanceof works.
This one was easy to spot ... I mean, if you create a class at runtime everytime the mixin is invoked, what exactly are you capable of "instanceoffing" and why would that benefit anyone about anything?
I'm writing down his very same examples here that will obviously all fail:

// a new anonymous class is created each time
// who's gonna benefit about the instanceof?
let MyMixin = (superclass) => class extends superclass {
foo() {
console.log('foo from MyMixin');
}
};

// let's try this class
class MyClass extends MyMixin(MyBaseClass) {
/* ... */
}

// Justin says it's cool that instanceof works ...
(new MyClass) instanceof MyMixin; // false
// false ... really, it can't be an instance of
// an arrow function prototype, isn't it?!
Accordingly, and unless I've misunderstood Justin point in which case I apologies in advance, I'm not sure what's the exact point in having instanceof working. Yes, sure the intermediate class is there, but every time the mixin is used it will create a different class so there's absolutely no advantage in having instanceof working there ... am I right?

Improving **Objects** Composition

In his Improving the Syntax paragraph, Justin exposes a very nice API summarized as such:

let mix = (superclass) => new MixinBuilder(superclass);

class MixinBuilder {
constructor(superclass) {
this.superclass = superclass;
}

with(...mixins) {
return mixins.reduce((c, mixin) => mixin(c), this.superclass);
}
}
Well, this was actually the part I've liked the most about his article, it's a very simple and semantic API, and it also doesn't need classes at all to be implemented for any kind of JS object!
How? Well, simply creating objects from objects instead:

let mix = (object) => ({
with: (...mixins) => mixins.reduce(
(c, mixin) => Object.create(
c, Object.getOwnPropertyDescriptors(mixin)
), object)
});
It could surely be improved in order to deal with classes too but you get the idea:

let a = {a: 'a'};
let b = {b: 'b'};
let c = {c: 'c'};
let d = mix(c).with(a, b);
console.log(d);
Since the main trick in Justin proposal is to place an intermediate class in the inheritance chain, defining at runtime each time the same class and its prototype, I've done something different here that doesn't need to create a new class with its own prototype or object each time, while preserving original functionalities without affecting them.

Less RAM to use, a hopefully coming soon native Object.getOwnPropertyDescriptors that should land in ES7 and make extraction faster, and the ability to use the pattern with pretty much everything out there, modern or old.
The gist is here, feel free to reuse.

As Summary ...

Wrapping up this post, with latter proposal we can actually achieve whatever Justin did with his intermediate classes approach but following different goals:
  1. Mixins are added to the prototype chain.
  2. Mixins are applied without modifying existing objects.
  3. Mixins do no magic, and don't define new semantics on top of the core language.
  4. super.foo property access won't hopefully work within mixins but it will with subclasses methods.
  5. super() calls won't hopefully work in mixins constructors because you've no idea what kind of arguments you are going to receive. Subclasses still work as expected.
  6. Mixins are able to extend other mixins.
  7. instanceof has no reason to be even considered in this scenario since we are composing objects.
  8. Mixin definitions do not require library support - they can be written in a universal style and be compatible with non classes based engines too.
  9. bonus: less memory consumption overall, there's no runtime duplication for the same logic each time
I still want to thanks Justin because he made it quite clear that still not everyone fully understands mixins but there's surely a real-world need, or better demand, in the current JavaScript community.

Let's hope the next version of ECMAScript will let all of us compose in a standard way that doesn't include a footgun like super through intermediate classes definition could do.
Thanks for your patience reading through this!




x

Surviving the Essex: the afterlife of America's most storied shipwreck / David O. Dowling

Hayden Library - G530.E77 D68 2016




x

The world and all the things upon it: native Hawaiian geographies of exploration / David A. Chang

Hayden Library - G222.C53 2016




x

Placing names: enriching and integrating gazetteers / edited by Merrick Lex Berman, Ruth Mostern, and Humphrey Southall

Hayden Library - G103.5.P53 2016




x

Exploring Greenland: cold war science and technology on ice / Ronald E. Doel, Kristine C. Harper, Matthias Heymann, editors

Hayden Library - G743.E96 2016




x

The Oxford handbook of the prehistoric Arctic / edited by T. Max Friesen and Owen K. Mason

Hayden Library - G606.O94 2016




x

Endeavouring Banks: exploring collections from the Endeavour voyage, 1768-1771 / Neil Chambers, with contributions by Anna Agnarsdottir, Sir David Attenborough, Jeremy Coote, Philip J. Hatfield and John Gascoigne

Hayden Library - G420.B18 C43 2016




x

The technocratic Antarctic: an ethnography of scientific expertise and environmental governance / Jessica O'Reilly

Dewey Library - G877.O74 2017




x

The spectral Arctic: a history of ghosts and dreams in polar exploration / Shane McCorristine

Online Resource




x

Target scattering mechanism in polarimetric synthetic aperture radar: interpretation and application / Si-Wei Chen, Xue-Song Wang, Shun-Ping Xiao, Motoyuki Sato

Online Resource




x

Transnational tourism experiences at Gallipoli / Jim McKay

Online Resource




x

Exploration of subsurface Antarctica: uncovering past changes and modern processes / edited by M.J. Siegert, S.S.R. Jamieson and D.A. White

Hayden Library - G860.E97 2018




x

Imagery and GIS: best practices for extracting information from imagery / Kass Green, Russell G. Congalton, Mark Tukman

Rotch Library - G70.4.G743 2017




x

GIS for environmental applications: a practical approach / Xuan Zhu

Rotch Library - G70.212.Z5386 2016




x

GIScience teaching and learning perspectives / Shivanand Balram, James Boxall, editors

Online Resource




x

The new map of empire: how Britain imagined America before independence / S. Max Edelson

Hayden Library - GA401.E36 2017




x

Perspectives on rural tourism geographies: case studies from developed nations on the exotic, the fringe and the boring bits in between / editors, Rhonda L. Koster and Doris A. Carson

Online Resource




x

Oxford dictionary of geography / Susan Mayhew

Online Resource




x

Tourist behavior: an experiential perspective / Metin Kozak, Nazmi Kozak, editors

Online Resource




x

Destination London: the expansion of the visitor economy / edited by Andrew Smith and Anne Graham

Online Resource




x

Cycling and motorcycling tourism: an analysis of physical, sensory, social, and emotional features of journey experiences / Anna Scuttari

Online Resource




x

Scientific Satellite and Moon-Based Earth Observation for Global Change / by Huadong Guo, Wenxue Fu, Guang Liu

Online Resource




x

Encyclopedia of GIS / editors, Shashi Shekhar, Hui Xiong, Xun Zhou

Online Resource




x

The news at the ends of the earth: the print culture of polar exploration / Hester Blum

Online Resource




x

Restauration de la productivité des sols tropicaux et méditerranéens

Online Resource




x

Tourism, urbanization, and the evolving periphery of the European Union / Max Holleran

Online Resource




x

Experiencing Persian heritage: perspectives and challenges / editors, Antonia Correia, Metin Kozak, Ana Isabel Rodrigues

Rotch Library - G155.I65 E97 2019




x

Expeditions unpacked: what the great explorers took into the unknown / Ed Stafford

Dewey Library - G200.S727 2019




x

Mapping the nation: GIS making a difference now - locally, nationally, globally: GIS inspiring what's next - accelerating digital transformation.

Rotch Library - G70.212.M37 2019




x

Sensors and Systems for Space Applications IX: 18-19 April 2016, Baltimore, Maryland, United States / Khanh D. Pham, Genshe Chen, editors ; sponsored and published by SPIE

Online Resource




x

Infrared remote sensing and instrumentation XXIV: 29-30 August 2015, San Diego, California, United States / Marija Strojnik, editor ; sponsored by SPIE

Online Resource




x

Algorithms and Technologies for Multispectral, Hyperspectral, and Ultraspectral Imagery XXII: 18-21 April 2016, Baltimore, Maryland, United States / Miguel Velez-Reyes, David W. Messinger, editors ; sponsored and published by SPIE

Online Resource




x

Proceedings of UASG 2019: Unmanned Aerial System in Geomatics / Kamal Jain, Kourosh Khoshelham, Xuan Zhu, Anuj Tiwari, editors

Online Resource




x

Historical geography, GIScience and textual snalysis: landscapes of time and place / Charles Travis, Francis Ludlow, Ferenc Gyuris, editors

Online Resource




x

Labyrinth of ice: the triumphant and tragic Greely polar expedition / Buddy Levy

Dewey Library - G670 1881.L48 2019