MurphyA/hacker-news huggingface dataset:
by arjie | 2025-12-13 19:21:10+00:00
I've certainly spent a lot of my life on social media - even as a child. It's just that back then the media was the forum that my friends and I ran; the other forums we talked on; and then later the video-games we played. There certainly is an increase in the amount of addictiveness now of the feed. I was always easily addicted to writing and reading a lot of online text (a lot of which was just garbage on both sides) but the habit seems stronger now. I wonder what changed. I'm trying a couple of experiments: one is to reduce engagement bait stuff by blocking users who say it; and the other is to try to end infinite-feeds.

I think I have a desire to 'correct' other people and a desire to 'complete' the feed. If I can eliminate these two, I wonder if I can reduce the problem.
by mox-1 | 2025-12-13 19:21:17+00:00
A friend of mine and I (we are both Aussies) had been staying at my Grandma's house in a rural village in UK and were trying to make our way back to London on Boxing Day. The fact that it was Boxing Day meant that no buses were running, so we started sticking our thumbs out to try and hitch a lift to the nearest town's train station. As you would expect, picking up two 19 year old blokes in the middle of nowhere was not an attractive proposition to your average passerby.

Eventually a guy comes along and picks us up. Tells us he hitched all the way across Europe back in the day so he empathized with us. Says he's on the way to pick up his son (our age) from work, a department store that happened to be on the way to the station.

His son gets into the car, understandably pretty bemused as to why his dad has brought two random stragglers with him!

We get to the station only to find that it's closed, because, yes, it's Boxing Day and trains weren't running either (we hadn't really thought this through). Guy says:

"Don't worry lads, all the family are around ours for Christmas dinner. My brother lives in West London so he can give you a ride there at the end of the night."

So we found ourselves, two foreign students, invited to a complete stranger's Christmas dinner party. We all had so much fun and drank so much that we completely abandoned the London idea and went back to my Grandma's at the end of the night.

And the kid who was our age that got picked up from work? He ended up being my Best Man when I got married 15 years later. True story!
by bootsmann | 2025-12-13 19:21:18+00:00
> cleared of inflation energy costs are lower than 2013, 12 years ago

This is not the argument you want to make. Energy prices are a significant component of the basket used to measure inflation. Like yeah, you expect energy prices to sink if you discount for the rise of energy prices. Germany is suffering from high energy prices its the key factor why the country has been stagnating economically for the past 6 years.
by lpil | 2025-12-13 19:21:25+00:00
Hi, I’m the creator of Gleam!

The comment you are replying to is correct, and you are incorrect.

All OTP APIs are usable as normal within Gleam, the language is designed with it in mind, and there’s an additional set of Gleam specific additions to OTP (which you have linked there).

Gleam does not have access to only a subset of OTP, and it does not have its own distinct OTP inspired OTP. It uses the OTP framework.
by thadt | 2025-12-13 19:21:36+00:00
Well, it depends on the granularity of the time scale right? When you're measuring milliseconds, then the cable length probably isn't a thing factoring into your latency calculation.

When we're measuring time on the scale of nanoseconds then, yes, cable length is definitely something we care about and will reliably show up in measurements. In some situations, we not only care about the cable length, but also its temperature.
by quickthrowman | 2025-12-13 19:22:09+00:00
> It gets worse the further from the power tools section you get, I find. I had to explain the difference between a three-prong and four-prong 240V plug once at HD and promptly told my friend to stop asking the staff for "help" finding things.

The best feature of Home Depot is order pickup. No need to explain to someone that some appliances use both 120V for control power and 240V power for the motor or heating element; or that you’re installing a receptacle to backfeed a 120/240V panel with a 120/240V generator and therefore you need a 4-wire NEMA 14 series receptacle with a neutral conductor, you just buy one and pick it up from a locker. It’s made buying things from Home Depot tolerable for me, I’m used to buying material from supply houses where the folks are knowledgeable, I know that’s not the case at HD so I don’t even bother asking.
by rolph | 2025-12-13 19:22:51+00:00
problem is with pushing a UX at users and enforcing that model when the user changes it to something comfortable when you should be looking at what the users are throwing away, and what they are replacing it with.

MS is a prime example, dont do what MS has been doing, remember whos hardware it actually is, remain aware that what a developer, and a board room understands as improvement, is not experienced in the same way by average retail consumers.
by tsss | 2025-12-13 19:23:19+00:00
I also work in the German healthcare sector (as a contractor) and all of my permanently employed colleagues there have at least 4h of meetings per day. Some are closer to 6 hours. I also know people who worked at DB and they report the same thing. Large automotive companies (BMW, Mercedes, VW, etc.) are not much better. External contractors are the only reason any actual work is still getting done there because we have no access to anything on account of all the security red tape and thus don't get roped into as many meetings. Right now the German government is doing its best to destroy even that last bit of efficiency because they can't accept that the self-employed are trying to escape their greedy hands and are essentially outlawing freelance software development.

I, for one, am learning Polish and will leave this shithole country as soon as I can.
by nullfield | 2025-12-13 19:23:39+00:00
Even a small claims filing in the US, which might have a $10k limit, does damage to Apple far enough above the effort it takes them to “just intelligently fix it” to make it worth their time.

If Apple doesn’t show up, they’ll lose and the filer will get a default judgement, for which they hopefully asked/made the case for $10k. I’m sure they can arrange to have it enforced against a local Apple Store to seize not product, but operational working assets, if they’re creative a bit. If Apple has anyone competent in Legal they won’t let it get that far, though.

Then again, if they do show up, they’ll pay a lawyer well more than an hour of time, probably by a lot, and still have to argue against a likely well-prepared person, with proof of purchase, etc., (legitimate) sob story of lost time, digital assets, and the like, and likely won’t endear themselves to the court.

And of course for a business, an actual court filing (or arbitration if it gets forced on them, with competent counsel) could be even worse.
by ninkendo | 2025-12-13 19:24:16+00:00
> Why would a toaster oven (or indeed, just a pop-up toaster) that instead used electronic controls need the bar for safety to be placed at a different height?

It wouldn't. It's a thought experiment. I even said:

> Would the toaster be a better product if you could change the software? Of course.

The point is, nobody should be compelling you to make your products hackable. If you don't want to, that's your prerogative.

The problem is, before GPLv3 existed, the authors that picked GPLv2 never expressed that they wanted their software to be part of some anti-locked-bootloader manifesto... they picked it because GPLv2 represents a pretty straightforward "you can have the source so long as you keep it open for any changes you make" license. That's what the GPL was. But this whole "Or any future version" clause gave FSF carte blanche to just alter the deal and suddenly make it so anyone can fork a project and make it GPLv3. I can perfectly understand why this would make people (including Linus) very mad.
by xdotli | 2025-12-13 19:24:17+00:00
tldr: - gpt-5.2 and gpt-5.1-codex-max have identical pass rates but solve different tasks - 36 tasks common to both - 12 tasks unique to each model - gpt-5.2-pro consistently underperforms by ~7-9 percentage points - gpt-5.2-pro has significantly more timeout issues (26 vs 7-8) - Extended timeouts recover additional passes - using 3x timeout multiplier recovers ~5-7 passes per model
by WJW | 2025-12-13 19:24:20+00:00
Gleam is really quite a nice language. I did AoC in it this year as well and came away with the following: (incomplete list for both positive and negative, these are mainly things that come to mind immediately)

Positive:

- It can be pretty performant if you do it right. For example, with some thought I got many days down to double digit microseconds. That said, you do need to be careful how you write it and many patterns that work well in other languages fall flat in Gleam.

- The language server is incredibly good. It autoformats, autocompletes even with functions from not-yet-imported-but-known-to-the-compiler packages, shows hints with regarding to code style and can autofix many of these, autofills missing patterns in pattern matches, automatically imports new packages when you start using them and much much more. It has definitely redefined my view of what an LSP can do for a language.

- The language is generally a joy to work with. The core team has put a lot of effort into devex and it shows. The pipe operator is nice as always, the type system is no haskell but is expressive enough, and in general it has a lot of well-thought out interactions that you only notice after using it for a while.

Negative:

- The autoformatter can be a bit overly aggressive in rewriting (for example) a single line function call with many arguments to a function call with each argument on a different line. I get that not using "too much" horizontal space is important, but using up all my vertical space instead is not always better.

- The language (on purpose) focuses a lot on simplicity over terseness, but sometimes it gets a little bit much. Having to type `list.map` instead of `map` or `dict.Dict` instead `Dict` a hundred times does add up over the course of a few weeks, and does not really add a lot of extra readability. OTOH, I have also seen people who really really like this part of Gleam so YMMV.

- Sometimes the libraries are a bit lacking. There are no matrix libraries as far as I could find. One memoisation library had a mid-AoC update to fix it after the v1.0 release had broken it but nobody noticed for months. The maintainer did push out a fix within a day of realizing it was broken though. The ones that exist and are maintained are great though.
by kbolino | 2025-12-13 19:24:20+00:00
There are two main reasons why this approach isn't sufficient at a technical level, which are brought up by comments on the original proposal: https://github.com/golang/go/issues/21865

1) You are almost certainly going to be passing that key material to some other functions, and those functions may allocate and copy your data around; while core crypto operations could probably be identified and given special protection in their own right, this still creates a hole for "helper" functions that sit in the middle

2) The compiler can always keep some data in registers, and most Go code can be interrupted at any time, with the registers of the running goroutine copied to somewhere in memory temporarily; this is beyond your control and cannot be patched up after the fact by you even once control returns to your goroutine

So, even with your approach, (2) is a pretty serious and fundamental issue, and (1) is a pretty serious but mostly ergonomic issue. The two APIs also illustrate a basic difference in posture: secret.Do wipes everything except what you intentionally preserve beyond its scope, while scramble wipes only what you think it is important to wipe.
by literalAardvark | 2025-12-13 19:25:52+00:00
UPS aren't really cheaper.

Sure, up front you're paying very little for that box that can run your PC for an hour.

But over 2-4 years you'll have to replace that UPS after it fails catastrophically in really dumb ways, and that's if you're lucky and it doesn't also burn your house down, whereas a proper storage system will last for a long, long time with more capability.

In my business I've never had a deskside UPS live longer than that.

And yes, we don't buy the ultra expensive ones. That's true.
by orthoxerox | 2025-12-13 19:26:02+00:00
This sucks, I hope you can somehow reach Apple and get them to unfuck your account.

My own experience with big tech account bans was much milder, so I learned my lesson without much pain. I got a "free Azure credit to learn cloud computing" email from MS, redeemed the credit, created a VM, started clicking around the settings and got locked out. Raised a support ticket, asked what I did wrong, told my account was flagged for suspicious activity. I asked what I did wrong again and got a reply that my case had been reviewed by a human and that my Azure account wouldn't be reactivated. Thankfully, my primary MS account didn't get banned for that.

Conclusion #1: it's frankly insane that a big tech company can fully terminate your account with no means of recourse. People like to mock the EU and its lawfare, but I think it is the best candidate to force the tech firms to implement some sort of firewall between their various services, so they can't terminate your access without prior notice or without compensation.

Conclusion #2: those who are reading this, don't put all your eggs into one basket and teach your friends and relatives to do so as well. That is, if you have to use the services of various big tech companies, spread them around. Have a boring account with one company that you use for free stuff, a boring account with another company that you use for paid services (if you can purchase services X and Y from two different companies, do so), a boring account with a third company that you use for getting paid, a fourth account that you use for shitposting and getting into arguments with internet strangers.
by arjie | 2025-12-13 19:26:31+00:00
I often end up over-provisioning because it's got a cliff effect. If I under-provision, I end up losing the entire program and its work. If I over-provision, I see a smoother increase in running cost. An amusing note:

curl -o wozz-audit.sh https://wozz.io/audit.sh cat wozz-audit.sh bash wozz-audit.sh

That definitely doesn't work on `curl 8.7.1 (x86_64-apple-darwin25.0) libcurl/8.7.1 (SecureTransport)` because you return a 307 with 'Redirecting...' in the body so `wozz-audit.sh` is just the string 'Redirecting...'. I have to pass curl the `-L` flag to follow the redirect. Then everything works.
by ivan_gammel | 2025-12-13 19:26:54+00:00
The only reason LLM server responds with partial results instead of waiting and returning all at once is UX. It’s just too slow. But the problem of slow bulk responses isn’t unique for LLM and can be solved within HTTP 1.1 well enough. Doesn’t have to be the same server, can be a caching proxy in front of it. Any privacy concerns can be addressed by giving the user opportunity to tell server to cache/not to cache (can be as easy as submitting with PUT vs POST requests)
by MrMember | 2025-12-13 19:28:10+00:00
Smart TVs are so user hostile now that this doesn't work for me personally anymore. Every TV I've seen recently always tries to get back to the "home" screen so they can funnel you into more ads and/or content that makes them money. If I have the TV set to the HDMI source for my connected HTPC, turn off the TV, and turn it back on again, it will be back on the TV's home screen. If I switch to an HDMI source that isn't currently outputting video it will switch back to the home screen in five seconds. I was at a friend's house over Thanksgiving and when he tried to navigate away from the home screen on his Vizio TV to a different HDMI input he got a confirmation dialog box with an ad embedded in it asking him "are you SURE you want to change inputs?" It's ridiculous.

For now I spend the extra money for "digital display" TVs that are just dumb input for HDMI devices but I fear that someday that option will either disappear or fall significantly behind regular TVs in display technology.
by vips7L | 2025-12-13 19:28:39+00:00
> Having to type `list.map` instead of `map` or `dict.Dict` instead `Dict` a hundred times does add up over the course of a few weeks, and does not really add a lot of extra readability.

I did it in F# this year and this was my feeling as well. All of the List.map and Seq.filter would have just been better to be called off of the actual list or Seq. Not having the functions attached to the objects really hurts discoverability too.
by nullfield | 2025-12-13 19:29:43+00:00
Re: AI writing: AI tends to (and might be getting better) use commas for such claims, in the form of, “it’s not just X, but [optional:also] Y”.

Even if it feels sus, remember that AI is trained on what it sees: even the posts here will make it more and more effective at “writing like a human”.

As for the OP, the claims to exist and have published books, etc. are relatively easily publicly verifiable.

No, $500 isn’t a large amount, doubly so anymore. I consistently have to try to re-anchor, but $100 is the new $20 (sadly).
by scottlamb | 2025-12-13 19:30:13+00:00
This might be one of the best things about the current AI boom. The agents give quick, frequent, cheap feedback on how effective the comments, code structure, and documentation are to helping a "new" junior engineer get started.

I like to think I'm above average in terms of having design docs alongside my code, having meaningful comments, etc. But playing with agents recently has pointed out several ways I could be doing better.
by seedlessmike | 2025-12-13 19:30:40+00:00
The core repertoire hasn't really changed but the boundaries get further and further out. It's like "classical" music. Pianists must learn the 2 part inventions, they're an essential part of the tradition.

Big band is hard to learn from. The large ensembles like Basie's and Duke's have persisted in popularity, but classic "big band" are very much of their time.

The bebop guys will always occupy the position in jazz that Bach occupies in "classical". They're foundational musicians in a continuous tradition and one learns a lot about the music by studying them.

By "canon" do you mean respected musicians? Or do you mean that PLUS players whose work is considered essential to learning how to play the music? The answers will be different. Keith Jarrett is great and esteemed but unless you want to sound like Keith Jarrett, he's not essential to study.
by luqtas | 2025-12-13 19:31:03+00:00
> Non-renewable energy is simply inferior, and will only become more so.

you simply can't say this. despite the lobby against it, solar and wind energy have lifespans of around 20 years and afterwards, it's a freaking mess to deal with recycling and often times, garbage we don't know what to do. not even counting the amount of NASTY chemicals going into the production of solar panels. these are sometimes permanent and will have a great long term impact on ecology if we just start destroying plants to substitute with "green" alternatives mindlessly

one can also make a point that despite wind generators metals and batteries being almost to 100% recyclable, it's heck expensive to do and we don't have infrastructure. a comparison cosidering everything involved may show that hydroelectrics, nuclear, geo-thermal and heck even gas may have a similar or better impact depending on location
by ngruhn | 2025-12-13 19:31:33+00:00
I can live with these negatives. What irritates me the most is the lack of if/else or guards or some kind of dedicated case-distinction on booleans. Pattern matching is great but for booleans it can be kinda verbose. E.g.

case x < 0 { True -> ... False -> case x > 10 { True -> ... False -> case x <= 10 { True -> ... False -> ... } } }
by nanolith | 2025-12-13 19:31:55+00:00
I'm starting to. One of the libraries I've started on recently is open source. I'm still really early in that process, but I started extracting a few functions for the optimized single and double linked list containers and will be moving onto the red-black and AVL tree containers soon. Once these are done, I should be able to model check the thread, fiber, and socket I/O components.
by gradascent | 2025-12-13 19:33:14+00:00
Similar to the author’s story, I crashed on my bike going pretty quickly on a busy road. No serious injuries but I ended up with scrapes and a softball-sized bruise which lasted over a month. But after I fell and got off the road a man sitting on his porch eating dinner asked me if I was ok. I told him what happened and he quickly grabbed some tools to fix my bike and alcohol and bandages for the wound. His roommate came home and assumed we knew each other but nope he was just my guardian angel. I hadn’t thought about this in a while… now I’ll be sure to remember it again.
by klatchex_too | 2025-12-13 19:33:18+00:00
I think the parent poster is correct that it depends on the water.

I have a couple ultrasonic humidifiers, if tap water is put in them it immediately sends the AQI on my air quality monitor into the "Dangerous" level. I have the monitor upstairs and it detected it when my girlfriend put tap water in the humidifier downstairs.

Purified or distilled water works fine. I bought a counter top water distiller because it was a pain lugging 15 gallons of water into the house every week all winter. You can see the residue of whatever was in the tap water at the bottom of the distiller after it runs and it doesn't look like anything I would want to be breathing.
by dfawcus | 2025-12-13 19:33:32+00:00
The other example of nested functions which you've not mentioned was in Metaware High C.

There they allowed nested functions, but also what they termed "full function values", being a form of fat pointer. Certainly I came across it in High-C v1.7 in 1990, and the full manual for an earlier version (1.2?) from around '85 can be found on Bitsavers.

It had a syntax like:

extern void Quick_sort( int Lo, int Hi, int Compare(int a, int b)!, void Swap(int a,int b)! ); static Sort_private_table() { Entry Entries[100]; int Compare(int a,int b) { return Entries[a] < Entries[b]; } void Swap(int a,int b) { Entry Temp = Entries[a]; Entries[a] = Entries[b]; Entries[b] = Temp; } ... Quick_sort(1,100,Compare,Swap); }

The above is an extract from their language reference, which you can find here:

https://archive.org/download/Yoshizuki_UnRenamed_Files__D-V/...
by dundarious | 2025-12-13 19:33:48+00:00
First thing that comes to mind is a young man in Tokyo taking me and my then-gf to our ryokan after we asked him for directions. He walked over 20 minutes with us, clearly using up his entire lunch-break at work, to get us right to the door, going completely out of his way. We were just asking for general directions, but he took us all the way. We couldn't believe how gracious he was, and luckily we were able to gift him some chocolates from our home countries. Not a good lunch, but I hope he enjoyed them.
by smoe | 2025-12-13 19:33:59+00:00
I would argue that many engineering “best practices” have become much more important much earlier in projects. Personally, I can deal with a lot of jank and lack of documentation in a early stage codebase, but LLMs get lost so quickly, or they just multiply the jank faster than anyone ever could have in the past, making it much, much worse for both LLMs and humans.

Documentation, variable naming, automated tests, specs, type checks, linting. Anything the agent can bang its proverbial head against in a loop for a while without involving you every step of the way.