Daily Shaarli

All links of one day in a single page.

April 25, 2026

sparkid — Fast, sortable, unique IDs

The idea seems good. Another ID format: 16 bytes like UUID v4 and v7. The key difference is they are monotonic, but that's something UUID v7 and ULID can have.

The structure:

Timestamp: 8 chars · ms since epoch · good until year 6028
Counter: 6 chars · randomly seeded · monotonic
Random: 7 chars · cryptographically secure randomness

The landing page uses catchy things without real correlation: 23M SparkIDs/sec in Rust. Ok but with which hardware?

Don't Call Yourself A Programmer, And Other Career Advice | Kalzumeus Software

90% of programming jobs are in creating Line of Business software. [...] Software solves business problems. Software often solves business problems despite being soul-crushingly boring and of minimal technical complexity. [...] It does not matter to the company that the reporting form is the world’s simplest CRUD app, it only matters that it either saves the company costs or generates additional revenue.

Engineers are hired to create business value, not to program things: Businesses do things for irrational and political reasons all the time (see below), but in the main they converge on doing things which increase revenue or reduce costs. [...] Add revenue. Reduce costs. Those are your only goals. [...] You really want to be attached to Profit Centers [notion from Peter Drucker]. [...] If you can’t, either a) work elsewhere or b) engineer your transfer after joining the company.

About programming languages:

In the real world, picking up a new language takes a few weeks of effort and after 6 to 12 months nobody will ever notice you haven’t been doing that one for your entire career.

Co-workers and bosses are not usually your friends: You should be a good person to everyone you meet — it is the moral thing to do, and as a sidenote will really help your networking — but do not be under the delusion that everyone is your friend.

“Read ad. Send in resume. Go to job interview. Receive offer.” is the exception, not the typical case, for getting employment: Most jobs are never available publicly, just like most worthwhile candidates are not available publicly (see here).

Networking just means a) meeting people who at some point can do things for you (or vice versa) and b) making a favorable impression on them.

Academia is not the real world. [...] Your major and minor don’t matter.

Be better at negotiation:
a) Remember you’re selling the solution to a business need (raise revenue or decrease costs) rather than programming skill or your beautiful face.
b) Negotiate aggressively with appropriate confidence, like the ethical professional you are. It is what your counterparty is probably doing. You’re aiming for a mutual beneficial offer, not for saying Yes every time they say something.
c) “What is your previous salary?” is employer-speak for “Please give me reasons to pay you less money.” Answer appropriately.
d) Always have a counteroffer. Be comfortable counteroffering around axes you care about other than money. If they can’t go higher on salary then talk about vacation instead.
e) The only time to ever discuss salary is after you have reached agreement in principle that they will hire you if you can strike a mutually beneficial deal.
f) Read a book. Many have been written about negotiation. I like Getting To Yes. It is a little disconcerting that negotiation skills are worth thousands of dollars per year for your entire career but engineers think that directed effort to study them is crazy when that could be applied to trivialities about a technology that briefly caught their fancy.

The author is negative about equity grants.

So would you recommend working at a startup? Working in a startup is a career path but, more than that, it is a lifestyle choice. This is similar to working in investment banking or academia. Those are three very different lifestyles. Many people will attempt to sell you those lifestyles as being in your interests, for their own reasons. If you genuinely would enjoy that lifestyle, go nuts.

Your most important professional skill is communication.
Communication is a skill. Practice it: you will get better. One key sub-skill is being able to quickly, concisely, and confidently explain how you create value to someone who is not an expert in your field and who does not have a priori reasons to love you.

Modesty is not a career-enhancing character trait: The right tone to aim for in interviews, interactions with other people, and life is closer to “restrained, confident professionalism.”

All business decisions are ultimately made by one or a handful of multi-cellular organisms closely related to chimpanzees, not by rules or by algorithms: People are people. Social grooming is a really important skill.

At the end of the day, your life happiness will not be dominated by your career. Either talk to older people or trust the social scientists who have: family, faith, hobbies, etc etc generally swamp career achievements and money in terms of things which actually produce happiness. Optimize appropriately. Your career is important, and right now it might seem like the most important thing in your life, but odds are that is not what you’ll believe forever. Work to live, don’t live to work.

Ramit Sethi and Patrick McKenzie On Why Your Customers Would Be Happier If You Charged More | Kalzumeus Software

[the core summary is generated by AI]

Charging more doesn't just increase your income but it often leads to better customers, better outcomes, and a healthier business. Low prices attract customers who are more price-sensitive, require more support, and often value your work less..

Main ideas

  • Price signals quality. Customers frequently use price as a proxy for value and expertise. Charging too little can make your offering appear less credible.
  • Most people underprice because of psychology, not economics. Common fears include:
    • "Nobody will pay."
    • "People will think I'm greedy."
    • "I'll have to deal with too much customer support."
  • Higher-paying customers are often easier to work with. Patrick shares data from his SaaS business showing that customers on more expensive plans submitted dramatically fewer support requests. They tended to ask strategic questions rather than basic troubleshooting questions. (kalzumeus.com)
  • Sell business outcomes, not hours or technical skills. Clients don't primarily buy programming or consulting time—they buy increased revenue, reduced costs, reduced risk, and confidence that you'll deliver.
  • Specialization justifies premium pricing. Being the obvious choice for a specific type of customer is more valuable than trying to serve everyone. The authors encourage explicitly turning away poor-fit clients.
  • Positioning matters more than features. Ramit argues that understanding a customer's motivations and speaking directly to them can support prices that are many times higher than competitors charging for superficially similar products.
  • Higher prices let you invest more in customers. More revenue enables better support, better service, and stronger guarantees, creating a positive feedback loop.
  • Move beyond hourly billing when possible. As expertise grows, packaging work, retainers, or value-based pricing often align better with the value delivered than charging by the hour.
    The authors argue that raising prices should go hand-in-hand with delivering greater value and serving a narrower, better-matched audience. Rather than maximizing the number of customers, they recommend maximizing the value you create for the right customers. That tends to produce happier clients, less support burden, stronger trust, and a more sustainable business.
Falsehoods Programmers Believe About Names | Kalzumeus Software

Oh shit we are in deep trouble: names are complex to handle.

My rules of thumbs:

  • they can't be identifiers
  • they are mutable
  • the format is so complex that a single "display name" field should be used
    • create dynamic models (or SQL tables) if you need details for legal reasons
  • UTF-8 encoding is a must. All characters are allowed because I can't verify Japanese, Chinese and all the possible character dataset
Do I belong in tech anymore? · Ky Decker

About the AI fatigue

Le code a changé : le code secret à quatre chiffres des cartes bancaires c'est bientôt fini, on vous explique le nouveau système biométrique - lindependant.fr

C'est clairement une mauvaise idée

Ramit Sethi and Patrick McKenzie on Getting Your First Consulting Client | Kalzumeus Software

Customer research is always quantitative. The start the next Google with venture capital. That’s not true. The research is really what allows you to distinguish yourself from your competition so that when someone comes to your site.

No SEO wakes up in the morning and thinks, “Damn, I have a WordPress problem.” They wake up in the morning and say, “Damn, I have a business problem.”

As an example:

You’ve gotten this level of traffic so far with your existing site. You want to double that over the course of the next year. You were saying that the roadblocks that are stopping you are a) you’re on an outdated architecture where you, personally, have to write everything, and b) it’s been impossible to find someone who is a subject matter expert at this who can also make web pages, because that combination of interests just does not exist.

The response:

I totally understand that it is impossible to find someone who is both good enough of a journalist in the space to work for a genuine published magazine and also can edit HTML pages. I have an idea for you. I’m going to make a CMS for your website. That’s just a page that they can go into, like WordPress, and they can do their writing like they do so well. The CMS will ship it over to you, and you figure out which business model that you experimented with will work well with this content.

I pay them pretty well. I have passed on hiring engineers who may be more technically proficient, but they didn’t understand what I wanted. Honestly, guys, as a business owner, do you think I care if you’re using this technology or that? I just don’t give a damn [about technology]. I really don’t.

Nothing motivates people like having their own words repeated right back to them, which is something that you should try to do more often.

Even if you’re building a website for someone, it’s not just a website, right?

There is some particular need that they have for that website, whether it’s for their business purposes or because a lot of business owners are very personally invested in their business.

By the way, guys, for all the engineers in the audience, you sell engineering services to for profit companies because they are the only people who can pay actual professional engineer rates.

The CEO only sees it in the “This is the tool that someone I trust is doing something incredibly valuable with me on. It is cheap at any reasonable price."

Focus on taking your B+ customers/prospects to be A customers. Don’t focus on the D people, trying to turn them into A customers. It will never happen.

Author blog about the business of making and selling software: https://www.kalzumeus.com/blog/

How PostgreSQL Quietly Took Over - YouTube
Comparing compression tools

As always: test on the data.

XZ stays my favorite though.

Patio11's Greatest Hits
Why I’m Done Making Desktop Applications | Kalzumeus Software

An app on the web performs better on many points. Definitely.

  • distribution
  • maintenance
  • releases
  • adoption (shareware funnel to get the desktop app running)
Pack2theRoot - 12 ans d'accès root offert dans PackageKit - Korben

La Deutsche Telekom Red Team vient en effet de publier Pack2theRoot (CVE-2026-41651), une faille notée 8.8/10 qui permet à n'importe quel utilisateur local de devenir root sans mot de passe.

Source: