se

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

Online Resource




se

Nervous system drug delivery: principles and practice / edited by Russell R. Lonser, Malisa Sarntinoranont, Krystof Bankiewicz

Online Resource




se

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

Online Resource




se

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

Online Resource




se

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

Online Resource




se

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




se

These Birds Eat Fire, or Close to It, to Live Another Day

A willingness to experiment with new foods and ways of foraging may make some birds less vulnerable to extinction.




se

‘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.




se

As India Loosens Its Strict Lockdown, Coronavirus Deaths Jump Sharply

The streets have suddenly come alive, especially at night, in many areas where social distancing is impossible.




se

Fat Bats Withstand Effects of White-nose Syndrome

 BCI announced today that two of its esteemed scientists, Tina Cheng and Winifred Frick, published a paper in the Journal of Animal Ecology 




se

Global Bat Populations Need Research and Conservation Action

New Paper from Bat Conservation International Scientists Underscores the Need for Expanded Research and Data Collection to Better Protect Bat Species 




se

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




se

Research Links Bats to Growth of Durian, the “World’s Stinkiest Fruit”




se

Disney Conservation Fund Helps Bat Conservation International Support Wildlife and the Environment

Press Release:

Disney Conservation Fund Helps Bat Conservation International Support Wildlife and the Environment

[Austin, Texas, November 26, 2019] – Bat Conservation International (BCI) has been awarded a grant by the Disney Conservation Fund (DCF) to stop the rapid population decline of the endangered Mexican long-nosed bat in northern Mexico. As part of this work, BCI’s bi-national team of experts will lead a series of community-based conservation activities aimed at identifying, protecting, and restoring agave habitat – the key food source for this nectar feeding bat. By harnessing community support, this large-scale initiative will help save the Mexican long-nosed bat by establishing robust ‘nectar corridors’ that the bats can use during their annual migration from Central Mexico to the southwestern U.S.

The fund has been supporting local efforts around the world aimed at saving wildlife, inspiring action and protecting the planet with nearly $86 million distributed to nonprofit organizations since 1995.

Dr. Jon Flanders, Director, BCI’s Endangered Species Intervention Project explains the importance of this work: “This initiative builds on the success of previous work aimed at protecting important cave roosts for this endangered species of bat. Focusing our efforts on protecting and restoring agave habitat in northern Mexico marks a significant step in our conservation efforts to save this species from extinction, none of which would have been possible without the ongoing support of the Disney Conservation Fund.”

DCF grant recipients are selected based on their efforts to implement comprehensive community wildlife conservation programs, stabilize and increase populations of at-risk animals and engage communities in conservation in critical ecosystems around the world.

For information on Disney’s commitment to conserve nature and a complete list of grant recipients, visit www.disney.com/conservation.

About Bat Conservation International

The mission of Bat Conservation International is to conserve the world’s bats and their ecosystems to ensure a healthy planet. For more information visit batcon.org.

Media Contact: Javier Folgar
Bat Conservation International
Tel: 512.327.9721 ext. 410
Email: jfolgar@batcon.org

###




se

Applied Concepts in Fractured Reservoirs


 

A much-needed, precise and practical treatment of a key topic in the energy industry and beyond, Applied Concepts in Fractured Reservoirs is an invaluable reference for those in both industry and academia

Authored by renowned experts in the field, this book covers the understanding, evaluation, and effects of fractures in reservoirs. It offers a comprehensive yet practical discussion and description of natural fractures, their origins, characteristics



Read More...




se

Encyclopedia of Water: Science, Technology, and Society, 5 Volume Set


 

A peer reviewed, comprehensive encyclopedia that reflects the current state of water science and engineering from multidisciplinary global viewpoints

Water quantity and quality are becoming increasingly urgent environmental issues. To meet the growing water demands of our expanding global population, professionals are turning to nontraditional sources and technologies. This expansive, multidisciplinary reference work contains hundreds of articles that



Read More...




se

The Mediterranean Sea in the Era of Global Change 2: 30 Years of Multidisciplinary Study of the Ligurian Sea


 

Due to its particular characteristics, the Mediterranean Sea is often viewed as a microcosm of the World Ocean. Its proportionally-reduced dimensions and peculiar hydrological circulation render it susceptible to environmental and climatic constraints, which are rapidly evolving. The Mediterranean is therefore an ideal site to examine, in order to better understand a number of key oceanographic phenomena. This is especially true of the Ligurian Sea



Read More...




se

The Mediterranean Sea in the Era of Global Change 1: 30 Years of Multidisciplinary Study of the Ligurian Sea


 

Due to its particular characteristics, the Mediterranean Sea is often viewed as a microcosm of the World Ocean. Its proportionally-reduced dimensions and peculiar hydrological circulation render it susceptible to environmental and climatic constraints, which are rapidly evolving. The Mediterranean is therefore an ideal site to examine, in order to better understand a number of key oceanographic phenomena. This is especially true of the Ligurian Sea



Read More...




se

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.




se

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?




se

On Ignored Users Spoken Language

I think I've talked already few times about this problems but I don't see anything happening ... actually, it's getting worst and worst.

Who Is Directly Affected And Is Wasting Money

  • Companies paying for Online Advertisement
  • Companies selling online
  • Companies providing online services

Who Is Responsible

  • every service that is addressing users through their current IP address, without asking permission, and assuming if you travel to any country in this world you automatically speak that country language
  • every service that completely ignores Accept-Language on the server side, and navigator.language on the client side
This is an extract from the Accept-Language used for locale setting post directly from W3C website:
For a first contact, using the Accept-Language value to infer regional settings may be a good starting point, but be sure to allow them to change the language as needed and specify their cultural settings more exactly if necessary. Store the results in a database or a cookie for later visits.
...
By the way
Using the Accept-Language header is also a good starting point for determining the language of the user, rather than the locale ...
Accordingly, instead using users IP location to define their language, I'd rather prefer them to use my daily language of choice, which comes most likely from the fact that my entire Operating System speaks English, as example, so PLEASE, give me English content whenever I am!

It feels so straightforward simple thing, right? Wondering who is doing it right?

Nobody Is Doing It Right

I am in Germany these days, and suddenly I don't understand anything. I cannot even be "victim" of Ads, I'm rather disturbed by them.

Google

Before even asking to use my detailed location provided through the browser, if I type google.com in the URL bar I'm redirected to google.de. Why does that happen? Simple, they know by my IP I am in Germany ^_^.
If I choose the English language and I search for O2 DSL, imagining I'd like to sign for a contract, or need some help, this is the result:
Full Article


se

How to serve Images on Web

Because even if you think you're doing right, many others are not. Here the catch: just use <img srcset> attribute to improve the experience in your own site, don't do the same mistake others are doing! Read the full post about it




se

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

Hayden Library - G530.E77 D68 2016




se

Wildlife tourism, environmental learning and ethical encounters: ecological and conservation aspects / edited by Ismar Borges de Lima, Ronda J. Green

Online Resource




se

Frederick de Wit and the first concise reference atlas / George Carhart

Hayden Library - GA923.6.W57 C37 2016




se

Springer handbook of global navigation satellite systems / Peter J.G. Teunissen, Oliver Montenbruck (Eds.)

Online Resource




se

Voyager: travel writings / Russell Banks

Hayden Library - G465.B369 2016




se

Geographical information systems theory, applications and management: second International Conference, GISTAM 2016, Rome, Italy, April 26-27, 2016, Revised selected papers / Cédric Grueau, Robert Laurini, Jorge Gustavo Rocha (eds.)

Online Resource




se

Spatial big data science: classification techniques for Earth observation imagery / Zhe Jiang, Shashi Shekhar

Online Resource




se

Hyperspectral remote sensing: fundamentals and practices / Ruiliang Pu

Online Resource




se

Integrating scale in remote sensing and GIS / [edited by] Dale A. Quattrochi, Elizabeth A. Wentz, Nina Siu-Ngan Lam, Charles W. Emerson

Rotch Library - G70.212.I565 2017




se

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

Online Resource




se

Comprehensive remote sensing / editor in chief: Shunlin Liang

Online Resource




se

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

Hayden Library - G606.O94 2016




se

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




se

The Palgrave handbook of dark tourism studies / Philip R. Stone, Rudi Hartmann, Tony Seaton, Richard Sharpley, Leanne White, editors

Online Resource




se

Report on China's cruise industry / Hong Wang, editor

Online Resource




se

Spatial Techniques for Soil Erosion Estimation: Remote Sensing and GIS Approach / by Rupesh Jayaram Patil

Online Resource




se

Geospatial technologies for all: selected papers of the 21st AGILE Conference on Geographic Information Science / Ali Mansourian, Petter Pilesjö, Lars Harrie, Ron van Lammeren, editors

Online Resource




se

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

Dewey Library - G877.O74 2017




se

The concise dictionary of world place-names / John Everett-Heath

Online Resource




se

The Palgrave Handbook of Sustainability: Case Studies and Practical Solutions / edited by Robert Brinkmann, Sandra J. Garren

Online Resource




se

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




se

Geo-Spatial Knowledge and Intelligence: 5th International Conference, GSKI 2017, Chiang Mai, Thailand, December 8-10, 2017, Revised Selected Papers. / edited by Hanning Yuan, Jing Geng, Chuanlu Liu, Fuling Bian, Tisinee Surapunt

Online Resource




se

QGIS in remote sensing set / edited by Nicolas Baghdadi, Clément Mallet, Mehrez Zribi

Rotch Library - G70.212.Q45 2018




se

Tribal GIS: supporting Native American decision-making / editors, Anne Taylor, David Gadsden, Joseph J. Kerski, Heather Guglielmo

Rotch Library - G70.215.U6 T75 2017




se

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

Rotch Library - G70.4.G743 2017




se

Geo-Spatial Knowledge and Intelligence: 5th International Conference, GSKI 2017, Chiang Mai, Thailand, December 8-10, 2017, Revised Selected Papers. / edited by Hanning Yuan, Jing Geng, Chuanlu Liu, Fuling Bian, Tisinee Surapunt

Online Resource




se

An historical geography of tourism in Victoria, Australia: case studies / Ian D. Clark (editor) ; managing editor, Lucrezia Lopez

Online Resource




se

Baffin Island: Field Research and High Arctic Adventure, 1961-67.

Online Resource