ive

Collaborative research in fisheries: co-creating knowledge for fisheries governance in Europe / Petter Holm, Maria Hadjimichael, Sebastian Linke, Steven Mackinson, editors

Online Resource




ive

Latin American dendroecology: combining tree-ring sciences and ecology in a megadiverse territory / Marín Pompa-García, J. Julio Camarero, editors

Online Resource




ive

Brassica improvement: molecular, genetics and genomic perspectives / Shabir Hussain Wani, Ajay Kumar Thakur, Yasin Jeshima Khan, editors

Online Resource




ive

Innovative pest management approaches for the 21st Century: harnessing automated unmanned technologies / Akshay Kumar Chakravarthy, editor

Online Resource




ive

A theory of global biodiversity / Boris Worm and Derek P. Tittensor

Barker Library - QH541.15.B56 W67 2018




ive

Neotropical diversification: patterns and processes / Valentí Rull, Ana Carolina Carnaval, editors

Online Resource




ive

Future of rice demand: quality beyond productivity / Antonio Costa de Oliveira, Camila Pegoraro, Vívian Ebeling Viana, editors

Online Resource




ive

Phase separation driven by production of architectural RNA transcripts

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/C9SM02458A, Paper
Tetsuya Yamamoto, Tomohiro Yamazaki, Tetsuro Hirose
We here use an extension of the Flory-Huggins theory to predict that the phase separation is driven by the production of architectural RNA (arcRNA) at a DNA locus with a...
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Diffusive transport of nanoscale objects through cell membranes: a computational perspective

Soft Matter, 2020, 16,3869-3881
DOI: 10.1039/C9SM02338K, Perspective
Ziyang Xu, Lijuan Gao, Pengyu Chen, Li-Tang Yan
Clarifying the diffusion dynamics of nanoscale objects with cell membrane is critical for revealing fundamental physics in biological systems. This perspective highlights the advances in computational and theoretical aspects of this emerging field.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Template-based fabrication of spatially organized 3D bioactive constructs using magnetic low-concentration gelation methacrylate (GelMA) microfibers

Soft Matter, 2020, 16,3902-3913
DOI: 10.1039/C9SM01945F, Paper
Tao Sun, Yibing Yao, Qing Shi, Huaping Wang, Paolo Dario, Junzhong Sun, Qiang Huang, Toshio Fukuda
A new template-based method to apply low-concentration GelMA microfibers as building blocks for higher-order cellular assembly.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Hexatic phase in a model of active biological tissues

Soft Matter, 2020, 16,3914-3920
DOI: 10.1039/D0SM00109K, Paper
Anshuman Pasupalak, Li Yan-Wei, Ran Ni, Massimo Pica Ciamarra
Epithelial cell tissues undergo a solid–liquid transition, e.g. as the motility of the cells increases. We find an intermediate hexatic phase in between the solid and the liquid ones, and the transition to follow the KTHNY scenario.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

A practical guide to active colloids: choosing synthetic model systems for soft matter physics research

Soft Matter, 2020, 16,3846-3868
DOI: 10.1039/D0SM00222D, Review Article
Wei Wang, Xianglong Lv, Jeffrey L. Moran, Shifang Duan, Chao Zhou
This review article provides practical, experimentally relevant details on six common types of active colloids useful for soft matter research.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Gait-optimized locomotion of wave-driven soft sheets

Soft Matter, 2020, 16,3991-3999
DOI: 10.1039/C9SM02103E, Paper
Open Access
Pearson W. Miller, Jörn Dunkel
Inspired by the robust locomotion of limbless animals, the development of soft robots capable of moving by localized swelling, bending, and other deformation modes has become a target for soft matter research over the last decade.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Structural properties of contractile gels based on light-driven molecular motors: a small-angle neutron and X-ray study

Soft Matter, 2020, 16,4008-4023
DOI: 10.1039/D0SM00031K, Paper
Giacomo Mariani, Jean-Rémy Colard-Itté, Emilie Moulin, Nicolas Giuseppone, Eric Buhler
The collective rotation of light-driven molecular motors actuates the structural changes and macroscopic contraction of the chemical gels.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Quantifying the non-equilibrium activity of an active colloid

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00398K, Paper
Sarah Eldeen, Ryan Muoio, Paris Blaisdell-Pijuan, Ngoc La, Mauricio Gomez, Alex Vidal, Wylie Ahmed
Active matter systems exhibit rich emergent behavior due to constant injection and dissipation of energy at the level of individual agents. We characterize the dissipation of single active colloids.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Structural universality in disordered packings with size and shape polydispersity

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00110D, Paper
Ye Yuan, Wei Deng, Shuixiang Li
Normalized free volume collapses on normalized particle size in polydisperse-sized packings for a given non-spherical particle.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Bioactive scaffolds based on collagen filaments with tunable physico-chemical and biological features

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00233J, Paper
Ting Lu, Hong Hu, Yuanqi Li, Qingsong Jiang, Jinlei Su, Hai Lin, Yun Xiao, Xiangdong Zhu, Xingdong Zhang
Native tissues such as nerve bundles, blood vessels and tendons have extracellular matrices with a characteristic linear orientation, which cannot be fully achieved with the current technology for the development of regenerative biomaterials.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Different-shaped micro-objects driven by active particle aggregations

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00160K, Paper
Chen Wang, Hongyuan Jiang
We study the dynamics of passive micro-objects in the active bath. The motion of micro-objects depends on the pattern of active particle aggregations.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Binary mixtures of active and passive particles on a sphere

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00281J, Communication
Bao-quan Ai, Bu-yun Zhou, Xiao-miao Zhang
According to the competition between rotational diffusion and polar alignment, we find three distinct phases: a mixed phase and two different demixed phases.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Evaluation of the subtle trade-off between physical stability and thermo-responsiveness in crosslinked methylcellulose hydrogels

Soft Matter, 2020, Accepted Manuscript
DOI: 10.1039/D0SM00269K, Paper
Lorenzo Bonetti, Luigi De Nardo, Fabio Variola, Silvia Fare
Methylcellulose (MC) hydrogels, undergoing sol-gel reversible transition upon temperature changes, lend themselves to smart system applications. However, their reduced stability in aqueous environment and unsatisfactory mechanical properties limit the breadth...
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Self-assembly of isomeric naphthalene appended glucono derivatives: nanofibers and nanotwists with circularly polarized luminescence emission

Soft Matter, 2020, 16,4115-4120
DOI: 10.1039/C9SM02542A, Paper
Zongwen Liu, Yuqian Jiang, Jian Jiang, Donghua Zhai, Decai Wang, Minghua Liu
Two isomers of naphthalene derivatives are self-assembled into nanofibers and nanotwists with CPL emission, respectively.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Controlled shape morphing of solvent free thermoresponsive soft actuators

Soft Matter, 2020, 16,4162-4172
DOI: 10.1039/D0SM00020E, Paper
Vadakkumnalath Prakasan Anju, Raghunandan Pratoori, Deepak Kumar Gupta, Rajendra Joshi, Ratna Kumar Annabattula, Pijush Ghosh
Reconfigurable actuators are designed based on chitosan and pNipam which has the capability to attain precise and programmable actuation. The current approach offers a feasible way to fabricate soft actuators with repeatable and reversible actuation.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Photo-tunable hydrogel mechanical heterogeneity informed by predictive transport kinetics model

Soft Matter, 2020, 16,4131-4141
DOI: 10.1039/D0SM00052C, Paper
Callie I. Higgins, Jason P. Killgore, Frank W. DelRio, Stephanie J. Bryant, Robert R. McLeod
Photo-tunable hydrogel mechanical heterogeneity using a single resin is presented here, informed by a predictive transport kinetics and swelling model.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Pinning dislocations in colloidal crystals with active particles that seek stacking faults

Soft Matter, 2020, 16,4182-4191
DOI: 10.1039/C9SM02514F, Paper
Bryan VanSaders, Sharon C. Glotzer
By designing the shape of an active particle, its transport through a dense crystal can be tailored, as well as its interaction with dislocation defects present in the host crystal.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Experimental observation of boundary-driven oscillations in a reaction–diffusion–advection system

Soft Matter, 2020, 16,4243-4255
DOI: 10.1039/C9SM02291K, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Torsten Eckstein, Estefania Vidal-Henriquez, Azam Gholami
Boundary-driven oscillations are observed experimentally in a reaction-diffusion-advection system, namely in the signaling population of Dictyostelium discoideum cells.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Propagation of active nematic–isotropic interfaces on substrates

Soft Matter, 2020, 16,4256-4266
DOI: 10.1039/C9SM02306B, Paper
Rodrigo C. V. Coelho, Nuno A. M. Araújo, Margarida M. Telo da Gama
Motivated by results for the propagation of active–passive interfaces of bacterial Serratia marcescens swarms, we used a hydrodynamic multiphase model to investigate the propagation of interfaces of active nematics on substrates.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Active noise experienced by a passive particle trapped in an active bath

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00006J, Paper
Simin Ye, Peng Liu, Fangfu Ye, Ke Chen, Mingcheng Yang
We study the properties of active noise experienced by a passive particle harmonically trapped in an active bath. The active noise is shown to depend on the trap stiffness.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Controlled release of entrapped nanoparticles from thermoresponsive hydrogels with tunable network characteristics

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00207K, Paper
Yi Wang, Zhen Li, Jie Ouyang, George Em Karniadakis
Thermoresponsive hydrogels have been studied intensively for creating smart drug carriers and controlled drug delivery.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ive

Sustainable sorbitol-derived compounds for gelation of the full range of ethanol–water mixtures

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00343C, Paper
Glenieliz C. Dizon, George Atkinson, Stephen P. Argent, Lea T. Santu, David B. Amabilino
A combination of gelators prepared from sustainable sources combine in a synergic way to widen the scope for the compounds to immobilise liquids, as shown by imaging, diffraction and rheology measurements.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry





ive

Securing IoT for your Competitive Advantage


Delivering visibility, analytics, automation, and security across the branch, campus, and data center into operational environments.
More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ...




ive

Online tests well received by schoolchildren in Tiruvannamalai

District Collector K.S. Kandasamy said the tests were a joint effort of the District Education Department and National Informatics Centre to keep students engaged during the lockdown.




ive

Four doctors, two nurses of Rajah Muthiah hospital test positive

Efforts on to trace other health workers who were in contact with them




ive

[ASAP] Near-Field Radiative Heat Transfer between Dissimilar Materials Mediated by Coupled Surface Phonon- and Plasmon-Polaritons

ACS Photonics
DOI: 10.1021/acsphotonics.0c00404




ive

[ASAP] Colored Radiative Cooling Coatings with Nanoparticles

ACS Photonics
DOI: 10.1021/acsphotonics.0c00513




ive

[ASAP] Probing the Radiative Electromagnetic Local Density of States in Nanostructures with a Scanning Tunneling Microscope

ACS Photonics
DOI: 10.1021/acsphotonics.0c00264




ive

Five Interesting Ways to Use Array.reduce() (And One Boring Way)

Chris Ferdinandi turns the heat down low and lets the sauce reduce while we take a look at how to add spice to our source with a sprinkling of Array.reduce(). Just a little ingenuity with the humblest of functions.


Of all the modern array methods, the one I had the hardest time wrapping my head around was Array.reduce().

On the surface, it seems like a simple, boring method that doesn’t do much. But below its humble exterior, Array.reduce() is actually a powerful, flexible addition to your developer toolkit.

Today, we’re going to look at some cool things you can do with Array.reduce().

How Array.reduce() works

Most of the modern array methods return a new array. The Array.reduce() method is a bit more flexible. It can return anything. Its purpose is to take an array and condense its content into a single value.

That value can be a number, a string, or even an object or new array. That’s the part that’s always tripped me up – I didn’t realize just how flexible it is!

The syntax

The Array.reduce() accepts two arguments: a callback method to run against each item in the array, and a starting value.

The callback also accepts two arguments: the accumulator, which is the current combined value, and the current item in the loop. Whatever you return is used as the accumulator for the next item in the loop. On the very first loop, that starting value is used instead.

var myNewArray = [].reduce(function (accumulator, current) {
  return accumulator;
}, starting);

Let’s look at some examples to make this all tangible.

1. Adding numbers together

Let’s say you had an array of numbers that you wanted to add together. Using Array.forEach(), you might do something like this:

var total = 0;

[1, 2, 3].forEach(function (num) {
  total += num;
});

This is the cliche example for using Array.reduce(). I find the word accumulator confusing, so in this example, I’m calling it sum, because that’s what it is.

var total = [1, 2, 3].reduce(function (sum, current) {
  return sum + current;
}, 0);

Here, we pass in 0 as our starting value.

In the callback, we add the current value to the sum, which has our starting value of 0 on the first loop, then 1 (the starting value of 0 plus the item value of 1), then 3 (the sum value of 1 plus the item value of 2), and so on.

Here’s a demo.

2. Combining multiple array methods into Array.map() and Array.filter() into a single step

Imagine you had an array of wizards at Hogwarts.

var wizards = [
  {
    name: 'Harry Potter',
    house: 'Gryfindor'
  },
  {
    name: 'Cedric Diggory',
    house: 'Hufflepuff'
  },
  {
    name: 'Tonks',
    house: 'Hufflepuff'
  },
  {
    name: 'Ronald Weasley',
    house: 'Gryfindor'
  },
  {
    name: 'Hermione Granger',
    house: 'Gryfindor'
  }
];

You want to create a new array that contains just the names of wizards who are in Hufflepuff. One way you could do that is by using the Array.filter() method to get back just wizards whose house property is Hufflepuff. Then, you’d use the Array.map() method to create a new array containing just the name property for the remaining wizards.

// Get the names of the wizards in Hufflepuff
var hufflepuff = wizards.filter(function (wizard) {
  return wizard.house === 'Hufflepuff';
}).map(function (wizard) {
  return wizard.name;
});

With the Array.reduce() method, we can get the same array in a single pass, improving our performance. You pass in an empty array ([]) as the starting value. On each pass, you check to see if the wizard.house is Hufflepuff. If it is, you push it to the newArr (our accumulator in this example). If not, you do nothing.

Either way, you return the newArr to become the accumulator on the next pass.

// Get the names of the wizards in Hufflepuff
var hufflepuff = wizards.reduce(function (newArr, wizard) {
  if (wizard.house === 'Hufflepuff') {
    newArr.push(wizard.name);
  }
  return newArr;
}, []);

Here’s another demo.

3. Creating markup from an array

What if, instead of creating an array of names, we wanted to create an unordered list of wizards in Hufflepuff? Instead of passing an empty array into Array.reduce() as our starting value, we’ll pass in an empty string ('') and call it html.

If the wizard.house equals Hufflepuff, we’ll concatenate our html string with the wizard.name wrapped in an opening and closing list item (li). Then, we’ll return the html to become the accumulator on the next loop.

// Create a list of wizards in Hufflepuff
var hufflepuffList = wizards.reduce(function (html, wizard) {
  if (wizard.house === 'Hufflepuff') {
    html += '<li>' + wizard.name + '</li>';
  }
  return html;
}, '');

Add an opening and closing unordered list element before and after Array.reduce(), and you’re ready to inject your markup string into the DOM.

// Create a list of wizards in Hufflepuff
var hufflepuffList = '<ul>' + wizards.reduce(function (html, wizard) {
  if (wizard.house === 'Hufflepuff') {
    html += '<li>' + wizard.name + '</li>';
  }
  return html;
}, '') + '</ul>';

See it in action here.

4. Grouping similar items in an array together

The lodash library has a groupBy() method takes a collection of items as an array and groups them together into an object based on some criteria.

Let’s say you want an array of numbers.

If you wanted to group all of the items in numbers together based on their integer value, you would do this with lodash.

var numbers = [6.1, 4.2, 6.3];

// returns {'4': [4.2], '6': [6.1, 6.3]}
_.groupBy(numbers, Math.floor);

If you had an array of words, and you wanted to group the items in words by their length, you would do this.

var words = ['one', 'two', 'three'];

// returns {'3': ['one', 'two'], '5': ['three']}
_.groupBy(words, 'length');

Creating a groupBy() function with Array.reduce()

You can recreate that same functionality using the Array.reduce() method.

We’ll create a helper function, groupBy(), that accepts the array and criteria to sort by as arguments. Inside groupBy(), we’ll run Array.reduce() on our array, passing in an empty object ({}) as our starting point, and return the result.

var groupBy = function (arr, criteria) {
  return arr.reduce(function (obj, item) {
    // Some code will go here...
  }, {});
};

Inside the Array.reduce() callback function, we’ll check to see if the criteria is a function, or a property of the item. Then we’ll get its value from the current item.

If there’s no property in the obj with that value yet, we’ll create it and assign an empty array as its value. Finally, we’ll push the item to that key, and return the object as the accumulator for the next loop.

var groupBy = function (arr, criteria) {
  return arr.reduce(function (obj, item) {

    // Check if the criteria is a function to run on the item or a property of it
    var key = typeof criteria === 'function' ? criteria(item) : item[criteria];

    // If the key doesn't exist yet, create it
    if (!obj.hasOwnProperty(key)) {
      obj[key] = [];
    }

    // Push the value to the object
    obj[key].push(item);

    // Return the object to the next item in the loop
    return obj;

  }, {});
};

Here’s a demo of the completed helper function.

Special thanks to Tom Bremer for helping me make some improvements to this one. You can find this helper function and more like it on the Vanilla JS Toolkit.

5. Combining data from two sources into an array

Remember our array of wizards?

var wizards = [
  {
    name: 'Harry Potter',
    house: 'Gryfindor'
  },
  {
    name: 'Cedric Diggory',
    house: 'Hufflepuff'
  },
  {
    name: 'Tonks',
    house: 'Hufflepuff'
  },
  {
    name: 'Ronald Weasley',
    house: 'Gryfindor'
  },
  {
    name: 'Hermione Granger',
    house: 'Gryfindor'
  }
];

What if you had another data set, an object of house points each wizard has earned.

var points = {
  HarryPotter: 500,
  CedricDiggory: 750,
  RonaldWeasley: 100,
  HermioneGranger: 1270
};

Imagine you wanted to combine both sets of data into a single array, with the number of points added to each wizard’s data in the wizards array. How would you do it?

The Array.reduce() method is perfect for this!

var wizardsWithPoints = wizards.reduce(function (arr, wizard) {

  // Get the key for the points object by removing spaces from the wizard's name
  var key = wizard.name.replace(' ', '');

  // If the wizard has points, add them
  // Otherwise, set them to 0
  if (points[key]) {
    wizard.points = points[key];
  } else {
    wizard.points = 0;
  }

  // Push the wizard object to the new array
  arr.push(wizard);

  // Return the array
  return arr;

}, []);

Here’s a demo combining data from two sources into an array.

6. Combining data from two sources into an object

What if you instead wanted to combine the two data sources into an object, where each wizard’s name was the key, and their house and points were properties? Again, the Array.reduce() method is perfect for this.

var wizardsAsAnObject = wizards.reduce(function (obj, wizard) {

  // Get the key for the points object by removing spaces from the wizard's name
  var key = wizard.name.replace(' ', '');

  // If the wizard has points, add them
  // Otherwise, set them to 0
  if (points[key]) {
    wizard.points = points[key];
  } else {
    wizard.points = 0;
  }

  // Remove the name property
  delete wizard.name;

  // Add wizard data to the new object
  obj[key] = wizard;

  // Return the array
  return obj;

}, {});

Here’s a demo combining two data sets into an object.

Should you use Array.reduce() more?

The Array.reduce() method has gone from being something I thought was pointless to my favorite JavaScript method. So, should you use it? And when?

The Array.reduce() method has fantastic browser support. It works in all modern browsers, and IE9 and above. It’s been supported in mobile browsers for a long time, too. If you need to go back even further than that, you can add a polyfill to push support back to IE6.

The biggest complaint you can make about Array.reduce() is that it’s confusing for people who have never encountered it before. Combining Array.filter() with Array.map() is slower to run and involves extra steps, but it’s easier to read. It’s obvious from the names of the methods what they’re supposed to be doing.

That said, there are times where Array.reduce() makes things that would be complicated more simple rather than more complicated. The groupBy() helper function is a good example.

Ultimately, this is another tool to add to your toolkit. A tool that, if used right, can give you super powers.


About the author

Chris Ferdinandi helps people learn vanilla JavaScript. He believes there’s a simpler, more resilient way to make things for the web.

Chris is the author of the Vanilla JS Pocket Guide series, creator of the Vanilla JS Academy training program, and host of the Vanilla JS Podcast. His developer tips newsletter is read by thousands of developers each weekday.

He’s taught developers at organizations like Chobani and the Boston Globe, and his JavaScript plugins have been used used by Apple and Harvard Business School. Chris Coyier, the founder of CSS-Tricks and CodePen, has described his writing as “infinitely quote-worthy.”

Chris loves pirates, puppies, and Pixar movies, and lives near horse farms in rural Massachusetts. He runs Go Make Things with Bailey Puppy, a lab-mix from Tennessee.

More articles by Chris




ive

Red state blues: how the conservative revolution stalled in the states / Matt Grossmann

Dewey Library - JK2356.G76 2019




ive

Primary elections in the United States / Shigeo Hirano, Columbia University ; James M. Snyder, Jr., Harvard University

Dewey Library - JK2071.H57 2019




ive

The conservative sensibility / George F. Will

Dewey Library - JC573.2.U6 W54 2019




ive

Age of iron: on conservative nationalism / by Colin Dueck

Dewey Library - JC573.2.U6 D8354 2020




ive

Extreme reactions: radical right mobilization in Eastern Europe / Lenka Bustikova, Arizona State University

Dewey Library - JC573.2.E852 B88 2020




ive

Raymond Aron and liberal thought in the twentieth century / Iain Stewart, University College London

Dewey Library - JC261.A7 S74 2020




ive

Triggered: how the Left thrives on hate and wants to silence us / Donald Trump Jr

Dewey Library - JK2316.T88 2019




ive

Learning one's native tongue: citizenship, contestation, and conflict in America / Tracy B. Strong

Dewey Library - JK1759.S87 2019




ive

Reflections on socialism in the Twenty-First Century: facing market liberalism, rising inequalities and the environmental imperative / Claes Brundenius, editor

Online Resource




ive

Sovereignty in the south: intrusive regionalism in Africa, Latin America, and Southeast Asia / Brooke N. Coe

Dewey Library - JC327.C59 2019




ive

Stalin and Mao: a comparison of the Russian and Chinese revolutions / by Lucien Bianco ; translated from the French edition La récidive: Révolution russe, révolution chinoise by Krystyna Horko

Dewey Library - HX550.R48 B5213 2018




ive

When democracies deliver: governance reform in Latin America / Katherine Bersch

Online Resource




ive

Administrative burden: policymaking by other means / Pamela Herd and Donald P. Moynihan

Dewey Library - JK421.H396 2018