itt

Writing and presenting scientific papers / Birgitta Malmfors, Phil Garnsworthy, Michael Grossman

Malmfors, Birgitta




itt

A class approach to hazard assessment of organohalogen flame retardants / Committee to Develop a Scoping Plan to Assess the Hazards of Organohalogen Flame Retardants, Board on Environmental Studies and Toxicology, Division on Earth and Life Studies

Online Resource




itt

Computerized control systems in the food industry edited by Gauri S. Mittal

Online Resource




itt

Process hazard analysis handbook: you are holding a book for project managers, process designers, operators, engineers and decision makers in the oil and gas industry to make better decisions and get things done. This is a ... / written by Starr Tze

Online Resource




itt

Biodiesel production: technologies, challenges, and future prospects / sponsored by Biodiesel production: Technologies, Challenges, and Future Prospects Task Committee of the Technical Committee on Hazardous, Toxic, and Radioactive Waste Engineering of th

Online Resource




itt

Levatrici d'Egitto English

Bruni, Luigino, 1966- author




itt

Correction: Insects (Thrips hawaiiensis (Morgan)) change the stereochemical configuration of 1-phenylethanol emitted from tea (Camellia sinensis) flowers

RSC Adv., 2020, 10,17058-17060
DOI: 10.1039/D0RA90047H, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Ying Zhou, Lanting Zeng, Yinyin Liao, Fang Dong, Qiyuan Peng, Jianlong Li, Jinchi Tang, Naoharu Watanabe, Ziyin Yang
The content of this RSS Feed (c) The Royal Society of Chemistry




itt

Alkaline water-splitting reactions over Pd/Co-MOF-derived carbon obtained via microwave-assisted synthesis

RSC Adv., 2020, 10,17359-17368
DOI: 10.1039/D0RA02307H, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Adewale K. Ipadeola, Kenneth I. Ozoemena
Palladium nanoparticles supported on MOF-derived carbon serve as an efficient bifunctional electrocatalyst for alkaline water-splitting reactions.
The content of this RSS Feed (c) The Royal Society of Chemistry




itt

Mechanochemical approach to synthesize citric acid-soluble fertilizer of dittmarite (NH4MgPO4·H2O) from talc/NH4H2PO4 mixture

RSC Adv., 2020, 10,17686-17693
DOI: 10.1039/D0RA00387E, Paper
Open Access
Yonghao Tan, Lin Sha, Nengkui Yu, Zhengshuo Yang, Jun Qu, Zhigao Xu
Dittmarite synthesis by a mechanochemical route for application as a citric acid-soluble fertilizer.
The content of this RSS Feed (c) The Royal Society of Chemistry




itt

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.




itt

The subjective well-being module of the American Time Use Survey [electronic resource] : assessment for its continuation / Panel on Measuring Subjective Well-Being in a Policy-Relevant Framework, Committee on National Statistics, Division of Behavioral an




itt

The talent equation [electronic resource] : big data lessons for navigating the skills gap and building a competitive workforce / Matt Ferguson, Lorin Hitt, Prasanna Tambe, with Ryan Hunt and Jennifer Sullivan Grasz

Ferguson, Matt




itt

Thriving under stress [electronic resource] : harnessing demands in the workplace / Thomas W. Britt, Ph.D., Professor of Psychology, Clemson University, Steve M. Jex, Ph.D., Professor of Psychology, Bowling Green State University

Britt, Thomas W., 1966-





itt

Indian gets 30 months in jail for Little India riot



  • DO NOT USE Indians Abroad
  • World

itt

Indian-origin Islamic State member poses with AK-47, newborn baby on Twitter



  • DO NOT USE Indians Abroad
  • World

itt

UK academician plans ‘Mahabharata’ Twitter sequel, this time on Duryodhana



  • DO NOT USE Indians Abroad
  • World

itt

Singapore: Indian man acquitted of drug charges



  • DO NOT USE Indians Abroad
  • World

itt

US committed to seeking justice on behalf of all 26/11 victims



  • DO NOT USE Indians Abroad
  • World

itt

Indian babysitter gets 19-year jail term for child’s death in US



  • DO NOT USE Indians Abroad
  • World

itt

Income Splitting: Opportunities and Pitfalls

In this webinar, the tax lawyers of Minden Gross LLP will provide a practical overview of income splitting strategies available today. This webinar will review in detail the various attribution rules devised to thwart income planning, and guide participants to strategies still available for safe and effective income splitting.

Available Sessions for this Seminar:

ipwebinar.aspx?tab=1&smid=1669, May 12, 2015




itt

Community ecology / Gary G. Mittelbach (Michigan State University, USA), Brian J. McGill (University of Maine, USA)

Mittelbach, Gary George, author




itt

Bioanalytical chemistry / Andreas Manz (KIST Europe, Germany), Petra S Dittrich (ETH Zürich, Switzerland), Nicole Pamme (University of Hull, UK), Dimitri Iossifidis (Analytical Equipment Supplies & Support, Greece)

Manz, A. (Andreas), author




itt

Hierarchical Mo-doped CoP3 interconnected nanosheet arrays on carbon cloth as an efficient bifunctional electrocatalyst for water splitting in an alkaline electrolyte

Dalton Trans., 2020, 49,5563-5572
DOI: 10.1039/D0DT00671H, Paper
Shasha Zhang, Mingjing Guo, Shuyi Song, Ke Zhan, Ya Yan, Junhe Yang, Bin Zhao
Hierarchical Mo-doped CoP3 nanosheet arrays were fabricated on carbon cloth to serve as an efficient and robust bifunctional electrocatalyst for overall water splitting in alkaline media.
The content of this RSS Feed (c) The Royal Society of Chemistry




itt

Amorphous Ni–Fe–Se hollow nanospheres electrodeposited on nickel foam as a highly active and bifunctional catalyst for alkaline water splitting

Dalton Trans., 2020, Advance Article
DOI: 10.1039/C9DT04755G, Paper
Xuerui Yi, Xiaobo He, Fengxiang Yin, Biaohua Chen, Guoru Li, Huaqiang Yin
The electrodeposition of amorphous Ni–Fe–Se hollow nanospheres as a highly efficient bifunctional catalyst for the sustainable production of hydrogen.
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




itt

Tallinn manual 2.0 on the international law applicable to cyber operations / prepared by the International Groups of Experts at the invitation of the NATO Cooperative Cyber Defence Centre of Excellence ; general editor, Michael N. Schmitt ; managing edit

Dewey Library - KZ6718.T35 2017





itt

Leveraging our advantages : the trade relationship between Australia and Indonesia / Joint Standing Committee on Trade and Investment Growth

Australia. Parliament. Joint Standing Committee on Trade and Investment Growth, author, issuing body




itt

Comradeship : stories of friendship and recreation in wartime / written by Kathleen Cusack

Cusack, Kathleen, author




itt

Review of the listing of Islamic State East Asia as a terrorist organisation under the Criminal Code / Parliamentary Joint Committee on Intelligence and Security

Australia. Parliament. Joint Committee on Intelligence and Security, author, issuing body




itt

A Cambodian spring [videorecording] / Little Ease Films in association with Dartmouth Films, Zanzibar Films & EyesteelFilm presents a film by Chris Kelly




itt

Report of the parliamentary delegation to China 2-6 July 2018 / House of Representatives Standing Committee on Infrastructure, Transport and Cities

Australia. Parliament. House of Representatives. Standing Committee on Infrastructure, Transport and Cities, author, issuing body




itt

Timor Sea Maritime Boundaries Treaty Consequential Amendments Bill 2018 [Provisions], Passenger Movement Charge Amendment (Timor Sea Maritime Boundaries Treaty) Bill 2018 [Provisions] / The Senate Economics Legislation Committee

Australia. Parliament. Senate. Economics Legislation Committee, author, issuing body




itt

Pittcon goes ahead despite coronavirus concerns

Product launches and champagne toasts at instrumentation conference bely worries about infection




itt

Pittcon goes ahead despite coronavirus

Product launches and champagne toasts belied worries about infection




itt

Spring ACS Board and Council Policy Committee actions




itt

NCLAT dismisses Deloitte, KPMG and auditors pleas against impleadment in IL&FS matter

A two-member NCLAT bench led by Chairman Justice S J Mukhopadhaya dismissed the pleas of auditors and other independent directors. The appellate tribunal, however, granted a relief to both auditors and other independent directors by allowing the operation of its earlier interim order passed on July 29, 2019 for two weeks.




itt

Deloitte India announces promotions, promotes 30 directors to partners

With the new announcements, Deloitte’s partner tally crosses 480. The promotions were across the five verticals — audit, tax, consulting, financial services and risk— but audit division saw the maximum number of partner induction (over 10).




itt

Big win for Deloitte, BSR in IL&FS case where government was seeking to ban them

The Bombay High Court said that the Ministry of Corporate Affairs (MCA) can’t take action against the two.




itt

IFIN case: Big win for Deloitte, BSR & Co

The Bombay High Court on Tuesday ruled the ministry of corporate affairs (MCA) cannot take action against auditors over their role in the alleged financial irregularities at IFIN in a major relief to Deloitte and BSR & Associates LLP.




itt

Beyond the dynamical universe: unifying block universe physics and time as experienced / Michael Silberstein, W.M. Stuckey, Timothy McDevitt (Elizabethtown College)

Hayden Library - QC174.13.S55 2018




itt

Classical and Quantum Dynamics: From Classical Paths to Path Integrals / Walter Dittrich, Martin Reuter

Online Resource





itt

Greens protest over littering of public places

People have been littering a road at Babugudda by throwing waste every day even when a group of nature lovers in the city has been carrying out cleanliness drive regularly there. The group had also planted hundreds of saplings to make the area, which is adjacent to a crematorium, clean. However, people continue to throw garbage not bothering about the campaigns of greens.




itt

New towns: an investigation on urbanism / Dunia Mittner ; translation: Erika Geraldine Young

Rotch Library - NA9053.N4 M58 2018




itt

Urbanization and regional sustainability in South Asia: socio-economic drivers, environmental pressures and policy responses / edited by Sumana Bandyopadhyay, Chitta Ranjan Pathak, Tomaz Ponce Dentinho

Online Resource




itt

Four corridors: design initiative for RPA's Fourth Regional Plan / editors, Paul Lewis, Guy Nordenson, Catherine Seavitt ; managing editor, Ryan Roark

Rotch Library - HT392.F68 2019




itt

Preservation News: Today's Twitter Takeover

Starting at 3:00 pm EDT, you can interact with our preservation experts to discuss the challenges of space and storage, digitizing collections, born-digital collections, brittle collections, and more during the Twitter Conference organized in conjunction with the Society of American Archivists for Preservation Week. #PresTC

Click here to find the Library on Twitter.




itt

Artful design: technology in search of the sublime / written and designed by Ge Wang

STACK BOOKS NK1520.W36 2018




itt

Methodologies and intelligent systems for technology enhanced learning / Tania Di Mascio, Rosella Gennari, Pierpaolo Vittorini, Fernando De la Prieta, editors

Online Resource