HNHacker News
TopNewBestAskShowJobs

efitz

7,194 karma · joined August 17, 2016

https://blog.efitz.net

[ my public key: https://keybase.io/efitz; my proof: https://keybase.io/efitz/sigs/hazfgppUsyRbFXxDYXd8v6fzMdb7IsC2BmEHVftCiBw ]

submissionscomments
efitz··on Stealing Is a Skill
“Stealing is a skill” is catchy but doesn’t express the underlying concept as well as your other principles. I would suggest “learn by copying good things”, or “quality work is where you find it” or something to that effect.
efitz··on Show HN: Garden of Flowers – an archive of pictorial typography before ASCII art
BTW sorry for my rudeness, I find your project very cool and I love calligraphic type projects. I was so excited that I wanted to share something related to you. :-)
efitz··on Show HN: Garden of Flowers – an archive of pictorial typography before ASCII art
You should look at some Arabic calligraphy- there is a lot of artistic Arabic calligraphy where passages from the Quran, poetry, and other text are written beautifully as art.
efitz··on Statement on US government directive to suspend access to Fable 5 and Mythos 5
I don’t think there’s a vendetta. I think that Dario is an ideologue who has been letting his ideology cloud his business judgment.

I don’t think he’s playing 4D chess; I think he truly believes all the “AI is going to eliminate all the jobs” crap. I think his “Claude Constitution” is wishful thinking and his attempts to exert control over what his customers lawfully do with the product he sells them have made his company untrustworthy; certainly so by the US Dept of War.

I think lately his advisors have made him tone down the doomerism noting that it might tank his IPO, and I am uncertain whether his recent pushes towards more regulation are regulatory capture attempts or ideology or both.

The man is smart but IMO shouldn’t be running the company- he should be a CTO and let a business person make the decisions.

As for the government, bureaucracies gonna do what they always do. If you scare them they regulate you. ITAR is a real thing and the government throws it at technology all the time, from the minds that brought you 40-bit SSL in the 90s.

efitz··on pg_durable: Microsoft open sources in-database durable execution
My only concern is that AI agents won’t be good at this.

For better or worse, they “understand” and have seen a lot of message queuing code and read lots of message queue support discussions.

efitz··on Google employee charged with $1M Polymarket insider trading bet on search term
> the purpose of these markets is to provide fair bets for entertainment

Pretty sure this statement is 100% wrong. You’re describing a gambling site. Is that how governments are treating them?

efitz··on Google employee charged with $1M Polymarket insider trading bet on search term
I’m completely failing to get outraged here.

I think that the person misused Google internal information and deserves termination or other discipline, but I’m struggling to otherwise see the harm in what they did. Is insider trading a crime on prediction markets? Doesn’t it contribute to the accuracy of the pricing of prediction contracts, and therefore is good for the prediction market?

efitz··on What Apple and Google are doing to push notifications
Marketing and advertising people ruin everything they touch.
efitz··on Using AI to write better code more slowly
If you only have one AI window open, you’re doing it wrong. You task swap to another window/agent, get it working on something, rinse and repeat. I can keep 4 busy most of the time. When I task swap I also check in on what the other agents are doing to make sure they’re on track, not blocked and not struggling.
efitz··on Using AI to write better code more slowly
Great article and right on point.
efitz··on Netherlands Seizes 800 Servers, Arrests 2 for Aiding Cyberattacks
I’ve been on the defender side of security my whole career.

I know in some markets crime pays more than legitimate work, but it never ceases to amaze me how much thought, effort, planning, and engineering goes into providing infrastructure IT services for cybercriminals. The people involved definitely have the skills to be profitable at legitimate work; it just puzzles me that they choose to support criminals.

efitz··on Claude is not your architect. Stop letting it pretend
I don’t depend on one shot prompts with lots of constraints to reliably produce, well, anything.

For any nontrivial task I spend 2-8 hours in specification (I spent 3-4 hours on a stateless rust CLI tool design this weekend) and detailed task breakdown in implementation planning.

I use TDD to start with red tests that turn green when acceptance criteria are met.

I write agents to use to check work and they are my enforcers of constraints, as well as fresh eyes. I use these agents for spec review, plan review and code review.

I am actually pretty proud of the projects I create with generative AI. I just apply a lot of discipline so I don’t end up with slop.

efitz··on Texas woman arrested for Facebook post about town water quality
The process is the punishment.
efitz··on Replacing My ISP Router with a UniFi Cloud Gateway Max
I set up a Unifi system in Thailand that has to be downstream (DHCP) from an ISP provided router. Both Unifi and ISP device want 192.168.1.x and want to be the DHCP server and there’s no easy way to tell Unifi that “WAN” is 1 hop away.

I agree with the poster that if you are doing anything that is not a defined happy path for Unifi, it is a freaking nightmare and will likely involve rebuilding, resetting and readopting several times.

efitz··on Not alive, but not dead: disembodied human brains used for drug testing
As long as this practice is legal then I am unwilling to be an organ donor.
efitz··on The Third Hard Problem
I have always called this the “one true taxonomy” problem, because whenever you sit with multiple stakeholders in a room talking about a taxonomy, you can never get to agreement, because there is no such thing as the “one true taxonomy”.

Any hierarchical taxonomy classifies on one dimension at each taxonomic level. Invariably someone wants to classify on one criteria when someone else wants to classify on another. Taxonomies that humans use aren’t multi-dimensional. So if there is a disagreement, someone wins and someone(s) has to lose.

No one is wrong; they just have different priorities or preferences or goals.

So now as an architect I never argue (and seldom discuss) taxonomies. I make two points and then bow out:

1. Whatever your taxonomy is, you need a rubric for each level. You need a procedure or set of questions that unambiguously map any $THING you encounter into exactly one bucket. Validate that competent people with no specific domain knowledge can properly classify things with your rubric; it must be repeatable by amateurs, not just experts (software is dumb).

2. Existence trumps theory. If there exists a taxonomy and rubric for what you’re classifying, you need to provide a $DARN_GOOD_REASON why this wheel needs reinventing. Personal preference and your 1% edge case probably don’t justify all the work to reinvent everything.

Then, I go back to the implementers and tell them to design in a tagging system, which is a DIY taxonomy, and except in ridiculous use cases, I can make indexes make it fast enough to let everyone overlay their own classification system.

efitz··on MCP Hello Page
I love this. The best documentation is that which is presented at the exact place and time that it is needed, and users self support really well if you do that.

I once worked for $COMPANY and we had a network scanning application. Always generated a lot of tickets from angry people wanting to scream about bots.

So we put a web page page on each worker that would inherit some details from whatever job was running, and say “I’m a $TYPE_OF_SCANNER FROM $COMPANY doing $THING_THAT_BENEFITS_YOU.

This behavior is covered by our terms of service page at $LINK.

If you believe that we should not be doing this, please contact $SUPPORT and provide this code:

$SCAN_JOB_IDENTIFIER”

Call volume and unhappy customers went way down.

efitz··on Points are a weird and inconsistent unit of measure
Well that there is your problem, LaTeX is using imperial points, and Inkscape is using metric points.

You need to start using SI points that are defined using wavelengths of ground state emissions of a decaying Americium atom.

efitz··on I believe there are entire companies right now under AI psychosis
Claude, please crease a routine and run it in a loop continuously. The task in the routine is “create the most complex code possible, in a random programming language, that produces the exact output “My senior leaders are pinheads,”
efitz··on How to make your text look futuristic (2016)
I dunno, it’s kinda futuristic, but it’s missing the faux 3d effect where it appears to have warped up close to you and left a trail of light behind it, like the Star Trek example of the end. Nothing says “future” like fake 3d effects.
efitz··on Rumors of my death are slightly exaggerated
Neither did he!
efitz··on Agents can now create Cloudflare accounts, buy domains, and deploy
IANAL, but I wonder what it means for an agent to “agree” to terms of service or to “agree” to pay for something. Can agents enter into contracts?

It’s a straightforward technical problem to wrap an API or MCP or something around the “create an account” function.

But what will a court do when the agent creates a million accounts, mines bitcoin for a month, and then cannot or will not pay?

efitz··on What I'm Hearing About Cognitive Debt (So Far)
There are many projects that should not be built agentically.

For things that are appropriate to build with agents, I have come to hold the strong opinion that you need to go all-in. If you built it with an agent, then you fix it with an agent, you debug it with an agent, and you change it with an agent.

In that case you should not consider yourself the steward of the source code and worry about “cognitive debt”- it’s literally not your job anymore. Your job is the keeper of the specification and care and feeding of the agents.

If you adopt the mindset that “I’m not going to build the documentation for me, I’m going to build it for the agent”, and “I’m not going to try to use my development skills to debug something I didn’t write, I’m going to make specific interfaces for the agent to understand the state and activity of the running code”, etc.- you’ll be a lot happier and more successful.

If you are using agents for autocomplete in your editor, or you open a separate chat window to ask a question about your code- that’s a very low level of agent usage and all your existing dev skills and responsibilities still apply.

If you’re using a planning framework like superpowers (the skill) and just laying out the spec for the program, then keep your fingers out of the source code, and don’t waste your time reading it. Have the agent explain it, showing you in the IDE, and make the agent make any changes you want.

efitz··on Flock cameras keep telling police a man who doesn't have a warrant has a warrant
Flock is doing something I find unethical, even immoral, but maybe not illegal.

I want people who break the law to go to jail. I don’t care if they’re cops or c-suite execs.

But what I really want is laws (preferably federal) that make it illegal to build systems that can be used for mass surveillance, and I want law enforcement to HAVE to get a warrant to receive data from surveillance companies, even if they offer it without a warrant, because I want oversight.

efitz··on The West forgot how to make things, now it’s forgetting how to code
I disagree with the premise - interesting but I interpret the same fact pattern differently.

The history of technology is the replacement of manual processes with automated ones.

Consider a very basic process: checkout of a restaurant.

Writing the price of each item on a sheet of paper, manually adding them and writing the total was replaced with typing in the prices and eventually with just pushing the button for the item. Paper still exists for jotting down your order but within seconds of leaving the table it’s transitioned to computer.

This has enabled lots of desirable advances- speed, accuracy, new payment rails, and increasingly, elimination of the server in checkout- you tap a credit card on a tabletop device.

Did we “forget” how to do checkout? No. We purposely changed it.

But if the internet connection goes down or the backend server powering the cash register app goes down, there is an atrophied and not-regularly exercised skill set (maybe not even trained, IDK) that has to be implemented on-the-fly and it’s slow and frustrating for everyone.

Businesses don’t exercise (or perhaps even train) this process because it’s just not needed enough to warrant the cost.

Military procurement of weapons systems is hardly the place to point to as a technological tradition. There are lots of cases where no one pays the money to keep a production process in place; the reasons are all related to shortsighted “cost savings” or failing to anticipate changing needs.

With coding today, we are seeing the same kind of shift in priorities as my restaurant example. Having humans write code in the 2020 (pre-GPT) tradition was extremely inefficient in terms of time-from-idea-to-implementation.

We’ve found a new way to do the mundane part of that task (the mechanics of translating spec to implementation).

We are figuring out how to do that while preserving quality (and a lot of it is learning how to specify appropriately).

Will we “forget” how to “build” code?

No, but the skills to generate source code by hand will atrophy just as the skills to draw blueprints by hand atrophied with the advent of CAD.

Will we find examples where someone prematurely optimized away knowledge of a skill or process, incorrectly thinking it was no longer needed? Of course.

But the productivity gains we get will be so great on average that no one will go back to doing things the old way.

There will be old-timers and hobbyists who will preserve some of that knowledge; for most it will just be a curiosity.

efitz··on 'Hairdryer used to trick weather sensor' to win $34,000 Polymarket bet
The guy will be solely responsible for half a degree of global warming next year.
efitz··on Live Nation illegally monopolized ticketing market, jury finds
https://archive.ph/dfZVv
efitz··on The AI Layoff Trap
AI layoffs are very shortsighted IMO and should be viewed by investors as a sign of weakness in management or the business itself.

If everyone is going to increase productivity by some factor k per employee, then kx is the new norm of overall productivity of x employees.

If you lay off some percentage Y of your work force, then your expected gains will only be k(x(100-y)/100). In other words, you will not recognize the same productivity gains as your competitors that chose not to lay off.

Yes I realize it is more complex than that, because of reduced opex, but there are diminishing returns very quickly.

efitz··on Seven countries now generate nearly all their electricity from renewables (2024)
Mixing in geothermal and hydro really distorts the story. Although technically correct, the common usage connotation of “renewable energy “ today is “wind and solar”.
efitz··on Samsung Magician disk utility takes 18 steps and two reboots to uninstall
That was an awesome app, I loved it. Thank you.
← PreviousPage 2 of 34Next →