MurphyA/hacker-news huggingface dataset:
by aaronAgain | 2025-12-03 03:18:32+00:00
Those are all free products, some of them are pretty good. But free is the best business strategy to get a product to the top of the market. Are others better, are you willing to spend money to find out? Clearly, most people are not interested. The fact that they can destroy the market for many different types of software by giving it away and still stay profitable is amazing. But that's all they are doing. If they started charging for everything there would be better competition and innovation. You could move a whole lot of okay-but-not-great cars, top every market segment you want, if you gave them away for free. Only enthusiasts would remain to pay for slightly more interesting and specific features. Literally no business model can survive when their primary product is competing with good-enough free products.
by cyberax | 2025-12-03 03:18:44+00:00
> 2) The permission does apply equally to the built in `curl` as it does to the homebrew installed curl.

I think this might have been fixed? `codesign -dvvv /usr/bin/curl` no longer prints anything about permissions. I definitely remember investigating this particular point.

> 3) What it doesn't apply to apparently is the gateway address on your network, regardless of which app you use.

Doesn't work for me. I can't ping or HTTP into my gateway from a terminal app that doesn't have this permission.

Edit: apparently pinging the gateway works if you're on WiFi. But not with wired Ethernet. Wow.
by nine_k | 2025-12-03 03:19:37+00:00
Star Control II was released in 1992, a year before Doom, and it was able to play beautiful, rich 4-channel MOD music via PC speaker, on a 80386 @ 40Mhz.

Scream Tracker, a music composition software, was able to pull of the same feat, 4 channels of 8-bit voices, in 1990.

However cool and useful the PC speaker output was, it was the a hand-soldered "Covox" lookalike, a passive DAC built out of a resistor ladder and attached to the printer port, which you actually connected to your hi-fi amplifier.
by sometimes_all | 2025-12-03 03:22:17+00:00
> With that in consideration they should mostly be compared on quality

Take a look at the comments in the thread and tell me whether there is a consensus on which AI has the best "quality". Gemini, Claude, ChatGPT are all stochastic machines; they'll give me a different output at different times for the very same query, with differences in quality each time within themselves, let alone other products.

I did my own checks; newer Gemini's output is consistently "good enough" for me and my family now, we individually do not use the full extent of the Pro plan (collectively, we do), and NotebookLM is something which more than one of us uses everyday; Image generation is something we use once a week or so. Given all this, the feature breadth within Gemini covers all bases for us, with a significant catch-up in quality compared to earlier to a point that we don't really need to look elsewhere for now.

Plus, for us USD 20 is not a small amount; it's equivalent to one of our larger utility bills we need to pay for every month. So price is definitely an important point of consideration.
by contrarian1234 | 2025-12-03 03:23:27+00:00
I think this is the crux of it. When i got my first job I probably made half the salary of the senior engineer in our division. I am 100% sure I was not half as productive. Juniors take a lot of training and time and aren't very productive, but their salaries are actually not reflective of that. The first few months at your first job you're probably a net loss in productivity.

If salaries reflected productivity, you'd probably start out at near minimum wage and rapidly get raises of 100% every half year.

On top of that, if the junior is successful he'll probably leave soon after he's up-and-running b/c the culture encourages changing jobs every 1-2 years. So then you need to lock people down with vesting stock or something..

It seems not easy at all. Even if you give aggressive raises, at the next interview they can fake/inflate their experience and jump in to a higher salary bracket

Hiring and training junior developers seems incredibly difficult and like a total waste of energy. The only time I've seen it work is when you get a timid autistic-savant-type who is too intimidated with interviewing and changing jobs. These people end up pumping out tons of code for small salaries and stay of for years and years. This is hitting the jackpot for a company
by koolba | 2025-12-03 03:23:50+00:00
I don’t know why people are so hesitant to just fire bad people. It’s pretty obvious when someone starts actually working if they’re going to a net positive. On the order of weeks, not months.

Given how much these orgs pay, both direct to head hunters and indirect in interview time, might as well probationally hire the whoever passes the initial sniff test.

That also lets you evaluate longer term habits like punctuality, irritability, and overall not-being-a-jerkness.
by amluto | 2025-12-03 03:26:28+00:00
There’s a material distinction. In Zig (by my reading of the article — I haven’t tried it), as you say:

> await #1 runs through both 1 and 2 interleavedly, and if 2 finishes before 1, it puts a pin on it, and then returns a_result when 1 is completed.

In Rust or Python, awaiting a future runs that future and possibly other tasks, but it does not run other non-task futures. The second async operation would be a non-task future and would not make progress as a result of awaiting the first future.

It looks like Zig’s io.async sometimes creates what those other languages call a task.
by abeltensor | 2025-12-03 03:28:15+00:00
The article significantly misses the mark by treating Ruby as nothing more than Rails — a perspective that currently detracts from the language. The author clearly hasn't explored the strong features of Ruby 3. Not to mention, it's a very nice language to learn as an entry point into programming.

Ruby is incredibly versatile: NASA has used it for simulation, it's a popular choice for scripting, DevOps automation, and static site generation. It's a simple, dynamic language ideal for quickly prototyping solutions.

Elixir, however, is a separate conversation. Having used it in production for years, I can attest that the ecosystem is fantastic. Its lack of mainstream popularity doesn't matter; its true strength lies in the BEAM, an incredibly well-architected piece of software. Elixir is simply a great way to access that power. Beyond its Ruby-like syntax, it has become its own distinct entity. It used to exist mainly as a alternative to erlang but it's become its own thing in recent years.

I really hate language-based dogma, every virtually every programming language has place as a tool in in a programmer's tool belt. There is even value in learning and using deprecated languages because doing so gives you a perspective beyond whatever ecosystem that you're currently tied to. There is a reason that languages like fortran and lisp have persisted as meaningful choices in certain domains and I suspect that Ruby will stick around for a very long time.
by tracerbulletx | 2025-12-03 03:28:19+00:00
The moment in my career when I had enough experience to have my own understanding of what makes code maintainable and organized and didn't have to just kind of rely on the opinions of a couple popular other people was a glorious day. It's not like their theories are all bad, it's just they're prescriptive to their personal style and there are actually a lot of perfectly good ways to organize code.
by themk | 2025-12-03 03:29:05+00:00
A Monad is a _super_ generic interface that can be implemented for a whole bunch of structures/types. When people talk about "monads", they are usually referring to a specific instance. In this case, the Reader monad is a specific instance that is roughly equivalent to functions that take an argument of a particular type and return a result of any type. That is, any function that looks like this (r -> a) where `r` is fixed to some type, and `a` can be anything.

Functions of that form can actually implement the Monad interface, and can make use of Haskells syntax support for them.

One common use-case for the reader monad pattern is to ship around an interface type (say, a struct with a bunch of functions or other data in it). So, what people are saying here is that passing around a the `Io` type as a function argument is just the "reader monad" pattern in Haskell.

And, if you hand-wave a bit, this is actually how Haskell's IO is implemented. There is a RealWorld type, which with a bit of hand waving, seems to pretty much be your `Io` type.

Now, the details of passing around that RealWorld type is hidden in Haskell behind the IO type, So, you don't see the `RealWorld` argument passed into the `putStrLn` function. Instead, the `putStrLn` function is of type `String -> IO ()`. But you can, think of `IO ()` as being equivalent to `RealWorld -> ()`, and if you substitute that in you see the `String -> RealWorld -> ()` type that is similar to how it appears you are doing it in Zig.

So, you can see that Zig's Io type is not the reader monad, but the pattern of having functions take it as an argument is.

Hopefully that helps.

---

Due to Haskell's laziness, IO isn't actually the reader monad, but actually more closely related to the state monad, but in a strict language that wouldn't be required.
by makeitdouble | 2025-12-03 03:29:42+00:00
I feel too few people apply the same logic to themselves.

For instance would you put your phone in a locker for the time you're on the clock for work ? Some professions require that, it's not an unreasonable proposition in itself. But how many actually can/would do it ?

Some people see it as a guilt thing and just assume they're succumbing to some tentation. Another way to look at it is the generic message being just wrong, we're doing fine _enough_ as we do now, and pushing moral principals nobody actually cares about on kids isn't as smart as people want to make it.
by cheema33 | 2025-12-03 03:30:08+00:00
> What were originally consumer graphics expansion cards turned out useful in delivering more compute than traditional CPUs.

Graphics cards were relatively inexpensive. When one got old, you tossed it out and move on to the new hotness.

Here when you have spent $1 trillion on AI graphics cards and a new hotness comes around that renders your current hardware obsolete, what do you do?

Either people are failing to do simple math here or are expecting, nay hoping, that trillions of $$$ in value can be extracted out of the current hardware, before the new hotness comes along.

This would be a bad bet even if the likes of OpenAI were actually making money today. It is an exceptionally bad bet when they are losing money on everything they sell, by a lot. And the state of competition is such that they cannot raise prices. Nobody has a real moat. AI has become a commodity. And competition is only getting stronger with each passing day.
by somenameforme | 2025-12-03 03:30:25+00:00
They weren't always. In fact it took many centuries for this to happen. The history of cocaine in the US is quite interesting. It was being used everywhere and by everybody. Factory owners were giving it to their laborers to increase productivity, it was used in endless tonics, medicines, and drinks (most famously now Coca-Cola = cocaine + kola nut), and so on. You had everybody from Thomas Edison to popes to Ulysses S Grant and endles others testify to the benefits of Vin Mariani [1] which was a wine loaded with cocaine, that served as the inspiration for Coca-Cola.

So probably part of the reason it was so difficult to realize there is a problem is because everybody was coked out of their minds, so it all seemed normal. And I think the exact same is true of phones today. Watch a session of Congress or anything and half the guys there are playing on their phones; more than a few have been caught watching porn during session, to say nothing of the endless amount that haven't been caught! I can't help but find it hilarious, but objectively it's extremely inappropriate behavior, probably driven by addiction and impaired impulse controls which phones (and other digital tech) are certainly contributing heavily to.

I find it difficult to imagine a world in the future in which phones and similar tech aren't treated somewhat similarly to controlled substances. You can already see the makings of that happening today with ever more regions moving to age restrict social media.

[1] - https://en.wikipedia.org/wiki/Vin_Mariani
by cmrdporcupine | 2025-12-03 03:31:13+00:00
The investors in these companies and all this infrastructure are not so much concerned with whether any specific companies pays off with profits, necessarily.

They are gambling instead that these investments pay out it in a different way: by shattering high labour costs for intellectual labour and de-skilling our profession (and others like it) -- "proletarianising" in the 19th century sense.

Thereby increasing profits across the whole sector and breaking the bargaining power (and outsized political power, as well) of upper middle class technology workers.

Put another way this is an economy wide investment in a manner similar to early 20th century mass factory industrialization. It's not expected that today's big investments are tomorrow's winners, but nobody wants to be left behind in the transformation, and lots of political and economic power is highly interested in the idea of automating away the remnants of the Alvin Toffler "Information Economy" fantasy.
by spartanatreyu | 2025-12-03 03:31:18+00:00
Yes, any request can get stuck at any time.

That is what's happening any time you've seen a website that randomly decides to load without styles, or with a missing image.

The good thing is that it's very apparent when that happens and you can just reload the page.

But it's not immediately obvious when it happens with a JS file.

That's half the reason why you shouldn't re-implement css features in a js file. (the other half is performance)
by calebio | 2025-12-03 03:32:39+00:00
It was pretty common to call client-side encryption/SSL "end to end encryption" among network engineers who were analyzing data flowing through their networks[0] as well as those who were implementing SSL/TLS into their applications[1]. The ends were the client and the server and the data was encrypted "end to end". The goal at that time was to prevent MITM snooping/attacks which were highly prevalent at the time.

Papers in academia and the greater industry[2] also referred to it in this way at the time.

Stack Overflow has plenty of examples of folks calling it "end to end encryption" and you can start to see the time period after the Signal protocol and WhatsApp implemented it that the term started to take on a much wider meaning[4]

This also came up a lot in the context of games that rolled out client side encryption for packets on the way to the server. Folks would run MITM applications on their computer to intercept game packets coming out of the client and back from the server. Clever mechanisms were setup for key management and key exchange[3].

[0] as SSL became more common lots of tooling broke at the network level around packet inspection, routing, caching, etc. As well as engineers "having fun" on Friday nights looking at what folks were looking at.

[1] Stack Overflow's security section has references from that era

[2] "Encrypting the internet" (2010) - https://dl.acm.org/doi/10.1145/1851275.1851200

[3] Habbo Hotel's prime and generator being hidden in one of the dynamic images fetched from the server as well as their DH mechanism comes to mind.

[4] Jabber/XMPP however used E2EE in the more modern sense around that time as they were exploring going beyond TLS and having true E2EE.
by d3Xt3r | 2025-12-03 03:32:42+00:00
They're just not as interested/invested in Windows any more. They make obscene amounts money from their cloud services, even if they charge 4x for a special edition Windows, it won't bring them any meaningful increase in income.

And now their focus is all on AI. A MS employee I spoke to recently said that all there meetings now revolve around AI, like how they can add more AI and sell more AI, that's all they call about these days. :/
by ajross | 2025-12-03 03:33:42+00:00
> It's not complicated. It's just very basic capacitor behavior.

All circuits are just very basic circuit element behavior. In fact a charge pump is a decidedly counter-intuitive thing, up there with things like "why a long-tailed pair makes a differential amplifier" or "how tf does a buck/boost regulator work?".

This is like looking at a 30-line function implementing a FFT and announcing "it's just very basic C code".
by NaOH | 2025-12-03 03:34:08+00:00
My Siri-initiated timers are always done with my phone, probably 50 or more each week (work stuff). The only time I get a failure is when I release the side button too quickly. I've made certain the spoken feedback is enabled to reduce the risk of me making that mistake. (Settings > Siri > Siri Responses > Prefer Spoken Responses)

As for, "What time is it?"... Try activating Siri and only saying, "Time."
by rramadass | 2025-12-03 03:34:27+00:00
No need to guess/jump-to-conclusions. Read the Govt. press releases;

https://www.pib.gov.in/PressReleasePage.aspx?PRID=2197140&re... - Does NOT say anywhere that the app cannot be unregistered/deactivated/deleted. This is what the Telecom Minister was referring to.

https://www.pib.gov.in/PressNoteDetails.aspx?id=156294&NoteI... (pdf download popup which you can cancel) - Note the following excerpts;

Democratic, fully voluntary, user-driven platform and privacy-first app, activates only with user consent.

Sanchar Saathi app puts citizens first and protects their privacy at every step. It works only with user’s consent and gives full control over its activation and use.

Activates only after user chooses to register User may activate, deactivate, or delete it any time Designed to strengthen India’s cybersecurity without compromising privacy
by sometimes_all | 2025-12-03 03:34:53+00:00
I agree with you 100%. We do syncs to another non-google storage account anyway, plus the google accounts are primarily for Android phone usage because photos and videos take up quite a big chunk of space now; they do not have any legitimately important files stored outside of photos sync and phone backups, so there is no deep loss if the account gets banned outside of some inconveniences.
by calebio | 2025-12-03 03:37:02+00:00
The modern usage of E2EE definitely means that "the server cannot access it". That's the meat of this entire discussion.

While you are technically correct in a network topology sense (where the "ends" are the TCP connection points), that definition has been obsolete in consumer privacy contexts for a decade now due to "true" E2EE encryption.

If we use your definition, then Gmail, Facebook, and Amazon are all "End-to-End Encrypted" because the traffic is encrypted between my client and their server. But we don't call them E2EE because the service provider holds the keys and can see the data.

In 2025, when a company claims a camera product is "E2EE", a consumer interprets that to mean "Zero Knowledge". I.e. the provider cannot see the video feeds. If Kohler holds the keys to analyze the data, that is Encryption in Transit, not E2EE. Even though in an older sense (which is what my original comment was saying), it was "End to End Encrypted" because the two ends were defined as Client and Server and not Client to Client (e.g. FB Messenger User1 and FB Messenger User2).
by throwaway-0001 | 2025-12-03 03:37:53+00:00
Personally I hate this “in the middle” as it’s so relative you can shape to fit your narrative.

For example: what’s in the middle for programming?

For me 0 is writing 0 and 1. For others 0 is making the nand ports.

And 100 is ai llm vibe.

So 50/middle would be what exactly? It all depends.

Same for anything really. Some people I know keep saying not 8 not 80 to mean the middle.

Like what’s in the middle for amount of coding per day? 12 h? 8h? 2h?

What’s middle for making money? 50k, 500k, 500m?

What’s the middle for taking cyanide ? 1g? 1kg?

What about water? What about food? What about anything?

As you can see, it’s all relative and whomever says it, is trying to push his narrative as “middle” aka correct, while who does more or less is “wrong”.
by sudosysgen | 2025-12-03 03:38:05+00:00
There are DDR4 interposers you can buy for 50$. The basic thing is that you don't need all of the ram all of the time, you just need to find an address which you can then rewrite to make two valid references to the same physical memory (see: badRAM/battering ram). Then you can use an IOMMU compliant DMA to access that memory.

Or you can use an FPGA to interpose the RAM and intercept the network traffic for a couple hundred bucks.
by justsomehnguy | 2025-12-03 03:38:45+00:00
This was already tried literally decades ago[0].

Now answer some questions:

what should happen when some objectionable people would access a site what doesn't have anything in the site metadata?

what should happen when some very objectionable people would access a site what do have all the required data in the site metadata and they would still complain?

Also you are clearly missing the usual "think about the children" drivel.

[0] eg https://www.isumsoft.com/internet/enable-content-advisor-in-...
by dhussoe | 2025-12-03 03:41:13+00:00
I do think that there's a meaningful difference between writing code that was bad (which I definitely did and do) and writing code where I didn't know what each line did.

early on when I was doing iOS development I learned that "m34" was the magic trick to make flipping a view around have a nice perspective effect, and I didn't know what "m34" actually meant but I definitely knew what the effect of the line of code that mutated it was...

Googling on it now seems like a common experience for early iOS developers :)

https://stackoverflow.com/questions/14261180/need-better-and...

https://stackoverflow.com/questions/3881446/meaning-of-m34-o...

https://khanlou.com/2012/09/catransform3d-and-perspectives/
by CrI0gen | 2025-12-03 03:41:37+00:00
Just did some brief Wikipedia browsing and I'm assuming it's WatsonX and not Watson? It seems Watson has been pretty much discontinued and WatsonX is LLM based. If it is the old Watson, I'm curious what your impressions of it is. It was pretty cool and ahead of its time, but what it could actually do was way over promised and overhyped.
by smarnach | 2025-12-03 03:41:54+00:00
The claim I responded to is that Bun is "at least twice as fast" as Deno. This sounds a lot more general than Bun being twice as fast in cherry-picked microbenchmarks. I wasn't able to find any benchmark that found meaningful differences between the two runtimes for real-world workloads. (Example: https://hackernoon.com/myth-vs-reality-real-world-runtime-pe...)
by 7thaccount | 2025-12-03 03:42:44+00:00
My limited understanding (please take with a big grain of salt) is that they 1.) sell mainframes, 2.) sell mainframe compute time, 3.) sell mainframe support contracts, 4.) sell Red hat and Redhat support contracts, and 5.) buy out a lot of smaller software and hardware companies in a manner similar to private equity.
by modeless | 2025-12-03 03:43:08+00:00
No, E2EE doesn't mean it's encrypted until the service provider decrypts it. E2EE means the service provider is unable to decrypt it. What you are describing is encryption in transit (and possibly at rest).

Bank data is never E2EE because the bank needs to see it. If banks call it E2EE they are misusing the term. E2EE for financial transactions would look like e.g. ZCash.