ux

Intelligence and state surveillance in modern societies: an international perspective / by Frederic Lemieux

Dewey Library - JF1525.I6 L46 2019




ux

Why big fierce animals are rare : an ecologist's perspective / Paul Colinvaux ; with a new foreword by Cristina Eisenberg

Colinvaux, Paul, 1930- author




ux

Singur Redux: Co pulls out of Haldia




ux

The effect of fertiliser application and timing on jarrah and marri growth, density and form in nine-year-old bauxite mine rehabilitation / M.A. Norman, C.D. Grant

Norman, M. A




ux

Direct transfer of soil in the wet season as a method to establish resprouter species in rehabilitated bauxite mines / M.A. Norman, J.M. Koch

Norman, M. A




ux

085 JSJ Huxley with Pete Hunt

The panelists discuss Huxley with Pete Hunt




ux

179 JSJ redux and React with Dan Abramov

02:25 - Dan Abramov Introduction

02:43 - Dan’s Background and Journey Into Building Stuff with React

05:48 - redux and React    

10:07- The Elm Programming Language

12:19 - Reducers

14:04 - Hot Reloading

17:50 - “React makes you a better JavaScript developer.”

22:10 - Time Travel

28:26 - Storing Data and Managing State

34:43 - [Patreon] Support Dan Abramov Creating Redux and React Hot Loader

36:24 - react-transform

41:34 - Using redux outside React

43:52 - Editors and Programmer Productivity

45:35 - Future Plans

Picks

The OAuth2 RFC (Aimee)
Michael Ries: Hiring Apprentices (Jamison)
@sebmck: "Sometimes having email history isn't always a good thing..." (Jamison)
Metal Gear Solid 5: The Phantom Pain (Jamison)
Firefly (Joe)
The Elm Programming Language (Joe)
Google Keep (Dave)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
Pebble Time (Chuck)
100 Days of Burpees (Chuck)
Broad City (Dan)
Jamie xx: In Colour (Dan)
Cycle.js (Dan)




ux

181 JSJ The Evolution of Flux Libraries with Andrew Clark and Dan Abramov

Sign up for JS Remote Conf!

 

Dan and Andrew's super awesome, helpful document that they made for the show during preparation

03:22 - Andrew Clark Introduction

03:39 - Dan Abramov Introduction

04:03 - Flux

09:36 - Data Flow

22:52 - Conceptualizing React and Flux

27:50 - Documentation

30:38 - The Elm Programming Language

32:34 - Making Patterns Explicit in Frameworks

36:31 - Getting Started with React and Flux

  • Classes

42:42 - Where Flux Falls Short

58:23 - Keeping the Core Small; Making Decisions

Picks

Strange Loop 2015 Videos  (Jamison)
Typeset In The Future (Jamison)
Open-source as a project model for internal work (w/ speaker notes) by Kevin Lamping (Jamison)
Explanation of Zipf's Law (Dave)
Will Conant's talk at UtahJS 2015 on Flux (Dave)
The Legend of ZERO (3 Book Series) by Sara King (Joe)
Camel Up (Joe)
The Elm Programming Language (Joe)
Boundaries: A talk by Gary Bernhardt from SCNA 2012 (Aimee)
Nodevember (Aimee)
TV Fool (Chuck)
RCA Outdoor Digital HDTV VHF UHF Yagi Type Antenna (Chuck)
The Michael Vey Book Series (Chuck)
BusinessTown (Dan)
Elon Musk: The World’s Raddest Man (Dan)
Professor Frisby's Mostly Adequate Guide to Functional Programming (Dan)
Abiogenesis (Dan)
react-future (Dan)
The Righteous Mind (Andrew)
lodash-fp (Andrew)
Inside Amy Schumer (Andrew)
dataloader (Andrew)
Careers at OpenGov (Andrew)




ux

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

Tweet this episode

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

In this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump.

[00:37] Michael Crump Introduction

Michael is on the developer experience team for Azure.

[00:52] Jeremy Likness Introduction

Jeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience.

The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities.

They're focused on building documentation and creating great experiences

[02:54] What is it about Azure that people should be getting excited about?

Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure.

Azure is growing to embrace the needs of developers as they solve these problems.

The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want.

Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure.

You don't have to be an operations expert.

Chuck mentions this messaging as he heard it at Microsoft Connect() last year.

It's not about bringing you to .NET. It's about making it easy where you're at.

Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers.

A lot of these features are available across command lines, tools, and much more.

The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs.

[12:04] Web Apps on Linux

Web application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application.

Web Apps has traditionally been on Windows. Web Apps on Linux is in preview.

You can choose the size of your infrastructure. You only get billed for what you use and can scale up.

Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy.

You can also scale across multiple datacenters around the world.

[15:06] Why Linux? What's hard about Windows?

Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows.

The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows.

This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel.

Aimee gives the example of trying to set up ImageMagick on Windows.

Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically.

[19:12] Supported Runtimes

Web Apps on Linux supports Node, PHP, Ruby, and .NET Core.

You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container.

Web Apps on Linux is build on Docker.

The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container.

If you can build a container, you can also run it on this service.

At certain levels, there's automatic scaling.

[22:06] Consistency between containers? Shared ownership of state or assets

It depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state.

There's a system called kudu that makes this really simple.

You can also pull logs across all systems.

You can also use SSH in the browser

[25:23] What's painful about Linux and containers?

How is the application built and how does it manage state so that you can isolate issues.

If you have 20 containers, can you connect to the right one.

It's up to you to manage correlation between containers so you can find the information you need.

Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science.

[28:28] How should you manage state?

A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state.

[30:34] CosmosDB (was DocumentDB)

It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy.

You may need to open up some firewall rules, but it should be pretty straightforward.

[34:14] Third Party Logging Management Apps

Azure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well.

[36:06] How do people use Web Apps on Linux?

Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure.

Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB.

You can also use any images on DockerHub.

[40:06] Continuous Integration and Continuous Deployment

Whether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction.

Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic.

[42:02] Process files and workers with PM2 format

You can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers.

Why did you use PM2? What other uses are there for this kind of setup?

You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file.

[45:38] How to get started

Getting started with Node

docs.microsoft.com

Trial account with a few hundred dollars in Azure credit.

Michael's Links

Jeremy's Links

Picks

Aimee

  • Having a little bit of mindfulness while waiting on code and tests to run.

Joe

Chuck

Jeremy

Michael




ux

Your first thirty days [electronic resource] : building a professional image in a new job / Elwood N. Chapman and Robert B. Maddux

Chapman, Elwood N




ux

Coral reefs : tourism, conservation and management / edited by Bruce Prideaux and Anja Pabel




ux

Green chemistry and chemical engineering / Buxing Han, Tianbin Wu, editors

Online Resource




ux

Electrochemical reduction of CO2 to ethylene on Cu/CuxO-GO composites in aqueous solution

RSC Adv., 2020, 10,17572-17581
DOI: 10.1039/D0RA02754E, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Nusrat Rashid, Mohsin Ahmad Bhat, U. K. Goutam, Pravin Popinand Ingole
Herein, we present fabrication of graphene oxide supported Cu/CuxO nano-electrodeposits which efficiently and selectively can electroreduce CO2 into ethylene with a faradaic efficiency of 34% and conversion rate of 194 mmol g−1 h−1 at −0.985 V vs. RHE.
The content of this RSS Feed (c) The Royal Society of Chemistry




ux

Redux modules and code-splitting

Twitter Lite uses Redux for state management and relies on code-splitting. However, Redux’s default API is not designed for applications that are incrementally-loaded during a user session.

This post describes how I added support for incrementally loading the Redux modules in Twitter Lite. It’s relatively straight-forward and proven in production over several years.

Redux modules

Redux modules comprise of a reducer, actions, action creators, and selectors. Organizing redux code into self-contained modules makes it possible to create APIs that don’t involve directly referencing the internal state of a reducer – this makes refactoring and testing a lot easier. (More about the concept of redux modules.)

Here’s an example of a small “redux module”.

// data/notifications/index.js

const initialState = [];
let notificationId = 0;

const createActionName = name => `app/notifications/${name}`;

// reducer
export default function reducer(state = initialState, action = {}) {
  switch (action.type) {
    case ADD_NOTIFICATION:
      return [...state, { ...action.payload, id: notificationId += 1 }];
    case REMOVE_NOTIFICATION:
      return state.slice(1);
    default:
      return state;
  }
}

// selectors
export const selectAllNotifications = state => state.notifications;
export const selectNextNotification = state => state.notifications[0];

// actions
export const ADD_NOTIFICATION = createActionName(ADD_NOTIFICATION);
export const REMOVE_NOTIFICATION = createActionName(REMOVE_NOTIFICATION);

// action creators
export const addNotification = payload => ({ payload, type: ADD_NOTIFICATION });
export const removeNotification = () => ({ type: REMOVE_NOTIFICATION });

This module can be used to add and select notifications. Here’s an example of how it can be used to provide props to a React component.

// components/NotificationView/connect.js

import { connect } from 'react-redux';
import { createStructuredSelector } from 'reselect';
import { removeNotification, selectNextNotification } from '../../data/notifications';

const mapStateToProps = createStructuredSelector({
  nextNotification: selectNextNotification
});
const mapDispatchToProps = { removeNotification };

export default connect(mapStateToProps, mapDispatchToProps);
// components/NotificationView/index.js

import connect from './connect';
export class NotificationView extends React.Component { /*...*/ }
export default connect(NotificationView);

This allows you to import specific modules that are responsible for modifying and querying specific parts of the overall state. This can be very useful when relying on code-splitting.

However, problems with this approach are evident once it comes to adding the reducer to a Redux store.

// data/createStore.js

import { combineReducers, createStore } from 'redux';
Import notifications from './notifications';

const initialState = /* from local storage or server */

const reducer = combineReducers({ notifications });
const store = createStore(reducer, initialState);

export default store;

You’ll notice that the notifications namespace is defined at the time the store is created, and not by the Redux module that defines the reducer. If the “notifications” reducer name is changed in createStore, all the selectors in the “notifications” Redux module no longer work. Worse, every Redux module needs to be imported in the createStore file before it can be added to the store’s reducer. This doesn’t scale and isn’t good for large apps that rely on code-splitting to incrementally load modules. A large app could have dozens of Redux modules, many of which are only used by a few components and unnecessary for initial render.

Both of these issues can be avoided by introducing a Redux reducer registry.

Redux reducer registry

The reducer registry enables Redux reducers to be added to the store’s reducer after the store has been created. This allows Redux modules to be loaded on-demand, without requiring all Redux modules to be bundled in the main chunk for the store to correctly initialize.

// data/reducerRegistry.js

export class ReducerRegistry {
  constructor() {
    this._emitChange = null;
    this._reducers = {};
  }

  getReducers() {
    return { ...this._reducers };
  }

  register(name, reducer) {
    this._reducers = { ...this._reducers, [name]: reducer };
    if (this._emitChange) {
      this._emitChange(this.getReducers());
    }
  }

  setChangeListener(listener) {
    this._emitChange = listener;
  }
}

const reducerRegistry = new ReducerRegistry();
export default reducerRegistry;

Each Redux module can now register itself and define its own reducer name.

// data/notifications/index.js

import reducerRegistry from '../reducerRegistry';

const initialState = [];
let notificationId = 0;

const reducerName = 'notifications';

const createActionName = name => `app/${reducerName}/${name}`;

// reducer
export default function reducer(state = initialState, action = {}) {
  switch (action.type) {
    case ADD_NOTIFICATION:
      return [...state, { ...action.payload, id: notificationId += 1 }];
    case REMOVE_NOTIFICATION:
      return state.slice(1);
    default:
      return state;
  }
}

reducerRegistry.register(reducerName, reducer);

// selectors
export const selectAllNotifications = state => state[reducerName];
export const selectNextNotification = state => state[reducerName][0];

// actions
export const ADD_NOTIFICATION = createActionName(ADD_NOTIFICATION);
export const REMOVE_NOTIFICATION = createActionName(REMOVE_NOTIFICATION);

// action creators
export const addNotification = payload => ({ payload, type: ADD_NOTIFICATION });
export const removeNotification = () => ({ type: REMOVE_NOTIFICATION });

Next, we need to replace the store’s combined reducer whenever a new reducer is registered (e.g., after loading an on-demand chunk). This is complicated slightly by the need to preserve initial state that may have been created by reducers that aren’t yet loaded on the client. By default, once an action is dispatched, Redux will throw away state that is not tied to a known reducer. To avoid that, reducer stubs are created to preserve the state.

// data/createStore.js

import { combineReducers, createStore } from 'redux';
import reducerRegistry from './reducerRegistry';

const initialState = /* from local storage or server */

// Preserve initial state for not-yet-loaded reducers
const combine = (reducers) => {
  const reducerNames = Object.keys(reducers);
  Object.keys(initialState).forEach(item => {
    if (reducerNames.indexOf(item) === -1) {
      reducers[item] = (state = null) => state;
    }
  });
  return combineReducers(reducers);
};

const reducer = combine(reducerRegistry.getReducers());
const store = createStore(reducer, initialState);

// Replace the store's reducer whenever a new reducer is registered.
reducerRegistry.setChangeListener(reducers => {
  store.replaceReducer(combine(reducers));
});

export default store;

Managing the Redux store’s reducer with a registry should help you better code-split your application and modularize your state management.




ux

UX Fundamentals for Non-UX Professionals [electronic resource] : User Experience Principles for Managers, Writers, Designers, and Developers / by Edward Stull

Stull, Edward. author





ux

Comment on “Investigation on the structure and thermoelectric properties of CuxTe binary compounds” by Shriparna Mukherjee et al., Dalton Trans., 2019, 48, 1040

Dalton Trans., 2020, 49,5736-5737
DOI: 10.1039/C9DT03607E, Comment
Aarón H. Barajas-Aguilar, A. M. Garay-Tapia, Sergio J. Jiménez-Sandoval
Copper telluride sensitivity to laser power: effect on the Raman spectra.
The content of this RSS Feed (c) The Royal Society of Chemistry




ux

Reply to the ‘Comment on “Investigation on the structure and thermoelectric properties of CuxTe binary compounds”’ by A. H. Barajas-Aguilar, A. M. Garay-Tapia, and S. J. Jiménez-Sandoval, Dalton Trans., 2020, 49, DOI: 10.1039/C9DT03607E

Dalton Trans., 2020, 49,5738-5740
DOI: 10.1039/D0DT00412J, Comment
Shriparna Mukherjee, Raju Chetty, P. V. Prakash Madduri, Ajaya K. Nayak, Krzysztof Wojciechowski, Tanmoy Ghosh, Kamanio Chattopadhyay, Satyam Suwas, Ramesh Chandra Mallik
In a communication to Dalton Transaction and in a paper in Journal of Physics: Condensed Matter, Aarón H. Barajas-Aguilar et al. have raised comments on our paper published earlier in Dalton Transactions.
The content of this RSS Feed (c) The Royal Society of Chemistry




ux

Separate: the story of Plessy v. Ferguson, and America's journey from slavery to segregation / Steve Luxenberg

Hayden Library - KF223.P56 L88 2019




ux

Xénotransplantation: le brevet sur l'animal / Alexandra Obadia ; préface de Jean-Christophe Galloux

Online Resource




ux

Governance, policy and juxtaposition: a maritime perspective / Michael Roe

Online Resource




ux

Luxury brands quietly sourcing Indian embroiderers for their goods

For years Dior, Saint Laurent and other fashion brands have been quietly using Indian embroiderers, while offering little in the way of employment protection





ux

Asie du sud-est entre deux mondes. English

Mende, Tibor




ux

Clinical trial for ruxolitinib planned in fight against COVID-19

Treatment for rare blood cancers could temper cytokine storm in people with severe forms of the disease




ux

Clinical trial for ruxolitinib planned in fight against COVID-19

Treatment for rare blood cancers could temper cytokine storm in people with severe forms of the disease




ux

Shaping urban futures in Mongolia: Ulaanbaatar, dynamic ownership and economic flux / Rebekah Plueckhahn

Online Resource




ux

As bauxite loses traction, Fimi seeks waiver of 15% duty on exports

The mineral lobby body has appealed to the Union finance ministry to exempt bauxite exports from duties




ux

[ASAP] Wood–Gelatin Bio-Composite Membranes with Tunable Flux

ACS Sustainable Chemistry & Engineering
DOI: 10.1021/acssuschemeng.0c01856




ux

‘Super Deluxe’ actor Gayathrie Shankar’s Tamil short film is about a mother-daughter relationship

A mostly-female crew joined hands to make the short film ‘B Selvi & Daughters’, which is a realistic portrayal of the layers in a mother-daughter relationship




ux

China SUV maker begins upscale climb with luxury brand

Wei Jianjun's Great Wall Motor Co will unveil its WEY brand on November 16




ux

Roux-en-Y Gastric Bypass vs Intensive Medical Management for the Control of Type 2 Diabetes, Hypertension, and Hyperlipidemia: The Diabetes Surgery Study Randomized Clinical Trial

Interview with Sayeed Ikramuddin, MD, author of Roux-en-Y Gastric Bypass vs Intensive Medical Management for the Control of Type 2 Diabetes, Hypertension, and Hyperlipidemia: The Diabetes Surgery Study Randomized Clinical Trial




ux

Instantanés d'Égypte: trésors photographiques de l'Institut français d'archéologie orientale / Delphine Driaux & Marie-Lys Arnette

Rotch Library - TR118.I68 2016




ux

Droit musulman et societe au Sahara premoderne: la justice islamique dans les oasis du Grand Touat (Algerie) aux XVIIe-XIXe siecles / par Ismail Warscheid

Rotch Library - KQG469.W37 2017




ux

Le waqf de la mosquée des Omeyyades de Damas: le manuscrit ottoman d'un inventaire mamelouk établie en 816/1413 / par Mathieu Eychenne, Astrid Meier, Élodie Vigouroux

Rotch Library - BP187.65.D35 E93 2018




ux

Aux sources de la poésie ghaznavide: les inscriptions persanes de Ghazni (Afghanistan, XIe -XIIe siècles) / Viola Allegranzi

Rotch Library - PK6400.6.G43 A45 2019




ux

Mercedes Benz redefines the luxury label to plot a millennial trail

Once a symbol of societal status, the auto brand is remaking itself in the mould of its new consumers as one that marks brash ambition and youth




ux

The use of auxetic materials in tissue engineering

Biomater. Sci., 2020, 8,2074-2083
DOI: 10.1039/C9BM01928F, Review Article
Paul Mardling, Andrew Alderson, Nicola Jordan-Mahy, Christine Lyn Le Maitre
A number of biological tissues have been shown to behave in an auxetic manner, defined by having a negative poissons ratio. Thus mimicking this environment has a number of potential applications especially in tissue engineering.
The content of this RSS Feed (c) The Royal Society of Chemistry




ux

Water and ion fluxes to a tropical montane cloud forest ecosystem in Costa Rica




ux

Charles Bordeaux Lamoureax 1834-1899 French conductor, violinist. Founder of a leading orchestra in Europe




ux

Two lesbians attired in a tuxedo and a black dress




ux

Outina Gallorum auxilio Potanou suum hostem superat




ux

Unknown studio. Palais de Fontainebleau. Facade de la cour des Adieux. "No. 632." "X. Phot."




ux

G. Zazzarini & Co. Anvers. "Photographies Gravures Anciennes et Moderne objets d'art G. Zazzarini x Co. Successeurs de F. Tessaro 87 (37?), Marché aux Souliers, 3."




ux

G. Zazzarini & Co. Anvers. - La Place Vert at la Cathédrale G. H. pho. " Photographies Gravures Anciennes et Moderne objets d'art G. Zazzarini x Co. Successeurs de F. Tessaro 87 (37?), Marché aux Souliers, 3."




ux

Unknown studio. Musée Wiertz, Insatiabilité Humaine. "No. 39." "Bruxelles."




ux

Unknown studio. BRUXELLES. -Sainte Gudule. "No. 10." "L.P. phot."




ux

Unknown studio. BRUXELLES. - Hôtel de Ville. "No. 1." "L.P. phot." Distributed by: T&M B.F.K. Rives No 74




ux

Bulletin board photo of photo of posed group of men in tuxedos and sashes; three rows of men, tall windows, wood floor-possibly taken in a ballroom




ux

Bulletin board photo of photo of posed group of men in tuxedos and sashes; three rows of men, tall windows, wood floor-possibly taken in a ballroom