News for hackers. Stuff that matters.

obviouslynotme

Re:Celebrating 70 Years of Fortran on Thursday October 15, 2026 @11:13PM (#50113557)
Here's a link to one of the papers: https://dl.acm.org/doi/10.1145/954654.954661

You call into C or assembly to reserve memory and return an out-of-bounds index to a global one member array. That index is generated from the pointer to the new memory as an offset.

You may have had trouble finding it since I misspelled DYNOSOR (no U).

Re:Celebrating 70 Years of Fortran on Thursday October 15, 2026 @05:00PM (#50110158)
You would think, but that isn't what happened at all. Half the code was very nice and readable but half was giant subroutines doing complex mathematics. The largest subroutine was over 10kloc.

The best part is that the code was originally punched onto cards, so most of the early code's comments and documentation were on paper in filing cabinets, if you could find them.

Re:Celebrating 70 Years of Fortran on Thursday October 15, 2026 @03:06PM (#50108671)
I used to work on software that still uses Fortran from the 50's and is still in maintenance and use today. IIRC, it had ~700kloc of Fortran. It may be the oldest and largest Fortran codebase still in use.

My first project there was removing all of the Hollerith from the code. Since Fortran predated strings, you had to manipulate them as integers. When you tied that to the original Fortran dynamic memory system, Dynosour, which used equivalenced arrays as pointers, it was a disaster.

It also gave me an appreciation for JavaBeanFactoryFactory. The original Fortran limited identifiers to six characters, the first of which indicated whether the variable was an integer, logical (bool), or real (float). I will take a 100 character name over ILBNK1 every single time.

GOTOs were surprisingly not a big problem, but structured code is definitely a bit easier to read, especially since it brought the practice of indentation with it.

Overall, it was a great experience but I wouldn't want to do it again, even if the work was interesting.

Re:We Should Be Able to Change Our Languages on Sunday September 27, 2026 @12:20AM (#49863319)
It should mean both. They need to learn how to do it by hand and then learn how to lean on a navigation system. If only GPS fails, then the celestial navigation program fallback runs without a hitch. If shit hits the fan, then they can break out the manual and remember how to do it by hand.
Re:US Military disables ad trackers on troops' phones on Friday September 04, 2026 @05:42PM (#49570578)
There are MANY problems that are too politically or practically difficult to tackle for the US Military and personal cellphones aren't close to the top ten. It's far easier to force everyone to register their cells to be automatically blacklisted from data collection than it is to justify tens of thousands of NJPs and court martials every year, many of which will include officers and senior enlisted.

The US Military doesn't win through stealth or secrets either. Their advantage from the beginning until now has always been funding and logistics. With the Internet, satellites, and now AI, OPSEC is a fool's errand outside of very specific operations anyhow.

Re:Static Allocation, Constant Work on Thursday September 03, 2026 @07:52PM (#49558717)
>Someone else's battle-hardened allocator might be slow or buggy, so you write your own as part of the business logic implementation?

In infrastructure where speed and reliability are highly valued? Absolutely. The gains obtained from proper memory layout and specialized use are massive. As long as you have the reason to do it, it's an easy win. I believe that the Zig standard library has different specialized allocators, so you don't even have to write your own buggy implementation.

Re:I like 'em thick OR: an apology to my English teachers on Thursday August 20, 2026 @02:29PM (#49378359)
I second this. As a teenager, you don't have the life experience to appreciate most classic literature. I don't even think you have it in college, although this is less true.

That being said, there is important literature, both fiction and non-fiction, that should be introduced early, even if they won't really grasp it for decades. Most would be early philosophy and mythology, along with their best refutations. Learning how to read, think, and discuss them is the skill you're really looking to impart on the students to prepare them for real reading as adults.

Unfortunately, the education system is designed to train children to the minimum requirements of their predestined jobs and no further. It's no surprise that schools have made reading and thinking so unpleasant that most people are too traumatized to do it on their own.

Re:Are AI chatbots politically biased? on Wednesday June 24, 2026 @06:01PM (#48666138)
>weighted flat earth and spherical earth

It should default to the mainstream opinion in general, but if you specifically ask about the shape of Earth, I do think it should mention the different theories as well as their pluses, minuses, and consensus. Avoiding bad or outdated ideas is bad in both theory and practice. If we don't speak about it, then that leaves the microphone solely to the kooks. I want an AI that gives me all relevant positions. Otherwise, it's a waste of my time. I don't want to go to my AI priest for quick answers. I want to be informed.

Most things won't fall onto such easily decidable lines as well. In politics, which encompass far more than people realize, there will be many opinions that are not falsifiable. As an example, if someone asks, "What country is Kashmire in?" Would it be more informative to give one side of the story or both? Which one is "correct?"

>trained to ignore structured argument

AI is not rational (yet), although some would argue that it's getting close. It is complex retrieval of highly curated, unstructured data. So yes, there is enormous bias in the information, some of it good, some of it bad.

This supports multiple positions. AIs do not think. They do not reason. Their best use is summarizing subjects while giving multiple citations that I can read myself. The AI user motto must be, "Trust but verify."

Re:Are AI chatbots politically biased? on Wednesday June 24, 2026 @04:36PM (#48665301)
I don't think we can access the Platonic Form of Unbiased in this world. The best we can do is put forward as many points of view on a topic as possible and let the reader choose. It seems that Google's AI does the best job at this.

On a side note, neither of the mainstream parties are internally coherent. This is the nature of big-tent, two-party politics. You can only find coherence in the smaller sects within.

Re:Job application asked for my SAT scores on Monday June 22, 2026 @06:43PM (#48637432)
They are obviously using the SAT as a safer alternative to the legally dubious practice of IQ testing which can lead to running afoul of the ADA and EEOC. I'm not sure it's much safer, but I am positive it's less safe than doing timed leetcode. At least leetcode problems can be painted as relating to the job.

Additionally, the SAT is a shitty IQ test that is constantly crammed for and cheated on. I remember my SAT test. I was the only person in the room not openly cheating. The teacher proctor didn't care. Higher scores mean better students, more funds, higher home prices, bonuses, and a litany of secondary effects. That's not even including people that pay professional test-takers to do it for them.

The software industry needs to let go of their obsession with finding 10X ROCKSTAR L33T programmers. They never will though. It has gotten worse every few years for decades, and the problems are almost entirely managerial.

Re:Retro-Tech Parenting on Thursday June 04, 2026 @05:13PM (#48404720)
You're right. If you think you are walking that line for each of your children, then you are the authority. It's just a common argument I hear from parents who want to avoid feeling bad, so I did make some assumptions.
Re:Retro-Tech Parenting on Thursday June 04, 2026 @04:58PM (#48404541)
I understand deeply. My parents delayed my driver's license until I was 17 because of financial tightness at the time, and that distanced me from some of my friends at the time. You know what I gained from that? I got to see who my real friends were, and even more importantly, I learned that not all friends are the same in a visceral way. I learned how to confront my parents in a way to communicate my viewpoint in a way they could understand. We learned together how to compromise and renegotiate our entire relationship, helping transition from child/parent to adult/parent.

You have two jobs as a parent: create a safe environment for your children and prepare them for the adult world that is wildly unsafe. Unfortunately, these two goals are both required and contradictory. A line must be walked. Too much deviation to one side or the other will cause severe problems.

That line cannot be prescribed. It's different for each child, but there's a big problem with how you put your point. You aren't trying to prepare the child for a dangerous and difficult world, you are trying to protect them in a different way, minimizing the other dangers. I completely understand. It hurts to see your child hurt. All you want to do is make the pain go away.

Instead of helping them avoid the pain of learning about relationships, you should guide them. Help them understand. They won't at first. Like a toddler throwing a tantrum that you won't let them stick objects in wall outlets, parents have to be the "bad guy" from time to time. Eventually, the toddler will grow up enough so that you can explain dangers to them and you won't have to do it for that thing anymore. The same applies here. They won't understand at first. Help them understand the dangers. When they do, you can teach them how to safely use the metaphorical wall outlet. Then you don't have to be the bad guy anymore.

Re:Retro-Tech Parenting on Thursday June 04, 2026 @03:55PM (#48403786)
My parents did, and they were right. I had limited tv, games, and computer time. They kicked me out of the house after school, only to return for supper. I am eternally grateful for that decision. I have rich friendships that continue thirty years later.

Today, the tech is even worse for children. Playing too much Nintendo might isolate you and hurt your schoolwork, but iPad toddlers are fundamentally damaged.

Re:Retro-Tech Parenting on Thursday June 04, 2026 @03:48PM (#48403709)
This is a symptom of not encouraging children into extracurricular activities. If all you have to bond over is social media, your friendship is empty. That's how you create terminally-online, mentally ill people. Everyone needs third spaces like sports, scouts, music, church, clubs, and the like. They get you out of your house and head and surround you with people who share similar interests.
Re:Do teachers need advanced degrees? on Thursday May 14, 2026 @11:09PM (#48144112)
Teacher experience means they have more say in their students. It's common for new teachers to be shoved into the worst schools and classes in the district. Teacher performance doesn't significantly effect student performance. Student ability and home situation are the best predictors. There are exceptionally bad and good teachers, but they are exactly that... exceptions.
It's not. This is just an acceleration in the unraveling of society facilitated by AI. As someone whose childhood included so many "robots will kill humans" books and movies, I am flabbergasted that the AI apocalypse will be dumb humans overtrusting faulty AI in important matters until everything falls apart.

Most humans cannot distinguish AI from actual intelligence. When you combine that with bureaucrats innate tendency to say, "Computer said so," you end up with bizarre situations like this. If a person had made this facial match, another human would have relentlessly jeered him. Since a computer running AI did it, no one even cared to think about it.

Computers are wildly dangerous, not because of anything innate but because of how humans act around them.

You are absolutely correct. Even distributing the replication around the world will only help so much. It's a small world out there and only smaller in the specializations.

That's why replication has to be required and standard. It will hurt to tear off the bandaid, but once the culture shifts, people will hesitate to publish mediocre research in the first place. Without mediocre research flooding the zone, real numbers will dominate and inflated expectations will wither.

I have worked in this particular sausage factory. Multiple funded random replications are the only thing that will save science from this crisis. The scientific method works. We need to actually do it.

Replications don't have to be in the journals either. As long as money flows, someone will do them, and that is what matters. The randomization will help prevent coordination between authors and replicators.

In a better world, negative studies and replications would count towards tenure, but that is unlikely to occur. At least half of the problem is the pressure to continuously publish positive results.

I have enjoyed this article series many times in the past. Having been in all three classes, he got losers and clueless correct, but he is mistaken on the sociopaths.

1. Sociopaths don't recruit. They build fiefdoms and leverage social ties. How many times have you seen a random guy making minimum wage become senior management? Almost never. The exception to this is people who are hired to be in the running for senior management who are moved all over the company at a fast pace to get the lay of the land.

2. Losers are sociopaths who do not have the birthright to be sociopaths. Put the other way around, sociopaths are losers born into valuable social ties. Their natures are the same. Power corrupts. Most people never learn what they become with power. The clueless are the strange ones, the glue that holds everyone together and keeps the lights on.

3. As the author says, gametalk is obtuse discussion distinguished by the stakes involved. That is normal human social patterns, only distinguished by the stakes. If direct, straightforward discussion was the norm, we wouldn't need to use adjectives for it. The clueless are once again the outliers of the organization. The stakes and who gets to use them are the dividing line once again.

It's hard to think that most people are so selfish they would throw their group and others under the bus for benefits, but if you look for it, you will see it everywhere. Most people do not have the ability to exercise enough power to make it obvious.

Think about Resume Driven Development. Half of it is clueless people genuinely excited for Brand New Thing, but what about the rest? They know that in five years, companies will demand ten years of experience in Brand New Thing. So what do they do? They push for Brand New Thing wherever they can. This lets them accumulate leverage for their next job. Who does this hurt? Their company and everyone who has to deal with their Ball of Mud when they leave. This is the moral equivalent of some senior manager taking short-term gains at long-term loss to grab a fat bonus and fail upwards into another company.

I really enjoyed the series, but it has the same problems as other realpolitik subjects. Clueless will grab onto it thinking they can become the next Alexander the Great or Jeff Bezos and make a fool of themselves. The essential ingredients are never spoken out loud, and topics like this are always gross oversimplifications by their very nature.

Re:The end of the kernel Rust experiment on Wednesday December 10, 2025 @12:27AM (#46214397)
A lot of C's popularity is with how standard and simple it is. I doubt Rust will be the safe language of the future, simply because of its complexity. The true future of "safe" software is already here, JavaScript.

There will be small niches leftover:

* Embedded - This will always be C. No memory allocation means no Rust benefits. Rust is also too complex for smaller systems to write compilers.

* OS / Kernel - Nearly all of the relevant code is unsafe. There aren't many real benefits. It will happen anyways due to grant funding requirements. This will take decades, maybe a century. A better alternative would be a verified kernel with formal methods and a Linux compatibility layer, but that is pie in the sky.

* Game Engines - Rust screwed up its standard library by not putting custom allocation at the center of it. Until we get a Rust version of the EASTL, adoption will be slow at best.

* High Frequency Traders - They would care about the standard library except they are moving on from C++ to VHDL for their time-sensitive stuff. I would bet they move to a garbage-collected language for everything else, either Java or Go.

* Browsers - Despite being born in a browser, Rust is unlikely to make any inroads. Mozilla lost their ability to make effective change and already killed their Rust project once. Google has probably the largest C++ codebase in the world. Migrating to Rust would be so expensive that the board would squash it.

* High-Throughput Services - This is where I see the bulk of Rust adoption. I would be surprised if major rewrites aren't already underway.

Re:62 chapter open-source Zig book on Monday November 17, 2025 @02:17AM (#45951485)
Very, very few people outside of foundational system software, HFT shops, and game studios understand why it's a great selling point. Everyone else likes the other points and don't realize the actual selling point of the language.
Re:62 chapter open-source Zig book on Monday November 17, 2025 @01:57AM (#45951388)
There is nothing new under the Sun. However, some languages manifest as good rewrites of older languages. Rust is that for C++. Zig is that for C.

Rust is the small, beautiful language hiding inside of Modern C++. Ownership isn't new. It's the core tenet of RAII. Rust just pulls it out of the backwards-compatible kitchen sink and builds it into the type system. Rust is worth learning just so that you can fully experience that lens of software development.

Zig is Modern C development encapsulated in a new language. Most importantly, it dodges Rust and C++'s biggest mistake, not passing allocators into containers and functions. All realtime development has to rewrite their entire standard libraries, like with the EASTL.

On top of the great standard library design, you get comptime, native build scripts, (err)defer, error sets, builtin simd, and tons of other small but important ideas. It's just a really good language that knows exactly what it is and who its audience is.

Cameras and other means of tracking cannot remove me from commerce. The problem isn't just the tracking. Cash requires no oversight to transact. If I am required to use a payment network, there are many third parties who get a say in what I can do. That's the biggest issue.

On the plus side, once cash is de facto outlawed, the US Supreme Court will be forced to finally step in on the subject. The removal of cash will force banks to authorize bank cards and accounts, no matter who. A bit later after that, they will be forced to give access everyone access to payment terminals and gateways.

I completely agree with you, but you cannot stop this train. Cash will continue to exist only as a loophole to be exercised by rich and connected individuals. Everyone else will be robbed by police for having "suspicious amounts of cash."
Re:Love C, Hate C: Web Framework Memory Problems on Friday October 10, 2025 @10:28PM (#45546065)
The most important pattern to learn in C is to allocate a giant arena upfront and reuse it over and over in a loop. Ideally, there is only one allocation and deallocation in the entire program. As with all things multi-threaded, this becomes trickier. Luckily, web servers are embarrassingly parallel, so you can just have an arena for each worker thread. Unluckily, web servers do a large amount of string processing, so you have to be careful in how you build them to prevent the memory requirements from exploding. As always, tradeoffs can and will be made depending on what you are actually doing.

Short-run programs are even easier. You just never deallocate and then exit(0).

Re:What good workplace politics looks like in practice on Wednesday October 01, 2025 @03:56PM (#45442587)
Except this is an article on how to perform technical politics in large organizations. Functional, intelligent, non-nepotistic leadership is the exception, not the rule. It has been this way for a long time, perhaps forever. Dilbert became one of the most circulated comics for good reason. This article is the third guy.

Pretending that identifying stakeholders' needs, communicating the solutions, and delivering them are the keys to succeeding in corporate politics is a joke. It's our parent's telling us that we need to be good for Santa Claus. Human politics is an enormously deep subject, and a newbie will get trampled every single time. If you are sitting at a poker table and don't know who the sucker is within five minutes, congratulations, you are that sucker.

Re:It's Time to License Software Engineering on Thursday September 25, 2025 @12:32PM (#45374979)
We have already removed so much liability in other licensed professions, either through law or practice. It's almost impossible to obtain a malicious prosecution or SLAPP judgement against attorneys. Malpractice lawsuits have been legally capped all over the USA against doctors. Engineering liability is a joke outside of rare circumstances.

The social will for having real accountability and professional ethics just isn't there. If you license software, large companies will just outsource the stamps to small contractors who will legally assume responsibility while nothing else changes. All real accountability will be so sparse and random that all ethical complaints will be ignored. If this liability becomes large enough to effect anything, all tech companies will band together to bribe politicians to limit legal remedies in the laws themselves.

In the end, the only thing that will happen is that large companies will use these regulations to bludgeon smaller competition like they already do.

Re:Famous cognitive psychology experiments that failed to replicate on Wednesday September 17, 2025 @05:51PM (#45281817)
How are you going to get around Griggs v. Duke Power Co.? AFAIK, personality tests have not (yet) been given the regulatory eye, but testing cognitive ability has.
Re:Porffor: A from-scratch ahead-of-time JS engine on Tuesday July 30, 2024 @05:56PM (#41114520)
I would bet that, especially outside of library code, 95+% of the typed objects are only interacted with using a single interface. These could be turned into structs with direct calls.

Outside of this, you can unify the types. You would take every interface used to access the object and create a new type that has all of the members of both. You can then either create vtables or monomorphize where it is used in calls.

At any point that analysis cannot determine the actual underlying shape, you drop to the default any.

Re:Porffor: A from-scratch ahead-of-time JS engine on Tuesday July 30, 2024 @04:47PM (#41113985)
Outside of really funky code, especially code originally written in TS, you can assume the interface is the actual underlying object. You could easily flag non-recognized-member accesses to interfaces and then degrade them back to object accesses.

Older »