mi

Characterization and biology of nanomaterials for drug delivery: nanoscience and nanotechnology in drug delivery / edited by Shyam S. Mohapatra, Shivendu Ranjan, Nandita Dasgupta, Raghvendra Kumar Mishra, Sabu Thomas

Online Resource




mi

Antimicrobial peptides: basics for clinical application / Katsumi Matsuzaki, editor

Online Resource




mi

Radiopharmaceutical chemistry / Jason S. Lewis, Albert D. Windhorst, Brian M. Zeglis, editors

Online Resource




mi

The medicalization of marijuana: legitimacy, stigma, and the patient experience / Michelle Newhart and William Dolphin

Hayden Library - RM666.C266 N49 2019




mi

The medical marijuana guide: cannabis and your health / by Patricia C. Frye with Dave Smitherman

Hayden Library - RM666.C266 F79 2018




mi

Current applications for overcoming resistance to targeted therapies / editors, Myron R. Szewczuk, Bessi Qorri and Manpreet Sambi

Online Resource




mi

Microneedles for Transdermal Drug Delivery

Online Resource




mi

The role of microstructure in topical drug product development Nigel Langley, Bozena Michniak-Kohn, David W. Osborne, editors

Online Resource




mi

Peptide therapeutics: strategy and tactics for chemistry, manufacturing, and controls / editor: Ved Srivastava

Online Resource




mi

Analytical method development and validation / Michael Swartz, Ira S. Krull

Online Resource




mi

Experiments in pharmaceutical chemistry / Charles Dickson

Online Resource




mi

Solid oral dose process validation Ajay Pazhayattil, Naheed Sayeed-Desta, Emilija Fredro-Kumbaradzi, Marzena Ingram, Jordan Collins

Online Resource




mi

Antibacterial drug discovery to combat MDR: natural compounds, nanotechnology and novel synthetic sources / Iqbal Ahmad, Shamim Ahmad, Kendra P. Rumbaugh, editors

Online Resource




mi

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

Online Resource




mi

Practical statistics for pharmaceutical analysis: with Minitab applications / Jaames E. De Muth

Online Resource




mi

Nijkamp and Parnham's principles of immunopharmacology / Michael J. Parnham, Frans P. Nijkamp, Adriano G. Rossi, editors

Online Resource




mi

Essentials of pharmaceutical analysis Muhammad Sajid Hamid Akash, Kanwal Rehman

Online Resource




mi

Cancer drug delivery systems based on the tumor microenvironment edited by Yasuhiro Matsumura, David Tarin

Online Resource




mi

Multiscale modeling of vascular dynamics of micro- and nano-particles: application to drug delivery system / Huilin Ye, Zhiqiang Shen and Ying Li

Online Resource




mi

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

Online Resource




mi

Topical antimicrobial testing and evaluation / Darryl S. Paulson

Online Resource




mi

Antiarrhythmic Drugs edited by Antoni Martínez-Rubio, Juan Tamargo, Gheorghe- Andrei Dan

Online Resource




mi

Medicinal plant research in Africa: pharmacology and chemistry / edited by Victor Kuete

Online Resource




mi

Novel drug delivery technologies: innovative strategies for drug re-positioning / Ambikanandan Misra, Aliasgar Shahiwala, editors

Online Resource




mi

‘Miedo de ser enfermera’: Los trabajadores de la salud están bajo ataque

Estigmatizados como focos de contagio en algunos países, los trabajadores de la salud han sido agredidos, maltratados y marginados.




mi

Kashmir Gun Battle Kills at Least 7

Fighting between the Indian Army and militants threatened to heighten hostilities in the disputed region, where near-daily skirmishes have raged for weeks.




mi

Top Kashmiri Militant Is Killed, Sparking Protests and Rage

Over years of fighting, Riyaz Ahmad Naikoo recruited scores of young Kashmiris in an armed quest for independence from India. His death has set off a fresh wave of unrest.




mi

Helping Migratory Bats with Agave Planting Event

BCI announced today the launch of an agave planting initiative throughout Southwest, Tucson area, and Mexico to support the lesser long-nosed bat




mi

Protecting America’s Rarest Bat with Opening of the FPL Bat Lab at Zoo Miami

Miami, Fla. – (Oct. 24, 2019) – The FPL Bat Lab at Zoo Miami officially opened today focused on providing solutions to protect the federally




mi

Geology For Dummies, 2nd Edition


 

Get a rock-solid grasp on geology

Geology For Dummies is ideal reading for anyonewith an interest in the fundamental concepts of geology, whether they're lifelong learners with a fascination for the subject or college students interested in pursuing geology or earth sciences.

Presented in a straightforward, trusted format—and tracking to a typical introductory geology course at the college level—this book features a thorough introduction to the study



Read More...




mi

Resident Foreigners: A Philosophy of Migration


 

From the shores of Europe to the Mexican-US border, mass migration is one of the most pressing issues we face today. Yet at the same time, calls to defend national sovereignty are becoming ever more vitriolic, with those fleeing war, persecution, and famine vilified as a threat to our security as well as our social and economic order.

In this book, written amidst the dark resurgence of appeals to defend ‘blood and soil’, Donatella Di Cesare challenges



Read More...




mi

Resident Foreigners: A Philosophy of Migration


 

From the shores of Europe to the Mexican-US border, mass migration is one of the most pressing issues we face today. Yet at the same time, calls to defend national sovereignty are becoming ever more vitriolic, with those fleeing war, persecution, and famine vilified as a threat to our security as well as our social and economic order.

In this book, written amidst the dark resurgence of appeals to defend ‘blood and soil’, Donatella Di Cesare challenges



Read More...




mi

Biogeochemical Cycles: Ecological Drivers and Environmental Impact


 

Biogeochemical Cycles: Ecological Drivers and Environmental Impact is a collection of the latest information on the techniques and methods currently used in this field, focusing on biological and/or ecological effects of biogeochemical elemental cycles including carbon, nitrogen, major and trace elements, chemical weathering on multiple scales of nanometers to watersheds, and advances in technology of studying these processes.

Volume highlights include



Read More...




mi

The line between Events and Promises

In this post I will talk about Events and Promise limits, trying to fill all gaps with a 498 bytes sized library called notify-js.




mi

On Cancelable Promises

Update
The awesome Lie function got improved and became an official module (yet 30 lines of code thought). Its name is Dodgy, and it's tested and even more awesome!


Ifeverydevelopertalksaboutsimilarissues with Promises, maybe we should just drop our "religion" for an instant and meditate about it ...

Not today though, today is just fine

We've been demanding from JS and Web standards to give us lower level APIs and "cut the crap", but we can do even more than that: simply solve our own problems whenever we need, and "cut our own crap" by ourselves and for our own profit, instead of keep moaning without an outcome.
Today, after reading yet another rant about what's missing in current Promise specification, I've decided to write a very simple gist:


After so many discussions and bikeshead about this topic, I believe above gist simply packs in its simplicity all good and eventually bad intents from any voice of the chorus I've heard so far:
  1. if we are in charge of creating the Promise, we are the only one that could possibly make it abortable and only if we want to, it's an opt in rather than a default or a "boring to write" subclass
  2. it's widely agreed that cancellation should be rather synonymous of a rejection, there's no forever pending issue there, just a plain simple rejection
  3. one of the Promise strength is its private scope callback, which is inevitably the only place where defining abortability would make sense. Take a request, a timer, an event handler defined inside that callback, where else would you provide the ability to explicitly abort and cleanup the behavior if not there?
  4. being the callback the best pace to resolve, reject, and optionally to abort, that's also the very same place we want to be sure that if there was a reason to abort we can pass it along the rejection, so that we could simply ignore it in our optionally abort aware Promises, and yet drop out from any other in the chain whenever the rejection occurs or it's simply ignored
  5. the moment we make the promise malleable from the outer world through a p.abort() ability, is also the very same moment we could just decide to resolve, or fully fail the promise via p.resolve(value) or p.reject(error)
As example, and shown in the gist itself, this is how we could opt in:

var p = new Lie(function (resolve, reject, onAbort) {
var timeout = setTimeout(resolve, 1000, 'OK');
// invoking onAbort will explicit our intent to opt-in
onAbort(function () {
clearTimeout(timeout);
return 'aborted'; // will be used as rejected error
// it could even be undefined
// so it's easier to distinguish
// between real errors and aborts
});
});
After that, we can p.abort() or try other resolve or reject options with that p instance and track it's faith:

p.then(
console.log.bind(console),
console.warn.bind(console)
).catch(
console.error.bind(console)
);
Cool, uh? We have full control as developers who created that promise, and we can rule it as much as we like when it's needed ... evil-laugh-meme-here

Cooperative code

In case you are wondering what's the main reason I've called it Lie in the first place, it's not because a rejected Promise can be considered a lie, simply because its behavior is not actually the one defined by default per each Promise.
Fair enough for the name I hope, the problem might appear when we'd like to ensure our special abortable, resolvable, rejectable own Promise, shouldn't be passed around as such. Here the infinite amount of logic needed in order to solve this problem once for all:

var toTheOuterWorld = p.then(
function (data) {return data},
function (error) {return error}
);
// or even ...
var toTheOuterWorld = Promise.resolve(p);
That's absolutely it, really! The moment we'd like to pass our special Promise around and we don't want any other code to be able to mess with our abortability, we can simply pass a chained Promise, 'cause that's what every Promise is about: how cool is that?

// abortable promise
var cancelable = new Lie(function (r, e, a) {
var t = setTimeout(r, 5000, 'all good');
a(function () { clearTimeout(t); });
});

// testing purpose, will it resolve or not?
setTimeout(cancelable.reject, 1000, 'nope');
// and what if we abort before?
setTimeout(cancelable.abort, 750);



// generic promise, let's log what happens
var derived = cancelable.then(
function (result) { console.log('resolved', result); },
function (error) { error ?
console.warn('rejected', error) :
console.log('ignoring the .abort() call');
}
).catch(
function (error) { console.error('cought', error); }
);

// being just a Promise, no method will be exposed
console.log(
derived.resolve,
derived.reject,
derived.abort
);

Moaaar lies

If your hands are so dirty that you're trying to solve abort-ability down the chain, don't worry, I've got you covered!

Lie.more = function more(lie) {
function wrap(previous) {
return function () {
var l = previous.apply(lie, arguments);
l.resolve = lie.resolve; // optional bonus
l.reject = lie.reject; // optional bonus
l.abort = lie.abort;
return Lie.more(l);
};
}
if (lie.abort) {
lie.then = wrap(lie.then);
lie.catch = wrap(lie.catch);
}
return lie;
};
We can now chain any lie we want and abort them at any point in time, how cool is that?

var chainedLie = new Lie(function (res, rej, onAbort) {
var t = setTimeout(res, 1000, 'OK');
onAbort(function (why) {
clearTimeout(t);
return why;
});
})
.then(
console.log.bind(console),
console.warn.bind(console)
)
.catch(
console.error.bind(console)
);

// check this out
chainedLie.abort('because');
Good, if you need anything else you know where to find me ;-)
How to opt out from lies again?

var justPromise = Promise.resolve(chainedLie);
OK then, we've really solved our day, isn't it?!

As Summary

Promises are by definition the returned or failed value from the future, and there's no room for any abort or manually resolved or rejected operation in there.
... and suddenly we remind ourselves we use software to solve our problems, not to create more, so if we can actually move on with this issue that doesn't really block anyone from creating the very same simple logic I've put in place in about 20 well indented standard lines, plus extra optional 16 for the chainable thingy ... so what are we complaining about or why do even call ourselves developers if we get stuck for such little effort?
Let's fell and be free and pick wisely our own footgun once we've understood how bad it could be, and let's try to never let some standard block our daily job: we are all hackers, after all, aren't we?




mi

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!




mi

Mapping the country of regions: the Chorographic Commission of nineteenth-century Colombia / Nancy P. Appelbaum, the University of North Carolina Press, Chapel Hill

Hayden Library - GA693.7.A1 A77 2016




mi

Ecotourism's promise and peril: a biological evaluation / Daniel T. Blumstein, Benjamin Geffroy, Diogo S. M. Samia, Eduardo Bessa, editors

Online Resource




mi

A Louisiana coastal atlas: resources, economies, and demographics / Scott A. Hemmerling

Dewey Library - G1362.C6A5 H46 2017




mi

Remapping modern Germany after national socialism, 1945-1961 / Matthew D. Mingus

Dewey Library - GA873.7.A1 M56 2017




mi

Introduction to GIS programming and fundamentals with Python and ArcGIS / Chaowei Yang ; with the collaboration of Manzhu Yu [and seven others]

Rotch Library - G70.212.Y36 2017




mi

The anarchist's guide to travel: a manual for future hitchhikers, hobos, and other misfit wanderers / by Matthew Derrick

Hayden Library - G151.D47 2017




mi

Web and wireless geographical information systems: 16th International Symposium, W2GIS 2018, A Coruña, Spain, May 21-22, 2018, Proceedings / Miguel R. Luaces, Farid Karimipour (eds.)

Online Resource




mi

Tangible modeling with open source GIS / Anna Petrasova, Brendan Harmon, Vaclav Petras, Payam Tabrizian, Helena Mitasova

Online Resource




mi

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




mi

The solo travel handbook: practical tips and inspiration for a safe, fun and fearless trip / commissioning editors Jessica Cole, Sarah Reid ; editors Lucy Cheek, Kate Turvey ; assistant editor Christina Webb

Hayden Library - G151.S57 2018




mi

Getting to know ArcGIS Desktop / Michael Law, Amy Collins

Rotch Library - G70.212.G489 2018




mi

Understanding GIS: an ArcGIS Pro project workbook / David Smith, Nathan Strout, Christian Harder, Steven Moore, Tim Ormsby, Thomas Balstrøm

Rotch Library - G70.212.H358 2017




mi

GIS and the social sciences: theory and applications / Dimitris Ballas, Graham Clarke, Rachel S. Franklin and Andy Newing

Rotch Library - G70.212.B35 2018




mi

The Far Horizons of Time: Time and Mind in the Universe / H. Chris Ransford

Online Resource