ico

Reflections of a philosophical voyager : Nicolas Baudin letter to Philip Gidley King, 24 December 1802 / edited & translated by Jean Fornasiero




ico

[ASAP] Experimental and Theoretical Soft X-ray Study of Nicotine and Related Compounds

The Journal of Physical Chemistry A
DOI: 10.1021/acs.jpca.9b11586




ico

Uniform conductivity in stretchable silicones via multiphase inclusions

Soft Matter, 2020, Advance Article
DOI: 10.1039/D0SM00383B, Paper
R. Adam Bilodeau, Amir Mohammadi Nasab, Dylan S. Shah, Rebecca Kramer-Bottiglio
A thin, stretchable (200% linear strain), multiphase (solid–liquid) silicone composite with uniform electrical conductivity, for Joule heating and high-deformation sensing.
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




ico

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




ico

[ASAP] Development of Lipid-Coated Semiconductor Nanosensors for Recording of Membrane Potential in Neurons

ACS Photonics
DOI: 10.1021/acsphotonics.9b01558




ico

[ASAP] Colloidal Quantum-Dots/Graphene/Silicon Dual-Channel Detection of Visible Light and Short-Wave Infrared

ACS Photonics
DOI: 10.1021/acsphotonics.0c00247




ico

[ASAP] Strain-Correlated Localized Exciton Energy in Atomically Thin Semiconductors

ACS Photonics
DOI: 10.1021/acsphotonics.0c00626




ico

Iconography of Security

Molly Wilson and Eileen Wagner battle the age old Christmas issues of right and wrong, good and evil, and how the messages we send through iconography design can impact the decisions users make around important issues of security. Are you icons wise men, or are they actually King Herod?


Congratulations, you’re locked out! The paradox of security visuals

Designers of technology are fortunate to have an established visual language at our fingertips. We try to use colors and symbols in a way that is consistent with people’s existing expectations. When a non-designer asks a designer to “make it intuitive,” what they’re really asking is, “please use elements people already know, even if the concept is new.”

Lots of options for security icons

We’re starting to see more consistency in the symbols that tech uses for privacy and security features, many of them built into robust, standardized icon sets and UI kits. To name a few: we collaborated with Adobe in 2018 to create the Vault UI Kit, which includes UI elements for security, like touch ID login and sending a secure copy of a file. Adobe has also released a UI kit for cookie banners.

Activity log from the Vault Secure UI Kit, by Adobe and Simply Secure.
Cookie banner, from the Cookie Banner UI Kit, by Adobe.

Even UI kits that aren’t specialized in security and privacy include icons that can be used to communicate security concepts, like InVision’s Smart Home UI Kit. And, of course, nearly every icon set has security-related symbols, from Material Design to Iconic.

Key, lock, unlock, shield, and warning icons from Iconic.
A selection of security-related icons from Material Design.
Security shields from a selection of Chinese apps, 2014. From a longer essay by Dan Grover.

Many of these icons allude to physical analogies for the states and actions we’re trying to communicate. Locks and keys; shields for protection; warning signs and stop signs; happy faces and sad faces. Using these analogies helps build a bridge from the familiar, concrete world of door locks and keyrings to the unfamiliar, abstract realm of public- and private-key encryption.

flickr/Jim Pennucci
GPG Keychain, an open-source application for managing encryption keys. Image: tutsplus.com

When concepts don’t match up

Many of the concepts we’re working with are pairs of opposites. Locked or unlocked. Private or public. Trusted or untrusted. Blocked or allowed. Encouraged or discouraged. Good or evil. When those concept pairs appear simultaneously, however, we quickly run into UX problems.

Take the following example. Security is good, right? When something is locked, that means you’re being responsible and careful, and nobody else can access it. It’s protected. That’s cause for celebration. Being locked and protected is a good state.

“Congratulations, you’re locked out!”

Whoops.

If the user didn’t mean to lock something, or if the locked state is going to cause them any inconvenience, then extra security is definitely not good news.

Another case in point: Trust is good, right? Something trusted is welcome in people’s lives. It’s allowed to enter, not blocked, and it’s there because people wanted it there. So trusting and allowing something is good.

“Good job, you’ve downloaded malware!”

Nope. Doesn’t work at all. What if we try the opposite colors and iconography?

That’s even worse. Even though we, the designers, were trying both times to keep the user from downloading malware, the user’s actual behavior makes our design completely nonsensical.

Researchers from Google and UC Berkeley identified this problem in a 2016 USENIX paper analyzing connection security indicators. They pointed out that, when somebody clicks through a warning to an “insecure” website, the browser will show a “neutral or positive indicator” in the URL bar – leading them to think that the website is now safe. Unlike our example above, this may not look like nonsense from the user point of view, but from a security standpoint, suddenly showing “safe/good” without any actual change in safety is a pretty dangerous move.

The deeper issue

Now, one could file these phenomena under “mismatching iconography,” but we think there is a deeper issue here that concerns security UI in particular. Security interface design pretty much always has at least a whiff of “right vs. wrong.” How did this moralizing creep into an ostensibly technical realm?

Well, we usually have a pretty good idea what we’d like people to do with regards to security. Generally speaking, we’d like them to be more cautious than they are (at least, so long as we’re not trying to sneak around behind their backs with confusing consent forms and extracurricular data use). Our well-intentioned educational enthusiasm leads us to use little design nudges that foster better security practices, and that makes us reach into the realm of social and psychological signals. But these nudges can easily backfire and turn into total nonsense.

Another example: NoScript

“No UX designer would be dense enough to make these mistakes,” you might be thinking.

Well, we recently did a redesign of the open-source content-blocking browser extension NoScript, and we can tell you from experience: finding the right visual language for pairs of opposites was a struggle.

NoScript is a browser extension that helps you block potential malware from the websites you’re visiting. It needs to communicate a lot of states and actions to users. A single script can be blocked or allowed. A source of scripts can be trusted or untrusted. NoScript is a tool for the truly paranoid, so in general, wants to encourage blocking and not trusting. But:

“An icon with a crossed-out item is usually BAD, and a sign without anything is usually GOOD. But of course, here blocking something is actually GOOD, while blocking nothing is actually BAD. So whichever indicators NoScript chooses, they should either aim to indicate system state [allow/block] or recommendation [good/bad], but not both. And in any case, NoScript should probably stay away from standard colors and icons.”

So we ended up using hardly any of the many common security icons available. No shields, no alert! signs, no locked locks, no unlocked locks. And we completely avoided the red/green palette to keep from taking on unintended meaning.

Navigating the paradox

Security recommendations appear in most digital services are built nowadays. As we move into 2020, we expect to see a lot more conscious choice around colors, icons, and words related to security. For a start, Firefox already made a step in the right direction by streamlining indicators for SSL encryption as well as content blocking. (Spoilers: they avoided adding multiple dimensions of indicators, too!)

The most important thing to keep in mind, as you’re choosing language around security and privacy features, is: don’t conflate social and technical concepts. Trusting your partner is good. Trusting a website? Well, could be good, could be bad. Locking your bike? Good idea. Locking a file? That depends.

Think about the technical facts you’re trying to communicate. Then, and only then, consider if there’s also a behavioral nudge you want to send, and if you are, try to poke holes in your reasoning. Is there ever a case where your nudge could be dangerous? Colors, icons, and words give you a lot of control over how exactly people experience security and privacy features. Using them in a clear and consistent way will help people understand their choices and make more conscious decisions around security.


About the author

Molly Wilson is a designer by training and a teacher at heart: her passion is leveraging human-centered design to help make technology clear and understandable. She has been designing and leading programs in design thinking and innovation processes since 2010, first at the Stanford d.school in Palo Alto, CA and later at the Hasso-Plattner-Institut School of Design Thinking in Potsdam, Germany. Her work as an interaction designer has focused on complex products in finance, health, and education. Outside of work, talk to her about cross-cultural communication, feminism, DIY projects, and visual note-taking.

Molly holds a master’s degree in Learning, Design, and Technology from Stanford University, and a bachelor’s degree magna cum laude in History of Science from Harvard University. See more about her work and projects at http://molly.is.

Eileen Wagner is Simply Secure’s in-house logician. She advises teams and organizations on UX design, supports research and user testing, and produces open resources for the community. Her focus is on information architecture, content strategy, and interaction design. Sometimes she puts on her admin hat and makes sure her team has the required infrastructure to excel.

She previously campaigned for open data and civic tech at the Open Knowledge Foundation Germany. There she helped establish the first public funding program for open source projects in Germany, the Prototype Fund. Her background is in analytic philosophy (BA Cambridge) and mathematical logic (MSc Amsterdam), and she won’t stop talking about barbershop music.

More articles by Molly Wilson & Eileen




ico

Italian populism and constitutional law: strategies, conflicts and dilemmas / Giacomo Delledonne, Giuseppe Martinico, Matteo Monti, Fabio Pacini, editors

Online Resource




ico

Suspect communities: anti-Muslim racism and the domestic war on terror / Nicole Nguyen

Dewey Library - HV6432.N555 2019




ico

The gang paradox: inequalities and miracles on the U.S.-Mexico border / Robert J. Durán

Hayden Library - HV6439.M58 D87 2018




ico

Lord Cornwallis is dead: the struggle for democracy in the United States and India / Nico Slate

Dewey Library - JC423.G638 2019




ico

The sexual politics of gendered violence and women's citizenship / Suzanne Franzway, Nicole Moulding, Sarah Wendt, Carole Zufferey, Donna Chung

Dewey Library - HV6626.F73 2019




ico

Ecology / William D. Bowman (University of Colorado), Sally D. Hacker (Oregon State University), Michael L. Cain (New Mexico State University)

Bowman, William D., author




ico

Environmental assessment on energy and sustainability by data envelopment analysis / Toshiyuki Sueyoshi (New Mexico Institute of Mining and Technology, New Mexico, USA), Mika Gogo (Tokyo Institute of Technology, Tokyo, Japan)

Sueyoshi, T. (Toshiyuki), 1954- author




ico

037 JSJ Promises with Domenic Denicola and Kris Kowal

Panel Kris Kowal (twitter github blog) Domenic Denicola (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Discussion 02:41 - Promises Asynchonous programming 05:09 - Using Promises from top to bottom 07:08 - Domains NodeConf SummerCamp 07:55 - Q 10:22 - q.nfbind 11:15 - Q vs jQuery You’re Missing the Point of Promises Coming from jQuery 15:41 - long-stack-traces turn chaining JavaScriptStackTraceApi: Overview of the V8 JavaScript stack trace API (error.prepare stack trace) 19:36 - Original Promises/A spec and Promises/A+ spec when.js Promises Test Suite Underscore deferred 24:22 - .then Chai as Promised 26:58 - Nesting Promises spread method 28:38 - Error Handling causeway 32:57 - Benefits of Promises Error Handling Multiple Async at once Handle things before and after they happen 40:29 - task.js 41:33 - Language e programming language CoffeeScript 44:11 - Mocking Promises 45:44 - Testing Promises Mocha as Promised Picks Code Triage (Jamison) The Creative Sandbox Guidebook (Joe) Steam (Joe) Pluralsight (Joe) montage (Kris) montagejs / mr (Kris) CascadiaJS 2012 - Domenic Denicola (Domenic) Omnifocus (Chuck) Buckyballs (AJ) Transcript JOE: I can’t imagine your baby face with a beard, Jamison. JAMISON: I never thought I had a baby face. AJ: It was always a man face to me. JOE: Everybody who is 15 years younger than me has a baby face. [This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.] [This show is sponsored by Gaslight Software. They are putting on Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th. They'll be covering Jasmine, Backbone and CoffeeScript. For more information or to register, go to training.gaslightsoftware.com] [Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net] CHUCK: Hey everybody. Welcome to episode 37 of the JavaScript Jabber show. This week on our panel, we have AJ O'Neal. AJ: Yo, yo, yo, comin' at you live from the executive boardroom suite of Orem, Utah. CHUCK: Jamison Dance. JAMISON: Hey guys! CHUCK: Joe Eames. JOE: Hey there! CHUCK: Merrick Christensen MERRICK: What's up. CHUCK: I'm Charles Max Wood from devchat.tv and this week we have some guests -- and that is Kris Kowal. KRIS: Hello. Yeah, Kowal. CHUCK: Kowal. OK. And Domenic Denicola. Did I say that right? DOMENIC: Denicola. CHUCK: Denicola. DOMENIC: It’s OK I got Americanized. That's probably the proper Italian pronunciation. Hi guys! CHUCK: I speak proper Italian, so probably. KRIS: Yeah and for what it’s worth, I think that the proper Polish is Kowal or something, but yeah. JAMISON: Kris, are you from the Midwest? You have kind of Minnesota-ish accent. KRIS: No. I'm actually unfortunately from somewhere in the suburbs of Los Angeles, but I grew up indoors and did listen to Prairie Home Companion. So I don’t know. Maybe. [laughter] CHUCK: Awesome. All right. So this week we are going to be talking about… actually there's one thing I need to announce before. If you are listening to this episode, you’ll probably notice a little bit of a difference with our sponsorship message. I actually left off one important piece to one of the sponsorship messages and that is for the Gaslight software training that's going to be in San Francisco, if you wanna sign up, go to training.gaslightsoftware.com and you can sign up there. They’ve been a terrific sponsor and I feel kind of bad that I botched that. But anyway,




ico

Zapata lives! [electronic resource] : histories and cultural politics in southern Mexico / Lynn Stephen

Stephen, Lynn




ico

The zapatista "social netwar" in Mexico [electronic resource] / David Ronfeldt ... [et al.]




ico

Troubled memories: iconic Mexican women and the traps of representation / Oswaldo Estrada

Hayden Library - PQ7123.W6 E88 2018




ico

[ASAP] Enhanced Nonlinear Light Generation in Oligomers of Silicon Nanoparticles under Vector Beam Illumination

Nano Letters
DOI: 10.1021/acs.nanolett.0c00393




ico

Expeditious access of chromone analogues via a Michael addition-driven multicomponent reaction

Org. Chem. Front., 2020, 7,987-992
DOI: 10.1039/D0QO00145G, Research Article
Jie Lei, Yong Li, Liu-Jun He, Ya-Fei Luo, Dian-Yong Tang, Wei Yan, Hui-Kuan Lin, Hong-yu Li, Zhong-Zhu Chen, Zhi-Gang Xu
A Michael addition-driven four-component reaction (4-CR) with four Ugi inputs was developed and utilized for the synthesis of chromone derivatives and tetrazole substituted chromones under mild reaction conditions.
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Handbook of semiconductor nanostructures and nanodevices / edited by Alexander A. Balandin, Kang L. Wang




ico

[ASAP] Construction of s-Aromatic AlB<sub>2</sub> Ring via Borane Coupling with a Dicoordinate Cyclic (Alkyl)(Amino)Aluminyl Anion

Journal of the American Chemical Society
DOI: 10.1021/jacs.0c03179




ico

[ASAP] Silicon Forms a Rich Diversity of Aliphatic Polyol Complexes in Aqueous Solution

Journal of the American Chemical Society
DOI: 10.1021/jacs.9b10701




ico

[ASAP] Integrating the Pillared-Layer Strategy and Pore-Space Partition Method to Construct Multicomponent MOFs for C<sub>2</sub>H<sub>2</sub>/CO<sub>2</sub> Separation

Journal of the American Chemical Society
DOI: 10.1021/jacs.0c00612




ico

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




ico

Semiconductor gas sensors / edited by Raivo Jaaniso, Ooi Kiang Tan

Barker Library - TP754 J336 2019




ico

Exploring a lead-free organic–inorganic semiconducting hybrid with above-room-temperature dielectric phase transition

RSC Adv., 2020, 10,17492-17496
DOI: 10.1039/C9RA09289G, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Yuyin Wang, Shiguo Han, Xitao Liu, Zhenyue Wu, Zhihua Sun, Dhananjay Dey, Yaobin Li, Junhua Luo
Recently, organic–inorganic hybrid lead halide perovskites have attracted great attention for optoelectronic applications, such as light-emitting diodes, photovoltaics and optoelectronics.
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Correction: Role of polysilicon in poly-Si/SiOx passivating contacts for high-efficiency silicon solar cells

RSC Adv., 2020, 10,17571-17571
DOI: 10.1039/D0RA90049D, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
HyunJung Park, Soohyun Bae, Se Jin Park, Ji Yeon Hyun, Chang Hyun Lee, Dongjin Choi, Dongkyun Kang, Hyebin Han, Yoonmook Kang, Hae-Seok Lee, Donghwan Kim
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Pure CSS social media icons

This is an experiment that creates social media icons using CSS and semantic HTML. It uses progressive enhancement to turn an unordered list of text links into a set of icons without the use of images or JavaScript.

Demo: Pure CSS social media icons

Support: Firefox 3.5+, Safari 4+, Chrome 4+, Opera 10+, IE8+.

CSS social media icons

The image below shows you the final appearance in modern browsers.

This experiment starts with a simple list of links, with each link using meaningful text, and then progressively styles each link to take on the appearance of the relevant social media icon. As a result, there should be support for screenreaders or users with CSS disabled.

I’ve also included basic text in the title attribute of each link to provide information for users who may not be familiar with what service a specific icon represents.

This is an experiment that uses CSS 2.1 and CSS3 that is not supported by Internet Explorer 6 and 7, therefore, you shouldn’t expect it to work in those browsers. CSS is not necessarily the most appropriate tool for this kind of thing either.

Example code

The technique I’ve used is much the same as the one used for the Pure CSS speech bubbles.

The HTML is just a basic unordered list of links to various social networking websites or services.

<ul>
   <li class="facebook"><a href="#non" title="Share on Facebook">Facebook</a></li>
   <li class="twitter"><a href="#non" title="Share on Twitter">Twitter</a></li>
   <li class="rss"><a href="#non" title="Subscribe to the RSS feed">RSS</a></li>
   <li class="flickr"><a href="#non" title="Share on Flickr">Flickr</a></li>
   <li class="delicious"><a href="#non" title="Bookmark on Delicious">Delicious</a></li>
   <li class="linkedin"><a href="#non" title="Share on LinkedIn">LinkedIn</a></li>
   <li class="google"><a href="#non" title="Bookmark with Google">Google</a></li>
   <li class="orkut"><a href="#non" title="Share on Orkut">Orkut</a></li>
   <li class="technorati"><a href="#non" title="Add to Technorati">Technorati</a></li>
   <li class="netvibes"><a href="#non" title="Add to NetVibes">NetVibes</a></li>
</ul>

I’ve applied some general styles to the elements that make up this list.

ul {
   list-style:none;
   padding:0;
   margin:0;
   overflow:hidden;
   font:0.875em/1 Arial, sans-serif;
}

ul li {
   float:left;
   width:66px;
   height:66px;
   margin:20px 20px 0 0;
}

ul li a {
   display:block;
   width:64px;
   height:64px;
   overflow:hidden;
   border:1px solid transparent;
   line-height:64px;
   text-decoration:none;
   /* css3 */
   text-shadow:0 -1px 0 rgba(0,0,0,0.5);
   -moz-border-radius:5px;
   -webkit-border-radius:5px;
   border-radius:5px; /* standards version last */
}

ul li a:hover,
ul li a:focus,
ul li a:active {
   opacity:0.8;
   border-color:#000;
}

Each icon uses it’s own set of styles. This is the CSS that created the RSS icon.

.rss a {
   position:relative;
   width:60px;
   padding:0 2px;
   border-color:#ea6635;
   text-transform:lowercase;
   text-indent:-186px;
   font-size:64px;
   font-weight:bold;
   color:#fff;
   background:#e36443;

   /* css3 */
   -moz-box-shadow:0 0 4px rgba(0,0,0,0.4);
   -webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);
   box-shadow:0 0 4px rgba(0,0,0,0.4);
   background:-webkit-gradient(linear, left top, left bottom, from(#f19242), to(#e36443));
   background:-moz-linear-gradient(top, #f19242, #e36443);
   background:linear-gradient(top, #f19242, #e36443);
}

.rss a:before,
.rss a:after {
   content:"";
   position:absolute;
   bottom:10px;
   left:10px;
}

/* create circle */
.rss a:before {
   width:12px;
   height:12px;
   background:#fff;
   /* css3 */
   -moz-border-radius:12px;
   -webkit-border-radius:12px;
   border-radius:12px;
}

/* create the two arcs */
.rss a:after {
   width:22px;
   height:22px;
   border-style:double;
   border-width:24px 24px 0 0;
   border-color:#fff;
   /* css3 */
   -moz-border-radius:0 50px 0 0;
   -webkit-border-radius:0 50px 0 0;
   border-radius:0 50px 0 0;
}

Acknowledgements

This post was inspired by an experiment on insicdesigns that producing a few social media icons using CSS.




ico

Pure CSS GUI icons

An experiment that uses pseudo-elements to create 84 simple GUI icons using CSS and semantic HTML. Shared as an exercise in creative problem solving and working within constraints. This is not a “production ready” CSS icon set.

Demo: Pure CSS GUI icons

Known support: Firefox 3.5+, Safari 5+, Chrome 5+, Opera 10.6+.

An exercise in constraint

Several months ago I was experimenting with the creation of common GUI icons with CSS. The HTML is very simple and it relies on CSS pseudo-elements rather than extraneous HTML elements. The technical aspects of this exercise might be of interest to others, so I’ve decided to share it.

Pseudo-elements provide many possibilities to developers interested in enhancing existing semantic HTML.

Example code

The technique behind this experiment is an expansion of the basic shape-creation that was used to make Pure CSS speech bubbles. Some of these GUI icons can only be created in browsers that support CSS3 transforms.

The HTML is a basic unordered list of links.

<ul>
  <li class="power"><a href="#non">Power</a></li>
  <li class="play"><a href="#non">Play</a></li>
  <li class="stop"><a href="#non">Stop</a></li>
  <li class="pause"><a href="#non">Pause</a></li>
</ul>

Each icon uses its own set of styles. For example, the key parts of the CSS responsible for the “expand” icon are as follows:

.expand a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1px;
  width: 5px;
  height: 0;
  border-width: 7px 7px 0;
  border-style: solid;
  border-color: transparent #c55500;
  margin-top: -4px;
  /* css3 */
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.expand a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 8px;
  height: 8px;
  border-width: 3px 0 0 3px;
  border-style: solid;
  border-color: #c55500;
  margin-top: -6px;
}

.expand a:hover:before,
.expand a:focus:before,
.expand a:active:before {
  border-color: transparent #730800;
}

.expand a:hover:after,
.expand a:focus:after,
.expand a:active:after {
  border-color: #730800;
}

The demo page contains a full set of user interaction and media player control icons, as well as other common icons. For now, several icons actually require more than one element as CSS 2.1 only specifies 2 pseudo-elements per element that can contain generated content. The CSS3 Generated and Replaced Content Module allows for an unlimited number of pseudo-elements but has yet to be fully implemented in any modern browser.




ico

Making SVG icon libraries for React apps

Using SVG is currently the best way to create icon libraries for apps. Icons built with SVG are scalable and adjustable, but also discrete, which allows them to be incrementally loaded and updated. In contrast, icons built as fonts cannot be incrementally loaded or updated. This alone makes SVG icons the better choice for high-performance apps that rely on code-splitting and incremental deploys.

This post describes how to make a package of React components from a library of SVG icons. Although I’m focusing on React, making any other type of package is also possible. At Twitter I used the approach described here to publish the company’s SVG icon library in several different formats: optimized SVGs, plain JavaScript modules, React DOM components, and React Native components.

Using the icons

The end result is a JavaScript package that can be installed and used like any other JavaScript package.

yarnpkg add @acme/react-icons

Each icon is available as an individually exported React component.

import IconCamera from '@acme/react-icons/camera';

This allows your module bundler to package only the icons that are needed, and icons can be efficiently split across chunks when using code-splitting. This is a significant advantage over icon libraries that require fonts and bundle all icons into a single component.

// entire icon library is bundled with your app
import Icon from '@acme/react-icons';
const IconCamera = <Icon name='camera' />;

Each icon is straightforward to customize (e.g., color and dimensions) on a per-use basis.

import IconCamera from '@twitter/react-icons/camera';
const Icon = (
  <IconCamera
    style={{ color: 'white', height: '2em' }}
  />
);

Although the icons render to SVG, this is an implementation detail that isn’t exposed to users of the components.

Creating components

Each React component renders an inline SVG, using path and dimensions data extracted from the SVG source files. A helper function called createIconComponent means that only a few lines of boilerplate are needed to create a component from SVG data.

import createIconComponent from './utils/createIconComponent';
import React from 'react';
const IconCamera = createIconComponent({
  content: <g><path d='...'></g>,
  height: 24,
  width: 24
});
IconCamera.displayName = 'IconCamera';
export default IconCamera;

This is an example of what the createIconComponent function looks like when building components for a web app like Twitter Lite, which is built with React Native for Web.

// createIconComponent.js
import { createElement, StyleSheet } from 'react-native-web';
import React from 'react';

const createIconComponent = ({ content, height, width }) =>
  (initialProps) => {
    const props = {
      ...initialProps,
      style: StyleSheet.compose(styles.root, initialProps.style),
      viewBox: `0 0 ${width} ${height}`
    };

    return createElement('svg', props, content);
  };

const styles = StyleSheet.create({
  root: {
    display: 'inline-block',
    fill: 'currentcolor',
    height: '1.25em',
    maxWidth: '100%',
    position: 'relative',
    userSelect: 'none',
    textAlignVertical: 'text-bottom'
  }
});

Setting the fill style to currentcolor allows you to control the color of the SVG using the color style property instead.

All that’s left is to use scripts to process the SVGs and generate each React component.

Creating icon packages

A complete example of one way to do this can be found in the icon-builder-example repository on GitHub.

The project structure of the example tool looks like this.

.
├── README.md
├── package.json
├── scripts/
    ├── build.js
    ├── createReactPackage.js
    └── svgOptimize.js
└── src/
    ├── alerts.svg
    ├── camera.svg
    ├── circle.svg
    └── ...

The build script uses SVGO to optimize the SVGs, extract SVG path data, and extract metadata. The example packager for React then uses templates to create a package.json and the React icon components shown earlier.

import createIconComponent from './utils/createIconComponent';
import React from 'react';
const ${componentName} = createIconComponent({
  height: ${height},
  width: ${width},
  content: <g>${paths}</g>
});
${componentName}.displayName = '${componentName}';
export default ${componentName};

Additional packagers can be included to build other package types from the same SVG source. When the underlying icon library changes, it only takes a couple of commands to rebuild hundreds of icons and publish new versions of each package.





ico

JAMA Neurology : Clinical Effectiveness of Direct Oral Anticoagulants vs Warfarin in Older Patients With Atrial Fibrillation and Ischemic Stroke

Interview with Adrian F. Hernandez, MD, MHS, author of Clinical Effectiveness of Direct Oral Anticoagulants vs Warfarin in Older Patients With Atrial Fibrillation and Ischemic Stroke: Findings From the Patient-Centered Research Into Outcomes Stroke Patients Prefer and Effectiveness Research (PROSPER) Study




ico

Illustrated toxicology : with study questions / PK Gupta

Gupta, P. K. (Pawan K.), 1943- author




ico

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




ico

Hollow-structure engineering of a silicon–carbon anode for ultra-stable lithium-ion batteries

Dalton Trans., 2020, 49,5669-5676
DOI: 10.1039/D0DT00566E, Paper
Hongbin Liu, Yun Chen, Bo Jiang, Yue Zhao, Xiaolin Guo, Tingli Ma
Hollow silicon nanotubes were successfully synthesized in situ on a carbon substrate, which effectively accommodate the volume expansion of silicon and exhibit ultra-stable performance as the anode of lithium-ion batteries.
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Chemoselective oxidative addition of vinyl sulfones mediated by palladium complexes bearing picolyl-N-heterocyclic carbene ligands.

Dalton Trans., 2020, 49,5684-5694
DOI: 10.1039/D0DT01144D, Paper
Thomas Scattolin, Claudio Santo, Nicola Demitri, Luciano Canovese, Fabiano Visentin
We have examined in depth the features of oxidative addition of (E)-1,2 ditosylethene on palladium(0) complexes bearing picolyl-N-heterocyclic carbenes.
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Facile synthesis of Mn-doped NiCo2O4 nanoparticles with enhanced electrochemical performance for a battery-type supercapacitor electrode

Dalton Trans., 2020, Advance Article
DOI: 10.1039/D0DT01177K, Paper
To Van Nguyen, Le The Son, Vu Van Thuy, Vu Dinh Thao, Masahito Hatsukano, Koichi Higashimine, Shinya Maenosono, Sang-Eun Chun, Tran Viet Thu
We report the synthesis of manganese-doped nickel cobalt oxide (Mn-doped NiCo2O4) nanoparticles (NPs) by an efficient hydrothermal and subsequent calcination route.
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




ico

Multicolor tunable luminescence and energy transfer of core-shell structured SiO2@Gd2O3 microspheres co-activated with Dy3+/Eu3+ under single UV excitation

Dalton Trans., 2020, Accepted Manuscript
DOI: 10.1039/D0DT00735H, Paper
Jie Chen, Yixin Gao, Haifeng Jiang, Yan Liu, Zhaohui Jin
Optimizing structure and varing doped ions are two main strategies to obtain excellent luminescence performance. Spherical morphology is considered to be the most ideal phosphor structure due to the least...
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Effects of ligand substituents on the single-molecule magnetic behavior of quinonoid-bridged dicobalt compounds

Dalton Trans., 2020, Advance Article
DOI: 10.1039/D0DT00033G, Paper
Xiao-Quan Zhu, Wen-Hai Cao, Shao-Dong Su, Xin-Tao Wu, Tian-Lu Sheng
The SMM behavior weakens until its disappearance with the substituent changing from Br, H to OMe in the quinonoid-bridged dicobalt compounds [(N4Co)2LX](ClO4)2, (X = H, Cl, Br, and OMe).
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




ico

Tin based organic-inorganic hybrid semiconductors with reversible phase transition and dielectric anomaly

Dalton Trans., 2020, Accepted Manuscript
DOI: 10.1039/D0DT01401J, Paper
Zhenhong Wei, Xiuli You, Jiaojiao Yao
Organic−inorganic hybrid materials with perovskite structure have recently attracted tremendous interest due to their structural tunability and rich functional properties, such as phase transition and photoelectric properties. Within this context,...
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

Rhenium and technetium-complexed silicon rhodamines as near-infrared imaging probes for bimodal SPECT- and optical imaging

Dalton Trans., 2020, Accepted Manuscript
DOI: 10.1039/D0DT01084G, Communication
Thines Kanagasundaram, Carsten Sven Kramer, Eszter Boros, Klaus Kopka
Radiolabelled fluorescent dyes are decisive for bimodal imaging and currently in demand for scintigraphic and optical imaging. This powerful method allows the combination of nuclear imaging (e.g. SPECT-imaging) and optical...
The content of this RSS Feed (c) The Royal Society of Chemistry




ico

The governance of credit rating agencies: regulatory regimes and liability issues / Andrea Miglionico, School of Law, University of Reading, UK

Dewey Library - K1096.M54 2019




ico

Natural resources law: a place-based book of problems and cases / Christine A. Klein, University of Florida, Levin College of Law; Federico (Fred) Cheever, University of Denver, Sturm College of Law; Bret C. Birdsong, University of Nevada, Las Vegas, Will

Dewey Library - KF5505.K58 2018




ico

The ultimate vintage unicorn: It's a Bizzarrini, not a Ferrari

You'd be lucky to see one of these obscure Italian-American hybrids in the wild, let alone get your hand on one. But here's why you should, writes




ico

PhD ‘Study of ultra-high charge, sub-picosecond duration, MeV electron beams from laser wakefield accelerators’: University of Strathclyde

£Funded position: University of Strathclyde
For more latest jobs and jobs in Scotland visit brightrecruits.com





ico

Panda nation : the construction and conservation of China's modern icon / E. Elena Songster

Songster, E. Elena, author




ico

[ASAP] Manganese in the Diet: Bioaccessibility, Adequate Intake, and Neurotoxicological Effects

Journal of Agricultural and Food Chemistry
DOI: 10.1021/acs.jafc.0c00641