Reading
Since June 2019 I have read 401 of programming related blog posts. I tried collecting them all here. Use the search below to filter by title, author, or description.
- Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
Ben Hoyt
Performance comparison of counting and sorting word frequencies in various languages (Python, Go, C++, C, AWK, Forth, and Rust)
- Git from the Bottom Up
John Wiegley
- Why you should use `python -m pip`
Fellow core developer and Canadian, Mariatta [https://twitter.com/mariatta], asked on Twitter about python -m pip and who told her about that idiom along with asking for a reference explaining it: > I learned sometime ago that we should be doing `python -m pip install ...` instead of simply `pip in…
- The Universe of Discourse : Things I wish everyone knew about Git (Part II)
Mark Dominus
•
July 06, 2022
- The Universe of Discourse : Things I wish everyone knew about Git (Part I)
Mark Dominus
•
June 29, 2022
- The Universe of Discourse : How to recover lost files added to Git but not committed
Mark Dominus
•
April 15, 2016
- Building Pong in Your Terminal: Part One
Josh Alletto
•
July 25, 2022
But Why?I’ve been trying to learn Golang lately. Previously, I wrote an article where I built an app for storing contacts that ran in the terminal ...
- Joshua Stutter
Joshua Stutter
A Blog about Joshua Stutter’s PhD
- A Little Story About the `yes` Unix Command | Matthias Endler
What’s the simplest Unix command you know?<br /…
- Small, Sharp Tools
A few words on the Unix philosophy of building small programs that do one thing well, and compose for comprehensive functionality.
- Soft Deletion Probably Isn’t Worth It
The traditional soft deletion pattern using <code>deleted_at</code> columns leaks into code, curbs the usefulness of foreign keys, and makes data removal difficult. Luckily, there’s an alternative.
- Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
- How safe is zig?
- The Complete Guide to Dark Mode with Remix
Matt Stobbs
•
January 24, 2022
Dark Mode can be surprisingly tricky to add with any framework. But Remix gives us some unique tools to deliver a fantastic user experience. In this post, we’ll look at how Remix allows us to use the platform to provide a perfect theming solution.
- UTC is Enough for Everyone, Right?
Zach Holman
•
June 26, 2022
Programming with dates, times, and timezones is hard. But here’s some help.
- The Grug Brained Developer
Grug
- How to Feel Better When You Don’t Know What’s Wrong
Where I live, “How are you?” has traditionally been more of a greeting than a question. You’re supposed to say something like, “Good! You?” and then talk about whatever you were going to talk about. In the last three months, it seems to have become a question again. People genuinely want to know how…
- What I Learned During My Three Days Offline
Mostly, I use the internet to delay the rest of my life
- How to Feel Better When You Don’t Know What’s Wrong
- Solving a Mystery Behavior of parseInt() in JavaScript
Solving a mystery of how parseInt() parses small float numbers in JavaScript.
- Introducing Dioxus v0.1 ✨
dioxuslabs.com
- monio/MONADS.md at master · getify/monio
getify
•
May 01, 2022
The most powerful IO monad implementation in JS, possibly in any language! - monio/MONADS.md at master · getify/monio
- Introducing fuite: a tool for finding memory leaks in web apps
Nolan Lawson
•
December 17, 2021
Debugging memory leaks in web apps is hard. The tooling exists, but it’s complicated, cumbersome, and often doesn’t answer the simple question: Why is my app leaking memory? Because of …
- Solving a Mystery Behavior of parseInt() in JavaScript
- The UX on this Small Child Is Terrible
Our 8th most-read article of 2021. - - -Originally published February 22, 2021. - - -Not only am I VP of Reproduction for this household, but I’ve...
- The UX on this Small Child Is Terrible
- My product is my garden
Herman Martinus
•
December 01, 2020
I’ve been part of the internet startup scene for a while. There are so many different camps: the bootstrappers, the VC-backed tech-bros, the crypto “investors”,
- The Collector’s Fallacy • Zettelkasten Method
Christian Tietze
•
January 20, 2014
A Zettelkasten is a personal tool for thinking and writing that creates an interconnected web of thought. Its emphasis is on connection and not mere collection of ideas.
- The Bug Nobody is Allowed to Understand
- GNU Project - Free Software Foundation
Richard Stallman
- Who Does That Server Really Serve?
- GNU Project - Free Software Foundation
Richard Stallman
- A fucking rant about fucking const vs fucking let
@jamiebuilds
- Programmers should stop celebrating incompetence
David Heinemeier Hansson
In the valiant effort to combat imposter syndrome and gatekeeping, the programming world has taken a bad turn down a blind alley by celebrating incompetence. You don’t have to reduce an entire profession to a clueless gang of copy-pasta pirates to make new recruits feel welcome. It undermines the as…
- 7 Principles of Rich Web Applications
Guillermo Rauch
- My product is my garden
- Get your work recognized: write a brag document
Julia Evans
•
June 28, 2019
Get your work recognized: write a brag document
- Rust Is The Future of JavaScript Infrastructure – Lee Robinson
Lee Robinson
•
November 11, 2021
Why is Rust being used to replace parts of the JavaScript web ecosystem like minification (Terser), transpilation (Babel), formatting (Prettier), bundling (webpack), linting (ESLint), and more?
- I will pay you cash to delete your npm module
Drew DeVault
•
November 16, 2021
- Speed up your TypeScript monorepo with esbuild
Using esbuild to compile your monorepo’s TypeScript codebase and massively improve your building and testing time
- useEffect sometimes fires before paint
Vladimir Klepov
•
November 16, 2021
useEffect should run after paint to prevent blocking the update. But did you know it’s not really guaranteed to fire after paint? Updating state in useLayoutEffect makes every useEffect from the same
- Get your work recognized: write a brag document
- Coming to Rust from Django
Meesha
•
May 24, 2021
As a Day of learning initiative at my job, I decided to try what a simple REST API would look like in Rust. Specifically, coming from...
- Making the whole web better, one canvas at a time.
One can have an entire career on the web and never write a single canvas.getContext(‘2d’), so “Why should I care about this new OffscreenCanvas thing?” is a decent question for man
- 1Password 8 Early Access: Security, Comments, & FAQs
A few days ago, 1Password (my employer) released the first preview of the new application for macOS. The response has been rather dramatic. The release was followed by an excellent blog post by Michael Fey explaining the story of how we got here, and some of the decisions that were made in the proce…
- Why you should launch your product without a login
Caspar von Wrede
•
October 05, 2021
No login – an awesome product-development hack
- Your room can be as bright as the outdoors
Ben S Kuhn
•
November 26, 2019
focusing after dark • corn cob bulbs • before + after photos • saving ½–2h/day • my setup • why don’t more people do this?! • FAQs
- Explaining explaining: a quick guide on explanatory writing
Lucas Fernandes da Costa at London, United Kingdom
•
September 01, 2021
This blog post is about how to explain things in writing.
- YikesScript - John’s internet house
John's internet house
- No, your cryptocurrency cannot work
Avatar Sven Slootweg
•
November 02, 2021
No, your cryptocurrency cannot work. GitHub Gist: instantly share code, notes, and snippets.
- React antipatterns to avoid
Iskander Samatov
•
September 19, 2021
These antipatterns will make your codebase a nightmare to work with.
- What Is Revenge Sleep Procrastination? And How to Stop
Moira Lawler
•
August 24, 2021
If you’re sacrificing sleep for downtime, you might be getting yourself into this bad habit. Here’s why experts say you’re likely doing it and how to stop.
- A crash course in just-in-time (JIT) compilers – Mozilla Hacks - the Web developer blog
Lin Clark
•
February 28, 2017
This is the second part in a series on WebAssembly and what makes it fast. If you haven’t read the others, we recommend starting from the beginning. JavaScript started out ...
- Why senior engineers get nothing done | Swizec Teller
Swizec Teller
You start a new job and it’s amazing. Code all day, clear objectives, easy guidelines, ship a bunch of features be a hero. Then something happens and suddenly you get nothing done. 🤔
- Celebrating 10 years of V8 · V8
Mathias Bynens
•
September 11, 2018
An overview of major milestones for the V8 project in the past 10 years as well as the years before, when the project was still secret.
- We’ve been lied to: JavaScript is very fast
JavaScript has been carrying a stigma of being ‘slow’ for many years now, is that true in 2021?
- Willingness to look stupid
Dan Luu
- Temperatur-Tipps mit der Gaggia New Classic - Einstiegs-Tipps
Die Gaggia New Classic ist eine gute Espressomaschine für den Einstieg. Mit unseren Tipps brüht sie leckeren Espresso für wenig Geld.
- How to switch to Vim - naildrivin5.com - David Bryant Copeland’s Website
David Bryant Copeland
•
April 27, 2021
How to switch to Vim April 24, 2013 From time to time, I see people in my twitter stream attempting to switch to...
- The problem with Vim
Haldean Brown
- What is your most productive shortcut with Vim?
Jim Dennis
•
August 02, 2009
I’ve heard a lot about Vim, both pros and cons. It really seems you should be (as a developer) faster with Vim than with any other editor. I’m using Vim to do some basic stuff and I’m at best 10 ti...
- Vim Videos - Flarfnoogins
Derek Wyatt
Vim, Scala, and cody things
- Switch To Vim For Good
Pierre Bertet
•
November 02, 2014
Switch To Vim For Good. GitHub Gist: instantly share code, notes, and snippets.
- The Mentorship Diamond
I’ve been very lucky to have some great mentors and mentees in my time at GitHub. Through weekly 1:1s with @seejohnrun explaining to me what a staff engineer should (and should not) be doing I was able to get the role and (hopefully!) do a reasonable job at it. Currently, I’m lucky to have regular m…
- Linux/BSD command line wizardry: Learn to think in sed, awk, and grep
“Do people really write these long, convoluted commands?” In a word: yes.
- An Introduction to JQ
Adam Gordon Bell
•
August 24, 2021
In this article, I’m going to go over the basics building blocks of jq in enough depth that you will be able to understand how jq works.
- Japanese Philosophies That’ll Help You Spend Money Consciously
Japanese wisdom greatly improves our lives. Learn philosophies that’ll help you save money for things that matter and keep overspending in check.
- Coming to Rust from Django
- My Life After Quitting Social Media
I don’t want to consume the life of others. I want to create a life worth consuming. That’s what I’ve learned after 3 years without social media.
- Syntax highlighting is backwards
Ben Kuhn
•
June 09, 2018
Most code editors color different pieces of your program in different ways. For instance, they’ll make keywords like if bold and bright so that you notice when you’ve misspelled them. They’ll make non-executable parts like comments and documentation fainter so that you know that the computer isn’t s…
- Violence is the last refuge of incompetence
Violence is the last refuge of incompetence
- Privacy Policy Of Your Existence
- Comment faire des feuilles de notes pour les examens – Girl Knows Tech
Apprenez à créer de parfaites feuilles de notes que vous pourrez utiliser comme aide mémoire lors de vos examens.
- How to migrate from Gmail to ProtonMail - ProtonMail Support
Proton Technologies AG
•
July 27, 2021
ProtonMail offers safe and encrypted email communication. Learn how to transfer your contacts and emails from Gmail to ProtonMail.
- Am I stuck in a local maximum?
Mark Seemann
•
August 11, 2021
On long-standing controversies, biases, and failures of communication.
- Rome will be written in Rust 🦀
Building a better foundation for the future of JavaScript and Web tooling
- My Life After Quitting Social Media
- How to Make the Perfect Cheat Sheet – Girl Knows Tech
Learn the steps that I take to create the perfect cheat sheets (allowed reference sheets) for all my exams in college!
- How to Make the Perfect Cheat Sheet – Girl Knows Tech
- Can Artificial Intelligence Combat the Spread of Misinformation? — Consider This
Bo Brusco
•
September 05, 2021
Bo Brusco | August 20, 2021 The widespread circulation of misinformation on social media threatens America’s relationship with truth, leading to intense political polarization. And with COVID-19 and its variant sweeping across the country, misleading information about the virus and vaccines
- Ads Don’t Work That Way | Melting Asphalt
Kevin Simler
•
September 14, 2021
- Stop just using “Frontend” or “Backend” to describe the Engineering you like
Michelle Lim
•
September 13, 2020
Why the “frontend” vs “backend” engineering axis doesn’t map well to engineers’ psychology. And how using just one division can lead to job mismatches, turnover, and even push some new grad engineers into product management.
- You should never use flags for language choice
Photo by nofrills Flag icons are pretty (like fam-fam-fam icon set). But flag represents a country, not a language. Isn’t it obvious? No, it’s obviously not! While I surfed the web yesterday I found several websites that use flags for language choice. Here are a few reasons why you’ll never want to …
- What they don’t tell you when you translate your app
Eric Bailey
•
September 02, 2021
Forget inverting binary trees, translating or localizing a digital experience is one of the most difficult things you can do with software.…
- The Compiled Future of Front End
Andrew Hansen
•
September 10, 2021
When I learned React in 2014 it was a revelation. Coming from Angular 1, React was a breath of fresh air in a world full of foot-guns, confusing best practices, and unclear jargon (services, models, directives, oh my!) Instead, the future was simple: “everything is a component”. Components have prop…
- How to drive away your best engineers. | padraigobrien.com
padraigobrien.com
Here is how you can make your engineers tenure shorter.
- Social networks
It’s worse than you think
- Can Artificial Intelligence Combat the Spread of Misinformation? — Consider This
- Every Web Browser Absolutely Sucks. – Luke Smith
Luke Smith
•
August 28, 2021
- Every Web Browser Absolutely Sucks. – Luke Smith
- I Regret Being a Hipster in Tech
Khalil Najjar
•
July 22, 2021
Being a good, happy and healthy developer it’s not knowing everything, but rather understanding what you need to know.
- API Tokens: A Tedious Survey
Thomas Ptacek
•
August 24, 2021
More, I promise, than you ever wanted to know about API tokens.
- The Rise Of User-Hostile Software
Den Delimarsky
•
August 23, 2021
Or why software we get today is not the software we should strive to be getting tomorrow.
- I give you feedback on your blog post draft but you don’t send it to me
mangopdf
•
August 20, 2021
I say to you the same things I say to everyone, but it’s good.
- I Regret Being a Hipster in Tech
- React Query as a State Manager
Everything you need to know to make React Query your single source of truth state manager for your async state
- Placeholder and Initial Data in React Query
Learn about the different possibilities to avoid loading spinners in React Query.
- Effective React Query Keys
Learn how to structure React Query Keys effectively as your App grows
- Using WebSockets with React Query
A step-by-step guide on how to make real-time notifications work with react-query
- React Query and TypeScript
Combine two of the most powerful tools for React Apps to produce great user experience, developer experience and type safety.
- Testing React Query
Let’s take a look at how to efficiently test custom useQuery hooks and components using them.
- Status Checks in React Query
How the wrong status check order can negatively impact user experience
- React Query Render Optimizations
An advanced guide to minimize component re-renderings when using React Query
- React Query Data Transformations
Learn the possibilities to perform the quite common and important task of transforming your data with react-query
- Practical React Query
Let me share with you the experiences I have made lately with React Query. Fetching data in React has never been this delightful...
- Building a desktop application using Electron and Create React App
A step-by-step tutorial explaining how to create a desktop application using Create React App (CRA) and Electron.
- Unhacking my attention
Fabrizio Rinaldi
On agency and attention in the feeds era.
- React Query as a State Manager
- Snack Driven Development
There comes a time in most developers’ lives when they think to themselves: “I should rebuild my personal website and start a new blog.” As far as I can tell this is a symptom of some kind of minor mental illness, delusion, or narcisistic tendency. It’s almost always a bad idea, a distraction from m…
- How rich is Scrooge McDuck? - Everygeek
Scrooge McDuck is the richest duck in the world, but how much money he actually have? The answer is more complicated than it seems.
- Safari isn’t protecting the web, it’s killing it
There’s been a lot of discussion recently about how “Safari is the new IE” (1, 2, 3, 4, 5).I don’t want to rehash the basics of that, but I…
- “Ticket Monkey” – Alex Rohde dawt com
Alex Rohde
•
August 01, 2021
tl; dr – I hypothesize the physical and emotional distance of ticketing systems reduces job satisfaction and propose solutions.
- The Monetization Trap
Sebastian De Deyne
•
August 17, 2021
I want to talk about something I’ve been chewing on for a while: the monetization trap.
- Discriminated Unions and Destructuring in TypeScript
Kyle Shevlin
Discriminated unions in TypeScript can go awry when you use object or array destructuring. Learn why it happens and what you can do to fix the problem.
- Actual impostors don’t get impostor syndrome | Zapier
Justin Pot
•
July 21, 2021
If you want to know, one hundred percent, that you’re not an impostor, do something no impostor would ever do: out yourself. Here’s why.
- Nerds Don’t Respond To Marketing; Try Technical Documentation Instead | Hacker Noon
Portia Burton
•
August 05, 2021
Technical documentation is the key to marketing to web developers. Developer relations use documentation all the time as a way to connect to their community.
- Snack Driven Development
- Turn It All Off
Christopher Butler
•
July 02, 2021
- Don’t Be Anti Car. Be Pro Something Else.
Doreen Traylor
•
July 26, 2021
People hate change. They have something of a tendency to dig their heels in and be against it just because it is new and different. They as...
- In Defence of the Pull Request
Oliver Roick
•
July 26, 2021
- No code reviews by default
Thomas Paul Mann
How we built an engineering culture based on trust that allows us to move incredibly fast without requiring code reviews.
- Are Pull Requests Holding Back Your Team?
Pull requests are good. But they can hinder the team performance
- Securing your development environment
Santos Gallegos
•
July 24, 2021
Tips on how to secure how to secure your development environment from your computer to your terminal.
- Turn It All Off
- Your Idea Is Brilliant, Your Idea Is Worthless (KS Lesson #204)
While I was at a family wedding a few weeks ago, one of my aunts asked me, “So, what’s the hardest part about designing a game? It must be coming up with the ideas, right?” I laug…
- Your Idea Is Brilliant, Your Idea Is Worthless (KS Lesson #204)
- Creating a VS Code Theme
Everyone has special and perhaps, particular, tastes when it comes to their code editor. There are literally thousands of themes out there, and for good
- Creating a VS Code Theme
- Build your own React
We are going to rewrite React from scratch. Step by step. Following the architecture from the real React code but without all the…
- Yarn vs npm
Orta Therox
A growing wiki of linked notes from @orta
- pnpm is my successor to Yarn 1
Orta Therox
A growing wiki of linked notes from @orta
- What happened when I stopped using Emojis — This Too Shall Grow
Clo S
•
June 18, 2021
How emojis are designed, their pitfalls, and how we can best use them.
- Will emoji become a new language?
Neil Cohn
Emoji are already butting their heads with traditional words, but could they take over completely? Linguist Neil Cohn casts his expert eye over the pictures taking the world by storm.
- Build your own React
- npm audit: Broken by Design
Found 99 vulnerabilities (84 moderately irrelevant, 15 highly irrelevant)
- What does 100% mean in CSS?
Amelia Wattenberger
- npm audit: Broken by Design
- How I Structure My React Projects
Kyle Shevlin
React and modern JavaScript gives you the freedom to structure your React projects however you want. Learn how I structure mine.
- It’s Time to Rename the Internet. Let’s Call it The Mosaic. - Christopher Butler
Christopher Butler
•
June 11, 2021
⚐ Christopher Butler is a designer living in Durham, NC.
- How to Handle Secrets on the Command Line
Carl Tashian
•
April 12, 2021
How to keep secret credentials safe on the command line.
- How I Structure My React Projects
- Don’t pass the torch, pass the flame.
Behavior is everything and no behavior communicates a company’s culture more clearly than who it promotes, who it fires, and who it rewards.
- Boring Problems Need Attention Too
Waqas Younas
•
June 17, 2021
When millions of people use some software, at hugely profitable tech companies, then these companies should prioritize correctness.
- When it comes to git history, less is more - Stephen Brennan
One person’s entry-level contribution is another person’s difficult bugfix or backport.
- Building my own web analytics
I’ve built a simple client-side website analytics tool for this site, you can see it at /analytics. It has the following metrics: Page views per day, Unique IP addresses per day Views per page per day. This article eventually made it to the front page of Hacker News, which resulted in a lot of extr…
- prefers-reduced-motion and browser defaults
Bruce Lawson
•
July 02, 2021
» prefers-reduced-motion and browser defaults
- Don’t pass the torch, pass the flame.
- Authentication with Supabase and React
Supabase is an open source managed backend platform. It’s a direct alternative Firebase, which is owned by Google...
- 5 Tips for Writing Small CLI Tools in Rust
Rust is a great language to write small command line tools in. While it gives you some tools for common tasks, allows nice abstractions, it also has a type system and approach to API design that lead you to write robust code. Let me show you some techniques to make this a nice experience.
- Authentication with Supabase and React
- Use ternaries rather than && in JSX
What problems can happen when you use && to conditionally render content in JSX
- Optical size, the hidden superpower of variable fonts – Pixelambacht
Roel Nieskens
Front-end antics and typographic mischievousness
- ES2021 features list
Hemanth HM
ES2021 as approved by the Ecma General Assembly
- Use ternaries rather than && in JSX
- A better approach for testing your Redux code
TL;DR When testing Redux, here are a few guidelines: Vanilla Redux The smallest standalone unit in Redux is the entire state slice. Unit tests should interact with it as a whole. There is no point in testing reducers, action creators and selectors i...
- Designing a version — Sedimental
Mahmoud Hashemi
•
February 23, 2016
Accretionary thoughts by Mahmoud Hashemi
- Blogged Answers: The Evolution of Redux Testing Approaches
Mark Erikson
•
June 23, 2021
Thoughts on how Redux testing has evolved from ‘isolation’ to ‘integration’
- Rust from a JavaScript perspective – Contingent Musings
kapolos
•
June 08, 2021
- Building an end-to-end typesafe API — without GraphQL
- Why React Hooks cannot be conditioned - Thomas Belin
Thomas Belin
•
May 30, 2021
Did you know that you cannot condition React Hooks? Here is the reason why
- Raspberry Pi Zero USB Webcam
Teoh Kean Hao
•
December 30, 2020
Have you ever wanted a good USB webcam but not sure which one to buy? Why not build one yourself! Introduction Raspberry Pi Zero is a super-compact, hackable, and ultra-low-cost computer. Besides, the Pi Zero features a USB OTG port, which allows us to power it while sending data between…
- Don’t overabstract your components
Kirils L
•
May 19, 2021
Improve your component’s API by writing focused abstractions that make your components composable.
- Dark Mode For Excalidraw
How to give a dark twist to Excalidraw diagrams with CSS filters.
- Disabled buttons suck | Axess Lab
Showing buttons as disabled until a form is complete might seem like a good idea. It is not. They usually create a lousy user experience…
- Making Disabled Buttons More Inclusive
Let’s talk about disabled buttons. Specifically, let’s get into why we use them and how we can do better than the traditional disabled attribute in HTML
- The 80% energy principle
Justin Jackson
As Westerners, we believe in pushing up against the limits, and going over them. We need to learn the Okinawa Island secret: hara hachi bu.
- JWT should not be your default for sessions
- Your IDE as a presentation tool
André Staltz
•
June 04, 2018
Open Source Freelancer
- MASSIVE FUTURE OF THE COSMERE SPOILERS
Brandon Sanderson
•
November 17, 2020
- What (size) mechanical keyboard should you get?
keyboard.university
- Git GUIs - Dan MacKinlay
Dan MacKinlay
•
March 11, 2021
Fake git! Sublime merge Gitkraken Fork git gui Smartgit Gitup Cycligent Git Horizon VS Code VCS integration git-graph Git History GitLens SourceTree tig Tower Gitblade XCode git integration RabbitVCS gitinspector TortoiseGit Working Copy Pocket Git git-cola giggle Sparkleshare Git repository manag…
- The top 4 internet flame wars about free software
Andrew Min
- Writing better TypeScript
I just finished reading two books on TypeScript that I can wholeheartedly recommend. Both books are excellent and I learned a lot from reading them although I have been working with TypeScript for years.
- On sameness in programming
Yehonathan Sharvit
•
April 22, 2021
A fundamental aspect of the difference between functional programming and Object-Oriented programming
- Reduce Cognitive Overhead by Automating with GNU Make
Make is boring, and omnipresent. Because it integrates with whatever shell you’re using, it’s easy to write a thin wrapper around an existing toolchain.
- React + D3.js
Amelia Wattenberger
- Comparing Svelte and React
- React API evolution
From React.createClass to hooks: why React is at odds with JavaScript
- DIV and Backend again. A TypeScript Tale: Part 1
Eric Wooley
•
March 31, 2021
Setting up NX
- How I Built My Blog
An in-depth look at the technical stack behind this very blog! We’ll see how I use Next’s API routes to implement my hit and like counters, how I use MDX to add interaction and customization, and how I organize my codebase, among others.
- A better approach for testing your Redux code
- Making the Touch Bar finally useful
By abandoning crappy Apple guidelines
- The Complete Guide to Immutability in TypeScript
Gregory Pabian
•
March 08, 2021
How to use the functional programming theory, the readonly modifier and well-tested practices to apply immutability in TS projects.
- Making the Touch Bar finally useful
- Let them paste passwords
Sacha B
Allow your website to accept pasted passwords - it makes your site more secure, not less.
- You Should Take A Codecation
Ben Orenstein
•
October 06, 2015
A codecation is like a vacation, but you spend most of your time writing code.
- Translate Haskell into English Manually | Linux Journal
Shannon Behrens
•
June 21, 2006
- Translate Haskell into English Manually, Part II | Linux Journal
Shannon Behrens
•
August 03, 2006
- Everything Your Professor Failed to Tell You About Functional Programming | Linux Journal
Shannon Behrens
•
January 31, 2006
- Rethinking the JavaScript ternary operator
Lots of people treat the ternary operator with suspicion. At first glance, ternaries appear unnecessary. Nothing more than a tool for the overly clever to trim some characters from their code. A favourite hack for coders who don’t care about readability. And sure, it’s all too easy to turn ternaries…
- Encapsulation
Kyle Shevlin
Typically, functions are written for their reusability, but I want to convince you that the reason to reach for a function is to encapsulate a concern.
- useEncapsulation
Kyle Shevlin
Improve the quality of your codebase with encapsulation and custom React hooks.
- Emacsair! Magit, the magical Git interface
Jonas Bernoulli
Blog of Jonas Bernoulli
- Emacsair! A walk through the Magit interface
Jonas Bernoulli
Blog of Jonas Bernoulli
- Vortex Race 3 Quick Reference
A quick reference & guide for the Vortex Race 3 mechanical keyboard, covering some of questions I’ve seen in other posts & reviews about the board.
- Vortex Race3 Key Remap
Brad Searle
•
May 11, 2019
- Vim Tips
Giles Orr
•
November 12, 2018
- Buffers, windows, and tabs | Arabesque
Tom Ryder
•
January 22, 2012
- Getting started with Neovim ☯ Daniel Wayne Armstrong
Daniel Wayne Armstrong
Welcome to my corner of the webiverse
- What is a bare git repository? | Jon Saints
Jon Saints
- How to store dotfiles | Atlassian Git Tutorial
Nicola Paolucci
Learn how to store your dotfiles using a bare Git repository. You can easily get started using the code snippets in this step-by-step tutorial.
- Brandon Invergo - Using GNU Stow to manage your dotfiles
Brandon Invergo
Adaptation, Algorithms and Ambience
- Modeling UI States in A React Form Component Using A Finite State Machine
Xiaoyun Yang
•
April 08, 2021
A finite state machine (FSM) is an architectural design pattern that allows us to model a large system as a collection of loosely coupled…
- The anatomy of a button — UI component series
Taras Bakusevych
•
October 15, 2020
All you need to know about button design, one of the main interactive building blocks for creating a user interface.
- A coat check ticket, a magic spell
Minting digital art in a weird new market.
- How to write a React Component in TypeScript
There are plenty of ways to do it, here’s how I recommend typing React Components
- No, disabling a button is not app logic.
A journey through the perils of haphazardly managing state with Boolean flags, to the tranquility of using reducers and state machines.
- TypeScript: Narrow types in catch clauses
Articles on web dev and software engineering: TypeScript, JavaScript, Rust, and more!
- Test-driven Development and React
Kirill Novik
•
February 28, 2021
Sandbox with the result here: https://codesandbox.io/s/tdd-and-react-4g98i
- IDOM - It’s React, but in Python - Ryan Morshead
Ryan Morshead
•
March 08, 2021
IDOM is a new declarative Python package for building highly interactive user interfaces.
- Should You Use useMemo in React? A Benchmarked Analysis.
Some of our developers recently came with the question, when should I use useMemo in React? In this article we benchmark the performance.
- The string type is broken
My previous article, “We don’t need a string type”, caused a bit of stir. Though the feedback is mixed, there is a common theme of a string being a useful feature. After doing a b…
- Merging coverage reports from Jest and Cypress
How to merge the coverage reports from both Jest and Cypress
- Maker’s Schedule, Manager’s Schedule
Paul Graham
- Why scientists are turning to Rust
Jeffrey M. Perkel
•
December 01, 2020
Despite having a steep learning curve, the programming language offers speed and safety.
- TypeScript + React: Why I don’t use React.FC
Articles on web dev and software engineering: TypeScript, JavaScript, Rust, and more!
- Don’t use functions as callbacks unless they’re designed for it
Jake Archibald
•
January 29, 2021
…same goes for option objects.
- JavaScript’s Memory Management Explained
Even though the JavaScript engine manages memory for us, it’s good to know what happens under the hood.
- JavaScript Event Loop And Call Stack Explained
Learn how JavaScript works in the browser: In this article, I explain how the call stack, event loop, job queue and more work together.
- Sticky Footer, Five Ways | CSS-Tricks
The purpose of a sticky footer is that it “sticks” to the bottom of the browser window. But not always, if there is enough content on the page to push the
- ARCHITECTURE.md
Aleksey Kladov
•
February 06, 2021
If you maintain an open-source project in the range of 10k-200k lines of code, I strongly encourage you to add an ARCHITECTURE document next to README and CO...
- Using built-in utility types in TypeScript - LogRocket Blog
Basarat Ali Syet
•
February 12, 2021
In this post, you can learn about the many built-in utility types that come with TypeScript and why/how to use them.
- PureScript and Haskell
Drew Olson
•
February 24, 2021
- How to write tests for XState – CodeWithSwiz 12 | Swizec Teller
David K Piano
•
June 26, 2021
Once you know how to refactor a useReducer to XState, you gotta prove you did it right.
- Wormhole state management | Swizec Teller
Swizec Teller
Swizec turns coders into high value JavaScript experts with books, articles, talks, and workshops
- React context without context, using XState – CodeWithSwiz 14, 15 | Swizec Teller
Swizec Teller
useAuth works without React Context! 🎉 here’s how
- Let them paste passwords
- Building Future UIs
Brian Mathews
•
August 28, 2019
What is it about futuristic sci-fi UIs that feel so futuristic and appealing? Can we build some of these with the web technologies we have today?
- Modern React testing, part 4: Cypress and Cypress Testing Library
You’ll learn how to test React apps end-to-end with Cypress and Cypres Testing Library, how to mock network requests with Mock Service Worker, and how to apply testing best practices to write integration tests.
- Ensuring React Testing Library best practices with ESLint
These two ESLint plugins could be useful to improve consistency in how your team is using React Testing Library: eslint-plugin-testing…
- Building Future UIs
- Business and Engineering alignment
How to convince “the business folks” to let you do what you want.
- React Generic Props
Creating reusable React components with generic props
- Tao of React - Software Design, Architecture & Best Practices
Alex Kondov
I’ve been working with React since 2016 and still there isn’t a single best practice when it comes to application structure and design. While there are best…
- The 5 Types Of React Application State
When I started writing React apps, structuring my application’s state was a constant struggle. But then I learned how to split that state into five types.
- A feature based approach to React development
Ryan Lanciaux
There are a lot of opinions around how to arrange a React project. In this post, I want to talk about feature folders and why I think they are a great choice…
- Atomic Design
Brad Frost
•
August 31, 2020
Hey there! I wrote a book called Atomic Design that dives into this topic in more detail, which you can buy as an ebook. We’re not designing pages, we’re designing systems of components.—Stephen Hay As the craft of Web design continues to evolve, we’re recognizing the need to develop thoughtful de
- How Web Apps Work: AJAX, APIs, and Data Transfer
Mark Erikson
•
November 22, 2020
An overview of the concepts, terms, and data flow used in web apps: AJAX, JSON, APIs, and data transfer
- How Web Apps Work: JavaScript and the DOM
Mark Erikson
•
November 15, 2020
An overview of the concepts, terms, and data flow used in web apps: JavaScript and the DOM
- How Web Apps Work: Browsers, HTML, and CSS
Mark Erikson
•
November 09, 2020
An overview of the concepts, terms, and data flow used in web apps: browsers, HTML, and CSS
- How Web Apps Work: Client Development and Deployment
Mark Erikson
•
November 06, 2020
An overview of the concepts, terms, and data flow used in web apps: JS client development environment, tooling, and deployment
- How Web Apps Work: HTTP and Servers
Mark Erikson
•
November 06, 2020
An overview of the concepts, terms, and data flow used in web apps: the HTTP protocol and HTTP server apps
- But really, what is a JavaScript test?
Let’s take a step back and understand automated testing of JavaScript from square one.
- Javascript is the best programming language in the world
On the nature of love and hate for inanimate things such as programming languages and how to take a more objective stance against the vast programming landscape. By franleplant
- React is slow, what now?
We study React applications performance from the ground up, the processes involved, the tools to measure and identify slow parts, the important metrics to take in account, how these impact the UX and the various ways there are available to make applications super fast and smooth. Grab a cup of coffe…
- Knowing When CRUD & MVC Isn’t Enough | Enterprise Node.js + TypeScript | Khalil Stemmler
Khalil Stemmler
•
May 24, 2019
MVC the granddaddy of application architectures. In this article, we explore common MVC patterns, the responsibilities of the “M”- model, and when it makes sense to look to other architectures.
- Build A Confirmation Modal in React with State Machines
React confirmation modals can be tricky, with useEffect and keeping track of shown/hidden, loading/not, and errors. State machines make it a breeze!
- Dear Haskell it’s not you, it’s your tooling. · Blog
- lower case haskell
tonyday567
•
December 14, 2020
Type-level trickery, UpperCase Haskell, is the showy rock-star of Haskell and all power to the Type. I like a good Type as much as anyone, but what keeps me using the language is the work-a-day value-level coding tool-kit - lower case haskell. Let me explain. In noodling around with stan, a wonderfu…
- Hanlon’s Razor: Relax, Not Everything is Out to Get You
Hanlon’s Razor teaches us not to assume the worst intention in the actions of others. Understanding Hanlon’s Razor helps us see the world in a more positive light, stop negative assumptions, and improve relationships.
- Algebraic Effects for React Developers
Reese Williams
•
May 02, 2021
Building a Mental Model for React Hooks
- JavaScript Frameworks, Performance Comparison 2020
The ultimate performance battle between JavaScript frameworks
- Client-Side Architecture Basics [Guide] | Khalil Stemmler
Khalil Stemmler
•
June 24, 2020
Though the tools we use to build client-side web apps have changed substantially over the years, the fundamental principles behind designing robust software have remained relatively the same. In this guide, we go back to basics and discuss a better way to think about the front-end architecture using…
- Improve Your TypeScript With Static Analysis
Nikolay Grozev
•
March 22, 2020
This article describes a set of tools for static analysis and automated audits of TypeScript code.
- De Code Natura | How to setup NextJS with TypeScript and ESLint + prettier
The best tools for full stack development with NextJS
- Naming standards for unit tests — Roy Osherove
Roy Osherove
•
May 15, 2012
The basic naming of a test comprises of three main parts: [UnitOfWork_StateUnderTest_ExpectedBehavior] A unit of work is a use case in the system that startes with a public method and ends up with one of three types of results: a return value/exception, a state change to the system
- Business and Engineering alignment
- React Refs: The Complete Story
Programming terminology can be rather confusing. The first time I’d heard about “React Refs”, it was in the context of getting a reference to a DOM node…
- A Primer on the Different Types of Browser Storage
In back-end development, storage is a common part of the job. Application data is stored in databases, files in object storage, transient data in caches…
- If PHP Were British
PHP, as the result of a spectacular error of judgement, appears to be written in US English. How do we developers ensure the traditions of the British Empire continue to be upheld, even in the digital age?
- If not SPAs, What?
Tom MacWright
Trends trends trends!
- 10 React security best practices | Snyk
Check out this checklist of React security best practices to help you and your team find and fix security issues in your React applications.
- The CSS Mindset
CSS can be difficult to grasp if you think about it in terms of a “traditional” programming language. There is a certain mindset involved that helps to understand why it works the way it does.
- Quickie fetch JSON helper for TypeScript | Ben Ilegbodu
How to avoid receiving the TypeScript any type from the Fetch API when retrieving JSON data
- No One Ever Got Fired for Choosing React
Jake Lazaroff
•
December 04, 2020
If you spend a lot of time on Hacker News, it’s easy to get taken by the allure of building a web app without a framework. There are a bunch of potential advantages (no bloat! bespoke to your project!) and being able to say you built something with minimal dependencies gets you Engineer Points. That…
- Dangling by a Trivial Feature
James Hague
- Functional Programming Went Mainstream Years Ago
James Hague
- Getting Started with npm Workspaces
The newest major release of npm, launched in October 2020, came out with a very anticipated feature....
- Create React App with an Express Backend
Learn how to connect a Create React App to an Express backend server.
- Objects in Functional Languages
Getty Ritter
•
July 08, 2020
Let's talk about objects in functional languages. This could be a sticking point, so I'll get this out of the way up-front: I fi...
- Microfrontends: an expensive recipe for frontend applications
Sergio Martino
•
November 15, 2020
Are Microfrontends worth the complexity? An overview of Microfrontends pros and cons.
- adventures in uncertainty: Existential Haskell
Patrick Thomson
- Refactoring a useReducer to XState, pt1 – CodeWithSwiz 11 | Swizec Teller
Swizec Teller
•
June 26, 2021
XState promises to be like useReducer+Context combined and the simplest way to handle complex state in React apps. But can it deliver? On this episode of #CodeWithSwiz, we gave it a shot.
- Building a Cli Tool in Rust
Adam Melnyk
•
May 02, 2020
A short tutorial on building a useful command line tool in Rust
- Dockerizing a React App
Michael Herman
•
April 07, 2020
Let’s look at how to Dockerize a React app.
- Go vs Rust: Writing a CLI tool - cuchi.me
Paulo Henrique Cuchi
Hi there! this page is where I share my thoughs and knowledge about software development.
- I want off Mr. Golang’s Wild Ride - fasterthanli.me
fasterthanlime
•
February 28, 2020
My honeymoon with the Go language is extremely over. This article is going to have a different tone from what I’ve been posting the past year - it’s a proper rant. And I alw...
- Sick of the stupid jokes? Write your own arbitrary-precision JavaScript math library
Javascript has its fair share of ‘wat’ moments. Even though most of them have a logical explanation once you dig in, they can still be surprising. But JavaScript doesn’t deserve all the indignant laughter. And now that BigInt is officially part of the TC39 ECMAScript standard, we have options. I’m g…
- React Refs: The Complete Story
- Windows 10 update changes partition table and breaks GRUB
Michael Friedrich
•
January 04, 2016
It’s holiday season and so I got a hold of playing some games longly missed on Windows. Booting Windows 10 certainly unveiled several pending updates (Antivirus, Geforce, Windows updates). Si…
- Building an App with the Vanilla DOM API (2020) - ui.dev
In this post, you’ll learn everything you need to know to build a simple web app using only vanilla DOM APIs including creating new elements, modify existing elements, and hooking all of that up to external data using the fetch API.
- How to Delete ALL node_modules folders on your machine
Delete all node_modules on your machine recursively while leaving projects intact. Learn how to free up space on your Mac/PC in 1-line of code!
- Windows 10 update changes partition table and breaks GRUB
- Give it five minutes
A few years ago I used to be a hothead. Whenever anyone said anything, I’d think of a way to disagree. I’d push back hard if something didn’t fit my world-view. It’s like I had to be first with an opinion – as if being first meant something. But what it really meant…
- You Are Not Google
Software engineers go crazy for the most ridiculous things. We like to think that we’re hyper-rational, but when we have to choose a…
- How Stripe Designs Beautiful Websites – Lee Robinson
Lee Robinson
•
December 02, 2017
Examining the tips and tricks used to make Stripe’s website design a notch above the rest.
- Connect: behind the front-end experience
Benjamin De Cock
Online payment processing for internet businesses. Stripe is a suite of payment APIs that powers commerce for businesses of all sizes.
- Developer ‘Marketing’
Helen Min
•
October 31, 2020
A strong developer brand is more valuable than ever. So how do you build one?
- JQuery to React: How we rewrote the HelloSign Editor
Asa Ayers
- Against the Cult of Travel, or What Everyone Gets Wrong About the Hobbit
Is our faith in travel justified? Or have we forced it to bear the weight of far heavier expectations than it should be made to carry?
- I Hate a Challenge – The Flaneur
Jonathan Powell
•
June 26, 2021
- Four characters can optimize your React component | Ben Ilegbodu
How making use of useState lazy initialization can speed up your React function component
- Everything I Know About Style Guides, Design Systems, and Component Libraries – Lee Robinson
Lee Robinson
•
August 07, 2019
A deep-dive on everything I’ve learned in the past year building style guides, design systems, component libraries, and their best practices.
- Oh No! Our Stylesheet Only Grows and Grows and Grows! (The Append-Only Stylesheet Problem)
This is a real worry these days. I’ve heard it from lots of lots of developers. The years tick by on their projects, and all they ever seem to do is add
- Tech stack rebuild for a new Facebook.com - Facebook Engineering
Ashley Watkins, Royi Hagigi
•
June 09, 2020
Building a new web app for today’s browsers, we completely rebuilt our tech stack to achieve our goals for performance and sustainable future growth.
- Why you’ll probably regret using Tailwind - Johan Ronsse
Johan Ronsse
•
July 09, 2020
- Why Tailwind CSS
Why I changed my mind on Tailwind CSS, and why I now consider it the Goldilocks Styling Solution
- Give it five minutes
- How React Query gives you almost everything you thought you needed GraphQL for | Swizec Teller
Swizec Teller
GraphQL solves every problem you’ve ever had talking to APIs on the frontend. Mention a switch to GraphQL to your team and they think it’s a joke. Rewrite our entire app? oh you jokester. React Query is the perfect middle ground ❤️
- Comparing Vue and React
Paul Shen
- Will this work in React Concurrent mode?
Paul Shen
- From Rust to TypeScript
Alan Darmasaputra
•
September 12, 2020
I am Alan, a Software Engineer, Gamer, and Metalhead. Sometimes I write about stuffs and here’s where I stash them. Welcome!
- Monads for JavaScript developers
Paul Shen
- Is Rust a Functional Language in Disguise?
Manuel Cerón
•
September 17, 2020
This is something I’ve been asking myself while learning Rust. Yes, I know that this sounds like a weird question to ask as it’s no secret that Rust has huge influence from the functional programmi…
- What Is Nix
Burke Libbey
•
May 19, 2020
This article is going to be a crash course in what Nix is, how to think about it, and why it’s such a valuable and paradigm-shifting piece of technology.
- DigitalOcean’s Hacktoberfest is Hurting Open Source
For the last couple of years, DigitalOcean has run Hacktoberfest, which purports to “support open source” by giving free t-shirts to people who send pull requests to open source repositories. In reality, Hacktoberfest is a corporate-s...
- How React Query gives you almost everything you thought you needed GraphQL for | Swizec Teller
- Programming Sucks
- Chipotle Bias
- 3 tribes of programming
Joseph Gentle
•
June 18, 2017
There’s an old joke that computer science is a lie, because its not really about computers, and its not really a science. Funny joke. Everyone laughs, then someone says “Yeah but it sort of is about computers though, isn’t it?”. Feet shuffle awkwardly. Someone clears their throat and before you
- How to Write PureScript React Components to Replace JavaScript
Thomas Honeyman
•
June 26, 2019
PureScript helps reduce bugs and improve the stability of complex applications. Learn how to incrementally take over a small React application using Purescript’s React Basic library while writing idiomatic code in both languages.
- Accessibility Testing is like Making Coffee
Some Background I had the privilege of creating course material to teach accessibility testing for work this past quarter. I agonized over…
- Which Back End Should I Use As A Front-End Developer? – Lee Robinson
Lee Robinson
•
August 09, 2020
Choosing a service to store data can be confusing and overwhelming for a front-end developer. This comprehensive guide is a choose your own adventure dive into creating your backend.
- When (and why) not to go serverless
The benefits, and the drawbacks, to serverless are real. When (and why) not to go serverless.
- Benevolent sexism: a feminist comic explains how it holds women back
Emma
•
August 14, 2020
The French artist Emma, famous for her comic on the ‘mental load’, illustrates how certain ‘friendly’ remarks can belittle women in the workplace
- Only Sith deal in absolutes.
Thoughts on the “right way” to build software
- In Defense of Hammers: Why “Right Tool for Most Jobs” beats “Right Tool for the Job” ∊ swyx.io
In Defense of Hammers: Why “Right Tool for Most Jobs” beats “Right Tool for the Job” ∊ swyx.io
- Optimized for Change
What makes a great API?
- Things You Should Never Do, Part I
Joel Spolsky
•
December 05, 2016
Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long tim…
- How it feels to learn JavaScript in 2016 | Hacker Noon
Jose Aguinaga
•
October 03, 2016
No JavaScript frameworks were created during the writing of this article. The following is inspired by the article “It’s the future” from Circle CI. You can read the original here . This piece is just an opinion, and like any JavaScript framework, it shouldn’t be taken too seriously. Hey, I got this…
- How SWR works behind the scenes
I first learned about SWR thanks to a video tutorial by Leigh Halliday: “React Data Fetching with Hoo...
- Portals considered harmful
Marvin Hagemeist
•
July 18, 2020
Make sure that each Portal and render() root has its own DOM node. Don’t mix the two or try to share roots as this is undefined behavior and leads to brittle apps.
- React Query and Management of Server State | Rootstrap Blog
Some days ago the React Summit Remote Edition gathered tons of people behind the screen with the promise of putting together popular speakers around the React Community like Kent C. Dodds and Guillermo Rauch among others, but one talk especially caught my attention, React Query: It’s Time to Break u…
- Anatomy of a Typed React Component | Daniel Eden, Designer
Daniel Eden
The personal site, blog, and portfolio of Daniel Eden, a designer writing and thinking about design systems.
- Deep dive: How do React hooks really work? | Netlify
In this article, we reintroduce closures by building a tiny clone of React Hooks. This will serve two purposes - to demonstrate the effective use of closures in building our React Hooks clone itself, and also to implement a naive mental model of how Hooks work under the hood. Finally, we arrive at h…
- Inside a dev’s mind - Refactoring and debugging a React test
You may know this already: testing is an integral part of the skillset of every professional developer. Many job listings require at least…
- An in-depth beginner’s guide to testing React applications in 2020
Find out what to test and which testing framework to use. Learn a clear approach by writing tests for an extensive example app and get a cheat sheet on top.
- React is an implementation detail
...yep, you read that right. Most of the course actually has nothing to do with React specifically.
- Stop mocking fetch
Why you shouldn’t mock fetch or your API Client in your tests and what to do instead.
- Why I Stopped Using Redux
Redux was a revolutionary technology in the React ecosystem. It enabled us to have a global store wi...
- React Redux Hooks and TypeScript - Part 2
How to use Redux to manage state in a React app in a strongly-typed fashion with TypeScript when actions are asynchronous
- React Redux Hooks and TypeScript - Part 1
How to use Redux to manage state in a React app in a strongly-typed fashion with TypeScript
- React for Vue developers
Sebastian De Deyne
•
January 29, 2020
For the past three years, I’ve been using both React and Vue in different projects, ranging from smaller websites to large scale apps. Last month I wrote a post about why I prefer React over Vue. Shortly after I joined Adam Wathan on Full Stack Radio to talk about React from a Vue …
- Why I prefer React over Vue
Sebastian De Deyne
•
September 28, 2019
Vue is the default JavaScript framework for Laravel apps. Being part of the Laravel community, I often get the question why I prefer React, so I’ve decided to write down a few standout reasons.
- Vue templates in JSX
Sebastian De Deyne
•
September 28, 2019
In my most recent project at work, I’m experimenting with JSX templates in Vue. Vue offers first-party support for JSX with near-zero configuration, but it doesn’t seem to be commonly used in the ecosystem.
- JavaScript Debounce Function
Download this debounce JavaScript function to limit your JavaScript function execution rate!
- Array Functions and the Rule of Least Power
Jesse Duffield
•
July 09, 2020
- Advanced TypeScript Types cheat sheet (with examples)
Ibrahima Ndaw
TypeScript is a typed language that allows you to specify the type of variables, function parameters, returned values, and object properties. Here an advanced TypeScript Types cheat sheet with examples. Let’s dive in Intersection Types Union Types…
- Designing the perfect Typescript schema validation library
There are a handful of wildly popular validation libraries in the Javascript ecosystem with thousands of stars on GitHub. But as I dug deeper into the many beloved tools in the ecosystem, I was surprised that none of them could provide the features and developer experience I was looking for. Until n…
- Typescript union types are intersection types and vice versa.
Niccolò Terreri
The intuitive semantics for
- Fetch with async & await and TypeScript
The fetch API is a native JavaScript function that we can use to interact with web services. How can we use fetch with async and await? and how can we use this with TypeScript to get a strongly-typed response? Let’s find out ...
- Beating C with 80 lines of Haskell: wc
An exploration into high-performance Haskell by cloning the wc utility
- Type Safety Back and Forth
Matt Parsons
•
October 11, 2017
Types are a powerful construct for improving program safety.Haskell has a few notable ways of handling potential failure, the most famous being the venerable...
- Parse, don’t validate
Alexis King
•
November 05, 2019
Historically, I’ve struggled to find a concise, simple way to explain what it means to practice type-driven design. Too often, when someone asks me “How did you come up with this approach?” I find I can’t give them a satisfying answer. I know it didn’t ju...
- Accessible Icon Buttons
Sara Soueidan
Freelance Front-End Web UI/UX Developer - Lebanon
- Web components
Sebastian De Deyne
•
October 20, 2020
Every now and then, web components hype seems to resurface. Judging by my Twitter feed, it’s a bull market period now. Seems like a good time to share some thoughts.
- How to Write Technical Posts (so people will read them) :: Reasonably Polymorphic
Sandy Maguire
- The MIT License, Line by Line
171 words every programmer should understand
- De-Escalating Social Media
Nick Punt
•
June 23, 2021
Designing humility and forgiveness into social media products
- The Wrong Abstraction
Sandi Metz
•
March 20, 2021
I’ve been thinking about the consequences of the “wrong abstraction.” My RailsConf 2014 “all the little things” talk included a section where I asserted: > duplication is far cheaper than the wrong abstraction And in the summary, I went on to advise: >
- The saddest “Just Ship It” story ever
Kitze
This is a story of how it took me way too long to ship a product, and I ended up paying for a competitor product instead.
- Open Source Sustainability
The status quo in open source is broken. Corporations profit hugely from open source libraries, and give almost nothing back, which leans to burnout which is bad for everyone.
- How SWR works behind the scenes
- What Are the React Team Principles?
UI Before API.
- Why React Hooks? - ui.dev
In this post you’ll learn why the React team dedicated so many resources to creating and releasing React Hooks. Along the way, you’ll also get a soft introduction to the main aspects of the React Hooks API.
- Why Isn’t X a Hook?
Just because we can, doesn’t mean we should.
- Making setInterval Declarative with React Hooks
How I learned to stop worrying and love refs.
- How Are Function Components Different from Classes?
They’re a whole different Pokémon.
- Blogged Answers: A (Mostly) Complete Guide to React Rendering Behavior
Mark Erikson
•
May 18, 2020
Details on how React rendering behaves, and how use of Context and React-Redux affect rendering
- JavaScript to Know for React
What JavaScript features you should be familiar with when learning and using React
- React, Redux and JavaScript Architecture
Whether you use them or not, React and Redux are important. They have changed the way we think about structuring front-end web applications. They can be very powerful. But they are not magic. JavaScript code does not automatically become better just because it uses React. It is easy to write horribl…
- A Complete Guide to useEffect
Effects are a part of your data flow.
- useEffect vs useLayoutEffect
The simple rules for when to use each.
- When to useMemo and useCallback
Performance optimizations ALWAYS come with a cost but do NOT always come with a benefit. Let’s talk about the costs and benefits of useMemo and useCallback.
- Should I useState or useReducer?
Two built-in React hooks that handle state, which one should you use?
- How Does the Development Mode Work?
Dead code elimination by convention.
- Using Tailwind CSS with Create React App
- Common mistakes with React Testing Library
Some mistakes I frequently see people making with React Testing Library.
- Idiomatic Redux: Redux Toolkit 1.0
Mark Erikson
•
October 23, 2019
A look at the motivations, design, and goals for Redux Toolkit
- Idiomatic Redux: The History and Implementation of React-Redux
Mark Erikson
•
November 23, 2018
Some history and explanations of how React-Redux got its API, and how it works internally
- Idiomatic Redux: Using Reselect Selectors for Encapsulation and Performance
Mark Erikson
•
December 23, 2017
An overview of why and how to use Reselect with React and Redux
- Idiomatic Redux: The Tao of Redux, Part 2 - Practice and Philosophy
Mark Erikson
•
May 10, 2017
More thoughts on what Redux requires, how Redux is intended to be used, and what is possible with Redux
- Idiomatic Redux: The Tao of Redux, Part 1 - Implementation and Intent
Mark Erikson
•
May 09, 2017
Thoughts on what Redux requires, how Redux is intended to be used, and what is possible with Redux
- Idiomatic Redux: Thoughts on Thunks, Sagas, Abstraction, and Reusability
Mark Erikson
•
January 03, 2017
Opinions on the benefits and use cases of thunks and sagas with Redux
- Idiomatic Redux: Why use action creators?
Mark Erikson
•
October 09, 2016
First in an occasional series of thoughts on good usage patterns for Redux
- The Quest for the Perfect Dark Mode
Dark Mode has become common enough that it’s a user expectation. And yet, creating the perfect dark mode with a statically-built site/app is deceptively tricky. In this in-depth tutorial, we’ll see how to build the perfect, flicker-free, customizable theming solution for React and Gatsby apps.
- JavaScript Without Loops
We’ve been talking about writing less complex JavaScript. We do this by choosing the right abstraction to solve a problem. But how do you know which abstraction to use? So far, we haven’t looked at any concrete examples of how to do this. In this article we look at how to deal with JavaScript arrays…
- On let vs const
So which one should I use?
- The Algebraic Structure of Functions, illustrated using React components
Did you know there’s an algebraic structure for functions? That may not surprise you at all. But it surprised me when I first found out about it. I knew we used functions to build algebraic structures. It never occurred to me that functions themselves might have an algebraic structure. The structure…
- Functional JavaScript: What are higher-order functions, and why should anyone care?
“Higher-order function” is one of those phrases people throw around a lot. But it’s rare for anyone to stop to explain what that means. Perhaps you already know what a higher-order function is. But how do we use them in the real world? What are some practical examples of when and how they’re useful?…
- Object destructuring and currying in functional JavaScript
Currying is one of the most formidable weapons in our functional programming arsenal. Combined with composition, it’s extremely powerful. But is currying useful if you’re doing object destructuring with your function parameters?
- The Marvellously Mysterious JavaScript Maybe Monad
Monads have a bad reputation in the JavaScript community. Douglas Crockford even said that monads are cursed: Once you reach enlightenment and finally understand monads, you immediately lose the ability to explain them to others. Even amongst experienced functional programmers, monads are treated wi…
- Algebraic Effects for the Rest of Us
They’re not burritos.
- Streaming Logs with Transducers and Ramda
simplectic
•
March 24, 2015
Ramda is a library that helps you write JavaScript without curly braces. In this article we will use Ramda to parse a log file without curly braces (and introduce transducers along the way).
- A Gentle Introduction to Functional JavaScript: Part 4
In the last article of our four-part introduction to functional programming in JavaScript, we looked at higher-order functions. In this article we discuss how to use these new tools with style.
- A Gentle Introduction to Functional JavaScript: Part 3
In the last article, we saw how functional programming can be used with arrays. In this article we examine higher-order functions—functions for making functions.
- A Gentle Introduction to Functional JavaScript: Part 2
In the previous article, we saw how functions can be used to make certain code abstractions easier. In this article we apply these techniques to arrays and lists.
- A Gentle Introduction to Functional JavaScript: Part 1
What is all the hype about Functional JavaScript? And why is it called <em>functional?</em> It’s not as though anyone sets out to write <em>dys</em>functional Javascript. What is it good for? Why would you bother?
- Algebraic Data Types: Things I wish someone had explained about functional programming
Algebraic data types and algebraic data structures sound similar. It’s like they ought to be the same thing. But they’re not. They both have ‘algebraic’ in the name, so it’s confusing. I got them mixed up at times. Others have too. But, they’re different concepts. Understanding the difference will h…
- Type Classes: Things I wish someone had explained about functional programming
Type classes are not the same thing as algebraic structures. But you’ll find many people use the terms interchangably. And that can be confusing. It confused me for a long time. In this article we look at what type classes actually are. And we’ll also look at why programmers from other languages are…
- Algebraic Structures: Things I wish someone had explained about functional programming
Algebraic Structures are something I wish I’d understood better, sooner. I had a hazy idea of what they were, but didn’t know the correct terminology. That was a massive barrier to finding out more. This article is my attempt to stop that happening to others. We’ll look at: What are algebraic struct…
- Things I wish someone had explained about functional programming
It’s hard learning functional programming on your own. But it ought not to be. You don’t need a PhD to understand functional programming. The concepts are abstract, yes. But that doesn’t make them incomprehensible. It shouldn’t be this difficult. This is the first in a four-part series on things I w…
- Thinking in Ramda: Wrap-Up
Randy Coulman
•
July 19, 2016
This post completes a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Lenses
Randy Coulman
•
July 12, 2016
This post is Part 8 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Immutability and Arrays
Randy Coulman
•
July 05, 2016
This post is Part 7 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Immutability and Objects
Randy Coulman
•
June 28, 2016
This post is Part 6 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Pointfree Style
Randy Coulman
•
June 21, 2016
This post is Part 5 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Declarative Programming
Randy Coulman
•
June 14, 2016
This post is Part 4 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Partial Application
Randy Coulman
•
June 07, 2016
This post is Part 3 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Combining Functions
Randy Coulman
•
May 31, 2016
This post is Part 2 of a series about functional programming called Thinking in Ramda.
- Thinking in Ramda: Getting Started
Randy Coulman
•
May 24, 2016
This post is the beginning of a new series about functional programming called Thinking in Ramda.
- Understanding TypeScript’s type notation
Axel Rauschmayer
•
April 08, 2018
- TypeScript vs. PureScript - LogRocket Blog
Hernan Rajchert
•
November 14, 2019
There are many ways to skin a cat, and for each one, there is a statically typed language that compiles to JavaScript. Among the best-known we have TypeScript (TS), PureScript (PS), Elm, Reason, Flow and Dart. But why are there so many? Why do they exist, and what is their rationale? In this post, w…
- Interoperability with non functional code using fp-ts
Giulio Canti
•
April 16, 2021
Sometimes you are forced to interoperate with code not written in a functional style, let’s see how t...
- Getting started with fp-ts: Reader
Giulio Canti
•
December 18, 2019
The purpose of the Reader monad is to avoid threading arguments through multiple functions in order t...
- Getting started with fp-ts: IO
Giulio Canti
•
October 03, 2019
In fp-ts a synchronous effectful computation is represented by the IO type, which is basically a thun...
- Getting started with fp-ts: Either vs Validation
Giulio Canti
•
November 30, 2019
The problem Say you must implement a web form to signup for an account. The form contains...
- Getting started with fp-ts: Monad
Giulio Canti
•
September 06, 2019
In the last post we saw that we can compose an effectful program f: (a: A) => M<B> with a pu...
- Getting started with fp-ts: Applicative
Giulio Canti
•
July 02, 2019
In the last post we saw that we can compose an effectful program f: (a: A) => F<B> with a pu...
- Getting started with fp-ts: Functor
Giulio Canti
•
October 10, 2019
In the last post about categories I presented the TS category (the TypeScript category) and the centr...
- Getting started with fp-ts: Category
Giulio Canti
•
July 01, 2019
In the last posts we saw some basic abstractions used in functional programming: Eq, Ord, Semigroup a...
- Getting started with fp-ts: Monoid
Giulio Canti
•
April 09, 2019
In the last post we saw that a Semigroup captures the concept of “merging” values (via concat). A Mon...
- Getting started with fp-ts: Semigroup
Giulio Canti
•
July 02, 2019
Since semigroups are such a fundamental abstraction of functional programming, this blog post will be...
- Getting started with fp-ts: Ord
Giulio Canti
•
December 01, 2019
In the previous blog post about Eq we were dealing with the concept of equality. In this blog post we...
- Getting started with fp-ts: Eq
Giulio Canti
•
June 25, 2019
In this blog series I will often talk about “type classes” and “instances”, let’s see what they are a...
- Functional design: Algebraic Data Types
Giulio Canti
•
October 10, 2019
A good first step while building a new application is to define its domain model. TypeScript offers m...
- Functional design: TDD in TypeScript (aka abusing `declare`)
Giulio Canti
•
April 09, 2019
Type driven development (TDD) is a technique used to split a problem into a set of smaller problems,...
- Functional design: smart constructors
Giulio Canti
•
July 02, 2019
Sometimes you need guarantees about the values in your program beyond what can be accomplished with t...
- Functional design: tagless final
Giulio Canti
•
January 07, 2020
In the last article I wrote a time combinator which mimics the analogous Unix command: given an actio...
- Functional design: how to make the `time` combinator more general
Giulio Canti
•
March 09, 2020
In the last article I wrote a time combinator which mimics the analogous Unix command: given an actio...
- Functional design: combinators
Giulio Canti
•
April 16, 2021
In this article the term “combinator” refers to the combinator pattern A style of organizing librar...
- Index — Make the Leap from JavaScript to Purescript
This is the Index to the “Make the Leap from JavaScript to PureScript” tutorial series. I’ll be publishing a new tutorial approximately…
- Purescript 4 — Monday Morning Haskell
Monday Morning Haskell
•
June 28, 2021
- Purescript 3 — Monday Morning Haskell
Monday Morning Haskell
•
June 28, 2021
- Purescript 2 — Monday Morning Haskell
Monday Morning Haskell
•
June 28, 2021
- Purescript 1 — Monday Morning Haskell
Monday Morning Haskell
•
June 28, 2021
- CSS Utility Classes and “Separation of Concerns”
Over the last several years, the way I write CSS has transitioned from a “semantic” approach to something more like what people call “functional CSS.” In this post I explain how I got to this point and share some of the lessons and insights I’ve picked up along the way.
- Creating an SVG path drawing animation.
Creating my logo animation using SVG and Greensock
- Motion Paths - Past, Present and Future
Cassie Evans
•
December 03, 2019
Let’s explore a few ways of moving an element along a path, including the upcoming CSS motion path module and the newly released GSAP3.
- Second-guessing the modern web
Tom MacWright
What if everyone’s wrong?
- In defense of the modern web
I expect I’ll annoy everyone with this post: the anti-JavaScript crusaders, justly aghast at how much...
- Stop using client-side route redirects
Why you should stop using client-side route redirects (like the from prop on React Router’s Redirect component) and what you should do instead.
- The Great Divide
Let’s say there is a divide happening in front-end development. I feel it, but it’s not just in my bones. Based on an awful lot of written developer
- In Defense of a Fussy Website
The other day I was doom-scrolling twitter, and I saw a delightful article titled “The Case for Fussy Breakfasts.” I love food and especially breakfast,
- The History of Git: The Road to Domination
Andy Favell
•
February 04, 2020
Discover the history of Git, based on interviews with Linus Torvalds, Johannes Schindelin, Jeff King and Tom Preston-Werner.
- Firefox Privacy - The Complete How-To Guide | Restore Privacy
Sven Taylor
•
September 12, 2020
Mozilla Firefox is arguably the best browser available that combines strong privacy protection features, good security, active development, and regular updates. In this guide we will explain the different modifications and add-ons to achieve maximum privacy and security with Firefox.
- What Are the React Team Principles?