ntietz.com blog -...
Estimating projects sells them short (and that's okay)
Recently, I read a blog post about doing software project estimates.
It's a reasonable post with a...
2 weeks ago
Recently, I read a blog post about doing software project estimates.
It's a reasonable post with a reasonable method.
But it does what all estimates do: it sells projects short.
I don't mean in the sense of underestimating a young promising project's potential, relegating it to...
PostHog's RSS Feed
In-depth: ClickHouse vs BigQuery
Both BigQuery and ClickHouse are databases designed to handle lots of data (like loads of data),...
a year ago
Both BigQuery and ClickHouse are databases designed to handle lots of data (like loads of data), but they have distinct philosophies and use cases…
Neil Panchal
Isomatic Typeface Rev 6 WIP
This is a ton of work. But not many things in the world could be more satisfying.
Isomatic Type Rev...
over a year ago
This is a ton of work. But not many things in the world could be more satisfying.
Isomatic Type Rev 6 WIP
Also added Western and Central European language support.
Stay tuned. This concept has been brewing for a few years now. I'll post some lower case specimens
Epic Web Dev
Making Use of Code Coverage (article)
Dive into the contentious world of code coverage. Learn its nuances, pitfalls, and practical...
10 months ago
Dive into the contentious world of code coverage. Learn its nuances, pitfalls, and practical applications for modern web app testing
Liz Denys
Reasons to kick Peter Thiel off Facebook's board
There's a push to remove Peter Thiel from Facebook's board, and Mark Zuckerberg doesn't care about...
over a year ago
There's a push to remove Peter Thiel from Facebook's board, and Mark Zuckerberg doesn't care about the threat he poses. Many of the arguments are centered around diversity, which is a tenet Facebook says it deeply values.
The ways Thiel fails to value diversity matter: his...
Elad Blog
Clubhouse: Most Interesting Consumer Startups of 2021 (Part 1)
This post is the first in a small series on the new wave of hyperinteresting consumer tech products...
over a year ago
This post is the first in a small series on the new wave of hyperinteresting consumer tech products that are most likely to have had society-level impact in 5 years. My first two posts are on Clubhouse and Substack [1]. Both are social network and media platforms of different...
Liz Denys
Refusing to verify myself: I am liz on Keybase.io.
Keybase seeks to be a "public directory of publicly auditable public keys" with simpler usernames...
over a year ago
Keybase seeks to be a "public directory of publicly auditable public keys" with simpler usernames than PGP and verified account linking to popular sites such as Twitter and GitHub. This is awesome because "PGP for humans" is long overdue and because I snatched up the namespace...
Jim Nielsen’s Blog
Errors Aren’t All Bad
Adam Silver wrote “Don’t use the maxlength attribute to stop users from exceeding the limit” which...
8 months ago
Adam Silver wrote “Don’t use the maxlength attribute to stop users from exceeding the limit” which seems like one of those obvious things that needn’t be said, but I’m glad he says it.
Have you heard of the “error prevention” heuristic?
It means “do everything you can so users...
Kevin Chen
How autonomous vehicle simulation works
When autonomous vehicle developers justify the safety of their driverless vehicle deployments, they...
7 months ago
When autonomous vehicle developers justify the safety of their driverless vehicle deployments, they lean heavily on their testing in simulation. Common talking points take the form of “we made our car drive X billion miles in simulation.” From these vague statements, it’s...
ntietz.com blog
On Estimates, Time, and Evidence
Here's an exchange that's pretty common:
"How long will that take?"
"A few days."
I run into this...
over a year ago
Here's an exchange that's pretty common:
"How long will that take?"
"A few days."
I run into this all the time with clients - they have real business needs to know how long something will take and what the risks are with any given project. So, we are asked to give estimates of...
swyx's site RSS Feed
Notes on Adversarial Interoperability
Summarizing thoughts from Seth Godin and Cory Doctorow on Interoperability
over a year ago
Summarizing thoughts from Seth Godin and Cory Doctorow on Interoperability
Liz Denys
Hardbrücke, Zürich
The area around the Zürich Hardbrücke train station, while not exactly a center of tourism, is quite...
over a year ago
The area around the Zürich Hardbrücke train station, while not exactly a center of tourism, is quite a captivating neighborhood. It's literally quite colorful, and home to Freitag's flagship store.
A Smart Bear
Who's lying?
Pilots use multiple dials, employing different sources of energy, to report identical data, because...
over a year ago
Pilots use multiple dials, employing different sources of energy, to report identical data, because they understand that in a dashboard full of information, something is always lying to you. The lesson is useful for data and metrics at our companies.
swyx's site RSS Feed
REST Endpoint + CRUD with AWS Lambda and DynamoDB in 2 minutes
A lightning fast overview of everything you need to know to set up a REST endpoint with full CRUD...
over a year ago
A lightning fast overview of everything you need to know to set up a REST endpoint with full CRUD capability with AWS Lambda, DynamoDB and AWS Amplify in 2 minutes.
swyx's site RSS Feed
Signs that a Startup is Going Bad
All rocketship startups are alike, but every fading startup is fading in its own way.
a year ago
All rocketship startups are alike, but every fading startup is fading in its own way.
Making software...
Cut Your Forms in Half
Cut Your Forms in Half
2019-05-09
Building web forms can sometimes feel like a boring or daunting...
over a year ago
Cut Your Forms in Half
2019-05-09
Building web forms can sometimes feel like a boring or daunting task. Don't pass this dread on to your users - rip out as many of your form fields as possible.
Web forms tend to get a bad rep, mainly because so many horrible design choices are...
Josh Comeau's blog
Building a Magical 3D Button
Every action we take on the web starts with a button click, and yet most buttons are ho-hum and...
over a year ago
Every action we take on the web starts with a button click, and yet most buttons are ho-hum and uninspired. In this tutorial, we'll build an animated 3D button with HTML and CSS that sparks joy.
David Heinemeier...
The benefit of seniority ought to be bandwidth
Juniors are judged on effort, seniors are judged on outcomes. That’s a common and useful heuristic...
11 months ago
Juniors are judged on effort, seniors are judged on outcomes. That’s a common and useful heuristic for evaluating employees. It neatly separates productivity from effectiveness, and places a premium on the latter. But the biggest benefit of this distinction ought to be of the...
swyx's site RSS Feed
4 Things I Learned from Mastering Mongoose.js
A quick book review of the new Mongoose.js book from Val Karpov
over a year ago
A quick book review of the new Mongoose.js book from Val Karpov
Julia Evans
Some notes on nix flakes
I’ve been using nix for about 9 months now.
For all of that time I’ve been steadfastly ignoring...
a year ago
I’ve been using nix for about 9 months now.
For all of that time I’ve been steadfastly ignoring flakes, but everyone keeps
saying that flakes are great and the best way to use nix, so I decided to try
to figure out what the deal is with them.
I found it very hard to find simple...
Alex Meub
A Look at Portland Car2Go Data
Recently I became a Car2Go member and I can’t say enough good things about the service. It’s fast,...
over a year ago
Recently I became a Car2Go member and I can’t say enough good things about the service. It’s fast, cheap and ridiculously convenient; it’s a pretty incredible transportation option.
Part of what makes it so great are the apps that give you up-to-date car location and availability...
Steve Klabnik
Want to join the Rust docs team?
over a year ago
bunnie's blog
Winner, Name that Wäre July 2023
The Ware for July 2023 is a “KUP 10” by aditec. Also, thanks to FETguy, we now have a schematic of...
a year ago
The Ware for July 2023 is a “KUP 10” by aditec. Also, thanks to FETguy, we now have a schematic of the ware: The spirit of Name that Ware is about demystifying electronics and encouraging people to learn by taking things apart. Drawing a schematic from an image of a circuit board...
PostHog's RSS Feed
How we’re improving performance by combining persons and events
In a previous product update we announced a beta for a substantial change to the way we handle...
over a year ago
In a previous product update we announced a beta for a substantial change to the way we handle persons and events on PostHog. Today, after gathering…
Alice GG
Stuff I've been working on
It’s been around 2 years that I’ve had to stop with my long-term addiction to stable jobs.
Quite a...
2 months ago
It’s been around 2 years that I’ve had to stop with my long-term addiction to stable jobs.
Quite a few people who read this blog are wondering what the hell exactly I’ve been doing since then so I’m going to update all of you on the various projects I’ve been working on.
Meme...
ntietz.com blog
Personnel update
This is inspired by receiving a "personnel update" when a friend was fired many years ago. It felt...
3 months ago
This is inspired by receiving a "personnel update" when a friend was fired many years ago. It felt coldly impersonal for such a deeply personal event, so I imagined what it would be like if the same approach were taken to other deeply personal events.
* * *
Subject: Personnel...
A Beautiful Site
Subtle Patterns: hundreds of free backgrounds that tile
I've been using Subtle Patterns for quite some time now. All the patterns are great, and their...
over a year ago
I've been using Subtle Patterns for quite some time now. All the patterns are great, and their Photoshop plugin is incredibly useful.
I can't remember when it first launched, but I do remember when there was only one or two pages to browse on the site. Now it has over 380 images...
Charles Chen
Use TypeScript Record Types for Better Code
TypeScript Record types have super powers that can help any team write better code.
over a year ago
TypeScript Record types have super powers that can help any team write better code.
Joel Gascoigne
The top reason we haven’t sold our startup
We’ve been lucky at Buffer [http://bufferapp.com] to receive a number of
acquisition offers along...
over a year ago
We’ve been lucky at Buffer [http://bufferapp.com] to receive a number of
acquisition offers along our journey so far. When I mention this to people, a
key question that often comes up is “how did you decide not to sell?”.
The earliest offer we had for Buffer was
bunnie's blog
A Kinematically Coupled, Nanometer-Resolution Piezo Focus Stage
This post is part of a series about giving users a tangible reason to trust their hardware through...
9 months ago
This post is part of a series about giving users a tangible reason to trust their hardware through my IRIS (Infra-Red, in-situ) technique for the non-destructive inspection of chips. Previously, I discussed the process of designing the IRIS light source in some detail, as well as...
A Smart Bear
Startup identity & the sadness of a successful exit
Many founders experience a profound and prolonged sadness after selling their company. But "not...
a year ago
Many founders experience a profound and prolonged sadness after selling their company. But "not selling" might be worse. Maybe my story will help you.
Evan Jones -...
Getting $3300 from a casino promotion
New York State legalized mobile sports gambling in January 2022. The casinos offered crazy...
over a year ago
New York State legalized mobile sports gambling in January 2022. The casinos offered crazy promotions to get people signed up. The craziest offered $3300 of free money. I did the math, and there was a low risk way to claim this money. As long as you placed 11 or more bets, you...
Vadim Kravcenko
Rules of Thumb for Software Development Estimations
First, I planned on calling this article “Mastering the Art of Estimations: A Definitive Guide for...
a year ago
First, I planned on calling this article “Mastering the Art of Estimations: A Definitive Guide for Developers”, but then who […]
The post Rules of Thumb for Software Development Estimations appeared first on Vadim Kravcenko.
Tyler Cipriani: blog
My Remote Desk, 2024
My desk as of 2024-04-30
Remote companies have to work harder at everything.
The effort goes beyond...
8 months ago
My desk as of 2024-04-30
Remote companies have to work harder at everything.
The effort goes beyond “remote-friendly”—you need remote
culture.
But once you have a remote culture, it’s hard to imagine going back.
After nine years of working remotely, the only thing I miss...
macwright.com
About Placemark.io
Someone asked over email about why I stopped building Placemark as a SaaS and made it an open source...
9 months ago
Someone asked over email about why I stopped building Placemark as a SaaS and made it an open source project. I have no qualms with sharing the answers publicly, so here they are:
I stopped Placemark because it didn’t generate enough revenue and I lost faith that there was a...
TokyoDev
Pair Programming Event a Success
The [first pair programming event](https://trbmeetup.doorkeeper.jp/events/1777) of Tokyo Rubyist...
over a year ago
The [first pair programming event](https://trbmeetup.doorkeeper.jp/events/1777) of Tokyo Rubyist Meetup went event better than I expected it to. The event was hosted at [HatchUp's TechBuzz space](http://www.socialtoprunners.jp/techbuzz/), and started with an introduction to pair...
David Gerrells
How not to use box shadows
So you think you know box shadows huh? I bet you didn't know they could do this.
5 months ago
So you think you know box shadows huh? I bet you didn't know they could do this.
David Heinemeier...
Fonts don't have to look awful on Windows
I always thought it was a software problem — or at least a difference of aesthetics expressed in...
10 months ago
I always thought it was a software problem — or at least a difference of aesthetics expressed in software. But it turns out the reason many Mac owners, including yours truly, so strongly dislike how fonts typically look on Windows is actually a hardware problem!
See, every Mac...
Programming in the...
So Long, Prog21
I always intended "Programming in the 21st Century" to have a limited run. I knew since the entry...
over a year ago
I always intended "Programming in the 21st Century" to have a limited run. I knew since the entry from January 1, 2010, that I needed to end it. It just took a while.Recovering Programmer
And now, an explanation.
I started this blog to talk about issues tangentially related to...
Liz Denys
New Loose Leaf Security series: Safely surfing the web
Three more episodes of Loose Leaf Security are out, a series about safely browsing the web:
The...
over a year ago
Three more episodes of Loose Leaf Security are out, a series about safely browsing the web:
The history of the Web and an introduction to browser security
The web can be a scary place - but once you get to know it a little better, it doesn't feel as scary. Liz and Geoffrey go...
alexwlchan
Getting the base directory of an sbt project
This is a command you can run in a shell script to print the base directory of an sbt project:
$...
over a year ago
This is a command you can run in a shell script to print the base directory of an sbt project:
$ sbt --batch -error "project $PROJECT" "print baseDirectory" | tr -d "\n"
For example:
$ sbt --batch -error "project ingests_api" "print baseDirectory" | tr -d...
The Pragmatic...
Pollen’s enormous debt left behind: exclusive details
Two months after the startup went bankrupt, administrators have summarized the $80M+ debt the...
over a year ago
Two months after the startup went bankrupt, administrators have summarized the $80M+ debt the company has accumulated, most of which will not be paid. The highest offer to buy Pollen’s business assets - but without its liabilities - currently stands at only $250K. Details.
bt RSS Feed
Audio Hotkeys on Linux Mint
Audio Hotkeys on Linux Mint
2020-06-14
I recently switched out the OS on my old 2011 MacBook Air...
over a year ago
Audio Hotkeys on Linux Mint
2020-06-14
I recently switched out the OS on my old 2011 MacBook Air with Linux Mint. It’s a distro I’ve used a few times in the past, but never set it as one of my main daily drivers until now.
Setting up all my go-to applications (Sublime, LocalWP,...
The Pragmatic...
Going from Developer to CEO: Chronosphere
From learning to code in Australia, to launching Chronosphere in Silicon Valley: cofounder and CEO...
a year ago
From learning to code in Australia, to launching Chronosphere in Silicon Valley: cofounder and CEO Martin Mao shares his story.
Hixie's Natural Log
Flutter: Static analysis of sample code snippets in API docs
One of the things I am particularly proud of with Flutter is the
quality of our API documentation....
a year ago
One of the things I am particularly proud of with Flutter is the
quality of our API documentation. With Flutter's web support, we're
even able to literally inline full sample applications into the API
docs and have them literally editable and executable inline. For
example,...
37signals Dev
A happier happy path in Turbo with morphing
Last week, we presented in Rails World an upcoming addition to Turbo that uses morphing to offer...
a year ago
Last week, we presented in Rails World an upcoming addition to Turbo that uses morphing to offer smoother page updates and a simplified broadcasting system. This is the article version of the presentation I delivered.
The starting point
The traditional server-side full-page...
PostHog's RSS Feed
How (and why) our marketing team uses PostHog
We learned an interesting fact recently: only 20% of our users track their marketing website and ...
over a year ago
We learned an interesting fact recently: only 20% of our users track their marketing website and their product using PostHog. This is our fault. We…
Vadim Kravcenko
Can an offshore dev agency steal your code?
Congrats on becoming a CTO and on immediately thinking of dipping your toes into the world of...
a year ago
Congrats on becoming a CTO and on immediately thinking of dipping your toes into the world of offshore development agencies. […]
The post Can an offshore dev agency steal your code? appeared first on Vadim Kravcenko.
Paolo Amoroso's...
A demostration of fixing a bug from Medley's debugger
<![CDATA[One of the cool features of Lisp is examining and modifying a running program.
This...
11 months ago
<![CDATA[One of the cool features of Lisp is examining and modifying a running program.
This allows, for example, to correct a bug by inspecting, editing, fixing, and resuming a program that breaks and lands in the debugger because of an error. To gain familiarity with the...
Making software...
Animated Card Tiles
Animated Card Tiles
2019-02-27
The design trend of using "cards" or "tiles" to display interactive...
over a year ago
Animated Card Tiles
2019-02-27
The design trend of using "cards" or "tiles" to display interactive sections/article headings in an app or website remains a popular choice among designers. So, let's build a set of animated cards with only HTML & CSS.
What we will be building...
macwright.com
Bandcamp wrapped
I still use Bandcamp almost exclusively to buy music, and keep a big library of MP3s.
The downside...
4 weeks ago
I still use Bandcamp almost exclusively to buy music, and keep a big library of MP3s.
The downside is that this marks me as a weirdo, but otherwise it’s
great and has been working well for me.
Since I last wrote about it, Bandcamp was acquired by Epic games
(?) and then acquired...
alexwlchan
Using static websites for tiny archives
In my previous post, I talked about how I’m trying to be more intentional and deliberate with my...
2 months ago
In my previous post, I talked about how I’m trying to be more intentional and deliberate with my digital data.
I don’t just want to keep everything – I want to keep stuff that I’m actually going to look at again.
As part of that process, I’m trying to be better about organising...
Steve Klabnik
The secret to Rails OO design
over a year ago
Ink & Switch
Ink & Switch Unconference [2024 / Los Angeles]
over a year ago
Vladimir Klepov as a...
Seven habits of bad interviewers
I’ve been to plenty of bad interviews. Sometimes, only some questions are bad, but usually it goes...
over a year ago
I’ve been to plenty of bad interviews. Sometimes, only some questions are bad, but usually it goes further than that. Bizarre questions like “what’s the difference between a number and an array” are just a symptom of deeper issues.
Let’s take a step back — why are we...
TokyoDev
Generating social images with static site generators
With TokyoDev, this site, my goal is to help international software developers start and grow their...
over a year ago
With TokyoDev, this site, my goal is to help international software developers start and grow their career in Japan. Being a developer myself, it's been tempting to come up with technical solutions to do this. But I've realized that rather than writing code, my time is better...
swyx's site RSS Feed
Intro to Node-RED
I dipped into [my automation repo](https://github.com/sw-yx/automation/blob/master/README.md) today...
over a year ago
I dipped into [my automation repo](https://github.com/sw-yx/automation/blob/master/README.md) today and explored Huginn. It didn't really appeal so I looked for alternatives and found [Node-RED](https://nodered.org/). It uses a much more familiar toolchain (JS) and is...
Joel Gascoigne
Buffer's product journey, and our next step to hire a VP of Product
Note: this was originally posted on the Buffer blog.
We've been building Buffer for coming up to ten...
over a year ago
Note: this was originally posted on the Buffer blog.
We've been building Buffer for coming up to ten years now. We’re currently a 90-person fully remote team with over 70,000 paying customers and $20M in annual revenue. We’re proud to be a leader
Joel Gascoigne
Expert of nothing
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
One of the most...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
One of the most interesting and simultaneously challenging realizations I’ve had
is that as a founder, especially the CEO, you essentially have chosen to never
become an expert of anything. Oh,...
swyx's site RSS Feed
Bad Ways to Get Data
In working on my [Sapper export library](https://www.npmjs.com/package/ssg), I ran into a very...
over a year ago
In working on my [Sapper export library](https://www.npmjs.com/package/ssg), I ran into a very peculiar problem: my pages were being generated a lot more slowly than expected:
Tinloof - Blog
Translating Shopify stores with Sanity
At Tinloof, we have an internal library that does a lot of heavy lifting when it comes to building...
a year ago
At Tinloof, we have an internal library that does a lot of heavy lifting when it comes to building fast Remix websites that have their content managed from Sanity.
A while ago, we took a step back to research and implement a localization setup with Sanity that handles all...
Making software...
Embracing Slow Tech
Embracing Slow Tech
2022-11-22
I'm writing this post on my "new" X260 ThinkPad running Garuda Linux...
over a year ago
Embracing Slow Tech
2022-11-22
I'm writing this post on my "new" X260 ThinkPad running Garuda Linux through Wayland/Sway and it is going well so far. Setting things up was much easier than I initially expected. There were only a few minor tweaks I had to make, such as setting vim...
alexwlchan
Getting faster Jekyll builds with caching in plugins
This website is a static site built with Jekyll, and recently I overhauled the process for...
8 months ago
This website is a static site built with Jekyll, and recently I overhauled the process for generating the site.
This should be invisible if you’re just a reader, but it makes a big difference to me – like any software project, I’d accumulated cruft and complexity, and it was time...
A Beautiful Site
Parsing a JSON string results in an 'Invalid Label' error
Whenever I work with AJAX, jQuery is my preferred JavaScript library and PHP is my preferred...
over a year ago
Whenever I work with AJAX, jQuery is my preferred JavaScript library and PHP is my preferred server-side language. I use JSON whenever I can to pass data between JavaScript and PHP. After all, $.get and $.post both process JSON easily, so it's my data type of choice.
Sometimes,...
Irrational...
Onboarding peer executives.
While many companies build out an elaborate Engineering onboarding program, the process for...
a year ago
While many companies build out an elaborate Engineering onboarding program, the process for onboarding new executives tends to be an ad-hoc, chaotic affair. There usually is an executive onboarding process, but it’s used too infrequently to ever get excellent.
Part of the problem...
Jim Nielsen’s Blog
There’s Something You Need to Know About Web Design and Development
You’re doing great at it.
(❤️ from Bluey: Baby Race)
Email, Twitter,
Mastodon
a year ago
You’re doing great at it.
(❤️ from Bluey: Baby Race)
Email, Twitter,
Mastodon
Epic Web Dev
Fully Typed Web Apps
The main thing that makes end-to-end type safety difficult is simple: boundaries. The secret to...
over a year ago
The main thing that makes end-to-end type safety difficult is simple: boundaries. The secret to fully typed web apps is typing the boundaries.
Tinloof - Blog
ReasonML for production React Apps? 🤔 (Part 1)
ReasonML is a functional programming language with smartly inferred strict types, that compiles to...
over a year ago
ReasonML is a functional programming language with smartly inferred strict types, that compiles to JavaScript. ReasonReact is Reason bindings for ReactJS (aka the translated ReasonML version of the ReactJS). It has improved a lot lately and even added support for hooks in a...
bunnie's blog
Winner, Name that Ware August 2024
Last month’s Ware was a peak programming meter driver board made by JC Broadcast, taken from an...
3 months ago
Last month’s Ware was a peak programming meter driver board made by JC Broadcast, taken from an Audix broadcast console. Thanks again to Howie M for contributing the ware! Howie hypothesized that the four mounting holes would be a dead give-away, in his words: The meters, typical...
PostHog's RSS Feed
10x engineers talk to users
I believe the best way to become a 10x engineer is to zoom out and solve for user impact. Engineers...
a year ago
I believe the best way to become a 10x engineer is to zoom out and solve for user impact. Engineers and founders need to deeply understand and care…
Alex Meub
Buying a House in Portland
After nearly 6 months of looking, my wife and I finally bought a house in Portland. We physically...
over a year ago
After nearly 6 months of looking, my wife and I finally bought a house in Portland. We physically toured more than 70 houses, put in 13 offers and looked over hundreds of listings in nearly every neighborhood in the city. I thought it might be a good time to reflect on the...
Making software...
Minimal CSS: Dropdown Menu
Minimal CSS: Dropdown Menu
2019-04-26
I love the idea of stripping away as much CSS as possible,...
over a year ago
Minimal CSS: Dropdown Menu
2019-04-26
I love the idea of stripping away as much CSS as possible, while still maintaining the original UI concept. Let's build out a demo example with a simple menu dropdown element.
Interesting facts about our final CSS menu:
Total weight 121 bytes...
Vladimir Klepov as a...
How to timeout a promise
Timeouts are one of the key building blocks to make your app stable. In short, if you send a request...
over a year ago
Timeouts are one of the key building blocks to make your app stable. In short, if you send a request to an endpoint and a response does not, for whatever reason, come soon, we act as if the request failed and fall back to plan B — try again, show an error message and let the user...
ntietz.com blog
Writing a basic code formatter
I've been working on my programming language for a couple of months now, in fits and starts1.
In the...
a year ago
I've been working on my programming language for a couple of months now, in fits and starts1.
In the original post, I laid out my plan for it, and after creating the parser the next step was writing a formatter.
I thought this would be a nice intermediate step after writing the...
Krzysztof Kowalczyk...
Advanced web spidering with Puppeteer
Puppeteer is a node.js library that makes it easy to do advanced web scraping and spidering.
Older...
over a year ago
Puppeteer is a node.js library that makes it easy to do advanced web scraping and spidering.
Older generation of web scraping and spidering tools would grab and analyze HTML pages as returned by a web server.
It doesn’t work well anymore because less and less website are static...
alexwlchan
Redacting sensitive query parameters with koa and koa-logger
At work, we use the Koa framework and koa-logger middleware as part of our website.
Together, they...
over a year ago
At work, we use the Koa framework and koa-logger middleware as part of our website.
Together, they give us nice request-response logs for all our traffic:
<-- GET /
--> GET / 200 754ms 57.28kb
<-- GET /stories
--> GET /stories 200 374ms 71.29kb
<-- GET /works?query=trees
-->...
The Pragmatic...
Is there a drop in software engineer job openings, globally?
I dug into data from Indeed and Hacker News to try and work out if there’s a fall in software...
a year ago
I dug into data from Indeed and Hacker News to try and work out if there’s a fall in software engineer job vacancies. It looks like there is, but not everywhere.
Jibran’s Perspective
Failure 1: Django + NextJS Boilerplate
I have failed, and that is exactly what I had hoped for a few months ago in this blog post.
This is...
6 months ago
I have failed, and that is exactly what I had hoped for a few months ago in this blog post.
This is a good failure. It has taught me things, lessons I can use in the future to avoid failing this way again.
But first a bit of context. What did I fail at?
In February of 2024 I...
bt RSS Feed
HTML Dark Mode
HTML Dark Mode
2023-04-11
I wrote an article back in 2021 called The Lazy Developer’s Dark
Mode...
a year ago
HTML Dark Mode
2023-04-11
I wrote an article back in 2021 called The Lazy Developer’s Dark
Mode where I explained how to implement
a very basic “dark mode” by using the prefers-color-scheme CSS attribute.
This stills works perfectly fine, and in fact there is a cleaner variation...
Liz Denys
Curried pumpkin soup
Despite growing up in Chicago where winter is defined as "more traffic" and "delayed flights," the...
over a year ago
Despite growing up in Chicago where winter is defined as "more traffic" and "delayed flights," the first thing that comes to mind in winter is creamy squash soups. In the haze of moving, Mystery Hunt, and working on writing 6.042 problems this IAP, I somehow neglected making soup...
alexwlchan
A Python function to iterate through an S3 Bucket Inventory
For a couple of our S3 buckets at work, we use S3 Bucket Inventory to track their contents.
Once a...
a year ago
For a couple of our S3 buckets at work, we use S3 Bucket Inventory to track their contents.
Once a week, it creates an inventory; a collection of compressed CSV files that describe every object in the bucket.
If we want to analyse everything in the bucket, reading this inventory...
Tony Finch's blog
Purple PCBs for Keybird69
I’m a beginner at PCB design, or rather, I haven’t made a PCB since I
was at school 30 years ago,...
a year ago
I’m a beginner at PCB design, or rather, I haven’t made a PCB since I
was at school 30 years ago, and a lot has changed since then! So my
aim for Keybird69’s PCB was to learn my way around the design,
manufacturing, and assembly process.
microcontroller
other components
key...
Making software...
Basic Gulp Build for Sass
Basic Gulp Build for Sass
2019-01-15
Some designers might shy away from build tools when first...
over a year ago
Basic Gulp Build for Sass
2019-01-15
Some designers might shy away from build tools when first starting out and I can understand the reasoning - task runners like gulp and grunt can seem daunting at first. So, I've decided to showcase my go-to setup for gulp and explain what the...
Josh Collinsworth
Profit is Not a Value
Any executive or business owner will say their company values integrity, and virtually every company...
over a year ago
Any executive or business owner will say their company values integrity, and virtually every company claims that they reward and value their employees exhibiting their brand values. But is that really accurate?
Jim Nielsen’s Blog
Advice on Blogging
In Manuel’s series People and Blogs, he asked me:
Given your experience, if you were to start a blog...
a year ago
In Manuel’s series People and Blogs, he asked me:
Given your experience, if you were to start a blog today, would you do anything differently?
I gave my answer, but I wanted to expand on it.
These kinds of questions are interesting to me.
As readers, I think the answer we’re...
Charles Chen
Cheap and Easy Way to Scrape Sites for LLM Processing
If you need to extract text from websites to feed into LLMs, this easy solution will get you started...
a year ago
If you need to extract text from websites to feed into LLMs, this easy solution will get you started with just a few lines of code.
Epic Web Dev
What is a Superset (in programming?) (article)
Supersets like TypeScript enhance languages with benefits like error detection, code consistency,...
9 months ago
Supersets like TypeScript enhance languages with benefits like error detection, code consistency, scalability, and improved tooling for devs.
bunnie's blog
Sidebar on Meta-Knowledge
IRIS (Infra-Red, in-situ) is a multidisciplinary project I’m developing to give people a tangible...
9 months ago
IRIS (Infra-Red, in-situ) is a multidisciplinary project I’m developing to give people a tangible reason to trust their hardware. Above: example of IRIS imaging a chip mounted on a circuit board. When I set out to research this technique, there were many unknowns, and many skills...
A Beautiful Site
SSH failing on macOS Sierra
For me, upgrading to MacOS Sierra broke a lot of things that use SSH, including Transmit, Sequel...
over a year ago
For me, upgrading to MacOS Sierra broke a lot of things that use SSH, including Transmit, Sequel Pro, and a handful of other apps. In fact, it seems to break any app that uses an SSH key with a passphrase. 🤔
The solution I found was to tell SSH to use the MacOS keychain. Simply...
bt RSS Feed
Simple Does Not Mean Ugly
Simple Does Not Mean Ugly
2019-03-26
I see new blog posts popping up now and again advocating for...
over a year ago
Simple Does Not Mean Ugly
2019-03-26
I see new blog posts popping up now and again advocating for designers to keep their products as simple as possible - and I couldn’t agree more.
A lot of designers tend to think they need to reinvent the wheel when it comes to UI concepts that...
swyx's site RSS Feed
Supervised Learning: VC Dimensions
It's not venture capital, that's for sure
over a year ago
It's not venture capital, that's for sure
swyx's site RSS Feed
A World Without Plugins
What happens if we did away with plugins altogether? The case for Imperative Recipes
over a year ago
What happens if we did away with plugins altogether? The case for Imperative Recipes
beep.blog
Is it outrageous that Apple continues to advertise on Twitter?
John Gruber asks and answers:
Is it outrageous that Apple continues to advertise on Twitter? I say...
a year ago
John Gruber asks and answers:
Is it outrageous that Apple continues to advertise on Twitter? I say no. But it feels a bit skeevy, and more than a little curious, that they choose to.
Is it outrageous? My gut said yes.
It's outrageous that Apple would change their
ntietz.com blog
Rust allows redeclaring local variables to great benefit
A lot of programming languages allow variable shadowing in new scopes.
Early on, you learn that it...
a year ago
A lot of programming languages allow variable shadowing in new scopes.
Early on, you learn that it can cause errors and can be confusing, but is situationally appropriate sometimes.
Something that's less commonly allowed is redeclaring variables to shadow them locally.
And when...
PostHog's RSS Feed
Learnings from Elon
People hate or love him. Regardless, I read the Elon Musk biography by Walter Isaacson over...
11 months ago
People hate or love him. Regardless, I read the Elon Musk biography by Walter Isaacson over Christmas and here are some lessons that we can take from…
Oxide Computer...
Engineering a culture
We ran into an interesting issue recently. On the one hand, it was routine:
we had a bug — a...
9 months ago
We ran into an interesting issue recently. On the one hand, it was routine:
we had a bug — a regression — and the team quickly jumped on it, getting
it root caused and fixed. But on the other, this particular issue
was something of an Oxide object lesson, representative not...
Acko.net
The Bouquet Residence
Keeping up appearances in tech
I saw a remarkable pair of tweets the other day.
In the wake of...
5 months ago
Keeping up appearances in tech
I saw a remarkable pair of tweets the other day.
In the wake of the outage, the CEO of CrowdStrike sent out a public announcement. It's purely factual. The scope of the problem is identified, the known facts are stated, and the logistics of...
Oxide Computer...
Another vulnerability in the LPC55S69 ROM
Here at Oxide, we continue to work on building servers as they should be. Last year, we discovered...
over a year ago
Here at Oxide, we continue to work on building servers as they should be. Last year, we discovered an undocumented hardware block in the LPC55S69 (our chosen part for our product’s Root of Trust implementation) that could be used to violate security boundaries. This issue...
David Heinemeier...
X marks the motivated reasoning
I’ve lost track of all the things that Musk has done to Twitter that ought to have brought it down...
a year ago
I’ve lost track of all the things that Musk has done to Twitter that ought to have brought it down by now. Scarcely a month goes by without some action triggering the incessant bells of doom, ringing from the bellies of bloviating ding dongs. And the ringing seemingly never stops...
ntietz.com blog
Decaf is good, actually
We have made decaf a villain.
We often malign decaf coffee and those who drink it.
"No thanks, give...
9 months ago
We have made decaf a villain.
We often malign decaf coffee and those who drink it.
"No thanks, give me the good stuff."
"Death before decaf."
"Decaf isn't coffee."
It has this reputation that it's bad and that coffee people avoid it.
And yet, if you drink decaf, you're a true...
macwright.com
patch-package can bail you out of some bad situations by
Let’s say you’re running some web application and suddenly you hit a bug in one of your...
a year ago
Let’s say you’re running some web application and suddenly you hit a bug in one of your dependencies. It’s all deployed, lots of people are seeing the downtime, but you can’t just push an update because the bug is in something you’ve installed from npm.
Remember patch-package....
Liz Denys
Hearts, stars, and trumpets: the things I 'favorite' but don't 'like'
Twitter recently changed "favorites" to "likes".
We want to make Twitter easier and more rewarding...
over a year ago
Twitter recently changed "favorites" to "likes".
We want to make Twitter easier and more rewarding to use, and we know that at times the star could be confusing, especially to newcomers. You might like a lot of things, but not everything can be your favorite.
It's true - not...
Blog - Bitfield...
Rust and Go vs everything else
Alex Pliutau and I discuss what Go programmers should know about Rust, and
why the two languages...
a month ago
Alex Pliutau and I discuss what Go programmers should know about Rust, and
why the two languages make perfect partners.
Acko.net
On Headaches and Aspirin
"A computer is an educational device. It is in fact a direct reflection of your own imagination,...
over a year ago
"A computer is an educational device. It is in fact a direct reflection of your own imagination, your own intelligence. Once you're given the freedom in which to create things and see the immediate response on the screen, then it becomes a very enjoyable experience. You go on to...
HTMHell
The hidden depths of the input element
by Phil Nash
The <input> element is the most fascinating element in HTML.
Most elements behave the...
a year ago
by Phil Nash
The <input> element is the most fascinating element in HTML.
Most elements behave the same way regardless of their attributes, the type attribute of the <input> element can take 1 of 22 different values that gives it not only different behaviour, but a different...
macwright.com
codemirror-continue by
Wrote and released codemirror-continue today. When you’re writing a block comment in TypeScript and...
12 months ago
Wrote and released codemirror-continue today. When you’re writing a block comment in TypeScript and you hit “Enter”, this intelligently adds a * on the next line.
Most likely, your good editor (Neovim, VS Code) already has this behavior and you miss it in CodeMirror. So I wrote...
Josh Collinsworth
How to Connect Local with CodeKit
Enjoy all the convenience of easy local WordPress development with Local, plus build tools with...
over a year ago
Enjoy all the convenience of easy local WordPress development with Local, plus build tools with CodeKit, without any of the tricky command line setup.
Jim Nielsen’s Blog
Two Quick Tips When Building With React Router
I’ve been working with the latest Remix-ification of React Router and there are two things I wish I...
10 months ago
I’ve been working with the latest Remix-ification of React Router and there are two things I wish I had known when I started.
So I’m writing them down in case anyone else is about to start a React Router app.
1. Flat Action Data When Using JSON
If you’re submitting JSON,...
Elad Blog
Transcript & Video: Fireside w/ Dylan Field
Figma, AI, Design, & Education
a year ago
Figma, AI, Design, & Education
swyx's site RSS Feed
The McClusky Curve - Viral vs Evergreen Content
An insightful discussion on how to trade off aiming for viral or permanent posts.
over a year ago
An insightful discussion on how to trade off aiming for viral or permanent posts.
Confessions of a...
The CAP Theorem of Clustering: Why Every Algorithm Must Sacrifice Something
No clustering algorithm is perfect and you must make a trade-off.
2 months ago
No clustering algorithm is perfect and you must make a trade-off.
HTMHell
You don’t need the isOpen class
by Maureen Holland
Don’t get me wrong. You can keep it if you like it. But you don’t need it.
A...
2 weeks ago
by Maureen Holland
Don’t get me wrong. You can keep it if you like it. But you don’t need it.
A class selector can allow us to visually show or hide content for disclosure widgets, like a custom select component or dropdown navigation menu. But a disclosure widget is made of two...
dthompson
Haunt 0.2.6 released
Haunt version 0.2.6 has been released. This release restores
compatibility with Guile < 3.0 that...
over a year ago
Haunt version 0.2.6 has been released. This release restores
compatibility with Guile < 3.0 that was accidentally broken in 0.2.5.
Additionally, Haunt now uses the inotify API to watch for file changes
on Linux when running haunt serve --watch, replacing a slower and
more naive...
alexwlchan
Finding the biggest items in my Photos Library
I’m approaching the limit of my current iCloud storage tier, and most of that is my Photos...
a year ago
I’m approaching the limit of my current iCloud storage tier, and most of that is my Photos Library.
I don’t really want to pay for the next iCloud storage tier – I’d be tripling my bill, but I’d barely use the extra space.
(My library grows pretty slowly – I’ve only added ~6GB of...
Irrational...
Developing leadership styles
For a long time, I found the micromanager CEO archetype very frustrating to work with. They would...
a year ago
For a long time, I found the micromanager CEO archetype very frustrating to work with. They would often pop out of nowhere, jab holes in the work I had done without understanding the tradeoffs, and then disappear when I wanted to explain my decisions. In those moments, I wished...
Josh Collinsworth
Pantone, Color, and What I Wish I Had Known Sooner as a Designer
One of the most difficult things for me to learn in my transition from the classroom to a...
over a year ago
One of the most difficult things for me to learn in my transition from the classroom to a professional branding agency was how to properly handle color output. So I decided to write this post in the hope of saving you some from some of the pitfalls that I failed to avoid.
somenice
Golden Glide Silhouette
This Golden Eagle soared past me today and I managed to capture a couple of frames. Magnificent to...
over a year ago
This Golden Eagle soared past me today and I managed to capture a couple of frames. Magnificent to watch.
swyx's site RSS Feed
Unofficial VS Code Snippets for AWS Amplify
making my own vs code snippets helpers for working with AWS Amplify
over a year ago
making my own vs code snippets helpers for working with AWS Amplify
Lennart Koopmann
I Left my previous job to Work on nzyme Full Time
Today, I am incredibly excited to announce that I left my previous position to work on nzyme...
a year ago
Today, I am incredibly excited to announce that I left my previous position to work on nzyme full-time. Working as founder and CTO for almost ten years and helping the company grow to more than 125 full-time employees, I have learned a lot that I can now put to work again.
Making software...
Using Netlify for Dynamic URL Redirects
Using Netlify for Dynamic URL Redirects
2021-12-03
With the recent domain switch that took place on...
over a year ago
Using Netlify for Dynamic URL Redirects
2021-12-03
With the recent domain switch that took place on this website, I needed to have a dependable setup to forward my old domain URLs to the new one. While using something like "URL forwarding" through your domain provider could work,...
macwright.com
Web technology optimism hour
It’s too easy lately to get into a very pessimistic mood about technology.
Between the developer...
over a year ago
It’s too easy lately to get into a very pessimistic mood about technology.
Between the developer energy wasted on crypto, which has produced
negative real-world value, the wider downturn in tech stocks, and
the often-antagonistic interactions between developers on Twitter
and...
Tinloof - Blog
Managing Tinloof-powered websites
If your website was built by Tinloof, you should be able to self-manage it without any guide.
We...
a year ago
If your website was built by Tinloof, you should be able to self-manage it without any guide.
We wrote this article just to make sure you're not missing out on any feature that helps you manage your website more effectively.
Navigating the CMS
The Codist
Yet Another Post On Scrum, But Different
Everyone hates Scrum, or at least it seems so, except for management.
I did as well, but a...
7 months ago
Everyone hates Scrum, or at least it seems so, except for management.
I did as well, but a difference is that I started my career in 1981, long before the hordes of Scrums took root.
1981, you say, so you must have done Waterfall, so you are old and have
bunnie's blog
Winner, Name that Ware December 2023
The Ware from December 2023 is a 20-watt laser diode used for engraving. It’s used in products like...
11 months ago
The Ware from December 2023 is a 20-watt laser diode used for engraving. It’s used in products like the ATOMSTACK Laser Engraver (link without affiliate code), and the module itself is produced by Shenzhen Xinghan Laser Technology Co, Ltd.. I don’t have an exact part number for...
swyx's site RSS Feed
How to Use class instead of className with Preact and TypeScript
## Bottom Line Up Front
over a year ago
swyx's site RSS Feed
Moderating a 220k Developer Community
Reflections from two-and-a bit years helping to run /r/Reactjs
over a year ago
Reflections from two-and-a bit years helping to run /r/Reactjs
The Codist
My Art And Color-After Tiling
I make generative art with Swift and use tiling in many pieces. Truchet tiles are generally arranged...
2 months ago
I make generative art with Swift and use tiling in many pieces. Truchet tiles are generally arranged randomly and contain everything appearing in the final image. What I do differently is to separate the layout of tiles from colorizing the image. I call this technique...
Steve Klabnik
Why I'm partnering with Balanced
over a year ago
Making software...
Simple Accessibility
Simple Accessibility
2018-09-07
Implementing proper accessibility practices can seem a little...
over a year ago
Simple Accessibility
2018-09-07
Implementing proper accessibility practices can seem a little daunting at first, but there are a few basic standards you can introduce into your project work-flow that are fairly straightforward:
Basic design
Test that your project has the proper...
Jim Nielsen’s Blog
“Easier and More Convenient” They Said…
The other day in our morning rush before school my wife asked for help figuring out how to put lunch...
3 months ago
The other day in our morning rush before school my wife asked for help figuring out how to put lunch money on our kids’ school accounts.
For some time she’s been doing it “the hard way”: talk to the people in the front office of the school every few months and swipe a credit...
Krzysztof Kowalczyk...
Go package for better guid generation
The need to generate a globally unique identifier comes up often.
The way described in RFC 4122 is...
over a year ago
The need to generate a globally unique identifier comes up often.
The way described in RFC 4122 is popular but it can be done better.
I wrote betterguid Go package that does it better.
Unique id generated by this package:
is a 20 character string, safe to include in urls (no need...
Computer Things
What could be added to TLA+
Last week Leslie Lamport posted The Future of TLA+, saying "the future of TLA+ is in the hands of...
4 months ago
Last week Leslie Lamport posted The Future of TLA+, saying "the future of TLA+ is in the hands of the TLA+ foundation". Lamport released TLA+ in 1999 and shepherded its development for the past 25 years. Transferring ownership of TLA+ to the official foundation has been in the...
Vadim Kravcenko
Product Owner vs Project Managers
During my career as a software developer, I’ve met many different managers. Some were the kind of “I...
a year ago
During my career as a software developer, I’ve met many different managers. Some were the kind of “I tell — […]
The post Product Owner vs Project Managers appeared first on Vadim Kravcenko.
HTMHell
#9 Cookie Consent from Hell
Bad code
<body>
<header>…</header>
<main>…</main>
<footer>…</footer>
<div...
over a year ago
Bad code
<body>
<header>…</header>
<main>…</main>
<footer>…</footer>
<div class="cookie_consent modal">
<p>We use cookies…</p>
<div class="cookie_consent__close">
<i class="fa fa-times"></i>
</div>
<div class="cookie_consent__ok">OK</div>
...
swyx's site RSS Feed
The Absolute Best Way to Run Multiple npm Scripts in Parallel in 2022
Just a quick tutorial and explanation of how best to set up concurrently with named and colored log...
over a year ago
Just a quick tutorial and explanation of how best to set up concurrently with named and colored log output since I had to look it up today.
Alice GG
5 kubectl plugins to make your life easier
I have been using Kubernetes for five years, but only very recently started using plugins to enhance...
a year ago
I have been using Kubernetes for five years, but only very recently started using plugins to enhance my kubectl commands.
I will show you five plugins that help me avoid repetitive tasks, make cluster administration simpler, and incident response less stressful.
All the plugins...
PostHog's RSS Feed
You can now reverse ETL into PostHog with Hightouch
We're delighted to announce that Hightouch has released an integration with PostHog so you can...
over a year ago
We're delighted to announce that Hightouch has released an integration with PostHog so you can sync modeled data from your data warehouse into…
swyx's site RSS Feed
[Newbie Tip] What to do when you 403 during pypi twine upload
I'm pretty new to the pypi packaging ecosystem so recently ran into some trouble pushing a python...
a year ago
I'm pretty new to the pypi packaging ecosystem so recently ran into some trouble pushing a python package:
dthompson
Haunt 0.3.0 released
Haunt version 0.3.0 has been released! It’s been just over 2 years
since the last release, and many...
10 months ago
Haunt version 0.3.0 has been released! It’s been just over 2 years
since the last release, and many fixes and improvements have been
accumulated so this is long overdue!
About Haunt
Haunt is a static site generator that uses the Guile Scheme as its
configuration language. It...
Elad Blog
Index Companies
Sometimes there are markets that are clearly going to grow massively over time. For example,...
over a year ago
Sometimes there are markets that are clearly going to grow massively over time. For example, ecommerce, genomics, crypto are all markets which were clearly going to compound over time. It might have been tough to call the winners of each market early, but it was clear the markets...
Tinloof - Blog
JavaScript’s Maps For Better Performance
This article is not intended to explore the API of the Map object in details. If you’re looking for...
over a year ago
This article is not intended to explore the API of the Map object in details. If you’re looking for such a source, please check out MDN.
In general, the Map data structure is useful when we want to retrieve/add/delete values through a set of unique keys.
One of the...
ntietz.com blog
Too much of a good thing: the trade-off we make with tests
I've worked places where we aspired to (but did not reach) 100% code coverage.
We used tools like a...
11 months ago
I've worked places where we aspired to (but did not reach) 100% code coverage.
We used tools like a code coverage ratchet to ensure that the test coverage always went up and never down.
This had a few effects.
One of them was the intended effect: we wrote more tests.
Another was...
A Smart Bear
How repositioning a product allows you to 8x its price
You can charge much more than you think, if you reposition your value-proposition. Here's how.
a year ago
You can charge much more than you think, if you reposition your value-proposition. Here's how.
Cognitive...
Built with Dolphin
I started to understand that a lot of people are using and enjoying Dolphin - so I decided to put a...
a year ago
I started to understand that a lot of people are using and enjoying Dolphin - so I decided to put a list here of products or projects that use Dolphin. If you would like to be listed here please reach out to me and I'll add...
Tinloof - Blog
ReasonML for production React Apps? 🤔 (Part 3)
A while ago I published this article about building an accessible and reusable modal/dialog...
over a year ago
A while ago I published this article about building an accessible and reusable modal/dialog component in React.
The component achieves the following requirements:
A reusable component API: we should be able to easily use our accessible modal anywhere and populate it with...
bt RSS Feed
Avoiding Featurism
Avoiding Featurism
2022-10-14
I rather enjoy the term “featurism”. I came across this term while...
over a year ago
Avoiding Featurism
2022-10-14
I rather enjoy the term “featurism”. I came across this term while reading the wonderful article Why I don’t use Netscape, which the author credits to Bernd Paysan. Although it sums up the current “digital product” industry quite well the more...
bunnie's blog
Name that Ware, June 2024
The Ware for June 2024 is shown below. This one will probably be a super-easy guess for some folks,...
6 months ago
The Ware for June 2024 is shown below. This one will probably be a super-easy guess for some folks, but the details of the design of this type of ware are interesting from an engineering standpoint. Some of the tricks used here are kind of mind blowing; on paper, I wouldn’t think...
Jim Nielsen’s Blog
JavaScript Is Enabled by Default in Web Browsers
It’s easy to talk bad about JavaScript (or at least its abuse) like it’s some kind of malware.
But...
a year ago
It’s easy to talk bad about JavaScript (or at least its abuse) like it’s some kind of malware.
But it’s worth remembering that JavaScript is enabled by default in web browsers.
JavaScript is not so terrible, so harmful, so taboo, so something you shouldn’t use that it’s turned...
Alex Meub
Use the Natural CSS Box Model
The CSS Box Model is used to describe how items are rendered (in boxes) from elements in the...
over a year ago
The CSS Box Model is used to describe how items are rendered (in boxes) from elements in the document tree. It determines how the content area, padding, border and margin of an element will be displayed. There are two types.
The W3C Box Model
x
...
macwright.com
Code-folding JSX elements in CodeMirror
This came up for Val Town - we implemented code folding in our default editor which uses CodeMirror,...
10 months ago
This came up for Val Town - we implemented code folding in our default editor which uses CodeMirror, but wanted it to work with JSX elements, not just functions and control flow statements. It’s not enough to justify a module of its own because CodeMirror’s API is unbelievably...
A Beautiful Site
Why You Should Prefix Custom Events
Similar to how every custom element must contain a dash, I like to pretend that every custom event...
over a year ago
Similar to how every custom element must contain a dash, I like to pretend that every custom event must also contain a dash. This removes all ambiguity between native events and custom events.
Therefore, I prefix all custom events in Shoelace with sl-. It may seem contradictory...
Ognjen Regoje •...
User-Agent: ChatGPT Disallow: *
Edit: It’s happening!
ChatGPT et. al. are bots and as such should obey robots.txt.
User-Agent:...
a year ago
Edit: It’s happening!
ChatGPT et. al. are bots and as such should obey robots.txt.
User-Agent: ChatGPT
Disallow: *
User-Agent: ChatGPT Disallow: * was originally published by Ognjen Regoje at Ognjen Regoje • ognjen.io on March 26, 2023.
swyx's site RSS Feed
Three Jobs of Containers
A great nugget I learned from watching Brian Holt's Intro to Containers workshop
over a year ago
A great nugget I learned from watching Brian Holt's Intro to Containers workshop
Don Melton
A metastasis in America
America is sick. And I don’t just mean with COVID-19. The bad news is that removing the ugly, orange...
over a year ago
America is sick. And I don’t just mean with COVID-19. The bad news is that removing the ugly, orange tumor in the White House next week will not be enough to affect a cure.
The malignancy has spread. It didn’t even start with the presidency. We’ve been brewing and self-dosing a...
A Smart Bear
Moats: Durable competitive advantage
Industries commoditize over time, delivering similar products at similar prices resulting in low...
over a year ago
Industries commoditize over time, delivering similar products at similar prices resulting in low profit. Like entropy, this is the inevitable fate of a company, unless it exerts intentional force to the contrary. Moats are this force, and your strategy must identify how to create...
Renegade Otter
Death by a thousand microservices
The Church of Complexity
There is a pretty well-known sketch in which an engineer is explaining to...
a year ago
The Church of Complexity
There is a pretty well-known sketch in which an engineer is explaining to the project manager how an overly complicated maze of
microservices works in order to get a user’s birthday - and fails to do so anyway. The scene accurately describes the...
Vladimir Klepov as a...
Growing my team 4x has been a pain. Can we do better?
My name is Vladimir, and I'm an engineering manager of a team building a banking app. Following the...
8 months ago
My name is Vladimir, and I'm an engineering manager of a team building a banking app. Following the success of our core banking product, we've decided to expand to other financial services. In the last four months my team has grown 4x, going from a 4-person team to 4 teams...
HTMHell
#28 alert level 1
Bad code
<h1 aria-busy="true" aria-live="polite" role="alert" class="sr-only">
Done
</h1>
Issues...
over a year ago
Bad code
<h1 aria-busy="true" aria-live="polite" role="alert" class="sr-only">
Done
</h1>
Issues and how to fix them
The element is used for communicating status updates, not to structure the page. A div with a role of status or alert is more suitable than a h1.
The heading is...
A Beautiful Site
Table cells and max-widths in Internet Explorer 8
I recently came across a little issue with Internet Explorer 8 and max-width. I had an image inside...
over a year ago
I recently came across a little issue with Internet Explorer 8 and max-width. I had an image inside of a table cell and, for some reason, IE8 completely neglected the corresponding CSS max-width property. The result was the image rendering at full size rather than scaled down to...
Making software...
Setting Up Fathom Analytics with Netlify
Setting Up Fathom Analytics with Netlify
2021-01-19
It's no secret that I'm passionate about open...
over a year ago
Setting Up Fathom Analytics with Netlify
2021-01-19
It's no secret that I'm passionate about open source software, but I'm also extremely adamant about protecting the privacy of all users across the web. So when I decided to implement analytics on my own personal website, I ended...
Vladimir Klepov as a...
Open source starter pack for JS devs
So you've decided to open-source your project. Amazing! Bad news first: writing code is only the...
over a year ago
So you've decided to open-source your project. Amazing! Bad news first: writing code is only the beginning. The information for library authors on the web is surprisingly fragmented, so I've decided to put together a list of things to keep in mind when open-sourcing a JS...
elementary Blog
Let's Talk OS 8
One month ago today we released elementary OS 7.1 which provides new personalization options that...
a year ago
One month ago today we released elementary OS 7.1 which provides new personalization options that make it more inclusive and accessible, protects your privacy and ensures apps always operate with your explicit consent, and addresses your feedback with over 200 bug fixes, design...
Stephen Wolfram...
Introducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm
This is part of an ongoing series about our LLM technology:ChatGPT Gets Its “Wolfram...
a year ago
This is part of an ongoing series about our LLM technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play:...
Vadim Kravcenko
Networking as an introvert CTO
There I was, standing in the middle of a buzzing tech event that our company organized, feeling like...
a year ago
There I was, standing in the middle of a buzzing tech event that our company organized, feeling like a fish […]
The post Networking as an introvert CTO appeared first on Vadim Kravcenko.
Neil Panchal
Dear Spotify. Can we just get a table of songs?
Dear Spotify. I tried to search for podcasts on your Desktop app. I know you're into fancy...
over a year ago
Dear Spotify. I tried to search for podcasts on your Desktop app. I know you're into fancy cross-platform Electron framework. I've come to terms with it. It's fine. It'll do. But, your understanding of interface design seems like it needs a bit
Vadim Kravcenko
Getting your Idea to the MVP
This article is part of the series called Founders Guide which I’m writing currently to help...
over a year ago
This article is part of the series called Founders Guide which I’m writing currently to help early-stage founders tackle the […]
The post Getting your Idea to the MVP appeared first on Vadim Kravcenko.
Liz Denys
Sea strands V60-style coffee cone, 2024
Rising sea levels / eroding beaches / between saltwater and the sea strands / melting ice caps
6 months ago
Rising sea levels / eroding beaches / between saltwater and the sea strands / melting ice caps
charity.wtf
The Future of Ops is Platform Engineering
First published on 2022-09-30 at https://www.honeycomb.io/blog/future-ops-platform-engineering. Two...
over a year ago
First published on 2022-09-30 at https://www.honeycomb.io/blog/future-ops-platform-engineering. Two years ago I wrote a piece in The New Stack about the Future of Ops Careers. Towards the end, I wrote: The reality is that jack-of-all-trades systems infrastructure jobs are slowly...
Jim Nielsen’s Blog
“The iOS App Icon Book” in Japanese
Seeing something you made put in print is exciting.
Seeing something you made translated and put in...
a year ago
Seeing something you made put in print is exciting.
Seeing something you made translated and put in print, well that’s pretty damn exciting too.
Such was the feeling when I opened my copy of the Japanese translation of The iOS App Icon Book.
While the core idea of the book...
bt RSS Feed
They Won't Wait: A Warning for Slow Websites
They Won’t Wait: A Warning for Slow Websites
2019-06-25
Your website is probably slow. I’m not...
over a year ago
They Won’t Wait: A Warning for Slow Websites
2019-06-25
Your website is probably slow. I’m not trying to make you feel bad or dismiss all the hard work you’ve put into your project. Heck, performance might have been a core value of the design. But websites can always be...
samwho.dev
Bloom Filters
.bf {
width: 100%;
height: 150px;
}
@media only screen and (min-width: 320px) and (max-width:...
10 months ago
.bf {
width: 100%;
height: 150px;
}
@media only screen and (min-width: 320px) and (max-width: 479px) {
.bf {
height: 200px;
}
}
@media only screen and (min-width: 480px) and (max-width: 676px) {
.bf {
height: 200px;
}
}
@media only screen and (min-width:...
MMapped blog
Good names form Galois connections
9 months ago
Vladimir Klepov as a...
Cleaner ways to build dynamic JS arrays
Building dynamic arrays in JS is often messy. It goes like this: you have a default array, and you...
over a year ago
Building dynamic arrays in JS is often messy. It goes like this: you have a default array, and you need some items to appear based on a condition. So you add an if (condition) array.push(item). Then you need to shuffle things around and bring in an unshift or two, and maybe even...
swyx's site RSS Feed
Make your own Dev.to CMS livestream - Part 3
This is day 3 of my livecode Dev.to CMS.
over a year ago
This is day 3 of my livecode Dev.to CMS.
bt RSS Feed
Yet Another Static Site Generator Switch
Yet Another Static Site Generator Switch
2022-07-06
If you’re an RSS subscriber, I’ve probably blown...
over a year ago
Yet Another Static Site Generator Switch
2022-07-06
If you’re an RSS subscriber, I’ve probably blown up your feed reader (again). This seems to be an on-going theme with this blog. I can’t help it.
This website now uses my new Pandoc-based static blog generator: pblog. I won’t go...
Jim Nielsen’s Blog
Build Great Software By Repeatedly Encountering It
Robin in “Vibe driven development” (which I took notes):
the only way to build a great product is to...
a year ago
Robin in “Vibe driven development” (which I took notes):
the only way to build a great product is to use it every day, to stare at it, to hold it in your hands to feel its lumps. The data and customers will lie to you but the product never will.
Oof. That lands with me.
As a...
the jsomers.net blog
How I reverse-engineered Google Docs to play back any document’s keystrokes
If you’ve ever typed anything into a Google Doc, you can now play it back as if it were a movie —...
over a year ago
If you’ve ever typed anything into a Google Doc, you can now play it back as if it were a movie — like traveling through time to look over your own shoulder as you write. This is possible because every document written in Google Docs since about May 2010 has a revision history...
Blog - Bitfield...
Type parameters in Go
Now that generics have come to Go, let's take a look at the new syntax for
type parameters. We’ll...
9 months ago
Now that generics have come to Go, let's take a look at the new syntax for
type parameters. We’ll find out why we need type parameters, how we write
them, and how we can use them to create generic functions in Go.
Max Countryman
Mindset for New Engineering Managers
Coming to engineering management as a discipline requires a completely fresh set of skills. A common...
a year ago
Coming to engineering management as a discipline requires a completely fresh set of skills. A common mistake is to assume that our previous expertise will make this transition seamless. In reality, it's important to recognize the need to shift mindsets entirely.
Steve Klabnik
Book review: New Programmer's Survival Manual
over a year ago
PostHog's RSS Feed
How I learned to love feedback loops (and make better products)
I recently wrote a blog post for my personal site about the lessons I'd learned from leading my...
over a year ago
I recently wrote a blog post for my personal site about the lessons I'd learned from leading my first two projects as a Software Engineer at PostHog…
TokyoDev
How I landed a software developer job in Japan
How I came to Japan
-------------------
During the first day of the first computer science...
over a year ago
How I came to Japan
-------------------
During the first day of the first computer science course I took, I
happened to sit next to a Japanese woman. Over the semester, we became
friends, and I remember many a lunch we had together, where she would
tell me about life in...
Joel Gascoigne
Plan or build?
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I met with Jesse...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I met with Jesse Nowlin [https://twitter.com/MrJNowlin] a few days ago, a great
founder who’s really hustling. We spent some time discussing his idea and I
shared some of my experiences with...
Marco.org
The 2018 iPad Pro
Watch my video review of the new iPad Pro in both sizes.
Rather than try to be comprehensive, I...
over a year ago
Watch my video review of the new iPad Pro in both sizes.
Rather than try to be comprehensive, I focused on what matters most to me: size choice between the 11” and 12.9”, the Smart Keyboard Folio from my perspective as a frequent 10.5” Smart Keyboard user, the new Pencil, and why...
Krzysztof Kowalczyk...
Persisted Svelte store using IndexedDB
I’m working on notepad2 for web and I need a history of opened files that persists across browser...
a year ago
I’m working on notepad2 for web and I need a history of opened files that persists across browser session.
Since I’m using Svelte, having it available as a store makes sense.
This article describes how to implement a Svelte store whose values are persisted in IndexedDB.
What is...
swyx's site RSS Feed
Every Public Engineering Career Ladder
A list of the public engineering career ladders I've found
over a year ago
A list of the public engineering career ladders I've found
macwright.com
You can finally use :has() in most places by
The hot new thing in CSS is :has() and Firefox finally supports it, starting today - so the...
a year ago
The hot new thing in CSS is :has() and Firefox finally supports it, starting today - so the compatibility table is pretty decent (89% at this writing). I already used has() in a previous post - that Strava CSS hack, but I’m finding it useful in so many places.
For example, in Val...
James Vaughan's blog
Counting Usernames from Malicious Login Attempts
over a year ago
swyx's site RSS Feed
Best Practice Open Source Repo Setup
Quick and simple ways to set up Open Source Repos with Best Practices
over a year ago
Quick and simple ways to set up Open Source Repos with Best Practices
swyx's site RSS Feed
Reviewing "TypeScript in 50 Lessons"
My first time being a technical reviewer for a published book!
over a year ago
My first time being a technical reviewer for a published book!
swyx's site RSS Feed
Digital Garden Terms of Service
This is my attempt to explicitly define a not-legally-binding "terms of service" for people who...
over a year ago
This is my attempt to explicitly define a not-legally-binding "terms of service" for people who peruse Digital Gardens, and the people who Learn in Public with them.
TokyoDev
Safari bug with ruby tag
*Update (November 8th, 2019): [Juanito Fatas](https://juanitofatas.com/) has pointed out to me this...
over a year ago
*Update (November 8th, 2019): [Juanito Fatas](https://juanitofatas.com/) has pointed out to me this bug has now been fixed.*
Safari 12.1.1 has a strange issue with certain ruby tags. Specifically, something like
ホゲホゲ(ホゲホゲ)
which renders as
ホゲホゲ(ホゲホゲ)
If you control click...
Vladimir Klepov as a...
Five Tricks for Debug-Logging in JavaScript
Cheer up, today is a quick tip day. No rants, no motivation, no existentialism — just a few simple...
over a year ago
Cheer up, today is a quick tip day. No rants, no motivation, no existentialism — just a few simple tricks you can use right now.
We'll be talking about console.log and friends for debugging javascript, mostly in the browser. If you don't use devtools debugger — try it, but I'm...
ntietz.com blog
If software engineering roles were chess pieces, what would they be?
Chess is booming, and tech is burning to the ground.
It's inevitable, soon, that Chess is going to...
a year ago
Chess is booming, and tech is burning to the ground.
It's inevitable, soon, that Chess is going to acquire the entire tech industry.
And when Chess acquires us, they'll replace us and take our software engineering jobs1.
Then we'll be stuck playing their game, and we'll be...
swyx's site RSS Feed
writing Advice
Some thoughts on writing your first few writings
over a year ago
Some thoughts on writing your first few writings
bt RSS Feed
Yes, I Still Use jQuery
Yes, I Still Use jQuery
2019-04-15
I have seen a handful of condescending comments from front-end...
over a year ago
Yes, I Still Use jQuery
2019-04-15
I have seen a handful of condescending comments from front-end developers since the newest build of (jQuery 3.4.0) released a couple of days ago. While I understand not all developers share the same work-style or are using the same tech-stack,...
bt RSS Feed
Using HTML Validator Badges Again
Using HTML Validator Badges Again
2019-07-05
There was a time on the Internet when websites wore...
over a year ago
Using HTML Validator Badges Again
2019-07-05
There was a time on the Internet when websites wore badges of honor, declaring that their code was semantic and followed the W3C guidelines. The validators we used weren’t great (and still aren’t perfect) but they represented a...
swyx's site RSS Feed
Unsupervised Learning: Feature Transformation
Presenting the same information a different way... helps! Plus, one algorithm that does better than...
over a year ago
Presenting the same information a different way... helps! Plus, one algorithm that does better than Principal Components Analysis!
Josh Collinsworth
Follow-up: the Glove80 after six months
A followup on my previous first impressions post, with an update on how the Glove80 ergonomic split...
9 months ago
A followup on my previous first impressions post, with an update on how the Glove80 ergonomic split keyboard has been after about six months of daily use.
David Heinemeier...
Basecamp turns 20
On February 5, 2004, we released the first version of Basecamp to the world. It was built to solve...
11 months ago
On February 5, 2004, we released the first version of Basecamp to the world. It was built to solve our own problems running client projects as an agency where we found email alone to be lacking. The first version was really just the basics: Messages, todo lists, milestones. We...
swyx's site RSS Feed
8 Landing Page Tips from Rob Hope
I submitted my book's landing page for Rob Hope's review and he obliged! Brutal feedback incoming.
over a year ago
I submitted my book's landing page for Rob Hope's review and he obliged! Brutal feedback incoming.
Jim Nielsen’s Blog
Prompting the Wrong Question
So there I am, working on a bug exclusive to Safari (we’ve all been there). I can’t figure it out so...
2 months ago
So there I am, working on a bug exclusive to Safari (we’ve all been there). I can’t figure it out so I ask AI, “Hey, this piece of code is not working in Safari, what’s wrong?”
The issue might be related to how Safari handles keyboard events, especially for certain keys…
It gives...
Remains of the Day
And You Will Know Us by the Company We Keep
It feels as if we're at the tail end of the first era of social media in the West. Looking back at...
over a year ago
It feels as if we're at the tail end of the first era of social media in the West. Looking back at the companies that have survived, certain application architectural choices are ubiquitous. By now, we're all familiar with the infinite vertical scrolling feed of content units,...
Greg Brockman
It's time to become an ML engineer
AI has recently crossed a utility threshold, where cutting-edge models such as GPT-3, Codex, and...
over a year ago
AI has recently crossed a utility threshold, where cutting-edge models such as GPT-3, Codex, and DALL-E 2 are actually useful and can perform tasks computers cannot do any other way. The act of producing these models is an exploration of a new frontier, with the discovery of...
Quentin Santos
You can move !Unpin
Although I am now mostly comfortable with Rust, some concepts still elude me. One of them is the...
a month ago
Although I am now mostly comfortable with Rust, some concepts still elude me. One of them is the exact meaning of Unpin. The documentation says: The documentation of Unpin says: Types that do not require any pinning guarantees. Where pinning is described as: From this, you could...
Josh Comeau's blog
Let's Bring Spacer GIFs Back!
The 90s web gave us many delightful things: web rings, guestbooks, “under construction” animations,...
over a year ago
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.
swyx's site RSS Feed
Feedback Ladders
A post for the Netlify blog on how we did Code Reviews during my recent product rotation.
over a year ago
A post for the Netlify blog on how we did Code Reviews during my recent product rotation.
A Smart Bear
You're a real company when…
What marks the moment when you become a "real" company?
a year ago
What marks the moment when you become a "real" company?
Josh Comeau's blog
The Rules of Margin Collapse
“Margin collapse” has a dastardly reputation, one of the trickier parts of CSS. Fortunately, it gets...
over a year ago
“Margin collapse” has a dastardly reputation, one of the trickier parts of CSS. Fortunately, it gets a lot easier once you learn a few rules! In this tutorial, we take a deep dive into the governing principles, and learn how to use them to our advantage.
tonsky.me
Logo: Squint
Squint is a light-weight dialect of ClojureScript with a compiler and standard library. “The idea is...
5 months ago
Squint is a light-weight dialect of ClojureScript with a compiler and standard library. “The idea is that when you squint, it still looks like CLJS”.
Epic Web Dev
Improve UX and Security with Time-based One Time Passwords (TOTPs) (tip)
Watch Kent show you the improved user experience, security, and the implementation of Time-based One...
a year ago
Watch Kent show you the improved user experience, security, and the implementation of Time-based One Time Passwords in the Epic Stack.
Oxide Computer...
Benefits as a Reflection of Values
“We offer the best health insurance we could find” is what we promise in our job postings. On paper,...
over a year ago
“We offer the best health insurance we could find” is what we promise in our job postings. On paper, this is accurate: the health insurance Oxide offers is the best plan we can find that is offered to small businesses.
What we left unsaid until now is that the best health...
David Heinemeier...
Chart the course, set the pace, hold the line
I break the essential responsibilities of the company executive into three distinct buckets. They...
9 months ago
I break the essential responsibilities of the company executive into three distinct buckets. They are:
1. Chart the course
Where are we going? What are we building? Who is it for? Any executive running anything has to know the answer to these questions in order to lead anyone...
Charles Chen
A Conceptual Model of State in Vue 3.4
A guide to understanding how to think about state and components in Vue with the game changing...
11 months ago
A guide to understanding how to think about state and components in Vue with the game changing defineModel
HTMHell
You Don't Need ARIA For That
In web development, writing semantic HTML is important for accessibility, and also provides some...
over a year ago
In web development, writing semantic HTML is important for accessibility, and also provides some nice side effects such as supporting browser "reader" modes, SEO, graceful degradation, and exporting.
Implementing semantic HTML will also greatly reduce the need for ARIA...
The Pragmatic...
Weekend maintenance kicks an Italian bank offline for days
It is now day five that Italian bank Sella has its apps and internetbank down, after a weekend...
8 months ago
It is now day five that Italian bank Sella has its apps and internetbank down, after a weekend systems update went south. The problem seems to be database-related: “something, something Oracle.”
David Heinemeier...
You can't fix core competency with a stern conversation
When things aren't going well with a new hire, the problem usually falls into one of two categories:...
a year ago
When things aren't going well with a new hire, the problem usually falls into one of two categories: competency or engagement. If it's a problem with engagement – their style of collaboration, their communication, their approach – there's a good chance you can fix it with some...
swyx's site RSS Feed
Profile on Livecycle.io Devx Project
I was interviewed for Livecycle's DevX interview series here. Reproducing for posterity.
over a year ago
I was interviewed for Livecycle's DevX interview series here. Reproducing for posterity.
swyx's site RSS Feed
Firebase Analytics in 30 Seconds
---
over a year ago
The Pragmatic...
How Microsoft does Quality Assurance (QA)
The Redmond Big Tech giant pioneered the SDET role in the 90s. It then retired it in 2014. What...
a year ago
The Redmond Big Tech giant pioneered the SDET role in the 90s. It then retired it in 2014. What happened and why?
Jim Nielsen’s Blog
Components and LEGOs
“We’re going to build a component library — which are like a bunch of LEGOs — so...
a year ago
“We’re going to build a component library — which are like a bunch of LEGOs — so designers/developers can just pick a prefabricated component off the shelf and build with consistency and coherence.”
It’s a nice thought, if you don’t think about it too much. But I recently read...
A Beautiful Site
Using the classList API
jQuery makes it easy to add, remove, and toggle classes on various elements. It's too bad this stuff...
over a year ago
jQuery makes it easy to add, remove, and toggle classes on various elements. It's too bad this stuff wasn't built into JavaScript. But wait — it is now!
What your looking for didn't exist until IE10, but it's been in Firefox, Chrome, Safari, and Opera for some time now. It's...
Nelson's Weblog
Restic
Restic is good backup software.
It’s a command line tool for backing up filesystems to various
local...
11 months ago
Restic is good backup software.
It’s a command line tool for backing up filesystems to various
local and remote options. It is well
documented, easy to set up, secure, and quite fast. It’s a very
professional product. I am now backing up all my Linux systems with it.
Note it’s a...
Josh Comeau's blog
CSS Variables for React Devs
CSS variables are *really* cool, and they're incredibly powerful when it comes to React! This...
over a year ago
CSS variables are *really* cool, and they're incredibly powerful when it comes to React! This tutorial shows how we can use them with React to create dynamic themes. We'll see how to get the most out of CSS-in-JS tools like styled-components, and how our mental frame around media...
macwright.com
Chrome Devtools protip: Emulate a focused page
This is a Devtools feature that you will only need once in a while, but it is a life-saver.
Some...
11 months ago
This is a Devtools feature that you will only need once in a while, but it is a life-saver.
Some frontend libraries, like CodeMirror, have UIs like autocompletion, tools, or popovers, that are triggered by typing text or hovering your mouse cursor, and disappear when that...
Code Of Honor
Tough times on the road to Starcraft
I’ve been writing about the early development of Warcraft, but a recent blog post I read prompted me...
over a year ago
I’ve been writing about the early development of Warcraft, but a recent blog post I read prompted me to start scribbling furiously, and the result is this three-part, twenty-plus page article about the development of StarCraft, along with my thoughts about writing more reliable...
Founder's blog
The state of modern Front End
Let's talk about front-end. There'll be a lot of swearing, I'm sorry.
About once every six...
a year ago
Let's talk about front-end. There'll be a lot of swearing, I'm sorry.
About once every six months another blogger bursts into HackerNews/Twitter trends, saying - hey, enough of that JavaScript bloat, let's all use modern HTML controls!
There's <dialog> for modal dialogs,...
Vladimir Klepov as a...
7 things you may not know about useState
Doing code reviews for our hook-based project, I often see fellow developers not aware of some...
over a year ago
Doing code reviews for our hook-based project, I often see fellow developers not aware of some awesome features (and nasty pitfalls) useState offers. Since it's one of my favourite hooks, I decided to help spread a word. Don't expect any huge revelations, but here're the 7 facts...
swyx's site RSS Feed
Bouldering
My first introduction to bouldering was in 2017, in DUMBO:
a year ago
My first introduction to bouldering was in 2017, in DUMBO:
somenice
Atlas of AI by Kate Crawford
I’ll admit I’m a HUGE believer of advances in Artificial Intelligence. Deep learning or just general...
over a year ago
I’ll admit I’m a HUGE believer of advances in Artificial Intelligence. Deep learning or just general machine learning. From Bayesian beginnings to GANs and CNNs, I’m all about data, ML and all of the promises it’s future holds. The problems it can solve today seemed impossible...
Liz Denys
Slack doesn't listen to its users.
In a rush of hubris, Slack published a full page ad taunting Microsoft Teams in the New York...
over a year ago
In a rush of hubris, Slack published a full page ad taunting Microsoft Teams in the New York Times:
That feeling when you think "we should buy a full page in the Times and publish an open letter," and then you do. 💫 pic.twitter.com/BQiEawRA6d
— Stewart Butterfield (@stewart)...
bt RSS Feed
I Want to Suckless and You Can Too
I Want to Suckless and You Can Too
2022-12-23
The Desire to Suckless
While I have been happy with my...
over a year ago
I Want to Suckless and You Can Too
2022-12-23
The Desire to Suckless
While I have been happy with my previous desktop setup using Wayland on Alpine Linux, I just couldn’t shake the urge to fully embrace the suckless ecosystem. Although, this meant ditching Wayland and returning...
The Changelog
Make the Internet Yours Again With an Instant Mesh Network
I’m going to lead with the technical punch line, and then explain it: Yggdrasil Network is an...
over a year ago
I’m going to lead with the technical punch line, and then explain it: Yggdrasil Network is an opportunistic mesh that can be deployed privately or as part of a global-scale network. Each node gets a stable IPv6 address (or even an entire /64) that is derived from its public key...
PostHog's RSS Feed
Finding your North Star metric and why it matters
Successful products need actionable metrics and for many businesses this starts with identifying...
over a year ago
Successful products need actionable metrics and for many businesses this starts with identifying what many refer to as a 'North Star' metric. This…
A Beautiful Site
Browser makers: where’s the new tab + homepage option?
Ever since tabbed browsing hit the mainstream I've been hooked. It's rare to see less than a handful...
over a year ago
Ever since tabbed browsing hit the mainstream I've been hooked. It's rare to see less than a handful of tabs open in my web browser at any time. Whether I'm developing, checking email, or just surfing around, I can never seem to have enough tabs! But there's one thing about this...
The Changelog
This Is How Tyrants Go: Alone
I remember reading an essay a month or so ago — sadly I forget where — talking about how things end...
over a year ago
I remember reading an essay a month or so ago — sadly I forget where — talking about how things end for tyrants. If I were to sum it up, it would be with the word “alone.” Their power fading, they find that they had few true friends or believers; just others that were greedy …...
A Beautiful Site
Styling Custom Elements Without Reflecting Attributes
I've been struggling with the idea of reflecting attributes in custom elements and when it's...
6 months ago
I've been struggling with the idea of reflecting attributes in custom elements and when it's appropriate. I think I've identified a gap in the platform, but I'm not sure exactly how we should fill it.
I'll explain with an example. Let's say I want to make a simple badge component...
Stephen Wolfram...
Twenty Years Later: The Surprising Greater Implications of A New Kind of Science
See also: “A New Kind of Science: A 15-Year View”. From the Foundations Laid by A New Kind of...
over a year ago
See also: “A New Kind of Science: A 15-Year View”. From the Foundations Laid by A New Kind of Science When A New Kind of Science was published twenty years ago I thought what it had to say was important. But what’s become increasingly clear—particularly in the last few years—is...
A Beautiful Site
Swapping variables with JavaScript
Swapping the value of two variables normally takes three lines and a temporary variable. What if I...
over a year ago
Swapping the value of two variables normally takes three lines and a temporary variable. What if I told you there was an easier way to do this with JavaScript?
Traditional method #
The goal is to swap the values of a and b. The textbook method for doing this looks something like...
PostHog's RSS Feed
The best open-source analytics tools you can self-host
Author: Andy Vandervell There's no shortage of powerful open-source analytics tools. In this guide...
a year ago
Author: Andy Vandervell There's no shortage of powerful open-source analytics tools. In this guide we've split them into two categories: Self-hosted…
David Heinemeier...
Kamal 2: Thou need not PaaS
Kamal was our ticket out of the cloud. A simple tool for deploying containerized applications onto...
3 months ago
Kamal was our ticket out of the cloud. A simple tool for deploying containerized applications onto our own hardware, without the need for the complexity of something like Kubernetes. Kamal 2 is a huge leap forward for that tool, and it has just shipped.
Now you can deploy...
Daniel Immke's Blog...
Handling advanced product imports in WooCommerce
I recently wrapped up a big WooCommerce project that required quite a bit of customization. I’ve...
over a year ago
I recently wrapped up a big WooCommerce project that required quite a bit of customization. I’ve decided to write about a few of those…
Josh Collinsworth
Announcing Hondo
Updating Quina to version 2.0 filled my head with new ideas that I just couldn't walk away from....
over a year ago
Updating Quina to version 2.0 filled my head with new ideas that I just couldn't walk away from. Eventually, those ideas took the shape of a whole new word game, named Hondo.
swyx's site RSS Feed
Using Whisper to Transcribe Podcasts
You want
a year ago
Jim Nielsen’s Blog
Digital Trees
Trees have many functions:
they provide shade,
they purify air,
they store carbon,
they grow...
6 months ago
Trees have many functions:
they provide shade,
they purify air,
they store carbon,
they grow fruit,
and they’re aesthetically pleasing.
What’s intriguing to me about trees is their return on investment (ROI).
It takes years, even decades, to grow a tree to the point where you...
Irrational...
Writers who operate.
Occasionally folks tell me that I should “write full time.” I’ve thought about this a lot, and have...
a year ago
Occasionally folks tell me that I should “write full time.” I’ve thought about this a lot, and have rejected that option because I believe that writers who operate (e.g. write concurrently with holding a non-writing industry role) are best positioned to keep writing valuable work...
Kagi Blog
Announcing The Assistant
Yes, the rumours are true!
Kagi has been thoughtfully integrating AI into our search experience,...
4 months ago
Yes, the rumours are true!
Kagi has been thoughtfully integrating AI into our search experience, creating a smarter, faster, and more intuitive search.
Liz Denys
Quiche as a method and lightly sweet pâte brisée
I love to make and eat quiche. In fact, there was hardly a week last year that would pass where...
over a year ago
I love to make and eat quiche. In fact, there was hardly a week last year that would pass where there wasn't a quiche in my refrigerator because I just love quiche that much. Why? Well, it's great any time of day, it reheats well, it can feed a crowd, and it doesn't have to be...
Chris Nicholas
How to use Next.js middleware
Middleware functions can be used for all sorts such as redirecting, rewriting, preventing access,...
over a year ago
Middleware functions can be used for all sorts such as redirecting, rewriting, preventing access, and more. Let’s take a look.
Steve Klabnik
Rust's documentation is about to drastically improve
over a year ago
Joel Gascoigne
The evolution of culture at a startup
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s now 2 years...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s now 2 years since I launched Buffer [http://bufferapp.com], and the company
has grown from just myself (working from my bedroom) to a team of 7. In the last
few months, I’ve been thinking a...
macwright.com
Recently
We went apple picking this month in New Jersey, and one of the farms had
these two golden retrievers...
over a year ago
We went apple picking this month in New Jersey, and one of the farms had
these two golden retrievers in their own, private, enormous pen. It was
a petting zoo, but with two golden retrievers. They defended their space against
other dogs who wanted to say hi, but stayed near the...
Tyler Cipriani: blog
A case for stacked patches 📚
I’m wondering why you talk about “branches” at all. No such thing
should exist.
– Linus Torvalds,...
a year ago
I’m wondering why you talk about “branches” at all. No such thing
should exist.
– Linus Torvalds, 2005, git@vger.kernel.org
Git branches are hard to think about.
But “GitHub”
forces you to think about branches. A lot.
Instead of futzing with GitHub’s feature branches, many...
Computer Things
Be Suspicious of Success
From Leslie Lamport's Specifying Systems:
You should be suspicious if [the model checker] does not...
2 months ago
From Leslie Lamport's Specifying Systems:
You should be suspicious if [the model checker] does not find a violation of a liveness property... you should also be suspicious if [it] finds no errors when checking safety properties.
This is specifically in the context of...
Paolo Amoroso's...
Exploring Medley as a Common Lisp development environment
<![CDATA[Since encountering Medley I gained considerable experience with Interlisp. Medley Interlisp...
a year ago
<![CDATA[Since encountering Medley I gained considerable experience with Interlisp. Medley Interlisp is a project for preserving, reviving, and modernizing the Interlisp-D software development environment of the Lisp Machines Xerox created at PARC.
Nine months later I know...
The Pragmatic...
The Scoop: Tech Layoffs in 2022
I get a lot of scoop sent by readers (thank you!). Sadly, in 2022, a good part of the scoop is about...
over a year ago
I get a lot of scoop sent by readers (thank you!). Sadly, in 2022, a good part of the scoop is about companies laying off people. Some of this scoop has not been reported before.
I don't want to broadcast layoffs on Twitter or LinkedIn continuously, but also
A Smart Bear
Distributed Logical Time
Properly ordering events in time is notoriously difficult in distributed systems. This algorithm is...
over a year ago
Properly ordering events in time is notoriously difficult in distributed systems. This algorithm is a simple, decentralized, scalable, constant-memory mechanism for independent replicas to record events in time, such that “happened-before” is preserved in almost all cases.
Jim Nielsen’s Blog
The Subversive Hyperlink
The web has a superpower: permission-less link sharing.
I send you a link and as long as you have an...
10 months ago
The web has a superpower: permission-less link sharing.
I send you a link and as long as you have an agent, i.e. a browser (or a mere HTTP client), you can access the content at that link.
This ability to create and disseminate links is almost radical against the backdrop of...
Posts on Nikita...
Handmade Seattle 2023
A couple of months ago I gave a talk “SQL’s Inner Workings” at Handmade Seattle 2023 conference with...
11 months ago
A couple of months ago I gave a talk “SQL’s Inner Workings” at Handmade Seattle 2023 conference with the following abstract:
An exposé by a whistleblower investigating the marketing claims of “It’s just the same old SQL you know.”
Most databases nowadays provide an SQL interface...
swyx's site RSS Feed
Writing an Authentication Store in Svelte
This is my attempt today wrapping an Authentication workflow into a Svelte Store
over a year ago
This is my attempt today wrapping an Authentication workflow into a Svelte Store
PostHog's RSS Feed
Our simpler goal: Help engineers to be better at product
One of the things I've learned at PostHog is the simpler a strategy, the more likely it's right. We...
a year ago
One of the things I've learned at PostHog is the simpler a strategy, the more likely it's right. We simplified our strategy recently. This post…
Josh Collinsworth
Adding page transitions in SvelteKit
Transitions, easing, and routing are all baked into SvelteKit. This makes utilizing page transition...
a year ago
Transitions, easing, and routing are all baked into SvelteKit. This makes utilizing page transition effects in SvelteKit sites and apps as easy as adding just a few lines of code.
Charles Chen
Vue 3x3 - A Mental Model for Building Fast
A mental model for helping you get oriented with with Vue3 and Composition API
a year ago
A mental model for helping you get oriented with with Vue3 and Composition API
PostHog's RSS Feed
PostHog vs LogRocket
LogRocket is a frontend monitoring platform which, like PostHog, combines multiple tools into one...
a year ago
LogRocket is a frontend monitoring platform which, like PostHog, combines multiple tools into one platform. In this article we’ll explain some of the…
Steve Klabnik
Beware subclassing Ruby core classes
over a year ago
ntietz.com blog
RC Week 3: Returning to Math
The third week of my batch at Recurse Center is finished.
It is still flying by too quickly.
Nine...
over a year ago
The third week of my batch at Recurse Center is finished.
It is still flying by too quickly.
Nine weeks left!
This week was a whirlwind and really busy.
I think I pushed myself too hard.
I had just recovered from my cold and was a little drained, and then got my COVID booster and...
A Beautiful Site
Let's Encrypt renews but browsers still seeing old/expired SSL certificate
This morning was frustrating. I recently upgraded my VPS from the deprecated letsencrypt client to...
over a year ago
This morning was frustrating. I recently upgraded my VPS from the deprecated letsencrypt client to the newer cerbot client and generated new certificates for all my personal domains. I thought everything was fine — until I kept seeing intermittent SSL errors.
I figured I did...
Vadim Kravcenko
Building a side-project
So as you noticed, I’m late with my newsletter Issue this week. Everything is fine. I just got...
over a year ago
So as you noticed, I’m late with my newsletter Issue this week. Everything is fine. I just got sidetracked a […]
The post Building a side-project appeared first on Vadim Kravcenko.
Krzysztof Kowalczyk...
Advanced markdown processing in Go
Using gomarkdown/markdown library
This article describes an advanced markdown processing...
a year ago
Using gomarkdown/markdown library
This article describes an advanced markdown processing in Go using gomarkdown/markdown library.
All the code examples are available at https://github.com/gomarkdown/markdown/tree/master/examples
Basics first
Here’s a good...
Blog - Bitfield...
Programming is fun
I was a guest on the Cup o’ Go podcast recently, talking with Shay Nehmad
and Jonathan Hall about...
2 months ago
I was a guest on the Cup o’ Go podcast recently, talking with Shay Nehmad
and Jonathan Hall about writing and teaching Go. Here’s a transcript of our
chat.
davidyat.es
Deprecating shortcodes with render hooks
2 months ago
Steve Klabnik
The culture war at the heart of open source
over a year ago
Don Melton
Hot enough for you?
For some strange reason I checked the temperature today in Brawley, California, one of the many...
over a year ago
For some strange reason I checked the temperature today in Brawley, California, one of the many small towns in the Imperial Valley where I grew up.
It’s over 110 degrees Fahrenheit there as I write this. With a forecast for 123 degrees later today. The folks in Brawley sure know...
Blog System/5
Why do I know shell, and how can you?
My personal story with this ancient language and some tips to learn it
a year ago
My personal story with this ancient language and some tips to learn it
A small freedom area...
Hacking window titles to help OBS
This write-up is meant to present the rationale and technical details behind a
tiny project I wrote...
a year ago
This write-up is meant to present the rationale and technical details behind a
tiny project I wrote the other day, WTH, or WindowTitleHack, which is
meant to force a constant window name for apps that keep changing it (I'm
looking specifically at Firefox and Krita, but there are...
Irrational...
Navigating Private Equity ownership.
In 2020, you could credibly argue that ZIRP explains the world,
but that’s an impossible argument to...
a month ago
In 2020, you could credibly argue that ZIRP explains the world,
but that’s an impossible argument to make in 2024 when zero-interest rate policy is only a fond memory.
Instead, we’re seeing a number of companies designed for rapid expansion learning to adapt
to a world that...
ᕕ( ᐛ )ᕗ Herman's...
How I learn (making games for the Playdate)
I (finally) received my Playdate, after about a year and a half of waiting. To be honest, I'd kinda...
11 months ago
I (finally) received my Playdate, after about a year and a half of waiting. To be honest, I'd kinda forgotten that I'd ordered it and was pleasantly surprised when it showed up.
For those who don't know, the Playdate is a niche handheld gaming console, similar to a Gameboy. It...
Tony Finch's blog
Novelkeys Kailh Big Switch build howto
main img {
border: 1px solid var(--fg);
width: 100%;
}
The Novelkeys Kailh Big Switch is a...
a year ago
main img {
border: 1px solid var(--fg);
width: 100%;
}
The Novelkeys Kailh Big Switch is a working MX-style
mechanical keyboard switch, but 4x larger in every dimension.
I realised at the weekend that the Big Switch should fit nicely in a
simple Lego enclosure. Because an...
Liz Denys
Liz rides the subway on September 19, 2016: Monday morning in New York and an emergency alert
Liz rides the subway is a series containing thoughts I have on the subway. On the 2 train to work,...
over a year ago
Liz rides the subway is a series containing thoughts I have on the subway. On the 2 train to work, after watching two men of color have their bags searched at Grand Army Plaza:
I woke up today to my phone beeping in a pattern that wasn't my alarm:
WANTED: Ahmad Khan Rahami,...
swyx's site RSS Feed
My 2022 New Mac Setup
I set up a new Mac for work today. Here's everything I use on a Mac for fullstack web development.
over a year ago
I set up a new Mac for work today. Here's everything I use on a Mac for fullstack web development.
Confessions of a...
How Python Compares Floats and Ints: When Equals Isn’t Really Equal
Another Python gotcha and an investigation into its internals to understand why this happens
7 months ago
Another Python gotcha and an investigation into its internals to understand why this happens
swyx's site RSS Feed
Technical Community Builder is the Hottest New Job in Tech
What if the real product was the friends we made along the way?
over a year ago
What if the real product was the friends we made along the way?
Remains of the Day
Catch up
It has been some time since I posted here. Outside of lots of meetings around the country and some...
over a year ago
It has been some time since I posted here. Outside of lots of meetings around the country and some trips with family and friends, a few creative projects have stolen the lion's share of my free time.
While I won't publish some Medium screed on how spending less time on social...
Ink & Switch
02 · Writing prose
Writers of books, blog posts, and science papers could benefit from powerful version control.
10 months ago
Writers of books, blog posts, and science papers could benefit from powerful version control.
swyx's site RSS Feed
How To Google Your Errors
---
over a year ago
sancho.dev
query-json: jq written in Reason
over a year ago
swyx's site RSS Feed
Big L Notation
In this post I sketch out `Big L` notation, which plots your learning as a function of `N` years of...
over a year ago
In this post I sketch out `Big L` notation, which plots your learning as a function of `N` years of experience, with `P` peers.
James Vaughan's blog
How To Make HTTP Requests In Elm
over a year ago
TokyoDev
Build-Measure-Learn is a Dangerous Idea
Tonight I had a chance to talk with one of my personal heroes,...
over a year ago
Tonight I had a chance to talk with one of my personal heroes, [Eric
Ries](http://www.startuplessonslearned.com/). While talking to him, I
realized one of the pitfalls of [the...
Jibran’s Perspective
My knowledge management system
This is a follow-up on my previous notes about Zettelkasten; Thoughts on Zettelkasten and the slip...
over a year ago
This is a follow-up on my previous notes about Zettelkasten; Thoughts on Zettelkasten and the slip box. Since then, I’ve had a chance to read and think more about the problems I listed out with trying to adapt a Zettelkasten style slip box for my knowledge management system.
I’ve...