JavaScript Icon


Tracking all things JavaScript
1007 Stories
All Topics


UsTaxes – an open source tax filing web app

UsTaxes is an open source tax filing application that can be used to file the Federal 1040 form. It is different from paid tax preparation software in that it protects user privacy and is provided for free. It is available in both web and desktop formats.

The coolest thing about this (in addition to it being free-as-in-beer) is that it stores all data in the browser only, so your personal info never leaves your computer.

WIP Alert: You shouldn’t use it file your taxes for the 2020 / 2021 tax season, but it’s a great time to get involved and help this software become production-ready for the next go-around.

Browser London Icon Browser London

React is king (and that’s not changing anytime soon)

Connor Ward:

Before React, there was Angular and before that, there was jQuery – all frameworks that have fallen by the wayside. It’s just a matter of time before something comes along and takes the mantle as the new hotness. Or so they say.

I’m not so sure. In fact, I think React will be with us for many years to come.

He sites React Native’s success as one reason React will remain relevant, amongst others. I’m not so sure.

I believe React The Idea (uni-directional data flow through declarative component trees) is here to stay, but I’m not so convinced that React The Software won’t be soon replaced like its predecessors were.


How the V8 team made JS calls faster with this clever trick

Victor Gomes details the elegant hack (in the best sense of the word) he and the V8 team came up with to significantly increase V8’s JavaScript function call performance (by up to 40% in some cases).

Until recently, V8 had a special machinery to deal with arguments size mismatch: the arguments adaptor frame. Unfortunately, argument adaption comes at a performance cost, but is commonly needed in modern front-end and middleware frameworks. It turns out that, with a clever trick, we can remove this extra frame, simplify the V8 codebase and get rid of almost the entire overhead.

A fascinating read and fantastic performance improvements for all to enjoy.


Create videos programmatically in React

You may be wondering why this is a good idea. Thankfully, the README starts by answering that question:

  • Leverage web technologies: Use all of CSS, Canvas, SVG, WebGL, etc.
  • Leverage programming: Use variables, functions, APIs, math and algorithms to create new effects
  • Leverage React: Reusable components, Powerful composition, Fast Refresh, Package ecosystem

If you want to see it in action, the announcement video for Remotion was written in Remotion itself. (Because of course)

At this point, we may need to adjust Atwood’s Law, which states:

any application that can be written in JavaScript, will eventually be written in JavaScript.

I think a s/JavaScript/React/g would do the trick…

Ivan Novikov

A log function with superpowers

1log is a new logging library for the browser and Node. This library provides a log() function which is like console.log, but with superpowers:

  1. It can be used in expressions - f(log(x))
  2. It supports plugins

There are plugins for setting a severity level, for adding badges, and for logging functions, iterables, promises, and RxJS observables. You can even use it in your tests. Instead of writing log messages to the console, you can inspect them in unit tests with help of Jest’s snapshots feature.

Nick Schot

An intro to animating with the Web Animations API

Nick Schot from Simplabs with a solid primer to get you started with the Web Animations API

The Web Animations API is a relatively new addition to the browser and is still very much in development. It promises to combine the benefits of CSS Transitions/Animations and JavaScript based animations.

All popular browsers have now implemented the minimum features necessary to do complex animations and a polyfill which adds support for the Web Animations API to older browsers is available. It’s time we tried it out!

Chris Coyier CSS-Tricks

Servers: cool once again

Chris Coyier rounding up recent frontend moves (by Basecamp and React, specifically) back to server-side rendering techniques of old:

So: servers. They are just good at doing certain things (says the guy typing into his WordPress blog). There does seem to be some momentum toward doing less on the client, which I think most of us would agree has been taking on a bit much lately, which asset sizes doing nothing but growing and growing.

Let’s push those servers to the edge while we’re at it.

I agree. Servers are cool. Clients are cool, too. But so are servers.

Joe Sweeney

Podrain – a web-based podcast app with offline capabilities

Joe Sweeney built Podrain to scratch his own podcast-listening itch. Here’s what he had to say about it in our community chat:

Hi there! Huge fan of Changelog. I actually built a podcast client for the web as a Vue PWA, as a proof-of-concept towards building a web-first future away from app stores. Works fully offline with downloaded audio, as in, works in Airplane mode (but on Android only). Interface is rough but it’s pretty stable and improving over time!

Try Podrain yourself by pointing your favorite web browser right here.


Turn any device with a web browser to a second screen for your computer

Deskreen is an electron.js based application that uses WebRTC to make a live stream of your desktop to a web browser on any device. It is built on top of Electron React Boilerplate For better security mechanism, end-to-end encryption is implemented, which is inspired , the difference is, that it is rewritten in Typescript and transformed to use node-forge instead of window.crypto.subtle.

Turn any device with a web browser to a second screen for your computer

Tom Critchlow

Why can't I write code inside my browser?

What would happen if browsers came pre-installed with Node.js, an IDE, and a simple runtime environment?

…there’s been a kind of revolution around coding. “Javascript everywhere” (i.e. node.js) has really become the default web-development paradigm. Javascript is alluring - partly because every computer has a javascript GUI and runtime - the browser! You can code in javascript on your computer using a text editor and a browser - without ever touching the command line!

But, what if a full-fledged dev environment for JavaScript was just as ubiquitous as the runtime in the browser?


One year of Excalidraw

I love posts like these from startups/projects that share how they’re doing over time:

Excalidraw started as a way to procrastinate on January 1st, 2020, and ended up being a fully fledged whiteboard product only one year later! In this post, we’ll go over the most important features that made Excalidraw great at being a virtual whiteboard for sketching hand-drawn like diagrams.

They detail their open source tech stack, new features the team shipped last year, cool things people are doing with the tool, and more.

(The tool itself, btw, looks totally rad and is definitely something I’ll be toying with over the coming weeks.)


TabFS mounts your browser tabs as a filesystem

A Chrome and Firefox extension that mounts your browser tabs as a filesystem on your computer.

This gives you a ton of power, because now you can apply all the existing tools on your computer that already know how to deal with files – terminal commands, scripting languages, point-and-click explorers, etc – and use them to control and communicate with your browser.

Now you don’t need to code up a browser extension from scratch every time you want to do anything. You can write a script that talks to your browser in, like, a melange of Python and bash, and you can save it as a single ordinary file that you can run whenever, and it’s no different from scripting any other part of your computer.

TabFS mounts your browser tabs as a filesystem

The Changelog The Changelog #424

You can FINALLY use JSHint for evil

Today we welcome Mike Pennisi into our Maintainer Spotlight. This is a special flavor of The Changelog where we go deep into a maintainer’s story. Mike is the maintainer of JSHint which, since its creation in 2011, was encumbered by a license that made it very hard for legally-conscious teams to use the project. The license was the widely-used MIT Expat license, but it included one additional clause: “The Software shall be used for Good, not Evil.” Because of this clause, many teams could not use JSHint.

Today’s episode with Mike covers the full gamut of JSHint’s journey and how non-free licensing can poison the well of free software.


A virtual event starter kit (built with Next.js)

You can clone, deploy, and fully customize your own virtual event from this open source repo that was used to run Next.js Conf 2020 (which hosted 40k+ attendees). Features!

  • Multiple stages with an embedded YouTube stream
  • Sponsor expo, including individual virtual booths
  • Career Fair, allowing attendees to network and find job opportunties
  • Ticket registration and generation
  • Speaker pages and bios
  • Schedule
0:00 / 0:00