ri Fostering the Future By www.batcon.org Published On :: Thu, 07 Feb 2019 07:15:57 -0600 We’re proud to announce the 2019 recipients of BCI’s Student Research Scholarship for Global Bat Conservation Priorities. Full Article Latest News
ri Communities Encouraged to Take Action to Help Bats Across the Globe During Bat Week By www.batcon.org Published On :: Wed, 16 Oct 2019 08:30:21 -0500 Washington, DC (October 16, 2019) – A coalition of partners across North America announced the launch of Bat Week, an international celebration of Full Article Press Release
ri Protecting America’s Rarest Bat with Opening of the FPL Bat Lab at Zoo Miami By www.batcon.org Published On :: Thu, 24 Oct 2019 08:30:00 -0500 Miami, Fla. – (Oct. 24, 2019) – The FPL Bat Lab at Zoo Miami officially opened today focused on providing solutions to protect the federally Full Article Press Release
ri Research Links Bats to Growth of Durian, the “World’s Stinkiest Fruit” By www.batcon.org Published On :: Thu, 21 Nov 2019 14:40:22 -0600 Full Article Press Release
ri Atmospheric Science for Environmental Scientists, 2nd Edition By www.wiley.com Published On :: 2020-02-10T05:00:00Z Enlightens readers on the realities of global atmospheric change, including global warming and poor air qualityClimate change and air pollution are two of the most pressing issues facing Mankind. This book gives undergraduate and graduate students, researchers and professionals working in the science and policy of pollution, climate change and air quality a broad and up-to-date account of the processes that occur in the atmosphere, how these are changing Read More... Full Article
ri Rivers in the Landscape, 2nd Edition By www.wiley.com Published On :: 2020-02-10T05:00:00Z Rivers are the great shapers of terrestrial landscapes. Very few points on Earth above sea level do not lie within a drainage basin. Even points distant from the nearest channel are likely to be influenced by that channel. Tectonic uplift raises rock thousands of meters above sea level. Precipitation falling on the uplifted terrain concentrates into channels that carry sediment downward to the oceans and influence the steepness of adjacent hill slopes Read More... Full Article
ri Industrial Environmental Management: Engineering, Science, and Policy By www.wiley.com Published On :: 2020-02-26T05:00:00Z Provides aspiring engineers with pertinent information and technological methodologies on how best to manage industry's modern-day environment concernsThis book explains why industrial environmental management is important to human environmental interactions and describes what the physical, economic, social, and technological constraints to achieving the goal of a sustainable environment are. It emphasizes recent progress in life-cycle sustainable Read More... Full Article
ri Introducing Large Rivers By www.wiley.com Published On :: 2020-03-09T04:00:00Z An accessible introduction to large rivers, including coverage of the geomorphology, hydrology, ecology, and environments of large river systemsThis indispensible book takes a structured and global approach to the subject of large rivers, covering geomorphology, hydrology, ecology, and anthropogenic environment. It offers a thorough foundation for readers who are new to the field and presents enlightening discussions about issues of management at Read More... Full Article
ri Biogeochemical Cycles: Ecological Drivers and Environmental Impact By www.wiley.com Published On :: 2020-04-14T04:00:00Z 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... Full Article
ri Exploring the Solar System, 2nd Edition By www.wiley.com Published On :: 2020-04-20T04:00:00Z 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... Full Article
ri Political Geography: A Critical Introduction By www.wiley.com Published On :: 2020-04-27T04:00:00Z Brings political geography to lifeexplores key concepts, critical debates, and contemporary research in the field. Political geography is the study of how power struggles both shape and are shaped by the places in which they occurthe spatial nature of political power. PoliticalGeography: A Critical Introduction helps students understand how power is related to space, place, and territory, illustrating how everyday life and the world of global conflict Read More... Full Article
ri The Mediterranean Sea in the Era of Global Change 2: 30 Years of Multidisciplinary Study of the Ligurian Sea By www.wiley.com Published On :: 2020-04-28T04:00:00Z 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... Full Article
ri The Mediterranean Sea in the Era of Global Change 1: 30 Years of Multidisciplinary Study of the Ligurian Sea By www.wiley.com Published On :: 2020-04-28T04:00:00Z 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... Full Article
ri Bringing SSL To Your Private Network By webreflection.blogspot.com Published On :: Sat, 08 Aug 2015 12:54:00 +0000 In this entry I will describe and provide how to run a HTTPS server in your home network, in order to test new HTML5 APIs. Full Article
ri Exporting modules in JavaScript By webreflection.blogspot.com Published On :: Tue, 01 Dec 2015 07:37:00 +0000 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 Full Article
ri The missing analysis in JavaScript "Real" Mixins By webreflection.blogspot.com Published On :: Wed, 13 Jan 2016 17:44:00 +0000 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 inheritanceIt 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 ES2015class 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 caseThe 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 constructorlet super = (...args) => A.apply(this, arguments);// used within any other methodsuper.method = (...args) => A.prototype.method.apply(this, args);// used as accessorObject.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: With JavaScript finally supporting super, so should mixinssuper.foo property access works within mixins and subclasses.super() calls work in constructors.One of the biggest benefits is that super works inside methods of the subclass and the mixins.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 surfacea geographical regionany section reserved for a specific functionextent, range, or scopefield of study, or a branch of a field of studya piece of unoccupied ground; an open spacethe space or site on which a building standsNow 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 abilityNo 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 classclass 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** CompositionIn 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: Mixins are added to the prototype chain.Mixins are applied without modifying existing objects.Mixins do no magic, and don't define new semantics on top of the core language.super.foo property access won't hopefully work within mixins but it will with subclasses methods.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.Mixins are able to extend other mixins.instanceof has no reason to be even considered in this scenario since we are composing objects.Mixin definitions do not require library support - they can be written in a universal style and be compatible with non classes based engines too.bonus: less memory consumption overall, there's no runtime duplication for the same logic each timeI 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! Full Article
ri JavaScript Interfaces By webreflection.blogspot.com Published On :: Fri, 01 Apr 2016 16:27:00 +0000 In this Implementing Interfaces in JavaScript blog entry I'll show a new way to enrich prototypal inheritance layering functionalities a part, without modifying prototypes at all. A different, alternative, and in some case even better, approach to mixins. Full Article
ri Surviving the Essex: the afterlife of America's most storied shipwreck / David O. Dowling By library.mit.edu Published On :: Sun, 16 Jul 2017 06:32:31 EDT Hayden Library - G530.E77 D68 2016 Full Article
ri Wildlife tourism, environmental learning and ethical encounters: ecological and conservation aspects / edited by Ismar Borges de Lima, Ronda J. Green By library.mit.edu Published On :: Sun, 23 Jul 2017 06:33:28 EDT Online Resource Full Article
ri Frederick de Wit and the first concise reference atlas / George Carhart By library.mit.edu Published On :: Sun, 23 Jul 2017 06:33:28 EDT Hayden Library - GA923.6.W57 C37 2016 Full Article
ri Springer handbook of global navigation satellite systems / Peter J.G. Teunissen, Oliver Montenbruck (Eds.) By library.mit.edu Published On :: Sun, 23 Jul 2017 06:33:28 EDT Online Resource Full Article
ri GIS and environmental monitoring: applications in the marine, atmospheric and geomagnetic fields / Stavros Kolios, Andrei V. Vorobev, Gulnara R. Vorobeva, Chrysostomos Stylios By library.mit.edu Published On :: Sun, 23 Jul 2017 06:33:28 EDT Online Resource Full Article
ri Voyager: travel writings / Russell Banks By library.mit.edu Published On :: Sun, 30 Jul 2017 06:29:46 EDT Hayden Library - G465.B369 2016 Full Article
ri The ArcGIS book: 10 big ideas about applying geography to your world / Christian Harder, editor By library.mit.edu Published On :: Sun, 20 Aug 2017 06:38:02 EDT Rotch Library - G70.212.A7352 2015 Full Article
ri 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.) By library.mit.edu Published On :: Sun, 27 Aug 2017 06:34:53 EDT Online Resource Full Article
ri Placing empire: travel and the social imagination in imperial Japan / Kate McDonald By library.mit.edu Published On :: Sun, 1 Oct 2017 06:31:59 EDT Online Resource Full Article
ri Picturing America: the golden age of pictorial maps / Stephen J. Hornsby By library.mit.edu Published On :: Sun, 8 Oct 2017 06:33:37 EDT Hayden Library - G1201.A5 H67 2017 Full Article
ri Placing names: enriching and integrating gazetteers / edited by Merrick Lex Berman, Ruth Mostern, and Humphrey Southall By library.mit.edu Published On :: Sun, 8 Oct 2017 06:33:37 EDT Hayden Library - G103.5.P53 2016 Full Article
ri Ecotourism's promise and peril: a biological evaluation / Daniel T. Blumstein, Benjamin Geffroy, Diogo S. M. Samia, Eduardo Bessa, editors By library.mit.edu Published On :: Sun, 19 Nov 2017 06:29:25 EST Online Resource Full Article
ri Sustainable tourism on a finite planet: environmental, business and policy solutions / Megan Epler Wood By library.mit.edu Published On :: Sun, 26 Nov 2017 06:43:18 EST Dewey Library - G156.5.S87 E64 2017 Full Article
ri Exploring Greenland: cold war science and technology on ice / Ronald E. Doel, Kristine C. Harper, Matthias Heymann, editors By library.mit.edu Published On :: Sun, 17 Dec 2017 06:47:31 EST Hayden Library - G743.E96 2016 Full Article
ri The Oxford handbook of the prehistoric Arctic / edited by T. Max Friesen and Owen K. Mason By library.mit.edu Published On :: Sun, 17 Dec 2017 06:47:31 EST Hayden Library - G606.O94 2016 Full Article
ri Geoparks and geo-tourism in Iran / edited by Andreas Dittmann By library.mit.edu Published On :: Sun, 7 Jan 2018 06:38:03 EST Rotch Library - G155.I65 G46 2017 Full Article
ri 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 By library.mit.edu Published On :: Sun, 21 Jan 2018 06:57:47 EST Hayden Library - G420.B18 C43 2016 Full Article
ri Spatio-temporal graph data analytics / Venkata M. V. Gunturi, Shashi Shekhar By library.mit.edu Published On :: Sun, 28 Jan 2018 06:39:05 EST Online Resource Full Article
ri Basic Principles of Topography by Blagoja Markoski By library.mit.edu Published On :: Sun, 4 Mar 2018 06:50:21 EST Online Resource Full Article
ri New lines: critical GIS and the trouble of the map / Matthew W. Wilson By library.mit.edu Published On :: Sun, 4 Mar 2018 06:50:21 EST Rotch Library - G70.212.W55 2017 Full Article
ri Affective critical regionality / Neil Campbell By library.mit.edu Published On :: Sun, 11 Mar 2018 06:53:06 EDT Rotch Library - G71.5.C338 2016 Full Article
ri The Palgrave handbook of dark tourism studies / Philip R. Stone, Rudi Hartmann, Tony Seaton, Richard Sharpley, Leanne White, editors By library.mit.edu Published On :: Sun, 1 Apr 2018 06:34:28 EDT Online Resource Full Article
ri The anarchist's guide to travel: a manual for future hitchhikers, hobos, and other misfit wanderers / by Matthew Derrick By library.mit.edu Published On :: Sun, 15 Apr 2018 06:31:19 EDT Hayden Library - G151.D47 2017 Full Article
ri 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 By library.mit.edu Published On :: Sun, 22 Apr 2018 06:27:29 EDT Online Resource Full Article
ri Understanding GPS/GNSS: Principles and Applications, Third Edition / by Elliott D. Kaplan, Christopher J. Hegarty By library.mit.edu Published On :: Sun, 6 May 2018 06:31:01 EDT Online Resource Full Article
ri The spectral Arctic: a history of ghosts and dreams in polar exploration / Shane McCorristine By library.mit.edu Published On :: Sun, 10 Jun 2018 06:37:51 EDT Online Resource Full Article
ri Target scattering mechanism in polarimetric synthetic aperture radar: interpretation and application / Si-Wei Chen, Xue-Song Wang, Shun-Ping Xiao, Motoyuki Sato By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article
ri The Palgrave Handbook of Sustainability: Case Studies and Practical Solutions / edited by Robert Brinkmann, Sandra J. Garren By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article
ri 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.) By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article
ri Peer-to-peer accommodation networks: pushing the boundaries / Sara Dolnicar By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Dewey Library - G156.5.P44 D65 2018 Full Article
ri Tourism, Territory and Sustainable Development: Theoretical Foundations and Empirical Applications in Japan and Europe / João Romão By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article
ri Tangible modeling with open source GIS / Anna Petrasova, Brendan Harmon, Vaclav Petras, Payam Tabrizian, Helena Mitasova By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article
ri Transnational tourism experiences at Gallipoli / Jim McKay By library.mit.edu Published On :: Sun, 24 Jun 2018 06:32:27 EDT Online Resource Full Article