A Beautiful Site
Web standards are just "minor details"
A friend of mine recently graduated and spread his wings by venturing into the corporate world. He...
over a year ago
A friend of mine recently graduated and spread his wings by venturing into the corporate world. He obtained a position as a junior project manager for a web consulting firm in Atlanta. Their work is very professional and their designs are great, but it was immediately evident...
macwright.com
CSS Roundup
I’ve been writing some CSS. My satisfaction with CSS ebbs and flows: sometimes I’m happy with its...
10 months ago
I’ve been writing some CSS. My satisfaction with CSS ebbs and flows: sometimes I’m happy with its new features like :has, but on the other hand, CSS is one of the areas where you really often get bitten by browser incompatibilities. I remember the old days of JavaScript in which...
PostHog's RSS Feed
How PostHog uses Wren to offset carbon emissions during offsites
Earlier this month, we finished our first PostHog offsite of the year near Porto, in Portugal. Team...
over a year ago
Earlier this month, we finished our first PostHog offsite of the year near Porto, in Portugal. Team members travelled from America, Estonia, The…
samwho.dev
API Design: In The Wild (part 2)
In a previous post we looked at some real-world APIs, highlighting the good and the bad, and in this...
over a year ago
In a previous post we looked at some real-world APIs, highlighting the good and the bad, and in this post we’re going to do the same!
›
Python’s datetime.datetime
Most experienced Pythonistas have written something like this at some point in their career:
import datetime
now =...
Daniel Immke's Blog...
2019: Lessons learned
It’s the end of the year — and the decade — as endless listicles remind me every day. I wrote an end...
over a year ago
It’s the end of the year — and the decade — as endless listicles remind me every day. I wrote an end of year blog post last year so I…
Acko.net
Frickin' Shaders With Frickin' Laser Beams
Hassle free GLSL
I've been working on a new library to compose GLSL shaders. This is part of a side...
over a year ago
Hassle free GLSL
I've been working on a new library to compose GLSL shaders. This is part of a side project to come up with a composable and incremental way of driving WebGPU and GPUs in general.
#pragma import { getColor } from 'path/to/color'
void main() {
gl_FragColor =...
Maggie Appleton
How to Become a Neo-Cartesian Cyborg
over a year ago
Tony Finch's blog
Blue paint in the C preprocessor
In the C preprocessor, after a macro has been expanded the result is
rescanned for further macros....
7 months ago
In the C preprocessor, after a macro has been expanded the result is
rescanned for further macros. To prevent recursion, [the C
standard][n3220] says the following in section 6.10.5.4p2. (This text
has been basically the same since C89.)
If the name of the macro being replaced is...
swyx's site RSS Feed
Reinforcement Learning: Game Theory
RL with multiple actors
over a year ago
David Heinemeier...
Children of You
The birth rate is dropping all over the world. In some places, like South Korea (0.72), it is so low...
3 months ago
The birth rate is dropping all over the world. In some places, like South Korea (0.72), it is so low people are starting to worry about a national extinction. In other places, including all of Europe (average 1.5, Spain 1.29), it's merely bad and alarming. And nobody seems to...
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:
Making software...
Linux Mint MacBook Air Setup
Linux Mint MacBook Air Setup
2020-08-16
I don't like the idea of throwing away old or outdated tech...
over a year ago
Linux Mint MacBook Air Setup
2020-08-16
I don't like the idea of throwing away old or outdated tech (within reason), so I try to find a new purpose for some of my "retired" devices. This article will cover how to switch over a mid-2011 model MacBook Air to utilize Linux...
Founder's blog
I'm finally dumping Visual Studio
After years of working with the "big" Visual Studio, I've had enough.
It's buggy, slow, and...
6 months ago
After years of working with the "big" Visual Studio, I've had enough.
It's buggy, slow, and frustrating, and I've decided to make the switch to Visual Studio Code.
While as a C# developer I'm still unsure if I can replicate every aspect of my workflow in VS Code,
I'm...
Josh Comeau's blog
Dynamic Bézier Curves
A deep dive into Bézier curves in React. We'll look at how to build dynamic effects such as...
over a year ago
A deep dive into Bézier curves in React. We'll look at how to build dynamic effects such as scroll-to-flatten using SVG path instructions, and how to architect our components for maximum readability and reusability.
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...
swyx's site RSS Feed
My Life as a Con Man
Confidence is a dual edged sword. I trafficked in confidence when I was in finance, and now I see it...
over a year ago
Confidence is a dual edged sword. I trafficked in confidence when I was in finance, and now I see it everywhere I look.
Jim Nielsen’s Blog
My Guest Appearance on JS Party #288
My frequent ramblings on this blog garnered enough of the attention of Jerod Santo that he...
a year ago
My frequent ramblings on this blog garnered enough of the attention of Jerod Santo that he graciously invited me to come on the JS Party podcast to talk about, well, my blog posts.
Which ones? To name a few:
Language-Level Toll Roads
The Art of Knowing When to Quit
Subscribe...
Jim Nielsen’s Blog
Bulletproof Method to Solving Problems
Step 1: Write down the problem in a message you plan to send to a co-worker.
Most of the time you’ll...
7 months ago
Step 1: Write down the problem in a message you plan to send to a co-worker.
Most of the time you’ll solve the problem before you’re done with Step 1. However, if you complete Step 1 and still have the problem, continue to Step 2.
Step 2: Hit the “Send” button.
Shortly after...
wingolog
needed-bits optimizations in guile
Hey all, I had a fun bug this week and want to share it with you.
First, though, some background. ...
2 months ago
Hey all, I had a fun bug this week and want to share it with you.
First, though, some background. Guile’s numeric operations are defined over the complex numbers, not
over e.g. a finite field of integers. This is generally great when
writing an algorithm, because you don’t have...
Daniel Marino
How to Process Customer Criticism
Why do us product designers opt into a career where we’re regularly challenged to be vulnerable?!...
over a year ago
Why do us product designers opt into a career where we’re regularly challenged to be vulnerable?! Design is super subjective, and everyone is a critic! Regardless of your education or how sharp your design eye is, you’ll never be able to please everyone. This is especially true...
37signals Dev
Thruster is now open source
We’ve just released Thruster as open source!
Thruster is a minimal HTTP/2 proxy server that we wrote...
9 months ago
We’ve just released Thruster as open source!
Thruster is a minimal HTTP/2 proxy server that we wrote to make it easier to serve a Rails application with great performance and security.
It runs alongside your existing Puma process, and adds:
HTTP/2 support
SSL (via Let’s Encrypt,...
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.
Ognjen Regoje •...
Situations in which TDD is the way to go
While I’m not a fan of using TDD all the time, here are a few situations where it’s...
a year ago
While I’m not a fan of using TDD all the time, here are a few situations where it’s effective.
Bugfix
Starting a bugfix by writing the broken test case is often very practical, especially with issues that show up somewhere in the front end, but the fix is somewhere deep in the...
PostHog's RSS Feed
After the HN launch
PostHog launched on Hacker News . We were pleased with the reception. The reason we launched wasn’t...
over a year ago
PostHog launched on Hacker News . We were pleased with the reception. The reason we launched wasn’t trying to get the world’s attention – we wanted to…
ntietz.com blog
Your app doesn't need to know my gender
So often when we sign up for an application, it asks us for our gender, sex, or title.
For example,...
a year ago
So often when we sign up for an application, it asks us for our gender, sex, or title.
For example, there is a cycling app called Zwift which I use to ride indoors.
When you sign up, you enter your gender.
On the app, they say that you need to be honest because it impacts...
Steve Klabnik
WebAssembly is more than just the web
over a year ago
PostHog's RSS Feed
HogMail #15
Welcome to HogMail, our newsletter featuring the best of the PostHog blog, tutorials, product...
over a year ago
Welcome to HogMail, our newsletter featuring the best of the PostHog blog, tutorials, product guides, and curated articles on building great products…
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...
Acko.net
Use.GPU Goes Trad
Old is new again
I've released a new version of Use.GPU, my experimental reactive/declarative...
a year ago
Old is new again
I've released a new version of Use.GPU, my experimental reactive/declarative WebGPU framework, now at version 0.8.
My goal is to make GPU rendering easier and more sane. I do this by applying the lessons and patterns learned from the React world, and...
David Heinemeier...
Dare to connect a server to the internet
The merchants of complexity thrive when they can scare you into believing that even the simplest...
10 months ago
The merchants of complexity thrive when they can scare you into believing that even the simplest things are too dangerous to even attempt by yourself these days. That without their rarified expertise, you’ll be left vulnerable. So best just to leave ever-more of your burdens to...
Steve Klabnik
The next iteration of "Designing Hypermedia APIs"
over a year ago
HTMHell
#16 alt, no wait…, aria-label, no wait…, alt
Context: A list of images that link to detail pages.
Bad code
<a tabindex="0">
<div alt="Browser...
over a year ago
Context: A list of images that link to detail pages.
Bad code
<a tabindex="0">
<div alt="Browser Wars: The Last Engine" aria-label="Browser Wars: The Last Engine">
<div>
<img alt="Browser Wars: The Last Engine" src="thumbnail.jpg">
</div>
</div>
</a>
Issues and...
Daniel Marino
JS13K 2018 Retrospective
In one of my weekly developer emails, I saw a link for JS13KGames. I've always wanted to create a...
over a year ago
In one of my weekly developer emails, I saw a link for JS13KGames. I've always wanted to create a video game. I asked my JavaScript-whiz buddy, Brad, if he was interested in building a game with me. Without hesitation, he said “Yes!”
Concept
A couple of years ago I came up with...
Marco.org
Overcast 5.1 with Instant Search
▶️
The first thing someone does in a podcast app is add some podcasts, and most active Overcast...
over a year ago
▶️
The first thing someone does in a podcast app is add some podcasts, and most active Overcast users add at least two new podcasts each month.
Over 80% of podcasts are added to Overcast by searching, with the vast majority as searches for a specific podcast by name (rather...
macwright.com
Recently
I skipped Recently last month. This one’s even more
of a grab-bag than usual!
The <video> element...
4 months ago
I skipped Recently last month. This one’s even more
of a grab-bag than usual!
The <video> element and browser abstractions
I was reading Iván Sánchez Ortega’s thoughts on maps4html
(at the time of writing, his website is down, so that’s an archive.org
link). The post is about a...
Chris Nicholas
A new blog for 2024
It’s been a long time since I’ve published a blog post. Two whole years. Now we’ve reached 2024,...
11 months ago
It’s been a long time since I’ve published a blog post. Two whole years. Now we’ve reached 2024, it’s time for a complete refresh.
Neil Panchal
How to install PostgreSQL in a custom directory
When you install postgresql using apt-get, it runs initdb and automatically creates a main cluster....
over a year ago
When you install postgresql using apt-get, it runs initdb and automatically creates a main cluster. Typically, the default data directory location is in /var/lib/postgresql/<version>/<cluster>/.
There are three ways to install PostgreSQL in a custom directory. Options 1 and 2 are...
Making software...
Dynamic Checkboxes
Dynamic Checkboxes
2019-07-30
Checkboxes are used quite frequently on forms across the web. Whether...
over a year ago
Dynamic Checkboxes
2019-07-30
Checkboxes are used quite frequently on forms across the web. Whether you're selecting a pricing plan during a site's sign-up process or just simply selecting to opt-out from a newsletter, you have most likely interacted with some form of checkbox...
swyx's site RSS Feed
Being a minor AI public figure
I was recently involved in moderating a chat with Kanjun Qiu of Imbue at the MIT AI conf:...
a year ago
I was recently involved in moderating a chat with Kanjun Qiu of Imbue at the MIT AI conf: https://photos.google.com/share/AF1QipNJ9i78ICeg2YuemyAXmtStKvqr9l0Tao3xQWxmeAVjBALHn_NnFvPXFlNSkdMfqA?pli=1&key=dTFRRHBTLVRZTEVCem0zal8tNVkxblh0V3k4VXhR
A Beautiful Site
Introducing Surreal CMS 7
Last November was the 10 year mark for Surreal CMS, a content management service I created to manage...
over a year ago
Last November was the 10 year mark for Surreal CMS, a content management service I created to manage static (and mostly static) websites.
Last week, I soft launched Surreal CMS 7. This new version is a complete rebuild from scratch using Node.js + Vue.js. I worked on this new...
TokyoDev
Venture Cafe
![Venture...
over a year ago
![Venture Cafe](https://www.tokyodev.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZzRsIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ba1e65f25bf034abe1e412b48d5578aafd57c2af/venture_cafe.jpg)
[Venture Cafe] had its first event, はたらくモチベーション...
swyx's site RSS Feed
Why You Should Pre-Sell
My thoughts on preselling, from having done it successfully exactly one time.
over a year ago
My thoughts on preselling, from having done it successfully exactly one time.
Elad Blog
Unicorn Market Cap, June 2021 (Almost Post-Pandemic Edition)
I have previously written about Unicorn Market Cap and Industry towns in 2019 and 2020. Over the...
over a year ago
I have previously written about Unicorn Market Cap and Industry towns in 2019 and 2020. Over the last 8 months the number of tech startups worth $1B or more ("unicorns") has grown by 43% from 487 Unicorns to 701. This is almost double the 361 unicorns in June 2019
Coding Horror
There is no longer any such thing as Computer Security
Remember "cybersecurity"?
Mysterious hooded computer guys doing mysterious hooded computer guy .....
over a year ago
Remember "cybersecurity"?
Mysterious hooded computer guys doing mysterious hooded computer guy .. things! Who knows what kind of naughty digital mischief they might be up to?
Unfortunately, we now live in a world where this kind of digital mischief is literally rewriting the...
bt RSS Feed
This Site is Now a Shinobi Website
This Site is Now a Shinobi Website
2022-05-13
Update 2024: this website is now built with wruby
My...
over a year ago
This Site is Now a Shinobi Website
2022-05-13
Update 2024: this website is now built with wruby
My personal website is now an RSS-focused blog, generated from a collection of plain text files.
But before we get into greater details about the switch, let me first introduce the...
Making software...
Keynote Slides with Pure CSS
Keynote Slides with Pure CSS
2020-06-22
There are a great deal of options available on the web and...
over a year ago
Keynote Slides with Pure CSS
2020-06-22
There are a great deal of options available on the web and built into most operating systems when you need to create presentation / keynote slides. You could use native software like LibremOffice Impress, Powerpoint, Apple's Keynote, etc....
Ink & Switch
Pushpin: Towards Production-Quality Peer-to-Peer Collaboration
Taking peer-to-peer beyond research prototypes, and working towards commercial-grade P2P...
over a year ago
Taking peer-to-peer beyond research prototypes, and working towards commercial-grade P2P collaboration software.
Renegade Otter
Getting our focus back
“We was robbed…”
Attention is arguably the most precious resource of the 21st century. Technology...
a year ago
“We was robbed…”
Attention is arguably the most precious resource of the 21st century. Technology companies have expended incredible efforts to
improve the ways in which they capture our attention and convert it into revenue. That fight for the
nine unmonetized glances.
An...
swyx's site RSS Feed
What if Stripe is the next Google?
Working out a thought exercise by Paul Graham.
over a year ago
Working out a thought exercise by Paul Graham.
swyx's site RSS Feed
The Upload (short story)
My first attempt at bringing back the short story in ~30 years.
8 months ago
My first attempt at bringing back the short story in ~30 years.
The Pragmatic...
Apple cracking down to enforce its RTO policy
Software engineers and their managers have started to receive warnings for not working in the office...
a year ago
Software engineers and their managers have started to receive warnings for not working in the office at least 3 days per week. I talked with engineers on how they see the policy being enforced.
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...
Remains of the Day
Narrative debt
HBO’s Watchmen is fantastic, as many have noted. It may be one of the most polished first drafts of...
over a year ago
HBO’s Watchmen is fantastic, as many have noted. It may be one of the most polished first drafts of fan fiction to ever appear on the silver, errr, OLED screen.
DC may lag behind the Marvel Universe in box office and audience acclaim, but it feels like DC is starting to find its...
TokyoDev
On the Value of Software
One of the biggest challenges in moving from a software developer to entrepreneur has been changing...
over a year ago
One of the biggest challenges in moving from a software developer to entrepreneur has been changing my perception of the value of software. As a developer, the underlying assumption was the more functionality software had, the more valuable it was. This proposition was...
TokyoDev
Progress and Challenges: Reflections of a Working Mother in Japan
The result of [TokyoDev's International Developers in Japan Survey...
a year ago
The result of [TokyoDev's International Developers in Japan Survey 2022](/insights/2022-developer-survey) revealed that the country is still struggling to close the gender gap in the workplace in the tech industry.
As a Japanese woman and a mother of two children, I was very...
Josh Comeau's blog
Announcing “use-sound”, a React Hook for Sound Effects
By and large, using the web is a visual experience. This is in terrible contrast to mobile apps,...
over a year ago
By and large, using the web is a visual experience. This is in terrible contrast to mobile apps, which interact with three of our human senses (sight, sound, and touch, through haptic feedback). I just released a library to make it easy to add sound to your React app, and I make...
HTMHell
#2 div with button role
Bad code
<div tabindex="-1">
<div role="button">
<svg width="28" height="24"> … </svg>
...
over a year ago
Bad code
<div tabindex="-1">
<div role="button">
<svg width="28" height="24"> … </svg>
</div>
</div>
Issues and how to fix them
Setting button semantics explicitly using the role attribute isn’t necessary, there’s an element for that (button).
You don’t need the tabindex...
PostHog's RSS Feed
The 9 best GDPR-compliant analytics tools
The GDPR (General Data Protection Regulation) places significant restrictions on how you can use...
a year ago
The GDPR (General Data Protection Regulation) places significant restrictions on how you can use tools like Google Analytics to track and collect user…
alexwlchan
Hyperfocus and hobbies →
One of the last things I did at Wellcome Collection was writing a story about hyperfocus and how it...
a year ago
One of the last things I did at Wellcome Collection was writing a story about hyperfocus and how it affects my cross-stitch.
I’m really proud of this one, and I hope you’ll consider reading.
Writing for Stories was one of my “bucket list” items while working at Wellcome, and I...
37signals Dev
My adventures hunting down a Ruby memory leak 🎢
In this article, I tell the story of a memory leak we had in our HEY app, the cool tools I could use...
9 months ago
In this article, I tell the story of a memory leak we had in our HEY app, the cool tools I could use to investigate and how I finally figured out the root cause.
Memory leaks can be tricky to diagnose and having the right set of tools makes a huge difference.
I hope my adventures...
Basta’s Notes
Don't make me read your PR description
I started using Github Copilot a month or two ago for my personal projects. I can’t say that it’s...
a year ago
I started using Github Copilot a month or two ago for my personal projects. I can’t say that it’s been a net positive. There are more than a handful of problems that make me slower: Sometimes it suggests a closing quote or paren that isn’t needed. Removing the duplicate character...
PostHog's RSS Feed
Array 1.33.0
Introducing a full multivariate Experimentation suite, granular permissions on dashboards, Altinity...
over a year ago
Introducing a full multivariate Experimentation suite, granular permissions on dashboards, Altinity Cloud support for ClickHouse, configuring your instance from the PostHog UI and 290+ improvements/fixes.
Alex Meub
Building a 3D Printer Enclosure
Earlier this year, I purchased a 3D printer and it’s been a blast! I had no idea how easy it would...
over a year ago
Earlier this year, I purchased a 3D printer and it’s been a blast! I had no idea how easy it would be to create high-quality prints with such little effort. I’ve printed raspberry pi cases, kids’ toys, ceiling hooks, custom parts, electronics enclosures, curtain rod holders,...
A Smart Bear
The fundamental forces of scale
These forces make larger companies slower and more difficult to execute, but also more effective...
a year ago
These forces make larger companies slower and more difficult to execute, but also more effective when harnessed and leveraged.
blag
Flashing Asus-WRT Merlin by XVortex on NetGear NightHawk R7000
This tutorial will explain you how to flash Asus-WRT Merlin by XVortex on NetGear NightHawk R7000.
over a year ago
This tutorial will explain you how to flash Asus-WRT Merlin by XVortex on NetGear NightHawk R7000.
ntietz.com blog
Great management and leadership books for the technical track
In tech, we're fortunate to have separate management and technical tracks, though it's still...
10 months ago
In tech, we're fortunate to have separate management and technical tracks, though it's still underdeveloped1.
However, the path you take isn't very clear, it's not broadly understood what the responsibilities are, and there aren't as many resources out there as there are for...
The Codist
I Am Happy Not To Be A Web Developer Anymore
I wrote my first single-page web app in Javascript in 2005, right after learning about...
a year ago
I wrote my first single-page web app in Javascript in 2005, right after learning about XMLHttpRequest and before any serious frameworks existed. I left professional web development behind around 2009 (I started in 1997 with WebObjects) and spent the final decade of my career...
Making software...
Never Do Spec Work for Free
Never Do Spec Work for Free
2022-11-07
Your time is valuable and shouldn't be taken for granted. Let...
over a year ago
Never Do Spec Work for Free
2022-11-07
Your time is valuable and shouldn't be taken for granted. Let me say that again for the people in the back: your time is valuable and shouldn't be taken for granted. Time is the most precious commodity we have as human beings, so never waste...
Joel on Software
Announcing Stack Overflow for Teams
New product: Stack Overflow for Teams lets you direct questions to members of your own team,...
over a year ago
New product: Stack Overflow for Teams lets you direct questions to members of your own team, company, or organization. Read more "Announcing Stack Overflow for Teams"
Jim Nielsen’s Blog
Is Making Websites Hard, Or Do We Make It Hard? Or Is It Some of Both?
Johan Halse has a post called “Care” where he talks about having to provide web tech support to his...
9 months ago
Johan Halse has a post called “Care” where he talks about having to provide web tech support to his parents:
My father called me in exasperation last night after trying and failing to book a plane ticket. I find myself having to go over to their house and do things like switch...
Basta’s Notes
Gumby Coin: a story about a 1958 claymation character, cryptocurrency, and pizza
A grift, a failure, or a mistake?
a year ago
A grift, a failure, or a mistake?
Liz Denys
xoxo
You and I meeting
Places to experiment, learn,
failure.
But you and I -
Places and spaces...
over a year ago
You and I meeting
Places to experiment, learn,
failure.
But you and I -
Places and spaces into
moments and memories and
bonds to hold onto
beyond those polygons,
yellow, orange, and red.
A Smart Bear
In its emptiness, there is the function of a startup
Everything about a startup changes over time. The few things that don't, are its essence. The voyage...
a year ago
Everything about a startup changes over time. The few things that don't, are its essence. The voyage is meaningless, unless you decide what those things are.
Alex Meub
Recreating the Windows BSOD
I thought it would be fun to recreate the iconic Windows Blue Screen of Death (BSOD) in Photoshop. I...
over a year ago
I thought it would be fun to recreate the iconic Windows Blue Screen of Death (BSOD) in Photoshop. I found the classic DOS system font and was able recreate a pixel-perfect BSOD image using it.
You can see a rendering of the classic BSOD in all it’s pixelated glory here and...
Vadim Kravcenko
Is 150K USD a reasonable rate to build a mobile app?
So, you’ve been quoted a cool 50K for designs and 150K for your mobile app development. That’s a...
a year ago
So, you’ve been quoted a cool 50K for designs and 150K for your mobile app development. That’s a hefty sum, […]
The post Is 150K USD a reasonable rate to build a mobile app? appeared first on Vadim Kravcenko.
Blog - Bitfield...
If you need the money, don't take the job
Money: how to get people to give it to you, how much to ask for, and how to
be worth what you're...
7 months ago
Money: how to get people to give it to you, how much to ask for, and how to
be worth what you're asking. Some real talk about the challenges you’ll
face as a newly independent worker.
Florian Bellmann |...
The late night coding session
A small reflection on the joy of late night coding session
a year ago
A small reflection on the joy of late night coding session
swyx's site RSS Feed
Why I Moved Off Dev.to
2 years ago I [moved all my blogging to Dev.to](https://www.swyx.io/devto-cms). Today [my main blog...
over a year ago
2 years ago I [moved all my blogging to Dev.to](https://www.swyx.io/devto-cms). Today [my main blog is on Github Issues](https://www.swyx.io/github-cms) and [I've just launched DXTips on Hashnode](https://twitter.com/swyx/status/1531330889535602688).
swyx's site RSS Feed
My 2021 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.
macwright.com
Recently
Early this month I arrived at work to see a Concorde parked in the
Brooklyn Navy Yard. It’s
been fun...
a year ago
Early this month I arrived at work to see a Concorde parked in the
Brooklyn Navy Yard. It’s
been fun to identify the ships docked there, but an airplane was new,
especially such a rare one. I guess a lot of airplane knowledge from
my childhood has stayed with me, and being...
Joel Gascoigne
When creating new habits, let yourself be sloppy
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
> "Don’t let...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
> "Don’t let perfect be the enemy of good" - Gretchen Ruben
[http://www.happiness-project.com/happiness_project/2012/12/secret-of-adulthood-dont-let-the-perfect-be-the-enemy-of-the-good/]
One...
Irrational...
Grab bag of random thoughts.
A bit over a week from now, I’ll be joining a company to start a new role, and I wanted to ramble a...
a year ago
A bit over a week from now, I’ll be joining a company to start a new role, and I wanted to ramble a bit to braindump
the numerous loose threads in my head as I transitioned from Calm to the past month of full-time writing, and then
into this new role.
This isn’t really a job...
Cognitive...
Dolphin 🐬
Today I am announcing Dolphin, an open-source and uncensored, and commercially licensed dataset and...
a year ago
Today I am announcing Dolphin, an open-source and uncensored, and commercially licensed dataset and series of instruct-tuned language models based on Microsoft's Orca paper.
The dataset is released here, with Apache-2.0 license. The dataset can be used for commercial or...
Joel Gascoigne
Change at Buffer: The next phase, and why our co-founder and our CTO are moving on
> Note: this was originally posted on the Buffer...
over a year ago
> Note: this was originally posted on the Buffer blog
[https://open.buffer.com/change-at-buffer/].
We’ve always done things differently at Buffer. For me, this has always come
from a natural desire to question things.
Why base your company and team in a single location? Why is...
swyx's site RSS Feed
What to do when iCloud is stuck on uploading items
I use iCloud as my syncing engine for my [Obsidian Second...
over a year ago
I use iCloud as my syncing engine for my [Obsidian Second Brain](https://www.swyx.io/obsidian-brain), and twice now I've seen iCloud get corrupted into a really bad state. I also [back up everything to github](https://github.com/sw-yx/brain), so I dont really experience much data...
General Robots
So You Want To Do Robots, Step 4: Profit?
About this series I’ve been working on general purpose robots with Everyday Robots for 8 years, and...
a year ago
About this series I’ve been working on general purpose robots with Everyday Robots for 8 years, and was the engineering lead of the product/applications group until me and my team was impacted by the recent Alphabet layoffs. This series is an attempt to share almost a decade of...
David Heinemeier...
DEI is done (minus the mop up)
In November of 2022, I wrote about the waning days of DEI's dominance, and enumerated four factors...
7 months ago
In November of 2022, I wrote about the waning days of DEI's dominance, and enumerated four factors that I saw as primary drivers of this decline. Those waning days have now been brought to a close, and DEI, as an obsessive, ideological preoccupation of the corporate world, is...
ntietz.com blog
Introducing Yet Another Rust Resource (or YARR!)
Rust is a hard language to learn, in the scheme
1
of things.
I've previously talked about why...
a year ago
Rust is a hard language to learn, in the scheme
1
of things.
I've previously talked about why the learning curve is hard and what we could do about it.
Today, I'm proud to say that there's another resource to help people learn Rust in a more approachable way.
Introducing Yet...
TokyoDev
2019 International Developer in Japan Survey Results
*This survey has become a yearly thing. Browse [all our survey results](/insights).*
If you're an...
over a year ago
*This survey has become a yearly thing. Browse [all our survey results](/insights).*
If you're an international software developer looking for a job in Japan, it can be hard to tell what your market rate is. Sure, there's data (in Japanese) for the market as a whole, but that...
The Pragmatic...
Google Domains to shut down
The world’s 3rd most popular domain registrar has been sold to Squarespace – but Google didn’t...
a year ago
The world’s 3rd most popular domain registrar has been sold to Squarespace – but Google didn’t notify customers just yet. When could this happen, and why is Google silent?
Vladimir Klepov as a...
useEffect sometimes fires before paint
useEffect should run after paint to prevent blocking the update. But did you know it's not really...
over a year ago
useEffect should run after paint to prevent blocking the update. But did you know it's not really guaranteed to fire after paint? Updating state in useLayoutEffect makes every useEffect from the same render run before paint, effectively turning them into layout effects....
Julia Evans
What helps people get comfortable on the command line?
Sometimes I talk to friends who need to use the command line, but are
intimidated by it. I never...
a year ago
Sometimes I talk to friends who need to use the command line, but are
intimidated by it. I never really feel like I have good advice (I’ve been using
the command line for too long), and so I asked some people on Mastodon:
if you just stopped being scared of the command line in...
Kevin Chen
Analyzing Tesla AI Day 2022
I was fortunate enough to attend this year’s Tesla AI Day. Tesla’s architecture has always been...
over a year ago
I was fortunate enough to attend this year’s Tesla AI Day. Tesla’s architecture has always been interesting to me because their hardware limitations drive advances in their software. Relative to other players in the industry:
Low-spec sensors require ML- and data-first...
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...
samwho.dev
Move Your Bugs to the Left
We all want to ship bug-free software. No-one wants to be the person that
introduced a show-stopping...
over a year ago
We all want to ship bug-free software. No-one wants to be the person that
introduced a show-stopping bug the week before release. To help with this, I’ve
come up with a simple way to visualise the points in the development process
that you can find bugs.
The further to the left...
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 Smart Bear
Individual efficiency vs administrative efficiency
When to prioritize individual autonomy, and when to standardize for global optimization.
4 months ago
When to prioritize individual autonomy, and when to standardize for global optimization.
ntietz.com blog
Paper review: C-store
It's that time again: I read another paper, and here's what I took away from it!
This week I read...
over a year ago
It's that time again: I read another paper, and here's what I took away from it!
This week I read "C-store: a column-oriented DBMS" from chapter 4 of the Red Book.
This one I picked since I thought it would be helpful for the chess database I'm working on, and it does seem...
Jim Nielsen’s Blog
Sanding UI
One of the ways I like to do development is to build something, click around a ton, make tweaks,...
3 months ago
One of the ways I like to do development is to build something, click around a ton, make tweaks, click around more, more tweaks, more clicks, etc., until I finally consider it done.
The clicking around a ton is the important part. If it’s a page transition, that means going back...
swyx's site RSS Feed
The Strange Case of the Danish Aarhus Mafia
Why are so many CS pioneers from Denmark?
over a year ago
Why are so many CS pioneers from Denmark?
A Beautiful Site
The next version of PHP may very well be 7
We've been hearing about PHP 6 since 2005, but nothing has been brought to fruition yet. In fact,...
over a year ago
We've been hearing about PHP 6 since 2005, but nothing has been brought to fruition yet. In fact, the project was so plagued with problems that in 2010, it was abandoned. It almost felt like PHP would be perpetually stuck at version 5.
Except now there's talk about another major...
alexwlchan
Getting the path to the note I have open in Obsidian
I have a bunch of Python scripts I use to clean up text files, and I call them by passing the path...
11 months ago
I have a bunch of Python scripts I use to clean up text files, and I call them by passing the path to the text file as an argument, for example:
$ python clean_up_text.py /path/to/text/file.md
This is mostly fine, but finding that path is a bit annoying when I want to run them...
ntietz.com blog
When to use cute names or descriptive names
I've previously written that project names should be cute, not descriptive.
That post talks about...
9 months ago
I've previously written that project names should be cute, not descriptive.
That post talks about services and does not talk at all about modules or variables.
It's different in the latter context: those names should often be descriptive.
What's the difference, and how do you...
A Smart Bear
Deciding whether an investment is worthwhile
Why "expected value" doesn't work; here's a better framework for making long-term investments in...
10 months ago
Why "expected value" doesn't work; here's a better framework for making long-term investments in your career, startup, and life.
Tyler Cipriani: blog
The beginner's guide to overcomplicating coffee ☕
Complicated coffee: plain and
simple.
There’s a scene in AMC’s “Breaking
Bad” where Gail Boetticher...
a year ago
Complicated coffee: plain and
simple.
There’s a scene in AMC’s “Breaking
Bad” where Gail Boetticher explains to Walter White how to make the
perfect cup of coffee. And it all sounds so plausible—there’s a
perfect coffee, and science will magic it for us.
That whole idea, scene,...
Founder's blog
SQL is the most long lasting skill in tech
In January 2020, right before COVID hit, a question has popped up at the HackerNews front...
a year ago
In January 2020, right before COVID hit, a question has popped up at the HackerNews front page:
"Which technology is worth learning in 2020?"
And the most "upvoted" answer was:
Learn how to really use a relational database, relational data modeling, and SQL
Well,...
A Smart Bear
For probabilities, use Fermi numbers, not words
Don't use phrases like "unlikely" or "almost certainly." Here's real-world data showing why not, and...
a year ago
Don't use phrases like "unlikely" or "almost certainly." Here's real-world data showing why not, and what to do instead.
swyx's site RSS Feed
The Traction vs Trust Equation of Cofounder Dating
One of the most common problems in the beginning stage of a founder journey is establishing the...
a year ago
One of the most common problems in the beginning stage of a founder journey is establishing the cofounder group. I thought I would jot down some notes from my own experience + that of friends in similar situations.
the singularity is...
Imitation Learning
7 years ago I started comma.ai with a simple idea.
Gather tons of human driving data, state action...
a year ago
7 years ago I started comma.ai with a simple idea.
Gather tons of human driving data, state action pairs: (S_t, A_t)
Train a supervised model f(S_t) -> A_t
Drive cars with that model.
The exact original formulation was a model that predicts steering angle from image, then used a...
swyx's site RSS Feed
Automated Data Scraping with Github Actions
A neat trick I discovered from Mikeal Rogers
over a year ago
A neat trick I discovered from Mikeal Rogers
ntietz.com blog
Open source licenses as a reflection of values
I'm the kind of nerd that has a favorite software license.
For a while that favorite license was the...
over a year ago
I'm the kind of nerd that has a favorite software license.
For a while that favorite license was the Mozilla Public License (MPL).
Right now, it's the GNU Affero General Public License (AGPL).
Licenses are really important on all code, and they're critical to the open source...
A Smart Bear
The "Talk vs Walk" framework
This exercise we invented at WP Engine is surprisingly useful in engaging both Marketing and...
over a year ago
This exercise we invented at WP Engine is surprisingly useful in engaging both Marketing and Product, generating actions for both sides that make products more desirable and competitive.
37signals Dev
Mission Control — Jobs 1.0 released
We’ve just released Mission Control — Jobs v1.0.0, the dashboard and set of extensions to operate...
2 weeks ago
We’ve just released Mission Control — Jobs v1.0.0, the dashboard and set of extensions to operate background jobs that we introduced earlier this year. This new version is the result of 92 pull requests, 67 issues and the help of 35 different contributors. It includes many...
General Robots
Coming soon
This is General Robots.
a year ago
A Beautiful Site
Avoiding timestamp errors when calculating dates in php
When calculating dates in PHP, it is easy to add millisecond values such as 60 * 60 * 24 to...
over a year ago
When calculating dates in PHP, it is easy to add millisecond values such as 60 * 60 * 24 to increment the time by one day. This can become problematic for two main reasons.
Issues with leap years #
A year has approximately 365.25 days, hence a leap year occurs once every four...
David Heinemeier...
Passwords have problems, but passkeys have more
We had originally planned to go all-in on passkeys for ONCE/Campfire, and we built the early...
3 months ago
We had originally planned to go all-in on passkeys for ONCE/Campfire, and we built the early authentication system entirely around that. It was not a simple setup! Handling passkeys properly is surprisingly complicated on the backend, but we got it done. Unfortunately, the user...
Josh Collinsworth
A message from the Captain of the S.S. Layoff
Indeed, there's plenty to go around, thanks largely to all of you. But the fastest way to make the...
a year ago
Indeed, there's plenty to go around, thanks largely to all of you. But the fastest way to make the numbers better is to stop feeding and sheltering people and their families. Nothing personal.
Nelson's Weblog
APIs for content sites must be free
Social media businesses should not charge* for APIs. If a company
like Reddit or Twitter derives...
a year ago
Social media businesses should not charge* for APIs. If a company
like Reddit or Twitter derives most of its value from content that users
write for free then it must provide APIs for anyone to download and
manipulate that content. While an interactive API that enables...
HTMHell
ARIA Live Regions
by Andrea de Souza
ARIA stands for Accessible Rich Internet Applications. It is a set of roles and...
a year ago
by Andrea de Souza
ARIA stands for Accessible Rich Internet Applications. It is a set of roles and attributes that makes web page elements accessible to users who require assistive technology, like screen readers, when native HTML alone is not enough. One of these sets of roles...
ntietz.com blog
What's the difference between references and pointers in Rust?
I've been working on writing a Rust training course, and one of the things I struggled with...
a year ago
I've been working on writing a Rust training course, and one of the things I struggled with explaining in there was the difference between references and pointers.
Ultimately, the underlying representation is the same: both hold an address for some memory.
The difference between...
bt RSS Feed
Installing Ruby with RVM on Alpine Linux
Installing Ruby with RVM on Alpine Linux
2023-03-16
For some on-going projects I need to switch to...
a year ago
Installing Ruby with RVM on Alpine Linux
2023-03-16
For some on-going projects I need to switch to different versions of ruby. Although there exist many step-by-step instructions on installing and configuring rvm for most Linux distros, there aren’t many focused on Alpine “daily...
PostHog's RSS Feed
Array 1.27.0
PostHog 1.27.0 is here! Completely redesigned funnels experience will help you dive deeper to...
over a year ago
PostHog 1.27.0 is here! Completely redesigned funnels experience will help you dive deeper to understand why your users aren't converting. Plus 400+ improvements & fixes.
PostHog's RSS Feed
Writing for developers
As a founder, one of the most surprisingly important skills I've realized I have is hitting the...
over a year ago
As a founder, one of the most surprisingly important skills I've realized I have is hitting the front page of Hacker News . Out of five posts that I…
PostHog's RSS Feed
Don’t bother securing your trademarks in the beginning
Disclaimer: This is intended as a short, tactical guide to getting your trademarks sorted out for...
over a year ago
Disclaimer: This is intended as a short, tactical guide to getting your trademarks sorted out for the first time, on a minimal budget. This is not…
Tyler Cipriani: blog
Writing raft
✏️⚡🔪
The club that’s write or die.
If you want to be a writer, you must do two things above all...
over a year ago
✏️⚡🔪
The club that’s write or die.
If you want to be a writer, you must do two things above all others:
read a lot and write a lot.
– Stephen King, “On Writing”
In 2022, I made a Ulysses pact to
force myself to write—either write or feel the white-hot shame of
(temporary)...
alexwlchan
Preserving Dates during JSON serialisation with vanilla JS
For my sins, I’ve spent a lot of the last year dealing with datetime-related bugs.
One of our...
a year ago
For my sins, I’ve spent a lot of the last year dealing with datetime-related bugs.
One of our longest-standing issues has been around sending Date values via JSON – JavaScript will happily encode a Date value in JSON, but it gets encoded as a string, and there’s no easy way to...
PostHog's RSS Feed
Should open source projects track you?
Many open source projects now track their usage in some way, shape, or form. So much user tracking...
over a year ago
Many open source projects now track their usage in some way, shape, or form. So much user tracking is horrible. It's usually buried deep in the…
Computer Things
A brief introduction to interval arithmetic
You've got a wall in your apartment and a couch. You measure the wall with a ruler and get 7 feet,...
6 months ago
You've got a wall in your apartment and a couch. You measure the wall with a ruler and get 7 feet, then you measure the couch and get 7 feet. Can you fit the couch against that wall?
Maybe. If the two measure is exactly 7 feet than sure, 7 ≤ 7. But you probably didn't line your...
swyx's site RSS Feed
The Power of Personal Podcasting
Celebrating following 100 episodes of my mixtape, and reflecting on why this works
over a year ago
Celebrating following 100 episodes of my mixtape, and reflecting on why this works
blag
Recurse Center Day 5: Garbage Collection Algorithms
Learning the basics of GC, mark-sweep algorithm
over a year ago
Learning the basics of GC, mark-sweep algorithm
Daniel Marino
Making Generative Art
I saw Joshua Davis give a talk over 10 years ago, and I was mesmorized. Not just by how engaging he...
11 months ago
I saw Joshua Davis give a talk over 10 years ago, and I was mesmorized. Not just by how engaging he was, but more so with the work he was doing with generative art.
I had never heard of generative art before, but I immediately fell in love with the concept of it. I like to draw,...
PostHog's RSS Feed
Why open-source projects are essential for large businesses
The famous line from Marc Andreesen that “software is eating the world” has become part and parcel...
over a year ago
The famous line from Marc Andreesen that “software is eating the world” has become part and parcel of modern technology’s canon and it continues to…
alexwlchan
create_thumbnail: create smaller versions of images
I’ve made a new command-line tool: create_thumbnail, which creates thumbnails of images.
I need...
4 months ago
I’ve made a new command-line tool: create_thumbnail, which creates thumbnails of images.
I need image thumbnails in a lot of projects, and I wanted a single tool I could use in all of them rather than having multiple copies of the same code.
It takes three arguments:
Your...
Irrational...
Predictability.
Right now I’m reading Michael S. Malone’s The Big Score, and one thing that I love about it is how...
11 months ago
Right now I’m reading Michael S. Malone’s The Big Score, and one thing that I love about it is how much it believes that key individuals drive and create industries. It’s an infectious belief, and a necessary one to write a concise, coherent narrative story about the origins of...
swyx's site RSS Feed
Pensieve: Mar 8 2024 - on Dune 2
A collection of public thoughts that could be blogposts but i dont have time, so here, have the...
9 months ago
A collection of public thoughts that could be blogposts but i dont have time, so here, have the short form. I may upgrade these to full posts in future.
alexwlchan
My custom <picture> plugin for Jekyll
About seven months ago, I did a complete rewrite of how I handle images on this site.
It’s working...
a year ago
About seven months ago, I did a complete rewrite of how I handle images on this site.
It’s working well and nothing seems to have broken, so I thought it might be good to explain what I’m doing.
For readers: I want images to load quickly and look good.
That means looking sharp on...
Kevin Chen
SIGCSE 2018 notes
SIGCSE attendees from Columbia’s Computer Science department.
Over the weekend, I attended SIGCSE...
over a year ago
SIGCSE attendees from Columbia’s Computer Science department.
Over the weekend, I attended SIGCSE — the ACM’s conference on
computer science education — with the teaching staff of Columbia’s
Advanced Programming course. We learned about everything from rubric
design to...
Kagi Blog
Kagi raises $670K
Kagi ( https://kagi.com ) has successfully raised $670K in a SAFE note investment round, marking our...
a year ago
Kagi ( https://kagi.com ) has successfully raised $670K in a SAFE note investment round, marking our first external fundraise to date.
PostHog's RSS Feed
Array 1.26.0
PostHog 1.26.0 is here! Read about our Series B raise, our new features, and find out who are the 4...
over a year ago
PostHog 1.26.0 is here! Read about our Series B raise, our new features, and find out who are the 4 new team members we've onboarded.
David Heinemeier...
Don't lose your unreasonable sense of urgency
Getting anything new off the ground usually requires a tremendous amount of urgency. It's hard to...
a year ago
Getting anything new off the ground usually requires a tremendous amount of urgency. It's hard to launch something from nothing into reality without being incredibly impatient for progress. Thus most founders begin 🎶Their Journey🎶 sprinting from one pressing problem to the...
bt RSS Feed
Converting HEIF Images with macOS Automator
Converting HEIF Images with macOS Automator
2023-07-21
Often times when you save or export photos...
a year ago
Converting HEIF Images with macOS Automator
2023-07-21
Often times when you save or export photos from iOS to iCloud they often render themselves into heif or heic formats. Both macOS and iOS have no problem working with these formats, but a lot of software programs will not even...
Making software...
My Coffee Maker Just Makes Coffee
My Coffee Maker Just Makes Coffee
2023-01-09
I had to replace my dual Keurig coffee maker twice...
a year ago
My Coffee Maker Just Makes Coffee
2023-01-09
I had to replace my dual Keurig coffee maker twice over a period of five months. This occurred a year ago and these are my findings.
Built to Fail?
I followed the manufactor's suggested cleaning schedule and took care of the...
Liz Denys
Seeing every BAM Next Wave Festival show
From October to December of last year, I saw a lot of shows at the Brooklyn Academy of Music -...
over a year ago
From October to December of last year, I saw a lot of shows at the Brooklyn Academy of Music - specifically, I saw all 26 of the Next Wave Festival productions.
I've been coming to BAM regularly since I moved to New York in 2011, and Next Wave is always an exciting time of year...
PostHog's RSS Feed
Array 1.8.0
What's box-fresh in PostHog? Cumulative graphs, better paths, and an upgrade to our actions. If...
over a year ago
What's box-fresh in PostHog? Cumulative graphs, better paths, and an upgrade to our actions. If you're self hosting and want these features - update…
A Smart Bear
The Impossible Product Manager, a.k.a. the "Great" Product Manager
According to the Internet, being a Product Manager is impossible. Can you ever measure up? No, but...
over a year ago
According to the Internet, being a Product Manager is impossible. Can you ever measure up? No, but don’t worry, there’s a better answer.
HTMHell
The UX of HTML
by Vasilis van Gemert
Recently when I gave a coding assignment — an art directed web page about a...
a year ago
by Vasilis van Gemert
Recently when I gave a coding assignment — an art directed web page about a font — a student asked: does it have to be semantic and shit? The whole class looked up, curious about the answer — please let it be no! I answered that no, it doesn’t have to be...
A Beautiful Site
Archiving Postleaf
Postleaf — at least in its current form — has been discontinued. In the future, I'd like to bring it...
over a year ago
Postleaf — at least in its current form — has been discontinued. In the future, I'd like to bring it back as something different. Maybe an open source project. Maybe a SaaS product. I'm not sure at this point.
The world still needs a simple platform to encourage blogging and the...
ntietz.com blog
My first impressions from a few weeks with Lean and Coq
For the last few weeks, some of us have been working through learning about interactive theorem...
over a year ago
For the last few weeks, some of us have been working through learning about interactive theorem proving together at Recurse Center.
I've been curious about proof assistants since undergrad, and finally have the time, space, and peers to dive into it with.
It's been an interesting...
bunnie's blog
Towards a More Open Secure Element Chip
“Secure Element” (SE) chips have traditionally taken a very closed-source, NDA-heavy approach. Thus,...
over a year ago
“Secure Element” (SE) chips have traditionally taken a very closed-source, NDA-heavy approach. Thus, it piqued my interest when an early-stage SE chip startup, Cramium (still in stealth mode), approached me to advise on open source strategy. This blog post explains my reasoning...
Josh Collinsworth
New Site, New Theme for 2018
Building a WordPress theme (and a new brand) from scratch.
over a year ago
Building a WordPress theme (and a new brand) from scratch.
A Beautiful Site
Determine file extensions using JavaScript
A quick JavaScript function to determine a file's extension.
function fileExt(path) {
return...
over a year ago
A quick JavaScript function to determine a file's extension.
function fileExt(path) {
return path.substr(path.lastIndexOf('.') + 1);
}
Jim Nielsen’s Blog
Custom Elements, At Minimum, Only Need End With a Hyphen
Scott Jehl reached out to help me resolve a conundrum in my post about what constitutes a valid...
6 months ago
Scott Jehl reached out to help me resolve a conundrum in my post about what constitutes a valid custom element tag.
The spec says you can have custom elements with emojis in them. For example:
<emotion-😍></emotion-😍>
But for some reason the Codepen where I tested this wasn’t...
macwright.com
Recently
Busy month! In January, I wrote
about the first four Val Town runtimes, and built a lot of
features...
9 months ago
Busy month! In January, I wrote
about the first four Val Town runtimes, and built a lot of
features in Val Town.
I also hacked around enough to make
Placemark Play available
again, the “free-as-in-beer” Placemark UI. It still
has some warts, but it’s there. Want to improve...
Words and Buttons...
[Renovated] Can you tell an assembly language when you see one?
An interactive quiz featuring several obscure high-level languages and assembly variants.
over a year ago
An interactive quiz featuring several obscure high-level languages and assembly variants.
bt RSS Feed
Over-Engineering an Oil Tank Gauge
Over-Engineering an Oil Tank Gauge
2020-09-09
I almost went down the path of investing a huge amount...
over a year ago
Over-Engineering an Oil Tank Gauge
2020-09-09
I almost went down the path of investing a huge amount of time and effort into fixing a stuck oil fuel tank float-gauge in my house. Recently, the float mechanism became stuck and permanently displayed empty regardless of how much...
Irrational...
Make an effective executive LinkedIn profile.
tl;dr - it’s valuable to update your LinkedIn profile to be a concise, accurate, and current summary...
a year ago
tl;dr - it’s valuable to update your LinkedIn profile to be a concise, accurate, and current summary of your accomplishment. Spend at most two hours updating it, then ask a friend (ideally a recruiter) for feedback. Incorporate that feedback and don’t think about your profile...
blag
Recurse Center Day 12: Isolation Anomalies
Anomalies which define transaction isolation levels
over a year ago
Anomalies which define transaction isolation levels
Remains of the Day
The Uncanny Valley of Interactivity
I believe mass entertainment suffers from a bit of format rigidity due to the natural inertia from...
over a year ago
I believe mass entertainment suffers from a bit of format rigidity due to the natural inertia from structural ossification in the music, film, and publishing businesses, to name the most prominent.
One of the ways this manifests is in the one-way broadcast nature of much of our...
David Heinemeier...
Be less precious
The essence of the book Radical Candor is the concept of ruinous empathy. That by trying your best...
9 months ago
The essence of the book Radical Candor is the concept of ruinous empathy. That by trying your best to couch employee performance feedback in overly gentle language, you end up confusing the message, and cheating the recipient out of the clarity they desperately need to improve –...
blag
Recurse Center Day 20: Django v4 upgrade (from v1)
I worked on upgrading a Django project from v1 to v4
over a year ago
I worked on upgrading a Django project from v1 to v4
swyx's site RSS Feed
Pensieve: Mar 9 2024 - on Dune 2
the jeff tang vs anton meetup today was a super interesting study in contrasts: Life vs Death
9 months ago
the jeff tang vs anton meetup today was a super interesting study in contrasts: Life vs Death
A Beautiful Site
CSS reset with box-sizing fix
For ultra lightweight projects where a framework is overkill, I tend to use Eric Meyers' CSS reset....
over a year ago
For ultra lightweight projects where a framework is overkill, I tend to use Eric Meyers' CSS reset. And since I'm not a glutton for punishment, I also throw in the tried and tested box-sizing fix popularized by Paul Irish. Instead of searching for and combining these...
David Heinemeier...
Five big open source gifts from us in 2023
It’s been an incredibly productive year at 37signals. Perhaps our most productive one yet, in terms...
a year ago
It’s been an incredibly productive year at 37signals. Perhaps our most productive one yet, in terms of total number of product improvements, new product developments, and open source extractions. But it’s only by looking back at the work from a distance that you can really...
The Pragmatic...
Klarna’s AI chatbot: how revolutionary is it, really?
Klarna launched its AI chatbot, built in collaboration with OpenAI, which the company wants to use...
4 months ago
Klarna launched its AI chatbot, built in collaboration with OpenAI, which the company wants to use to eliminate 2/3rds of customer support positions. But is it as revolutionary, and as likely to replace jobs, as Klarna claims?
Jim Nielsen’s Blog
Job Screening Blog Post
Take a look at these two animated gifs.
First:
Second:
Can you tell the difference between...
a month ago
Take a look at these two animated gifs.
First:
Second:
Can you tell the difference between them?
Do you care?
If not, we might not be a good fit.
#designEngineering
Email
:: Mastodon ::
Twitter
#designEngineer
ntietz.com blog
RC Week 2: Pairing is Awesome
The second week of my batch at Recurse Center (RC) is a wrap, and it already feels like it's going...
over a year ago
The second week of my batch at Recurse Center (RC) is a wrap, and it already feels like it's going too quickly.
My batch is twelve weeks long, so I'm 17% through.
Only ten weeks left!
This is a precious time, so I'm trying to make the most of it, but also trying to not increase...
Liz Denys
invalid arch-dependent ELF magic
An elf stands on an arch, attempts to cast a spell, and freaks out when he is unable to cast it,...
over a year ago
An elf stands on an arch, attempts to cast a spell, and freaks out when he is unable to cast it, or...
Joel Gascoigne
Why I crave mistakes
I’ve mentioned many [https://joel.is/post/5961172449/beware-of-the-social-ideas]...
over a year ago
I’ve mentioned many [https://joel.is/post/5961172449/beware-of-the-social-ideas]
times
[https://joel.is/post/23348997538/what-online-gaming-taught-me-about-startups]
before
[https://joel.is/post/12790799237/achieving-scale-by-doing-things-that-dont-scale]
on this blog that I...
Joel Gascoigne
We spent $3.3M buying out investors: Why and how we did it
Note: this was originally posted on the Buffer blog.
Last month, Buffer spent $3.3 million – about...
over a year ago
Note: this was originally posted on the Buffer blog.
Last month, Buffer spent $3.3 million – about half of all the cash we had in the bank – to buy out our main venture capital (VC) investors.
Starting the conversations, negotiations, and process of this buy out was one
Letters of Note
I miss you so very much, Ryan
In December of 1984, 13-year-old Ryan White was given 6 months to live after contracting AIDS during...
over a year ago
In December of 1984, 13-year-old Ryan White was given 6 months to live after contracting AIDS during a contaminated treatment for hemophilia, a blood condition with which he had lived since birth. By June of 1985, keen to resume as normal a lifestyle as possible, Ryan attempted...
Greg Brockman
#define CTO OpenAI
It’s been two years since I wrote #define CTO, in which I documented my quest for a role where I...
over a year ago
It’s been two years since I wrote #define CTO, in which I documented my quest for a role where I could have scalable impact by writing code. I’ve finally found that role, though not by seeking it — instead, I sought out a problem more important to me than my role within it,...
ntietz.com blog
Sometimes, I can't talk
Part of being a social animal is that we communicate with each other.
We live in a society, and we...
4 months ago
Part of being a social animal is that we communicate with each other.
We live in a society, and we have to interact with other people.
A lot of that communication happens through language, especially spoken and signed language.
For many of us, this language happens so freely and...
Alex Meub
My Favorite Web Apps and Tools
I’ve found myself more often using web apps instead of dedicated desktop applications at work. It...
over a year ago
I’ve found myself more often using web apps instead of dedicated desktop applications at work. It seems that in general, desktop apps have been getting slower and more resource intensive lately. The trend of teams using Electron or the Chromium Embedded Framework in order to ship...
swyx's site RSS Feed
How to Use class instead of className with Preact and TypeScript
## Bottom Line Up Front
over a year ago
Liz Denys
Triggering videos, thoughtful content warnings, and responsible feature release policies
Content warning: police murder of black people
We need to talk about potentially triggering videos...
over a year ago
Content warning: police murder of black people
We need to talk about potentially triggering videos and social media.
Social media is nearly unavoidable. There's a lot of upsides to using it, such as keeping up with family and friends you can't see frequently and reaching out to...
Computer Things
Hyperproperties
I wrote about hyperproperties on my blog four years ago, but now an intriguing client problem got me...
a month ago
I wrote about hyperproperties on my blog four years ago, but now an intriguing client problem got me thinking about them again.1
We're using TLA+ to model a system that starts in state A, and under certain complicated conditions P, transitions to state B. They also had a flag f...
Seán Barry
A Realisation About Fitness
No matter how much I run, or how much I lift weights, it never gets easier. There's always a part of...
a year ago
No matter how much I run, or how much I lift weights, it never gets easier. There's always a part of me that wants to stop, and there's always another part of me fighting to push through. This is how I deal with that internal battle.
PostHog's RSS Feed
The 7 best mobile app analytics tools
1. PostHog Best for: Engineering and product teams What is PostHog? PostHog (that's us 👋) is an...
4 months ago
1. PostHog Best for: Engineering and product teams What is PostHog? PostHog (that's us 👋) is an all-in-one platform built to help engineers create…
Irrational...
How to plan as an engineering executive.
Some years back, I interviewed a senior leader for an engineering role, and asked them a question...
a year ago
Some years back, I interviewed a senior leader for an engineering role, and asked them a question about planning. I enjoyed their response, “Ah yes, the ‘P’ word, planning.” That answer captured an oft heard perspective that planning is some sort of business curse word. Even when...
Jim Nielsen’s Blog
The Gist That Keeps On Giving
I’m working with git and make a big boo-boo.
Now I’m facing a situation where I’ve deleted a local...
7 months ago
I’m working with git and make a big boo-boo.
Now I’m facing a situation where I’ve deleted a local branch with all my work and there’s no backup on GitHub.
“This is git. There has got to be a version of this things still on my computer somewhere, right? RIGHT?!”
So I start...
Computer Things
Strings do too many things
No Newsletter next week
TLA+ Workshop and moving places.
Strings do too many things
In the unusual...
10 months ago
No Newsletter next week
TLA+ Workshop and moving places.
Strings do too many things
In the unusual basis types email1 I wrote this about strings:
We use strings for identifiers, human writing, structured data, and grammars. If you instead use symbols for identifiers then you can...
Words and Buttons...
[Renovated] Mathematical analysis explained with Python, blood, and TNT
A brief introduction to mathematical analysis with a little SymPy on the side. The page explains how...
over a year ago
A brief introduction to mathematical analysis with a little SymPy on the side. The page explains how to disassemble a function, and how to assemble it back from the derivatives.
Steve Klabnik
Moving from Sinatra to Rails
over a year ago
swyx's site RSS Feed
How To Add Monaco Editor to a Next.js app
## Bottom Line Up Front
over a year ago
ntietz.com blog
Growing Teams and Baking Bread
One of the keys in baking bread is getting the dough to rise well. As the yeast does its work, it...
over a year ago
One of the keys in baking bread is getting the dough to rise well. As the yeast does its work, it ferments some of the sugars in the dough into alcohol and carbon dioxide, resulting in a growing, bubbly mass of dough.
There are some tricks to making dough rise quickly, like using...
Alex Meub
Craigslist Alerts with Python
I love Craigslist, but trying to buy certain things (like Subarus in Portland) can be ridiculously...
over a year ago
I love Craigslist, but trying to buy certain things (like Subarus in Portland) can be ridiculously competitive. I wanted a simple way to be alerted immediately when an item I was looking for was posted.
Craigslist Search Alerts
I tried using Craigslist’s built in Search Alert...
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,...
Computer Things
Stroustrop's Rule
Just finished two weeks of workshops and am exhausted, so this one will be light.
Hanuka Sale
Logic...
a week ago
Just finished two weeks of workshops and am exhausted, so this one will be light.
Hanuka Sale
Logic for Programmers is on sale until the end of Chanukah! That's Jan 2nd if you're not Jewish. Get it for 40% off here.
Stroustrop's Rule
I first encountered Stroustrop's Rule on this...
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…
Making software...
Batch Converting Images to webp with macOS Automator
Batch Converting Images to webp with macOS Automator
2021-10-15
A great deal of my time working as a...
over a year ago
Batch Converting Images to webp with macOS Automator
2021-10-15
A great deal of my time working as a web/UI designer is spent exporting and/or converting images for software products and websites. Although a lot of modern applications can render image conversions at build time, a...
Stephen Wolfram...
ChatGPT Gets Its “Wolfram Superpowers”!
See also: “What Is ChatGPT Doing … and Why Does It Work?” » To enable the functionality described...
a year ago
See also: “What Is ChatGPT Doing … and Why Does It Work?” » To enable the functionality described here, select and install the Wolfram plugin from within ChatGPT. Note that this capability is so far available only to some ChatGPT Plus users; for more information, see...
bt RSS Feed
Width or Flex-Basis?
Width or Flex-Basis?
2018-11-28
Creating rows and columns of elements that adapt dynamically can be...
over a year ago
Width or Flex-Basis?
2018-11-28
Creating rows and columns of elements that adapt dynamically can be a little tricky depending on the desired outcome. Let’s breakdown how to solve this issue using both inline-block paired with width and flex-basis.
Width
Setting the width of the...
PostHog's RSS Feed
Introducing PostHog Cloud EU
It's no secret that some popular analytics tools, such as Google Analytics, have fallen foul of GDPR...
over a year ago
It's no secret that some popular analytics tools, such as Google Analytics, have fallen foul of GDPR regulations in the EU. That's one reason why we…
David Heinemeier...
Enough problems to go around
The worst kind of company is usually not the one where there's too much real work to do, but the...
8 months ago
The worst kind of company is usually not the one where there's too much real work to do, but the kind where there's not enough. It's in this realm the real monsters appear. Without enough real problems to go around, humans are prone to invent fictitious and dreadful ones.
This...
A Beautiful Site
Find and replace hyperlinks and email addresses in PHP
These two PHP functions use regular expressions to add the appropriate HTML anchor tags around...
over a year ago
These two PHP functions use regular expressions to add the appropriate HTML anchor tags around hyperlinks and email addresses in $string.
PHP code #
function parseHyperlinks($string) {
// Add tags around all hyperlinks in $string
return...
Liz Denys
New Loose Leaf Security series: More on authentication and password managers
Three more episodes of Loose Leaf Security are out, a series about authentication and password...
over a year ago
Three more episodes of Loose Leaf Security are out, a series about authentication and password managers:
Using a password manager effectively
In a deeper exploration of password manager browser extensions and features for sharing as well as a survey of alternatives to password...
ntietz.com blog
In Defense of the Midwest
As an undergraduate, I always imagined that I would someday move to the SF Bay Area to live in the...
over a year ago
As an undergraduate, I always imagined that I would someday move to the SF Bay Area to live in the heart of the software industry. With this in mind, in my final semester at Kent State, I joined a Silicon Valley startup as their third engineer1. The staff at that time was split:...
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...
alexwlchan
Making a PDF that’s larger than Germany
I was browsing social media this morning, and I saw a claim I’ve seen go past a few times now – that...
10 months ago
I was browsing social media this morning, and I saw a claim I’ve seen go past a few times now – that there’s a maximum size for a PDF document:
Terrible Maps
@TerribleMaps
Maximum size of a PDF, version 7: 381 km × 381...
ntietz.com blog
Working with Rust in (neo)vim
I've been using vim for nearly as long as I've been writing code.
My first introduction to it was...
over a year ago
I've been using vim for nearly as long as I've been writing code.
My first introduction to it was being thrown in the deep end in 2009 by my Intro to CS lab assistant, who told us to write our programs using vi1 on the department servers.
Why he told us that, I have no idea.
But...
A Beautiful Site
Convert arrays to CSV with PHP
The following snippet will convert a simple PHP array into CSV (comma-separated values)...
over a year ago
The following snippet will convert a simple PHP array into CSV (comma-separated values) format.
function csv($array) {
$csv = "";
for ($i = 0; $i < count($array); $i++) {
$csv .= '"' . str_replace('"', '""', $array[$i]) . '"';
if ($i < count($array) - 1) $csv .= ",";
...
Joel Gascoigne
It takes hard work. Do the hard work.
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
Something I’ve...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
Something I’ve been thinking about a lot recently is the idea of simply trying
harder with everything I choose to spend my time on. It seems like an elusive
thing, the idea of optimal focus and...
Steve Klabnik
Rust's documentation is about to drastically improve
over a year ago
Tony Finch's blog
against /tmp
I commented on Lobsters that /tmp is usually a bad idea,
which caused some surprise. I suppose /tmp...
2 months ago
I commented on Lobsters that /tmp is usually a bad idea,
which caused some surprise. I suppose /tmp security bugs were common
in the 1990s when I was learning Unix, but they are pretty rare now so
I can see why less grizzled hackers might not be familiar with the
problems.
I...
Joel Gascoigne
Thinking about your goal with a startup
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I often reflect...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I often reflect upon the differences between my previous startup and Buffer
[http://bufferapp.com], and think about what changes to my mindset affected the
better outcome this time compared with...
Elad Blog
Unicorn Market Cap & Industry Towns, 2020
In 2019 I wrote about how "industry towns" emerge in every market. These clusters of people, ideas,...
over a year ago
In 2019 I wrote about how "industry towns" emerge in every market. These clusters of people, ideas, capital, service providers, and companies tend to have strong network effects that support startup formation and success in a given industry. For example, Silicon Valley, London,...
Jim Nielsen’s Blog
Family Tree Wisdom
Chris:
My grandpa used to say that if you climb a rope every day, you’ll never not be able to do...
a year ago
Chris:
My grandpa used to say that if you climb a rope every day, you’ll never not be able to do it.
Ha, I love it!
It got me thinking: I’d love to hear more folks’ “wisdom from the family tree”. Stuff like Chris shared, “My grandpa used to say…”
I immediately had a few family...
A Beautiful Site
What happens if IE8 "breaks" my website?
Last year all of the hype was about IE8 and Microsoft's decision to default the browsers version...
over a year ago
Last year all of the hype was about IE8 and Microsoft's decision to default the browsers version targeting to "quirks mode" rather than standards mode. This essentially meant that developers would have to opt-in to IE8's standards mode using a proprietary <meta> tag that tells...
Joel Gascoigne
Healthy naivety
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I often like to...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I often like to look back on when I was just getting into startups. I think
there is a myth in entrepreneurship which not only do many newcomers believe,
but could also be a key reason why many...
PostHog's RSS Feed
Winning from the back - late mover advantage
We are open source is literally our top value ... and what better way to be transparent than to...
over a year ago
We are open source is literally our top value ... and what better way to be transparent than to share a diary? Late mover advantage Product…
swyx's site RSS Feed
Write My Code For Me
_My thoughts to self while weighing adding `netlify functions:create` to Netlify Dev. [Originally a...
over a year ago
_My thoughts to self while weighing adding `netlify functions:create` to Netlify Dev. [Originally a gist](https://gist.github.com/sw-yx/6f97b9d7f3efbfad4c8e5b8a14b5bd27)_
Making software...
Write HTML Like It's 1999
Write HTML Like It's 1999
2019-06-06
I am sure it's safe to say that most developers love to use the...
over a year ago
Write HTML Like It's 1999
2019-06-06
I am sure it's safe to say that most developers love to use the latest and greatest web tools available. Helpful resources such as preprocessors, template engines, syntax formatters - you name it - can all make a developer's life easier....
Chris Nicholas
Dark mode by local sunlight
Dark mode is increasingly appearing as an option on websites, but why not have it enable...
over a year ago
Dark mode is increasingly appearing as an option on websites, but why not have it enable automatically?
Josh Comeau's blog
Data Binding in React
As developers, we don't like working with forms, but they're a critical part of most web...
a year ago
As developers, we don't like working with forms, but they're a critical part of most web applications! In this tutorial, you'll learn exactly how to wire up all of the different form controls in React. Never forget how to data-bind a checkbox or radio button again!
Nelson's Weblog
My racism at accents
Interesting NPR segment today: A
powerful eruption on the sun disrupted radio signals on...
a year ago
Interesting NPR segment today: A
powerful eruption on the sun disrupted radio signals on earth.
What’s remarkable is it’s a PhD candidate talking to an NPR host about
solar flares, completely in two Southern Black accents. Two women, at
that.
I am dismayed at my own involuntary...
Daniel Immke's Blog...
Tips for a successful WooCommerce project
I recently wrapped up a very large WooCommerce build that I am planning on writing a case study for...
over a year ago
I recently wrapped up a very large WooCommerce build that I am planning on writing a case study for next month. In the meantime, I thought I…
Marco.org
The Overcast Redesign: Part One
Overcast’s latest update (2022.2) brings the largest redesign in its nearly-eight-year history, plus...
over a year ago
Overcast’s latest update (2022.2) brings the largest redesign in its nearly-eight-year history, plus many of the most frequently requested features and lots of under-the-hood improvements. I’m pretty proud of this one.
For this first and largest phase of the redesign, I focused...
Programming in the...
Progress Bars are Surprisingly Difficult
We've all seen progress bars that move slowly for twenty minutes, then rapidly fill up in the last...
over a year ago
We've all seen progress bars that move slowly for twenty minutes, then rapidly fill up in the last 30 seconds. Or the reverse, where a once speedy bar takes 50% of the time covering the last few pixels. And bars that occasionally jump backward in time are not the rarity you'd...
Making software...
Chrome OS Could Become the Future Leader of Computing
Chrome OS Could Become the Future Leader of Computing
2022-01-06
FOSS Enthusiasts: This article...
over a year ago
Chrome OS Could Become the Future Leader of Computing
2022-01-06
FOSS Enthusiasts: This article discusses the use of proprietary software and places it in a positive light. You have been warned. No angry emails please...
Google has created one of the best operating systems...
James Vaughan's blog
How I Take Notes With Vim, Markdown, and Pandoc
over a year ago
Joel Gascoigne
Maximize your excitement
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I’m a huge...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I’m a huge believer of the lean startup movement and the concept of validating
ideas as quickly as possible. I think wasted time and resources are disastrous
and no matter how much you love an...
Making software...
Text Align: Justify
Text Align: Justify
2019-05-22
The text-align property is fairly well known in the world of CSS,...
over a year ago
Text Align: Justify
2019-05-22
The text-align property is fairly well known in the world of CSS, even among those just starting out with the language. Values such as center, left and right are used often with this property, but a more forgotten option is justify.
What does...
Epic Web Dev
Fluid Hover Cards with Tailwind CSS (tutorial)
11 months ago
Jim Nielsen’s Blog
Cold-blooded Software
Patrick Duboy has an interesting post making the rounds titled, “Cold-blooded Software”.
He...
11 months ago
Patrick Duboy has an interesting post making the rounds titled, “Cold-blooded Software”.
He analogizes the idea of warm-blooded software:
projects that are warm-blooded: everything is great when there’s constant motion on the project, generating heat. But put warm-blooded...
Making software...
Stop Using Sticky Navigation on Mobile
Stop Using Sticky Navigation on Mobile
2019-10-06
Stop styling your web elements to be "sticky" on...
over a year ago
Stop Using Sticky Navigation on Mobile
2019-10-06
Stop styling your web elements to be "sticky" on mobile. This creates a horrible experience for your users and also looks like trash from a UI perspective. Don't style your navigation (or any components for that matter) to be...
bt RSS Feed
Create a Mac App Icon with Pure HTML and CSS
Create a Mac App Icon with Pure HTML and CSS
2021-04-13
I have always been a huge fan of Bogdan’s...
over a year ago
Create a Mac App Icon with Pure HTML and CSS
2021-04-13
I have always been a huge fan of Bogdan’s work on Dribbble and was recently inspired to see if I could replicate one of his awesome icon designs with only HTML & CSS. What was the outcome? I think it’s a half-way decent copy...
swyx's site RSS Feed
Compile Svelte in Your Head by Tan Li Hau
Linking to a blogpost I was too lazy to do
over a year ago
Linking to a blogpost I was too lazy to do
Irrational...
Notes on Technology Strategy Patterns
Technology Strategy Patterns by Eben Hewitt is a methods-based approach to engineering strategy,...
a year ago
Technology Strategy Patterns by Eben Hewitt is a methods-based approach to engineering strategy, with a particular focus on the methods wielded by McKinsey consultants, software engineering mainstays like Thoughtworks, and philosophy. A valuable read for anyone looking to build...
ntietz.com blog
return "reflections on a batch";
There's a tradition at Recurse Center of writing a Return Statement after your batch.
I'm not sure...
over a year ago
There's a tradition at Recurse Center of writing a Return Statement after your batch.
I'm not sure of the origin of the terminology, but it seems like it's a pun on the return statement in programming languages.
It's a great tradition, and it gives me a good motivator to reflect...
Dan Slimmon
Podcast appearance: The Debrief from Incident.io
I’m so grateful to Incident.io for the opportunity to shout from their rooftop about Clinical...
7 months ago
I’m so grateful to Incident.io for the opportunity to shout from their rooftop about Clinical troubleshooting, which I firmly believe is the way we should all be diagnosing system failures. Enjoy the full episode!
bt RSS Feed
RE: Creating a Simple HTML/CSS Notice Box
RE: Creating a Simple HTML/CSS Notice Box
2022-09-22
I recently read Kev Quirk’s post, How to Create...
over a year ago
RE: Creating a Simple HTML/CSS Notice Box
2022-09-22
I recently read Kev Quirk’s post, How to Create a Simple HTML/CSS Notice Box and loved the simplicity of it. I’m a sucker for using pseudo elements in creative ways but still managing to make them useful. Of course, this got me...
alexwlchan
Going between Finder and the Terminal
Earlier this week, Dr. Drang wrote a post about a few automations he uses to go between the...
3 months ago
Earlier this week, Dr. Drang wrote a post about a few automations he uses to go between the Terminal’s command line and the Finder’s GUI.
He has some neat ideas, and I particularly like his AppleScript sel for selecting multiple items in Finder.
I’ve written a couple of similar...
Irrational...
Should we decompose our monolith?
From their first introduction in 2005, the debate between adopting
a microservices architecture, a...
3 months ago
From their first introduction in 2005, the debate between adopting
a microservices architecture, a monolithic service architecture, or a hybrid between the two, has become one of the
least-reversible decisions that most engineering organizations make.
Even migrating to a...
swyx's site RSS Feed
How to Contribute to Open Source Frameworks
One of the best ways to level up in programming is to contribute to a high quality open source...
over a year ago
One of the best ways to level up in programming is to contribute to a high quality open source project, especially a framework.
Jim Nielsen’s Blog
A Subtle Nicety of Fault Tolerance in HTML & CSS
HTML and CSS are designed to be fault tolerant.
Rather than failing completely when encountering...
11 months ago
HTML and CSS are designed to be fault tolerant.
Rather than failing completely when encountering syntax they don’t understand — looking at you JS/SyntaxError — browsers will continue parsing HTML and CSS as best they can when you introduce incorrect syntax.
For someone who is...
A Smart Bear
When being “first” is not a competitive advantage
Is it good to be “first?” It seems so – what’s the point of building a new startup that does nothing...
over a year ago
Is it good to be “first?” It seems so – what’s the point of building a new startup that does nothing new? On the surface being “first” sounds impressive, implying innovation and leadership. But reality is different.
swyx's site RSS Feed
What You Can Do with Netlify Build Plugins
Netlify Build Plugins are here! Here's a smattering of thoughts on what you can do with them.
over a year ago
Netlify Build Plugins are here! Here's a smattering of thoughts on what you can do with them.
Tony Finch's blog
A qp-trie for BIND
In 2021, I came up with a design for a new memory layout for a
qp-trie, and I implemented a...
a year ago
In 2021, I came up with a design for a new memory layout for a
qp-trie, and I implemented a prototype of the design in
NLnet Labs NSD (see my git repo or github).
Since I started work at ISC my main project has been to adapt the
NSD prototype into a qp-trie for use in BIND. The...
Jim Nielsen’s Blog
AI Is Like a Lossy JPEG
That’s something I’ve heard before — ChatGPT Is a Blurry JPEG of the Web — and it kind of made sense...
9 months ago
That’s something I’ve heard before — ChatGPT Is a Blurry JPEG of the Web — and it kind of made sense when I read it. But Paul Ford, writing in the Aboard Newsletter, helped it make even more sense in my brain.
[AI tools] compress lots and lots of information—text, image, more—in...
Liz Denys
One idle dreary day many years ago
Every time I come across this photograph on my computer, I am impressed by how simultaneously dull...
over a year ago
Every time I come across this photograph on my computer, I am impressed by how simultaneously dull and sharp the sky was that day in San Francisco. When editing this photograph I took now about three and a half years ago, I only flattened the sky slightly and didn't touch up the...
Charles Chen
Interviews in the Age of AI: Ditch Leetcode - Try Code Reviews Instead
In the emerging age of AI generated code, is leetcode really the best way to evaluate technical...
a year ago
In the emerging age of AI generated code, is leetcode really the best way to evaluate technical candidates (was it ever)?
Stephen Wolfram...
How Did We Get Here? The Tangled History of the Second Law of Thermodynamics
This is part 3 in a 3-part series about the Second Law: 1. Computational Foundations for the Second...
a year ago
This is part 3 in a 3-part series about the Second Law: 1. Computational Foundations for the Second Law of Thermodynamics (forthcoming) 2. A 50-Year Quest: My Personal Journey with the Second Law of Thermodynamics (forthcoming) 3. How Did We Get Here? The Tangled History of the...
Liz Denys
New Loose Leaf Security episode: Digital photos and privacy
Making sure your digital photos aren't leaking your location or other information is one of the most...
over a year ago
Making sure your digital photos aren't leaking your location or other information is one of the most important technology-related privacy issues influencing your physical safety, so make sure to catch the latest episode of Loose Leaf Security:
Digital photos and privacy
Digital...
PostHog's RSS Feed
Solving the mystery of PostHog’s missing session recordings
Session Recording is one of PostHog's core features, and one of the few completely open source...
over a year ago
Session Recording is one of PostHog's core features, and one of the few completely open source ression replay tools available. It allows you to see…
Words and Buttons...
Why did I write Geometry for programmers
This is not an interactive page, it has zero didactic value. It does explain why Words and Buttons...
a year ago
This is not an interactive page, it has zero didactic value. It does explain why Words and Buttons has been stagnant for a while though. I have been writing a book. Why? Well, visit and see.
charity.wtf
Questionable Advice: “People Used To Take Me Seriously. Then I Became A Software Vendor”
I recently got a plaintive text message from my magnificent friend Abby Bangser, asking about a...
a year ago
I recently got a plaintive text message from my magnificent friend Abby Bangser, asking about a conversation we had several years ago: “Hey, I’ve got a question for you. A long time ago I remember you talking about what an adjustment it was becoming a vendor, how all of a sudden...
somenice
Procedural “Trees” using Blender Geometry Nodes
I’ve been having a lot of fun playing with Blender Geometry and Shader Nodes.Specifically here using...
over a year ago
I’ve been having a lot of fun playing with Blender Geometry and Shader Nodes.Specifically here using Instances on Points. I started with a 60 x 60 grid of curves, made into spirals and animated with a Noise texture. This ended up creating 8.3 Million faces and took 12 hours to...
Jim Nielsen’s Blog
JavaScript Imports Under The Hood
In my notes from Rich Harris’ talk, I noted:
in order to successfully work with JavaScript or...
a year ago
In my notes from Rich Harris’ talk, I noted:
in order to successfully work with JavaScript or TypeScript these days, there’s a growing need to understand some of the very sophisticated transformations that are happening under the hood between the code that you’re writing and the...
Dan Slimmon
No Observability Without Theory: The Talk
Last month, I had the unadulterated pleasure of presenting “No Observability Without Theory” at...
5 months ago
Last month, I had the unadulterated pleasure of presenting “No Observability Without Theory” at Monitorama 2024. If you’ve never been to Monitorama, I can’t recommend it enough. I think it’s the best tech conference, period. This talk was adapted from an old blog post of mine,...
Making software...
A Warning for New Designers: Avoid Dribbble
A Warning for New Designers: Avoid Dribbble
2022-09-08
Everyday a new designer begins their journey...
over a year ago
A Warning for New Designers: Avoid Dribbble
2022-09-08
Everyday a new designer begins their journey into the world of [insert design industry here] and it is magical! Having a fresh pair of eyes untainted from the current trends of the time can help improve design as a whole....
PostHog's RSS Feed
Startups, stop treating engineers like a different species
Today I’d like to rant talk about how non-engineering people at startups – especially execs –...
over a year ago
Today I’d like to rant talk about how non-engineering people at startups – especially execs – treat engineers like a fundamentally different type of…
dthompson
Guile-syntax-highlight 0.2.0 released
I'm happy to announce that Guile-syntax-highlight 0.2.0 has been
released! This is a pretty slow...
over a year ago
I'm happy to announce that Guile-syntax-highlight 0.2.0 has been
released! This is a pretty slow moving project but the last (and
only) release was in 2018 so this release is long overdue.
Guile-syntax-highlight is a general-purpose syntax highlighting
library for GNU Guile. It...
Making software...
Installing Ruby with RVM on Alpine Linux
Installing Ruby with RVM on Alpine Linux
2023-03-16
For some on-going projects I need to switch to...
a year ago
Installing Ruby with RVM on Alpine Linux
2023-03-16
For some on-going projects I need to switch to different versions of ruby. Although there exist many step-by-step instructions on installing and configuring rvm for most Linux distros, there aren't many focused on Alpine "daily...
Tinloof - Blog
Guide to content creation with Sanity
We go through how Sanity can be used as a headless CMS to create and manage content.
over a year ago
We go through how Sanity can be used as a headless CMS to create and manage content.
Vladimir Klepov as a...
Thanks React, I'm fine with an imperative setInterval
Like many of you, I've read Dan Abramov's excellent article, making setInterval declarative with...
over a year ago
Like many of you, I've read Dan Abramov's excellent article, making setInterval declarative with React hooks. It's a great introduction to hook thinking and gotchas, highly recommended to any react dev. But by now the insistence on being declarative in every hook ever has gone...
Vladimir Klepov as a...
10 Design Rules for Programmers
For some reason, many developers disdain design. We are programmers, we are smart and rational, and...
over a year ago
For some reason, many developers disdain design. We are programmers, we are smart and rational, and we think technically. Designers are weird and artistic, they wear black sweaters and long scarves, they are no match to us. I never quite understood how you can ignore design if...
Darek Kay
Delaying asset requests in Eleventy
While building my photography portfolio, I've put much effort into optimizing the picture loading...
a year ago
While building my photography portfolio, I've put much effort into optimizing the picture loading behavior. One technique is to provide a visual fallback as long as the images are still loading. First, a static background color included in the markup is displayed. As soon as a...
Vladimir Klepov as a...
Svelte reactivity — an inside and out guide
I've been working with svelte exclusively for a year now, but I still manage to shoot myself in the...
a year ago
I've been working with svelte exclusively for a year now, but I still manage to shoot myself in the foot every now and then when using reactive state. Some of the confusion is due to my prior experience with React, but some points are confusing on their own. Today, I dive into...
Neil Panchal
Bare Metal vs. Virtualization Performance
I just built a new homelab server. Specs are as follows:
Neil's Lab Server Specifications
CPU...
over a year ago
I just built a new homelab server. Specs are as follows:
Neil's Lab Server Specifications
CPU Model
Intel® Xeon® Gold 6326, 16 Cores (32 Threads), 2.90 GHz (Base), 3.50 GHz (Turbo)
CPU Cooler
Noctua NH-U12S DX-4189
Motherboard
Supermicro...
A Beautiful Site
Parsing URLs in JavaScript
There's an excellent trick to parsing URLs in JavaScript, which was introduced last year by John...
over a year ago
There's an excellent trick to parsing URLs in JavaScript, which was introduced last year by John Long over on GitHub. This technique works great, but the resulting search property will be a raw query string. This isn't very useful if you need to access certain variables in said...
Basta’s Notes
33
Reflecting on another year
a year ago
Reflecting on another year
Jim Nielsen’s Blog
Blog Posts vs. Social Posts
From Emil Kowalski’s newsletter (my Feedbin cache for your convenience):
I started writing more blog...
4 months ago
From Emil Kowalski’s newsletter (my Feedbin cache for your convenience):
I started writing more blog posts recently. I like it because it's different than X. You get a spike of views when you share something on X, but that dies off quickly. If you provide great value with your...
alexwlchan
Finding a mystery IAM access key
Recently I had an issue with some IAM keys.
Somebody was trying to use an IAM access key to download...
a year ago
Recently I had an issue with some IAM keys.
Somebody was trying to use an IAM access key to download some objects from S3, and it wasn’t working – it was giving a “permission denied” error.
I wanted to inspect the permissions, but first I had to find where this IAM key came...
Paolo Amoroso's...
Early experience with Medley on the Raspberry Pi 400
<![CDATA[Medley is the first Lisp system I experimented with on my new Raspberry Pi 400, here is the...
a year ago
<![CDATA[Medley is the first Lisp system I experimented with on my new Raspberry Pi 400, here is the AArch64 version on the Raspberry Pi OS desktop:
SDL version of Medley Interlisp on a Raspberry Pi 400 under Raspberry Pi OS.
The online version of Medley runs well and smoothly...
blag
Installing Transmission (remote and CLI) client on Raspberry Pi
This tutorial will explain you how to install Transmission client on Raspberry Pi running Raspbian.
over a year ago
This tutorial will explain you how to install Transmission client on Raspberry Pi running Raspbian.
macwright.com
Recently
We saw this Monarch butterfly caterpillar
at the pretty unusual Naval Cemetery Landscape.
The...
a year ago
We saw this Monarch butterfly caterpillar
at the pretty unusual Naval Cemetery Landscape.
The landscape is just native pollinators and native plants
growing wild, with a wood platform above the field so you can walk around
and see the bugs and plants. It’s also built on a...
swyx's site RSS Feed
Why I Moved Off Dev.to
2 years ago I moved all my blogging to Dev.to. Today my main blog is on Github Issues and I've just...
over a year ago
2 years ago I moved all my blogging to Dev.to. Today my main blog is on Github Issues and I've just launched DXTips on Hashnode.
HTMHell
Forced Colors Mode Futility
by Matthias Zöchling
figure{margin-bottom:2.4rem}figure img{aspect-ratio:4;border: 6px solid...
2 weeks ago
by Matthias Zöchling
figure{margin-bottom:2.4rem}figure img{aspect-ratio:4;border: 6px solid #000}figcaption,sup,.highlight,section:has(#resources) span,section:has(#fns)...
bunnie's blog
Winner, Name that Ware September 2023
The Ware from September 2023 is a Honeywell HPMA115S0-XXX PM2.5 sensor. Although Ben guessed the...
a year ago
The Ware from September 2023 is a Honeywell HPMA115S0-XXX PM2.5 sensor. Although Ben guessed the general category of the ware first, David was the first to give the exact model. Usually I award the prize to the first person to give an exact, correct model number and fall back to...
Vladimir Klepov as a...
Ditch google analytics now: 7 open-source alternatives
I love writing, and I also love data. When starting my blog, I integrated Google Analytics — it's...
a year ago
I love writing, and I also love data. When starting my blog, I integrated Google Analytics — it's free, easy to set up (just drop a few tags on the page), and that's what I knew back then. I did not enjoy it being run by a big corporation, but I was too lazy to research the...
A Smart Bear
In command
Being "in control" is impossible, perhaps not even desirable. Being "in command" is ideal: honest,...
a year ago
Being "in control" is impossible, perhaps not even desirable. Being "in command" is ideal: honest, introspective, agile, aware, and proactive.
Josh Comeau's blog
Boop!
An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever...
over a year ago
An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever created. We'll learn how to use React components and hooks to abstract behaviours, and see how to design the perfect API. Even if you're not into animations, I think you'll find it...
Writing - Andreas...
Overconfidence and future-proofing
“Just to future-proof things” is perhaps the most common argument I hear to
defend questionable...
a year ago
“Just to future-proof things” is perhaps the most common argument I hear to
defend questionable design decisions. Future-proofing only makes sense if
you have some idea of what the future will look like and you understand
what the tradeoffs are.
Charles Chen
Lessons Learned from Working at Startups
Self-note on some lessons learned from working at a variety of startups over my career
2 weeks ago
Self-note on some lessons learned from working at a variety of startups over my career
bt RSS Feed
Introducing Notez
Introducing Notez
2021-01-13
I have always been a fan of simple note taking applications, since I...
over a year ago
Introducing Notez
2021-01-13
I have always been a fan of simple note taking applications, since I tend to take a lot of random notes throughout the work day. Sometimes I reach for simple pen and paper, but other times it’s nice to stay focused jotting down notes on the same...
A Beautiful Site
CSS drop caps
Traditionally found in printed media, drop caps are created by emphasizing the size, color, weight,...
over a year ago
Traditionally found in printed media, drop caps are created by emphasizing the size, color, weight, or style of the first letter in the first sentence of a paragraph. We can easily reproduce this effect on webpages by using the :first-letter pseudo element.
Writing the styles...
alexwlchan
The new Flickr Commons Explorer →
One of the things I’ve been working on at the Flickr Foundation is a new “Commons Explorer”, a way...
8 months ago
One of the things I’ve been working on at the Flickr Foundation is a new “Commons Explorer”, a way to browse the photos in the Flickr Commons.
Flickr Commons is a collection of historical photography from cultural institutions from all around the world, all with no known...
The Codist
Puzzled Why Instagram Fails on Safari
I wanted to look at Instagram to see if every art hashtag was still overwhelmed with terrible AI...
a year ago
I wanted to look at Instagram to see if every art hashtag was still overwhelmed with terrible AI art, but today on Safari, all I get for every page is:
It works on every other browser I have. But why?
In the console are two errors, found and placed there
Tony Finch's blog
Safe memory reclamation for BIND
At the end of October, I finally got my multithreaded qp-trie
working! It could be built with two...
a year ago
At the end of October, I finally got my multithreaded qp-trie
working! It could be built with two different concurrency control
mechanisms:
A reader/writer lock
This has poor read-side scalability, because every thread is
hammering on the same shared location. But its write...
Founder's blog
Clearing Nginx Proxy Cache for Wildcard URLs: A DIY Guide
Sometimes you find yourself in a situation where you need to clear the Nginx proxy cache for a...
a year ago
Sometimes you find yourself in a situation where you need to clear the Nginx proxy cache for a specific set of URLs, particularly those following a wildcard pattern like www.website.com/folder/*. Surprisingly, Nginx, in its standard offering, doesn't provide a straightforward way...
37signals Dev
Building Basecamp project stacks with Hotwire
It’s been two decades since Rails changed the way we build web apps. As the demand for richer and...
a year ago
It’s been two decades since Rails changed the way we build web apps. As the demand for richer and richer UIs grew, teams came up with different frontends to deliver on those expectations. Client-side frameworks such as Angular, Ember, and React emerged as popular choices.
One of...
Tinloof - Blog
Why most CMSes suck
We're in 2023, and you mainly have 3 CMS options to build and manage your website:
Monolithic CMS...
a year ago
We're in 2023, and you mainly have 3 CMS options to build and manage your website:
Monolithic CMS (e.g. WordPress, Hubspot)
Modern website builder (e.g. Framer, Webflow)
macwright.com
Remix notes
Val Town switched to Remix as a web framework a little over a year ago. Here are some...
9 months ago
Val Town switched to Remix as a web framework a little over a year ago. Here are some reflections:
The Remix versioning scheme is a joy. They gradually roll out features under feature flags, so you have lots of time to upgrade.
Compared to what seems like chaos over in...
Jim Nielsen’s Blog
Width and Height in CSS
In his video “Secret Mechanisms of CSS”, Josh explains (among other things) how width and height...
a year ago
In his video “Secret Mechanisms of CSS”, Josh explains (among other things) how width and height work in CSS. I loved his explanation so much, I am going to re-write it here for my own benefit. Hopefully the next time I have to explain it — to someone else, or to myself in my...
Josh Comeau's blog
Statements Vs. Expressions
One of the most foundational things to understand about JavaScript is that programs are made up of...
over a year ago
One of the most foundational things to understand about JavaScript is that programs are made up of statements, and statements have slots for expressions. In this blog post, we'll dig into how these two structures work, and see how building an intuition about this can help us...
PostHog's RSS Feed
In-depth: PostHog vs Hotjar
Want to understand the difference between Hotjar and PostHog? Here's the short answer: Hotjar is a...
a year ago
Want to understand the difference between Hotjar and PostHog? Here's the short answer: Hotjar is a user research tool that offers session replays…
Quentin Santos
Git Super-Power: The Three-Way Merge
tl;dr: git config --global merge.conflictstyle diff3 In my previous post, I preached about the one...
7 months ago
tl;dr: git config --global merge.conflictstyle diff3 In my previous post, I preached about the one true way to merge MRs in a git workflow. The answer is obviously to rebase for conflicts, and a merge commit for posterity of the MR. What I did not talk about is that there is a...
TokyoDev
Software Developer Internships in Japan, Attending Japanese University, & Job Hunting as a New Grad
How do I get a job in Japan with no experience? Why are there no entry level jobs or ways to break...
a year ago
How do I get a job in Japan with no experience? Why are there no entry level jobs or ways to break into the industry?
This is one of the most common questions in the [TokyoDev Discord server](https://discord.gg/seUNe38YgV), and for good reason. The [job...
Josh Comeau's blog
Effective Collaboration with Product and Design
How we work with design can have a tremendous impact on our overall output, and yet we don't always...
over a year ago
How we work with design can have a tremendous impact on our overall output, and yet we don't always treat it as very important. A look at how collaborating with design can supercharge our own productivity.
bt RSS Feed
Faking 3D Elements with CSS
Faking 3D Elements with CSS
2020-04-29
Although not always practical, creating the illusion that...
over a year ago
Faking 3D Elements with CSS
2020-04-29
Although not always practical, creating the illusion that some of your web elements are 3D can be a fun experiment. I set out to see if I was able to create such an illusion with only 2 HTML elements and as little CSS as possible.
This is...
Joel Gascoigne
Welcoming Maria Thomas as Buffer’s Chief Product Officer
Note: this was originally posted on the Buffer blog.
In July, we shared that we were looking for a...
over a year ago
Note: this was originally posted on the Buffer blog.
In July, we shared that we were looking for a product leader to help us take Buffer forward in our next phase. After speaking to an incredible group of talented folks in product, I’m happy to share that Maria
Ruud van Asseldonk
A type system for RCL, part 3: Related work
5 months ago
Remains of the Day
Revisionist commentary
I don't know that I'm aware of enough entries in this category to even consider it one, but I'm a...
over a year ago
I don't know that I'm aware of enough entries in this category to even consider it one, but I'm a sucker for the union of political and film satire as embodied in alternate film commentaries.
I was reminded of it when seeing The People's History of Tattooine which was first one...