MurphyA/hacker-news huggingface dataset:
by self_awareness | 2025-11-16 09:37:46+00:00
For me, VSCode implements everything that I've always expected from Emacs/Vim.

I've spent years to configure emacs/vim to be a good programming editor. Years, multiple configurations, vanilla configs, space/doom emacs configs, multiple predefined configs for vim/neovim. Something always was broken, something was missing, something was non-optimal just below the tolerance line. Missing features, discontinued packages, initialization errors, bad versions, "known issues", LSPs not starting, packages replaced by some newer shinier package with different usage, cryptic setups that are wrapped in "convenience layers" that obscure details, making it completely incomprehensible.

Then VSCode came and it had everything. Remote development is trivial through ssh. Completion simply works without any setups. Massive number of languages supported. It's a mess inside, but the UX is more stable and more consistent than anything I've ever seen in emacs/vim. Sometimes something breaks, but I can restart the window backend without closing the app easily.

This is really telling. Despite dedicating years to configure an "infinitely configurable" system, I wasn't able to achieve anything stable. I've given up and i just use VSCode daily. This way, I have more than I ever had with emacs/vim.

The only thing I have from vim that's left is the keyboard layout. For this, I'm thankful to Vim, but the editor itself for me is just for editing config files. I don't even have Emacs installed anymore.
by AnthonyMouse | 2025-11-16 09:37:55+00:00
> If the competition is also hit by the tariffs, then they're on an even playing field.

That assumes the customers are price insensitive. If you're making vintage parts for hobbyists and archivists, maybe they're not; maybe they don't get a raise just because the price went up and your thing is the thing they cut out of the budget when it all won't fit anymore.
by microtonal | 2025-11-16 09:38:02+00:00
To be honest, I have used macOS since OS X 10.4 and most of it is still very similar UI-wise? Finder, Spotlight, basic window management, etc. are still pretty much the same. If you had a time machine and took someone from 2006, they would still feel pretty much at home on macOS 26. For me the only larger breaking change was when they axed Spaces in 10.7 for Mission Control (Spaces was so much better).

GNOME from 2006? Quite a different story.

I agree on lower-level stuff. Nowadays you have to partially disable SIP to use DTrace, which is meh... (and it seems largely unmaintained) Instruments is quite great though.
by seanalltogether | 2025-11-16 09:38:22+00:00
I've been building gui applications for the past 20 years and I couldn't imagine doing it without an inheritance model. There's so much scaffolding needed to build components and combine them into a working view. Sure inheritance can be bad in the data layer because you don't want to handcuff yourself to bad data expectations. But building out views and view controllers, there's a lot of logic you don't want to keep duplicating every time.
by moron4hire | 2025-11-16 09:39:22+00:00
Additionally, a lot of people will describe doing completely unrelated things as "(mentally) preparing to do the thing."

I catch myself doing this. I will put off writing a job requisition by spending time on code. I will tell myself, "ugh, I'm just not in the right mental state to write a job req right now. Let me focus on some code until I'm ready." Which never works. I end up getting into a code flow state and that's all I work on for the rest of the day, or until I get interrupted by a meeting.

And then I get back from the meeting and say, "I got interrupted, I should just finish what I started and then I'll write the job reqs." And that never happens. I always pick up yet another coding task instead.

The only way I am ever able to get through admin paperwork is to just admit to myself I hate it but it has to get done, it has to get done right now, no amount of procrastiworking is going to make me stop hating it, so I should just get it over with so it's not sitting like a lead weight in the back of my head. And then when 5pm rolls around, I won't hate myself for letting yet another day go by without having the job reqs written.

But right now it's the weekend.
by ksec | 2025-11-16 09:39:54+00:00
I am looking at the spec. The length is 41". I dont know if modern Rack have vastly different length? Or am I stuck in the Rack = 29" in depth era.

Edit: After I posted this I thought this looks similar to Storage pod design. Turns out they are not doing it anymore, the whole Storage pod have been commoditise.

[1] The Backblaze Storage Pod: From Innovation to Commodity https://www.backblaze.com/blog/the-storage-pod-story-innovat...
by ProfessorLayton | 2025-11-16 09:40:31+00:00
It’s not a silly comment, both macOS and iOS have been decaying into dog shit over the years from obvious bugs that anyone who uses the apps and features being sold would run into very quickly.

Tim and other executives might be using their devices as email machines, but it’s not obvious they’re using everything they’re quite literally selling us.

A few random examples:

1: The iOS keyboard is literally broken https://m.youtube.com/watch?v=hksVvXONrIo&pp=ygUQaW9zIGtleWJ...

2: The Music app is barely functional, and will regularly fail to play music. Here it is bugging out, and stacking multiple album covers https://imgur.com/a/Sg8oU1p

3: Offloading an app does not actually save any space https://imgur.com/a/l9vxnhO

There’s so many more, and none of these examples are edge cases.
by KaiserPro | 2025-11-16 09:41:23+00:00
> TCP without congestion control isn't particularly useful.

Thats why it has a congestion control mechanism, its just opinionated.

> until packets are dropped, leading to undesirable buffer bloat issues.

because people have bigger buffers than needed, which means saw tooth throughput.

> TCP wasn't designed for hardware offload,

neither is quic.

> TCP's three-way handshake is costly for one-shot RPCs,

Agreed

> A connection breaks when your IP address changes, and there is no easy way to migrate it.

Also agreed, but then TCP wasn't designed for this.

> TCP is poorly suited for optical/WDM networks,

I don't think thats the case. Loads of 10gig networks are optical, and 40 gig fibre used to be DWDM (ie 4 10 gig channels in one fibre, 100gig might be the same, I've not checked) [Again, this depends on the connection type and SPF pluggy thing. It could be twinax.]

Thats what what RDMA over Converged Ethernet is for, because supposedly its cheaper than inifinband.
by michelb | 2025-11-16 09:41:57+00:00
I think Cook did an awesome job taking the reins at Apple. I can understand Cook not being a 'product visionary' as Jobs was (although Jobs also delivered some real stinkers), don't forget some of the people below Cook are still fossils from the Jobs era. I have no insight in the Apple of today, but they seem spread incredibly thin and all products and services are suffering from it.

They don't seem to have an overarching product strategy that will benefit users (does benefit shareholders though), but they're also not nimble to quickly shift gears to trends.
by k0ngo | 2025-11-16 09:42:21+00:00
I guess I shouldn’t be surprised, but still fun to see that they’re apparently using an ESP32 as management processor (without antenna, probably just RMII directly to the switch ASIC)

Edit: there’s a RTL8201 10/100 PHY to the left of the switch asic, that connects the ESP to one of the switch ports.
by MITSardine | 2025-11-16 09:42:49+00:00
Wouldn't a decent compromise be to extend the capabilities of the C preprocessor, so that we could iterate over types at preprocessing time?

That way, we could instantiate for a great number of types more easily, while keeping implementations in source files. You can always do an instantiation macro, but it still becomes painful when the number of template arguments (and their possible values) increases.

I know there's the Boost PP library but I personally find it incomprehensible once you try to nest two+ loops.

Surely there's a reason the CPP hasn't budged?
by somat | 2025-11-16 09:42:57+00:00
The real magic/genius are trailer brakes, they are electric right, however if they worked the way you would naively assume an electric brake would work, directly operating on the friction surface with an electric solenoid, It would take a huge solenoid and the amperage requirements would quickly exceed what the trailer wiring can provide. so what they do is apply an electromagnet which starts to drag on the side of rotating wheel assembly it uses this drag to push the friction surfaces together, so it takes a surprisingly small magnet to run. most of the force comes from the rotating wheel.
by yawpitch | 2025-11-16 09:43:09+00:00
The idea of “involuntary singlehood” is as absurd as the idea of “involuntary air-breather”. Singlehood is the default state, you are not owed or even entitled to a relationship. You exit and remain out of that default single state only with the mutual and voluntary consent of at least one other default single… lose their consent and you are, voluntarily, becoming single again.
by PeaceTed | 2025-11-16 09:45:11+00:00
I mean DOS is essentially just the frame work between the software and the BIOS/hardware. Once code is running the OS isn't doing too much.

In that sense DOS programs run without any guard rails. Video memory is just a memory address where you can throw data in and it shows up on screen, but it also means that any kind of memory pointer issue can write over almost anything in RAM. It was trial and error to ensure everything worked and seeing as machines were not always online, there was a much smaller risk of security issues being leveraged.
by fingerlocks | 2025-11-16 09:45:28+00:00
No there isn’t. I’ve said this a million times before, but usually just downvoted: this is about reducing support costs, not increasing revenue from lock-in. This is not a theory, I’ve sat in meetings at Cupertino and been told first hand.

Support is very expensive. Say what you want about Apple, but they provide absolutely stellar support, especially with the stupidly inexpensive Apple Care insurance. This is only cost effective if they can make reasonable predictions about how their devices will behave in any given scenario. Interfacing Apple hardware with non-certified (MFi, BLE, etc) third party hardware has a non-trivial risk of unpredictability high support costs, either from excessive Apple Care claims, customer support communications, or just overloading the Genius Bar.

Reducing support cost could easily explain the motivation of the entire walled garden if they are sufficiently high.
by KaiserPro | 2025-11-16 09:46:55+00:00
[citation needed]

The federal government has been trying this approach for a number of years, and it doesn't seem to make it more efficient or mobile. Justl ook at the state of it's digital services, they are stuck in 2005, at best.

Thats before you talk about the IRS. Virtually everywhere else most tax on wage is automatic, where filings are the exception.
by brabel | 2025-11-16 09:47:57+00:00
I tried to contribute a bug fix to a Common Lisp project and found this exact issue. In CL you can trace methods but if the call hierarchy is several dozen levels deep with multiple type overrides and several :around, :before and :after combinations, it’s just impossible to keep track of what does what. This is not a language issue though, CLOS is really powerful and can be a life saver in good hands, but when people use it just to try the feature it creates monstrosities.
by mkayokay | 2025-11-16 09:49:58+00:00
AFAIK most cars with electric parking breaks need to be set into a special maintenance mode either via OBD-2 or a special in-car procedure to be able to change the pads. Otherwise the breaks Pistons just push together and leave no room for the new pads. At least that is what my 2015 VW would do. But every shop around here has that Software or knowledge.

So Hyundai just upped the game and put some subscription into their service software. Definitely not a consumer friendly move, as changing pads and even disks is not that hard.
by adrian_b | 2025-11-16 09:50:39+00:00
I have not seen any evidence that Apple's chip is smaller, faster and more efficient.

Apple's CPU cores have been typically significantly bigger than any other CPU cores made with the same manufacturing process. This did not matter for Apple, because they do not sell them to others and because they have always used denser CMOS processes than the others.

Apple's CPUs have much better energy efficiency than any others when running a single-threaded application. This is due to having a much higher IPC, e.g. up to 50% higher, and a correspondingly lower clock frequency.

On the other hand, the energy-efficiency when running multithreaded applications has always been very close to Intel/AMD, the differences being explained by Apple having earlier access to the up-to-date manufacturing processes.

Besides efficiency in single-threaded applications, the other point where Apple wins in efficiency is in the total system efficiency, because the Apple devices typically have lower idle power consumption than the competition, due to the integrated system design and the use of high-quality components, e.g. efficient displays. This better total system efficiency is what leads to longer battery lifetimes, not a better CPU efficiency.

The Apple CPUs are fast for the kind of applications needed by most home users, but for applications that have greater demands for computational performance, e.g. with big numbers or with array operations, they are inferior to the AMD/Intel CPUs with AVX-512.
by tux3 | 2025-11-16 09:51:08+00:00
My first instinct for a poorly predicted branch would be to use a conditional move.

This isn't always a win, because you prevent the CPU from speculating down the wrong path, but you also prevent it from speculating the correct path.

If you really don't care about the failure path and really don't mind unmaintainable low-level hacks, I can think of a few ways to get creative.

First there's the whole array of anti uarch-speculation-exploit tricks in the Kernel that you can use as inspiration to control what the CPU is allowed to speculate. These little bits of assembly were reviewed by engineers from Intel and AMD, so these tricks can't stop working without also breaking the kernel with it.

Another idea is to take inspiration from anti-reverse engineering tricks. Make the failure path an actual exception. I don't mean software stack unwinding, I mean divide by your boolean and then call your send function unconditionally. If the boolean is true, it costs nothing because the result of the division is unused and we just speculate past it. If the boolean is false, the CPU will raise a divide by 0 exception, and this invisible branch will never be predicted by the CPU. Then your exception handler recovers and calls the cold path.
by eviks | 2025-11-16 09:51:45+00:00
The failure to understand what is Ascii means in this math along with a meme comic as a substitute for critical evaluation reveals even more:

> LaTeX code is already ASCII characters meant to represent math symbols

Not really, it's long \escaped \English \words that are made of ascii symbols, a difference clear if you just look at the comparison table

$3\times4$

vs 3 xx 4
by metalman | 2025-11-16 09:53:31+00:00
this is one of several "failure modes" connected to climate change that are bieng dissmissed out of hand and in spite of all the blither blather about humans determining our own future as seperate from anything as trivial as the "weather", we exist as the prime exploiter of what can be summed up as the carbohydrate production of nature, a single number of X millions of tons per anum, which our breathable atmosphere, is a byproduct of.
by bergheim | 2025-11-16 09:54:33+00:00
Well, I guess? Using TRAMP with large projects is not a pleasant experience. It works great for one-off files and remote bookmarks etc, but for working with large projects you're better off mosh/ssh-ing into the server and using Emacs there. With things like term-keys [1] you can use all the keys there as well. Basically only missing out on images and variable fonts, both of which are none issues for me at least when programming.

1: https://github.com/CyberShadow/term-keys
by koliber | 2025-11-16 09:54:35+00:00
Painting is such a great way to explain this. I've made many mistakes painting myself, and only came to appreciate the amount of extra work involved when I looked closely at how a pro does it.

Things that have caused me to screw up various paint jobs:

- not color matching white paint to my existing white paint, causing a visible color difference

- buying the wrong kind of brush for my paint

- buying cheap brushes and then needing to dig hairs out of the paint

- not priming, which caused me to have to do multiple layers to get good coverage

- buying cheap paint, which together with not priming, caused me to have to do multiple layers to get good coverage

- buying too little paint because I did not estimate carefully and then having to pause mid-job to go buy more paint and extending the total time to more than a week (because I did not have time to finish the job the next day)

- not buying and putting down floor protection which caused a lot of extra time in cleanup and never actually getting the paint out of the crevices in the floorboards

- not taping out the windows and doors which slowed down painting and required a lot of just-in-time cleanups

- taping out carelessly with poor-quality tape, causing paint to get under the tape, and defeating the purpose of taping

- not changing clothes before a tiny paint job and needing to throw away a very decent t-shirt because metal paint does not wash out well

- buying very expensive paint for a rough paint job in my garage because I did not spend a minute to think about the final effect, and wasting a bunch of money for a poor effect

To avoid each of these mistakes you have to spend time not-painting. It's time well spent.

I've tried doing a work breakdown, and watching a pro do it, it seems roughly 0.75 units of time for prep, 1 unit of time for painting, and 0.5 units of time for cleanup. I did not count the time for researching and buying, but once you add commute, it's easy for it to be 0.5 unit of time, depending on size of job. Roughly 1.5x-2x of not-painting to 1x of painting.

You can make many software-development analogies to painting.

If we're mature experience painters, all of these things not-painting things are still "doing things".
by bongodongobob | 2025-11-16 09:54:41+00:00
I don't need one. Look into how this stuff works. It's a pile of scripts and registry edits. It's very sloppy. Windows isn't Linux. The OS does not expect the user to do stuff like this and it's not built for it. This is how you get the "windows sucks it's always weird and broken" type people. Sure, you can do it, but you WILL have goofy unexplained problems if you mod your system with this stuff. If you want windows to be stable, stop fucking with it.
by AnthonyMouse | 2025-11-16 09:55:28+00:00
> However the number of people involved has dropped a lot. US manufacturing prefers automation and prefers to manufacture things which are high-volume, low labor.

That's fine and indeed about the only way it even can be done in a country with higher wages. The question is, why can't we do more of that? Basic simple components like capacitors should be possible to automate, so what's preventing it? Why don't we have policies tuned towards causing more domestic automation?

The number of jobs won't be what it was when it was done by hand, but that's never coming back either way, and some is better than none. Meanwhile you reduce dependency on adversarial countries.

> the only real lever they have is to increase the cost of imported goods (ie tarrif them) which in turn gets consumers upset.

There is another alternative: Lower the cost of domestic goods, i.e. lower taxes or provide credits to domestic manufacturers. For example, allow capital investments in domestic manufacturing to be deducted immediately rather than over time.

This is actually one of the longstanding major problems with the US tax code right now. It creates a preference for international supply chains because that allows profits to be shifted into countries with lower tax rates and penalizes purely domestic supply chains.
by somethingsome | 2025-11-16 09:56:46+00:00
I used reveal.js and quadro to make lecture slides. And as much as I wanted to like it, it never worked out.

For easy presentations and pitch deck I'm sure it works well.. But the people behind those tools do not seem to have the experience of working with structured lecture notes.

When teaching you need many tools, such as background removal from images, easy cropping, arrows, animating the text in a predefined order, easy positioning and alignment, etc.. Both tool do not offer easy ways to do all of this, even with plug-ins. And the export to a nice pdf is not trivial at all.

At some point I realized that I was spending more time writing html and Javascript than doing the slides. I went back to PowerPoint, and with the same time it took me to make one lecture note in quadro, I could make 4 lectures notes in PowerPoint, and they were better.

So, sadly, this is not yet for me.

What I was looking for:

- easy versioning (good)

- embedding python scripts (good)

- code coloration (good)

- maths (good)

But without the normal features of PowerPoint, the price is too high.
by austin-cheney | 2025-11-16 09:56:54+00:00
I don’t like either so I wrote my own solution.

What killed Apache for me were the complexity of various rules and how challenging it is to define a proxy for a WebSocket connection. NGINX is better but still not great.

For me anything can be connected to anything else easily and quickly. A network connection, a socket, is a pipe containing a full duplex stream. So, just pipe one socket to another, and vice versa, and you have a very low level proxy. The rules to define such for a users customization is just as simple as what should go where.

Knowing all of that, and that HTTP is not full duplex, I serve HTTP and WebSockets from the same port with a preference for WebSockets by default. I can also pipe other streams to sockets for lower CPU overhead. I have not tested if my server is faster and less CPU overhead than NGINX yet, but it does concurrency very well.