skysight-inc/HackerNews huggingface dataset:
> Scale changes as population grows and usage deepens.

^ IBM was the brand in a time when no computing products existed for the Man on the Clapham omnibus.

Earlier examples of consumers having a parasocial relationship with a branded identity exist, just not particularly in the computing tech field.

Dresses, artworks, perfumes, performers have famously had cult like followings in times past - Lisztomania had fans camping out for a glimpse and prime seats.
A lot of those simulation games seem rather poorly made, but a couple of them have been big hits regardless.

I'm sure you'd do better on average with not terrible marketing.
What's remarkable is there was no effort to bypass GPT/Claude censorship back when they came out. That censorship is very real, even if you don't realize it's there.
Three Thoughts on the Summer of AI
Gemini does this too. There was a clip of what it does when you ask it for examples of Google's unethical behavior... the kids call this "watching it get lobotomized in real time."
They could sell ketchup popsicles at a white glove event?

I suppose getting people to do things against their better interest is a very people thing to do.

Isn't that the movie where it at least smells like fraud?
a typo that OP missed, with all our modern tooling, and also a typo that presumably the other models missed.
The USA would never be so childish...oh, hold on
I see we've forgotten xz already
> If you have a lot of experience in C# 2.0, later code may be quite incomprehensible.

I did a lot of programming in .Net 1.1 and quit just after 2.0 was released. I've then spent all my time in other programming languages. Past year at work we've been starting our transition to .Net. I must say I found exactly the opposite.

All the things I knew I could still do, and I found the new stuff quite readable. Sure I had to do a couple of searches to read up on some of the changes, but overall I've been productive in .Net 8.0 from the moment we started. I have had no issue reading library code, as one does to figure out what's really going on.

Also, Visual Studio guided me to rewrite my outdated code in better form, which also helped to understand the changes.

This is entirely unlike C++ which I also used a lot before and quit just shy of C++11 getting released. These days when I read some modern C++ code I frequently have absolutely no idea of what's going on.

As for EF I don't know, as the database we still have to support doesn't support it so haven't had a chance to use it yet. If we do, we will be writing our own SELECT statements for anything beyond a trivial primary key lookup though.

YMMV.
I love the 6502, but if we're considering teaching architecture using a legacy machine my preferred choice would be the PDP-11. The ISA is quite nice, and the machine has many of the "modern" features one would expect from a computer, like address translation. On top of that, there's loads of good, historic code to be looked at. Hell, bring back the Lions commentary book!
A Brief History of the Finder
It is impossible, when Python and JavaScript have OOP concepts as integral part of their basic types.

Go is also a OOP language, regardless of how people without CS degrees fool themselves it is not one.

Not having inheritance one OOP language doesn't not make.

By definition they are OOP languages, and anti-OOP folks could do better learning about type systems.
its mini to mini, its the same cost
Aren't LLMs smart enough now to communicate with __any__ API?
The projection here is fascinating.
I hope you get to a happier, less angry place in your life where you no longer hate an inanimate piece of software.
I recently inherited a C# code base at work. I agree that C# is a powerful, productive, and mature language, but as someone who has been programming mainly in Go, Python, and a bit of Zig over the past few years, there are a few things that feel like a regression in C#:

- The absence of free-floating functions (everything is an object, and I must use static methods on static classes).

- When “using” a namespace, the convention is to make all the symbols in the “used” namespace available directly in the current namespace. That makes harder to know where symbols are coming from when reading code. And to avoid name collisions, people tend to use longer names. The convention in Go or Rust is to prefix most symbols with the package they are coming from. But perhaps I’m missing something and need to read/write more C#.

- The syntax for doc comments with tags such as <summary> is super verbose. I don’t see the point. Docs are working great without these tags in other languages. Reminds me of my J2EE days.

- I really prefer the name before type syntax (used in all new languages such as Go, TypeScript, Go, Swift, Kotlin, Zig, etc.) to the type before name syntax (used in C#, C, C++, Java, Dart).
Even more occasionally commenters are too.
A cursory scan doesn't turn up anything derogatory about that term, it came about 20 years after "black book". Whitelist doesn't appear worthy of an etymology, but my amateur supposition is it's merely the opposite of the phrase "blacklist"

Sometimes a spade is just a spade.
I updated the README.md of my repository to make it clearer what the purpose of my library is.
Quite relatable. Writing a lot of Go and a bit of Rust has changed how I write Python and TypeScript. Most newcomers in startups write Python in a data-oriented manner, but that’s not the case even in new Java or C# codebases I’ve seen.

One reason I dislike Kotlin is that, despite being fairly new, Java has infected it with OO, and most Kotlin code looks exactly like Java. The whole point of Kotlin was to escape Java’s OO baggage and appeal to a new generation of coders, but it flopped hard. I guess old habits die hard, and way more Kotlin is written by Java veterans than by the younger devs it was supposed to attract.
In no way is “right people” commonly defined as “people who will commit genocide”.

These types of arguments aren’t good faith and are actually quite boring.
With "typeof" standardized in C23 it kinda does the job:

int(* fnptr_name)(int param) becomes typeof(int(int param))* fnptr_name

There is a recent proposal to update standard headers to this style:
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3450.txt
HTML didn’t make sense to me until I realized it’s built on a state machine and its rules are based on what’s on the stack of open elements. For example, a number of tags trigger a rule to close open P elements or list items, and many end tags trigger a rule saying something like “close open elements until you’ve closed one with the same name as this tag.”

This, IMO, is a bigger reason to avoid regex and XML parsers for HTML documents. The rules aren’t apparent when thinking linearly about what strings appear after or before each other; they become clearer when thinking of HTML as a shorthand syntax for certain kinds of push and pop operations.

XHTML is easier to parse, but for well-formed documents pushes the complexity of invalid markup into the rendering side. For example, it’s well-formed to include a button inside a button, so XHTML browsers render exactly this, but it makes no sense from a UI perspective and strange things happen when invalid markup is sent in well-formed XML.
I’ve worked with ASP.net many years and it mostly gets out of your way. I feel very productive with it.
It is too late, I got mixed signals.

This is going to be very hard to trust anything about it anymore, unless running the 671B locally an my own systems.
I would be very interested to see optimizations based on this. Could the compiler emit faster code with this idea? What impact does this have on auto-vectorization like using `vgather`?
Unfortunately not really.

Amount of foot guns in auth flow is high. Implementation of login / password form is just a small piece.

Making sure there are no account enumeration possibilities is hard. Making sure 2FA flow is correct and cannot be bypassed is hard. Making proper account recovery flow has its own foot guns.

If you can use off the shelf solution where someone already knows about all those - it still stands don’t roll your own.
As a non American, what is the significance of this?
You don't have to wait for later, here's a new eliminator
Ask your local weapon trader for the superperforator
What is happened is that a guest language cannot avoid the platform ways of working.

Scala, Clojure do support OOP just as well.

Glad to know you don't make use of methods, polymorphism and dynamic dispatch in Go, Python and Typescript.
But often the top comment debunks what you think is true, and then you learn something.

> It quickly becomes this weird bubble of people just acting on what everything "thinks" the content is about without ever having looked at the content.

That isn't an issue though since the important part is what you learn or not, not whether you think an imaginary article is true or not. If you learn something from someone debunking an imaginary article, that is just as good as learning something from debunking a real article.

The only issue here is attribution, but why should a reader care about that?

Edit: And it isn't an issue that people will think it actually debunks the linked article, since there will always be a sub comment stating that the commenter didn't read the article and therefore missed the mark.
You’re right. I got it mixed up with the original Mac IIx (the gray box).
How can you trust that the compiler has written the most efficient assembly, if you’re not double checking it by hand?

Jokes aside, I understand your point.

In the history of computing, LLMs and compilers are closer than one might think.

Compilers weren’t first created to optimize “abstract code down to the most efficient” assembly as possible, even if that is the goal of a compiler writer today.

Compilers were created to enable the use of higher-level languages. Abstraction, efficiency, portability, error reduction, and most importantly: saving time.

They allowed humans to create more software, faster.
Parseable: Observability database to compress and query at scale
When it comes to new positions the reduction in wages bill kicks in.

Those employed during the transition phase benefit from full salary yet work 80% hours.

New employees will get 100% for the four days they work while the company operates for five days.

Employee wages are usually the largest expense in any business.
Exit, Pursued by an Error: Simpler Error Handling in Go
C# started as a language tightly aligned with C++/Java, but has since moved to be something else entirely that is highly capable.

I assume that free-floating functions are global functions. You can achieve something similar by "global using". Put this in a file and tug it away somewhere:

"global using static YourStaticClass;"

Now you can call all the static methods on the class everywhere.

As for the using vs. naming convention, most people use the IDE and hover the mouse over the type to see its identity. Once you get proficient with the IDE, you can do it using shortcuts. However, if you really want to prefix all types with a shorthand of the package it came from, you can do it with aliases in C#.
You should ask instead "What does it NOT do that the others do?"
As you note, within the Zig philosophy, I don't think this is a problem, I think it's an intentional feature.
There is a big diff between Education and Entertainment. It just leads to confusion and misunderstandings when both are mixed up.

If you are interested in how orgs work visit any top b-school site and read their research output.
I try to explain to my kids that some expensive things and experiences are expensive because they need a "war chest" in case of lawsuit or recall. These companies have usually been in business a while.

Conversely, some things are cheap because the one who assumes all liability is oneself.
Building crypto systems is also hard.

You write about passing hash digest.

Makes me think about pass the hash vuln in windows NTLM where if someone grabs the hash they don’t need to know the pass anymore because they can pass the hash.

The same you still can use AES or RSA incorrectly so that whatever you built on top of those is vulnerable if you don’t have experience.

OK TFA explains all I have the same view on topic as author.
The “studies” surrounding this topic are laughably bad.

The authors almost always have conflicts of interest. The studies are often funded and/or staffed by proponents of the 4 day work week.

The outcomes are mostly subjective and self reported, which is problematic because employees clearly have a vested interest in claiming they are more productive than they really might be.

They’re also short term, and dont address the doubt every executive has which is whether employees eventually mean revert back to their historical hourly productivity levels.

Then there is the fact that they don’t bother controlling for how much work the employees were previously doing. Many white collar workers are underworked. If you cut their hours it won’t impact output, because they were bottlenecking on work availability not time. What employers want to know is not what happens in over resourced offices, but rather what happens in well managed offices where employee workload was already optimised.
Pregnancy boosts the immune system, so that may be it. Btw, the amino acid L-Lysine may also help. Many people report positive results on regular intake and one of them is me.
Class Action over Biased FAA Hiring Practices Is Cleared for Takeoff
This sounds like the pedantry FP folks are infamous for. By definition, Rust is also OO.

But I’d rather write Python, Node, Go, or Rust in a bastardized, data-oriented, faux-OO way than deal with GoF-style OO in Java, Kotlin, or C#. Sure, you can write code in a non-OO way in C#, but no one does. Whereas in Python, these days, people default to a data-oriented style.

This is just how I like to program. Plenty of folks enjoy OO thinking, and I have nothing against that. But when choosing a workplace, I’m fortunate enough to be able to ask if the codebase is OO-heavy—and politely decline if it is.
Did they get the bounty?
Gee, are you saying wages are somehow tied to output? Why didn't anyone think of this before suggesting a 4 day workweek?
> I've literally blogged about tool recommendations before

Do you happen to know of a similar resource applicable to common HN deployment scenarios, like regular client-server auth?

For example, in your Beyond Bcrypt blog post[0] you seem to propose hand-writing a wrapper around bcrypt as the best option for regular password hashing. Are there any vetted cross-language libraries which take care of this? If one isn't available, should I risk writing my own wrapper, or stick with your proposed scrypt/argon2 parameters[1] instead? Should I perhaps be using some kind of PAKE to authenticate users?

The internet is filled with terrible advice ("hash passwords, you can use md5"), outdated advice ("hash passwords, use SHA with a salt"), and incomplete advice ("just use bcrypt") - followed up by people telling you what not to do ("don't use bcrypt - it suffers from truncation and opens you up to DDOS"). But to me as an average programmer, that just leave behind a huge void. Where are the well-vetted batteries-included solutions I can just deploy without having to worry about it?

[0]: https://soatok.blog/2024/11/27/beyond-bcrypt/

[1]: https://soatok.blog/2022/12/29/what-we-do-in-the-etc-shadow-...
There was some more stuff that I found upon researching it, but not nearly as serious as I (mis?)remembered, yeah.
> Well the whole point of hiding your tracks is evading law enforcement, why would you care if it’s illegal?

Because it will make you an easy target.
>C# is a nice language, but it has a huge surface area in terms of syntax.

If you compare it to something like Java, yes, it has much richer syntax. But having to process some extra unfamiliar syntax is compensated by removing a lot of boilerplate once you get familiar with the features. Also, Java's simpler syntax is far overshadowed by much bigger complexity and cognitive load in other areas of the Java project, including the entire plumbing besides the code itself. Ergonomics, simplicity and comfort of a .NET Core project infrastructure is pretty much unmatched.
Thing that I don't understand about LLMs at all, is that how it is possible to for it to "understand" and reply in hex (or any other encoding), if it is a statistical "machine"? Surely, hex-encoded dialogues is not something that is readily present in dataset? I can imagine that hex sequences "translate" to tokens, which are somewhat language-agnostic, but then why quality of replies drastically differ depending on which language you are trying to commuicate with it? How deep that level of indirection goes? What if it would be double-encoded to hex? Triple?

If someone has insight, can you explain please?
> Constructive ignorance

See also: "Doublethink" in 1984.

> To know and not to know, to be conscious of complete truthfulness while telling
carefully constructed lies, to hold simultaneously two opinions which cancelled out, knowing them to be contradictory and believing in both of them, to use logic against logic, to repudiate morality while laying claim
to it, to believe that democracy was impossible and that the Party was the
guardian of democracy, to forget whatever it was necessary to forget, then
to draw it back into memory again at the moment when it was needed, and then promptly to forget it again: and above all, to apply the same process to the process itself.
99.99% of humanity has not been disempowered since the agricultural revolution.

see, I can also pull things out of my ass without any providing any supporting argument
Humans are just collections of cells, bacteria and some electrical impulses; all vying for survival in a hostile world.

By your definition, anything made up of anything can’t “care”.

Corporations can care, they usually care a lot about for example profits. Governments can care, the ones you’re accustomed to might care a lot about the image of the country or their own image; some can be interested mostly in the survival and prosperity of the country and its citizens though. Politicians, CEOs, Executives etc; can be self serving.

Similar to our own bodies cells: those can be self-serving too. We call that situation cancer.
They're either unrecognisable (so quite small), or where they are recognisable they seem to be charities or CIC (community interest companies). That latter group of companies are structured so that profit is not the raison d'être of the organisation, so work/life balance is likely to be considered a higher priority than squeezing every last bit of utility out of an exhausted workforce.
HyTime was Kimber’s work, and I found this reflections of his on “worse is better” to be quite refreshing, especially when contrasting the formality of SGML against the flexibility of HTML.

https://drmacros-xml-rants.blogspot.com/2010/08/worse-is-bet...

I’ll have to spend more time in the SGML Handbook. It’s available for borrowing at https://archive.org/details/sgmlhandbook0000gold. So far, I’ve been focused on the spec and trying to understand the intent behind the rules.

> a couple of auxiliary conventions introduced to make attribute capture and mapping in link rules more useful

Do you have any pointers on how to find these in the spec or in the handbook? Some keywords? What I’ve gathered is that notations point to some external non-SGML processor to handle the rendering and interpretation of content, such as images and image-viewing programs.

Cheers!
This can often be done without any AI (I suppose you mean LLMs here but I'm not sure since the term has been diluted so much).
Have you considered Somatic Symptom Disorder?
>Remember how Elon Musk destroyed Twitter by ripping apart its infrastructure without understanding it?

https://www.statista.com/statistics/272014/global-social-net...

According to Statista, Twitter/X had 661M users in 2024
> And there are so many good counters to both these arguments.

I'd love to hear them!
Isn’t insomnia open source?
I still like C# more than Java and know that the language now allows you to break out of GoF-style OO. But the issue is, few people actually do, and those who want to aren’t writing C#.
Speaking as an old C# hand:
1) I don’t think static methods/classes are that big a deal. There’s a free-floating syntax for short scripts but I don’t regard this as much of a problem. There’s also the rarely used using static syntax.
2) The common convention assumes you’re using VS or Rider and can just mouse over to find where things come from. So you’re not missing anything except possibly an IDE.
3) Yeah, it is. But again, the IDE integration is great.
4) can’t argue with you there. The C-style syntax was a mistake that’s been replicated in way too many places.
The LLM Arena deletes your prompt when you restart so what's the point in trying to write a complicated prompt and testing an exhaustive number of pairs?

It's easy to pin this on the users, but that website is hostile to putting in any effort.

This is something I've noticed a lot actually. A lot of AI projects just give you an input field and call it a day. Expecting the user to do the heavy lifting.
Not open source, nothing to see here.
Such polling is done extensively. Norway ranks 6th, with 94.1% very happy or quite happy.

Happiness vs life satisfaction correlates surprisingly little.

https://ourworldindata.org/grapher/share-of-people-who-say-t...
> I'm blaming myself when I write that.

The way I understand it: You are blaming yourself (and people in a similar position) because you know better and you have the ability to create better libraries.

But as someone who does a lot of software engineering, I also recognise that writing reliable software is time-intensive. And writing library code that doesn't have any cryptographic flaws is probably extra time-intensive, because there is no crypto-aware type checker or linter watching over your shoulder, because afaik these tools don't exist. Good cryptographic software is not written in a day and I know that this is very frustrating. I've got a lot of half-finished side-projects laying around...

But my original sub-point still stands: We need better well-known learning resources on how to use cryptographic algorithms correctly, so that we as developers can recognize misuse of/by libraries. And I'm happy to hear any suggestions for books and websites.
> If you learn something from someone debunking an imaginary article, that is just as good as learning something from debunking a real article.

An argument for synthetic corpi (plural of corpus..esses?) - AI ingesting AI.
Hundreds of qualified applicants were denied jobs through a "Biographical Assessment" that you can take yourself:

https://kaisoapbox.com/projects/faa_biographical_assessment/

Spend a bit of time taking it and it's clear what at least one reason for this shortage is.
Norway's Oil Fund
Well, just thinking about the meaning of the word "exact" can be literal, the level of frustration suggests the emphasis is the highest, it can make the reader understand the meaning of "exact" is a literal irreducible exact, implying no one other than you have the literal exact same experience.