News for hackers. Stuff that matters.

jklowden

Re:This I Believe on Friday October 23, 2026 @11:28AM (#50210677)
Sure, Robert. KBI: keep believing it.

That essay believing in townsfolk was written while lynchings were still happening and schools were segregated and land deeds prohibited sale to blacks and Jews. Levittowns and the federal highway system were actively indulging and encouraging white flight. But, yeah, anyone will feed you.

Nowadays our children endure “active shooter” drills and sometimes die at the hands of active shooters. Parents are charged with neglect for letting children go to the store unaccompanied. Stand-your-ground laws defend shooting someone through a locked door, or in a parking lot. Vote canvassers have been shot at for turning onto the wrong driveway. Salt of the earth, those townsfolk.

The price of housing continues to rise mainly because those already there prevent building for those who would come. San Francisco is 1/2 the density of New York. It’s expensive because Palo Alto looks like Levittown and not, say, Queens. That was decided by those same sweet townsfolk.

Maybe Heinlein’s essay was inspirational in the McCarthy Era. In the present day, when Republicans root for deporting citizens elected to congress, it’s a transparent fantasy. Take every sentence as false, and it’s a useful guide to the world that we sadly actually live in.

Re:Lotus Notes and the dangers of starting from scratch on Wednesday September 09, 2026 @09:02AM (#49625870)
This. Any engineer or manager developing Notes at the time had to be aware of X.400 and X.500, and SMTP. They decided to ignore them. However cool and useful and clumsy Notes was, it was a proprietary walled garden. Lotus and the IBM hawked it, and surely profited. But for the customer it was an expense. Eventually Notes was overtaken by Metcalf’s Law, and the fact that cheaper always wins.

That and, you know, Microsoft.

Re:Technical Writing Style Guide on Thursday August 27, 2026 @10:10AM (#49465206)
Every technical writing guide I’ve found is depressing or boring. This one is both.

I suppose we shouldn’t be surprised to see 8th-grade advice offered to adult professionals with a straight face. Nor finger-wagging about the passive. Honestly, you want the world to know “the president was elected by the voters” is improved by “the voters elected the president”?

Want to be an excellent technical writer? Start by reading everything Brian Kernighan has written. Emulate. Repeat until done. Expect it to take time. Definitely years.

Instead of worrying over Oxford commas, wonderful though they be, great technical writing starts with and keeps always the reader in mind. Not so different from all great writing, in fact. Drop the “X was designed to intended to” throat-clearing, and get to what the user can do with what X does. And thanks for taking the time.

The next time, your libertarian friend mutters “Solyndra”, tell him at the most Solyndra cost the federal government 1/2 billion dollars, not the many billions Trump is spending to cancel wind projects.
Re:"Gravity is worth asking about." on Thursday August 06, 2026 @09:30AM (#49196414)
Apple is learning from Microsoft, sometimes as counterexample.

You won’t know Apple joy until you replace the one you have with another. If you’re backed up via Time Machine — because you are, right? — then you plug in your new machine, hit “restore” or whatever it’s called, and head off to sleep. In the morning all your data, applications, and settings will be there. Your new machine will be indistinguishable from the old but for the grime.

Re:Command Line Interface Guidelines on Thursday July 16, 2026 @09:21AM (#48934182)
Geez, what a lot of vague self-contradictory self-regarding opinionated advice.

Is terminal a world of “pure information’ or “a mess”? Both, it seems. Don’t dump “pages and pages of debug” text? Check. But do use boldface fonts “in a terminal independent way” and “try” to provide man pages. But because “some people” don’t know about them and “some platforms” don’t support them, provide help text by default.

Those “some” by the way are one: Windows. Do please enlighten us on the terminal-independent font control system that includes CMD.EXE.

How much is too much? Their showcase examples are more than 25 lines, more than the default size of a terminal window. The authors don’t give much weight to context, to the ability to look back on over the history of the interactive session. No, much better to splat the screen with 50 lines the user didn’t request, because helpful.

Oh, and don’t write a filter like cat(1). How the system is supposed to distinguish between reading from standard input and reading from standard input by mistake, they don’t say. Just quit and print a help message.

I have different advice: please don’t help. Please be quiet. Don’t suggest, don’t guess, dont offer, don’t assume. Just do. Do what the user said. If he wants something else, he’ll say so in time.

If you want —help to do something useful because you think your user is too dense to find the manual (condescension much?) then invoke it for him. Just maybe put a hint somewhere to press “q” to quit.

Virtually all the “help” I get on the command line is unasked-for and unwanted and unhelpful. If I fat-finger “ls”, I don’t need a suggestion to install lsof. The very last thing I want is 50 lines of noise obscuring what I was looking at before you so helpfully interrupted.

Count me among those who think publishers should always know who they’re publishing. When law enforcement comes knocking, a warrant should be all they need. Meta can’t shrug and say they don’t know who Batman1964 is.

There’s nothing new in publishing anonymously, just ask George Elliot. What’s new is the notion that publishers have no liability. Social media companies do not claim to speak for themselves. They have no reporters, no sources to protect. They’re one giant “letters to the editor” section. They should know for whom they speak.

Whether or not a writer commits libel is for the courts to decide. Neither the writer nor publisher has the right to avoid responsibility by camouflage.

Hey, the economy is great and gas is cheap. All we had to put up with is mean tweets.

Whenever anyone complains about Trump, remind them he’s not the cause but the product. Seventy million voted for him, and Republicans in congress let him do illegally what they cannot accomplish legislatively. And all the while they’re busy selling the country for parts, whether through tax policy, or neutering the CAFE standards, or handing copyright to Disney.

Exactly. Anthropic has been losing three-comma money until recently. In Q2 2026 it earned a profit for the first time, about $500 million. If we imagine they will earn $2 billion in 2026, that’s a 0.2% return on the $1 trillion investment.

To believe the valuation, Anthropic earnings need to grow 100x. For a more likely outcome, I can recommend a bridge in Brooklyn.

Re:Columnar Storage Is Normalization on Wednesday April 22, 2026 @10:00AM (#47863780)
Nonsense. See Codd’s first paper.

1NF removes repeating groups, putting for example data for each month in its own row, not an array of 12 months in 1 row.

Storage efficiency was never the point. IMS had that locked down. Succinctness of expression and accuracy of results was the point. And is: normalization prevents anomalous results.

> SQL Server has to convert every single value in the column to nvarchar before it can compare.

This of course is not true. It is a defect in Microsoft’s query planner. And the proof lies in the remedy.

The recommended solution is to convert the search argument type to match that of the index. The user is forced to discover the problem and adjust manually. SQL Server could just as well have done that automatically.

No information is lost converting nvarchar to varchar if the index is varchar. If the search argument is ‘’, no conversion from varchar will match it (unless the index data is UTF8, which the server should know).

This is a longstanding bug in SQLserver, and not the only one. Instead of patting ourselves on the back for avoiding what SQL Server “has to do”, we should be insisting it not do it. Anymore.

I’m not sure why the top-rated reply begins by presuming anything about the problem domain. Many domains have a specified language and implied if not explicit collation. Rejecting characters outside that domain is part of the job. There are no emojis listed on the NASDAQ.
Re:Why does C have the best file API on Monday March 02, 2026 @09:36AM (#47218483)
It’s a terribly useful idea. FTFY.

The program you used to leave your comment, and the libraries it used, were loaded into memory via mmap(2) prior to execution. To use protobuf or whatever, you use mmap.

The only reason mmap isn’t more generally useful is the dearth of general-use binary on-disk formats such as ELF. We could build more memory-mapped applications if we had better library support for them. But we don’t, which I suppose was the point of TFA.

Re:C Isn't a Language on Friday February 06, 2026 @10:45AM (#46914234)
Not sure how viable Mezzano is. The most recent bug report was two years ago. The “beginnings of a manual” was last updated 7 years ago.

A better example might be Guix, depending how “operating system” is defined.

Re:The lost art of XML on Friday January 23, 2026 @10:46AM (#46733867)
If only there was one good library. libxml2 is the leading one, and it has been beleaguered by problems internal and external. It has had ABI instability and been besieged by CVE reports.

I agree it shouldn’t be hard. On the evidence, though, it is. I suspect the root problem is lack of tools. Lex and yacc tools for Unicode are relatively scarce. At least that’s what’s set me back from rolling my own.

iRobot’s largest creditor isn’t its Chinese supplier. It’s the US government, in the form of unpaid tariffs, some $3.5 million. Arguably it was Trump’s stupid tariffs that drove the company out of business. Rather than bringing manufacturing to the US, it allowed the Chinese to acquire an American company, leaving production right where it is.
Re:Waiting for SQL:202y: Group by All on Monday November 17, 2025 @09:23AM (#45953795)
I believe that’s what we call a "view".
Re:Pass-by-Value Overhead on Tuesday October 28, 2025 @10:19AM (#45733221)
There is no pass-by-value overhead. There are only implementation decisions.

Pass by value describes the semantics of a function call, not implementation. Passing a const reference in C++ is pass-by-value. If the user opts to pass "a copy" instead, nothing requires the compiler to actually copy the data. The compiler is required only to supply the actual parameter as if it was copied.

Re:QUIC and the End of TCP Sockets on Thursday October 09, 2025 @09:32AM (#45527464)
Note well: the claims about TCP come with some evidence, in the form of a graph. The claims for QUIC do not.

Many of the claims are dubious. TCP has "no notion of multiple steams"? What are two sockets, then? What is poll(2)? The onus is on QUIC to explain why it’s better for the application to multiplex the socket than for the kernel to multiplex the device. AFAICT that question is assumed away in a deluge of words.

If the author thinks it’s the "end of TCP sockets", show us the research, the published papers and meticulous detail. Then tell me again why I should eschew the services of TCP and absorb its complexity into my application.

Re:Why America still needs public schools on Thursday October 02, 2025 @09:43AM (#45449505)
There was never any danger of public education, so eliminating that danger was quite easy. What we are undermining, though, is the benefit of public education. Witness the last election, where tens of millions were indifferent to democratic governance if it meant cheap gasoline and eggs.

And, yes, the assault on democracy is real. On January 20, Trump signed an order in support of free speech. Within a week he barred the AP over the Gulf of America. Within a month he illegally disbanded USAID. Within 3 months he began suing law firms and defunding university research. Today colleges are receiving letters demanding curriculum in exchange for funding. And we have four years more, at least, to endure.

Re:Why America still needs public schools on Thursday October 02, 2025 @09:32AM (#45449383)
90% of funding for K-12 public schools comes from state and local taxes. That’s hardly a one-size-fits-all national system.

Would you tell me though, please, what language and cultural differences should inflect science or math or literature or history? Are you suggesting evolution not be taught where there are parents who object, or that the civil war be taught differently in the former confederacy, so as not to hurt anyone’s feelings? Those things are happening, of course. I’m just innocent of any defense for them.

Re:Why America still needs public schools on Thursday October 02, 2025 @09:25AM (#45449310)
To be fair, the characterization is entirely accurate. Anyone who speaks of "government schools" advocates their demise. They want an entirely privatized system funded at taxpayer expense: a voucher for every child to be spent as each parent decides. If that means every public school closes, well, voila: the magic of the market.

Whoever "they" are in your assertion, they are not cutting down bureaucracy or promoting local control. The federal government has not issued new regulations to cap administrative overhead, for example. It simply abandoned its civil rights enforcement and slashed funding.

Agreed, public schools in America do a poor job. Something like 1/3 of graduating seniors are ready for college work, according to the "national report card". But that’s by design: elected school boards and administration determine salaries and standards. No principal wants to explain poor grades to a disappointed parent; no teacher wants to combat a parent’s prejudice by teaching real history or biology. So, the curriculum is mediocre and grades are high.

The situation isn’t much better at private schools by the way. Grade inflation is everywhere. Harvard just has the luxury of picking its students.

No Child Left Behind and civil-rights enforcement by the department of education did narrow the achievement gap, which has now begun to widen again. So it is clear the department directly benefits student. The complaint is not that; it is that it benefits the "wrong" students, if you get my drift.

Re:Red Hat Technical Writing Style Guide on Thursday July 10, 2025 @11:58PM (#44528269)
Brian Kernighan cannot be topped. He is easy to read, succinct, clear, and sometimes funny.
Why do I remember that every C64 BASIC keyword was a 2-byte integer? A typing shortcut was to enter the first letter, followed by a "shifted" high-bit character. Every keyword was represented that way.

Variables were also 2-bytes, but ASCII. The user could enter a longer name, but only the first two characters were significant.

Operating systems were always more reliable than Windows95 from the day it was introduced. Protected memory and process privilege were not exactly unknown when DEC was selling VMS. Or for that matter when Microsoft was selling Windows NT. That the FAA cheaped out then, choosing an inferior system with no technical merit, is prelude to the current problem.
> some systems can never be shut down

Tomshardware could do better reporting. There is no such thing as a computer that can’t fail, or a component that can’t be replaced. Does our reporter think the entire system was installed 25 years ago, and not one component has been replaced since? More likely it’s the ship of Theseus, and not one component is original.

I’ve replaced whole systems without interruption. You build in compatibility, then replace every computer one by one, and phase out use of the compatibility. It’s not rocket surgery.

Technical sites could be superior to the reporting in the general media on technical issues. It doesn’t have to be be stenography.

Re:Understanding effective type Aliasing in C [pdf] on Wednesday May 07, 2025 @09:53AM (#43915723)
What drugs were they on? Why on earth is there any distinction between variables allocated statically, on the stack, or on the heap? I allocate a struct, copy data to it, and those data have no Effective Type? Because I started with malloc? Give me a break.

The point of the type system is to define types. It’s not to make the compiler’s job easier, or to give standards committees clouds to build their castles on. No amount of words will justify this misbegotten misinvention.

Uh huh. The No SQL zombie yet shuffles on.

Anyone who knows SQL sees dozens of problems immediately. What enforces data integrity? How do we know the records are NF1? How do we perform a join, or test existential quantification, without table names? How do we know all supposed "dates" are valid dates, and not my uncles ex-wife’s maiden name? How does one reference XML attributes from SQL?

The answer produced by SQL are only as good as the data they’re drawn from. The quality and internal consistency of those data are enforced by the DBMS. No amount of pretty graphs and syntax highlighting changes that. The effective of SQL depends on the knowledge of the practitioner. No tool changes that, either.

Re:Usability Improvements in GCC 15 on Saturday April 12, 2025 @12:17AM (#43661316)
Yup, COBOL is that overnight sensation 4 years in the making. GCC COBOL is foremost an ISO COBOL compiler, with some extensions for IBM and MicroFocus syntax. We also extended gdb to recognize COBOL, so the GCC programmer has native COBOL compilation and source-level debugging.
Re:Repairable Flatpack Toaster on Friday March 07, 2025 @10:46AM (#43291084)
If the economics make no sense, it’s only because the economics do not account for the cost to the environment. If the retail cost included reclamation, so that there was no waste at all, this kind of toaster would be the cheapest.

Older »