12333 stories
·
35 followers

CYA

1 Share

Working in any sort of large organization, you quickly come to recognize the signs of people trying to avoid blame or to just plain old scurry for cover. There’s one I always remember from my early days in the industry when we had a pretty useful fire in a fume hood across the hall. This was about 1990, in a building that doesn’t even exist any more, with a company that doesn’t exist either! I’m not sure how it got started, but someone from that group was walking towards a door and noticed the smoke filling the air, then went up to the window and could see the dancing flames in the hood.

That gets attention pretty quickly! I was working across the hall; I had just been employed for a few months at that point. The shouting and commotion got my attention quickly, and I grabbed a fire extinguisher off the wall, pulling the pin as I headed across the way to see if there was anything to be done. I met up with one of the guys in that group, who was a volunteer firefighter in his own town in New Jersey, and he had an extinguisher ready to go, too. He motioned to crouch down as we entered the lab (I let him take the lead!) and once he got a good look at the hood he waved both of us back out. It was too large a blaze to be sure that we’d get it by that point; I think an oil bath was involved and there were reagent bottles nearby, too.

The actual firefighters weren’t long in showing up, fortunately. One of the other group members had tried to call in the emergency using the red emergency phone on the corridor wall. She picked it up, but there was no response from the other end, which was supposed to be the main security office, so she shouted that there was a fire and its location, but there was no sound in response to that, either. She hung up the phone in frustration - I think someone else started calling various internal numbers to get the word out since that designated emergency system didn’t seem to be even working.

It was around this time that it dawned on me that this was the radiochemistry lab that I’d gone blithely running into, but fortunately I found out shortly that it had been a cold reaction (and a cold reaction hood), which was a relief. The aftermath of the fire featured a good bit of agitated comment about the worthlessness of that red emergency phone - but the security department responded that they had gotten the message, that the phone had worked exactly as it was supposed to, that no, it wasn’t a two-way “phone” per se even if it looked exactly like one and that no response was to be expected when you picked it up and said something, and didn’t everyone already know that?

No, no we didn’t, actually. Recriminations ensued, but what I remember most about those was the memo that came out after a bit from the security team “reminding” everyone about the workings of the emergency phone system. It pretended that we’d all been trained on this before - har, har - and finished up with a ringing declaration which I immediate committed to memory and have since never forgotten: “We will continue to monitor system functionality in order to maintain maximum operational availability”. Now that, I thought as I read it, is the sound of hot air being blown. I don’t think I’ve encountered a better once since in the workplace. Even now, it’s what I say to my wife if I unclog a drain or something.

Read the whole story
denubis
1 hour ago
reply
Share this story
Delete

Quoting Mitchell Hashimoto

3 Shares

The thing about 90% of TDMs [Technical Decision Makers] is that they're motivated primarily by NOT GETTING FIRED. These aren't people who browser Lobsters or push to GH on the weekend. These are people that work 9 to 5, get paid, go home, and NEVER THINK ABOUT WORK AGAIN. So to achieve all that, they follow secular trends supported by analysts and broad public sentiment. Oh, Gartner said that "AI strategy" is most important? McKinsey said "context" needs to be managed? Well, "Context Engine for AI Apps" is going to be defensible. Buy it.

Mitchell Hashimoto, in a conversation about the design of the Redis homepage

Tags: marketing, mitchell-hashimoto, redis

Read the whole story
denubis
5 days ago
reply
acdha
6 days ago
reply
Washington, DC
Share this story
Delete

Saturday Morning Breakfast Cereal - Sleep

1 Share


Click here to go see the bonus panel!

Hovertext:
The real punchline comes later when he marries a person who loves him, has a good boss, is respected by his children, works at a rewarding job for 40 years, travels the world for 25 years, and dies in painless repose, surrounded by loved ones.


Today's News:
Read the whole story
denubis
8 days ago
reply
Share this story
Delete

The Worlds Left To Conquer

1 Share

It has been a year and a half since I quit my job to start a consultancy. It took me years to build up to quitting, and I had not only a chip on my shoulder, but to quote Seth Sentry, “the guac and the dip and the salsa.” The people that read this blog probably understand what I’m talking about. I looked around at how organizations are run, at the people that told me what to do, and thought “Surely I could do a better job than this.”

This feels like a dangerous train of thought.

On one hand, that arrogance is precisely one of the mechanisms that makes someone incompetent. If you’ve learned everything, there’s no real reason to open up another book, and even that is rather generously assuming that the person providing a service to you has bothered to crack the spine on even one.

On the other hand, how else are we to make sense of the world? If you walk out the door, you will be immediately clotheslined by institutions failing to achieve the most basic of tasks with any reliability. Almost every office I’ve walked into as an employee has been a decrepit nest populated by the beaten-down working class, a sickly ooze of self-important managers amongst whom a Gladwell reader ranks as a towering intellect, and executives that are feverishly muttering the word “AI” to credulous journalists as they blindly cut headcount. So many of these institutions seem to be held together by either regulatory capture or writhing clients bound by enterprise contracts like so much barbed wire. I’ve lost track of the number of times that someone has looked at work from a company like KPMG and gone “Ha ha ha, maybe we should all be consulting – then we can do terrible work and bill at two thousand dollars a day.” This joke is so overused that you can see the person saying it is reluctantly dispensing the cliché.

So when I kicked off the company, some traitorous part of me was hoping that it would be difficult, as horrible as that would be for me personally. If it was hard, yes, perhaps I’d have to go back to some miserable office and be beset on all sides by smiling imbeciles talking about innovation, but it would make sense. It simply can’t be that easy to be free of those structures. Surely there’s a reason for it that isn’t simply “Wow, we’re systematically producing people that are terrible at their jobs and they can’t even see it.”

Unfortunately, that really is most of the explanation.

In late 2025, I said I’d write more after admitting how awkward it is to say the business is going well. I haven’t written anything for five months, and there’s no delicate way to put this, I drastically understated how well we’re doing. I'm ripping off the bandaid: in February 2026, I realised that we had already generated enough revenue to last us until 2027. On some engagements, I split my income several ways with teammates that weren’t on the job and still exceeded my corporate salary. For forty hours in 2025, I broke a thousand dollars an hour on tasks with measurable success metrics, an amount of money that would have seemed like some sort of sick joke two years ago, and both customers asked for a repeat engagement because the service quality was higher than what specialised firms were doing – I had spent about ten hours thinking about the engagement model. And we still have seven months left in the year.

All of this is to say two things. The first, I’m not going to pretend that everyone would find it as easy as I do1, but it’s easy enough that basically anyone that can read both a book in software and the humanities will be fine.2

The other is that this was all so easy that I’m going mad with boredom.

I.

Crept to their door, opened it slowly and tip-toed but, shit
Somebody set the bar too low and I tripped over it
Whoops, jumped up, tried to throw in a quick ultimate
Just hopin' to scare 'em but, oh, it just killed both of 'em
Bodies with slit throats on the linoleum
I just throw 'em in dumpsters, the shit's appropriate

Blue Shell, Seth Sentry

I wish that I could say it was difficult to make things work. It would make sense of the world. I could have fun talking about going extremely overboard with machinations. The reality is that all of it, from service delivery to sales, has been more-or-less trivial. Closing and delivering a deal for twenty thousand dollars takes less time and energy than one sprint in a regular office. Nothing even feels high stakes – the global economy is so large that, for an efficient team, you can roll the sales conversation dice over and over until it turns up a 20. I personally blundered hundreds of thousands of dollars in sales over our first six months, and we’re fine.

As a company, there are many things that I'd like to improve – it might sound silly given that we’re doing well and all our customers are happy (or lying to me), but the places where we're falling short of my expectations are extremely visible to me. By virtue of having a sizable following on this blog, I have extensive exposure to programmers that are better than me and people that are smarter than me. Every Thursday, I have a call with Efron Licht, and frankly I can scarcely grasp why someone that competent spends time talking to me3.

The problem is that I’m not competing with Efron. If I was, I'd either have to study for five hours every day for the rest of my life, or shut the company down tomorrow. I’m competing with people that don’t have functional literacy. And it’s not just incompetence at programming, it’s everything. The world has phoned it in, leaving us with no pressure to push for excellence. Last year, I was unable to put clients on both Evidence and Prefect because the former failed to attend a sales meeting booked through their website and the latter failed to book a meeting after the ex-real estate agent they hired failed to actually schedule a meeting following outreach also through their website. Our (excellent) accounting team is Hales Redden, who managed my co-founder Jordan Andersen’s old physiotherapy business… because the people I tried in Melbourne don’t check their sales inbox. Our lawyer is reader Iain McLaren4 because the firms I initially tried also don’t respond to their sales inbox. I cannot state this clearly enough – the bar is so low that it is hard to give people money. There are competent actors on the market, but at least in software, there are simply so few of them that you’re more likely to be allies than enemies.

This was infuriating at first, comical later, and has now lapsed into depressing. As an employee, these people were an unending source of frustration, the same six-figure delinquents that would forget to renew my contracts when I was on a temporary visa. As an independent operator, they’re babies that have yet to develop executive function and I’m taking their candy. I’ll do it – candy is delicious and babies are weak – but it's hard to feel good about it after the thrill of being right wore off. Some days, I get to 5PM after pitching to fix a competitor's work, put my head in my hands, and go “There is no way you dumb motherfuckers can’t stand up a database. We’ve been on the moon. We’ve been on the fucking moon. There’s no way you dipshits cannot operate Google.” Nonetheless, there is money in my bank account and I’m in a house with three bedrooms, and we must all reckon with this dreadful portent.

Is this it? I’m just going to stand up data platforms for the next forty years, a task so easy for us that we could do it drunk out of our minds, then die?

As much as I enjoy having free time, the whole affair has been oddly unsatisfying. Every day, I wake up and feel like I’ve opted out of society. I don’t have the same problems as my peers anymore. Daily stand-up is a hazy memory that I remember with faint queasiness. And the very nature of consulting, even though we make the majority of our money on technical delivery rather than pure advice, is that we’re simply adding efficiency to clients. We’ve had the luxury of firing a few for bad vibes5, leaving us only with clients that we’re very happy to work with – but at the end of the day, they‘re doing the thing worth being proud of, and we’re simply an instrument. They do the admirable thing, and we make them better at it. It’s better than continuing to be an ultra-coward and getting paid to let people Do Scrum at me, but I dunno.

Part of the reason that we’ve done so well to begin with is that we haven’t worried about scaling at all. I still think that is the obviously correct decision when you’re starting off and don’t want to take on debt. But at the same time, when a reader asks me if I’m hiring, my answer is essentially, “The whole business is designed for the team to be comfortable, and we didn’t build in the leeway to take care of other people.” My largest expenses outside of housing over the past year have been donations to a local writer’s group, Meridian Australis, and various bits to other causes, but this amounts to a few thousand dollars per year.

I’m probably supposed to be content with that, but I’ve already quit my job, so what’s a bit more risk? Why am I always reading about unreflective narcissists and tedious bootlickers funding things? Why can’t the causes I care about have resources thrown at them without them having to contort their value systems for the money?

II.

At any rate, the passage is crystal clear in both cases: Alexander is not weeping in sorrow that there are no more throats to cut. This is not a picture of a man at the end of a career of world conquest; he’s at the beginning. “Look at all these throats—and I haven’t even cut one!”

And Alexander Wept, Anthony Madrid

We still run into problems all the time that aren’t solvable by simple efficiency – perverse incentives from sloppy legislation, places where buyers can’t understand enough to avoid exploitation, gambling companies run by vile degenerates, things that make me want to throw up. I am fully engaged with capitalism every day, and despite the fact that I’m winning for some definition of winning, much of it is grotesque. Sometimes I wonder whether I should have gone into medicine, like most of my family, but at the same time someone has to keep the databases running. So here’s what’s going to happen for now.

We have seven months left in the year. Around the start of June, we’ll be done with our most complex work, and ready to try something new, where by “something new” I mean we’re going to pick some nerds (pejorative) and cut their throats. The area that we’ve picked out specifically is technical recruiting, if only because it is the most accessible area that is most densely populated with easy prey. It should take us a little bit to knock out a small platform6, then I’ll broadcast that here for readers to sign up. We’ve done some work in the space, and all I can say is that software recruiters are defenseless money piñatas incapable of serving the competent sectors of the market, and I am going to beat them with a large stick and then loot the wallets from their corpses.

Is this it? I’m just going to stand up data platforms for the next forty years, a task so easy for us that we could do it smashed out of our fucking minds, then die?

At a rough estimate, every time we place someone that would otherwise have had to go through the hellish experience of conventional recruiting, we could plausibly knock one individual recruiter out of the market because of their slim margins (due to all the incompetence), which will temporarily satisfy my never-ending lust for blood. Then we’re going to take that money and use it to knife someone else that's causing negligent misery, and funnel some of the excess into things we care about. If we do a really good job, I really believe we can meaningfully distort some section of the market, even if that’s just “Ugh, everyone knows you can't recruit software engineers in the A$180K band in Melbourne. Those Hermit Tech folks have destroyed all the margin and established themselves as supreme dictators, and also their CEO will bully you online if you do a bad job.” I’m going to commit economic violence for the next forty years, and get so good at it that we can do that smashed out of our minds, teach other people how to do it, then die, and some of you will pick up the work where we left off.


  1. I’ve had a sale for $100,000 fall through, and twenty minutes later said “Easy come, easy go” and moved on with my life. I’m sure this is trainable, but I can’t take credit for this because I think I’m just a weirdo. 

  2. It is unbelievable how much of a competitive advantage “Responds to emails from paying clients within 24 hours” is. The bar is subterranean. 

  3. Incidentally, the two largest influences on my company’s culture are Jesse Alford and Efron Licht, on team culture and programming fundamentals respectively. I don’t think Jesse has written anything particularly friendly for mass-consumption, but Efron has an amazing series called Starting Systems Programming that has been transformative for my practice. It might seem obvious to some of the most talented programmers in the audience, but I cannot recommend it highly enough for everyone else. If you enjoy it, I’m sure he’d get a huge kick out of an email, as I don’t think he has analytics. I’ll do a writeup on all my influences at some point, as the list is long and they all write quite a bit. 

  4. Certified Cool Dude, by the way. 

  5. To no one’s surprise, they’re mostly startups. 

  6. Think “limited window for candidate signups and extreme pickiness about employers, no CVs, and a hard limit on interview stages, and so on”, not Seek. I don’t think Seek has done anything wrong, they’re just the inevitable result of the state of letting the entire market use their service. 

Read the whole story
denubis
8 days ago
reply
Share this story
Delete

Maybe you shouldn't install new software for a bit

1 Share

In the wake of copy.fail, there are more vulnerabilities that have been announced:

Right now would be one of the best times for a supply chain attack via NPM to hit hard.

Outside of Linux kernel patches from your distro, I think it's probably a good idea to put a moratorium on installing new software for a week or so.

Read the whole story
denubis
9 days ago
reply
Share this story
Delete

Links to CSS colour palettes

1 Comment and 3 Shares

A while back I decided to stop using Tailwind for new projects and to just write vanilla CSS instead.

But one thing I missed about Tailwind was the colour palette (here as CSS). If I wanted a light blue I could just use blue-100 and if I didn’t like it maybe try blue-200 or blue-50. I’m not very good with colours so it makes a big difference to me to have a reasonable colour palette that somebody who is better at colour than me has thought about.

But I’m also a little tired of those Tailwind colours, so I asked on Mastodon today what other colour palettes were out there. And then a friend said they wanted links to those colour palettes, so here’s a blog post so my friend can see them, and all the rest of you too :)

my favourites

The ones I liked the most were:

more colour palettes

colourscheme generators

Folks also linked to a bunch of colour palette generators

I’ve always found these types of generators too hard to use but maybe one day I will get better enough at colour that I’m able to use a colour palette generator successfully so I’ll leave those links there anyway.

and more colour tools:

  • colorhexa has some info about colorblindness

oklch

Generative colors with CSS gives an example of how to use the oklch CSS function to dynamically generate colors.

Read the whole story
Groxx
4 days ago
reply
If we doin' palette shares, my favorite: https://iamkate.com/data/12-bit-rainbow/
(Though it's not a full color scheme, just one rainbow)
Silicon Valley, CA
denubis
11 days ago
reply
Share this story
Delete
Next Page of Stories