MurphyA/hacker-news huggingface dataset:
by whakim | 2025-04-29 02:52:26+00:00
As the article points out, the difference in cost between these two routes is pretty small in the grand scheme of things; more than two-thirds of the costs associated with the project are at either end getting in and out of Los Angeles/the SF Bay Area. On the other hand, as the author points out, building the route through the Central Valley population centers has a number of advantages (political support, having a useful rail line before the entire project is complete, etc. etc.)
by nostrademons | 2025-04-29 02:52:41+00:00
That's why they went with the blended system with Caltrain. Caltrain already owns a suitable right-of-way; they just needed to electrify it. Which they've already done. The SF-to-SJ part of CAHSR is effectively done; they just need to built acquire the SJ-to-Gilroy right of way and tunnel under the Pacheco Pass to connect with the rest of CAHSR.
by hxtk | 2025-04-29 02:53:10+00:00
It sounds like you are assuming that if the data were modified, decryption would fail catastrophically and you'd end up with garbage. This is precisely the point of AEAD: providing cryptographic guarantee that decryption will fail catastrophically if things are tampered with.

That guarantee is not provided with unauthenticated stream ciphers. For example, some stream ciphers work by essentially using a deterministic but unpredictable PRNG seeded with the key and IV to generate a bitstream, and then XOR the plaintext with that bitstream to generate the ciphertext.

With such a stream cipher, If Eve knows that the data format is, e.g., the an 8-byte unsigned integer user ID followed by the rest of the payload, Eve can take the first 8 bytes of the ciphertext and XOR it with Bob's user ID (public information) and her own user ID to corrupt the message in such a way that the ID in the resulting cleartext would contain her user ID instead of Bob's, and thus pass the validation that it seems like you are proposing.

Let C[] be the cipher text, K[] be the key stream, B be Bob's ID, and E be Eve's ID:

C[:8] = B ^ K[:8]

C[:8] ^ B = K[:8]

C' = C[:8] ^ B ^ E ++ C[8:]

C' would decrypt, validate as "belonging" to Eve, and contain Bob's data.
by andrewflnr | 2025-04-29 02:53:14+00:00
Probably the intersection of people who (a) want an advanced ML-style language and (b) are interested in a CLR-based language is very small. But also, doesn't it do some weird thing where it matters in what order the files are included in the compilation? I remember being interested in F# but being turned off by that, and maybe some other weird details.
by sota_pop | 2025-04-29 02:54:01+00:00
The way I describe language types to non-coders inquiring about language selection for a given project is simply “scale matters”… dynamic types provide flexibility at small scale, but can very easily result in chaos at a large scale. Conversely, the structure of static types can feel onerous and restrictive at small scale, but provide robustness and structure at large scale.
by pclmulqdq | 2025-04-29 02:54:21+00:00
Godot launched 0.1 in February 2014 and got to 1.0 in December 2014.

The distance in time between the launches of Unreal Engine 4 and Unreal Engine 5 was 8 years (April 2014 to April 2022). Unreal Engine 5 development started in May 2020 and had an early access release in May 2021.

Bevy launched 0.1 in 2020 and is at 0.16 now in 2025. 5 years later and no 1.0 in sight.

If you want people to use your OSS projects (maybe you don't), you have to accept that perfect is the enemy of good.

At this point, regulators and legislators are trying to force people to use the Rust ecosystem - if you want a non-GC language that is "memory safe," it's pretty much the de facto choice. It is long past time for the ecosystem to grow up.
by Aurornis | 2025-04-29 02:55:23+00:00
There's a supposed Duolingo Slack screenshot going around Twitter with an internal announcement: https://x.com/eugeneyan/status/1917034784355979479/photo/1

Archived here: https://archive.is/zqk5z

If I was an engineer at a company that made this announcement I would not be feeling great right now. The claims that writing code will become a smaller part of our jobs and that productivity expectations will rise set off some alarm bells.

Some of the statements like "For example, we know that large language models work best with context" are alarming, as if the people writing this announcement have a very elementary understanding of how LLMs work but are making drastic policy changes based on their limited understanding.

Imposing rules on developers like the requirement that they use AI for every task, no matter how small, and work through LLMs first instead of writing code feels like an idea that comes from non-developers looking to make a thought leadership splash. Everyone I know who leverages LLMs uses them as an assistant where appropriate, but trying to go full vibe-code mode where you act through the AI isn't a secret route to more productivity.
by mvdtnz | 2025-04-29 02:55:25+00:00
I work for a company that deals with very large numbers of users. We recently had a major project because our users table ran out of ints and had to be upgraded to bigint. At this scale that's harder than it sounds.

So your advice that you DEFINITELY won't need a BIGINT, well, that decision can come back to bite you if you're successful enough.

(You're probably thinking there's no way we have over 2 billion users and that's true, but it's also a bad assumption that one user row perfectly corresponds to one registered user. Assumptions like that can and do change.)
by 5rest | 2025-04-29 02:56:21+00:00
The demo looks really appealing. I have a real-world use case in mind: analyzing an Excel file and asking questions about its contents. The current approach (https://github.com/pydantic/pydantic-ai/blob/main/mcp-run-py...) seems limited to running standalone scripts—it doesn't support reading and processing files. Is there an extension or workaround to enable file input and processing?
by Saigonautica | 2025-04-29 02:56:38+00:00
If you have any ideas, please share! Design is not my strong suit.

I was thinking maybe some surface features, like craters (in silkscreen) and some "resources" -- tinned exposed copper / copper covered by solder mask.

Or some way to hold the boards together, like a magnetic clasp or even just velcro. It's not really a problem presently, but might be neat.
by Aurornis | 2025-04-29 02:58:32+00:00
> keeps Duolingo's educational quality high as they chase faster scaling

Duolingo is widely regarded as more of a game than a high-quality learning experience. People obvious learn something from it, but it's a running joke almost everywhere on social media that people can be 100s of days into their Duolingo streak and still not learn much.

Getting people off of Duolingo and onto less gamified, more rigorous language learning courses is a common theme in the language learning world.
by danpalmer | 2025-04-29 02:58:35+00:00
My previous company had a sizeable Django monolith and did e-commerce stuff which is fairly latency sensitive. Used well, Django was perfectly capable of hitting 150ms per page which was fine for us. Some optimised pages were under 100ms.

Things we did: careful about N+1 queries, caching where obvious, API calls/emails/etc running in background queues.

Things we didn’t do: use a fast templating language (we used Django’s built in one and it was often our bottleneck), removing all database queries (we just had Postgres <2ms latency away), renormalising data (we were highly relational for most things).

Django is perfectly performant enough for almost all use cases, and insanely fast to develop with.
by dr_kiszonka | 2025-04-29 02:59:28+00:00
Thanks for replying so quickly and in detail. I wanted to understand issues around scalability and integration into a larger system.

I have been looking for a good solution in this increasingly crowded space and if I could offer a word of unsolicited advice it would be to ensure documentation is top notch, truthful (some competitors mention non-existent features in their docs), and includes a relatively detailed roadmap.

Good luck with Sim Studio. I may try it out in a few weeks!
by WalterBright | 2025-04-29 03:01:43+00:00
I saw some ancient footage of an Me-109 fighter engine being started. A tech jumped on the wing and inserted a hand crank into a slot on the side. He threw all his might into turning it, and then after a delay the propeller started turning and coughed into life.

I realized the tech must have been winding up a flywheel, and then the pilot engaged a clutch to dump the flywheel's inertia into the engine.

The engineer in me loves the simplicity and low tech approach - a ground cart isn't needed nor is a battery charger (and batteries don't work in the cold). Perfect for a battlefield airplane.

---

I saw an exhibit of an Me-262 jet fighter engine. Looking closely at the nacelle, which was cut away a bit, I noticed it enclosed a tiny piston engine. I inferred that engine was used to start the jet engine turning. It even had a pull-start handle on it! Again, no ground cart needed.

---

I was reading about the MiG-15. American fighters used a pump to supply pressurized oxygen to the pilot. The MiG-15 just used a pressurized tank of air. It provided only for a limited time at altitude, but since the MiG-15 drank fuel like a drunkard, that was enough time anyway. Of course, if the ground crew forgot to pressurize it, the pilot was in trouble.

Again, simple and effective.
by eieio | 2025-04-29 03:03:06+00:00
fwiw I think the biggest single trick there is to group IPV6 addresses at the /48 or /64 level before applying rate limits (you can rate limit IPV4s on a per-ip basis).

It's kind of annoying and expensive to get a bunch of IPv4s to evade limits, but it's really easy to get a TON of IPv6s.

The other Big Trick I know is to persist rate limits after a client disconnects so that they can't disconnect -> reconnect to refresh their limits.
by neilv | 2025-04-29 03:05:15+00:00
I've never had to deal with this firsthand.

If it's a public university, and their personnel are getting death threats regarding university work, the university had better make an effort to help -- if not for decency, then for liability. Including working with law enforcement.

One easy thing the university can do themselves (under the direction of a lawyer or administrator) is to ask IT for the Web server logs (or analytics) for accesses to the person's pages. They don't have to subpoena ISPs to see that, right before the most recent threat, there was a burst of referrers from `https://webforum.example/bobs-basement-militia?post=1232767`.
by dtagames | 2025-04-29 03:05:51+00:00
I got a big Roku 4K TV for next to nothing on a holiday deal 3 years ago. It works great. The ads aren't intrusive and it handles power and input switching (and auto HDR and game modes) from my two game consoles.

The mobile app is good, too. It can turn on the set, pick a channel, and start a show just from the search box.

They also have a surprising amount of their own content which plays on the TV or the mobile app, including good stuff they've licensed that's not popular enough for the big boys to carry, like Alfred Hitchcock Presents.
by pabs3 | 2025-04-29 03:06:26+00:00
The title and URL got changed from what it should be, which was an update to the blog post addressing the controversy with the recent board election.

Update From the Board of Directors of the OSI https://opensource.org/blog/announcing-the-new-directors-of-...

From LWN: https://lwn.net/Articles/1019215/

Petition about it: https://codeberg.org/OSI-Concerns/election-results-2025/
by Grimblewald | 2025-04-29 03:07:05+00:00
4 bit is fine conditional to the task. This condition is related to the level of nuance in understanding required for the response to be sensible.

All the models I have explored seem to capture nuance in understanding in the floats. It makes sense, as initially it will regress to the mean and slowly lock in lower and lower significance figures to capture subtleties and natural variance in things.

So, the further you stray from average conversation, the worse a model will do, as a function of it's quantisation.

So, if you don't need nuance, subtly, etc. say for a document summary bot for technical things, 4 bit might genuinely be fine. However, if you want something that can deal with highly subjective material where answers need to be tailored to a user, using in-context learning of user preferences etc. then 4 bit tends to struggle badly unless the user aligns closely with the training distribution's mean.
by stemlord | 2025-04-29 03:07:44+00:00
Unity is predatorial. I work in a small studio which is part of a larger company (only 5 of us use Unity) and they have suddenly decided to hold our accounts hostage until we upgrade to Industry license because of the revenue our parent company makes even though that's completely separate cash flow versus what our studio actually works with. Industry license is $5000 PER SEAT PER YEAR. Absolute batshit crazy expensive for a single piece of software. We will never be able to afford that. So we are switching over to Unreal. It's really sad what Unity has become.
by AndrewKemendo | 2025-04-29 03:08:09+00:00
Preface: A Formally verified end to end application with associated state machine(s) is kind of my engineering holy grail - so I’m a likely mark for this article.

However the author never actually makes a good case for FV other than to satisfy hard-core OCD engineers like ourselves. Maybe the author feels like we all know their opinion - but it seems like the author is arguing against a poster of claude shannon.

If the system is - for all intents and purposes - deterministically solving the subset of problems for the customer, and you never build the state machine, then who cares?

My argument is “there isn’t one” — that’s provided we’re in a business context where new features are ALWAYS more beneficial to the business inputs than formal verification.

If a business requirement requires formal verification then the argument is also moot - because it is part of the business requirement - and so it’s not optional it’s a feature.

Come to think of it I’m not really sure I’ve ever seen software created on behalf of a business, that has formal verification, where FM is not mandatory requirement of the application or it’s not a research project.

The last time I saw formal state machines built against a Formally Verfied system it was from a bored 50 year old unicorn engineer doing it on a simple C application.
by hamandcheese | 2025-04-29 03:10:01+00:00
I agree with you, if it ran pyc code directly I would be okay saying it "runs python".

However it doesn't seem like it does, the pyc still had to be further processed into machine code. So I also agree with the parent comment that this seems a bit misleading.

I could be convinced that that native code is sufficiently close to pyc that I don't feel misled. Would it be possible to write a boot loader which converts pyc to machine code at boot? If not, why not?
by xyzzyz | 2025-04-29 03:10:56+00:00
And if the people who are cut off from the process are in the weak minority, and the majority agrees that it's good and proper to cut them off, then there will neither be revolution, nor dictatorship. This is the case with the people we typically disenfranchise today: children, foreigners, criminals. I don't understand why you keep coming up with these completely irrelevant hypothetical scenarios.
by GCUMstlyHarmls | 2025-04-29 03:11:18+00:00
This was my first impression too but I wasn't sure it covered the OPs convention over configuration stipulation.

Elixir/Phoenix is far and away my favorite framework to build with, but it does leave some things up to the user in a way that Rails doesn't, eg: there is no automatic `class name -> db table` mapping, or automatically inferring what partial or form names to use by a variables name.

In my mind, this is not a downside and there are still idiomatic ways to write Phoenix code, but just to outline some philosophical differences I guess. In the end I much prefer it because everything's a bit more explicit and flexible when I want it.

I think Phoenix also expects read documentation around OTP if you want to really achieve high leverage. This is worth it, and you can sort of drip feed yourself by starting with Phoenix, recognising that Phoenix primitives [sic] are actually Elixir primitives are actually just OTP primitives and you end up with some pretty good examples of how OTP works in a system you're already familiar with.

I highly recommend checking out Elixir & Phoenix.
by pacificmint | 2025-04-29 03:11:47+00:00
They’re called Coffman engine starters [1].

Random fact: Those starters are a plot point in the 1965 film The Flight of the Phoenix, where the protagonists are trying to start a plane that’s stranded in the Sahara, but only have a small supply of starter cartridges left.

[1] https://en.wikipedia.org/wiki/Coffman_engine_starter
by IncreasePosts | 2025-04-29 03:12:06+00:00
Heart rate zone training is always useful for general health. Unless you have an ultra terminal illness you would probably benefit from some zone 2 training...basically just a brisk walk(where you can still have a conversation, but you feel like you're putting in more work than sitting on a couch, probably around 125 bpm) for 45 mins 2 or 3x a week will greatly improve the heart health for most people.
by waleedlatif1 | 2025-04-29 03:12:23+00:00
thank you!

for ollama running on your host machine, you'll need to modify the docker configuration since by default it's looking at http://localhost:11434 which points to localhost inside the container, not your host. you can either add `extra_hosts` as `host.docker.internal:host-gateway` to your docker compose and set the OLLAMA_HOST envvar to `OLLAMA_HOST=http://host.docker.internal:11434`, or just run `docker compose up --profile local-cpu -d --build --network=host` when running the compose command.

will add this to the readme and add in some UI locally so its easily configurable! let me know if you have any issues
by eieio | 2025-04-29 03:13:51+00:00
I didn't like the idea of a queen on one board capturing the king on another board as her first move. And then I tried this rule and thought it created really fun counterplay when you're trying to capture a piece someone else is controlling, since you can move to a new board to be safe (and can lay traps this way).

I'm sorry you don't like that decision! But I think that I stand by it.
by eloisius | 2025-04-29 03:14:50+00:00
Coming from Ruby, Flask is much more of a Sinatra than a Rails. It’s very batteries-not-included. You basically just get routing out of the box. DB ORM, forms, auth, mail, background task, etc. are all DIY. That said, there are high quality packages to do all of those things within the ecosystem and I really like that I don’t feel like I have so much unused bloat in the framework when I’m making a small service.
by socalgal2 | 2025-04-29 03:14:51+00:00
After 18 years of iPhone I still can not type on my iPhone. My average is literally 3 corrections PER WORD! It's super infuriating >:(

I must have fat fingers or some perception that means however it was tuned doesn't fit me. The most two most frustrating keys, period ('.') to the right of the spacebar which I seem to press by accident when I'm trying to add a space, 3 of 4 times. I don't think my finger is near it but a period appears so.I.often.type.like.this . Maybe this is the invisible button size increase. The other is delete next to 'm'. I also hit that 4 of 5 times when I didn't mean to. I wanted to screen capture my phone experience and post it as just how band the experience is but if course I'm mostly typing private stuff.

I'd think just from every day usage of 18 years I'd some how get it but it's been 18 years and I don't
by klipklop | 2025-04-29 03:15:07+00:00
Number of people I know that used Duolingo successfully to be fluent in a new language: 0

Number of people I expect to meet in the future that used "AI first" Duolingo that successfully became fluent in a new language: 0

They don't even really have a functional product to begin with. Meaning that it can take the average person and help them competently speak a new language in a reasonable time frame. Vibe coding I guess can't make it any worse....
by analog31 | 2025-04-29 03:15:15+00:00
This relates to something that might have started around that time: The practice of displaying the splash screen for a finite time period, then showing the user environment before the software was fully started. It was suspected that both OS's and apps were doing this, because people notice when "the app takes too long to load."

Now you have to guess whether the software has really loaded or not before you start using it.
by shoo | 2025-04-29 03:15:17+00:00
> we’re in a business context where new features are ALWAYS more beneficial to the business inputs than formal verification.

Another way of framing this is "what is the impact (to the business / to the customers / to the users) of shipping a defect?". In a lot of contexts the impact of shipping defects is relatively low -- say SaaS applications providing a non-critical service, where defects, once noticed, can usually be fixed by rolling back to the last good version server side. In some contexts the impact of shipping defects is very high, say if the defect gets baked into hardware and ships before it is detected, and fixing it would require a recall that would bankrupt the company, or if a defect could kill the customers/users or crash the space probe or so on.
by vlovich123 | 2025-04-29 03:15:55+00:00
Nowhere did I say I used an unauthenticated cipher. It was all authenticated cipher. Indeed, usually it was still AEAD (AES-GCM), but instead of using the offset as the AD I simply derived a new key from the offset, thus not using the AD part. This way I would swap out the algorithm to an authenticated cipher that wasn't AEAD (e.g. AES-CBC+HMAC) without breaking how anything worked.
by IncreasePosts | 2025-04-29 03:16:05+00:00
This is a horrible abuse of computing power, but what I do is track my heart rate zones in Polar Beat (for my brand of heart rate monitor), and then I just screenshot the summary page for the workout. Then, once every week or two, I just dump my screenshots into Gemini and ask it to produce a report, where I get things like weekly averages, moving averages, highs & lows, etc.
by nailer | 2025-04-29 03:16:12+00:00
> You're profoundly autistic if you can't function, and if you can't function you're profoundly autistic

That is a definition, not a tautology. Though I suspect the way this conversation will go is that we will argue over the definition of definition.

I’ll bow out, but I do share your concerns about people looking to be right about vaccines. I feel they may be right (and also that they may be wrong), but as I’ve mentioned in another thread, I’m concerned they’re finding research to support their conclusion (mercury and aluminium poisoning) rather than approaching the problem more rigorously.
by andbberger | 2025-04-29 03:17:17+00:00
ok? my point was that you have projected your notions of project management on to the actions of CAHSR. there was nothing intentional or "agile" about the way the project was executed so far. that caltrain electrification has already been completed (at an exorbitant cost relative to the developed world) is more a consequence of how poorly things are going in the valley than anything
by gaoshan | 2025-04-29 03:18:29+00:00
FWIW a train I've taken a few times in China (Hangzhou to Shanghai) would do San Francisco to Los Angeles in less than 2 hours (possibly 1 hour 45 minutes). This would be an express with no extra stops.

With a handful of stops and the corresponding loss of speed (I'm extrapolating as it hits speeds of 350/kph but still takes about 45+ minutes to go roughly 186km) it would probably realistically take more like 2.5 hours.