Web Tools #454 - Array.at, React, Git/CLI, Uncats

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #454 • March 31, 2022

Advertisement
Mojeek: A Crawler-Index Search Engine
Most alternative search engines just source results from Google or Bing, not Mojeek! We have a growing index of over 5 billion pages, and crawl the web using technology built in-house. Discover something different with Mojeek.

Try it now
Mojeek

JavaScript's list of Array methods has quietly added a method called Array.prototype.at(). This relatively new feature, now supported in all modern browsers, is a replacement for using square bracket notation for accessing specific elements in an array.

For example, if you wanted to access the 5th element in an array, you would do the following using square bracket notation:

myArray[4];

Using Array.at(), you simply pass in an integer representing the array's index that you want to access:

myArray.at(4);

Your first reaction might be that this is basically the same as the square bracket syntax, but a few more characters. But there is at least one extra perk with Array.at(): You can use negative values to access elements by index starting from the end of the array. Here's some code to show how this works:

let myArray = ['hat', 'socks', 'belt', 'bandana', 'shoes'];

console.log(myArray.at(3)); // bandana
console.log(myArray.at(-1)); // shoes

myArray.push('pajamas');
console.log(myArray.at(-1)); // pajamas

Try it on CodePen

You can see that I twice accessed the last element in the array using a value of -1. The second time I did this was after I added an element to the end of the array.

This is much nicer than using square bracket notation with something like myArray[myArray.length - 1] or some other convoluted technique. The code above is much cleaner and easier to understand as long as you know what a negative value does in this context.

If you don't pass any value into Array.at(), it defaults to an index of 0. The method returns the element at the specified index and the original array is not affected. If the index doesn't exist, the method returns undefined.
 

Now on to this week's tools!
 

 

React Tools

Mojeek: A Crawler-Index Search Engine
Most alternative search engines just source results from Google or Bing, not Mojeek! We have a growing index of over 5 billion pages, and crawl the web using technology built in-house. Discover something different with Mojeek. sponsored  

Radish
A React-based static site generator that outputs plain HTML and CSS, has no runtime, lets you write in Markdown, and supports YAML, TOML, or JSON for data.

Fomir
A schema-first form library for React, with support for form building using markup.

Solito
A library dedicated to unifying React Native with Next.js, primarily focused on navigation.

react-super-responsive-table
A responsive React data table component that converts your table data to a user-friendly list in mobile view.

JARLE
A lightweight but feature-rich React component editor with live preview. Uses Sucrase, the Babel alternative, for fast, minimal compilation of JSX and/or Typescript.

Avvvatars
An open-source UI avatar placeholder library for React. Uses an `Avvvatars` component that outputs a random unique text or shape-based avatar.

Avvvatars

Redux-Saga
A library that makes application side effects (i.e. asynchronous things like data fetching) easier to manage, more efficient to execute, easy to test, and better at handling failures.

react-tree-graph
A simple React component that renders data as a tree using SVG, with support for React 15.3 and up.

react-worker-components-plugin
A plugin that renders components in web workers and not in the main thread, which helps in rendering blocking components in a non-blocking way.

FireVerse
A full-feature messenger app clone built with React, Tailwind, and Firebase for auth and storage.

React Showroom
Generate documentation and live examples of React components by declaring props definitions and writing markdown.

Git, GitHub, and CLI Tools

Build Faster By Actually Using Your Components
Hot out the oven! Omlet is a zero-config component registry and monitoring platform for front-end teams to drive design system adoption. Uncover all your reusable and custom components with analytics and explore how they are used in your product. Get early access for free now.   sponsored 

scrt
A command-line secret manager built in Go that provides command-line users with a secure way of storing and retrieving secrets, while retaining control of the storage.

kitty
A fast, feature-rich, terminal emulator that offloads rendering to the GPU for lower system load and uses threaded rendering for minimal latency.

bearings
A fast, clean, customizable shell prompt that supports zsh, Bash, fish, and more, and has configuration via YAML.

Devmarks
A bookmarking service for developers that syncs GitHub stars, Pinboard, Hacker News favourites, and includes unlimited bookmarks in the free plan.
 
Devmarks

HUBFS
A file system for GitHub and Git. Git repositories and their contents are represented as regular directories and files and are accessible by any application.

cheat
Allows you to create and view interactive cheat sheets on the command-line.

Gitter
A chat and networking platform that helps to manage, grow, and connect communities through messaging, content, and discovery.

SponsorKit
Toolkit for generating sponsors images on your GitHub readme files to feature your backers.

Repo Tracker
Better GitHub repository stats and insights. Keep track of commits, issues, PRs, releases, etc., in multiple GitHub repositories
 

The Uncategorizables

Build Faster By Actually Using Your Components
Hot out the oven! Omlet is a zero-config component registry and monitoring platform for front-end teams to drive design system adoption. Uncover all your reusable and custom components with analytics and explore how they are used in your product. Get early access for free now.   sponsored 

Garage
An open-source distributed storage service you can self-host to fullfill many needs, downloadable as a Docker image.

OneModel
A diagramming tool for software engineers to build architecture diagrams, with other diagram types slated for future releases.

undici
An HTTP/1.1 client written from scratch for Node.js.

Kestra
An infinitely scalable orchestration and scheduling platform for Docker, for creating, running, scheduling, and monitoring millions of complex pipelines.
 
Kestra

Open Source Design
A community of designers and developers pushing more open design processes and improving the user experience and interface design of open source software.

Piwigo
Open source photo gallery software built with PHP, designed for organizations, teams, and individuals, with 200+ plugins and themes available.

Modern Data Stack
Everything you need to know about building and operating a modern data stack.

Papyrus
A web3 publishing and newsletter platform that's free with unlimited subscribers for newsletters that don't use paid subscriptions.

Modern
Chrome, Edge, or Firefox extension to enhance your Wikipedia experience with a beautiful, clean, modern design that's fully customizable.

Jam
Clubhouse-like audio rooms as a service that lets you add audio rooms to your website, web store, or app with support for WordPress, Webflow, Wix, Shopify, Slack, and React.

OpenSilver
A modern, plugin-free, open-source re-implementation of Microsoft Silverlight.

kafka-ui
Versatile, fast, and lightweight web UI for managing Apache Kafka clusters (a distributed event store and stream-processing platform).
 

Commercial Tools and Classifieds

These are affiliate links, paid classifieds, and curated commercial apps (i.e. not free, not open source, limited free plan, etc).

Oh-heck – Generate terminal commands from natural language using GPT-3.

Svix – Webhooks service to build a state-of-the-art webhooks solution.

Bytes – A JavaScript newsletter that's informative and entertaining. ad 

bunny.net – A next-generation CDN, edge storage, and optimization service.

BLK Design System – A premium Bootstrap & React component library. ad 

SpinupWP – Your own extremely fast WordPress server, spun up in minutes.

Liveblocks – A set of APIs to create multiplayer experiences in minutes.
 

A Tweet for Thought

Speaking of GitHub... As a bathroom design this is hideous, but as an indication of open-source contributions...?

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 case you didn't know, Pantone 448 C, with hex value #4A412A, is apparently the ugliest color in the world. Is it uglier than that bathroom in the Tweet though? It's close.

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly

Support this newsletter:
PayPal.me  Patreon  /  GitHub Sponsors  E-Books  /  $5 Tip  /  $1 Tip

Older messages

Web Tools #453 - IE11 to Edge, JS Utilities, SVG, React Native

Thursday, March 24, 2022

Web Tools Weekly WEB VERSION Issue #453 • March 24, 2022 Advertisement Choosing the Best WYSIWYG Editor for Styling Tables Tables are perfect for representing data and information in an organized way,

Web Tools #452 - JS One-liners, VS Code, Testing, Uncats

Thursday, March 17, 2022

Web Tools Weekly WEB VERSION Issue #452 • March 17, 2022 Advertisement The All-in-One Modern Data Platform You Need Get everything you need to combine, organize, and transform your data for analysis,

Web Tools #451 - CSS Tools, Databases, JSON, SVG

Thursday, March 10, 2022

Web Tools Weekly WEB VERSION Issue #451 • March 10, 2022 Advertisement Choosing the Best WYSIWYG Editor for Styling Tables Tables are perfect for representing data and information in an organized way,

Web Tools #450 - New MDN, Frameworks, Build, React

Thursday, March 3, 2022

Web Tools Weekly WEB VERSION Issue #450 • March 3, 2022 Advertisement How Modern Treasury Scaled Data Infrastructure Fast Modern Treasury, the payment operations provider, needed to replace their BI

Web Tools #449 - img.complete, JS Utilities, React, Uncats

Thursday, February 24, 2022

Web Tools Weekly WEB VERSION Issue #449 • February 24, 2022 Advertisement The All-in-One Modern Data Platform You Need Get everything you need to combine, organize, and transform your data for analysis

You Might Also Like

Life Update: Me. In Shorts. In Antarctica [Pics Inside 🧊]

Saturday, January 11, 2025

And yes, I jumped in. It taught me a lot 😅 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Google Researcher Uncovers Zero-Click Exploit Targeting Android Devices

Saturday, January 11, 2025

THN Daily Updates Newsletter cover The Kubernetes Book: Navigate the world of Kubernetes with expertise , Second Edition ($39.99 Value) FREE for a Limited Time Containers transformed how we package and

📧 Working with LLMs in .NET using Microsoft.Extensions.AI

Saturday, January 11, 2025

​ Working with LLMs in .NET using Microsoft․Extensions․AI Read on: m​y website / Read time: 6 minutes The .NET Weekly is brought to you by: ​Transform your database performance with RavenDB​:

iOS Dev Weekly – Issue 694

Friday, January 10, 2025

Hopefully you won't see that much difference with receiving this issue, but it's ALL CHANGED behind the scenes! 😱 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Daily Coding Problem: Problem #1664 [Easy]

Friday, January 10, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Twitter. A permutation can be specified by an array P , where P[i] represents the

Spyglass Dispatch: The Case for a For-Profit OpenAI

Friday, January 10, 2025

RIP Venu • A More Political and Real Time Threads • An OpenAI Auction • Apple's Tough 2025 The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on timely topics

⌨️ 10 Mods to Improve Your Mechanical Keyboard — How to Set Up Quick Share on Windows

Friday, January 10, 2025

Also: Why Are Tech Companies Trying to Sell Me Expensive Clocks? How-To Geek Logo January 10, 2025 Did You Know Famed biologist Charles Darwin and US President Abraham Lincoln were born on the same day

Your best friends in design

Friday, January 10, 2025

​ Working With Designers Product manager & UX designer collaboration guide. How members of your product team work together is just as important as the work itself. A fundamental relationship within

Charted | How Canada Would Rank as the 51st State 📊

Friday, January 10, 2025

Donald Trump has floated the idea that Canada should be the 51st state. Here's how it compares statistically. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power AI's

Pinpointing The Actual Problem 🎯

Friday, January 10, 2025

WordPress accidentally diagnoses its own business problem. Here's a version for your browser. Hunting for the end of the long tail • January 10, 2025 Pinpointing The Actual Problem A blog post from