ies

The favourable thermodynamic properties of Fe-doped CaMnO3 for thermochemical heat storage

J. Mater. Chem. A, 2020, 8,8503-8517
DOI: 10.1039/D0TA02031A, Paper
Open Access
Emanuela Mastronardo, Xin Qian, Juan M. Coronado, Sossina M. Haile
The CaFe0.1Mn0.9O3−δ0 oxide can reversibly release oxygen over a relatively wide range of temperatures and oxygen partial pressures and its favourable thermodynamic properties make it a promising candidate for thermochemical heat storage.
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

An advanced three-dimensionally ordered macroporous NiCo2O4 spinel as a bifunctional electrocatalyst for rechargeable Zn–air batteries

J. Mater. Chem. A, 2020, 8,8554-8565
DOI: 10.1039/D0TA00874E, Paper
José Béjar, Lorena Álvarez-Contreras, Janet Ledesma-García, Noé Arjona, Luis Gerardo Arriaga
A rechargeable ZAB was assembled using a NiCo2O4 3DOM spinel displaying an open circuit potential of 1.44 V, a power density of 101 mW cm−2, and a high durability during charge/discharge cycling (being operated for 21 h).
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

A series of highly stable porphyrinic metal–organic frameworks based on iron–oxo chain clusters: design, synthesis and biomimetic catalysis

J. Mater. Chem. A, 2020, 8,8376-8382
DOI: 10.1039/D0TA02033H, Paper
Gang Liu, Hao Cui, Sujuan Wang, Li Zhang, Cheng-Yong Su
A facile synthesis of a series of Fe–oxo chain-based porphyrinic MOFs (namely M-PMOF-3(Fe), M = Fe, Co, Ni, Cu) has been reported.
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Identifying Raman modes of Sb2Se3 and their symmetries using angle-resolved polarised Raman spectra

J. Mater. Chem. A, 2020, 8,8337-8344
DOI: 10.1039/D0TA01783C, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Nicole Fleck, Theodore D. C. Hobson, Christopher N. Savory, John Buckeridge, Tim D. Veal, Maria R. Correia, David O. Scanlon, Ken Durose, Frank Jäckel
Vibrational symmetry assignments using Raman spectroscopy and density functional theory on oriented crystals also enabling orientation optimisation of thin films.
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Synthesis of metal-free lightweight materials with sequence-encoded properties

J. Mater. Chem. A, 2020, 8,8752-8760
DOI: 10.1039/D0TA03162C, Paper
Adi Azoulay, Jesús Barrio, Jonathan Tzadikov, Michael Volokh, Josep Albero, Christel Gervais, Pilar Amo-Ochoa, Hermenegildo García, Félix Zamora, Menny Shalom
A general synthesis of phosphorus–nitrogen–carbon materials with highly tunable elemental composition and spatial organization as well as structural, electronic, and thermal stability properties is reported.
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Understanding the mechanism of byproduct formation with in operando synchrotron techniques and its effects on the electrochemical performance of VO2(B) nanoflakes in aqueous rechargeable zinc batteries

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/D0TA00858C, Paper
Qiang Pang, Hainan Zhao, Ruqian Lian, Qiang Fu, Yingjin Wei, Angelina Sarapulova, Junqi Sun, Chunzhong Wang, Gang Chen, Helmut Ehrenberg
The byproduct protects the vanadium-based positive electrode of ARZBs and facilitates Zn2+ insertion into the electrode.
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




ies

UV-cured eutectic gel polymer electrolytes for safe and robust Li-ion batteries

J. Mater. Chem. A, 2020, 8,8485-8495
DOI: 10.1039/D0TA01901A, Paper
Matthew W. Logan, Spencer Langevin, Bing Tan, Adam W. Freeman, Christopher Hoffman, Douglas B. Trigg, Konstantinos Gerasopoulos
We report UV-cured eutectic gel polymer electrolytes that improve cell performance, non-flammability, and water tolerance compared to the liquid solvent.
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

A one-step rapid synthesis of TS-1 zeolites with highly catalytically active mononuclear TiO6 species

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/C9TA13851J, Paper
Wenjing Xu, Tianjun Zhang, Risheng Bai, Peng Zhang, Jihong Yu
The modulation and determination of the coordination environments of Ti active sites in titanosilicate zeolites are key challenges in the rational design of high-performance heterogeneous catalysts.
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




ies

Decoupled electrolytes towards enhanced energy and high temperature performance of thermally regenerative ammonia batteries

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/D0TA03236K, Paper
Weiguang Wang, Gequn Shu, Xiuping Zhu, Hua Tian
An electrolyte decoupling strategy is proposed for ammonia batteries to restrain the self-discharge and enhance energy density as well as power generation at high temperatures.
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




ies

Optical in-situ monitoring during the synthesis of halide perovskite solar cells reveals formation kinetics and evolution of optoelectronic properties

J. Mater. Chem. A, 2020, Accepted Manuscript
DOI: 10.1039/D0TA01237H, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Klara Suchan, Justus Just, Pascal Becker, Eva Lisa Unger, Thomas Unold
The formation mechanism and the evolution of optoelectronic properties during annealing of chlorine-derived methylammonium lead iodide (MAPbI3-xClx) is investigated in detail combining in-situ und ex-situ optical and structural characterization. Using...
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Effect of the interfacial protective layer on the NaFe0.5Ni0.5O2 cathode for rechargeable sodium-ion batteries

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/D0TA02837A, Paper
Iqra Moeez, Dieky Susanto, Ghulam Ali, Hun-Gi Jung, Hee-Dae Lim, Kyung Yoon Chung
Ni-based cathode materials have received significant attentions as the advanced electrode materials for NIBs. However, they suffered from the rapid capacity fading due to the side reactions mainly occurring at cathode-electrolyte interphase (CEI).
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




ies

Highly efficient and durable aqueous electrocatalytic reduction of CO2 to HCOOH with a novel bismuth–MOF: experimental and DFT studies

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/D0TA00384K, Paper
Xurui Zhang, Yanxing Zhang, Qingqing Li, Xiaodong Zhou, Qingyu Li, Jin Yi, Yuyu Liu, Jiujun Zhang
Electrochemical reduction of carbon dioxide (ERCO2) to low-carbon fuel and useful chemicals, which can simultaneously store renewable energy and recover CO2 in a green manner, has proven to be a viable energy storage and conversion strategy.
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




ies

High Performance Potassium-Sulfur Batteries and Its Reaction Mechanism

J. Mater. Chem. A, 2020, Accepted Manuscript
DOI: 10.1039/D0TA03602A, Paper
Xinxin Zhao, Youran Hong, Mingren Cheng, Shiwen Wang, Lei zheng, Jiangwei Wang, Yunhua Xu
Benefiting from the high natural abundance and high theoretical specific capacities of potassium and sulfur, potassium-sulfur (K-S) battery is deemed as a promising energy storage system for large-scale energy storage...
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Recent progress in carbonyl-based organic polymers as promising electrode materials for lithium-ion batteries (LIBs)

J. Mater. Chem. A, 2020, Advance Article
DOI: 10.1039/D0TA03321A, Review Article
Hao Wang, Chang-Jiang Yao, Hai-Jing Nie, Ke-Zhi Wang, Yu-Wu Zhong, Pengwan Chen, Shilin Mei, Qichun Zhang
Lithium-ion batteries (LIBs) have been demonstrated as one of the most promising energy storage devices for applications in electric vehicles, smart grids, large-scale energy storage systems, and portable electronics.
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




ies

Understanding the structural phase transitions in lithium vanadium phosphate cathode for lithium-ion batteries

J. Mater. Chem. A, 2020, Accepted Manuscript
DOI: 10.1039/C9TA12435G, Paper
Woong Oh, Hyunyoung Park, Bong-Soo Jin, Ranjith Thangavel, Won-Sub Yoon
Developing high-energy lithium-ion batteries with long stability is critical for realizing sustainable energy applications; however, it remains highly challenging. Exploring multi-redox based electrode materials can help to achieve high capacity...
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Rational Design of Well-Dispersed Ultrafine CoS2 Nanocrystals in Micro-Mesoporous Carbon Spheres with Synergistic Effect for High-Performance Lithium-Sulfur Batteries

J. Mater. Chem. A, 2020, Accepted Manuscript
DOI: 10.1039/D0TA02692A, Paper
Zhanshuang Jin, Ming Zhao, Tianning Lin, Bingqiu Liu, Qi Zhang, Lingyu Zhang, Lihua Chen, Lu Li, Zhong-Min Su, Chungang Wang
The physical confinement and chemical catalysis of lithium polysulfides (LiPSs) are effective ways to improve the performance of lithium-sulfur (Li-S) batteries. How to effectively combine physical confinement and chemical catalysis...
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Catalyst design strategies for stable electrochemical CO2 reduction reaction

J. Mater. Chem. A, 2020, Accepted Manuscript
DOI: 10.1039/D0TA02633F, Review Article
Woong Choi, Da Hye Won, Yun Jeong Hwang
The gradual increase in the atmospheric CO2 concentration due to the combustion of fossil fuels is an urgent issue that poses a threat to human beings. Recently, the electrochemical CO2...
The content of this RSS Feed (c) The Royal Society of Chemistry




ies

Samsung Galaxy S20 Plus review: Wholesome package justifies premium pricing

Several major upgrades to predecessor Galaxy S10 Plus but the same price tag of Rs 73,999 make the Galaxy 20 Plus a worthy premium smartphone




ies

Live! At the Library Event Series Launched

The Library of Congress is extending its public hours on Thursday evenings and will feature regular live programming for visitors as part of a new initiative, Live! At the Library, beginning April 2 to showcase the broad range of literature, poetry, art, music, digital collections and other holdings at the national library.

The Library’s Thomas Jefferson Building and all exhibitions at the Library – currently featuring the long fight for women’s voting rights and Rosa Parks’ groundbreaking role in civil rights – will be open for extended hours on Thursday evenings from 5 to 8 p.m. every week. Exhibitions and programs will remain free and open to everyone. The Main Reading Room will be open for research during this time, and visitors and researchers will have the opportunity to register for reader cards. Other selected reading rooms may also be open on Thursday nights as a part of evening programming.

Click here for more information.

Request ADA accommodations five business days in advance at (202) 707-6362 or ADA@loc.gov.




ies

Useful SQL Queries To Clean Up Your WordPress Database

After years of usage, your WordPress database can contain weird characters, be filled with data you don’t need anymore, and so on. In this article, you will learn about SQL queries to clean up your WordPress database. Two things to note: First, any of these queries should be preceded by a backup of your whole …

Useful SQL Queries To Clean Up Your WordPress Database Read More »




ies

Overture to Candide: Fancy free ; Anniversaries for orchestra ; Overture to Wonderful town / Bernstein

MEDIA PhonCD B458 insmu




ies

Changes: 64 studies for 6 harps / James Tenney

MEDIA PhonCD T257 cha




ies

Masters legacy series. Emmet Cohen ; featuring Ron Carter, Evan Sherman

MEDIA PhonCD J C662 mas v.2




ies

Endangered species / Alvin Curran

MEDIA PhonCD P C936 end




ies

"We, like Salangan swallows...": a choral gallery of Morton Feldman and contemporaries / the Astra Choir ; John McCaughey, director

MEDIA PhonCD As89 we




ies

Living music / Kernis, Fine, Elkies, Barker, Coleman

MEDIA PhonCD D124 liv




ies

Black composers series, 1974-1978.

MEDIA PhonCD F877 bla




ies

Chinese fantasies / Fangye Sun, violin

MEDIA PhonCD Sun71 chi




ies

Web Tools #350 - JS Libraries, Testing Tools, Site Builders

Web Tools Weekly

Issue #350 • April 2, 2020

Advertisement via Syndicate
Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.
Try Team.video for FREE!

If you've never looked into using the HTML Drag and Drop API, I've created a super simple code example that uses the least code possible to demonstrate how simple it is to allow one element to be dragged into another one on a web page.

First, here's the HTML:

<div id="box" draggable="true"></div>
<div id="dropzone"></div>

Notice the draggable attribute set to true, and the IDs that I'll use as hooks in the JavaScript. Here's the JavaScript:

let box = document.getElementById('box'),
    dropzone = document.getElementById('dropzone');

dropzone.addEventListener('dragover', function (e) {
  e.preventDefault();
});

dropzone.addEventListener('drop', function (e) {
 
e.target.appendChild(box);
});

Here I'm listening for the dragover and drop events to ensure that the element gets moved properly. The move itself is accomplished using the well-known appendChild() method.

And that's it! Aside from the variable declarations, it's just 6 lines of JavaScript. This code on its own isn't going to do a whole lot. All it does is drag the 'box' element into the 'dropzone' element.

You can see this in action in this CodePen demo, which also includes a little extra code that does the following:

  • Adds some styles to indicate that the box is draggable and that the dropzone is being dragged over
  • Listens for the dragend event to remove styles indicating that the box is draggable and disables the 'dragged over' styles
  • Switches the draggable attribute to false
There's a lot more that I could discuss about the API but this should suffice to give you a starting point, after which you can use a resource like the one on MDN to go deeper.
 

Now on to this week's tools!
 

JavaScript Libraries and Frameworks

Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.   via Syndicate

p5.js
Now at version 1+. JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, and beginners.

Hex Engine
A modern 2D game engine for the browser, written in TypeScript and designed to feel similar to React.

LInQer
The C# Language Integrated Queries ported for JavaScript for amazing performance.

Type Route
A flexible, type safe routing library, built on top of the same core library that powers React Router.

Angular
The popular framework is now a version 9.

Mirage JS
An API mocking library that lets you build, test and share a complete working JavaScript application without having to rely on any back-end services.

Solid
A declarative, efficient, and flexible JavaScript library for building user interfaces that doesn't use a virtual DOM.

Alpine.js
A rugged, minimal framework for composing JavaScript behavior in your markup.

BlockLike.js
An educational JavaScript library that bridges the gap between block-based and text-based programming.

Testing and Debugging Tools

Beginner JavaScript by Wes Bos is 50% Off!
The master package includes 88 HD videos, part of 15 modules – and course updates are free forever.   promoted 

Screenshot Cyborg
Take a full-page screenshot of a webpage, up to 50 URLs at once. Choose to render the screenshot for desktop, tablet, or phone.

Stryker Mutator
A testing toolkit for JavaScript (also Scala and C#) that uses mutation testing, which means tests are run after bugs, or mutants, are automatically inserted into your code.

Cypress
Now at version 4+. Fast, easy, and reliable end-to-end testing for anything that runs in a browser.

Color Contrast Checker
Online tool that analyses and suggests colors that meet the required contrast ratio. Creates shareable links for chosen contrast checks.

LeakLooker X
Discover, browse and monitor database or source code leaks.

Animockup
Online prototype/animation tool to create animated mockups in your browser and export as video or animated GIF.

single-spa Devtools Inspector
A Firefox/Chrome devtools extension to provide utilities for helping with applications using single-spa (framework for front-end microservices).

micro-jaymock
Tiny API mocking microservice for generating fake JSON data.

The Contrast Triangle
Tool for simultaneously checking text, link, and background contrast. This one also has shareable links for specific tests.

Shieldfy
Automated security assistant that integrates with GitHub to show you potential vulnerabilities in your code.

puppeteer-in-electron
Use puppeteer to test and control your Electron application.

Site Builders, CMS's, Static Sites, etc.

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

LiveCanvas
Pure HTML and CSS WordPress builder that uses Bootstrap 4 and helps pages achieve better SEO results.

React Blog
A blogging system built on React where the blog posts are individual GitHub issues.

Calcapp
A cloud-based app designer enabling you to create apps without having to do any programming.

Factor JS
A JavaScript CMS platform that lets you build powerful and professional JavaScript applications fast.

NoCo
Enterprise-grade, no-code platform for Node or React developers. Generate code for most of your app, and only write the parts that make your product unique.

Sitebot
Create a personal website in a few minutes by just chatting. Seems to require Facebook Messenger login.

Webcodesk
A powerful visual development tool for building React apps. It's tightly coupled to the React API, so the knowledge translates directly.

BuilderX
A browser based design tool that codes React Native and React for you.

gatsby-plugin-next-seo
A plug-in that makes managing your SEO easier in Gatsby projects.

lego
A fast static site generator that generates optimised, performant websites.

Kodular
A drag-and-drop no-code app builder.

A Tweet for Thought

This thread establishes that password strength indicators are flawed.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

If a tech conference that you were going to attend has been cancelled, you might want to check out 40 Conferences Gone Virtual, by Spokable, which is tracking which conferences are happening online.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




ies

Web Tools #351 - JS Utilities, Media Tools, Uncategorizables

Web Tools Weekly

Issue #351 • April 9, 2020

Advertisement via Syndicate
Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.
Try Team.video for FREE!

Last week I covered a really simple introduction to the HTML Drag and Drop API, for those of you who have never used it before. The demo has the minimum code required to produce a drag and drop example. Let's take that a little further and incorporate the dataTransfer object, which has methods and properties that can be used in the midst of a drag and drop operation.

First, I can use the setData() method of the dataTransfer object, which I'll incorporate in the midst of my event listener when listening for a dragstart event (an event I didn't need to use in the previous demo). The relevant line looks something like this (where "e" is the event object):

e.dataTransfer.setData('text/html', box.innerHTML)

As you can see, the setData() method takes two arguments: The data type and the data itself. In this case, the data is simply the innerHTML of the dragged element. This is the first step in transferring data: Setting the data, which happens when the element is initially dragged.

The next key line in my code will be using the getData() method. In this case, I'll use it when the drop event is triggered on my drop area element:

this.style.background = e.dataTransfer.getData('text/html')

The data that I'll be grabbing is text that represents a valid CSS color keyword, which will be inside each draggable element. The data could be a lot of things, but in this case I'm just using some text for demo purposes. And as you can see, the text sets the background color of the drop area element.

See the full working demo here

There's naturally a lot more code there, but it's fairly straightforward. I'm looping over the draggable boxes to add the event listeners to each one. The setData() and getData() methods are used within that loop to obtain and apply the color info.

Try dragging any of the boxes into the drop area to see the background of the drop area change. You can even try changing the HTML to use different colors (any valid CSS color value will work). As long as the color is valid, the background of the drop area element will change to that color.

And that's a basic way to use the dataTransfer object when working with the Drag and Drop API.
 

Now on to this week's tools!
 

JavaScript Utilities

Working From Home? Try Team.Video
Team.video makes it easier and faster for remote teams to work together by offering user friendly video meetings with agendas, collaborative notes, and emoji responses. No download required and it’s free to use.   via Syndicate

Van11y
Bit of an older project that I just discovered. A collection of customizable, accessible scripts for rich interface elements, built using progressive enhancement.

Rsup Progress
A simple progress bar with promises support.

Heapify
A very fast JavaScript priority queue, implemented using a binary heap, with no dependencies.

Nano Events
Simple and tiny (72 bytes) event emitter library for JavaScript.

Chardin.js
Simple overlay instructions for your apps. Kind of like those 'app tour' plugins, but just a single overlay pointing stuff out.

Serialize JavaScript
Serialize JavaScript to a superset of JSON that includes regular expressions and functions.

FullCalendar
A JavaScript calendar plugin, great for displaying events with drag-and-drop capabilities and an API for extending its functionality.

defu
Utility to recursively assign default properties.

Clack
A modern keyboard shortcut library written in Typescript.

Sharect.js
A lightweight (2.9Kb gzipped and minified) JavaScript library to let users share text selections to social networks in desktop browsers (like Medium).

Uppload
A better JavaScript image uploader. Highly customizable with 30+ plugins, open-source, and can be used with any file uploading back end.

Media Tools (SVG, Video, Audio, etc.)

Beginner JavaScript by Wes Bos is 50% Off!
The master package includes 88 HD videos, part of 15 modules – and course updates are free forever.   promoted 

mediasoup
Cutting-edge WebRTC video conferencing. The perfect choice for building multi-party video conferencing and real-time streaming apps.

gifcap
Create animated GIFs in your browser from a screen recording. Client-side only, no data is uploaded.

Tabler Icons
A set of over 400 free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke.

Video Puppet
Using a markdown file, create a video (with captions) from a chosen set of images, audio files and smaller video clips.

Exifr
The fastest and most versatile JavaScript EXIF reading library.

Seamless Pattern Generator
Create seamless, repeatable royalty free patterns for your website, or to download as SVG, JPEG or PNG.

Resoundly
Produce a podcast simply by typing the content and this app will convert it to speech.

Spline
Easily create 3D web experiences without coding. Build and iterate fast with production-ready results.

Photo Stream
Self-hosted, super simple photo stream. Built with Ruby and seems to require either Netlify or Jekyll.

Ionicons
Premium designed icons for use in web, iOS, Android, and desktop apps. Support for SVG and web font.

The Uncategorizables

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

Brim
Desktop application to efficiently search large packet captures and logs from Zeek (the network security monitoring tool).

StartNames
Produces brandable ideas for domain names in a Twitter stream, based on actual domains that are for sale.

WMS Everywhere
Chrome extension to help you research search volume, advertising cost per click, and related keywords inside Google search results – free and on-demand.

PDF.js Express
Add a PDF.js viewer with out-of-the-box annotation, PDF form fill, and signing. Based on Mozilla's PDF.js (for parsing and rendering PDFs).

AsyncAPI
Open source tools to easily build and maintain your event-driven architecture. All powered by the AsyncAPI specification, the industry standard for defining asynchronous APIs.

Weglot
Allows you to make your website multilingual in minutes and to manage all your translations effortlessly.

Our Site Updates
An easy way to post updates to your website (e.g. via easy to install banners) and keep visitors informed.

RightFont
An innovative, beautiful and professional font manager app for Mac, helping designers preview, install, sync, and manage their font files.

PingPong
Remote user interviews and user tests made simple.

Extract Article Text
Lets you easily extract boilerplate-free text from news articles, blogs, press releases, and company pages with a single API request.

Commerce
Drop‑in e‑commerce for any website with a single line of code. Serverless, real‑time, and API‑first.

A Tweet for Thought

When you're living in a tech bubble like many of us are, it's hard to believe there are people this naive.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

This is amazing: Open and Shut lets you send messages in Morse code by repeatedly slamming your laptop shut. So if you've been kidnapped and forced to give up all your passwords or something...?

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




ies

Web Tools #352 - CSS Tools, JS Utilities, Build Tools

Web Tools Weekly

Issue #352 • April 16, 2020

Advertisement via Paved
Real-Time Chat at Your Fingertips
Stream Chat offers a variety of SDKs and pre-built components to help integrate real-time chat and messaging into your application in as little as a couple of days. Sign up now for a free 28-day trial – no credit card required.
Start a Free Trail Today!

Continuing on the theme of dealing with HTML's Drag and Drop API, another thing you're able to do with this API is set a custom image that appears during any drag operation.

Normally when you drag a draggable element, the browser will by default display a mini version of the dragged object, which appears next to the user's cursor. In most cases, this is acceptable and is probably the desired behavior. But if you want you can change that image using the setDragImage() method of the dataTransfer object.

Here's the code:

let img = new Image();
img.src = 'my-image.png';

box.addEventListener('dragstart', function (e) {
  e.dataTransfer.setDragImage(img, 92, 92);
});

Notice a few things:

  • I'm creating an image using the Image() constructor. I could also use document.createElement('img') for this
  • I'm setting the image's src attribute to point to my image
  • I'm using setDragImage() inside the event listener for the dragstart event
The setDragImage() method takes three arguments, all mandatory:
  • The image to use during the drag operation
  • The horizontal (x) offset relative to the mouse pointer
  • The vertical (y) offset relative to the mouse pointer
View this in action on CodePen

In my CodePen example, I'm using a portion of the Web Tools Weekly newsletter header/logo as the drag image. I'm also ensuring that the mouse pointer is centered over the image by using x/y coordinates equal to half the image's dimensions.

Of course, in this example, the image isn't relevant to the drag operation, so there's no image appearing in the drop zone or anything like that. This is just a simple example that shows you how to change the drag image during a drag operation.

Now on to this week's tools!
 

CSS and HTML Tools

Real-Time Chat at Your Fingertips
Stream Chat offers a variety of SDKs and pre-built components to help integrate real-time chat and messaging into your application in as little as a couple of days. Sign up now for a free 28-day trial – no credit card required.  via Paved 

CSS Scan
Now at version 2. Chrome or Firefox extension. An alternative to using inspect element to edit and debug CSS. Check the CSS of any element on hover, instantly, and copy its entire rules with a single click.

CSS Color Gradient Generator
Customize your own gradient or choose a gradient from a predefined gallery.

Color Ninja
A color palette and color scheme manager for Mac.

BEM Naming Cheat Sheet
A nicely designed guide to using the BEM naming method for your stylesheets.

sass-link
Use SCSS almost like regular CSS. It parses the link and style tags of your document, compiles them using sass.js and injects the compiled CSS back into the document.

CSS Builder
Live CSS editing tool to fiddle with various CSS properties including shadows, border-radius, filters, typography, and lots more.

MVP.css
A minimalist stylesheet for HTML elements. No class names, no frameworks, just semantic HTML and you're done.

tailwindcss-standalone
Standalone build of Tailwind CSS that runs in the browser. I'm assuming the idea here is that you don't need a build process to use it.

Buttono
A flexible Sass mixin for creating BEM-style buttons.

CSS Specificity Calculator
Interactive tool to better understand CSS specificity. Provides a specificity score along with number of IDs, classes, and element selectors used. Also allows deep linking to whatever selector you enter.

glaze
CSS-in-JS micro-library for making design systems approachable.

JavaScript Utilities

ES6 for Everyone by Wes Bos is 50% Off!
The master package includes 77 HD videos, part of 21 modules – and course updates are free forever.   promoted 

Flip
A nice looking flip-animation timer component that you can add to your website to include a countdown (e.g. for a product launch).

ASScroll
A hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll. See the two example links in the readme for a demo, which is pretty cool but definitely not for every project.

prerender.js
Another option to preload links before the user clicks them.

Universal Model
A unified state management solution for Angular, React, Svelte, and Vue.

Zod
TypeScript-first schema validation with static type inference.

Prerender
Allows your JavaScript website to be crawled perfectly by search engines. This tool renders the JavaScript in a browser, saves the static HTML, and you return that to the crawlers.

gretchen
Making fetch happen in TypeScript.

sort-isostring
A tiny (110B) and fast utility to sort ISO 8601 date strings.

uid
A tiny (134B) and fast utility to generate randomized output strings of fixed length using lowercase alphanumeric characters.

Checkboxland
Peak weirdness here. A JavaScript library for rendering anything as HTML checkboxes. Yes, that's right.

Routine
An inline, promise-based wrapper around Web Workers.

Build Tools, Bundlers, etc.

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

npm Dependency Visualizer
Enter the name of any npm package and this tool will display a visual showing its dependencies.

Pipedream
An integration platform built for developers. Develop any workflow, based on any trigger. Workflows are code, which you can run for free. No server or cloud resources to manage.

Rome
An experimental JavaScript toolchain. A compiler, linter, formatter, bundler, testing framework, and more.

Destiny
Prettier for File Structures. Scans a folder for all the files in it and creates a graph based on how the JavaScript/TypeScript files import each other.

Prettier
The popular code formatting tool is now at version 2.

Worth It
Enter a URL and this tool will analyze a page to determine how much less JavaScript is downloaded in modern browsers as a result of it using the module/nomodule pattern.

rollup.js
The popular module bundler for JavaScript apps is now at version 2+.

scriptlint
Enforceable standards for your package.json scripts – like ESLint for npm run. The idea here is to o enable people to use memorable and consistent script names across their projects.

Tray.io
Quickly integrate software applications using powerful automated workflows. Easily build and streamline processes using a beautifully designed visual workflow editor.

Unminify
Free online tool to unminify (unpack, deobfuscate) JavaScript, CSS, and HTML code, making it readable and pretty.

A Tweet for Thought

Kent C. Dodds provides a JavaScript quick tip that uses destructuring but it's interesting to read the many responses in the thread. I tend to be on the side of the responders in cases like this. Sometimes clever code is not readable or maintainable code.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Bizarrely, someone has created a project that aims to name each of the web's 16.7 million colors: colornames.org. I guess with so much remote time on our hands, this is as good a time as any to attempt this.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




ies

Web Tools #355 - Frameworks, Testing Tools, JS Utilities

Web Tools Weekly

Issue #355 • May 7, 2020

Promotion
123FormBuilder Gold Plan: Lifetime Subscription
For a one-time fee of $39.99 (usually $299.88/year) ‬you get a lifetime subscription to the gold plan (20 forms/month, 5000 submissions/month). A web-based form and survey builder with a no-code drag-and-drop editor, 1000+ form templates, integration with Google Sheets, MailChimp, Dropbox, and more.
Check it Out Here

When creating interfaces using HTML's Drag and Drop API (various aspects of which I've covered in recent issues), it's important to note that some elements on a web page are already 'draggable' by default. And you've no doubt noticed this. The spec explains that the following elements are draggable by default:

  • A text selection
  • An image
  • An `a` element with an `href` attribute
Every element on the page that doesn't explicitly have the draggable attribute set has a draggable value of "auto". But that doesn't mean you can check for a value of "auto". As the spec says, if an element's draggable attribute is not set to either true or false:

"...the element's draggable content attribute has the state auto. If the element is an img element, an object element that represents an image, or an a element with an href content attribute, the draggable IDL attribute must return true; otherwise, the draggable IDL attribute must return false."

In other words, the browser will automatically set the draggable value to true or false based on what kind of element it is. Try this CodePen demo to see the effect in action. Notice a few things in the demo:

  • No draggable attributes on the three elements
  • I'm using the Window.getSelection() method to get the selected text after the drag operation begins
  • I'm using preventDefault() when the drop is made to ensure the browser doesn't think something suspicious is happening. If I didn't include this, you'd see a warning before the browser tries to navigate to whatever you drag.
Try selecting any one of the three colors in full, or even a portion of the text in those colors to find another valid color value (e.g. "Pink" inside the color "HotPink"). Notice the background of the dropzone will change accordingly.
As a side point, you can select any random piece of text on that page and you'll see the browser try to figure out what to do with the text if you drop it onto the dropzone. This is similar to dragging an image (which is naturally draggable) into a new page and then the browser visits the URL of that image.

BTW - if you like these kinds of JavaScript tips, you'll love my e-books bundle.
 

Now on to this week's tools!
 

Front-end Frameworks

A No-Code Drag and Drop Form Builder
Get a lifetime membership to 123FormBuilder's Gold plan for a one-time fee of $39.99 (usually $299.88/year). 20 forms/month, 5000 submissions/month, 1000+ form templates, integration with Google Sheets, MailChimp, Dropbox, and more.  promoted 

HTML / Sass Jumpstart
Minimal, themeable, and scalable Sass/HTML template site. Powered by node-sass and includes stylelint, Prettier, and Autoprefixer, hot-reload via Browsersync.

H3
A microframework to build client-side single-page applications (SPAs) in modern JavaScript.

Fast Cart
A Woocommerce PWA platform for building fast loading, mobile-friendly e-commerce websites.

98.css
A CSS library for building retro interfaces that look like Windows 98.

Shorthand
A utility-based CSS framework that allows you to make unique and modern designs without writing any CSS.

Reactron
A tiny Electron project configured to work with React as the front end. The project has the minimum code necessary to start a new app.

Orbit
An open source design system that includes a whole slew of components and utilities for use in your next travel-based app or website.

vue-composable
General purpose Vue Composition API composable and reactive components written in TypeScript.

Hook
A dark HTML landing page template built with the aforementioned Shorthand CSS framework.

LitElement Starter Template
A minimal starter template for a web components app built with LitElement, TypeScript, and Parcel for bundling.

Reach UI
A set of React components to build accessible React-based design systems.

Testing and Debugging Tools

ES6 for Everyone by Wes Bos is 50% Off!
The master package includes 77 HD videos, part of 21 modules – and course updates are free forever.   promoted 

Eruda
Now at version 2+. A console for testing and debugging on mobile browsers.

CursedChrome
This can be used for malicious purposes, so be wary. A Chrome-extension implant that turns victim Chrome browsers into fully-functional HTTP proxies, allowing you to browse sites as your victims.

postMessage-tracker
A Chrome extension to track postMessage usage (URL, domain, and stack) both by logging using CORS and also visually as an extension icon.

Tempomat
Native macOS app for monitoring continuous integration systems.

Will it CORS?
Test if a URL is CORS friendly (i.e. it's safe to send and the response can be read).

Pointer Latency
Tests the delay of pointermove events in the current web browser and demonstrates the usefulness/uselessness of pointer prediction.

axios
A well-known tool but I've never included it here. A Promise-based HTTP client for the browser and Node.

FinDOM-XSS
A fast and simple DOM based XSS vulnerability scanner via a Shell script.

EventReduce Browser Demo
A browser demo where the EventReduce algorithm is used in different browser databases so you can test out the performance gains of different queries.

Insomnia
Now at version 7+. API design platform plus REST and GraphQL client.

JavaScript Utilities

Advanced React & GraphQL by Wes Bos is 50% Off!
The master package includes 68 HD videos, part of 10 modules – and course updates are free forever.   promoted 

emoji-regex
A regular expression to match all Emoji-only symbols as per the Unicode Standard.

Hegel
An advanced static type checker for JavaScript with optional type annotations and is able to prevent runtime type errors.

Rosetta
A general purpose internationalization library in 292 bytes.

SAMD
A tiny, static AMD API implementation that allows including AMD modules in regular script tags.

Flipswitch.js
Pure ES6 library for clipping fixed positioned elements on scroll.

useMemoValue()
Reuse the previous version of a value unless it has changed.

Notyf
A small (~3KB) JavaScript library for toast notifications. Responsive, accessible, dependency-free, and easy to integrate with React, Angular and Vue.

gen-esm-wrapper
CLI tool that makes it easier for module authors to support both ES modules and CommonJS modules for Node.js.

prray
'Promisified' Array, compatible with normal arrays, but comes with support for async methods (e.g. mapAsync).

qrcode-generator
QR code generator implementation in JavaScript, Java, and more.

A Tweet for Thought

In case you wanted to know how long it takes to load your Twitter timeline over a real 56k connection.
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Miss the office? Say no more.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@WebToolsWeekly
PayPal.me/WebToolsWeekly




ies

[ASAP] Efficient Synthesis of 1,4-Thiazepanones and 1,4-Thiazepanes as 3D Fragments for Screening Libraries

Organic Letters
DOI: 10.1021/acs.orglett.0c01230




ies

[ASAP] Studies of the Enantiocontrolled Synthesis of the C(10)–C(25) Subunit of Amphidinolide C

Organic Letters
DOI: 10.1021/acs.orglett.0c01177




ies

BMW launches 8 Series Gran Coupe at Rs 1.3 crore, M8 Coupe at Rs 2.15 crore in India

The BMW 8 Series Gran Coupe is powered by a 3-litre, 6-cylinder in-line BSVI petrol engine. This is the most luxurious sports coupe ever built by BMW, the company said in a statement




ies

The strange case of Dr. Couney: how a mysterious European showman saved thousands of American babies / Dawn Raffel

Browsery RJ250.R355 2018




ies

A play of bodies: how we perceive videogames / Brendan Keogh

Browsery GV1469.34.P79 K46 2018




ies

Shadow libraries: access to educational materials in global higher education / edited by Joe Karaganis

Browsery Z286.S37 S48 2018




ies

The anxious mind: an investigation into the varieties and virtues of anxiety / Charlie Kurth

Browsery B815.K87 2018




ies

Stories we live and grow by: (re)telling our experiences as Muslim mothers and daughters / Muna Hussien Saleh

Browsery HQ755.85.S25 2019




ies

A common table: 80 recipes and stories from my shared cultures / Cynthia Chen McTernan

Browsery TX724.5.A1 M38 2018




ies

Black is the body: stories from my grandmother's time, my mother's time, and mine / Emily Bernard

Browsery E185.97.B337 A3 2019




ies

Bottom of the pot: Persian recipes and stories / Naz Deravian ; photography by Eric Wolfinger

Browsery TX725.I7 D47 2018




ies

Insomniac dreams: experiments with time / by Vladimir Nabokov ; compiled, edited, & with commentaries by Gennady Barabtarlo

Browsery PS3527.A15 Z46 2018




ies

從滬港通到深港通 : 互聯互通與香港新機遇 = Shanghai-Hong Kong Stock Connect and Shenzhen-Hong Kong Stock Connect : opportunities for Hong Kong / 編著彭琳, 梁海明.

Location Multiple Locations
Call No. HG5802 .P46 2017




ies

Singularities of mappings: the local behaviour of smooth and complex analytic mappings / David Mond, Juan J. Nuño-Ballesteros

Online Resource




ies

A comprehensive introduction to sub-Riemannian geometry: from the Hamiltonian viewpoint / Andrei Agrachev (Scuola Internazionale Superiore di Studi Avanzati (SISSA), Trieste), Davide Barilari (Université Paris Diderot, Paris), Ugo Boscain (Centre Nat

Dewey Library - QA671.A47 2020




ies

Stochastic game strategies and their applications / by Bor-Sen Chen

Online Resource




ies

Decision making theories and methods based on interval-valued intuitionistic fuzzy sets Shuping Wan, Jiuying Dong

Online Resource




ies

The Koopman operator in systems and control: concepts, methodologies, and applications / Alexandre Mauroy, Igor Mezić, Yoshihiko Susuki, editors

Online Resource