Web Tools #378 - JS Utilities, Media/SVG, Databases

Web Tools Weekly
WEB VERSION
What a Tool!

Issue #378 • October 15, 2020

The only thing I'll mention in this week's intro is a thought-provoking article published three years ago: How I rediscovered my love for JavaScript after throwing 90% of it in the trash by Joel Thoms. I think it's a good read for any JavaScript developer, but I strongly disagree with the majority of it.

In principle, the author's intentions to narrow down his use of the language to just a modern set of 'good parts' is great. I strongly encourage the same thing. And I'm glad he promotes functional programming. Unfortunately, much of it steers you towards utility libraries as alternatives and some questionable code decisions that I feel can make code harder to read and maintain.

Of course, not everyone will agree with me and maybe the author has changed his views on some of that today. But I do think it's good to get a different perspective on coding and maybe get out of our own 'best practices' echo chamber and take a fresh look once in a while.

Introduction to Functional Programming

And as a side point, the author links to a free course on functional programming that you might find useful, so that's cool!


Now on to this week's tools!

JavaScript Utilities

sysend.js
A small library that allows you to send messages between pages that are open in the same browser. It also supports cross-domain communication and has no dependencies.

big.js
A small, fast, and easy-to-use library for arbitrary-precision decimal arithmetic.

better-scroll
JavaScript plugin that attempts to solve certain scrolling issues that happen on mobile, for example with scrolling lists.

myjs
A small set of tiny utilities to make some tasks simpler. Includes utilities for cookies, query strings, data validation, slugify, local storage, and more.

Summernote
A super simple WYSIWYG editor built with Bootstrap.
 
Summernote

Importabular
Minimal Excel-like spreadsheet component that's mobile friendly and under 5kb.

a18n
Automated internationalization solution for JavaScript/TypeScript/React. Wraps and extracts text in js/ts/jsx/tsx files using AST manipulation, making adding internationalization support a breeze.

vanilla-colorful
A tiny color picker custom element for modern web apps.

nestie
A tiny (211 bytes) and fast utility to expand a flattened object whose keys are delimited/condensed representatives of multiple levels.

Reatom
A declarative and reactive state manager, designed for both simple and complex applications.

highlight.js
The popular code highlighter (which I personally use on my main website) is now at version 10+.
 
Recommended Courses for Developers:

JSON, Databases, GraphQL, etc.

Tech Productivity
A brief weekly newsletter for tech professionals. Features articles, tips, and tools for improved productivity.   promoted

GraphQL Genie
Pass in your GraphQL type definitions and get a fully featured GraphQL API with referential integrity, inverse updates, subscriptions, and role based access control that can be used client side or server side.

jsonapi-react
A minimal JSON:API client and React hooks for fetching, updating, and caching remote data.

dBForge Studio
GUI tools for relational databases. Choose your Studio (for SQL Server, Oracle, MySQL, or PostgreSQL) to take power of database development, management, and administration.

Octo CLI
Expose data from any database. Makes the data available from any database as a web service on-demand, simplifying the process of building data-driven applications.
 
Octo CLI

Database of Databases
A search engine for databases. Discover and learn about 723 database management systems.

RecallGraph
A versioned-graph data store that retains all changes that its data (vertices and edges) have gone through to reach their current state.

DenoDB
MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno.

Apollo Client
A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.

Concise Encoding
A friendly data format for human and machine. Think JSON, but with 1:1 compatible twin binary and text formats and rich type support.

okdb
A JavaScript library and Node service that adds real-time collaboration features to your website or app.

zipson
Kind of an older project. A drop-in alternative to JSON.parse/stringify with added compression and streaming support.
 

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

graphics-ts
Functional bindings for the HTML Canvas API.

FastIcon
Online tool to generate your iOS and Android app icon in seconds.

Mono Icons
A simple, consistent open-source set of 130+ icons designed to be used in a wide variety of digital products.

q5.js
A small and fast alternative (experimental) implementation of p5.js.

Talk
A free group video call app with screen sharing, built with WebRTC that works well without about 6-8 participants.

Zoomstock
A search engine for free stock images that you can navigate in kind of a funky "zoom" manner. Images are sourced from 10+ free stock photo sites.

PlotterFiles
A place where drawing robot (i.e. "plotter art") enthusiasts share SVG files (vectors) for use with drawing robots.

System UIcons
A growing collection of simple and consistent SVG icons specifically designed for systems and products. Use how you want, without attribution.

Toy Faces
A fun diverse library of 3D avatars for your design mockups and commercial projects.
 
Toy Faces

Squircley
An online tool to create "squircles" – rounded square shapes – that can be downlaoded as SVG.

map33.js
A JavaScript library to build 3D maps with three.js.

Blush
Easily create and customize stunning illustrations with collections made by artists across the globe.
 

A Tweet for Thought

I know how you feel about the world right now. So just enjoy a beaver eating cabbage.

A Tweet for Thought
 

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...

In these privacy-conscious times, you might enjoy FreeTube. It's a YouTube client for Windows, Mac, and Linux that lets you use YouTube without your habits and being tracked and sent to Google.

Thanks to everyone for subscribing and reading!

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

Older messages

Web Tools #377 - VS Code, SVG, Media Tools, Uncats

Thursday, October 8, 2020

Web Tools Weekly WEB VERSION Issue #377 • October 8, 2020 As with many things in coding, there's probably lots of ways to do this, but here's a way to remove all 'falsy' values from a

Web Tools #376 - Learn Gatsby, JS Utilities, Mobile, Build Tools

Thursday, October 1, 2020

Web Tools Weekly WEB VERSION Issue #376 • October 1, 2020 As many of you know, and as is obvious simply by the existence of this newsletter, building websites today is not easy due to the abundance of

Web Tools #375 - Frameworks, Testing Tools, React Tools

Thursday, September 24, 2020

Web Tools Weekly WEB VERSION Issue #375 • September 24, 2020 The following intro tutorial was submitted by Erik Kückelheim, a self-taught developer living in Konstanz, Germany. In this write-up, Erik

Web Tools #374 - CSS Tools, JSON, DBs, Uncats

Thursday, September 17, 2020

Web Tools Weekly WEB VERSION Issue #374 • September 17, 2020 Previously I've discussed a number of different tips around object and array destructuring in ES6, which make code much easier to read

Web Tools #373 - Media Tools, JS Libs, Vue Tools

Thursday, September 10, 2020

Web Tools Weekly WEB VERSION Issue #373 • September 10, 2020 The Google Developers team recently posted a new article in their web.dev resource that's worth checking out: Use advanced typography

You Might Also Like

📧 Did you watch the free MMA chapters? (1+ hours of content)

Monday, April 29, 2024

Did you watch the free MMA chapters? Hey there! 👋 I wish you a fantastic start to the week. Last week, I launched Modular Monolith Architecture. More than 300+ students are already deep into the MMA

WP Weekly 191 - Essentials - Duplicate in Core, White Label Kadence, Studio for Mac

Monday, April 29, 2024

Read on Website WP Weekly 191 / Essentials It seems many essential features are being covered in-house, be it the upcoming duplicate posts/pages feature in the WordPress core or the launch of Studio

SRE Weekly Issue #422

Monday, April 29, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

Quick question

Sunday, April 28, 2024

I want to learn how I can better serve you ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Kotlin Weekly #404 (NOT FOUND)

Sunday, April 28, 2024

ISSUE #404 28st of April 2024 Announcements Kotlin Multiplatform State of the Art Survey 2024 Help to shape and understand the Kotlin Multiplatform Ecosystem! It takes 4 minutes to fill this survey.

📲 Why Is It Called Bluetooth? — Check Out This AI Text to Song Generator

Sunday, April 28, 2024

Also: What to Know About Emulating Games on iPhone, and More! How-To Geek Logo April 28, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Daily Coding Problem: Problem #1425 [Easy]

Sunday, April 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Suppose an arithmetic expression is given as a binary tree. Each leaf is an

PD#571 Software Design Principles I Learned the Hard Way

Sunday, April 28, 2024

If there's two sources of truth, one is probably wrong. And yes, please repeat yourself. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

When Procrastination is Productive & Ghost integrating with ActivityPub

Sunday, April 28, 2024

Automattic, Texts, and Beeper join forces to build world's best inbox, Reflect launches its iOS app, how to start small rituals, and a lot more in this week's issue of Creativerly. Creativerly

C#503 Building pipelines with System.Threading.Channels

Sunday, April 28, 2024

Concurrent programming challenges can be effectively addressed using channels ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌