Reading List Archives
I keep track of all the blog posts I have read in 2021.
- Articles Read
- 1.1K
Since 27 December 2020
- This Week
- 0
- This Month
- 0
15 May 2022
- End-to-End Monitoring with Grafana Cloud with Minimal Effort
Martin Heinz
•
2 May 2022
Monitoring is usually at the end of a checklist when building an application, yet it’s crucial for making sure that it’s running smoothly and that any ...
6 March 2022
- The perils of the “real” client IP | adam-p
Adam Pritchard
This post ended up being incredibly long comprehensive. I’m afraid that many people won’t read enough to get everything that’s important, so here are the key points: When deriving the “real client IP address” from the X-Forwarded-For header, use the rightmost IP in the list. The leftmost IP in the XFF header is commonly considered to be “closest to the client” and “most real”, but it’s trivially spoofable. Don’t use it for anything even close to security-related.
23 February 2022
- The React.ReactNode type is a black hole
Changelog
•
16 Feb 2022
Many of us use TypeScript in our React applications to eliminate an entire class of runtime bugs. But surprisingly, one of the most commonly used types: React.ReactNode turns out to be unsafe, failing to detect objects that cannot be rendered by React. This post digs into what is going on and how to…
13 February 2022
- UTC is Enough for Everyone, Right?
Zach Holman
•
13 Feb 2022
Programming with dates, times, and timezones is hard. But here’s some help.
10 February 2022
- Exposing a web service with Cloudflare Tunnel
Erisa A
•
7 Feb 2022
What if you could host a web service with no ports exposed? With Cloudflare Tunnel, you can!
- SSH into your private machines from anywhere, for free, using Cloudflare Tunnel
Ben Butterworth
•
10 Feb 2022
SSH to machines in private networks using an SSH key, from anywhere in the world, using Cloudflare Tunnel.
9 February 2022
- Immutability isn’t free
Swizec Teller
•
9 Feb 2022
Or how we took an API endpoint from 16s to 3s.
7 February 2022
- Should you self-host Google Fonts?
Barry Pollard
•
30 Jan 2022
A deep dive into the performance implications of using Google Fonts (good and bad) and whether self-hosting is better.
31 January 2022
- What is the Inverse of a Circle?
Matt Ferraro
•
29 Jan 2022
What does it mean to invert a shape?
27 January 2022
- Prototype-Poisoning
This story is a behind-the-scenes look at the process and drama created by a particularity interesting web security issue. It is also a perfect illustration of the efforts required to maintain popular pieces of open source software and the limitations of existing communication channels.
26 January 2022
- Make Free Stuff
On web3, Wordle and the radical concept of building things for free.
25 January 2022
- Trailing Slashes on URLs: Contentious or Settled?
Zach Leatherman
•
23 Jan 2022
After some discussion with Salma last week, I decided it was worthwhile to do a deep dive on Trailing Slashes in URLs. More specifically, which of these should I be using?
22 January 2022
- Click and Swap, our alternative to Drag and Drop
At Contentsquare, we gather hundreds of metrics about user interactions on the websites of our customers. Having all this information can easily become cumbersome and hard to exploit. To make user…
- Audio Sparklines
Audio Sparklines! 3-bit digital wonders! A lofi waveform representation of audio buffers in tests and lldb debuggers!
21 January 2022
- My Minimal Monorepo Setup with ZX
fastify-vite is a Fastify plugin, perhaps slowly evolving into a mini framework, that enables client application SSR for Fastify using a variety of client frameworks like Vue and React.
20 January 2022
- Deploying a PlanetScale, Next.js & Prisma App to Vercel
David Parks
•
10 Dec 2021
PlanetScale is an exciting new DBaaS geared towards serverless environments. They recently released connection string support with makes integration with Prisma a breeze. We’ll learn how to spin up a new Next.js & Prisma project, connect it to PlanetScale, and deploy it to production on Vercel.
19 January 2022
- Persistent Layout Patterns in Next.js
Strategies for persisting UI elements across page transitions when working with Next.js.
18 January 2022
- Generating Open Graph images with Mapbox & Canvas
How to use Mapbox static image API and Node Canvas to generate custom sharing images
- Building a mapping platform with React and Mapbox GL
How I built my side project Trail Routes
17 January 2022
- Twitter Strategy for Devtool startups
Hassan El Mghari
•
15 Jan 2022
A practical guide for how to grow your developer tool startup’s Twitter presence.
- Why I enjoy PostgreSQL - Infrastructure Engineer’s Perspective
While I enjoy working with MySQL (first database) both as a product and infrastructure engineer, lately, I have come to appreciate PostgreSQL as well. I recently read this post on why infrastructure engineers prefer MySQL, and I think it’s spot on.
- Efficient Pagination Using Deferred Joins
A slight modification to traditional offset/limit pagination that can drastically boost performance.
- Encyclopedia Of Broken UserAgent String Detections
Karl Dubost
•
14 Jan 2022
Recording the way the User Agent string parsing is failing in scripts.
- Slack is optimized for Firefox version 520
Mike Taylr
Erotic web browser fan fiction.
15 January 2022
- Interactive Piano Reference to All Major & Minor Scales
Visual interactive piano reference for major and minor scales, their notes/pitches (+ note placement on the piano keyboard) and their relative minor or major.
- How You Work
Figuring out how you work best, is a superpower.
14 January 2022
- Serverless Collaborative Hierarchical TODO App in 200 LoC
Milan Lajtoš
Web3 will be build on CRDTs, not Blockchain.
- How to Write a Git Commit Message
Commit messages matter. Here’s how to write them well.
13 January 2022
- Bundling TypeScript with Esbuild for NPM
Travis Arnold
Compared to other build tools, Esbuild is a radically more performant bundler. This post will look at setting up a build script to compile TypeScript projects for NPM.
12 January 2022
- Run Next and Remix on the same server
If you want to migrate a Next app to Remix, you may be tempted to do a complete migration. Still, if your app is too complex, you may not be able to do it. In that case, a gradual migration is the best option.
11 January 2022
- Make Beautiful Gradients
Have you ever noticed that gradients tend to look a little gray and washed-out in the middle? This happens because of a mathematical quirk with RGB colors. Fortunately, we can work around this quirk, and create beautiful, lush, saturated gradients.
- The Social Contract of Open Source
Gavin D. Howard
•
10 Jan 2022
There is a social contract to Open Source. But who really violates the social contract more: companies or FOSS maintainers?
- Pin your npm/yarn dependencies
Max Leiter
•
9 Jan 2022
Why you should you pin your dependencies
10 January 2022
- How not to learn TypeScript
“TypeScript and I are never going to be friends”. Oh wow, how often have I heard this phrase? Learning TypeScript, even in 2022, can be frustrating it seems. And for so many different reasons. People who write Java or C# and find out things are working differently than they should. Folks who have do…
9 January 2022
- Five Tips For a Healthier Postgres Database in the New Year
Craig’s year end wrap-up of 5 things you can do for a healthier Postgres database next year.
- Hashing is not encryption
Eric Mann
•
8 Jan 2022
Encryption, encoding, and hashing are three related but distinct concepts. It’s important for you to understand all three.
7 January 2022
- How to Hot (or Live) Reload a NodeJS Server App
Seb Toombs
And a really quick lesson on the Node require.cache. Recently I was working on a NextJs project with a custom Node server. I was running the server with Nodemon, which is pretty normal, but every time I change a server file, the whole http server has to reload. And even worse as a Next server it has to spin up the Next app as well. This all meant that every file change was about a 5-10 second wait before I could test even the smallest change.
- Are you building features for phishers?
Bradley Kemp
•
6 Jan 2022
People expect companies/services to tell them when untoward things could be happening to their accounts: Their account has logged in on a new device Their password has been changed An export of their data was started These examples are things you should probably be notified about. But, if you go o…
- The web0 manifesto
Aral Balkan
•
6 Jan 2022
The web0 manifesto is a short and sweet middle finger to web3.
- Dynamic Table of Contents Using Recursion Trees
Ryan Schachte
•
4 Jan 2022
Table of contents are nice to have on a site full of complex information. However, writing an entire post then later formatting the HTML is time consuming. In this post, I walk through an algorithm I designed to parse your blog posts dynamically and generate a table of contents for you at runtime or buildtime.
6 January 2022
- I Miss RSS
Billy Wilcosky
•
4 Jul 2021
A long time ago every website was closed off. There was no way to know if a website was updated other than to go there. There were various attempts to come u...
5 January 2022
- Understanding UUIDs, ULIDs and String Representations
Sudhir Jonathan
What UUIDs and ULIDs are under the hood, and how to encode and use them.
4 January 2022
- Never, ever use system-ui as the value of font-family
Joan Xie
An acquaintance of mine recently complained in a QQ group that the text in GitHub has recently become “exceptionally bold.” Then he or she hit F12, deleted the value system-ui from the font-family property in the Chrome developer tools, and found that all had suddenly gone fine. How come?
3 January 2022
- Consider SQLite
Wesley Aptekar-Cassels
•
30 Dec 2021
If you were creating a web app from scratch today, what database would you use? Probably the most frequent answer I see to this is Postgres, although there are a wide range of common answers: MySQL, MariaDB, Microsoft SQL Server, MongoDB, etc. Today I want you to consider: what if SQLite would do just fine?
- Firefox is the Only Alternative
Bozhidar Batsov
•
28 Nov 2021
Supposedly today we have a lot of browsers to choose from - Google Chrome, Safari, Microsoft Edge, Firefox, Brave, Opera, Vivaldi, etc. Having choices is a good thing, right? Nobody wants to relive the time of almost complete Internet Explorer domination again. Unfortunately our choices are signific…
- Don’t start with microservices – monoliths are your friend
Arnold Galovics
•
16 Dec 2021
I’ve been having this thought on the back of my mind for a long time to write about why it’s often a bad idea to start with microservices for a brand new project.
- Text Aesthetics: Command Line UI/UX
Beautifying and modernizing your command line experience. A tour of emulators, text options, and prompt styling.
1 January 2022
- Effective TypeScript › In defense of interface: Using declaration merging to disable “bad parts”
TypeScript's interface has gotten a bit of a bad rap lately, largely because of declaration merging, a behavior of interface that's quite surprising when you first see it. This post explains what declaration merging is, why it is, and how you can use it to iron out some of JavaScript's a…
31 December 2021
- The Asymmetry of Open Source
Matt Holt
•
22 Dec 2021
A comprehensive guide to funding open source software projects
- How To Maintain A Large Next.js Application
In this article, Nirmalya discusses some of the complex problems that he faced while building and maintaining large Next.js applications. He always explains how these problems can be solved by using various tools.
- My Setup for Self-Hosting Dozens of Web Applications + Services on a Single Server
Over the years, I've accumulated quite a collection of websites, web applications, APIs, and other services that I've built and continue to host publicly. I've experimented with a lot of different hosting methods for them, switched between several different providers, and have finally arrived at something that I feel comfortable with that meets all my needs.
30 December 2021
- Is your LastPass data really safe in the encrypted online vault?
LastPass fanboys often claim that a breach of the LastPass server isn’t a big deal because all data is encrypted. In reality, somebody able to compromise the LastPass server will likely gain access to the decrypted data as well.
- How did LastPass master passwords get compromised?
LastPass accounts are under attack. I look into how user’s master passwords might have leaked.
28 December 2021
- <video>, HTTP range requests & WHATWG streams
Surma
•
28 Dec 2021
Range requests allow a <video> tag to seek through a video file. Adding support to your dev server is a fun challenge and taught me some interesting things about WHATWG Streams.
26 December 2021
- New in Node.js: `node:` protocol imports
Dr. Axel Rauschmayer
•
12 Dec 2021
Node.js now supports a node: protocol for built-in modules.
22 December 2021
- I Ran Away From Open Source
Let me explain my missing, share you my vision for Leon and what’s going on in my head.
18 December 2021
- How to avoid layout shifts caused by web fonts
One of the biggest causes of layout shifts for my clients is late-loading web fonts, let’s look at how to optimise them!
17 December 2021
- Web3 is Bullshit
Stephen Diehl
If you read tech journalism you’ll probably hear the fuzzy term web3 bandied about in the press. Sprinkled around all these articles are all manner of idealistic and utopian ideas about how we can rebuild the internet to reflect our aspirations of a more humane and egalitarian society. However the journalists never quite drill down into the details on the mechanisms of how the internet will be remade. Because after all tech writers are in the storytelling business and a myth about the rebirth of cyberspace makes for a ripping yarn far more than mundane skepticism of a hyped technology.
- Introduction to WebAssembly components
Radu Matei
•
16 Dec 2021
WebAssembly and WASI show great promise for the future of computing outside the browser, and the WebAssembly component model aims to improve the portability, cross-language, and composition story for Wasm. This article explains the goals of the component model, and showcases how to use tooling from …
- How I Learned To Stop Worrying and Push To Master
Tyson Cadenhead
If you've ever worked on a team of developers of any size, your team has undoubtedly reached an agreement among your team about how your code will be branched and integrated.
- A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution
Ian Beer & Samuel Groß
•
15 Dec 2021
Earlier this year, Citizen Lab managed to capture an NSO iMessage-based zero-click exploit being used to target a Saudi activist. In this two-part blog post series we will describe for the first time how an in-the-wild zero-click iMessage exploit works
16 December 2021
- 3 Lines of Code Shouldn’t Take All Day
Adam Berg
•
14 Dec 2021
Reflections on my time at Electronic Arts and techniques used to improve iteration times in video game development
15 December 2021
- Widget Driven Development
Decomposition of UI applications into self-contained widgets leveraging streamlined Data Management
- Scrt.link vs. One-Time Secret
A comparison between scrt.link and onetimesecret.com - two online services to share secrets.
14 December 2021
- How to handle difficult clients
Lau B. Jensen
If you’ve never had to wrangle a difficult client, this blog post is your opportunity to prepare. Disagreements happen, some people handle them better than others, how we conduct ourselves in these situations have a profound impact on the trajectory of our careers.
13 December 2021
- Calculating my open source blast radius
The health and stability of the open-source ecosystem is back in the ~discourse~, in no small part thanks to the ongoing nightmare with Log4j2 and CVE-2021-44228.
11 December 2021
- Defensive CSS
Ahmad Shadeed
•
7 Dec 2021
A list of defensive CSS techniques to avoid potential future issues
- Cubic Bézier: from math to motion
A deep dive into the math behind Bézier curves, from simple linear interpolations to Cubic Bézier and how they are used to describe motion. This article introduces the concepts underneath cubic-bezier and easing timing functions that are used in CSS and Framer Motion transitions through easy-to-unde…
9 December 2021
- How to Spend Less Time on YouTube - Self control for addiction
Maybe I’m paranoid, but I think there’s a lot of smart people out there dedicating their life’s work to make others keep watching videos. Since YouTube’s incomprehensible decision to remove dislikes count it’s become even easier to waste time on worthless content. In this blog post, I’ll describe a …
8 December 2021
- Hunting down my son’s killer
Matt Might
I found my son's killer. It took three years. But we did it. I should clarify one point: my son is very much alive. Yet, my wife Cristina and I have been found responsible for his death.
7 December 2021
- Web servers in mobile apps leak sensitive data
Some mobile apps offer a feature to share local device content to other devices using the Cast or AirPlay protocols. Some apps implement this feature, in part, by running a web server that provides access to local files.
- On Rails
marbiano
What’s the deal with Remix?
6 December 2021
- Tips on Adding JSON Output to Your CLI App
Kelly Brazil
•
4 Dec 2021
Best practices when adding a JSON output option to your command-line application.
2 December 2021
- Make useRef lazy — 4 ways
Vladimir Klepov
•
1 Dec 2021
I love useRef, but it lacks the lazy initializer functionality found in other hooks (useState / useReducer / useMemo).
- Anti-Patterns When Building Container Images
Jérôme Petazzoni
This is a list of recurring anti-patterns that I see when I help folks with their container build pipelines, and suggestions to avoid them or refactor them into something better. And since only a Sith deals in absolutes, keep in mind that these anti-patterns aren’t always bad.
1 December 2021
- File-based routing with React Router
Next.js-inspired file-based routing for client-side React with React Router and Vite
- The Vite Ecosystem
An exploration of the projects, teams and individuals collaborating to push Vite and the DX of our frontend tooling forward
- Explainer: .DS_Store files
Many folders have them. They’re so invisible that you can’t even see them when you show hidden files. And the only way you know they’re there is when they cause problems.
- TypeScript Evolution
Marius Schulz
A series of blog posts on advanced TypeScript features and how it all works under the hood.
- TypeScript: The humble function overload
With the most recent type system features like conditional types or variadic tuple types, one technique to describe a function’s interface has faded into the background: Function overloads. And there’s a good reason for that. Both features have been implemented to deal with the shortcomings of regul…
- Practical Security Recommendations for Start-ups with Limited Budgets
Alex Chapman
•
10 Nov 2021
Hi, my name is Alex, I’ve been an IT security professional since 2007 and I’ve recently entered the start-up world with my project bughuntr.io. In putting together this project, security has been a primary concern for me. This is both due to my background and the nature of the project, being a train…
28 November 2021
- Proof of stake is a scam and the people promoting it are scammers
yanmaani
Proof of stake is a scam. When I say that, I mean that proof of stake is (1) claimed to be a consensus system, and (2) constitutionally incapable of actually producing a consensus. To understand why this is the case, we must first study how proof of work works, to be able to see why proof of stake is not an adequate drop-in replacement for it.
25 November 2021
- How To Prevent Unnecessary React State Update Re-renders
State management is one of the most important aspects of React development. However, not every state update should result in a re-render. This article covers how to prevent unnecessary state update re-renders by avoiding the state update or triggering the state update with the existing state.
24 November 2021
- Stable Software Release System
Kristiāns Kronis
A while ago, i wrote an article called "Never update anything" that brought to light some of the issues with our current approaches to versioning software and the shortcomings of semantic versioning in particular. However, while i did offer some suggestions for creating more stable software at a slower pace, it feels to me that it'd require its own versioning system.
- I will pay you cash to delete your npm module
Drew DeVault
•
16 Nov 2021
npm’s culture presents a major problem for global software security. It’s grossly irresponsible to let dependency trees grow to thousands of dependencies, from vendors you may have never heard of and likely have not critically evaluated, to solve trivial tasks which could have been done from scratch in mere seconds, or, if properly considered, might not even be needed in the first place.
21 November 2021
- Flags v. gates
The different uses of feature flags, and building a new feature flags system.
- Product Hunt is Doomed
Ben Stokes
Paper Website launched on Product Hunt and ended up getting #4 Product of the day! I had some incredible support - thank you so much if you checked it out. The day was bittersweet though - and I wouldn't usually say anything, but there is definitely some foul play going on with upvote rigging on Product Hunt.
- Lessons learnt after 5 years of climate tech entrepreneurship
Olivier Corradi
This article attempts to reflect back on the most meaningful lessons learned by building electricityMap, Bloom and North at Tomorrow.
- Get started with Storybook and Next.js
Integrate Storybook with Next.js in four simple steps
- Getting Started with (and Surviving) Node.js ESM
Ryan Roemer
•
4 Dec 2019
The Node.js ecosystem is shifting towards ESM. We examine what lies in store for application and library authors, learn some of challenges and opportunities that lie ahead for Node.js developers, and provide tips and tricks for surviving the bumpy transition ride ahead.
18 November 2021
- Colocation
Maintainability through colocation.
17 November 2021
- The Invisible JavaScript Backdoor
Wolfgang Ettlinger
•
9 Nov 2021
A few months ago we saw a post on the r/programminghorror subreddit: A developer describes the struggle of identifying a syntax error resulting from an invisible Unicode character hidden in JavaScript source code. This post inspired an idea: What if a backdoor literally cannot be seen and thus evades detection even from thorough code reviews?
- You can use React Query for slow computation, not just API
Swizec Teller
•
17 Nov 2021
React Query brings the ergonomics of GraphQL clients to RESTful APIs. It scratched my itch.
- Recovering from a burnout
Osama Khan
You could not claim to have lived a vibrant life if you did not suffer from burnout at least once and then grew from that phase.
- Simulating an XY oscilloscope on the GPU
Nick Tasios
•
5 Nov 2021
It’s been a couple of years since the post where I first introduced the new game I was working on, Vectron. Although I finished the game nearly a year ago, I was putting of releasing it. Compiling it
15 November 2021
- Yes, Programming is Hard
Drew Csillag
I saw the article in Communications of the ACM “What Does Saying That ‘Programming Is Hard’ Really Say, and About Whom?” and as a twenty-six year veteran of the profession, I thought “of course programming is hard! Duh!” I then spoke with a friend where after a bit said “Do they mean like writing? Writing isn’t hard, but writing a book is”.
- The ultimate solution to the nightmare of truncated tab titles
Nils André
•
14 Nov 2021
I think we’ve all been in this situation: whilst navigating the pages of a website, following links by opening new tabs, we ultimately end up with an unnavigable mess:
13 November 2021
- It’s Now Possible To Sign Arbitrary Data With Your SSH Keys
ssh-keygen can sign and verify signatures, and it’s way better than PGP.
- No one knows what’s coming next
The book Antifragile is pretty bad. Like most popular management books, it’s a single useful idea padded out with anecdotes. Some organisations are overly reliant on the status quo. If a sing…
- Spotify Codes - Part 2
Peter Boone
•
11 Nov 2021
In part 1 I dove into Spotify Codes and explained the general technical concepts of how they work. If you haven’t read that post you should check it out. I shared it on reddit where it generated a lot of interesting discussion. Ludvig Strigeus, a key early developer at Spotify and the person who inv…
- How do Spotify Codes work?
Peter Boone
•
13 Nov 2020
Spotify Codes are QR-like codes that can be generated to easily share Spotify songs, artists, playlists, and users. I set out to figure out how they worked, which led me on a winding journey through barcode history, patents, packet sniffing, error correction, and Gray tables. Spotify URIs Let’s star…
- How to Talk to Users
Grant Shaddick
Talking to users is one of the most important things you can do as a startup founder. But how do you actually get users to talk to you? Here’s 10 ideas from startup founders on how to talk to more users.
12 November 2021
- Common mistakes with React Testing Library
Some mistakes I frequently see people making with React Testing Library.
- State Management: Separation of Concerns
How Separation of Concerns can help resolve the never-ending State Management fatigue
- Who Does That Server Really Serve?
Richard Stallman
On the Internet, proprietary software isn't the only way to lose your computing freedom. Service as a Software Substitute, or SaaSS, is another way to give someone else power over your computing.
- View-Source
Chromium offers two ways for an end-user to view the source code of a web page: 1) the Developer Tools, and 2) The longstanding view-source viewer. Of these, the Developer Tools have received all m…
11 November 2021
- Rust Is The Future of JavaScript Infrastructure
Lee Robinson
•
11 Nov 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?
10 November 2021
- Signatures: The foundations of modern end-to-end encryption
Sylvain Kerkour
•
4 Nov 2021
Now that most of our communications are digital, a problem arises: How to keep our messages private despite all the intermediaries? Internet Service Providers (ISPs) and Service providers (Facebook, Telegram, Line, WeChat…) are all in a position of Man-In-The-Middle (MITM) and are able to inspect, r…
- The State Initializer Pattern
A simple pattern used in libraries like downshift and ReachUI to enable component/hook users to initialize your state and even reset it to that initial value.
9 November 2021
- The Scale of Emissions
Jesse Hoogland
In 2010, we emitted 49 gigatons of CO2 e100 (source). Averaged over the year's 32 million seconds, this amounted to roughly 1500 tons of CO2e released per second. Because our monkey brains are ill-equipped to understand how much this is, I've created a few tools to help you visualize these amounts (this works best on desktop).
8 November 2021
- Breaking down Apollo Federation’s anti-FOSS corporate gaslighting
Drew DeVault
•
5 Nov 2021
Gather around, my friends, for there is another company which thinks we are stupid and we enjoy having our faces spat in. Apollo Federation has announced that they will switch to a non-free license. Let’s find out just how much the Elastic license really is going to “protect the community” like they want you to believe.
7 November 2021
- Faking Twitter Unfurling to phish you.
Harry Denley
Twitter says this link should take you to Uniswap, nobody would be none-the-wiser because we trust Twitter. However, if you clicked on the link card, it would take you here. To harrydenley.com.
5 November 2021
- Threema: Three Strikes, You’re Out
Threema boldly claims to be more secure than Signal. Does this hold up to scrutiny?
- 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?
4 November 2021
- How to Use Next.js Middleware
With the release of Next.js 12, Vercel Edge Functions have been announced, allowing for super speedy edge-optimised functions. They can also be used as helpful Next.js middleware functions. In this article I'll explain what they are and how to use them, before diving into a few examples.
- COP26.org: A quick sustainability check
With COP26 about to take place in Glasgow, let’s take a quick look at how the COP26 homepage holds up in terms digital sustainability. What’s its carbon footprint, and can it be improved?
- Do-nothing scripting: the key to gradual automation
Dan Slimmon
•
15 Jul 2019
Every ops team has some manual procedures that they haven’t gotten around to automating yet. Toil can never be totally eliminated. Very often, the biggest toil center for a team at a growing …
3 November 2021
- What is the Inverse of a Vector?
Matt Ferraro
•
1 Nov 2021
In this post we will re-invent an obscure form of math that is far superior to the one you learned in school. It is a better foundation for science and engineering, and it is a better foundation for students.
2 November 2021
- How to Build a Low-tech Website?
Kris De Decker
•
23 Sept 2018
Our new blog is designed to radically reduce the energy use associated with accessing our content.
1 November 2021
- How a Read Query Can Write to Disk: a Postgresql Story
sbleckley
•
19 Mar 2020
Here’s a funny relational database story from earlier this year. One of our clients had a medium-large database — millions of rows — and their business logic required some pretty fancy queries across that data: more sophisticated and more costly than just fetching records by id. So ended up doing quite a bit of query tuning to get everything running smoothly. This story begins with the discovery of two obviously (ahem) unrelated problems.
- You Are What You Consume
Priyam Mohanty
•
27 Jul 2021
In today’s online world, you are what you consume. I explore what this does to your mind and suggest some possible solutions.
- Why Embedded Software Development is Harder
Andreas Zwinkau
•
3 Oct 2021
External hardware, distributed systems, resource constraints, realtime, hw-sw-codesign, and safety-criticality make it hard.
31 October 2021
- Do what you’re relatively best at
abhi
•
1 Feb 2021
Reading through Good economics for hard times, I ran into this: Comparative advantage is the idea that countries should do what they a...
30 October 2021
- The Metaverse is Bullshit
Wes Fenlon
We have Neal Stephenson's 1992 novel Snow Crash to thank for popularizing avatars as our digital personas, from early internet message boards to full-body VRChat. We also have Snow Crash to blame for the absolute hell we find ourselves in today, as every tech billionaire on the planet slobber all over themselves as they declare the metaverse—the next phase of human culture!!—is within reach.
- Don’t rush to solutions
abhi
•
29 Oct 2021
Recently, someone asked me to help them design a workflow. Now I’ve been doing this a while - and I had, not long before this conversatio...
- Mistakes from 6 months of freelancing
I started working as a freelance development consultant in April 2021. 6 months and almost £50,000 later, here are a few of my biggest mistakes.
29 October 2021
- Get a catch block error message with TypeScript
TypeScript forces you to acknowledge you can’t know what was thrown making getting the error message a pain. Here’s how you can manage it.
- Setting Up 1.1.1.1 for Families on a Pi-Hole
Bradley Taunt
•
28 Oct 2021
After seeing Cloudflare’s 1.1.1.1 for Families mentioned on the front page of HackerNews, I thought it might be helpful to show those currently using a pi-hole device how to include 1.1.1.1 alongside it.
- HTTP 419 Never Gonna Give You Up
Brad Gessler
The HTTP 419 Never Gonna Give You Up client error response code indicates that the server knows the client is either performing a penetration test or is a bot in search or exploits and should move on to a different domain or scanning attempt.
- Backing up WhatsApp data through the multi-device web client
Francesco Mazzoli
•
26 Oct 2021
Systematically backing up WhatsApp messages and media in an open format is impractical. However the multi-device beta makes the WhatsApp web client an almost first-class WhatsApp client. I describe how the web client stores messages and media, and a proof of concept program, `wadump`, which can extr…
- Practical Time Machines
Many “emergency” situations in our modern world would’ve been easy to fix had they been foreseen in advance. If only we’d known what was going to happen, the badness could
28 October 2021
- In C++, is empty() faster than comparing the size with zero?
Daniel Lemire
•
26 Oct 2021
Most C++ programmers rely on “STL” for their data structures. The most popular data structure is probably vector, which is just a dynamic array. The set and the map are other useful ones. The STL data structures are a minimalist design. You have relatively few methods. All of them allow you to compu…
- So You Want to Write a Technical Book
Eric Lengyel
•
15 Oct 2021
If you’re knowledgeable in a technical field, writing a book to teach others a few things can be a rewarding experience on many different levels. With the many avenues available for self-publishing these days, an important question to ask yourself is “Do I need a publisher?”.
- How Debian Cron Handles DST Transitions
Pēteris Caune
•
27 Oct 2021
When the Daylight saving time starts, and the computer’s clock jumps forward, what does cron do? If the clock jumps from 1AM to 2AM, and there is a job scheduled for 1:30AM, will cron run this job? If yes, when? Likewise, when the Daylight saving time ends, and the clock jumps backward, will cron po
26 October 2021
- You want Tor Browser ... not a VPN
Matt Traudt
•
23 Mar 2021
This post first appeared on my old blog in October 2019. It is preserved, but maybe not updated, here.
- The strangely difficult problem of drawing a box around text
Ronald Chen
•
14 Sept 2021
Let me show you a quick demo.
25 October 2021
- Steve Ruiz
Improve dragging experience by adding a spooky dead zone, or a minimum distance before a shape will begin to drag.
- Web Performance Metrics Cheatsheet
I recently gave a talk on “Making Sense of Performance Metrics” at the Web Unleashed Conference, and it was suggested that I turn the breakdown of all the performance metrics into a cheatsheet; so here it is! The full cheatsheet, including a downloadable PDF version, are at the bottom of
- Signed Integers are Asymmetrical
Fernando Borretti
•
11 Oct 2021
An edge case in integer safety.
24 October 2021
- Why are there twelve different musical notes?
Niels Cautaerts
•
1 Aug 2021
A standard piano has 88 keys: 52 white ones and 36 black ones. On the left hand side are keys that produce deeper tones with lower sound frequencies, on the right are the keys that produce higher tones. In principle there could be more keys on either end, but at some point the frequencies stop sounding musical in our ears, and more keys might become impractical for the performer.
23 October 2021
- RSS is Wonderful
Brandon Quakkelaar
Inspired by Web Rings from the 90s, I created a tool for serendipitous discovery of blogs called RSS Discovery Engine. Similar to how web rings work, I make the assumption that interesting blogs will tend to link to other related blogs, and therefore, linked blogs are likely to also be interesting.
- 10 Ways to Handle Files on the Web!
Patrick Brosset
Websites usually don’t use files much. Files are usually a thing that desktop applications like working with. In fact, mobile devices also don’t usually use files, they prefer sharing data between apps directly, and putting everything in the cloud where things are just images, movies, songs, or messages with no information whatsoever as to how these are stored on the disk.
- Logging With Intent
Systems running in the digital world need to communicate with the real world to provide information about their state and behavior in case of problems.
- Common "Gotchas" when Deploying on Digital Ocean App Platform
Vincent A Saulys
•
20 Oct 2021
Digital Ocean’s App Platform was launched in October 2020 with the intent to take on Heroku and other PaaS. But is it any good?
22 October 2021
- Failure demand
Zak Knill
•
21 Oct 2021
I’ve been looking for a concise way to describe: “teams that ship a feature should be responsible for the long-term success of that feature, including the customer ops caused by stuff missing from the feature”.
- SEO for Non-Scumbags: How to Earn Site Visitors without Selling Your Soul
Erik Dietrich
•
23 Aug 2021
Editorial note: hi folks! Thanks for your patience as I’ve been getting my life settled enough to start creating content again. We’ve done some hiring for a few roles, backfilling me, so I’m actually seeing a light at the end of the tunnel for creating DaedTech content. Today I’m going to start a …
21 October 2021
- Forget Twitter Threads; Write A Blog Post Instead!
There’s an annoying craze that all the cool kids on Twitter do. Twitter threads. Please stop; write a blog post instead.
- Yamaha DX7 Technical Analysis
ajxs
•
23 Apr 2021
An introductory technical analysis of the Yamaha DX7, detailing some of the known information about the synthesiser’s engineering.
- 136 facts every web dev should know before they burn out and turn to landscape painting or nude modelling
Baldur Bjarnason
•
21 Apr 2021
Everything I’ve learned about web development in the almost twenty-five years I’ve been practising. All boiled down into a neat little list that I put together over a week. I’m Icelandic, so I’m prone to absolute statements.
- 10 ways to get the best out of OpenSCAD
Cal Bryant
•
20 Oct 2021
OpenSCAD is an open-source CSG based script-only CAD package. As it’s script-based, it’s fantastic for parametric design and the files can be version controlled just like a software project.
20 October 2021
- Why I Hate Frameworks
Benji Smith
Or why no one buys hammers anymore.
- Data-Driven React
ustwo
Last year, we partnered with Samsung to create a for the European market. In the course of developing a single-page web application in React, our team faced a number of challenges in terms of how React components are built...
19 October 2021
- Reality check for Cloudflare Wasm Workers and Rust
Nick Babcock
•
17 Sept 2021
With native Rust support announced for Cloudflare Workers, one may be eager to jump in head first. I know I wanted to. However, I tested out a few use cases and found it too limiting. Either the desired APIs weren’t available, code size was too large, or the program couldn’t run within resource cons…
- Against Web3 and Faux-Decentralization
Despite the hype, Web3 offers fake decentralization and builds upon technology you could build without cryptocurrency.
- Redis Anti-Patterns Every Developer Should Avoid
Redis Labs
Developers don’t just use Redis, they love it. Stack Overflow’s annual Developer Survey 2021 has ranked Redis as the Most Loved Database platform for the fifth years running! But it is equally important to understand that Redis defaults are not the best for everyone. Millions of developers uses Redis due to its speed and performance, however it is important to make sure that it is being used properly.
18 October 2021
- Careful with Context Composition
Kyle Shevlin
Be careful with how you compose your UI when using Context. You might be making a common mistake causing extra rerenders.
- How Time Series Databases Work—and Where They Don’t
This blog takes a deep dive into the hows and whys of time series databases—and why Honeycomb couldn’t be limited to a TSDB implementation.
- The best way to self host
Vimarsh Shah
Using CapRover to manage self-hosted apps.
- Serialization-Based Undo
Philip Rideout
Using dictionary compression to implement an undo system.
16 October 2021
- Twitter is pushing for engagement, not conversation
Jatan Mehta
•
14 Oct 2021
Twitter Topics demonstrate what’s wrong with the world’s most popular microblogging platform.
- Agile as Trauma
Dorian Taylor
What if the Agile software movement was the manifestation of an entire industry that was, just, like, dealing with some stuff right now?
- The Machine Enabled by Facebook: How I Helped ‘hack’ the 2016 Election via Information Warfare
Robert Willis
•
6 Oct 2021
Before QAnon, before COVID, fake news as we know it was born during the 2016 election. The following is my story, a whistleblowers account on how I was able to manipulate a reach of tens of millions of targeted Americans weekly during the 2016 election cycle after building/overseeing a fully funded one-of-a-kind syndication machine consisting of a couple hundred targeted websites. Some people will be disappointed that there was no connection to Trump’s campaign. He did benefit greatly from it though.
- Zuckerberg
Theo Henson
The boy was born in 1984 (the same year that the thing named after the apple was released) in a suburb of the Big City.
- Using Subresource Integrity (SRI) in Vite with @small-tech/vite-plugin-sri
Aral Balkan
•
19 Apr 2021
Is the script or stylesheet you’re loading what you think you’re loading? SRI ensures that it is.
- vite build
A walkthrough of the Vite codebase to understand how Vite bundles and optimize your code for production
15 October 2021
- Heatmaps are shit
Website heatmaps are a low effort, low signal waste of time and best avoided in favour of actual research.
- How to win at CORS
Jake Archibald
•
12 Oct 2021
The ‘how’ and ‘why’ of CORS, from start to finish.
- Avoid Authy, Use Aegis
Authy is a popular two-factor verification tool used by a lot of people. Previously, Google Authenticator was the go-to for this but Google neglected the app and avoided simple features like backup an
- Interface ergonomics: automation isn’t just about time saved
Macoy Madson
•
12 Oct 2021
It is common advice that it isn't worth automating something unless the time saved doing the task is greater than the time required to automate it.
- Interoperable Serendipity
Noel De Martin
•
14 Oct 2021
If you had asked my thoughts on interoperability some years ago, I wouldn’t have had much to say. Nowadays, it has become one of my most revered ideals. And today, I want to take you along for a journey towards its summum: Interoperable Serendipity.
- Why I host my blog on Cloudflare Pages
Alexey Haidamaka
•
11 Oct 2021
My initial goal was to write a post comparing two major hosting offerings for a static tech blog at zero cost. Turns out, there’s an abundance of «Github Pages vs Cloudflare Pages» posts on the web. So the premise shifted to why do I pick Cloudflare Pages.
12 October 2021
- Self-Optimizing A/B Tests
David Chanin
•
11 Oct 2021
There’s always a trade-off when running A/B tests. Until you’re certain which variant of the test is correct, you can’t make a final decision about which test variant to show.
11 October 2021
- 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
- Chrome does some weird stuff if you toggle a stylesheet on and off
If you re-enable a stylesheet, Chrome may mistakenly try to fetch it again, causing a flash of unstyled content.
7 October 2021
- How I built a modern website in 2021
I rewrote kentcdodds.com using the latest technologies and I want to talk about what I did.
- Self-Publishing a Book in 2021
Matt Dickenson
•
5 Oct 2021
This post is about the process of writing and self-publishing my second book, Equity Compensation for Tech Employees. For more information about the book its...
- The Climate Care Industry
An entire industry is sprouting around mitigating the effects of climate change, capturing CO2, and creating sustainable technology. We need a term that will help establish these efforts as their o…
- How I Dealt With Intense Startup Anxiety
Erez Druk
•
6 Oct 2021
Your heart is pounding and your brain won’t shut up. Falling asleep is out of the question. What a horrible feeling. I distinctly remember the first time feeling this, when the first person I ever hired decided to quit, which oddly felt like being dumped. I wish that wasn’t a part of the startup pac…
- Stripe’s Evident Conflict of Interest
JB Schirtzinger
•
5 Oct 2021
As I have shown elsewhere in a long correspondence with Stripe elsewhere, I got the rug yanked out from supporting my small church with small books in a most puzzling manner.
- My Challenge to the Web Performance Community
Philip Walton
•
6 Oct 2021
Performance optimization should be about making your users happy, not about making your tools happy. And if we really believe that, we should lead by example.
6 October 2021
- Why you should launch your product without a login
Caspar von Wrede
•
5 Oct 2021
No login – an awesome product-development hack
- I’ve loved Wasmer, I still love Wasmer
I’m leaving Wasmer. This article explains what I did to transform this project into a successful and popular WebAssembly runtime, but also, sadly, how the toxicity of the working environment …
- YikesScript
John Whiles
Recently at work an seemingly innocuous dependency bump caused a rash of typescript errors to appear throughout our code base. The changes seemed benign - a new method in an internal library and a few dependabot updates to go with it. Nothing, it seemed, that should cause these errors:
5 October 2021
- Implicit Overflow Considered Harmful (and how to fix it)
Considerations on Codecrafting
•
3 Oct 2021
A common problem in programming language design is the question of what the type of integral literals should be, and if they are untyped, what the rules for implicitly converting them to regular integer types should be. This is part of the more general problem of how to handle having multiple intege…
- How to make sure you have bad documentation
Zach Sabin
Sadly, all of these are based on patterns that I've seen. Documentation is hard to get right. It doesn’t drive business metrics (at least internal documentation) and it doesn’t usually get people promoted. But I think that if you make it easy to write and easy to read, engineers will write pretty decent docs. If only because they’re sick of answering dumb questions in Slack.
3 October 2021
- The Password Rant
Kash Goudarzi
If you run a website with an authentication system, please read this. It's about passwords and it's important.
- We Tried Baseball and It Didn’t Work
Ronald E Jeffries
•
2 May 2006
The fanatical proponents of baseball tell us that it is a very exciting game, fun to play and fun to watch. They are clearly either stupid or evil or both, because we tried baseball and it didn’t work.
- Best Practices (why I Hate Them)
Charles Féval
•
1 Oct 2021
I hate the expression “best practice”, it’s so, so often used by someone to justify the application of cargo cult without actually understanding why.
2 October 2021
- Downsites of Offline First
Daniel Meyer
So you have read all theses things about how the offline first paradigm makes it easy to create realtime web applications that even work when the user has no internet connection. But there is no free lunch. The offline first paradigm is not the perfect approach for all kinds of apps.
- Minimum Viable Feature: 4 Reasons for scoping down
The best in product are ruthless at scoping things down. They design the Minimum Viable Feature. These are the 4 reasons why you should too.
1 October 2021
- DNS Record Types
An overview of all the DNS record types. Each DNS record type is briefly explained.
- Explaining explaining: a quick guide on explanatory writing
Lucas Fernandes da Costa
•
1 Sept 2021
This blog post is about how to explain things in writing.
- Practical frontend philosophy
Jared Gorski
•
29 Sept 2021
NOTE: This is a rather general post, written for people curious about how to think about "the frontend". However, I think it's relevant to interested humans of all knowledge and skill levels.
- Practical frontend architecture
Jared Gorski
•
19 Sept 2021
We've been upgrading our frontend tech stack at Liferay Cloud this past year. Nifty tools we've adopted include React, TypeScript, Next.js & Apollo GraphQL.
- Twitter, could you please fix your image servers?
Marcus Crane
•
1 Oct 2021
For anyone who knows me, it’s no surprise that I’m horribly addicted to Twitter. I joined back in 20091 and I’ve fallen into more technical rabbit holes than I care to. As a Twitter user who is Very Online, I love to theorise about why services go wrong and poke fun at corporations but as an SRE mys…
- Why this Website is not, and may never be, HTTPS
terraaeon
•
29 Sept 2021
I have good reasons for not using a TLS certificate on this website, so I have no plans to do so.
- The Bi-Symmetric Encryption Fraud
Crackpot cryptography, overconfidence, and attempts to defraud governments and private-sector startups.
29 September 2021
- How We Made Bracket Pair Colorization 10,000x Faster In Visual Studio Code
Henning Dieterichs,
•
14 Apr 2016
When dealing with deeply nested brackets in Visual Studio Code, it can be hard to figure out which brackets match and which do not. To make this easier, in 2016, a user named CoenraadS developed the awesome Bracket Pair Colorizer extension to colorize matching brackets and published it to the VS Code Marketplace. This extension became very popular and now is one of the 10 most downloaded extensions on the Marketplace, with over 6 million installs.
- Your room can be as bright as the outdoors
Steve Bennett
•
26 Nov 2019
focusing after dark • corn cob bulbs • before + after photos • saving ½–2h/day • my setup • why don’t more people do this?! • FAQs
- QR error correction helps and hinders scanning
Huon Wilson
•
28 Sept 2021
A QR code can use one of four error correction levels. Higher error correction forces denser codes, but allows scanning in more situations. A trade-off!
26 September 2021
- A forward and reverse proxy primer for the layman
Serafeim Papastefanos
•
21 Sept 2021
Before some days I’d written an answer on HN where I explained as simply as possible how a forward and a reverse proxy is working and what is the difference between them. In this article I’m going to extend this answer a bit to make it a full post and clarify some things even more.
- The Siren Song of the ‘User’ Model
Chelsea Troy
•
12 Jul 2021
The other day, a podcast host asked me if I have any rants on my mind. One thing sprang up. I didn’t address it in the interview because I don’t trust myself to speak extemporaneously a…
25 September 2021
- A Guide to Using RSS to Replace Social Media
Luke Smith
I've just released a video on RSS, more or less talking about the basics. RSS (Really Simple Syndication) is the best way to keep tabs on things online. While social media sites have tried to replace it, it is still the best way to consoooome content, even on social media sites.
24 September 2021
- Good is Not Great
ANDY.WORKS
•
18 Aug 2021
Good Design is good enough. But Great Design is something else.
- How to find the YouTube link for an ad
Gavin Anderegg
•
23 Sept 2021
Ads on YouTube are just videos, but are usually unlisted. Either way, it can be a real pain to find them. I had previously figured this out by digging into the debugging info (which I’ve had to use in the past for other reasons), but this isn’t straightforward. I figured I should write down the steps.
- Dream Cats NFT: don’t buy them
David REVOY
•
22 Sept 2021
Website of David Revoy (aka Deevad), artist and instructor using only Free/Libre and Open-Source software since 2009.
22 September 2021
- DIY RGB Icosahedron build
Greg Davill
•
9 Jan 2021
A small 20 sided platonic solid, where every side is covered with an array of RGB lights. Battery powered, featuring 2400 total LEDs, controlled with a Microchip samd51 and Lattice ice40 FPGA.
- 5 RCEs in npm for $15,000
I found and reported these vulnerabilities with @ginkoid. In this post, I will discuss the root cause of these vulnerabilities, as well as briefly walk through the exploitation process. I’ll also include some thoughts about bug bounty in general at the end.
- Using the platform
Elise Hein
•
22 Aug 2021
I recently came across a series of articles by Daniel Kehoe where he introduces The Stackless Way, an optimistic take on web development that proposes we “use the platform” (modern features built into the language) instead of frameworks and build tools that keep getting replaced every few years.
- That Time I Told My Wife I Wanted to Quit My Job
Keygen
It was midnight on May 22nd, 2016 that I pushed my first commit to GitHub for a new idea. Little did I know what would happen next.
20 September 2021
- Privacy Policy Of Your Existence
Most of what's happening on your phone is being tracked. That's no secret, most people already know this. Yet, fewer people are aware of what type of data can be tracked and how can the data be used. Do you know how are you being tracked? Read till the end, there might be something surprising.
18 September 2021
- A Closer Look: How I Created a 248MP Photo of the Sun
Breathtaking detail.
17 September 2021
- Violence is the last refuge of incompetence
techref.massmind.org
Veterans are people who have been robbed of the ability to live in the fantasy world of their choosing. We know what the real world is and we have to live with it.
- Ten Years of Fukushima Disinformation
Amardeo Sarma, Anna Veronika Wendland
•
22 Jun 2021
March 11, 2021, marked the tenth anniversary of the 2011 Tōhoku earthquake, which, together with the tsunami it triggered, devastated the northeast coast of Japan’s main island of Honshu and triggered the Fukushima nuclear accident. However, it is Fukushima that has remained in public awareness. ...
- How to Lead a More Rational Life with Bayes’ Theorem
Bayes’ theorem is heavily used in machine learning, AI, statistics, and other areas. But it’s also a useful tool to lead a more rational life.
- Syntax highlighting is backwards
Ben Kuhn
•
9 Jun 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…
16 September 2021
- The Perils of an .xyz Domain
Gordon Hempton
What if I told you there was a way to instantly increase your email deliverability, website accessibility, the number of social media posts, and the customer perception of your brand? We just did exactly that by switching our primary domain from spot.xyz to spotvirtual.com.
- Don’t Insult Me With Your Pricing
Thoughts on utilizing manipulative pricing tactics.
- Does your Figma Plugin really need an UI?
Speed up you Figma plugin development process by focusing on the essential, not the UI.
- Write Epic Shit
Ramit got me thinking about this whole “write epic shit” concept for this post when he told me he regularly spends 12 to 18 hours writing a single blog post.
15 September 2021
- TypeScript + React: Children types are broken
I currently work with a couple of newcomers to React and teach them both TypeScript and React to create apps. It’s fun, and for me who’s been using that for a while now, it’s a great way of seeing this piece of tech through fresh eyes.
14 September 2021
- Ship / Show / Ask
Ship/Show/Ask is a branching strategy that helps teams wait less and ship more, without losing out on feedback.
- 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.
- Building Through Uncertainty
Cameron Hashemi
•
12 Sept 2021
Product-building is just not as easy as we think it is, both before and after it’s done. Before we start, it seems easier than it will be. And after we’re done, it seems easier than it was. Cognitive Biases Whenever we build something, we face constraints: We don’t know what problems to solve. And e…
- Don’t Build A General Purpose API To Power Your Own Front End
Max Chernyak
•
21 Sept 2021
YAGNI
13 September 2021
- How factories were made safe
The fundamental cause was a wrong attitude towards the core question: who is responsible for safety?
12 September 2021
- Social networks
It’s worse than you think
- Are Dockerfiles good enough?
Mathew Duggan
•
10 Sept 2021
For those looking for a fast overview of containers click here. Containers have quickly become the favorite way to deploy software, for a lot of good reasons. They have allowed, for the first time, developers to test “as close to production” as possible. Unlike say, VMs, containers have a minimal
- Electron isn’t Cancer but it is a Symptom of a Disease
Fred McCann
•
5 Sept 2021
1Password recently announced that they rewrote their longstanding Mac application as an Electron application, and as one might expect, Mac users rightfully lost their shit.
11 September 2021
- How arbitrary structured data per request helps Opsgenie to resolve and prevent incidents
It’s been a long time since I’ve blogged. My backlog of topics is full, however, I could not publish due to both professional and personal developments in the last 1.5 years. Anyways, glad to be back. For some context, I’m from Opsgenie. Since Opsgenie is an on-call and alert management tool, it nee…
- Use Tools That Suit You and the Problem
Daan Debie
•
10 Sept 2021
A couple of weeks ago someone shared an article on Hacker News that discussed the drawbacks of using an IDE for programming. Needless to say, when you touch people’s tools, you can be sure to spark a hefty discussion.
- It’s just a (hacker news) bubble you’re living in
Marko Živanović
•
10 Sept 2021
If you think that the average developer salary is 250k + stock options, you’re reading too much Hacker News.
10 September 2021
- Stop just using “Frontend” or “Backend” to describe the Engineering you like
Michelle Lim
•
13 Sept 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.
- In which a laptop defies the trends
Phil Hagelberg
•
6 Sept 2021
Over the years I've been a consistent[1] user of Thinkpads; early on because I liked the keyboards, but then later just because I wanted hardware that would last a long time rather than a machine with a soldered-in battery that's designed to be more disposable.
- Quitting Entrepreneurship, Getting A Job
Daniel R. Sim
•
9 Sept 2021
This is the seldom-told story of quitting entrepreneurship and taking a job.
9 September 2021
- The mystery of load average spikes
Nicolás Alvarez
•
8 Sept 2021
A KDE server had strange and perfectly periodic spikes in system load average...
- What they don’t tell you when you translate your app
Eric Bailey
•
2 Sept 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
•
8 Sept 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
Here is how you can make your engineers tenure shorter.
- Transparency in startups
Tushar Dadlani
Have you ever wondered why your manager hides certain information from you? My experiments with transparency span being a founder and early-stage startup team member. The phrase I am tired of...
8 September 2021
- Turning my hobby into a business made me hate it
Shantnu
•
2 Sept 2021
This is a problem many people who love doing creative stuff (writing, music, painting, pottery, calligraphy, anything creative and original) will face: “This is good, why don't you make money from it?”
7 September 2021
- My £4 a month server can handle 4.2 million requests a day
Mark McNally
This website is hosted on a very cheap (£4 a month) VPS. This server has 1 CPU and 2GB of RAM. The slowest part of this website can theoretically handle 4.2 million requests a day. I got these results by benchmarking by websites.
6 September 2021
- Keep your software packages small
Johannes Passing
•
11 Aug 2021
It wasn’t until 2004 that I got broadband internet at home. So I remember the times when downloading a new JDK (which was around 20 MB at the time) over my 56K modem line meant blocking my family’s phone line for 2 hours. Today, bandwidth doesn’t seem like a limiting factor anymore. But that doesn’t mean that download sizes for applications don’t matter – they still do.
- Fast Rust Builds
Aleksey Kladov
•
4 Sept 2021
It’s common knowledge that Rust code is slow to compile.But I have a strong gut feeling that most Rust code out there compiles much slower than it could.
4 September 2021
- Nodejs Security - OWASP Cheat Sheet Series
OWASP
Website with the collection of all the cheat sheets of the project.
- The Design of Disasters and the Disaster of Design
Robert Prehn
•
1 Sept 2021
In the days after Hurricane Ida, I’ve been thinking about how completely design and technology have failed us as disciplines.
- Follow boring advice
Most of the advice leading to great results in life is boring. Also, it’s free and has forever been so. In my twenties, I believed that successful people hold secret knowledge leading to their success. I obsessed over “self-help porn”: books, videos, and blogs promising to reveal little secrets that…
- uBlock Origin—everything you need to know about the ad blocker - Firefox Add-on Reviews
Raymond Hill
•
3 Sept 2021
Rare is the browser extension that can satisfy both passive and power users. But that’s an essential part of uBlock Origin’s brilliance—it is an ad blocker you could recommend to your most tech forward friend as easily as you could to someone who’s just emerged from the jungle lost for the past 20 y…
- Simple Audio Augmentation with PyTorch
Jonathan Boigne
•
30 Aug 2021
No matter if you are training a model for automatic speech recognition or something more esoteric like recognizing birds from sound, you could benefit a lot from audio data augmentation. The idea is simple: by applying random transformations to your training examples, you can generate new examples f…
1 September 2021
- Ads Don’t Work That Way
Kevin Simler
•
1 Sept 2021
There's a meme, particularly virulent in educated circles, about how advertising works — how it sways and seduces us, coaxing us gently toward a purchase.
- The Deployment Fidelity Problem
Tyler Cipriani
•
31 Aug 2021
Production is a low-fidelity version of your codebase. Many deployment metrics are just a highfalutin way to measure the fidelity of your production.
31 August 2021
- Tor is a Great SysAdmin Tool
Jamie Scaife
Using Tor to aid various system administration tasks, including checking firewall rules, bypassing internal network restrictions and connecting to remote systems that are behind NAT/CGNAT.
- The Dysfunctional Back Button - Don’t Do This
A horrifying trip through poor UX design
- Reverse engineering software licensing from early-2000s abandonware – Part 3
Lee Yingtong Li
•
29 Aug 2021
In part 2, we reverse engineered the decrypted format of the licence file data for this particular software. In this part, we investigate that how exactly that licence file is encrypted.
30 August 2021
- [Math] IEEE 754 round-off errors
Dennis Yurichev
An example of the error caused by floating point roundoff is illustrated in the following C code.
- How does Google Authenticator work? (Part 1)
Patryk Cisek
When you’re accessing services over the WEB – let’s pick GMail as an example – couple of things have to happen upfront: The server you’re connecting to (GMail in our example) has to get to know who you are. Only after getting to know who you are it’s able to decide what resources you are allowed to…
29 August 2021
- Every Web Browser Absolutely Sucks.
Luke Smith
•
28 Aug 2021
There are no good, even passable web browsers. None. Not a single one even comes close.
26 August 2021
- I give you feedback on your blog post draft but you don’t send it to me
mangopdf
•
20 Aug 2021
I say to you the same things I say to everyone, but it’s good.
- Invisible Salamanders in AES-GCM-SIV
Sophie Schmieg
•
8 Sept 2020
By now, many people have run across the Invisible Salamander paper about the interesting property of AES-GCM, that allows an attacker to construct a ciphertext that will decrypt with a valid tag un…
- The Rise Of User-Hostile Software
Den Delimarsky
•
23 Aug 2021
Or why software we get today is not the software we should strive to be getting tomorrow.
25 August 2021
- I used to love Bootstrap. God, now I just hate it
Rukshan
•
24 Aug 2021
I have been using Bootstrap since it was version 2. At the time Bootstrap was an easy way to set up a responsive website. And also it made your life so much easier and developing a decent website became easier thanks to the styled elements they provided. At the time Twitter and several other pop
- API Tokens: A Tedious Survey
Thomas Ptacek
•
24 Aug 2021
More, I promise, than you ever wanted to know about API tokens.
- An Introduction to JQ
Adam Gordon Bell
•
24 Aug 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.
24 August 2021
- Programmers Don’t Understand Hash Functions
Programmers don’t understand hash functions, and I can demonstrate this to most of the people that will read this with a single observation: When you saw the words “hash function”…
- I Regret Being a Hipster in Tech
Khalil
•
22 Jul 2021
Being a good, happy and healthy developer it’s not knowing everything, but rather understanding what you need to know.
23 August 2021
- Clang-format Tanks Performance
Can using clang-format make your code slower? Kind of.
- A future for SQL on the web
James Long
•
12 Aug 2021
I discovered something absurd recently and I’m very excited to tell you about it. The end result is absurd-sql, and it’s a persistent backend for SQLite on the web. That means it doesn’t have to load the whole db into memory, and writes persist. In this post I will explain the absurdities of the web’s storage APIs (mainly IndexedDB), show how SQLite provides a 10x perf improvement, explain all the cool tricks that make it work, and explain the locking/transactional semantics that make it robust.
22 August 2021
- C++20 Concepts: The Definitive Guide
Rajat Jain
•
22 Aug 2021
This tutorial introduces C++20 concepts as a way to type-constrain templates, provide saner overload resolution, and throw better error messages.
- One does not simply calculate the absolute value
Тагир Валеев
•
22 Aug 2021
It seems that the problem of calculating the absolute value of a number is completely trivial. If the number is negative, change the sign. Otherwise, just leave it as it is. In Java, it may look...
- Why I recommend CGI instead of web frameworks
William Hales
•
26 Jun 2021
A comment about CGI in general: it's absolutely beautiful.
20 August 2021
- 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
- Automating a software company with GitHub Actions
This post shows how a good CI solution can automate your engineering workflow and help you focus on actual challenges instead of chores. PostHog does…
- A Visual Guide to React Rendering - It Always Re-renders
Contrary to popular belief, by default, react component doesn’t care whether its props changed or not. It will always re-render when its parent renders.
19 August 2021
- Lock-free multithreading with atomic operations
Triangles
•
29 Jul 2019
Synchronizing threads at a lower level.
- C++20 modules with GCC11
Niall Cooling
•
17 Aug 2021
Introduction One of the headline changes of the C++20 standard is the inclusion of modules. Modules promise to significantly change the structure of C++ codebases and possibly signal headers’ ultimate demise (but probably not in my lifetime). It also opens the door to potentially have a unified buil…
18 August 2021
- Unhacking my attention
Fabrizio Rinaldi
On agency and attention in the feeds era.
- It’s Time to Retire the CSV
Alex Rasmussen
If you’ve worked with data for any length of time, you’ve come across the Comma-Separated Values (CSV) format. Its simplicity and ubiquity make CSV an extremely popular way for organizations to exchange data both internally and externally. While many programs can’t read or write Excel spreadsheets, almost anything can read and write CSVs, and a human can open a CSV file in any text editor and understand roughly what it contains.
16 August 2021
- Nerds Don’t Respond To Marketing; Try Technical Documentation Instead
Portia Burton
•
5 Aug 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.
- What domain name to use for your home network
Always use the ‘.home.arpa’ top-level domain (RFC 8375,) and don’t use the special-purpose ‘.local,’ or made-up undelegated domain names like ‘.lan’ or ‘.home.’
- Email Authenticity 101: DKIM, DMARC, and SPF
Alex Blackie
•
15 Aug 2021
Email is critical infrastructure and needs to be trustyworthy. Learn how to set up DKIM, SPF, and DMARC to secure your email domains.
15 August 2021
- Exploring the password policy rabbit hole
Exploring the password policy rabbit hole… how to avoid getting pwned while keeping some level of convenience.
14 August 2021
- Pitfalls of rolling your own E2EE protocol
pwn.recipes
•
14 Aug 2021
A short analysis of an e2ee chat app that used a non-cryptographically secure RNG, offered no way to verify keys and shows all user’s names in a searchable directory to all users.
- Do not do in code what can be done in infrastructure
Or subtitle: Maybe distributed programming is no longer a programming problem? (For the obvious impaired: This is meant to be more thought provoking than an actual truth)
13 August 2021
- I paid for Instagram advertising so you don’t have to
I wanted to promote my band’s music on Spotify by placing a few adverts in Instagram. Here’s what happened. Tl;DR It works, but I found it expensive. In total I spent maybe $200 and pic…
12 August 2021
- Actual impostors don’t get impostor syndrome | Zapier
Justin Pot
•
21 Jul 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.
- 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.
- The monetization trap
Sebastian De Deyne
•
10 Aug 2021
I want to talk about something I’ve been chewing on for a while: the monetization trap.
11 August 2021
- Don’t attach tooltips to document.body
Atif Afzal
•
10 Mar 2021
Instead of attaching tooltips directly to document.body, attach them to a predefined div in document.body.
10 August 2021
- MinIO: A Bare Metal Drop-In for AWS S3
Mark Litwintschik
In 2006, AWS launched S3, a distributed object storage service on their newly-launched Cloud platform. Up until this point, developers often interacted with storage on physical devices using POSIX-compatible file system operations. These "local" storage offerings had file systems, stored data in blocks and often had a fixed amount of metadata describing any one file. UNIX was built on the idea that "everything is a file".
9 August 2021
- Prefer Declarative State Updaters
Kyle Shevlin
Learn how declarative state updaters improve the quality of your component’s code.
- Freelances : bien fixer, annoncer et négocier vos tarifs (guide complet)
Thibault Jouannic
•
8 Nov 2020
Tout pour bien fixer et négocier votre tarif de développeur Web freelance
8 August 2021
- Why I wrote PGP
Philip Zimmermann
"Whatever you do will be insignificant, but it is very important that you do it." -- Mahatma Gandhi. It's personal. It's private. And it's no one's business but yours.
- What can you learn from an IP address?
Guest Post: Researchers examine whether an adversary can deduce websites visited using a set of IP addresses originating from a user’s device.
7 August 2021
- Apply conversion functions to data in SQLite columns with the sqlite-utils CLI tool
Earlier this week I released sqlite-utils 3.14 with a powerful new command-line tool: sqlite-utils convert, which applies a conversion function to data stored in a SQLite column. Anyone who works …
6 August 2021
- Making an Audio Waveform Visualizer with Vanilla JavaScript
As a UI designer, I’m constantly reminded of the value of knowing how to code. I pride myself on thinking of the developers on my team while designing
- SAML is insecure by design
joonas.fi
•
3 Aug 2021
What is SAML? Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between parties. Source: Wikipedia SAML is often used for single-sign on (“Sign in with Google”, “Sign in with Twitter” etc.). It means when you want to log in to exampl…
- On Apple’s “Expanded Protections for Children” – A Personal Story
areoform
•
6 Aug 2021
These efforts will evolve and expand over time. – Apple on their “Expanded Protections for Children” I am broke “non-liquid” right now.
- TypeScript and native ESM on Node.js
Dr. Axel Rauschmayer
•
30 Jun 2021
In this blog post, I’ll explain everything you need to know in order to use and produce native ECMAScript modules on Node.js.
- Infra as a Code Is Cloud Lock-In
Marcin "Gordon" Gordziejewski
I’m a big fan of using IaaC tooling in all of my DevOps jobs. It’s a great pleasure to be able to define your infrastructure in a code and exactly know what do you have in your cloud. It helps you avoid the situation where you have to ask people in the company to know where something lives. You can …
- Your database connection deserves a name
Assigning a name to your database connection can lower your time to debug. We provide an overview of how to do this for various database systems and programming languages.
5 August 2021
- How PostgreSQL aggregation works and how it inspired our hyperfunctions’ design
David Kohn
•
4 Aug 2021
Get a primer on PostgreSQL aggregation, how PostgreSQL’s implementation inspired us as we built TimescaleDB hyperfunctions and its integrations with advanced TimescaleDB features – and what this means for developers.
- In praise of PostgreSQL
Drew DeVault
•
5 Aug 2021
After writing Praise for Alpine Linux, I have decided to continue writing more articles in praise of good software. Today, I’d like to tell you a bit about PostgreSQL.
- Publishing an App on F-Droid
Andrés Villarreal
•
3 Aug 2021
I made some small apps for Android and I wanted to distribute them. I also care a lot about software freedom, so F-Droid is the best place for me to publish my apps. Disclaimer! You are not able to s
- Exploring the SameSite cookie attribute for preventing CSRF
In reading Yan Zhu’s excellent write-up of the JSON CSRF vulnerability she found in OkCupid one thing puzzled me: I was under the impression that browsers these days default to …
4 August 2021
- What we lost (a paean, perhaps, to RSS)
Matt Mower
•
2 Aug 2021
Recently Dave Winer has been posting thoughts about using tags (some of us old-timers used to call them ‘topics’) in his blog. This is more than a little bit poignant because I have a history here, and Dave started it with Radio Userland and RSS.
- The problem with Flask async views and async globals
Starting in v2.0 Flask has added async views which allow using async and await within a view function. This allows you to use other async APIs when building a web application with Flask. If you’re...
- On blankfaces
Scott Aaronson
•
2 Aug 2021
"No, I never applied for that grant. I spent two hours struggling to log in to a web portal designed by the world’s top blankfaces until I finally gave up in despair."
- Optimizations are not solutions
Gareth Dwyer
People often try to solve problems. Often their solutions do not work. One pattern where solutions normally do not work is when they are not solutions but optimisations.
- This Can’t Go On
Holden Karnofsky
•
3 Aug 2021
The long view of economic history says we’re in the midst of a huge, unsustainable acceleration. What happens next?
2 August 2021
- “Ticket Monkey”
Alex Rohde
•
1 Aug 2021
tl; dr – I hypothesize the physical and emotional distance of ticketing systems reduces job satisfaction and propose solutions.
1 August 2021
- Extracting objects recursively with jq
The Algolia-powered Hacker News API returns nested comment threads that look like this: https://hn.algolia.com/api/v1/items/27941108 (For this story: https://news.ycombinator.com/item?id=27941108…
31 July 2021
- Hosting SQLite databases on Github Pages - (or any static file hoster)
phiresky
•
17 Apr 2021
I was writing a tiny website to display statistics of how much sponsored content a Youtube creator has over time when I noticed that I often write a small tool as a website that queries some data from a database and then displays it in a graph, a table, or similar. But if you want to use a
- TikTok and the Future of Social Media
As the world starts to slowly reopen from the Pandemic of the last year, I've found myself travelling more. It was during these travels that one day I was sat in a coffee shop, waiting for my order to arrive. I took a moment to take in my surroundings. The coffee shop was busy, a queue worming its way from the counter to the door. The tables were also packed with customers at various stages of waiting, drinking and leaving.
- Idiots And Maniacs
Adam Gordon Bell
•
30 Jul 2021
ObservabilityIf you do software-as-a-service development and you have paying customers, you at some point learn about the need for operational moni...
- IPFSifying Documentation
Karmanyaah Malhotra
•
30 Jul 2021
So recently I spent a considerable amount of time offline or with unreliable internet (travelling :sigh:). So, I’ve been IPFSing a few code documentation things that could help with offline access.
30 July 2021
- So you want to self-publish books and courses on programming
John Resig and I recently self-published our book on GraphQL. There are tons of how-tos for self-publishing a book, or even online classes, but very
- Canonicalization Attacks Against MACs and Signatures
Canonicalization Attacks occur when a protocol that feeds data into a hash function used in a Message Authentication Code (MAC) or Digital Signature calculation fails to ensure some property that&#…
29 July 2021
- The search for a better persistent cache
Actual runs a lot of complex queries, and improves performance by caching the results. There are problems with how it currently works however, and this post explores new solutions.
- One-offs and low-expectations with Safari
The other day Jen Simmons solicited some open feedback about WebKit, asking what they might “need to add / change / fix / invent to help you?” First of all — brave. Brave of Jen to open her timeline up for everyone to vomit their opinions and snark. I, too, contributed my own bits of vomit to the thread.
- Doom scrolling
Prithviraj Sukale
•
28 Jul 2021
I have a problem. To be honest, I think many people have it these days. Endlessly scrolling social media for hours. It sucks precious time out of our lives. Most of the time you don’t even realize it is happening when it is happening. When you do realize, you have
- Thinking About The Cut-Out Effect: CSS or SVG?
Ahmad Shadeed
•
27 Jul 2021
A look at how CSS and SVG can be used to implement the cut-out effect.
28 July 2021
- Drum Synthesis in JavaScript
Nicholas Thompson
•
27 Jul 2021
For a long time now, the idea of writing a small drum synth has been one of those “maybe it would be cool if...” tasks floating in the periphery of my Creative Intent plugin prototypes or in my small experiments with generative music. Typically I’ve put off the idea thinking
- Netcat - All you need to know
Netcat is a tool that reads and writes data across network connections, using TCP or UDP protocol. Netcat has been referred to as the TCP/IP / networking swiss army knife. In this article we’ll look at different applications of netcat and how it can be useful in day to day activities of a pentester, security professional, sysadmin etc…
- Smart Phone, Dumb Terminal
Using your phone as a dumb terminal with a Bluetooth keyboard
27 July 2021
- Postgres Full-Text Search: A Search Engine in a Database
Kat Batuigas
•
27 Jul 2021
With Postgres, you don’t need to immediately look farther than your own database management system for a full-text search solution. If you haven’t yet given Postgres’ built-in full-text search a try, read on for a simple intro.
- Naval Architecture
Bartosz Ciechanowski
•
27 Jul 2021
Interactive article explaining how ships float and maintain their stability.
- We Need To Talk About The Insecurity Industry
Edward Snowden
•
26 Jul 2021
The greatest danger to national security has become the companies claiming to protect it.
- In Defence of the Pull Request
Oliver Roick
•
26 Jul 2021
Code reviews aren’t the developer’s primary responsibility, and often there is more than one round of changes to review. There’s always one person in the way to wrap up work, leaving snarky comments. Pull requests take time, resulting in long-lived feature branches and violation of continuous-integration principles. And, despite thorough reviews, bugs still make their way into production. Pull requests are neither efficient nor effective; they slow down delivery and contribute to toxic environments.
- You should turn off autofill in your password manager
Marek Tóth
Password managers are a very popular topic in IT security these days. I can only agree with the use of password managers. After all, remembering dozens of unique passwords is almost impossible.
- Securing your development environment
Santos Gallegos
•
24 Jul 2021
Tips on how to secure how to secure your development environment from your computer to your terminal.
- Don’t reinvent the `if` statement
Mikhail Dobrinin
•
25 Jul 2021
The senior engineer was faced with code that stopped him in his tracks...
26 July 2021
- Don’t Be Anti Car. Be Pro Something Else.
Doreen Traylor
•
26 Jul 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...
25 July 2021
- Hacking is the opposite of marketing
What you call love was invented by guys like me... to sell Nylons.
- Problems with decision making at W3C
Dzmitry Malyshau
•
24 Jul 2021
This post is inspired by Open Decision-Making by John Ousterhout. Being actively involved in WebGPU design (mostly within W3C) for more than 4.5 years, I dev...
24 July 2021
- How to spot a good fake ID
Trevor Klee
•
24 Jul 2021
One of my favorite things in the world is the very specific, strange competencies that people develop over the course of a job. Carpenters might be able to estimate the length of anything just by looking at it, architects might be able to quickly sketch a remarkably accurate picture from memory, etc.
- A contentEditable, pasted garbage and caret placement walk into a pub
Asko Nõmm
•
22 Jul 2021
Pasted garbage says to contentEditable; “Hey! I’d really like to become part of you” and contentEditable says back; “Not so fast, you! First we got to rinse you down!”. And thus begins a story of how to make contentEditable take in a good ol’ paste, parse that paste for anything
23 July 2021
- Privacy is an afterthought in the software lifecycle. That needs to change.
The key to combining privacy and innovation is baking it into the SDLC. Analogous to application security’s (AppSec) upstream shift into the development cycle, privacy belongs at the outset of development, not as an afterthought. Here’s why.
- Web Features That May Not Work As You’d Expect
As the web gets more and more capable, developers are able to make richer online experiences. There are times, however, where some new web capabilities
- Disrespectful Design, Part II
Ozzie
•
22 Jul 2021
What can you do, as a builder, if your job seems to require to employ disrespectful design patterns? What is Disrespectful Design First, it’s worth rehashing what Disrespectful Design is. I t…
- Idle JavaScript Observations
Further adventures in JavaScript
- Instagram ruined photography for me
The story of why I stopped taking photos
- Ghost faves in the mystery machine
Nobody knows anything.
22 July 2021
- Dynamic import with HTTP URLs in Node.js
Maximilian Fellner
Implementing a dynamic import function to download ES modules via HTTP in Node.js.
21 July 2021
- TypeScript: Unexpected intersections
Sometimes when writing TypeScript, some of the things you’d usually do in JavaScript work a little different and cause some weird, and puzzling situations. Sometimes you just want to assign a value to an object property and get a weird error like “Type ‘string | number’ is not assignable to type ‘never’. Type ‘string’ is not assignable to type ‘never’.(2322)”
- How to inspect elements that hide on mouse move
Specific blog post title, eh? But very specific problem that’s a pain in the backside when it comes to debugging it. How do you inspect an element that hides on mouse move? Such as a tooltip (though I’m not a fan of the UI element, if only for the lack of accessibility) it’s certainly not obvious.
20 July 2021
- Your Idea Is Brilliant, Your Idea Is Worthless
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…
- Are you ashamed to share your email address?
Rukshan
•
18 Jul 2021
I created my email address when Gmail was still an invitation only platform, and I was 15 at that time. I created a short, somewhat funny, and hard to spell email address by using my initials and how my fiends used to call me at school. During that time, the email address seemed cool, and I regis
19 July 2021
- Towards Inserting One Billion Rows in SQLite Under A Minute
Avinash
•
17 Jul 2021
This is a chronicle of my experiment where I set out to insert 1B rows in SQLite
18 July 2021
- The Trouble with `
` is a nice character that causes trouble for me
- It doesn’t take much public creativity to stand out as a job candidate
I’ve spent nearly twenty years blogging, giving talks and releasing open source code. It’s been fantastic for my career, and a huge amount of work. But here’s a useful secret: …
17 July 2021
- Don’t Solve Problems, Eliminate Them
How eliminating problems can drastically simplify your codebases and life.
- Servers are like babies - tips for being on call
Servers tend to cry a lot. Those on call respond to their every whim, much like taking care of a baby. Here’s 7 tips for dealing with being on call so it doesn’t seem as bad!
16 July 2021
- Don't get bitten by missing foreign key indexes
Oliver Russell
Postgres doesn't give you indexes on foreign keys by default (unlike primary keys). This makes some sense when you think about it - there's no necessity for them in order to keep the constraint checking efficient.
- Cut Out the Middle Tier: Generating JSON Directly from Postgres
PostgreSQL has built-in JSON generators that can be used to create structured JSON output right in the database, upping performance and radically simplifying web tiers.
14 July 2021
- I just can’t do this anymore, Copilot
John Aaron Nelson
I’ve been using Github Copilot in my daily coding activity for the last two weeks, and I just can’t anymore. I read a post on Hacker News this morning talking…
- Give me /events, not webhooks
Webhooks come with some challenges. We prefer polling an /events endpoint instead when possible.
13 July 2021
- Every company is a shit show
Jared Hecht
•
8 Jul 2021
One of the things I continually find myself saying to friends, founders, and colleagues is that every single company is a shit show.* Founders, execs, and employees like to think that there’s a bet…
- Use The ‘tail’ Command To Monitor Everything
Robert Elder
•
8 Apr 2021
This article is about how to use the 'tail' command. Here is an overview of how you can use the 'head' and 'tail' commands to output different parts of a file.
11 July 2021
- Webmentions, A Healthier Analytics
Analytics on personal blogs is a controversial issue. Some readers feel the site owner shouldn't be spying on what posts they read while the owners feel analytics offer valuable insight in to what articles perform well.
- What happened when I stopped using Emojis
Clo S
•
18 Jun 2021
How emojis are designed, their pitfalls, and how we can best use them.
9 July 2021
- What does 100% mean in CSS?
Amelia Wattenberger
Spoiler: it depends
8 July 2021
- npm audit: Broken by Design
Found 99 vulnerabilities (84 moderately irrelevant, 15 highly irrelevant)
- An incomplete list of practices to improve security of your (micro)services
Madalin Ilie
•
6 Jul 2021
If the answer is "I don't know!" or even worse "It's possible!", you need to read this. Software security is hard and complex. Many people think about it as something aside from the typical development process.
7 July 2021
- OMG, SVG Favicons FTW!
This article explores the fun new world of SVG favicons. We cover adding them to HTML, using emojis, inlining them as data URIs, and supporting dark mode.
- Upgrading Node.js dependencies after a yarn audit
It’s Tuesday! The day of your weekly dependabot alerts from GitHub! A nice reminder to check on your projects, and usually just a few clicks worth of work, the automatic update is wonderful.
6 July 2021
- Towards a more Elvish vision for Technology
George Strakhov
There are at least two kinds of magic. These two kinds may not always be distinct in their appearance, but are very different in their underlying motives and their ultimate outcomes.
- Turn It All Off
Christopher Butler
•
2 Jul 2021
This is an intervention. We are addicted to media. Our screen time crisis will not be solved by technology, but by will.
- Compressing JSON: gzip vs zstd
Daniel Lemire
•
30 Jun 2021
JSON is the de facto standard for exchanging data on the Internet. It is relatively simple text format inspired by JavaScript. I say “relatively simple” because you can read and understand the entire JSON specification in minutes. Though JSON is a concise format, it is also better used over a slow n…
- Towards richer colors on the Web
This article will talk about the ongoing efforts to specify richer colors on the Web platform, plus some ideas about directions for future development on Blink/Chromium.
- Playing games with an attacker: how I messed with someone trying to breach the CryptoWall tracker
Peter Vidani
•
30 Mar 2016
The game I played with an attacker described in this blog was inspired by a TED talk where someone played games with a 419 scammer: James Veitch - This is what happens when you reply to spam email.
5 July 2021
- Implementing Stripe-like Idempotency Keys in Postgres
Building resilient services by identifying foreign state mutations and grouping local changes into restartable atomic phases so that every request can be driven to completion.
4 July 2021
- What every coder should know about gamma
John Novak
•
21 Sept 2016
If you have ever written, or are planning to write, any kind of code that deals with image processing, you should complete the below quiz. If you have answered one or more questions with a yes, there’s a high chance that your code is doing the wrong thing and will produce incorrect results.
2 July 2021
- SparkFun Hooks a Patent Troll
Nathan Seidle
•
30 Jun 2021
Checkout the inner workings of ransoming and patent trolls.
- 10 Malicious Requests Against My Web Application
Matthew Kindzerske
•
29 Jun 2021
During a recent coding experiment/competition I had a (very rough) NodeJS app which I needed to deploy and host. Horror of horrors, I manually installed it onto a bare EC2 and pointed an Elastic-IP…
- 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.
1 July 2021
- The First Hacker
It’s hard to ascribe “firsts” in history. Did Ada Lovelace write the first computer program? Does it count if it is a mechanical computer? Are Bombe and Tunny really computers in …
- Functional, Declarative Audio Applications
Nicholas Thompson
•
30 Jun 2021
This is an article that has been a long time coming, and one that I’m really excited to finally write. Today I want to introduce a project that I’ve been thinking about and working on for years: Elementary Audio. Elementary is a JavaScript runtime for writing native audio applications, as
- Measure with Music: How to Read Analog Sensors Using a PC Sound Card
Ruslan Nagimov
This post describes a simple method of reading resistive and capacitive sensors using a standard PC sound card. Virtually any desktop or laptop could be turned into a simple data acquisition system using this method. Thanks to moderate system requirements, even the very old computers can be repurposed for this application.
- Building my own web analytics
I’ve built a simple 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. I compare the different results from CloudFlare Analytics, CloudFlare Web Analytics and my own tool in this f…
29 June 2021
- The Fuck You Pattern
Connor Edwards
•
28 Jun 2021
In the software industry, there is a term for intentional designs which coerce the user into doing something, be it consciously or subconsciously - a ‘dark pattern’. These patterns are employed by social media networks, e-commerce, video games, and many more places.
- 11 Tips for Better Signup / Login UX
Erik D. Kennedy
Mobile patterns · Form field validation · Autofocus · Microcopy · Error messages · Error prevention
28 June 2021
- Notes on streaming large API responses
I started a Twitter conversation last week about API endpoints that stream large amounts of data as an alternative to APIs that return 100 results at a time and require …
- Revisiting webcam covers
They saved me from an over-zealous video conference call application today.
27 June 2021
- Crazy Conclusions in Early Childhood
Doreen Traylor
•
27 Jun 2021
From my last post on this site: One recurring theme: Bright kids of a certain age are just smart enough to jump to crazy conclusions rooted ...
- When it comes to git history, less is more
One person’s entry-level contribution is another person’s difficult bugfix or backport.
24 June 2021
- Introduction to Locality-Sensitive Hashing
Tyler Neylon
Locality-sensitive hashing (LSH) is a set of techniques that dramatically speed up search-for-neighbors or near-duplication detection on data. These techniques can be used, for example, to filter out duplicates of scraped web pages at an impressive speed, or to perform near-constant-time lookups of nearby points from a geospatial data set.
23 June 2021
- URLs: It’s complicated...
Let’s play silly games with URLs...
22 June 2021
- Your CPU May Have Slowed Down on Wednesday
The death of hardware store optimization.
20 June 2021
- How to end up with 500,000 commits in your log
Martin Tournoij
I once worked for a company where they managed to create about half a million subversion commits in just 2 or 3 years, with about 3 developers working on it. I’ll leave it as an exercise to guess how they managed to do that :-)
- Automatically publishing your build artifacts
Aurélien Gâteau
•
18 Jun 2021
The idea: whenever your CI builds the code from your main branch, do not ditch the build results: publish them instead. This makes it easy to provide QA engineers or bug reporters with new builds to try.
18 June 2021
- Don’t kill yourself
John Biggs
•
17 Jun 2021
Depression is real in founders. Please be careful.
- Liquidity of skill
Linus
•
16 Jun 2021
Here is a mental model I share often with friends looking for job opportunities: your ability to get a job is the product of two quantities, the value of your skill and the liquidity of your skill.
- How Many Flies are in my Apartment?
Sam Lerner
•
13 Jun 2021
Recently, I was sitting on my fire escape with the window to my apartment slightly open. As there are no screens, I wanted to keep it as closed as possible to keep out any bugs. However, I needed to keep it somewhat open so that I'd be able to get back indoors.
- Boring Problems Need Attention Too
Waqas Younas
•
17 Jun 2021
When millions of people use some software, at hugely profitable tech companies, then these companies should prioritize correctness.
- Spatial Audio is a Scam
Bob Lefsetz
•
12 Jun 2021
I got the following e-mail from a producer/engineer: “I just want to try and alert you to the potential seismic scam happening with this Atmos roll out. Atmos catalog remixing is being done …
17 June 2021
- Serving sharp images to high density screens
Jake Archibald
•
11 Jun 2021
Why compressing images for dense screens is different, and how to serve them.
- Do You Need Redis? PostgreSQL Does Queuing, Locking, & Pub/Sub
It’s a common architecture to have PostgreSQL and Redis serve as the backbone of your app, but PostgreSQL may be capable of everything you use Redis for.
- Bear plus snowflake equals polar bear
Andy Salerno
•
13 Jun 2021
Quick, how many bytes make up the following line? No tricks, I promise. `Hello!` The correct answer is: 6. Or 7, if you want to be pedantic and include the newline, but let’s not.
16 June 2021
- Building a WebAuthn Click Farm — Are CAPTCHAs Obsolete?
Luke Young
•
10 Jun 2021
How I built a click farm to “bypass” Cloudflare’s CAPTCHA killer with some cheap USB security keys, an Arduino, and a bit of python.
15 June 2021
- Don’t pass the torch, pass the flame
Marc Randolph
•
19 Apr 2021
A few weeks ago, one of the organizations I work with started its board meeting with the icebreaker, “tell us something about yourself that most people don’t know”.
14 June 2021
- Are we running out of tweets?
Twitter’s 280 character limit raises an interesting question: how many tweets are possible before nothing new can be said?
- How to Handle Secrets on the Command Line
Carl Tashian
•
12 Apr 2021
How to keep secret credentials safe on the command line.
- On surveillance through face recognition
Dan Gheorghe Haiduc
•
13 Jun 2021
A year ago, a Black man was arrested for theft. The evidence was crummy face-recognition coupled with a security guard’s ID who had not seen the person, only a security tape. A few months ago, some civil rights organizations filed a lawsuit against the Detroit Police Department for the wrongful …
- Hey, so, I Think I Fucking Hate the Internet
G. Keenan Schneider
•
4 Jun 2021
Blaise Pascal, writing in Pensées : All of humanity’s problems stem from man’s inability to sit quietly in a room alone. I’ve got a Safari window open behind this Craft draft (there’s no great portmanteau here, though that won’t prevent me from desperately searchi
13 June 2021
- Mobile air conditioning sucks
Imre Jonk
•
11 Jun 2021
Mobile A/C units may seem attractive, but they’re incredibly inefficient. A bit of background and tips on staying cool.
12 June 2021
- The Internet Needs a New Name
Christopher Butler
•
11 Jun 2021
The Internet is a bad name. We could have done much better. The same is true for The Web.
- Containers are tents
Nina Schiff
•
27 May 2021
We don’t expect tents to serve the same purpose as brick-and-mortar houses—so why do we expect containers to function like VMs?
- On the Word “Nonce” in Cryptography and the UK
Earlier today, I made a Twitter shitpost that confused a lot of folks from the UK. In the style of the “cats can have little a salami, as a treat” meme. Now, anyone can be forgiven for …
- Does Safari 15 finally fix viewport height?
TL;DR: No, but if you subtract env(safe-area-inset-bottom) from 100vh you'll get what you want.
- Emotional Debt
Today, I came up with a concept which I then discovered already exists: emotional debt. I’ll still write my thoughts on it. Debt, in essence, is an obligation to do something, generally to perform some type of work. In the mainstream, it has come to stand for “money that you have to pay”. But money…
- The most useful math formulas
pkh.me
•
9 Jun 2021
These last years, in the context of working on a graphic rendering engine, I've been confronted to many engineering problems involving mathematics: basic geometry, colorimetry, curves, animations, video, etc. In all these situations, I needed at some point to formalize a "space conversion" of some sort.
10 June 2021
- CSS System Colors
In another episode of “I’ve been a web designer for how long and am only now learning about this?” let’s talk about CSS system colors.
- The pedantic checklist for changing your data model in a web application
Raphael
•
7 Jun 2021
Let's say you have a web app with some database. In your database you have an Invoice model, where you store things you are charging your customers.
9 June 2021
- Command Palette Interfaces
The command palette seems to be making a resurgence. I couldn't be happier. It's one of my favorite UI patterns.
- You Don’t Need Permission
I was pleasantly surprised to hear from Suresh, an ex-student I’ve known for a long time. A U.S. citizen he was now the head of sales and marketing for a company in London selling medical devices t…
- `useMemo` and Stable Values
Kyle Shevlin
A short explanation on how I use `React.useMemo` to stabilize values for re-renders.
8 June 2021
- Dead Ends in Cryptanalysis #2: Timing Side-Channels
Previously on Dead Ends in Cryptanalysis, we talked about length-extension attacks and precisely why modern hash functions like SHA-3 and BLAKE2 aren’t susceptible. The art and science of sid…
- Dev Story: Unicode URL length limit blues
Adam Pritchard
I have enjoyed reading other people’s design and debugging train-of-thought posts, so after I spent two days wrestling with a code problem, I thought I’d write it up. It’s not technically exciting, but I think that describing it might be useful to someone – or my future self – someday. Or, at the very least, a little amusing.
- The humble hash aggregate
Data work has its own unique architecture we should be aware of.
- The top-ranking HTML editor on Google is an SEO scam
Caspar von Wrede
•
7 Jun 2021
A tale of online-sleuthing
7 June 2021
- Hiding miners on Linux for profit
Alfonso M. García Astorga
•
23 Apr 2021
Leveraging Linux Loadable Kernel Modules to hide a cryptocurrency miner process and CPU usage.
- The right tag for the job: why you should use semantic HTML
localghost
•
6 Jun 2021
Whether you write plain old HTML, HTML templating or JSX, are you using the right HTML tags? A guide to semantic HTML: what it is, why it’s so important, and how to use it
4 June 2021
- Some Ideas About Storage Reliability
Russell Coker
•
30 May 2021
Hard Drive Brands When people ask for advice about what storage to use they often get answers like “use brand X, it works well for me and brand Y had a heap of returns a few years ago”.…
3 June 2021
- Logging is important
Giovanni Collazo
•
1 Jun 2021
Getting application logging right is crucial for every software project. When done correctly it makes the maintainers work a lot simpler. There’s no worst feeling than getting an error report and searching for logs to try to understand what happened and not finding a single entry.
2 June 2021
- Best Practices Around Production Ready Web Apps with Docker Compose
Here’s a few patterns I’ve picked up based on using Docker since 2014. I’ve extracted these from doing a bunch of freelance work.
- Measuring potential complexity in popular Open Source projects
Martin Schleiss
Complexity surrounds software everywhere. I’ll show you what to watch out for in popular open source projects.
- The Modern World vs. The Traditional World
Dmitri Kyle Brereton
We know that the world we live in now is very different from the one our ancestors lived in, but how can we articulate those differences?
- Why Prefetch Is Broken
Jeff Kaufman
•
27 May 2021
When coding a webpage, sometimes you know something is very likely to be needed, even if it’s not needed yet. You can give the browser a hint: <link rel=prefetch href=url> The browser will take a note, and then when it doesn’t have anything more important to do it might request url. Later o…
- The dream of end-to-end typesafety
In the mid-2010s, the pendulum of web development swung massively in the direction of increased type safety. First, we all switched back to relational DBs after recovering from an embarrassingly long collective delusion that NoSQL was cool. Then TypeScript started its meteoric rise after years of quiet development. Shortly thereafter GraphQL was announced and quickly became the de facto way to implement typesafe APIs.
- Your Product is Not Their Problem
There are no facts inside your building, so get the heck outside I just had a call with Lorenz, a former business school student who started a job at a biotech startup making bacteria to take CO2 o…
31 May 2021
- You Don’t Need to Rebuild Your Development Docker Image on Every Code Change
You can mount code from your development machine into a container and save yourself tedious waiting times during development.
- Use @protonmail.com addresses at your peril
Connor Edwards
•
30 May 2021
If you use an @protonmail.com address, many companies will treat you as a cybercriminal by default and make your life more difficult than it should be. ProtonMail’s premium domain @pm.me may fare better but there’s no way to be certain.
30 May 2021
- About Yak Shaving
I recently visited Zhihu occasionally and saw many questions about how to start open source, or how to make open source projects successful. I kinda had similar doubts for a long time, so I thought that maybe I could share some of my rough views on this.
- Parsing Signals on Remote Work From CEOs
Mark Maunder
•
29 May 2021
Recent remarks of numerous chief executives suggest the culture of workplace face time remains alive and well. At The Wall Street Journal’s CEO Council Summit this month, JP Morgan Chase & Co.’s Jamie Dimon said remote work doesn’t work well “for those who want to hustle.” Goldman Sachs CEO David So…
- The Guilty, Crazy Secret That Helps Me Write
Ryan Holiday
•
14 Apr 2014
GEORGE: I can’t get it out of my head. I just keep singing it over and over. It just comes out. I have no control over it. I’m singing it on elevators, buses. I sing it in front of clients. It’s taking over my life. JERRY: You know, Schumann went mad from that. He went crazy from one note. He couldn…
- Digital currencies, DeFi and the impact of the next Carrington event
Dylan Collins
•
29 May 2021
‘But have you hedged yourself in crypto?’ is the kind of question I am being asked a lot lately. Ignoring the technical and economic miracles/mirages of DeFi, I started to scratch an it…
29 May 2021
- Why Russians do not smile
Natalija Tancjura
•
1 Jun 2021
Cultural differences create a lot of misunderstanding in communications between Westerners, particularly Americans, and Russians. In this mini-ethnography I present the main differences in perception of the smile in Russia and in the United States.
- Messaging and Chat Control
Patrick Breyer
•
27 May 2021
The End of the Privacy of Digital Correspondence The EU wants to have all private chats, messages, and emails automatically searched for suspicious content, generally and indiscriminately. The stated aim: To prosecute child pornography. The result: Mass surveillance through fully automated
28 May 2021
- Compaction
Justin Jaffray
You hear the word “log” a lot when talking about databases. This is because databases are fundamentally comprised of sin. (Shared mutable state).
- Action vs. Motion
We are all guilty of the following: We mistake motion with action. We read about taking action instead of actually doing something. That’s motion vs. action.
- 4-Day Workweek
I have been working 4 days a week for a number of years and in this blog post I want to share my experience and some pros and cons.
- What’s in email tracking links and pixels?
Beng Tan
•
27 May 2021
This investigation into email tracking attempts to deconstruct tracking links and pixels and highlight the data that is being collected. It covers Mailchimp, …
- Blog about what you’ve struggled with
Julia Evans
•
24 May 2021
I was talking to Jemma recently about what stops people from blogging. One barrier that stood out to me was: it’s hard to identify which things you know will be useful to other people!
27 May 2021
- How I forged the Lithuanian Vaccine Certificate
The story of how I was able to alter the data of the national vaccine certificate, to make it appear that an invalid certificate permits some exceptions for contact activities, making it possible to mislead certificate checkers. And then got it fixed.
- The best API design principles inspired by nature
It’s entirely possible to design APIs that are a joy to work with. Here are some API design principles that help you design better APIs based on biology.
- Have you ever hurt yourself from your own code?
Nikita Skobov
•
25 Apr 2021
Have you ever accidentally caused harm to yourself or others from your code? I have..
26 May 2021
- Going Offline To Reconnect
The Internet is touted as being absolutely integral to our lives and that may be partially true. However humans are not designed to be exposed to so much information day after day with no release; Being forced to go offline for a period helped offer a much needed reality-check on how to use your time online mindfully.
- Unbounded Possibility is Bad for Productivity
Brian Schrader
•
25 May 2021
Being productive is hard; especially if you're working by yourself or working remotely. When you're working alone you have a lot of freedom, but that also means you have a lot of slack. No one is holding you to a schedule or deadline, and nothing is stopping you from procrastinating or getting distracted.
- My Kindle is dead
Second Breakfast
I ordered a paperback book from Amazon last night. The last book I ordered was a paperback, too. So was the one before that.
25 May 2021
- WASM SYNTH, or, how music taught me the beauty of math
Tim Daubenschütz
•
19 Feb 2020
TL;DR: I built a synthesizer using C++ and WebAssembly. Check out the finished product (browser compatibility table), the source, watch the talk or keep on reading the article!
- Don’t feel bad about not knowing basic things
Adam Zerner
•
24 May 2021
Just because you stumble across something basic that you don’t know doesn’t mean you’re a bad developer. Even good developers have lots of gaps at the base of their pyramids.
24 May 2021
- Why I prefer making useless stuff
Austin Z. Henley
There is something liberating about working on projects that have no expectations.
- Why Decentralised Applications Don’t Work
Ingrid Rebecca Abraham
•
23 May 2021
TL;DR: Misaligned profit motives. This has been on my mind for a while, and with a couple of things lately stoking my ire (the NFT resurgence, and Signal integrating mobile coin), I’ve finally pushed myself to put it into words.
23 May 2021
- Monetizing Open-source is problematic
Marak
I write Open-source software occasionally. I have a project which is currently popular called faker.js. I've been working on Faker for over a decade. It's MIT licensed. This blog post will describe my attempt to monetize the Faker project with a cloud offering. It will eventually come around to the Engineers of a seventy five million dollar startup funded by Sequoia Capital and John and Patrick Collison signing up for my cloud offering, testing my service, copying the concept, hotlinking to my business's CDN, and now the CEO of the company David Hsu no longer responding to my emails. Overall it should be an entertaining and informative read.
22 May 2021
- Willfulness
gazzini
•
20 May 2021
I want to live a virtuous life, and I want to have a positive impact on the world. In practice, these are 2 very different goals. The former is intrinsic — the act is its own reward, and I don’t have to claim responsibility for any external outcomes. The latter is results-oriented, so my noble inten…
- Accessibility is hard. It’s also your job.
Go Make Things
•
18 May 2021
A few weeks ago, Twitter use @McgarrDana tweeted: Accessibility isn’t more work, you were just cutting corners before. The work was incomplete. And she’s right! If what you built isn’t accessible, it’s not complete. There’s no such thing as a website or web app that doesn’t need to be accessible. …
- The Remote Async Work zine
No one is working remotely right now. We are working in captivity. A pandemic is holding us hostage—but we can make it suck less.
21 May 2021
- Imports are Endorsements
Brian Schrader
•
20 May 2021
When you import someone's code, are you endorsing them? At first glance, the answer might seem simple: of course not! And while it's pretty obvious that imports are not universal endorsements of the code's author, they aren't entirely void of meaning either. Endorsements aren't an indivisible quanta—some fundamental particle that cannot be divided—they exist on a spectrum.
- On Being a Good Newsletterer
Notes and tips on how not to be a newsletter ding dong
20 May 2021
- Security Headers
Jeremy Shaw
•
19 May 2021
Going through the pros and cons of HTTP security headers using an SVG and firebase as an example
18 May 2021
- Metric Display Standards
Best practices for presenting numbers that change with time
17 May 2021
- Twitter: The Machine to Rage Against
dbasch
•
12 May 2021
Suppose you are a pedestrian about to cross the street. A car approaches the crosswalk and the driver sees you. You think he will let you go first. Instead, he stops for a fraction of a second and does not give you a chance. You flip him the bird, that guy must be an inconsiderate…
16 May 2021
- 5 steps to faster web fonts
Fine-tune your font files and optimise your loading strategy for maximum speed + minimum FOUT
- The Parable of the Indie Hacker and the Startup Founder
Dmitri Kyle Brereton
A Silicon Valley Startup Founder was on vacation in Bali, at a cafe, and he noticed a woman on her laptop with her screen split between a Stripe dashboard and Indie Hackers.
15 May 2021
- The return of fancy tools
Tom MacWright
Dreamweaver as a low-code local-first native app
14 May 2021
- The Linear Oppression of Note-taking Apps
Every major note-taking app on the market works one way: linearly, in text.
- ✨ HTML Share Buttons
Today we’re going to be making some HTML-only social share buttons like the ones shown below. That’s right, No JavaScript required! 🧙♀️
- Scary Logic
Jeremy Mikkola
Nightmares run on Scary Logic. In a nightmare, that moving shadow turns out to be a fast predatory monster. That noise behind you? It’s something that is about to attack. You turn to run but your legs won’t work. The fire is spreading but you can’t reach the water. In any situation, the scariest possibility you consider is what ends up happening next. This is Scary Logic.
13 May 2021
- Don’t build products, build relationships
Ondrej Prostrednik
Pitching your idea to strangers is not validation. In order to validate your product idea, you have to first forget about it and start building relationships. You will unlock learnings from your future users and navigate towards the right product to build.
12 May 2021
- JWT should not be your default for sessions
When designing web applications, (especially the traditional HTML kind), you will at one point have to figure out how to log a user in and keep them logged in between requests.
- I Mailed an AirTag and Tracked Its Progress; Here’s What Happened
Kirk McElhearn
•
12 May 2021
I sent an AirTag by mail to a friend and tracked it across the UK.
- The Node.js CA Footgun
A Story of an Outage and Unintuitive API
11 May 2021
- Hell site
Aral Balkan
•
10 May 2021
Going forward, I will no longer be checking Twitter or responding on it … I plan to concentrate as much of my time and energy as possible on building the Small Web.
- Make a perfect responsive table
The table is the most common component we using day by day in web applications, but when working on the mobile version, the UX seems really poor for users. In search of a way to resolve it, I found there are 4 interesting solution Let’s walk through...
- Here’s How ‘Everything Bubbles’ Pop
Charles Hugh Smith
•
9 May 2021
But weirdly, and irrationally, bubbles pop anyway. At long last, the moment you’ve been hoping for has arrived: you’re pitching your scr...
10 May 2021
- The Syslog Hell
Syslog. You’ve probably heard about that, especially if you are into monitoring or security. Syslog is perceived to be the common, unified way that systems can send logs to otherContinue reading
- Praise for Alpine Linux
Drew Devault
The traits I prize most in an operating system are the following: Simplicity, Stability, Reliability, Robustness
- How we built an idea engine in Slack
A high-level overview of how we process, evaluate, and use team ideas at Butter
- The MVP Process
Zynath
Today we are going to take a look at the MVP process that we follow at Zynath. It may differ in some details from the standard agile development methodology you are familiar with. The traditional approach works great for pure software startups with little to no immediate regulatory concerns.
- Setting up ghost in raspberry pi for free
Vignesh Ravichandran
•
9 May 2021
This is part of my Today I Learnt series where I share whatever I am learning something new. After having issues with port forwarding in Xfinity I decided to look for alternative solutions. I have used Cloudflare tunnel (used to be called Argo Tunnel) in the past to expose websites running on my laptop to the Internet. So, I decided to try it out for Ghost blogging site which I am setting up for my dad.
9 May 2021
- 5 Ways to Make Better Charts in Excel, Google Sheets, Illustrator & More
Charts are everywhere, with a fair share of good charts, and bad. But what makes a good chart stand apart from a bad one?
8 May 2021
- What I Learned by Relearning HTML
Danny Guo
•
7 May 2021
I’ve worked on websites for several years, both professionally and for side projects. One day, I reflected on the fact that all of my web development education had come from actually making websites. In most cases, I’d have a specific problem, Google how to solve it, and learn something new in the process.
7 May 2021
- API design best practices: How to build APIs for humans
Follow the API design best practices to build APIs for humans, not computers. There’s a human discovering, integrating and loving your API.
- Hardening macOS
Ricard Bejarano
•
29 Sept 2018
Why? There are bad guys out there, who want to steal your data, your money, your identity, your time...
6 May 2021
- Blockchain is not decentralised
Roman Leventov
•
5 May 2021
I keep hearing an opinion that “Bitcoin (or any cryptocurrency, or blockchain in general) is decentralised”. It is presented as a “good” property of cryptocurrencies that distinguishes it from older fiat money such as US dollar. Most recently, by Balaji S. Srinivasan
- HTML Tips
In this article I’ll share some tips and advice about HTML.
- How to host a website on the dark web
Host any website or service on the dark web full tutorials for Linux beginners.
- The Venture Capital Paradox?
Can Olcer
•
5 May 2021
Building a software business on the internet requires almost no capital. You don’t need to rent an office or a warehouse. You don’t need to invest …
- Preserving the Web
Jake Lazaroff
•
5 May 2021
As Sarah and I were in the middle of moving, packing our lives into cardboard boxes, we unearthed a bunch of old laptops. Before donating them, I cracked them open to back everything up — and found a ton of old websites I’d worked on over the years. Rather than just shuffle the files endlessly betwe…
5 May 2021
- The Origin of Tweet
Craig Hockenberry
•
28 Apr 2021
Last week, one of my colleagues informed me that the word “tweet” was now included in the Oxford English Dictionary (see “Quiet announcement” at the end of the page.) The noun and verb tweet (in the social-networking sense) has just been added to the OED. This breaks at least one OED rule, namely th…
- Hello, Modules!
JavaScript Modules, also known as ESM, is finally here!
- On Software Rewrites
You have been working on building a wonderful piece of software, that people actually love using. It solves a problem, and people would be really upset if it went away tomorrow. You’ve finall…
- Exploring Temporality in Databases
Aditya Mukhopadhyay
•
5 May 2021
A deep-dive into the concepts behind time-traveling databases that are capable of version-controlling their data.
- I’ve analyzed the accessibility of over 1600 personal sites
Darek Kay
•
4 May 2021
How accessible are personal blogs and portfolio websites?
- Software disenchantment
Everything is going to hell and nobody seems to care
- Blog Archive for Docusaurus
John Reilly
•
1 May 2021
Docusaurus doesn’t ship with “blog archive” functionality. By which I mean, something that allows you to look at an overview of your historic blog posts. It turns out it is fairly straightforward to implement your own. This post does just that.
4 May 2021
- How Litestream Eliminated My Database Server for $0.03/month
I’ve always hated maintaining database servers. Litestream offers a simple alternative without sacrificing reliability or security.
- Easy and Ethical Traffic Monitoring with GoAccess
Brian Schrader
•
3 May 2021
Traffic monitoring is a staple for web businesses, but for some reason, we've outsourced a pretty simple problem to mischievous third-parties. While there are well-behaved traffic monitoring platforms, I've developed a few homegrown solutions that have worked really well for me and my business.
- Static Data Warehouse using SQLite and Metabase
Romain Clement
•
4 May 2021
Does a data warehouse need to be costly? Maybe not. A quick note on using SQLite combined with Metabase to host and exploit a static SQL database easily and cheaply. This use-case is especially true for small-data applications.
- Designing a guitar with hot-swappable pickups
Mike Lyons
Lately I’ve been learning to play guitar. I wanted to be able to try out a bunch of different pickups on my guitar, to get a feel for what sound I prefer. However, the only guitars on the market with hot swappable pickups are made by Relish Guitars and their cheapest guitar is $4800, a bit out side of my price range. I decided to build my own, because "how hard could it be™"
3 May 2021
- Hosting SQLite databases on Github Pages - (or any static file hoster)
phiresky
•
17 Apr 2021
I was writing a tiny website to display statistics of how much sponsored content a Youtube creator has over time when I noticed that I often write a small tool as a website that queries some data from a database and then displays it in a graph, a table, or similar. But if you want to use a
- How to spot great remote jobs: The Joel test for remote work
Use the Joel Remote Test when to identify great remote jobs. The 10 questions help you assess a company’s level of trust, caring and communication.
- How much traffic comes from the front page of Hacker News?
RoyalSloth
•
1 May 2021
This is one of those posts that I didn’t really want to write at first, since it’s about meta blogging that reminds me on those sad blogs that started 5 years ago with “How I write my blog” post and then the stream of ideas fizzled and the blog never got anywhere.
- On using to-do lists efficiently
Bastien
•
26 Apr 2021
My happiness results from keeping a sane balance between achievements and what Jim Carrey calls “freedom of concern”1. I like to work and I love to daydream. As much as daydreaming is about wandering, work and personal achievements are about focusing, which in turn requires motivation, clarity of pu…
2 May 2021
- I Didn’t Buy Safemoon And You Can’t Either
I was reading the Sun newspaper the other day and there was some article yapping on about Safemoon – a new pyramid scheme a new cryptocoin thingy that has increased in value by infinity since…
- Why textareas can’t grow?
Rukshan
•
1 May 2021
Textareas are a basic and and an important element in any website UI. You might need textareas for a comment section, chat box, etc. However, textareas have one small problem that you can’t seem to find an answer, that is textareas won’t automatically grow in height, as you would need them to be
- Web Performance for Developers on a Deadline
Web performance is a vital part of your business to ensure customers keep returning. But, it can be difficult to get the time for it. Here’s a guide on how to improve your website’s performance on a deadline
1 May 2021
- What do we mean by a “backdoor” in End-To-End Encrypted Messengers or Secure Messengers? #endToEndEncryption #e2ee
Alec Muffett
•
3 Mar 2021
I have been sitting on a half-finished essay about “backdoors in end to end encryption” for several months now, and it seems like the best way to get me to finish it is for me to leak t…
- To PaaS or not
Over the last year or so there have been many good discussions on IaaS/PaaS and how its time to reinvent Heroku
30 April 2021
- Auto Merge Dependabot Pull Requests
With Dependabot Preview being shut down in August 2021, we need a new way to auto merge pull requests. Let’s solve this problem with GitHub Actions.
- A Notion system for capturing product ideas
Ondrej
I’ve developed a Notion system to capture, organize and evaluate my product ideas. It helped me be more critical of my ideas, motivated me to find easy ways to validate them and let me see patterns between my ideas.
- Don’t wait for the government to fix surveillance capitalism. It’s up to us.
Sauvik Das
•
29 Apr 2021
Don’t wait for the government to fix privacy. Any attempt to curtail and reverse the growing power of surveillance capitalism will have to start from us — the people — through grassroots mobilization.
- Why We Built Our Own DNS Infrastructure
Connor Brewster
This post is part of a series about the wonderful world of clusters. Check out the first post for an overview of what clusters…
29 April 2021
- Images with MDX-Bundler
Co-locate and bundle your images with MDX-Bundler!
- Make a personal changelog
If you’ve ever felt like modern social networks only show a cardboard-cutout version of yourself, it might be time to make your personal changelog.
- How software gets color wrong
How software gets color wrong Most software around us today are decent at accurately displaying colors. Processing of colors is another...
28 April 2021
- Webmention Analytics
I built a tool to analyze incoming webmentions. This new side project generates monthly reports to see how and where my content is mentioned.
- Privacy by Design is reformist: But do we need revolution?
Sauvik Das
•
27 Apr 2021
If you search for ways to make computing more respectful of consumer privacy, it will not take you long to stumble upon Privacy by Design (PbD).
- Write a Good Dockerfile in 19 Easy Steps
Joe Kutner
•
26 Apr 2021
In this post you’ll learn the essential steps required to write a secure, compact, and maintainable Dockerfile in just 19 “easy” steps. I think you’ll be spurprised at how much you really need to know. Let’s get started!
- Why dummy data matters - and how to generate it
Michael Stivala
•
14 Apr 2021
Part of creating a successful Staging and Test environment for your application is generating dummy data as part of your deployment process. This dummy data is used during development, the QA process and even for feature demos. Making it easy for application states to be achieved with minimal “setup…
27 April 2021
- Practical SQL for Data Analysis
What you can do without Pandas
26 April 2021
- The Things They Won’t Believe
Ryan Moulton
•
24 Apr 2021
The sky used to be blue.
25 April 2021
- Let’s light it 🔥 up!
A small post to show how flame animation can take your emoji to next level!
- Using <details> for Menus and Dialogs is an Interesting Idea
One of the most empowering things you can learn as a new front-end developer who is starting to learn JavaScript is to change classes. If you can change
24 April 2021
- 4 techniques for structuring Next.js applications
The way I structure React applications for the last couple of years. The focus is on decoupling and making it obvious what is used where.
23 April 2021
- Working with PostgreSQL
Satya “10x” Sarangi
•
22 Apr 2021
Our experience running large multi-terabyte PostgreSQL DBs in production with hundreds of billions of rows with minimal resources.
- The Factory Is The Product
Jordan O’Connor
•
21 Apr 2021
Getting better at making the thing makes the thing better.
- Web developer’s guide to AVIF images
Darek Kay
•
12 Apr 2021
Practical tips for creating, embedding and debugging AVIF images.
22 April 2021
- Noise in Creative Coding
Noise is an indispensable tool for creative coding. We use it to generate all kinds of organic effects like clouds, landscapes and contours…
- Tracking the WhatsApp habits of 5000 random Smartphones
Joris La Cancellera
In the previous blog post, we have seen that this is quite simple to hack the WhatsApp online status of a contact. A simple Online or last seen yesterday at 19:00 insight can be reverse engineered to leak phone habits at a couple of seconds accuracy. There is an even more silly thing not mentioned yet: You can track any mobile phone ! So let’s play and scale to track 5000 random numbers.cker
- Exploiting vulnerabilities in Cellebrite UFED and Physical Analyzer from an app’s perspective
Cellebrite makes software to automate physically extracting and indexing data from mobile devices. They exist within the grey – where enterprise branding joins together with the larcenous to be called “digital intelligence.” Their customer list has included authoritarian regimes in Belarus, Russi...
21 April 2021
- Starting a TypeScript Project in 2021
Chris Hager
•
15 Apr 2021
This is a guide for starting a TypeScript project in 2021 with modern tooling. TypeScript 4 Optionally esbuild to bundle for browsers (and Node.js) Linting with typescript-eslint (tslint is deprecated) Testing with Jest (and ts-jest) Publishing a package to npm Continuous integration (GitHub Action…
- 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.
- Reading debt - bookmarking shit you’ll never read
Marko Zivanovic
•
19 Apr 2021
Reading debt (also known as bookmark debt or Ctrl-D compulsion) is a concept in casual web browsing that reflects the implied cost of additional bookmark organization and undesirable future reading.
- Why should you care about privacy - even if you had nothing to hide
GEEK.SG
You feel a sense of disgust when your mum or spouse looking into your phone, but why is it that it’s alright for internet companies or your country to do the same?
- Writing a Technical Book
Andre Alves Garzia
•
17 Apr 2021
"Your reader is undergoing a journey in which you’re nothing but a facilitator. You’re not there to teach them, you’re there to provide the tools necessary for them to learn by themselves."
20 April 2021
- 10 Reasons Why Music Sucks So Hard Right Now - Wow
It’s no secret - music really sucks right now, and I have 10 reasons why no one is making great music anymore. Read more to learn why all the icons are gone.
- How to successfully increase your SaaS prices
Most SaaS founders want to increase their prices at one point or another but are afraid of customer backlash. If you are convinced that your product is underpriced, you need to find a way to act on that conviction.
- Common SaaS Pricing Strategies
The first rule or SaaS pricing strategy is you should actually have a price. Why? because pricing is information. The only way to know if people will buy your product in the future is if you can successful charge for it today.
- How React Uses Closures to Avoid Bugs
Kent C. Dodds
•
13 Nov 2020
The sneaky, surreptitious bug that React saved us from by using closures
19 April 2021
- Listing the contents of a remote ZIP archive, without downloading the entire file
René Hansen
•
18 Apr 2021
Why I needed to do this is a longer story, but this was a question I was looking for an answer to. Initially it led me to the following SO question: Is it possible to download just part of a ZIP archive (e.g. one file)?
18 April 2021
- You’re Reading This in the Future
Alex Ellis
You’re reading this in the future. Isn’t that weird? Even I’m reading this in the future. Let’s say I write the last “C” in this sentence at 7:41:50 EDT in the evening of Friday April 16, 2021, or exactly 1618616510 seconds since January 1, 1970, UTC. Even as I started typing this next sentence, let alone editing this and pushing this to my blog, that time has passed, and we’ve all moved on.
- Misinformation about Permissions Policy and FLoC
Rohan Kumar
•
17 Apr 2021
Recently, people have been telling webmasters to add a Permissions-Policy header to their sites to opt out of FLoC; these people don’t seem to understand how the Permissions-Policy header works.
- Lessons on Variable Naming from Breakfast Burritos
Brian Schrader
•
17 Apr 2021
This morning I ordered a breakfast burrito from a local taco shop. Normally this would not be news and obviously would not warrant a blog post or any in-depth analysis, but it was early and I hadn't yet had coffee, so my mind was loose and my thoughts wandering.
17 April 2021
- How to fight back against Google FLoC
Here’s a closer look at Google’s Federated Learning of Cohorts (FLoC) initiative and how you can fight back and opt-out as a web user and a web developer.
- Content-aware image resizing in JavaScript
JavaScript implementation of so-called Seam Carving algorithm for the content-aware image resizing and objects removal. Dynamic programming approach is applied to optimize the resizing time.
- How to Favicon in 2021: Six files that fit most needs
Prefer SVG over PNG, trust browsers to downscale, drop obscure formats—the ultimate, exhaustive guide to favicons for modern web. Includes steps for static HTML and Wepback
- My current HTML boilerplate
Manuel Matuzović
•
9 Apr 2021
Every element I use for the basic structure of a HTML document, with explanations why.
16 April 2021
- Slow and Steady: Converting Sentry’s Entire Frontend to TypeScript
Recently, Sentry converted 100% of its frontend React codebase from JavaScript to TypeScript. This year-long effort spanned over a dozen…
- Avatars, identicons, and hash visualization
Showing the workings of couple of commonly used hash visualization methods.
- Digital Resistance is Deletion
Christopher Butler
•
22 Feb 2018
- Why skip-links are important for accessibility
Skip-links play an important role in making a website accessible for everybody. Here I point out why and how you can implement them consistently.
14 April 2021
- Kill Tuesday
kmikeym
•
13 Apr 2021
Back in 2010 Josh Berezin wrote, “Workplace trends in the Western world include: higher hourly productivity, along with an increasing number of work hours. And to what end? Historically high levels…
- Deep dive in CORS: History, how it works, and best practices
Ilija Eftimov
•
12 Apr 2021
Learn the history and evolution of same-origin policy and CORS, understand CORS and the different types of cross-origin access in depth, and learn (some) best practices.
13 April 2021
- Is WebAssembly magic performance pixie dust?
Surma
•
13 Apr 2021
Add WebAssembly, get performance. Is that how it really works?
- Don’t aggregate your metrics
Recently Visnu Pitiyanuvath of Observable presented how dataviz techniques can be applied to developer dashboards to improve insights. I followed his advice and it had a transformational effect on my work. Read why and how leaving metrics unaggregate can help drive opti…
- Biscuit, the foundation for your authorization systems
After 2 years of development, I am proud to share with you the official release of Biscuit, the authentication and authorization token we develop to manage access to our systems. Where does it fit in the current authentication projects landscape (and why all of those cake themed names)?
11 April 2021
- It’s Not Better If It’s Also Worse
Joe Fabisevich
•
8 Apr 2021
For a long time I’ve told people that I love technology and all it enables, yet dislike the technology industry and working in tech. People often find my statement hard to rectify, probably because they see the two as inextricably linked. Technology is an ever-changing process, one that pushes human…
- On Psychological Safety
Daniel Truemper
•
7 Apr 2021
More and more work involves collaboration. Multiple people working in a team on the same thing that is becoming ever more complex. What does this mean for an organization? Information and knowledge, especially in the technology domain, is becoming a commodity. All the best technical tools to build y…
- Maestro Syndrome
Sam Bleckley
If you hear a voice within you saying, “You are not a painter,” then by all means paint, and that voice will be silenced — but only by working. — Vincent van Gogh.
10 April 2021
- Creating an SVG path drawing animation.
Creating my logo animation using SVG and Greensock
- My Three Strikes Rule for Blogging
A simple way to decide when and what to write.
- My programming principles
Borislav Grigorov
•
9 Apr 2021
A principle is a "fundamental truth or proposition, that serves as the foundation for a system of belief or behavior". Simply put, it's the "why" behind our thoughts and actions. If you want to understand why principles are important, how to expand horizontally and what does it mean for a design to emerge.
- The ‘Plasticity’ of Music
Streaming Machinery
•
9 Apr 2021
The plasticity of music is amazing. Think about the many ways people can listen, care or enjoy music. For example: You can listen to the same song 1,000 times.You can listen to 1,000 different song…
9 April 2021
- Dark mode in 5 minutes, with inverted lightness variables
Lea Verou
•
30 Mar 2021
By now, you probably know that you can use custom properties for individual color components, to avoid repeating the same color coordinates multiple times throughout your theme. You may even know that you can use the same variable for multiple components, e.g. HSL hue and lightness:
8 April 2021
- Animating Clipped Shapes
Another #postAboutYourPen post. This time I’m going to explain how I recreated Herry Koo’s SA 15 dribbble shot using SVG and animejs…
- Screw it, I’ll host it myself
Marko Živanović
•
7 Apr 2021
It’s all fun and games until someone loses an eye. Likewise, it’s all fun and games until someone loses access to their private and/or business data because they trusted it to someone else.
- The Cursed Certificate
Noah Bailey
•
5 Apr 2021
The most chaotic self-signed TLS cert ever made...
- Build a business, not an audience
Jakob Greenfeld
•
28 Feb 2021
If you’re reading this, I’m pretty sure you’ve seen the following pattern over and over again:
- Modern CI is Too Complex and Misdirected
Gregory Szorc
The state of CI platforms is much stronger than it was just a few years ago. Overall, this is a good thing: access to powerful CI platforms enables software developers and companies to ship more reliable software more frequently, which benefits its users/customers. Centralized CI platforms like GitHub Actions, GitLab Pipelines, and Bitbucket provide benefits of scale, as the Internet serves as a collective information repository for how to use them. Do a search for how to do X on CI platform Y and you'll typically find some code you can copy and paste. Nobody wants to toil with wrangling their CI configuration after all: they just want to ship.
- Choosing a good development partner
When developing new software, timelines, cost, and quality can be hard to control. Here’s how to choose the right development partner to keep things on track.
7 April 2021
- Et tu, Signal?
Stephen Diehl
Many technologists viscerally felt yesterday’s announcement as a punch to the gut when we heard that the Signal messaging app was bundling an embedded cryptocurrency. This news really cut to heart of what many technologists have felt before when we as loyal users have been exploited and betrayed by corporations, but this time it felt much deeper because it introduced a conflict of interest from our fellow technologists that we truly believed were advancing a cause many of us also believed in.
- Your E-Mail Validation Logic is Wrong
Nope, you don’t know how to validate an email address. Even if you think you’d get the domain part right, fuggeddabout the local part. Seriously.
6 April 2021
- Stealing arbitrary GitHub Actions secrets
Teddy Katz
•
17 Mar 2021
I’m a big fan of the “try weird stuff and see what happens” approach to security research. Modern software has a huge number of bugs, and engineering teams often have to prioritize which bugs to fix, based in part on the number of users affected by each bug. The result is that glaringly obvious bugs…
- Git as a NoSql database
Kenneth Truyers
•
13 Oct 2016
Git’s man-pages state that it’s a stupid content tracker. It’s probably the most used version control system in the world. Which is very strange, since it doesn’t describe itself as being a source control system. And in fact, you can use git to track any type
- Setting up a RaspberryPi without monitor and keyboard
Charlie Gerard
•
4 May 2021
For a long time, I thought a keyboard and monitor were needed to do the initial setup of a RaspberryPi. However, I recently learnt that you can do this using only another computer!
5 April 2021
- Radical Transparency
What transparency within companies could look like over the next decade.
- If You Play With FIRE, Don’t Get Burned
On finding financial independence and the possible downsides of early retirement.
- Why I don’t have any analytics on my blog
Last year I removed the last of any analytics plugins from my blog and I don’t miss it.I used to use Google analytics as most do, for my personal blogs, site...
4 April 2021
- 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...
- Password protect your (Vercel) site with Cloudflare Workers
Use Cloudflare Workers to simply add Basic HTTP authentication to any of your websites even if they are hosted on a service like Vercel or Netlify.
3 April 2021
- useState for one-time initializations
Why you shouldn’t rely on useMemo for guaranteed referential stability but prefer useState instead
- The barriers to decentralisation
As someone who frequents HackerNews and various other forums, I often see a lot of discussion about privacy, data security and self-hosting. The discussion almost always leads to someone shunning all centralised services that most people use, and pitching Mastodon, Matrix, XMPP or something no one’s…
- How NOT to be a screen vampire
Daniel Sisson
•
31 Mar 2021
Put your phone down, get some sleep, don’t be a screen vampire.
- EARRRL – the Estimated Average Recent Request Rate Limiter
John Berryman
•
18 Mar 2021
You’ve got a problem: a small subset of abusive users are body slamming your API with extremely high request rates. You’ve added windowed rate limiting, and this reduces the load on your infrastructure, but behavior persists. These naughty users are not attempting to rate-limit their own requests. They fire off as many requests as they can, almost immediately hit HTTP 429 Too Many Requests, and even then don’t let up. As soon as a new rate limit window is available, the pattern starts all over again.
2 April 2021
- Exfiltrate files using the DNS
Go350
•
1 Apr 2021
yes you can
- How I Got Caching Working with Netlify and Cloudflare, or How I Almost Ditched Cloudflare for No Good Reason
Vlad Iliescu
•
1 Mar 2021
A story about love, loss, and caching
- This blog is now hosted on a GPS/LTE modem
No, really. Despite the timing of this article, this is not an April Fool’s joke.
- The algorithm did it!
Earlier today, statistician Kareem Carr posted this interesting tweet, about what people out there mean when they say “algorithm”, which I found to be a good summary:
- The compiler will optimize that away
RoyalSloth
•
1 Apr 2021
A lot of programmers believe that compilers are magic black boxes in which you put your messy code in and get a nice optimized binary out. The hallway philosophers will often start a debate on which language features or compiler flags to use in order to capture the full power of the compiler’s magic. If you have ever seen the GCC codebase, you would really believe it must be doing some magical optimizations coming from another planet.
1 April 2021
- How to price your SaaS product
Patrick Campbell
•
27 Oct 2020
Q: I'm building a SaaS product and don't know where to start when pricing it. How should I approach my pricing strategy? When this question came in, I took to Twitter to find the smartest person in the world on SaaS pricing…
- What does a PGP signature on a git commit prove?
Konstantin Ryabitsev
•
27 Jul 2020
With git, a cryptographic signature on a commit provides strong integrity guarantees of the entire history of that branch going backwards...
- Writing Documentation
Mihai Tiriplica
•
27 Mar 2021
Writing documentation is the kryptonite for software engineers. It’s this thing we have to do after we finish all the interesting work and since we did all the interesting work we know everything about it so why do we need to document it? This idea it’s definitely exaggerated but I did have a versio…
- It’s hard to draw lessons from your own failures
David Heinemeier Hansson
Andrew Wilkinson’s tale of how he blew $10,000,000 building a to-do list app perfectly illustrates the danger of trying to analyze your own failures. It’s so easy to fall in love with one of those infinite alternate universes where you just did that one thing differently and everything worked out. L…
- The JavaScript Supply Chain Paradox: SRI, CSP and Trust in Third Party Libraries
A couple of years back as the US presidential campaign was ramping up, the Trump camp did something stupid. I know, we’re all shocked but bear with me because it’s an important part of the narrative of this post. One of their developers embedded this code in the campaign’s donation
- I Now Own the Coinhive Domain. Here’s How I’m Fighting Cryptojacking and Doing Good Things with Content Security Policies.
If you’ve landed on this page because you saw a strange message on a completely different website then followed a link to here, drop a note to the site owner and let them know what happened. If, on the other hand, you’re on this page because you’re interested in reading
31 March 2021
- Some opinionated thoughts on SQL databases
Nelson Elhage
•
30 Mar 2021
People who work with me tend to realize that I have Opinions about databases, and SQL databases in particular. Last week, I wrote about a Postgres debugging story and tweeted about AWS’ policy ban on internal use of SQL databases, and had occasion to discuss and debate some of those feelings on Twitter; this article is an attempt to write up more of them into a single place I can refer to.
- Font size is useless; let’s fix it
What happens when you set fontSize: 32 in your favorite editor
30 March 2021
- Using React with D3.js
Amelia Wattenberger
- Git email flow vs Github flow
Martijn Braam
•
30 Dec 2020
Comparing the Github and Gitlab pull request workflow to the Git built-in email workflow.
- HOWTO backdoor curl
Daniel Stenberg
•
30 Mar 2021
I’ve previously blogged about the possible backdoor threat to curl. This post might be a little repeat but also a refresh and renewed take on the subject several years later, in the shadow of the recent PHP backdoor commits of March 28, 2021. Nowadays, “supply chain attacks” is a hot topic.
- Peace of mind backup
Lars Solberg
If you are semi-paranoid, have a lot of data and want a backup-solution that last, this post might be for you. I've been trying to get a backup solution that I'm happy with for a while, but after using it for a while, there is always the questions of what if the house burns down, what if I forgot the backup key that hunts me..
29 March 2021
- Deriving key from chords in music
Butternotes
These articles, which describe fundamental algorithms for a music theory ontology, were originally found on the defunct {:code redux}. Since these articles first appeared 10 years ago, many music theory learning tools using algorithms have popped up, and I feel I need to write about what is and is not possible within these algorithms. There will be no code in this article, but what is written here will be important.
- Being a woman in tech should not be controversial
Marijke Luttekes
•
5 Mar 2021
Ah, Twitter. The cesspool where white men publicly, and with their own name, publish the weirdest and most harmful takes towards people who are not like them. The so-called “Tech Bro” opinion reflects many things going wrong in companies worldwide, but with a broader audience. This week was especially rough. Someone asked why there are so few women in tech, and it opened the floodgates to misogynistic tweets about how women’s brains aren’t wired to do maths and thinking and who-knows-what.
- A “sudden strong wind”: the worst excuse Ever Given?
Valentin Vincendon
The Suez Canal is an artery of world trade, connecting the Mediterranean with the Red Sea, and providing an avenue for vessels to pass between Asia and the Middle East and Europe. The main alternative, a passage round the Cape of Good Hope at the southern tip of Africa, takes considerably
28 March 2021
- Why I’m unreachable and maybe you should be too
Pieter Levels
•
27 Mar 2021
You may have noticed it’s practically impossible to send me a message anywhere. I did that on purpose so I can spend my time how I want to spend it. I don’t really use email and I have my direct message inboxes on every platform closed.
- Roll Your Own CSS-in-JS Library (1) - Introduction
yyjhao
•
7 Mar 2021
CSS-in-JS is an idea to tackle various issues with CSS by writing them in JavaScript (or whatever else that can compile to JavaScript, such as TypeScript). Some popular examples include libraries like styled component, emotion and JSS.
27 March 2021
- Automating Dependabot with our GitHub app
NearForm’s GitHub Dependabot app is a useful tool for unattended approval and merge of dependency updates.
- It doesn’t work
Frank Denis
8 AM. Like any other day, I take a quick glance at my GitHub notifications via Octobox. “Problem”, “Doesn’t work”, “Broken”, “Failure”, “Error”, “Bug”, “Doesn’t work”...
- Other Ways
Christopher Butler
•
26 Mar 2021
Sameness is the enemy of creativity. And yet so much of what we make is eventually swept up into the event horizon of uniformity. Why? There are likely as many reasons as there are makers. But I suspect those reasons may fall into three larger categories that arrange on a scale of conscious to unconscious: pragmatism, imitation, and ambient influence.
- Don’t let your design system seem complete
Tosin and Henry from the NHS service manual team shared their recent work at last Thursday’s design huddle. They covered their work on understanding and improving contributions to the service manual. They shared some of their research. Talking about reasons people don’t contribute.
- The six principles of lifestyle businesses
First, let me caveat this by saying that you will find lots of successful businesses that violate these principles. Indeed, I just met with a B2C company that makes $20+ mil/year with two employees - and they flatly contradict some of these principles. So I would treat them more as rough guidelines for when thinking through ideas for your company.
26 March 2021
- No more platforms please
David Heinemeier Hansson
We have enough social media platforms, and they are all broken. Content moderation is bust at even moderate scale, and algorithmic amplification is broken at any scale. We need a reboot. We need to double down on the ideas of Web 1.0, and the tools that make carving out your own place on the interne…
- You are sharing your downloads with your Antivirus Company
Ralf Schlatterbeck
•
23 Mar 2021
I recently have provided a customer with a link to a firewall image (using the Turris MOX router with a variant of OpenWRT) hosted on my own webserver. The image included keys material for an OpenVPN connection. The image file was in a hidden directory on my projects webserver. I monitored closely if there would be any downloads besides the one I expected from my customer.
- Success Mysticism
Christopher Butler
•
31 Dec 2020
Few things make me sadder than the now predictable moment at which a successful person creates a sellable mysticism out of their good luck and privilege. I find it astonishing how often success creates a 360° blind spot from which the beneficiaries of so many privileges, gifts, and fruits of other peoples’ labor can no longer see reality.
25 March 2021
- SQLite is not a toy database
Anton Zhiyanov
•
25 Mar 2021
Here is why SQLite is a perfect tool for you - whether you are a developer, data analyst, or geek.
- Hidden OAuth attack vectors
Michael Stepankin
•
25 Mar 2021
Intro The OAuth2 authorization protocol has been under fire for the past ten years. You’ve probably already heard about plenty of “return_uri” tricks, token leakages, CSRF-style attacks on clients, an
- Learn about problems, not solutions
Gareth Dwyer
Sometimes people ask me what they should learn - they’ve heard AI is kind of hot, but DevOps is too? What’s the best way to get into AI? Should they s
24 March 2021
- How to create a 1M record table with a single query
Anton Zhiyanov
•
21 Mar 2021
Let’s say you want to check how a query behaves on a large table - but there is no such table at hand. This is not a problem if your DBMS supports SQL recursion: lots of data can be generated with a single query. The WITH RECURSIVE clause comes to the rescue.
- Debounce and Throttle Callbacks with React Hooks
Kyle Shevlin
Learn how to debounce or throttle a callback function with React hooks while avoiding an exhaustive deps ESLint error
- Really Simple Syndication
Alvaro Duran
RSS is the not-so-innovative solution to the social media lunacy
- You merely adopted dark mode
The best product too few people have ever used
- Add auth support to a Next.js app with a custom backend
Arunoda
•
7 Aug 2020
Here’s how to add an auth system to a Next.js app that uses a separate API server.
23 March 2021
- What is Next.js Incremental Static (Re)Generation?
Arunoda
•
8 Jun 2020
It’s a combination of best features from server-side rendering(SSR) and static site generation(SSG).
- Substack’s UI and 1Password just cost me $2,023
A quick guide on how to accidentally spend $2k in two clicks live on a client Zoom call.
- Why Writing Software Is Hard
D’Arcy
•
22 Mar 2021
From time to time, I wonder why correctly functioning software is so difficult to write. Software development is something we’ve been doing a long time, that also has a benefit that many other crafts don’t: you can create a repeatable process that does exactly the same thing each time. Given this hu…
- The dispassionate developer
Mark Seemann
•
22 Mar 2021
Caring for your craft is fine, but should you work for free?
- You probably don’t need A/B testing
The best way to optimise your website is normally the simplest.
22 March 2021
- Creating Accessible Icon Buttons
Sara Soueidan
An icon button is an icon that triggers some sort of action on the page. More accurately, technically speaking, an icon button is a button that contains an icon and no (visible) accompanying text. These buttons can be found in the majority of app and user interfaces today. The infamous hamburger menu button is a great example of such buttons when not visually labelled “Menu”.
- Inclusively Hidden
Scott O'Hara
•
14 Apr 2017
There are various ways to hide content in web interfaces, but are you aware of the different effects they have on the accessibility of that content? While so...
- Accessible icon links
In modern web design, it is not uncommon to have a link (or a button) that visually has no text, and is just an icon. Think about social icons, or items in a compact navbar. Relying solely on iconography can be tricky, but it can work, especially when icons are clear and well known.
- A Complete Guide To Accessible Front-End Components
Vitaly Friedman
•
22 Mar 2021
Reliable accessible front-end components: :focus styles, content sliders, dark mode, data charts, date pickers, form styles, navigation menu, modals, radio buttons, “skip” links, SVGs, tabs, tables, toggles and tooltips.
- The #1 tip to familiarize with new JavaScript Codebases
Getting thrown into a new codebase is difficult. But with tools for architecture analysis you can make your journey at your next job’s JavaScript or TypeScript codebase a breeze.
- Name Your Next Product With This Exercise - come up with a product name
Glenn Stovall
•
8 Mar 2021
How do you come up with a product or business name? Naming products is a hard but learnable skill. Here’s a repeatable process you can use to get unstuck.
- Internal Tooling is Underrated
Jake Rottersman
•
18 Mar 2021
Introduction Building tools that help employees be more productive is one of the most valuable things that is done in a company. Unfortunately, it’s frequently underinvested in and deprioritized in favor of customer-facing work. This leaves people creating ad hoc tools to solve their problems or br…
20 March 2021
- Continuous Typography
Notes toward a continuous framework for screen typography
- Nobody designs for small iPhone devices anymore
Law Gimenez
•
20 Mar 2021
Nobody designs for small iPhone devices anymore. Why do I say this? Well, if you’ve been rocking the iPhone SE 2020 you would know. What I’m saying is there a lot of UI glitches from ap…
19 March 2021
- Using Serverless Redis with Next.js
Lee Robinson
•
19 Mar 2021
Did you know it’s possible to use Redis for your entire database? Caching, counters, sorted lists, and even queues. Learn how to deploy a Redis & Next.js app in a few short minutes.
- A world without trust is not better
David Heinemeier Hansson
One of the reasons I’ve never cared for crypto currencies is that the associated utopia of trustless society had zero appeal to me. I don’t think the world is better off by erasing the need to trust in our transactional counterparts, so turning these transactions into pure computing always struck me…
- Stuff your logs!
Paul Khuong
Nine months ago, we embarked on a format migration for the persistent (on-disk) representation of variable-length strings like symbolicated call stacks in the Backtrace server. We chose a variant of consistent overhead byte stuffing (COBS), a self-synchronising code, for the metadata (variable-length as well).
- Relentlessly give the user what they want
Bryan Kennedy
•
18 Mar 2021
I love my Peloton. Mostly it exists as a fancy piece of abstract art in my office, but I occasionally use it for workouts. When I overcome my lazy butt inertia, my experience is that the Peloton almost always wants to do an update.
18 March 2021
- System fonts don’t have to be ugly
Make your site faster and more environmentally-friendly by taking a system-fonts-first approach
17 March 2021
- Self-hosting Git
Akshay
•
17 Oct 2020
Earlier this week, I began migrating my repositories from Github to cgit. If you care at all about big corporates turning open-source into a T-shirt farming service, this is the way to go.
- GitHub has a Permission Problem.
TL;DR: Thousands of developers are giving 3rd parties write access to their github repos. This is even more irresponsible than giving out your email password or your computer's password since your github repos are often used by more than just you. The tokens given to 3rd parties are just like passwords. A hacker that breaches a company that has that info will suddenly have write access to every github repo the breached company had tokens for.
- A clock based on Cistercian numerals
The story of when I tried Twitch for the first time to live-code a Web Component that displays numbers with Cistercian numerals, so I could build a clock.
16 March 2021
- Green hackers around the world, let’s destroy Bitcoin
Bitcoin is the worst waste of resources and energy in human history. It is solely used for financial speculation, with no genuine utility…
- What you read is none of their business
David Heinemeier Hansson
There’s this scene in the 90s movie Se7en where the detectives played by Brad Pitt and Morgan Freeman are able to hone in on the serial killer via a secret FBI program that monitors people’s library habits. The killer, played by Kevin Spacey, has been reading Dante’s Divine Comedy, Milton’s Paradise…
- When Should I Interrupt Someone?
How many times have you sat there trying to work through a technical problem, and thought: Is it OK if I interrupt someone else to get them to help me?Pretty much every engineer ever Since I work w…
- The Value of a Personal Site
Back when I was setting this site up for the first time, there was a common theme across many of the resources I was reading. Almost all of them said to treat a personal site as a ‘business card for the Web’. While that idea is a fine starting point if you're only looking for a site to show some basic contact information, I think doing so does a disservice to yourself.
15 March 2021
- shared, util, core: Schroedinger’s module names
I do a lot of architecture work lately, and one thing that seems to appear more often than I thought it would be are module names that have generic-sounding names like shared, util, or core. There is something confusing about them, as they don’t tell you what’s inside!
- 🖼 Secure Asset Management and Upload with S3
Bruno Scheufler
•
12 Feb 2021
An incredibly powerful way of offering a customizable user experience is to allow users to upload media content like images, for profile pictures, or other assets that will be embedded in your product. When you’re building a knowledge base
- 6 Micro-SaaS Startups in 12 Months
The (Modified) Levels Challenge The start of 2021 marks the beginning of my true Indie Hacker journey. My intention is to build 6 micro-SAAS startups within 12 months. From there, I’ll double down on whichever projects are profitable. I’m taking this idea from Pieter Levels and his famous article, “…
- Is this true?
Jordan Scales
•
13 Mar 2021
A conversation on unit tests, computation, and existential crises stemming from the question: does this function return true?
- HTML and CSS still isn’t about painting with code
Christian Heilmann
- JavaScript performance beyond bundle size
Nolan Lawson
•
23 Feb 2021
There’s an old story about a drunk trying to find his keys in the streetlight. Why? Well, because that’s where it’s the brightest. It’s a funny story, but also relatable, be…
- A Simple Personal Data Backup Setup
David Gorski
Getting Started With An Easy, Good-Enough Backup Solution
14 March 2021
- Bookmark Knocking: Hidden Bookmarks Without A Browser Extension
Jacob Strieb
•
12 Mar 2021
A novel technique to securely hide bookmarks without a browser extension.
- My playbook for shipping side projects
Tips and strategies I’ve learned for shipping side projects.
13 March 2021
- Understanding Extended-Nonce Constructions
How and why XSalsa20/XChaCha were designed, and why they’re secure.
- Don’t Read Links on the Internet
Adam Simon
•
12 Mar 2021
Don’t read this blog. Think about it? Why should you read this blog? There are a functionally-infinite number of other things you could read and you’ve clicked this specific link on the internet.
- Do one thing well
Brad Dickason
•
11 Mar 2021
Teams add so many features that the product fails at the job we hired it for. People don’t want more features. They want the product to get the job done and get out of their way.
- Interpolating the internet
Fraser Greenlee
•
11 Mar 2021
What happens when every plausible idea is an inference away.
- Tech investors don’t care about climate change
Can Olcer
•
11 Mar 2021
Lately, I’ve been noticing more and more startups that try to tackle climate change. And they seem to be backed by big venture capitalists, too.
12 March 2021
- The totalitarians of the attention economy
David Heinemeier Hansson
It’s become increasingly common for executives of dominant internet services to see their competition as all of human activity. Not just activity spent on competing or adjacent services, no, all activity of any kind. Any time spent outside their service equating to minutes on the clock to conquer. T…
- Stop Waiting for the Ripe Idea
Salman Ansari
•
10 Mar 2021
Deciding when to share an idea is a lot like picking fruit. A farmer can never know for certain how a fruit will taste. They look for any signals they can find of its ripeness — its color, smell, shape, and texture. Their success depends on their ability to do the seemingly impossible: predict how a…
- How to Use React Context Effectively
Kyle Shevlin
Learn how to use React Context effectively in your web applications by using custom hooks and memoization.
- On shutting down, weighing and boredom.
Today, I’m shutting down two of my SaaS: Timelygigs and Adagio.
11 March 2021
- After Minimalism
David Perell
•
17 Dec 2020
It’s time for us to move beyond minimalism. If we want a dynamic world, we should splash our buildings with enthusiastic colors, bold patterns, and visions of a better tomorrow.
10 March 2021
- Rate limiting for distributed systems with Redis and Lua
Florent Chauveau
•
20 Sept 2018
How we use Redis and Lua to rate limit requests per second
- Staying out of TTL hell
Cal Paterson
•
9 Mar 2021
Cache strategies that don’t trade-off correctness for speed
- Why asynchronous Rust doesn’t work
eta
•
8 Mar 2021
In 2017, I said that “asynchronous Rust programming is a disaster and a mess”. In 2021a lot more of the Rust ecosystem has become asynchronous – such that it...
- TypeScript: Narrow types in catch clauses
When you are coming from languages like Java, C++, or C#, you are used to doing your error handling by throwing exceptions. And subsequently, catching them in a cascade of catch clauses. There are arguably better ways to do error handling, but this one has been around for ages and given history and influences, has also found its way into JavaScript.
- What Color is Your Function?
Bob Nystrom
Each function—anonymous callback or regular named one—is either red or blue.
- The Future of Group Messaging
Jarren Horrocks
An analysis of modern messaging, and the next evolutionary steps. A Case Study.
- Saas sucks: we can do better
Adam Bourg
•
9 Mar 2021
Software as a “Service”, ahem Subscription, sucks. It’s really good for software companies and for the engineers that build the systems but as an end user it totally sucks. I’m going to talk about why, and what we can do better as an industry.
9 March 2021
- SEO mistakes I’ve made and how I fixed them
A look back at what I learned fixing my terrible SEO mistakes on my Gatsby websites
- Building Webhooks Into Your Application: Guidelines and Best Practices
WorkOS
This post will walk through the basics of how to send out webhooks from your app, manage authentication, handle security, and provide a smooth developer experience to your customers.
- Scrollspy demystified
A deep dive into how the inner workings of a Scrollspy, Intersection Observers, and how to integrate it with Markdown-based static sites without the need of third party libraries.
- Not Every Bug is Worth Fixing
Felipe Moyano
•
27 Feb 2021
Does it feel like your team is constantly putting out fires? That your product isn’t moving forward because of constantly having to chase down bugs? Maybe it’s time to reconsider your strategy, and start saying no to some of them.
- Notion is not a knowledge base
What is Notion For those of you who don’t know Notion, it is a note taking app. Well it used to be a note taking app. They describe themselves as the ‘All-in-one workspace’. I usually describe themselves as ‘Google drive with pretty emojis’. Which is I don’t think far from …
- Competition in SaaS doesn’t have to be cut throat
Read an exploration into competition in SaaS. An area that is undeniably fierce, but can it be done in a humane and thoughtful manner? Check it out!
8 March 2021
- Immutable approaches
Tom MacWright
For the fourth or so time in my career, I’m thinking about and implementing an ‘undo’ function. Undo is a powerful feature because it lets people do destructive or major operations without worrying because they can just hit command-z. Implementing undo is a subtle challenge for both UX & algorithms.
- Stack Overflow: The Architecture - 2016 Edition
Nick Craver
•
17 Feb 2016
This is #1 in a very long series of posts on Stack Overflow’s architecture. Welcome.Previous post (#0): Stack Overflow: A Technical DeconstructionNext post...
- Doxxing for Good
Zach Bellay
•
6 Mar 2021
tl;dr: I found an unsecure webcam online, and called the guy to turn it off, and he did.
7 March 2021
- Gyro-web: Accessing the device orientation in JavaScript
Accessing the device orientation using React hook, and rotating a CSS 3D cube afterwards.
- Cleaning Up Your Postgres Database
Actionable steps on how to improve your Postgres database performance.
6 March 2021
- Life Quests, not Goals
Hima Tammineedi
•
3 Mar 2020
Some people say they have goals that they want to accomplish in life. I, however, have goals and quests. I’ll explain what quests are, but I would recommend reevaluating your goals and considering turning some of them into quests. If you adopt this framing of quests and goals, then you might be able…
- Ideas to monetize your side projects.
Bruno Quaresma
After launch TweetPik one month ago I’ve been trying to find ways to monetize it and I’m going to share with you some of my learnings during this time so far.
- I don’t want to do front-end anymore
Nomm
•
8 Feb 2021
Front-end is not something that makes me happy anymore, in large part due to its complexity.
- Beyond Minimalism
Álvaro Durán
Stop being a cucumber. Start being a pickle.
- Trust but Verify
Brendan Eich
•
11 Jan 2014
It is becoming increasingly difficult to trust the privacy properties of software and services we rely on to use the Internet. Governments, companies, groups and individuals may be surveilling us without our knowledge. This is particularly troubling when such surveillance is done by governments under statutes that provide limited court oversight and almost no room for public scrutiny.
5 March 2021
- Bring Your Own Client
Geoffrey Litt
•
1 Mar 2021
It’s delightful to have the freedom to Bring Your Own Client (BYOC): to choose your favorite application to interact with some data. For example, I can program with Sublime Text, while my teammate uses vim, and we don’t need to fight to the death to pick one editor between us. There are dozens of text editors to choose from, and no lock-in from proprietary file formats.
- Everything we know about Core Web Vitals and SEO
There has been a lot of uncertainty and confusion since Google announced the Page Experience Update in 2020. With just over three months before the update goes live in May, here’s what we know about it.
- React useRef By Example: What It Is, Why We Need It
useRef is a built-in React Hook. What is it used for? How does it work? I’ll reveal this hidden gem for you with a few real-world examples.
4 March 2021
- Why I don’t need to clean up my desktop and downloads folder in macOS
Stefan Judis
•
4 Mar 2021
How to leverage the tmp directory to not store random files on your macOS computer.
- HTTPWTF
HTTP is fundamental to modern development, from frontend to backend to mobile. But like any widespread mature standard, it's got some funky skeletons in the closet.
- Bitsquatting windows.com
Remy Hax
•
3 Mar 2021
Earlier this month, I came back around to seriously considering an attempt at bitsquatting. While the prior link goes into great depth on the topic, I will attempt to give a very high level overview here: If this sort of thing interests you: I tend to do stuff like this weekly.
- (Dis)Honest Functions
Bendik Solheim
After a recent debugging session, discovering I had once again been the victim of a dishonest function signature, I was... Well, let’s just say I was unimpressed. Two thoughts popped up in my head – the first one was «ahh.. this thing again..», and the second was «wait, why is this still even a thing?». It left me in a state of frustration.
3 March 2021
- Less handoffs: reviewer merges
Cees de Groot
•
15 Jan 2021
A little writeup on why I think that having the PR reviewer merge/deploy is a good thing.
- Why ethical A.I. is nonsense
Marco Lardelli
•
2 Mar 2021
We should not try to create gods so that we can remain fools. We should strive instead to improve ourselves.
- The problem with perpetual licensing
Unless you’ve been living under a rock, you know should know by now the perpetual licensing pattern: you buy a license to certain software, you receive updates for a year or two, depending on the license, then you stop receiving updates for the app and you can use that version forever. The main prob…
- How I cut GTA Online loading times by 70%
t0st
•
1 Mar 2021
GTA Online. Infamous for its slow loading times. Having picked up the game again to finish some of the newer heists I was shocked (/s) to discover that it still loads just as slow as the day it was re
- Things I Made That Sucked
We don’t all hit homeruns on the first go around. Today, I celebrate the misses.
2 March 2021
- Foam: Six Months Later
Jani’s Notes
Hello. It’s me, Artist Formerly Known As Lead Maintainer of Foam. You may remember me from such hits as “feverishly astroturfing a community around an early-stage open source project and then disappearing into the thin air without any kind of acknowledgement that anything had ever happened.”
- Semantic Versioning Will Not Save You
The widely used Python package cryptography changed their build system to use Rust for low-level code which caused an emotional GitHub thread. Enthusiasts of 32-bit hardware from the 1990s aside, there was a vocal faction that stipulated adherence to Semantic Versioning from the maintainers – claimi…
- Speed is the killer feature
Brad Dickason
•
25 Feb 2021
Do you remember your first time using a modern smartphone? A vibrant screen that responded instantly when you tapped replaced cramped keyboards. You could sign your name, drag and drop apps around the screen, and even spin the giant Price is Right wheel to set your alarm. In 2007, this felt like a the future. There's a reason it was called 'the Jesus phone.'
- TypeScript Function Syntaxes
The syntax for various functions and function types in TypeScript with simple examples.
- All your input are belong to me – 3rd party web security
adtechmadness
•
25 Feb 2021
Hello readers! Today we are going to discuss another (not just adtech) madness: 3rd parties and their security. To make a long story short, modern web apps contain a lot of code (“tags”…
- The small web is beautiful
Ben Hoyt
Summary: I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it. Also, a bonus rant about microservices.
- Music To Program To
Alan Grow
•
27 Feb 2021
Programming is deep work. Tuning out distractions is key, and music is one of the most effective tools at your disposal.
1 March 2021
- Why does an A note on a piano sound different from an A note on a violin?
Omar Shehata
If you pull up a tuner app on your phone and play an A note on a piano, the tuner will say ~440 hz. Do the same thing on a violin's A note and you'll also get 440 hz.
- The Sliding Window Pattern
Chocolates and a way to make your array algorithms a bit faster.
- Passion Not Required: It’s OK to Only Program for a Paycheck
You don’t need passion to be a programmer. Go get them paychecks!
- Remote-work surveillance software is vile
You could have hoped that as the pandemic wore on, the initial rush of companies to adopt employee-surveillance software would peter out. They’d realize that the biggest problem with working remotely is usually not that employees work too little, but that they work too much. No such luck. Employee-s…
- A note on boredom, anonymity, and declinism
It’s interesting to see how the amount of ennui in our society increases simultaneously as technology advances. We are doing something wrong. Technology and its rapid advancement can be not o…
- How to parse boolean or numeric values in fastify query string
Varun Batra
•
5 Oct 2020
- Add an Access-Control-Allow-Origin Header using Cloudflare Workers
If you have set a cookie free domain or CDN and your fonts are broken and not showing then it might be due to Cross-Origin Resource Sharing (CORS). There should be a way to control what resources from…
28 February 2021
- Pro Tip: Don’t overcomplicate content storage / the database from the start
Part A – The problem I’m currently working on a fairly complicated project that basically is a single-page app having just a quiz. Based on the answers you give, you receive a special report and solution at the end. Something regarding loans and financial stuff. The problem is that those questions m…
- Keeping platforms open
Rohan Kumar
•
26 Feb 2021
How open platforms become closed, and how standards-driven development can prevent it from happening.
- What You Can Actually Do About Burnout
Olesya Luraschi
•
18 Feb 2021
Burnout is becoming an epidemic. This feeling of chronic stress that does not subside is rising not just in healthcare professions, but across all types of professions. What often goes unmentioned is that in psychology everything is a spectrum. The difference between someone who is chronically stres…
27 February 2021
- Before You memo()
Rendering optimizations that come naturally.
26 February 2021
- Why your phone’s portrait mode fakes the blur
Surma
•
26 Feb 2021
Portrait mode artificially blurs out the background of an image to make it look... “better”. Turns out the reason this is done artificially is physics more than anything else.
- How often should I rotate my ssh keys?
An intriguing tale of rotating ssh keys.
- Grow the IndieWeb with Webmentions
When I re-made my site with Eleventy, the pages didn’t change much, but I had loads of fun adding new features. The most fun was webmentions and I’m here to co…
- Plain Text Protocols
Blain Smith
•
1 Sept 2020
If you haven't noticed already I really love plain text so I thought I would find some plain text protocols that are used in different software systems. The Redis Protocol specification states it best by describing its own protocol, but this applies to all of the plain text protocols I will cover.
- ISO 8601: the better date format
Kirby Kevinson
•
26 Feb 2021
If you haven’t been living under a rock, you’ve probably heard that there are different date formats in the world such as the American one (mm/dd/yyyy) and the European one (dd.mm.yyyy). If you’re smart enough, you’ve probably also noticed that the American one makes no sense and is just awful.
- My Terminal-First Blogging Workflow
You don't need fancy WYSIWYG editors and complicated plugins to write your blog, you just need a text file and some basic Unix tools.
- Don’t define functions inline in your public headers
ThatGeoGuy
•
24 Feb 2021
Thoughts with regards to having inline definitions in dynamic library headers.
- Imagining a Better Social Media
Peter Yin
Between the negative impacts on mental health, the spread of disinformation, and concerns with data privacy, the problems with social media seem more in the spotlight than ever before. The Social Dilemma, a recent Netflix documentary highlighting these problems (with help from the people who created them), has reached 100 million people in 190 countries. It’s no exaggeration to say the problems with social media are a mainstream topic.
- Leaving Comments on My Own Pull Requests
For the record, the process of leaving comments on my own pull requests isn’t something I came up with on my own. I adopted it from a previous colleague of mine, Jean Cochrane.
- Cryptography Interface Design is a Security Concern
Cryptographers and cryptography engineers love to talk about the latest attacks and how to mitigate them. LadderLeak breaks ECDSA with less than 1 bit of nonce leakage? Raccoon attack brings the Hi…
- The Future of Web Software Is HTML-over-WebSockets
Matt E. Patterson
•
24 Feb 2021
The future of web app development is taking shape, and it’s changing the way we think about server-side app architecture. In this article, Matt E. Patterson shows why a new WebSockets-driven …
- Technology without Industry
George Hotz
•
18 Jan 2021
A home for poorly researched ideas that I find myself repeating a lot anyway
25 February 2021
- A minimal email client
Manuel Moreale
•
19 Feb 2021
In a world filled with chats and forums and apps, emails are still one of the most useful tools to communicate with people. I’m not an email power …
24 February 2021
- Stop Using Icon Fonts
Icon fonts became popular over a decade ago. But their convenience comes at a high cost to your visitors.
- this email is being tracked
Alex Hern
•
17 Feb 2021
Every industry has practices that burst into flames on contact with the public. Things which are accepted, and not even doubted, within the field, but which, if enough normal people pay enough attention to them, are indefensible. Journalism, of course, is full of this. From the practice of “door kno…
- I paid for Spotify playlist placements so you don’t have to
As part of my ongoing mission to throw money into thin air I decided to promote some of Corserine‘s songs on Spotify. Objectives: increase monthly streams on my Spotify artist page so I can get picked up by Spotify algorithms better. Which in turn means I get on even bigger playlists which in turn means….er… profit?
- Modules, monoliths, and microservices
Avery Pennarun
•
23 Feb 2021
What is a microservice? When are microservices a good idea? Lately, I get people asking me when microservices are a good idea. In systems design explains the world, I talked about big-picture issues like second system effect, innovator’s dilemmas, and more. Can systems design answer the microservice…
- BBC News: ‘Spy Pixels in Emails Have Become Endemic’
Speaking of Hey, BBC News ran a piece on email spy pixels last week: https://www.bbc.com/news/technology-56071437
- Large-scale Analysis of DNS-based Tracking Evasion - broad data leaks included?
Lukasz Olejnik
•
23 Feb 2021
User tracking technologies are ubiquitous on the web. In recent times web browsers try to fight abuses. This led to an arms race where new tracking and anti-tracking measures are being developed. The use of one of such evasion techniques, the CNAME cloaking technique is recently quickly gaining popu…
- The Pretty JSON Revolution
Peter Ohler
Wouldn't it be nice if more JSON tools supported a truly pretty JSON format? Demand options for truly pretty JSON now! Viva la revolucion!
- The three freedoms of the web
Paul Bakaus
•
18 Feb 2021
What makes a piece of content, or sub-platform truly open, and part of the open web’s content corpus? This turns out to be a deceivingly hard problem, because everyone I ask replies with a different angle of openness they care about.
- The Ghost Recruiter
Nomm
•
23 Feb 2021
A story about a particular type of person who gives hope and then takes it away.
23 February 2021
- A retrospective look at Mac OS X Snow Leopard
Riccardo Mori
•
23 Feb 2021
Yes, Mac OS X 10.6 Snow Leopard is as good as I remembered.
- Why I’m Losing Trust in Open Source
Gibson
•
22 Feb 2021
Back when I was starting to code several years ago. I picked up The Cathedral and the Bazaar by Eric Raymond and I was blown away at the idea of free software. Just in case you are not familiar, free software as in freedom and not free beer.
- Records & Tuples for React
...and how they are much more than immutable data structures.
- What the heck, z-index??
The z-index property can be a tricky little bugger. Sometimes, no matter how much you crank up the number, the element never rises to the top! In this article, we explore stacking contexts, and see how they can thwart our efforts to use z-index.
22 February 2021
- Rock beats scissors, paper beats rock, and Notion beats markdown.
Drew Bredvick
For the longest time, I’ve wanted to write my blog posts inside Evernote & have them automatically available on my personal site. I looked into ways to do this in Evernote back in the day and it was tricky. With an intense if this then that (IFTTT) flow, you could kinda get there. I gave up on that idea.
- Replacing MDX with Notion
Paul Shen
Customize react-notion to get the benefits of MDX while using Notion as a CMS
- To thread or not to thread ( on Hacker News )
Datapeek
TLDR: Reply to comments, not to stories on Hacker news.
- Tap your phone at Gold Coast bus stops to access my website
Josh Withers
•
21 Feb 2021
My February 2021 Apple Fitness challenge is to walk 227km in the month. So I was out late last night closing in on the target when I stopped and looked at the bus timetable sign at a local bus stop. That NFC tag piqued my curiosity. I wondered if it worked on iPhone?
- Thought Space vs Reality
Suket Karnawat
•
21 Feb 2021
There are two worlds - the one in our head and the one that is real. It’s easy to conflate the two; perception is reality, the saying goes. But they are separate. Perception is just a representation of reality and as we know, the map is not the territory.
- The problem of CryptoArt
Joanie Lemercier
•
19 Feb 2021
I spent the past 15 years flying to festivals, galleries, events, art fairs to exhibit and distribute my work while building my art practice. Most of these projects are unsustainable, so when I dec…
21 February 2021
- Listify a JavaScript Array
Make a human readable list from an array in JavaScript.
20 February 2021
- Facade Pattern
Learn how the “facade pattern” can be used in JavaScript to make it easier to swap libraries, increase code flexibility, and hide complexity in your applications.
- Silence
Let’s be honest, silence is not usually considered an exciting subject. Despite Depeche Mode’s ironic effort to convince us, the idea that we should enjoy silence seems like a stretch. So why am I writing about it?
19 February 2021
- Downsides of working remotely
Martin Tournoij
I love remote work, and I’ve been working remotely for the last five years, but I think there are some serious downsides too. In spite what all the “remote work is the future!” articles of the last year claim, it’s not all perfect, or suitable for everyone.
18 February 2021
- Debugging layout repaint issues triggered by CSS Transition
Dzhavat Ushev
•
18 Feb 2021
A couple of weeks ago I was randomly checking the performance of a CSS Transition here on my blog. I was expecting to see a butter smooth animation but ended up surprised 😲. The transition was triggering repaint on pretty much the whole page every time it ran.
- The Fantasy of Opting Out
Those who know about us have power over us. Obfuscation may be our best digital weapon.
- The web didn’t change; you did
If you didn’t gather off the bat from the title, the problem with developing front end projects isn’t that it’s harder or more complicated, it’s that *you* made it harder and more complicated. You have the power of choice, so choose what you want to do - because the choices are overwhelming and ther…
- You probably don’t need a micro-frontend
Micro-frontends is a relatively new architectural style for building web-based applications, which as the name suggests, is an extension of the popular microservices pattern. In this blog post I argue that this is a pattern you might not need!
17 February 2021
- How I manage my browser tabs to maximize focus
Browser tab chaos gives me anxiety. This simple trick keeps me on task and productive without the need for fancy plugins or features.
16 February 2021
- It’s going to cost four figures
Raccoon
Let’s talk about pricing commissioned work on existing open source projects. Or: things I learned from my past mistakes.
- Your phone vs. Supercomputers
Trương NH Huân
•
7 Feb 2021
Today, I looked up how many floating point operations per second (FLOPS) that an iPhone can do. It turns out the A14 chip in the iPhone can do about 11 TFlOPS according to Apple. Let’s give Apple the benefits of the doubt and not get too deep into how they got that number, and put it to perspective …
15 February 2021
- Clubhouse’s Inevitability
Ben Thompson
•
15 Feb 2021
Clubhouse will do for audio what Twitter, Instagram Stories, and TikTok did for text, images, and video.
- Reasons why SELECT * is bad for SQL performance
Tanel Poder Consulting
•
24 Nov 2020
When I write production code, I explicitly specify the columns of interest in the select-list (projection), not only for performance reasons, but also for application reliability reasons. For example, will your application’s data processing code suddenly break when a new column has been added or the column order has changed in a table?
- On Witchcraft
Lies, damned lies, and social media.
14 February 2021
- Allow your mobile visitors to easier share your articles with the Web Share API
With the Web Share API you can use the native sharing mechanism of the device.
- The problems with the GPL
Unix Sheikh
•
2 Feb 2021
The GNU Public License (GPL) was created to be the "antithesis" of the standard proprietary license. Any modifications that were made to GPL licensed software required to be given back to the GPL community and any application that used or linked to GPL source code was required to be under the GPL.
- Feeds Considered Harmful
Suket Karnawat
•
2 Feb 2021
Technology is merely a tool. It can work for us or against us. If we use it with agency, we can leverage the world’s information to better our lives. If we use it indiscriminately, we find ourselves at the mercy of the Algorithm, passively consuming content.
- Taming the E-Mail Avalanche
E-mails are known to be boon and bane in almost any job. As I move forward in the academic hierarchy, I am spending an increasing amount of time in my mail client. Here, I want to quickly discuss how to stay on top of this avalanche—while also showing some statistics of my personal e-mail experience.
- GitHub repository language overview - How?
The files and directories within a repository determine the languages that make up the repository. With GitHub, you can view a repository’s languages to get a quick overview of the repository. But how does this happen?
13 February 2021
- Note-taking apps for the data conscious
My requirements for a notes app and a rundown of candidates.
- Design for fidgeting
I believe software should be delightful to use. That it should not simply help us accomplish tasks—communication, collaboration, design, creation, thinking—but that it should feel pleasant, joyful, even fun to use while accomplishing these tasks.
- Environment Aware Sessions in SSH
Steven Wade
•
1 Feb 2021
In my first week on the job as a software developer, I deleted an entire table’s worth of data from a client’s database. Luckily, we had a backup from the night before and that table was low traffic. What happened was that I thought I was on the staging server and I was doing some testing and needed to clear out the existing data. I was not on staging. I was on production.
12 February 2021
- <iframe> feedback: a fun technique with iframes on the web
ciphrd
What would happen if a <iframe> tag on a page pointed to the same page ?
- SVG: The Good, the Bad and the Ugly
Nicolas Lenz (Eisfunke)
•
12 Feb 2021
SVG, short for <em>“scalable vector graphics”</em> is a format for, well, scalable vector graphics. In this article I summarize my opinion of the format, what its problems are and suggest what could be done to improve things.
10 February 2021
- Entrepreneurs & Stress
Lau B. Jensen
Stress is a not so silent killer of Entrepreneurs all over the world. In this post I recall a few personal experiences and point to a way out of stress.
- Using ES Modules (ESM) in Node.js: A Practical Guide (Part 1)
Gil Tayar
•
5 Feb 2021
ESM is ready for use in Node.js. This guide shows you how, and how to avoid all the small gotchas. The guide covers the basics, but also discusses how to write packages that can be dual-mode (ESM and CJS), how to configure ESLint, Mocha, and Testdouble, and how to use TypeScript with ESM.
- Timezone Bullshit
Wesley Aptekar-Cassels
•
10 Feb 2021
People often use short timezone abbreviations like EST and PST to refer to timezones. If you're doing this in a computer program, you are almost certainly making a huge mistake. Let's take take a look, using the disastrously bad unix libc timezone tools, which you're almost certainly using under the hood if you're writing software on Linux or OSX.
- Clubhouse
Ahmed Al-Ismaily
•
9 Feb 2021
An exciting new entrant arrives on the scene changing the way we interact with audio. What is Clubhouse and why is it the future?
- Exposing sequential IDs is bad! Here is how to avoid it.
Petre Popescu
•
28 Jan 2021
It is easy to expose the primary key of your entries. This, however, can pose some security concerns. Here is how to avoid exposing primary key.
- Why should I give you my ID card
Thibault Meunier
•
8 Feb 2021
Youtube asks me for my ID card. Follow me as I dig further on how they could have done this differently
- Be Humble
Armin Ronacher
•
5 Feb 2021
Something on the topic of money and privilege that come with working in software.
9 February 2021
- An Interactive Guide to CSS Transitions
This comprehensive guide shows how to use CSS transitions! A back-to-basics look at the fundamental building blocks we need to create microinteractions and other animations.
- Crackpot Cryptography and Security Theater
Tales from the Crypt[ography].
- What’s an SPF Record?
SPF records are DNS records that help prevent SPAM and forged emails.
- Use ideas as tools not truths
Edmar Ferreira
•
3 Feb 2021
> “The dangerous man is the one who has only one idea because then he’ll fight and die for it.” -Francis Crick. This quote made me think about the dangers of believing in ideas as truths. Most things that matter in life are messy.
- Why You’re In An Echo Chamber
Hunter Clarke
I’ve recently noticed that despite my best efforts, I’m fed the same content from the same people at the same cadence. It’s an echo chamber that is hard to escape. I thought about how to break out of this loop and came up with the following mental model and solution.
- Just Launch The Damn Thing!
MobileFolk
Tl;dr: life is short, startups are even shorter. Don’t overthink, launch faster, keep moving and iterating!
- Repurposing my Twitter Feed
David Bieber
Twitter’s addicting. It’s not a good use of my time, but I scroll there anyway. If I’m going to be scrolling there anyway, might as well make it worthwhile. So, I’ve decided to repurpose my Twitter timeline and inject things I actually care about into it.
8 February 2021
- Cold Paths
Tim Kellogg
•
29 Jan 2021
A cold path is a path through the code or situation that rarely happens. By contrast, hot paths happen frequently. You don’t find bugs in hot paths. By nature, bugs are found in places that you didn’t think to look. Bugs are always in cold paths — every bug is found in a path colder than all the paths you tested.
- gifts, work, vices, hurt
Kyle Morris
How do you know when an activity is good or bad for you? Sometimes your brain lies and says it is good but then you regret it after. Maybe it's something hard now but pays off long-term. How do you know if you should suck it up and endure the hardship now to receive the payoff later? What if you're just abusing yourself and you don't realize there is no long-term payoff?
- On Boycotting FOSS
Josias
When we use proprietary software, we are under the power of the owner of the software. The owner's revenue depends on us, either directly through purchases and solutions, or indirectly by advertising. There is a relationship of power, with the owner having power over us.
- The power of three
Leonardo Federico
•
7 Feb 2021
We are wired to tune into the power of three. Great communication is built on it. Consider many of the most durable marketing slogans: Just do it. Don't be evil. I'm lovin' it.
- App Startup vs Content Startup
Beng Tan
Here is something that occurred to me recently. It’s not a law or anything, but just a thought-provoking observation. I find it interesting, and maybe it’s useful as a tool in thinking about startups. Most startups are either an app startup or a content startup.
- Turn Hacker News into an RSS feed
Matt Radford
You're an engineer who looks at Hacker News 2-5 times a day. HN is a good way to fill the gaps in time. You scan the front page- repeatedly- for links of interest... reading titles, eyeing scores... often jumping directly to the (overtly contrarian) comments to see if a link is even worth the energy.
- Change your MAC address with a shell script
Josh Thompson
•
18 Dec 2019
Sometimes I’m at a coffee shop and get locked out of the wifi, after an hour or two has passed. Rather than spending 2 minutes/week entering terminal commands, I thought it made sense to spend a few hours figuring out how to make it take one minute a week, instead, via AUTOMATION.
7 February 2021
- That’s not my name! Practical problems in real name policies.
Once in a while, big companies suggest that the answer to abuse is to ban anonymity and institute a Real Names policy. This time, it is Google’s turn.
- Fast Software, the Best Software
Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability.
- Beware the Cult of Numeracy
Adam Waxman
•
4 Feb 2021
While data can be a fantastic tool to understand behavior and measure impact, we should be mindful of its limitations.
- How I stay motivated to publish despite being a lazy bastard
I briefly break down my process for staying on top of my writing ideas despite begin a lazy bastard. Procrastinate without guilt.
- ARCHITECTURE.md
Aleksey Kladov
•
6 Feb 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 CONTRIBUTING.
6 February 2021
- Fulfilling the promise of CI/CD
When people say “CI/CD,” they are only talking about continuous integration. Nobody is talking about (or practicing) continuous deployment. AT ALL. It’s like we have all forgotten it exists. It’s time to change that.
- Modifying Telegram’s “People Nearby” feature to pinpoint people’s homes
owlspace
•
5 Feb 2021
A new way for script kiddies to find out where you live as opposed to “hacking your IP address”.
5 February 2021
- All Stories Are Wrong, but Some Are Useful
Stories are powerful, and they rule our world. This post explores how we’re always telling ourselves a story, and how choosing the right story has long term, surprising implications.
- RGPD avec Doctolib
J’ai lu des choses pas très roses vis à vis de Doctolib, sur ce à quoi les praticiens sollicités via Doctolib peuvent avoir accès. Des médecins qui auraient des comportements ou remarques déplacés en connaissant le nom ou le rôle des autres praticiens consultés.
- The spectrum of synchronousness
Communicating correctly is key for remote working. We look at sync and async communication on the spectrum of synchronousness.
- A short post on Nibby, URL shorteners and the dangers of machine translation
The Crow
•
3 Feb 2021
Twenty years ago, URL shorteners were a godsend. A complicated, hierarchical, 300 character address could be compressed down to a dozen characters - or fewer. So this is my new effort. nib.by. Nibby. Likened to the nib of a pen. Nibby.
- Locating Humans with DNS
Alan Gibson
•
4 Feb 2021
I recently lost access to a free email account I’ve had since before I can remember (though only temporarily, thank the lord). When it happened, I instantly became effectively uncontactable by a large portion of humanity. My own temporary disappearance from reality started me to thinking about how we can reuse existing infrastructure to store contact information in a durable and highly available way.
- My Most Productive Project Stack
Matt James Boyle
I have started literally hundreds of side projects and never finished any that had any sort of substance.
- Oh sorry, I was on mute!
Neil Panchal
•
4 Feb 2021
I ranted on HN the other day about Google Meet’s user interface gore. Aside: Imagine you’re driving down the road and you need to make a right turn. Well, for some reason the steering wheel is stowed away and disappeared! You need to hover your hand around the center console in a specific area to be able to expose it. Out comes the steering wheel and now you can make a right turn.
4 February 2021
- Why indiedevs shouldn't fear being cancelled
adn
•
4 Feb 2021
I've seen a fair number of small indie developers say they're afraid of expressing their opinions online due to fear of being cancelled. Overall I think this is a pretty unwarranted fear and in this post I'll explain why.
- My product is my garden
Herman Martinus
•
1 Dec 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”,
- Killing Containers at Scale
Connor Brewster
To make it so that anyone with a web browser can code on Replit, our backend infrastructures runs on preemptible VMs. That means the computer running your code can shutdown at any time! We've made it really fast for repls to reconnect when that happens. Despite our best efforts, though, people had been seeing repls stuck connecting for a long time.
- How merge trains keep your master green
No more queuing and waiting for pipeline results, merge trains will speed up your deployments while making sure master stays green.
- Why I Still Use RSS
I firmly believe the Internet, and what it stood for, peaked with RSS.
3 February 2021
- 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!
- Unhealthy obsession with analytics
Yusuf
•
25 Jan 2021
The irresistible urge to look at stats
2 February 2021
- Just because I have a vertical screen, doesn’t mean I’m on a phone!
I’m a weirdo – I fully admit that. As part of my home working set up, I use a vertical monitor. I read and write a lot of long documents – and this form factor suits me perfectly.…
- Past, Present, and Future of React State Management
Lee Robinson
•
2 Feb 2021
Learn about the history of state management in React and what the preferred solutions are today.
- The Cult of Best Practice
Dominik Krejcik
•
31 Jan 2021
Best practices are, despite the name, not universally good.
- Why Generation X will save the web
Heather Burns
•
31 Jan 2021
Politicians want to regulate the internet as if a handful of companies are the open web. Why? Because for their young policy staffers, that’s the only web they’ve ever known.
1 February 2021
- Tiny habits. No, like TINY tiny.
Most people try to start habits that are too big. Even the ones people think are small are too big.
- Advice to My Younger Software Developer Self
As I look back over what’s almost a decade in software development, there are some things I wish I’d started doing sooner. This is the advice I’d give my younger self, who has just landed their first professional software development job.
- Do words mean anything?
Max Hodak
•
1 Jan 2021
The principle of absolute freedom of speech has embedded in it a basic premise that words do not inherently mean anything.
- BitLocker touch-device lockscreen bypass
Microsoft has for the past years done a great job at hardening the Windows lockscreen, but after Jonas published CVE-2020-1398, I put effort into weaponizing an old bug I had found in Windows Touch devices.
- A Survival Guide for Beating Information Addiction
Leo Babauta
•
23 Aug 2020
Are you suffering from information addiction? It’s a growing problem as people spend more and more of their time online — and while online tools are amazing, being addicted to checking them can steal most of your day. You know you’re an information addict if you: Check email, Facebook…
31 January 2021
- The Hidden Drawbacks of P2P (And a Defense of Signal)
John Goerzen
•
31 Jan 2021
Not long ago, I posted a roundup of secure messengers with off-the-grid capabilities. Some conversation followed, which led me to consider some of the problems with P2P protocols.
- I bought 200+ Raspberry Pi Model B’s and I’m going to fix them! Part 4
James Dawson
•
30 Jan 2021
The first batch of the repaired Raspberry Pi’s have been sold! If you missed out on this, don’t worry! There are more to come as I repair them. I sold a total of 27 Raspberry Pi’s, 3 people cancelled their orders as they somehow thought these were Raspberry Pi 4’s?!
- An introduction to macOS Head Pointer
Eric Bailey
•
26 Jan 2021
Did you know you could use a mouse without using your hands?
- Storing images and files in IndexedDB
Robert Nyman
•
23 Feb 2012
The other day we wrote about how to Save images and files in localStorage, and it was about being pragmatic with what we have available today.
30 January 2021
- My playbook for shipping side projects
Tips and strategies I’ve learned for shipping side projects.
- Uniwidth typefaces for interface design
Uniwidth typefaces have great potential for the use in interactive interfaces. A short, handy compilation of some available typefaces.
- Bulletproof flag components
A resilient take on a flag component using CSS Grid. A flag is similar to the ubiquitous media object, but with a more nuanced alignment.
- Was Social Media a Mistake?
Christine Dodrill
•
26 Jan 2021
Traditionally, getting your message in front of thousands or millions of people required you to be a public figure working for a media company.
- I Launched my side project on Product Hunt, here is what I learned.
Every time I used to visit Product Hunt, I would end up discovering a few awesome tools and products that make me say, wow! This is so cool. I want to build something like that. But the thing is I had no idea what to do.
- Why we walked away from a $1.5 million seed round and shut down our company
Mikkel Dengsøe
This is the story of how I met a brilliant co-founder, started a company, got a product in the hands of early customers, got offered $1.5 million in seed funding but decided to shut it all down.
- Apple Silicon M1 supports “billion of colors” aka HDR 10-bit output
Kay Singh
•
24 Jan 2021
When most people hear Apple in a sentence, their next thought is likely the color. Does Apple Silicon M1 output “billion colors”?
29 January 2021
- The Six Dumbest Ideas in Computer Security
Marcus Ranum
There's lots of innovation going on in security - we're inundated with a steady stream of new stuff and it all sounds like it works just great. Every couple of months I'm invited to a new computer security conference, or I'm asked to write a foreword for a new computer security book.
- WhatsApp and the domestication of users
Rohan Kumar
•
28 Jan 2021
WhatsApp’s rise and recent PR efforts highlight a class of business models that I call “user domestication”.
- Delivering with empathy
I remember learning about the difference between sympathy and empathy in middle school. > Sympathy: feelings of pity and sorrow for someone else’s misfortune. Empathy: the ability to understand and share the feelings of another. Pretty damn simple to understand the difference when you read each of…
- White House Youtube Dislike Manipulation
Zoe Phin
•
27 Jan 2021
I’ve seen screenshots of YouTube modifying dislikes of White House videos. I decided I would do a thorough analysis myself. I wrote a script to check video stats every 80 seconds for 24 hours…
- The great SameSite confusion
Julien Cretel
•
29 Jan 2021
In this post, I expose a common misconception about the SameSite cookie attribute and I explore its possible impact on Web security. TL;DR The SameSite cookie attribute is not well understood. Conflating site and origin is a common but harmful mistake.
- Why I’m losing faith in UX
Mark Hurst
Digital design increasingly exploits users.
28 January 2021
- useEncapsulation
Improve the quality of your codebase with encapsulation and custom React hooks.
- 4 JavaScript ES2021 (ES 12) Features That You Should Learn in 2021
The logical assignment operator, Promise.any, and more.
- The EU must protect the right to privacy and not attack end-to-end encryption
Proton Team
•
27 Jan 2021
Along with Threema, Tresorit, and Tutanota, we are releasing a joint statement calling on the EU to reject any ban or attack on end-to-end encryption.
27 January 2021
- Twitter ‘Industry’ Bullshit
Here’s a trend I’m seeing on Twitter recently. These kind of “influencer” guys posting tweetstorms that get thousands of likes and RTs… Part of me feels jealous. I spend a lot of time on Twitter and try to share valuable things, but I don’t have results like that.
- Federated development and federated forges
Loïc Dachary
•
23 Jan 2021
I’m very new to federation. Over the years I heard rumors that it was good without understanding why and how. I ran a mastodon instance for a few years but did not use it much: I’m a developer and not much of a microblogger (reading or writing).
- How to instantly show your value
Wes Kao
•
8 Jan 2021
I’ve compiled my favorite ways to convey your product’s value prop. These apply to products and brands, but feel free to apply this to people too. These work for job interviews, selling yourself as a consultant, etc.
- Advanced Technical SEO: How social image sharing works and how to optimize your og:image tags
Optimizing how content looks when it’s shared on social media has many benefits. But it’s not as simple as just picking a great social image!
- The unreasonable effectiveness of simple HTML
I’ve told this story at conferences – but due to the general situation I thought I’d retell it here. A few years ago I was doing policy research in a housing benefits office in London.
- Data Fetching on the Web Still Sucks
Boris Cherny
It’s 2021, and data fetching on the web still sucks. This is crazy!
- Twitter’s Birdwatch is Fundamentally Flawed
The fatal flaw of Birdwatch’s current design and how it can be fixed.
- The Pros and Cons of DRY Code
Clean code is like clean garbage - it’s only truly clean if it doesn’t exist. In other words, the only clean code is no code.
26 January 2021
- Firefox 85 Cracks Down on Supercookies
Mozilla Security Blog
•
26 Jan 2021
Trackers and adtech companies have long abused browser features to follow people around the web. Since 2018, we have been dedicated to reducing the number of ways our users can be tracked.
- Making is Show Business now
Alex Danco
•
10 Oct 2020
Nadia Eghbal’s new book, Working In Public: the Making and Maintenance of Open Source Software, may not have been on your short list of books to read this year.
- Giving advice is a last resort
Give the Advice Monster the finger. Tell less and ask more.
- Twitter and Interoperability: Some Thoughts From the Peanut Gallery
Cory Doctorow
•
25 Jan 2021
Late in 2019, Twitter CEO Jack Dorsey floated “Project Blue Sky,” a plan for an interoperable, federated, standardized Twitter that would let users (or toolsmiths who work on behalf of users) gain more control over their participation in the Twitter system.
- On the complexity of JSON serialization
Einar W. Høst
•
8 May 2020
I vented a bit on Twitter the other day about my frustrations with JSON serialization in software development. I thought I’d try to write it out in a bit more detail.
- The High Price of Mistrust
When we can’t trust each other, nothing works. As we participate in our communities less and less, we find it harder to feel other people are trustworthy. But if we can bring back a sense of trust in the people around us, the rewards are incredible.
- CSS Frameworks, hype and dogmatism
Some notes on the dogmatism and gatekeeping themes of Tech Twitter and how they can generate often incorrect and naive statements—specifically about frameworks and methodologies.
- Replacing Dropbox in favor of DigitalOcean spaces
Mitja Felicijan
A few months ago I experimented with DigitalOcean spaces as my backup solution that could replace Dropbox eventually. That solution worked quite nicely, and I was amazed how smashing together a couple of existing solutions would work this fine.
- Names to avoid in Software Engineering
Danver Braganza
An incomplete list of poor names for libraries, modules, projects and teams
25 January 2021
- Everyday decision making
One of the hard things in building software, I realized, are decisions: Which tech debt to tackle? How to architect this feature? What to focus on?
- Progressive Web Apps in 2021
Maximiliano Firtman
•
6 Jan 2021
The current status of the PWA platform, abilities, compatibility, app store distribution, PWA market share and more insights about the state of the platform.
- You should always do server-side validation! Always!
Petre Popescu
•
24 Jan 2021
Here are three common scenarios of bad webapp security and best practices on how to protect yours from bad behaviour.
- The joy of deleting code
Bevan Steele
•
24 Jan 2021
I consider myself a software craftsman who takes good care of my craft. What I find difficult to understand is why I take so much joy when I am deleting code.
- State of the React Ecosystem in 2021
What’s the best way to build React apps in 2021? What has changed since 2016? What libraries is everyone using these days?
- Reusing content (with variables) in MDX
Aaron Collier
•
20 Jan 2021
How I learned to reuse content in a docs-as-code workflow in MDX.
- Throttle vs Debounce on real examples
Throttle and debounce let you save some resources and increase the performance of your app. Learn about differences and use cases.
- Margin considered harmful
We should ban margin from our React components. Hear me out.
- The styled-components happy path
styled-components is a wonderfully powerful styling library for React, and over the years I’ve learned a lot about how to use it effectively. This article shares my personal “best practices”.
- Reality is up for Grabs
Erik Torenberg
•
24 Jan 2021
Bootstrapping new realities in the digital age
- Flattery-driven open-source
With the society trending towards short-term wins and satisfaction, open-source is no different. Doing open-source is shifting from being something close to the art of craftsmanship, to make developers feel like a magician where their GitHub profile is the hat, and the rabbit their new project for the “community” to talk about. They are competing with themselves to have always a new trick (i.e. project) to show off.
24 January 2021
- The right way to turn off your old APIs
All things come to an end, even HTTP APIs. However great your API may be today, one day you'll want to release a completely new version, an improved but incompatible endpoint, a new parameter that solves the same problem better, or to shut down your API entirely. Your current API will not be live forever.
- Big Tech Censorship
Ed
•
24 Jan 2021
What Big Tech is doing in deplatforming prominent right-wing figures, based on prodding from certain NGOs and politicians, is in fact censorship, even if Parler Chief Policy Officer Amy Peikoff calls it “censorship by proxy”.
- My setup for using Twitter without hating it
How to get only the good parts of this infamous social network
- Moral basis for regulating social platforms
solus.life
Many people seem to be stuck between two opposing thoughts: 1. It feels wrong that social platforms have the power to arbitrary filter content. 2. They are private companies, so they have the right to do as they please. How do we reconcile those ideas?
- Product idea: verifiable digital document sharing
Jamie Lord
•
23 Jan 2021
Some employers, utility companies, banks or government departments still require you to be in possession of physical documents - it’s now 2021 and this is stupid.
- Technological stagnation: Why I came around
I was skeptical at first, but have come to believe the stagnation hypothesis. Here’s why.
22 January 2021
- My Backup Strategy
Nerds love discussing their backup strategies, so I thought I give it a try.
- Signal App UX irritation: “x just joined Signal”
Nitin Nain
•
21 Jan 2021
I’m trying to convince friends and family to switch to Signal. Opened the Signal App after several months today and I was welcomed with 100+ unread “X just joined Signal” messages. And it irritated me…
- Righteous, Expedient, Wrong
OSI swings at Elastic, misses, and leaves a mess
- Why Electron is a Necessary Evil
Federico Terzi
•
21 Jan 2021
Unless you’ve been living under a rock for the past 5 years, chances are you have used an Electron-based application at least once in your life. For those (probably few) who don’t know what Electron is, it’s a cross-platform desktop app framework built on top of Chromium and NodeJS
- An Ode to Chess
Dan Reardon
•
18 Jan 2021
Or - My Chess Addiction
- Open source licensing for supervillains
This post covers my research into open source software licensing and my analysis of real-world open source projects that profit off of open source code via proprietary licenses.
- The little guide to CI/CD for frontend developers
How to ship your app faster, more reliably and make your team unstoppable with good testing practices and automation.
- Guide to creating animations that spark joy with Framer Motion
An interactive guide introducing everything I’ve learned about Framer Motion through fun examples and little case studies of animations I built.
21 January 2021
- An abundance of caring (for yourself, and in turn those close to you)
Graham Sherry
•
11 Jan 2021
This post started as a few simple sentences for my brother; tips on how to lose fat and manage blood sugar better. I decided to write them down as a reminder to myself, or anyone, especially those in middle age, as I’m starting the year with a health drive.
- Would You Rather Be Uninformed Or Misinformed?
jarbus
Is it better to have no facts about a topic and thus no opinion, or have access to a few “out of context” facts and thus a misinformed opinion?
- I only know you from above the shoulders
One of my lovely colleagues made an small speech during a recent meeting. She was delighted to announce that she was heading off on maternity leave next month and looked forward to seeing us all next year once the pandemic was over.
- The Irrevocable SSL certificates of CloudFlare
Matthew Morgan
I moved this website ‘worldofmatthew.com’ away from CloudFlare back in August 2020.That should have been the end of the relation with CloudFlare for my website.
- The harmful assumptions we make about tasks
Cyrus Roshan
•
12 Dec 2020
How they hurt us, and how to correct them
- Write Crypto Code! Don’t publish it!
Crypto Fails
•
1 Feb 2014
Today I’m talking about this code. It’s PHP code that’s supposed to do encryption. It’s ugly, broken, and insecure, but we can learn from it. Thanks to @voodooKobra for pointing me to the code.
- Please Stop Encrypting with RSA Directly
RSA is for encrypting symmetric keys, not entire messages. Pass it on.
20 January 2021
- TypeScript: Low maintenance types
I write a lot about TypeScript and I enjoy the benefits it gives me in my daily work a lot. But I have a confession to make, I don’t really like writing types or type annotations. I’m really happy that TypeScript can infer so much out of my usage when writing regular JavaScript so I’m not bothered writing anything extra.
- When costs are nonlinear, keep it small.
Jessica Joy Kerr
•
19 Jan 2021
Batching work is more efficient … until cost rises nonlinearly with batch size. Then smaller batches are the most efficient. So don’t delay maintenance!
- Environment variables, config, secrets, and globals
Henrique Vicente
•
16 Jan 2021
Server-side applications are heavily relying on environment variables for holding configuration data, and even credentials like token and password. Is this a good idea?
- How to gather consensus before a big decision
Jacob Kaplan-Moss
The next time you have an important proposal to make, don’t wait until the big meeting to ask for support. Here’s how to gather feedback and build consensus beforehand, so you can make that big meeting into a non-event.
- 3 Reasons You Should Start A Personal Blog in 2021
Jacob Gustin
Us humans tend to place things into narratives, and having a cool blog gives the people around you information about their narrative of you. Having a strong personal brand also makes you more employable and might open doors that you didn’t know existed.
- A solution for social media?
Jan-Lukas Else
•
18 Jan 2021
Sometimes I find it quite interesting to read through articles that I wrote three or four years ago, back then still on the platform Medium. Some time ago I deleted them on Medium and published them on my blog in a “Medium Archive”.
19 January 2021
- From note-taking to note-making
Note-taking is fast, uses the original author’s language, and feels easier. Note-making is slower, more involved, and uses your own language.
- Is Writing as Important as Coding?
Eugene Yan
•
4 Oct 2020
As our careers grow, how does the balance between writing & coding change? Hear from 4 tech leaders.
- Death to covert contracts
“If I do X, then you’ll do Y, even though neither of us have acknowledged it.” This is crap.
- HTML and CSS techniques to reduce your JavaScript
Anthony Ricaud
•
27 Dec 2020
More and more websites are relying on JavaScript for the interactions they provide. It enables pleasant experiences but also comes with undesirable effects: longer page load times, page is unusable until the JavaScript loads and if it does so without any errors...
- I wasted $40k on a fantastic startup idea
TJCX
•
18 Oct 2020
When good ideas make bad business
18 January 2021
- We can do better than Signal
icyphox
•
17 Jan 2021
Centralized silos are never the solution
- Are We Really Engineers?
Hillel Wayne
•
18 Jan 2021
I sat in front of Mat, idly chatting about tech and cuisine. Before now, I had known him mostly for his cooking pictures on Twitter, the kind that made me envious of suburbanites and their 75,000 BTU woks. But now he was the test subject for my new project, to see if it was going to be fruitful or a waste of time.
- That XOR Trick
Florian Hartmann
•
15 Mar 2020
There are a whole bunch of popular interview questions that can be solved in one of two ways: Either using common data structures and algorithms in a sensible manner, or by using some properties of XOR in a seemingly hard to understand way.
- The Embedded YouTube Player Told Me What You Were Watching (and more)
2019, October 11, 00:16: I finish the cold frozen pizza that I made hours before but forgot to eat, finally write the report, press submit on the Google security bug submission form, and see the classic, Thanks! We received your report. message. That feeling is hard to beat.
- Github Stale Bots: A False Economy
Ben Winding
•
18 Jan 2021
Stale Bot’s are a type of automated bot on Github, which locks issues which are “stale” (as in have no recent activity). This seems like a helpful tool at first, but in reality it’s terrible for all parties.
- Build a Simple FLIP Animation in React
Travis Arnold
The FLIP technique allows for declarative and performant animations. In this article, we will look at a simple way to implement this method using React.
- Tidy TypeScript: Name your generics
TypeScript’s generics are arguably one of the most powerful features of the language. They open a door to TypeScript’s own meta-programming language, which allows for a very flexible and dynamic generation of types.
- Consistency beats quality
Do anything consistently for a long time (meaning multiple years), and you’ll be good at it.
- That’s not how 2FA works
Another day, another high-profile website cloned to phish credentials. In the replies, you’ll see lots of techbros saying “this is why you should switch on 2FA people!!!” Except, and I hate to bring accuracy to a technical discussion, that’s not how 2FA works!
17 January 2021
- Becoming a better interviewer
What I’ve learned from studying interviewing principles and analyzing the meta elements of my favorite interviewers.
- My Second Brain - Zettelkasten
For as long as I have been learning web development ( ) I have been taking notes. Partly notes to help clarify my understanding of something…
- A fresh new avenue for Google to kill your SaaS startup
Google Safe Browsing is a Google program that can blacklist any website or SaaS application in Google Chrome and other browsers and platforms.
- How I develop web apps in 2021
Tim Daubenschütz
•
16 Jan 2021
It's now roughly seven or eight years that I'm building dynamic front ends for the web. And since my process of creation has dramatically changed over the years, today, I'd like to share how I'm developing web apps in 2021.
- a11y* is your ally
awesome-badger
I am going to talk about Accessibility for the Web by offering a software engineer perspective (my area of knowledge) of it. However, it is important to highlight that each member of the team could approach this topic from their own discipline.
16 January 2021
- Motivation Will Eventually Go Away: Build Accountability Systems Instead
Motivation eventually goes away. Here is how you can make sure you’ll consistently create the work you’re meant to create.
- Cognitive dissonance is a gift, not a curse
Ben Barbersmith
•
24 Dec 2020
When we feel stressed or guilty because we know we should be acting differently, most of us ignore it and try to turn our minds elsewhere. Instead, we should focus on the dissonance and use it to change our behaviour for the better.
- A Svelte component to format numbers
Instead of 63476432, the component displays 64M.
- How to Kill a Unicorn
Chris Frantz
•
14 Jan 2021
I took a deep dive on freemium pricing and decided to document it in this post. Why freemium? I think it’s how the little guys can win against market leaders. Basically, it’s how you kill a unicorn. Notion, Figma, Canva, Mailchimp, and Segment. What do all of these platforms have in common, besides being category leaders?
- Prove you can write regularly before you think about the tools
Do you actually want to write or do you just to be a person who writes?
- The Big Little Guide to Running Code in the Cloud(s)
There are now many ways to run code, from traditional servers to the new serverless to cutting-edge edge options. This guide evaluates many of the code execution offerings available across AWS, Google, Azure, Heroku, Fly and Cloudflare.
- Rust is a hard way to make a web API
Tom MacWright
It is not just the borrow checker
- Date Manipulation in JavaScript - A Complete Guide
Learn how to work with date and time on plain JavaScript and how date libraries can save you time.
- Dealing with Timezones in javascript
Josh Owens
I often write about Meteor.js specific topics, but today I am going to dive into a more general javascript topic - Timezones. I can already hear most of you, "Just use Moment.js because it makes handling time easy..." I agree, it does! But I am talking more specifically about dealing with timezones and offsets.
15 January 2021
- Our Dumb Security Questionnaire
Hangar Engineering
There are many Dumb Security Questionnaires. This is ours. We think it’s better.
- The Right to Pay for my Products
Paul Heymann
Should we forbid personalised advertisement to gain back our attention, our data, our digital selves? Should we completely break the underlying economic machinery that fuels companies like Facebook, Twitter, and Google? I think the answer to that has to be No.
- Cryptography Dispatches: NaCl Is Not a High-Level API
Filippo Valsorda
When talking about high-level application cryptography APIs I usually hear mentioned libsodium, Tink, pyca/cryptography, and NaCl.
- The psychology of influence and hacking growth
Wayne Haber
•
7 Jan 2021
I finished two books recently on the related topics of hacking growth and the psychology of influence. My notes and excerpts are below.
- Don’t worry son, all your friends are weirdos too
Robert Heaton
The morning after the US election it looked like the presidency was still up in the air and the Democrats were going to lose the senate.
- Uganda’s January 13, 2021 Internet Shut Down
Two days ago, through its communications regulator, Uganda’s government ordered the “Suspension Of The Operation Of Internet Gateways” hours before the country’s general election. This action was confirmed by several users and journalists who got access to the letter sent to Internet providers.
- How I hijacked the top-level domain of a sovereign state
Fredrik N. Almroth
•
15 Jan 2021
Here’s how I temporariliy took over 50% of all DNS traffic for the TLD of the Democratic Republic of Congo.
- Encoding data in dubstep drops
Ben Cox
How much effort would it be to actually embed machine readable data inside a dubstep track, while ensuring that the sound could be enjoyed by humans as well…
- Hacking :visited
Hacking the :visited selector to show unread posts. We’ll look at the limitations and my little work-around.
14 January 2021
- We Have A Reality Problem
Christopher Butler
In the early 1990s, when the internet was still in its structural infancy, and its influence on broader culture was widely underestimated if not entirely unknown, Howard Rheingold already knew enough to predict where this newest technology would — and wouldn’t — take us.
- What is Social Cooling?
John Messerly
•
13 Jan 2021
“Like oil leads to global warming … Data leads to social cooling”
- Web Dev Without Tools
Dan Prince
•
4 Jan 2021
Most frontend web development projects rely on a complex stack of tools that turn code into code, or code into errors.
- null
Alan Pope
•
13 Jan 2021
I quite like to break things. While I’m not a QA or security professional, I have developed a knack for doing “stupid” things with software which causes it to malfunction. Some developer friends of mine have lamented that they didn’t show me software before they released it.
- Storing Cryptographic Keys in Persistent Browser Storage
Francisco Corella
•
2 Jun 2017
This blog post is a companion to a presentation made at the 2017 International Cryptographic Module Conference and refers to the presentation slides, revised after the conference.
13 January 2021
- An unlikely database migration
Brad Fitzpatrick
•
13 Jan 2021
When I first joined Tailscale, I was horrified to learn that “the database” was a single JSON file that was rewritten on any change. We migrated to something better.
- Legacy Code Should Be Respected, Not Hated
Steven Wade
•
1 Jan 2021
Developers hate legacy code. It’s dirty, it’s crowded, it’s ugly, it’s messy, it’s… old. But we shouldn’t have a negative outlook on legacy or old code. It’s there for a reason, we just need to appreciate that reason.
- 100 daily blog posts
And here’s to thousands more!
- If it will matter after today, stop talking about it in a chat room
Live chat is for things that can get lost.
- Exact match domain vs brand domain
Johnathan Nader
I was talking with a friend of mine about the benefit vs drawback of a exact match domain vs a brand domain.
- The Paradox of Abundance
David Perell
•
13 Jan 2021
Information abundance, like all markets of abundance, is bad for the average person but great for a small number of people. Abundance is a paradox. Environments of abundance are bad for the median consumer but extremely good for a small number of conscious ones.
- Get Ready For ESM
At the end of April 2021, Node.js 10 will be end-of-life, which means that package maintainers can target Node.js 12. This Node.js version has full support for JavaScript Modules, also known as ESM.
- Reminder: Please be nice
Adam Piggott
•
12 Jan 2021
I have seen a significant uptick of people posting or joining the forums and using belligerent language, making unilateral demands and insulting the process that is open source software. “The fact you haven’t done x is stupid”. “How can you write a piece of software that doesn’t do y?”.
12 January 2021
- How to Beat Parkinson’s Law
Anthony Diké
•
11 Jan 2021
This is a method I use to help me stop procrastinating on work.
- Laptops need to change
Sergey Grigorchuk
•
7 Dec 2020
They do
- Startup ideas for 2021
Sagiv Ofek
•
11 Jan 2021
Here are some ideas I have for 2021
- The clipboard history feature is the best thing since sliced bread
Martin De Wulf
•
11 Jan 2021
For those who do not know, having a clipboard history is the best thing since sliced bread. It is that little feature that allows you, after you made a few copy actions (ctrl+c on Windows or command-c on Mac), to choose any of the copied texts to paste it.
- Getting started with Signal
First of all you may be asking “who makes Signal?” Signal Messenger LLC. is the company that makes the Signal app. They are funded by the Signal Foundation which is a non-profit organization that relies on your donations to make the app free and not have ulterior motives with your data.
- Everything You Ever Wanted to Know About inputmode
The inputmode global attribute provides a hint to browsers for devices with onscreen keyboards to help them decide which keyboard to display when a user has selected any input or textarea element.
- Guest Blog Post: Leaking silhouettes of cross-origin images – Attack & Defense
Aleksejs Popovs
•
11 Jan 2021
This blog post is one of several guest blog posts, where we invite participants of our bug bounty program to write about bugs they’ve reported to us.
- I received first-ever donation on my open-source side project and it felt great!
I decided to build an extension for VSCode. That would add handy buttons for many common commands like save file, format file, show opened files etc.
- Simple Anomaly Detection Using Plain SQL
Many developers think that having a critical bug in their code is the worse thing that can happen. Well, there is something much worst than that: Having a critical bug in your code and not knowing about it! Using some high school level statistics and a fair knowledge of SQL, I implemented a simple anomaly detection system that works.
- Useful setup that I always use when starting a new project
A bunch of actions you should set when starting a new project that will set you in the right direction.
- Restarting the blog
Returning to proper blogging after two years of it laying dormant. What could possibly go wrong?
- Why using localStorage directly is a bad idea
In my perfect bubble localStorage always works and I can rely on it unless you are using Opera Mini. The reality is a little bit different.
- My personal wishlist for a decentralized social network
Carter Sande
I’d be interested in a decentralized social network with network-layer anonymity, grassroots content delivery, and customizable moderation.
11 January 2021
- Let’s Bring Spacer GIFs Back!
The 90s web gave us many delightful things: web rings, guestbooks, “under construction” animations, and spacer GIFs. In this article, we’ll see how I use a Spacer component to solve common layout problems, and why it’s often a great tool for the job in the modern web.
- Stealing Your Private YouTube Videos, One Frame at a Time
Back in December 2019, a few months after I started hacking on Google VRP, I was looking at YouTube. I wanted to find a way to get access to a Private video which I did not own.
- Malware on my Android phone!
Cedric Beust
•
10 Jan 2021
I have a confession to make that I’m not very proud of: recently, I unwittingly installed malware on my Android phone. As one of the early members of the Android team and someone who’s been using Android for about thirteen years, this was a pretty humbling and irritating event.
- GNOME has no thumbnails in the file picker (and my toilets are blocked)
jayfax
GNOME filepicker and my toilets are broken because of culture of mediocrity.
- The confusing world of USB
Fabien Sanglard
For decades, my perception of USB was that of a technology both simple and reliable. You plug it and it works.
- I did not notice my worsening mental health, and got hit hard by OCD (a tale of caution)
Sergii Kharagorgiiev
Have you seen “Aviator”, a movie with Leonardo DiCaprio about Howard Hughes? Then you might recall what an OCD is.
- Death to the document
David Yates
•
10 Jan 2021
Until quite recently, the South African Revenue Service’s online tax filing website required Adobe Flash. This aged web plugin allowed SARS to embed editable tax forms in the e-Filing web application. The result looked like this: Taxes and Flash: a match made in Hell.
- 🗳 Ranked voting systems
Elzear
•
10 Jan 2021
How we should change voting systems to remove strategic voting.
- Exploring my writing: The subjects of sentences
Consider the two sentences below, which one do you think is better? "The dog chased the cat." or "The cat was chased by the dog." ?
- Block Cipher Structures: Ranked
An opinionated curation of different classes of block ciphers, ranked by an opinionated furry.
10 January 2021
- Knightmare: A DevOps Cautionary Tale
In the first 45-minutes the market was open the faulty software deployment sent millions of child orders into the market resulting in 4 million transactions against 154 stocks for more than 397 mil…
- You might not need to store plaintext email addresses
Daniel Skogly
•
1 Nov 2020
Earlier this year, when I went from having only Facebook-login on Wishy.gift to allow registrations with email address and password, one of my concerns was how to implement this is a way that protects the data and privacy of my users. I don’t have any ads or analytics on the site, the users can select whatever display name they want, and I never stored the email addresses I got from Facebook when a user registered or logged in - only a hashed version of the ID. Email addresses and passwords, on the other hand, are a whole other beast, and the consequences of a database breach much worse.
- Software is drowning the world
James Abley
•
9 Jan 2021
One of the many upsides I’ve had from working at lots of organisations is that you get to see what’s common. Are things like this everywhere? Frequently, the answer is yes! An example of this is tech debt. I see organisations which are running to stand still, and I’m not sure they realised they’re doing that.
- Modern codecs like AV1 can bring better quality video to the open web
Judy McConnell
•
11 Jul 2018
Here’s a surprising fact: It costs money to watch video online, even on free sites like YouTube. That’s because roughly 80% of web videos rely on a patented technology called the H.264 video codec that lets engineers shrink large media files and transmit them quickly over the internet.
- The Platform Is The Enemy
Many, many people do not use the internet, the internet uses them. And this percentage is constantly growing.
- Why you can’t find an engineering coach | Swizec Teller
Swizec Teller
Wanna learn boxing? Join a gym, find a coach. Tennis player with a kink in your game? Find a coach. Software engineer with a missing skill? Google, random blogs, fun newsletters, dubious podcasts, noise on twitter 🤨
- How to grow your email list to three subscribers
Johnathan Nader
Over the past twenty five years as a prolific internet user I have been able to accomplish many feats. Some of which have garnered the attention of governments, others of family members. None of these though are as profound as the truly difficult feat of growing my subscriber list.
- Signal, thank you for not collecting my data. But I won’t use you.
Rukshan
•
8 Jan 2021
Facebook has given an ultimatum for WhatsApp users to either share their data with Facebook or leave the service. And that date is February 8th. One of the most appealing things about WhatsApp is it’s end to end encryption.
- Why you should test critical parts of your app
Last Monday, I sent the usual newsletter to the users of CloudNews. But instead of receiving one unique email, they received dozens of them, some received more than a hundred in a few seconds.
- How WhatsApp convinces you to give it your contacts
Matt Bearman
•
8 Jan 2021
WhatsApp uses dark patterns to coerce you into giving it access to your contacts.
- Block your feeds
I’m addicted to the internet. Mainly via my phone. A year ago I implemented a radical plan to try and stop my addiction.
9 January 2021
- Authenticated Key Exchanges
Soatok
•
22 Apr 2020
Authenticated Key Exchanges are an interesting and important building block in any protocol that aims to allow people to communicate privately over an untrusted medium (i.e. the Internet).
- Steam’s login method is kinda interesting
Owlspace
•
7 Jan 2021
Investigating extra security measures at one of the world’s biggest digital storefronts.
- What I learned doing 125 public talks
Minko Gechev
Over the past 7 years, I gave over 125+ talks for 20 countries in front of over 50,000+ people. By any means, this doesn’t make me an expert in public speaking, but I had the opportunity to learn a few things that I’d love to share.
- What if users brought the infrastructure?
James Salter
•
8 Oct 2020
Maintaining a free cloud app is an unsustainable hassle. Pre-cloud, you could write a piece of software, compile it once for all the systems you wanted to distribute it for, upload the binary somewhere (or send hard copies to people), then go to the beach.
- Processing RSS feeds with Repl.it
Jacob O'Bryant
The other day I made a small web service with Repl.it that does a simple transformation on an RSS feed.
- Next Gen Static Blogging
Maximilian Mackh
Take a look at the source code of this page - I rely mostly on CSS for the rendering of this article.
- Masks Off for TheDonald.win
After all, nothing screams “Proud American” like hosting your website with a French company in a Canadian datacenter.
- Understanding Connections & Pools
What connections are, how they affect our systems, and how and why pooling works—with notes on how popular applications servers and databases handle connections.
- Akin’s Laws of Spacecraft Design
Dave Akin
1. Engineering is done with numbers. Analysis without numbers is only an opinion.
- Custom Properties as State
Here’s a fun idea from James Stanley: a CSS file (that presumably updates daily) containing CSS custom properties for “seasonal” colors (e.g. spring is greens, fall is oranges). You’d then use the values to theme your site, knowing that those colors change slightly from day to day.
8 January 2021
- The Earth has been spinning faster lately
Bob Yirka
•
7 Jan 2021
Scientists around the world have noted that the Earth has been spinning on its axis faster lately—the fastest ever recorded. Several scientists have spoken to the press about the unusual phenomenon, with some pointing out that this past year saw some of the shortest days ever recorded.
- Why we don’t sell ads
WhatsApp
FB: A reminder that even the best intentions are worthless when selling a security product to a surveillance company.
- Dear freelancer, protect yourself.
Celestine Omin
•
30 May 2020
A few days ago, I wrote a post about how freelancers and clients should manage their relationship and be realistic about expectations. Today, I will talk about things freelancers can do to protect themselves.
- How I automated my Coffee Grinder
Florian Meier
•
6 Jan 2021
Making Coffee and what influences it. There are not many better things than a good espresso to start your day.
- How Boston Dynamics Taught Its Robots to Dance
Evan Ackerman
A week ago, Boston Dynamics posted a video of Atlas, Spot, and Handle dancing to “Do You Love Me.” It was, according to the video description, a way “to celebrate the start of what we hope will be a happier year.” - Featured in IEEE Spectrum.
- Metaballs and Marching Squares
Something about making visually interesting simulations to play with just gets me really excited about programming, particularly when there’s some cool algorithm or bit of math backing it.
- Plaintext HTTP in a Modern World
Joshua Stein
On the modern web, everything must be encrypted. Unencrypted websites are treated as relics of the past with browsers declaring them toxic waste not to be touched (or even looked at) and search engines de-prioritizing their content. While this push for security is good for protecting modern communication, there is a whole web full of information and services that don’t need to be secured and those trying to access them from older vintage computers or even through modern embedded devices are increasingly being left behind.
- WhatsApp? I try to back up my history.
maxwellito
Your whole life in a black box
7 January 2021
- Encrypted Client Hello: the future of ESNI in Firefox
Mozilla Security Blog
•
7 Jan 2021
Background Two years ago, we announced experimental support for the privacy-protecting Encrypted Server Name Indication (ESNI) extension in Firefox Nightly. The Server Name Indication (SNI) TLS extension enables server and ...
- My experience posting on "Who Wants to be Hired" thread on Hacker News
Alex D’Angelo
•
3 Jun 2020
I posted info about myself on the June 2020 “Who Wants to be Hired” thread on Hacker News. The thread has lots of posts of people covering a wide variety of technical roles and locations. What would happen if I did it? Who looks at this? This is my anecdotal experience.
- React Server Components
React Server Components aim to enable modern UX with a server-driven mental model. In this post I will share some notes I took while catching up on the latest...
- An Annotated Guide to React Server Components
React Server Components are a nuanced, sweeping addition to React’s existing capabilities. This is my guide.
- Why Goals Don’t Work as We Expect
We relentlessly set goals — weekly, monthly, yearly. We think when there’s a goal, we’re continually moving towards it. The goal resembles a destination, and it seems to us that we’ll be able to get there only if our desire is strong enough. But it’s not the case.
- A developer’s perspective: the problem with screen reader testing
Screen readers are an essential part of using the web for people who are vision impaired, illiterate or have a learning disability. Today’s screen readers traverse web pages and applications and read out user interface elements, content and allow users to navigate and interact with the web.
- The Local Maxima Trap
Dan Reardon
•
4 Jan 2021
Why the golden handcuffs stay locked
- Tell people something new
Tim White
•
1 Jan 2021
A conversational technique I learned recently (not that I think about all the things I say with such intention) is to tell people something they don’t already know.
- No Meetings, No Deadlines, No Full-Time Employees
Sahil Lavingia
How we work at Gumroad
6 January 2021
- What I Use Now Instead Of Google
Kira McLean
I made a goal for myself in January 2020 to stop using Google products by the end of the year. That might sound like way too generous a timeline, but...
- A simple 2 x 2 for choices
Our life is filled with projects. We invest time, effort or money, and perhaps we get a result. It’s useful to have a portfolio of projects, because not all of them are going to work.
- Memory access on the Apple M1 processor
Daniel Lemire
•
6 Jan 2021
When a program is mostly just accessing memory randomly, a standard cost model is to count the number of distinct random accesses. The general idea is that memory access is much slower than most other computational tasks.
- What I’ve Learned in 45 Years in the Software Industry
BTI360 teammate Joel Goldberg recently retired after working in the software industry for over four decades. When he left he shared with our team some of the lessons he learned over his career.
- DALL·E: Creating Images from Text
OpenAI
•
5 Jan 2021
We’ve trained a neural network called DALL·E that creates images from text captions for a wide range of concepts expressible in natural language.
- Simulating the PIN cracking scene in Terminator 2
Bertrand Fan
•
4 Jan 2021
In the beginning of Terminator 2: Judgement Day, John Connor uses a laptop to crack the PIN of a stolen debit card.
- Moral Competence
Evan Conrad
What we were missing, and what many social-good founders are missing, is moral competence. If you want to do good, you actually have to help people.
- Equal pay for equal work
Remote work is on the rise, the economy is on a decline and businesses are re-structuring themselve...
- How the placenta evolved from an ancient virus
Avir Mitra
•
31 Jan 2020
When evolutionary biologists studied the protein involved in fusing placenta cells, it didn’t look like it came from human DNA. It looked like a virus.
- How startups can avoid flawed decision making
As a startup founder, it's mission critical to know what decisions you should make quickly, and which you should make slowly.
- Obligatory “What I wish I knew about git” post
Peter Whittaker
•
30 Dec 2020
tl;dr: If you think of `git branch` as a verb meaning "diverge from this path, split my tree" and think of the branch name as a label that tracks the most recent commit on this new path, a lot of stuff about git becomes clearer.
- Note to Self - How to Work
ZephyrBlu
•
31 Dec 2020
Re-align with your Goals: Spend some time thinking about what you’re trying to achieve and why to spark that passion again.
- Shallow Git Repositories
Jordan Rose
•
3 Apr 2020
A useful feature that isn’t documented as well as it should be.
5 January 2021
- Convex and Concave Dispositions
Vitalik Butterin
One of the major philosophical differences that I have noticed in how people approach making large-scale decisions in the world is how they approach the age-old tradeoff of compromise versus purity.
- 10 Powerful Life Skills for the New Decade
Powerful life skills from powerful people that most people don’t know about.
- Don’t complete their thought
Nick Ngorok
•
3 Jan 2021
I’ve recently been thinking about why listening can be very difficult. One aspect that always comes to mind, a practice that is exceptionally
- Load testing is hard, and the tools are... not great. But why?
Nicholas Tietz-Sokolsky
If you're building an application that needs to scale—and we all tell ourselves that we are—then at some point you have to figure out if it does or not. This is where load testing comes in: if you want to see whether or not your application can handle scale, "just" generate scale and see if it can handle it!
- You might want to block Pinterest to save your data
Rukshan
•
5 Jan 2021
I guess this is the first blog post of the new year, even though I’m not someone who is keen on celebrating a new year, I sincerely hope every one would have a very bright 2021. Most of you are enjoying unlimited internet at your homes, but sadly I’m coming from a part of the world that charges a
- Ditherpunk — The article I wish I had about monochrome image dithering
Surma
•
4 Jan 2021
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
- What I Learnt Reading 80 Articles On Product Validation
I created a site called validationguide.com (using Ghost) to host all this research. Upon researching the topic, I realized something, Almost all product validation methods for successful bootstrapped companies are the same...
- Telegram publishes users’ locations online.
Ahmed's Notes
•
4 Jan 2021
A few years ago, while using the Line app, I noticed a feature called “People nearby.” The feature lets you connect with other Line users wi...
- How I got to the HN front page three times in a row
Francesco Di Lorenzo
In the past month, I managed to get to the Hacker News front page three times in a row.
- Why we gave ourselves 6 months to make our company work
An ultimatum was what we needed to change our paths.
- My Google Traffic Has Fallen to Zero
John DeFeo
•
5 Jan 2027
Google’s December 2020 Core Update drove this website’s traffic to new highs, then it fell to zero.
- How To Make Seamless Patterns
yuanchuan
•
4 Jan 2021
Sometimes, when we make seamless patterns out of several objects, we need to deal with the situations where the objects are on the borders. Usually we create copies of the objects and place them at proper positions to make the tiling work with no seams.
4 January 2021
- Conspiracy theorists mistake guitar pedal diagram for “5G Chip”, alleging it’s in COVID-19 vaccine | MusicTech
The widely circulated image of the chip is a reworked schematic for the Boss Metal Zone pedal. FB: You can't kill the Metal 🤘
- Developing and Maintaining Gratitude
As I reflect back on 2020, a year that was tough on human civilisation as a whole, I am nevertheless grateful for the many positive experiences of this year.
- Stats are the new analytics
tl;dr: I set up self-hosted Plausible Analytics on this site. You can see it here [https://stats.mattfarrugia.com/share/Be4n5ONmXZa3C495vFOJ2]. This site runs on an instance of Ghost [https://ghost.org…
- Software Leviathans
nsledgianowski
•
3 Jan 2021
- The mathematics of human thought
Keith Devlin
The story of George Boole, father of the Boolean logic.
- Fair-Code Automation with n8n.io
David Field
•
4 Jan 2021
One of the features I really like is the integration with Rocket Chat and Zapier. While it works really well, its also very expensive (at time of writing) from the free tier to the next one up.
- Get a repo-scoped GitHub Access Token quickly
Today I need an access token for github so that I could commit show transcripts for Syntax via some automated scripts. Has three options…
- Parity Purchasing Power
For the last ~5 years I’ve been offering PPP discounts on my web development courses for developers in countries where their purchasing…
- Shiv - Let’s Build a Version Control System!
Shatterealm
Say you have some source code you'd like to track the changes of, but for some reason, you're banned from using any binary not already on the system, and the only binary available to you is busybox.
- Look Up Unknown Phone Numbers using Facebook Reset Password or WhatsApp
This tutorial is meant to help find clues as to who is calling you when you’re receiving calls from an unknown phone number. FB: side effects of mass data gathering from Facebook
- Code Age vs Time to Recall
Tim White
•
1 Jan 2021
A colleague of mine has repeatedly called for some of the controllers in our project to be refactored. He says they’re messy, but what I think he means is that they’re hard to understand.
- Looks vs Results
Greg Kogan
•
30 Dec 2020
Making things look nice can take a long time, either due to lack of resources or abundance of opinions. This could delay launches, frustrate people, and waste precious energy. Those are high costs for startups or companies hoping to move fast.
3 January 2021
- Endnotes on 2020: Crypto and Beyond
Vitalik Buterin
- How your startup can survive technical debt
How can a startup use technical debt to survive and thrive? Technical debt is hard to avoid completely but startups can use it to their advantage.
- How we compress Pub/Sub messages and more, saving a load of money
Lawrence Jones
•
29 Dec 2020
Compression is a trick that can be used to solve a load of problems. Outside of well known use cases, there are a variety of opportunities to improve efficiency or save money by leveraging compression. This post covers one such opportunity, where a tiny change allowed us to save >$30k per year in in…
- What’s good about offset pagination; designing parallel cursor-based web APIs
Offset pagination gets a bad rap because it's backend inefficient, but it's actually a nice feature from a consumer's perspective. How to bring those advantages to cursor-based APIs.
- My year in data
samplesize.one
•
1 Jan 2021
What do I actually do with my time? How productive am I? I logged everything I did in 2020 and got some pretty cool data out of this.
- Castlevania III Password Algorithm
Meatfighter
•
1 Jan 2021
This article explains the mechanism Castlevania III: Dracula’s Curse uses to save and restore game state through the medium of passwords.
- How to Stop Endless Discussions
When we find ourselves in endless debates where everyone defends their idea, we don’t know how to handle the situation. We eventually find a way out, but what we need is an excellent system.
- I don’t let design and UX get in the way of shipping early and often
Sam Texas
•
2 Jan 2021
I don’t let design/UX influence the early stages of product development. Instead I rely on opinionated frameworks like Django and Bootstrap to take that burden.
- URL shorteners set ad tracking cookies
Luke Miles
This Christmas, a family member sent me a URL to a family Zoom call. However, they didn’t send me a direct link to Zoom.
- Encrypted Backup Shootout
acha.ninja
- The design flaws of password managers
Go350
•
3 Jan 2021
I once worked in highly regulated environments and needed a way to recall dozens of complex passwords that changed frequently. I tried to use a password manager, but could not due to the burdens and insecurity of some common design flaws.
- CVE Stuffing
Jerry Gamblin
•
17 Dec 2020
As Michael Roytman told me, “The only thing worse than no data is bad data”, and that is what is happening here; the CVE database is being stuffed with bad data.
- Setting up personal OKR
My approach to creating OKR for the personal life. In this article, I’ve tried covering different aspects of the personal life and created specific and measurable goals for them.
- Curved Text Along a Path
Geoff Graham
•
1 Jan 2020
We can flow text along a curved line with three tools built right into SVG.
2 January 2021
- Shooting High-Res Thermal Photos of Iceland to Show Nature at Work
A computer vision engineer by day and photographer by night, I never take the path most traveled, especially when it comes to imaging technology. Thermal
- The Last Question
Isaac Asimov
- Platforms, bundling and kill zones
Benedict Evans
•
21 Dec 2020
What does it mean when Google, Microsoft or Apple turn your whole company into a feature? When do we let a tech giant build and when do we call the anti-trust lawyers? And what does that mean for Spotify, Yelp or printing in landscape?
- Perihelion and the Seasons
Today the Earth is at the point on its orbit at which it is at its closest to the Sun, i.e. at its perihelion.
- Search with typo tolerance
Surprise your users with a typo-tolerant search. Let them know that you care about them and you’ll try to do your best to show some results.
- Reducing Eye Strain
Jersey Fonseca
- Full-Text Search Battle: PostgreSQL vs Elasticsearch
2020-09-08 update : Use one GIN index instead of two, websearch_to_tsquery , add LIMIT , and store TSVECTOR as separate column. More…
- Stop writing shell scripts
UNIX shell isn’t a real programming language, so stop using like one!
1 January 2021
- Year(Decade) of the Homelab.
Mahdi Yusuf
•
1 Jan 2021
You can find audio to this post here. I’m usually not huge on sticking flag poles in the ground regarding the direction technology will take in the coming years/decades. You can already see me hedging by saying decades in the title. I believe home labs (servers for home use) will become a thing this…
- No Prize for Doing It the Hard Way (2020 Retrospective)
The struggles, failures, and financial realities of bootstrapping an indie software business in 2020.
- Rebuilding my website with NextJS, Chakra UI and Airtable
Thoughts about my new website setup
- 2020 in review
Looking back on 2020 and setting goals for the next year.
- A survey of security.txt
Go350
•
1 Jan 2021
I was curious to know how many popular websites have already uploaded a security.txt file and how many followed the most recent draft. So, I wrote a small Go program to check the Alexa Top 1 million websites.
- One Year of Excalidraw
The Excalidraw Team
It’s been kind of a different year, but it was the first year and pretty amazing for Excalidraw.
- Bitcoin is a disaster.
Ray Dillinger
It is my opinion that Bitcoin is a failure. Worse than that, it's a disaster. It doesn't scale, except by becoming the very thing it was supposed to replace.
- Talk Less, Listen More - The Reformed Broker
Joshua M Brown
•
30 Dec 2020
I spent a whole bunch of time this fall and winter taking calls from young financial advisors. I try to schedule this stuff on Friday mornings when things are a little quieter for me. They DM me or email me and I just say yes. I have 15 minutes for any kid reading my stuff...
- The Big Little Guide to Message Queues
A guide to the fundamental concepts that underlie message queues, and how they apply to popular queueing systems available today.
- The Design of the Roland Juno oscillators
Thea Flowers
•
31 Dec 2020
A comprehensive deep dive into the design of Roland’s legendary DCO
- 2020 Year in Review
Jack Ellis
•
23 Dec 2020
Here’s my first ever year in review. It’s a deep dive into how 2020 was for me and it wasn’t easy to write.
- Leading someone with more years of experience than my age
Daniel Rojas
•
27 Dec 2020
It all started at my first job. I’ve been around 6 months in the company and was happy getting used to the ropes of my current job. In those 6 months, I quickly pushed to prod (without even k…
- Building a successful company is fucking hard
Navigating my first 10 years of full-time entrepreneurship from dozens in failures to millions in revenue.