MurphyA/hacker-news huggingface dataset:
by jeroenhd | 2025-04-10 12:42:58+00:00
Upgrading JDK 8 is a pain. Many JDK libraries have been moved to external dependencies (which is fine) with new class paths (which breaks existing code). Source code can be fixed with find/replace, but reflection stuff needs to be updated manually.

JDK9 also introduced a good modularization system, which broke many Java reflection hacks. JDK17 introduced even more boundaries which JDK21 enforced.

Companies with the foresight to upgrade before the end is near have been working on fixing these issues for a while now, but with Red Hat still supporting JDK8 for another decade or so, I don't think we'll be rid of these old runtimes any day soon. Furthermore, Oracle only distributes JVM8 to consumers. If you're building desktop applications, targeting JDK8 is a lot easier than targeting anything newer, unless you precompile your application or ship your own JDK.

Java devs can use any number of OpenJDK forks with support. Companies stuck in their ways will not update their toolchains until they break, and even then they will try to find workarounds before they implement fixes.

I don't know about .NET 5+, but without WinForms, new .NET just isn't a replacement. MAUI is nice and all, but it's not as simple and easy to use as WinForms, and there's no direct translation between the two.

Futhermore, the difference between .NET 4 and .NET 5/Core is that .NET 4 ships with Windows and is guaranteed to be available. .NET 5/Core will need to have its runtime be installed.

I think both Oracle and Microsoft are considering anything newer than Java 8/.NET 4 to be "stuff for large, packaged applications, web servers, and enterprise" and the old software part of their legacy API for consumers. I don't know of any Java application that requires a newer version of Java than Java 8 (that isn't itself an SDK for developing Java applications).

All of that said: upgrading Java is worth it, just for performance reasons alone. Java may not have the latest tech and it still lacks basic modern language features such as nullable types, but JVM is still an outstanding piece of tech.
by malcolmgreaves | 2025-04-10 12:43:00+00:00
To an extent, since we’re all human. But conservatives, regardless of nationality, are unified by one characteristic that makes them more susceptible to this kind of propaganda.

Conservatives lack the ability to empathize abstractly. Due to their extreme emphasis on being self-centered, they are deficient in understanding that what happens to another can happen to them.

Once something bad happens to them, they are able to start to see the threads that bind them to others and society. But it’s only once it’s been made personal that there’s a chance of this recognition occurring.

So “us good, them bad” style of mob thinking is more common in conservatives only because they systematically do not ask themselves “are we actually different from them?”
by cubefox | 2025-04-10 12:43:58+00:00
Much lower indeed. Even Boolean functions (e.g. AND) are differentiable (though not exactly in the Newton/Leibniz sense) which can be used for backpropagation. They allow for an optimizer similar to stochastic gradient descent. There is a paper on it: https://arxiv.org/abs/2405.16339

It seems to me that floating point math (matrix multiplication) will over time mostly disappear from ML chips, as Boolean operations are much faster both in training an inference. But currently they are still optimized for FP rather than Boolean operations.
by qrobit | 2025-04-10 12:43:58+00:00
I looked at the VerbalExpressionJS[1] example and it looks like combining parsers to me. If you need to make regex more verbose, better use parser combinator library when available. RegEx benefits compared to parser combinators other than compactness aren't obvious to me.

[1]: <https://github.com/VerbalExpressions/JSVerbalExpressions/tre...>
by Nullabillity | 2025-04-10 12:45:20+00:00
.NET Core's migration story was a disaster; Microsoft's official guide basically recommended that you create a new project and copy files over one by one and hoped for the best. Many people didn't bother.

Java 9 was also a mess; inching slightly closer to Scala and Kotlin (but not enough to make it worth going back to Java-the-language if you had already switched to one of those), while breaking a lot of existing code (a cardinal sin for a platform whose stability was its primary claim to fame). Many people didn't bother.
by nobleach | 2025-04-10 12:46:15+00:00
I've worked for multiple shops that basically just moved to Java 8 and then bolted an anchor to the nearest pylon. A few made one move to JDK 11 for the "LTS" experience. I can understand their reluctance to move on as the move from <8 to 8 brought a lot of pain. Those old apps had a lot of cruft. Your modern Spring Boot app shouldn't be as tough though. (ByteBuddy maybe an issue). Even the folks that have moved on, aren't really using any of the new functionality. I realize every shop is different, this is just my experience.
by vbezhenar | 2025-04-10 12:47:06+00:00
Migration from Java 8 is very easy, I don't really know why they keep using old versions. Probably lack of qualification. Or project is just dead with pinned ancient dependencies of terrible libraries which rely on JVM internals. I'm using Java 8 with one project, because that project must run on Windows Vista and later javas don't run on it. As soon as Windows Vista would become irrelevant, I'll drop the support in one day.
by artimaeis | 2025-04-10 12:48:00+00:00
Re: .NET WinForms -- they open sourced it a few years back.

https://github.com/dotnet/winforms

They even went so far as to bring back the forms designer to Visual Studio.

https://devblogs.microsoft.com/dotnet/windows-forms-designer...

Obviously it's still a pretty sizable migration to go from .NET Framework to .NET, but at least the UI framework is available again.
by guax | 2025-04-10 12:48:11+00:00
Emergency services are supposed to be for everyone in your country. Now its easy to narrow down just to citizens or residents but the US will have at all times a large quantity of visitors who are not expected to speak english I would suppose. If you get an emergency alert or message related to safety of a particular area it is in the best interest of society in general for that message to be understood by everyone in that area.
by fhd2 | 2025-04-10 12:48:27+00:00
I've seen a number of startups who are stuck on .NET Framework, simply because some affordable agency built them an MVP with ASP.NET a while ago and it worked (TM) to get the business going.

Then someone like me gets called into a situation where they have ridiculous hosting costs (Windows-only, typically also MS SQL), nasty performance issues, and struggle to stay productive and find developers. The most reasonable path forward I see in those situations is a gradual migration to .NET Core and something like PostgreSQL.

And that's a major investment. Microsoft couldn't have made .NET Framework code harder to port to .NET Core if that had been their explicit goal. I find database migrations with Entity Framework similarly difficult compared to other ORMs. Startups can sometimes afford such investments, but often not.

And that's how you ironically get 2-3 year old startups stuck on a death march old school enterprise code stack. It appears to be more common than I'd like it to be.
by 9rx | 2025-04-10 12:49:04+00:00
> Why should I hire you if an agent can do it ?

An agent can't do it. It can help you like a calculator can help you, but it can't do it alone. So that means you've become the programmer. If you want to be the programmer, you always could have been. If that is what you want to be, why would you consider hiring anyone else to do it in the first place?

> Spotify CEO stated on X that before asking for more headcount they have to justify not being able to do the job with an agent.

It was Shopifiy, but that's just a roundabout way to say that there is a hiring freeze due to low sales (no doubt because of tariff nonsense seizing up the market). An agent, like a calculator, can only increase the productivity of a programmer. As always, you still need more programmers to perform more work than a single programmer can handle. So all they are saying is that "we can't afford to do more".

> The company will and is just using the agent as well …

In which case wouldn't they want to hire those who are experts in using agents? If they, like Shopify, have become too poor to hire people – well, you're screwed either way, aren't you? So that is moot.
by bilekas | 2025-04-10 12:49:17+00:00
> Porting .NET framework to .NET core / standard / 6+ really isn't as smooth as MS would like you to believe.

Having just spend the better part of 3 months porting a lot of legacy projects, you're absolutely right, but I am not sure where MS said this would be smooth. There are some processes that are standard enough but certainly there is a lot of hands on work involved, and actually for good reason, there are performance and security issues that need to be addressed (In my brief, and hopefully final experience).

That said, porting from event .net versions (stable LTS versions) such as 6 -> 8 has so far been flawless, I think over the last year, we ran into maybe some minor semantic issues.

It's not perfect, but I have to defend MS unfortunately, they are taking things in the right direction while being tied to a LOT of legacy enterprise clients and systems.
by globnomulous | 2025-04-10 12:50:22+00:00
> It's not up for debate. Ask any programmer if LLMs improve productivity and the answer is 100% yes.

Programmer here. The answer is 100% no. The programmers who think they're saving time are racking up debts they'll pay later.

The debts will come due when they find they've learned nothing about a problem space and failed to become experts in it despite having "written" and despite owning the feature dealing with it.

Or they'll come due as their failure to hone their skills in technical problem solving catches up to them.

Or they'll come due when they have to fix a bug that the LLM produced and either they'll have no idea how or they'll manage to fix it but then they'll have to explain, to a manager or customer, that they committed code to the codebase that they didn't understand.
by bayindirh | 2025-04-10 12:51:29+00:00
The problem with Java migrations is sometimes people (ab)use the behavior of a specific library in that specific version, and when you change the runtime, everything comes crashing down (visibly or invisibly).

I have seen quite a few Java applications which fails at unrelated points, and every time I have been told that the thing only runs with "jre-old.very.specific.version-and.point.release". Otherwise you're out of luck.
by Uvix | 2025-04-10 12:51:31+00:00
The OS support isn't quite as ironclad as that. Windows Server 2019 was the last version where .NET Framework 3.5 will be supported for the lifetime of the OS; while later versions still include 3.5 as an optional feature, it's only going to be supported until January 2029 (when 2019 goes out of support), even if the OS is still in support.

We know .NET Framework 4.x will still have to be supported through October 2034 to meet similar support obligations for Windows Server 2025; but Microsoft could easily let that be the end date for 4.x if they wanted, even if Windows as a whole is still supported.
by eterm | 2025-04-10 12:51:42+00:00
The horrible naming thing is epitomised by the frankenstein that is, "ASP.NET Core 2.3", which is a re-release of "ASP.NET Core 2.1", which is actually a .NET Framework thing.

Re-released because ASP.NET Core 2.1 had a better support lifecycle than ASP.NET Core 2.2, and people "upgraded" to 2.2 not realising this.

So people got stuck on unsupported 2.2, rather than the supported 2.1.

So they re-released 2.1 as 2.3, to give people an "upgrade" path from 2.2 to 2.1.

All named after "ASP.NET Core" which, confusingly, is detached from ASP.NET on .NET Core.

( .NET Core which is now just ".NET" , of course. )

Read the whole horror-show here: https://devblogs.microsoft.com/dotnet/servicing-release-advi...

I swear .NET has had the best technology focus for the past 5 or so years, but has had absoultely the worse brand and a complete lack of developer relations / brand ambassador type work.

They need someone who can turn around and tell them to stop this madness, and focus on getting out that .NET is a fantastic ecosystem that performs damn well, and modern C# a pleasure to write in.

But instead we get stuff like "EF Core 9" that targets .NET 8, and all the 9.0.x system libraries, where isn't not clear whether you should be using them if you want to stick to the LTS and target .net 8.
by guax | 2025-04-10 12:52:05+00:00
Executive orders are not laws, they're fancy memos. Puerto Rico is in the US btw where the official language is also Spanish.

https://en.wikipedia.org/wiki/Languages_of_the_United_States

> On March 1, 2025, President Donald Trump issued Executive Order 14224 to symbolically designate English as the official language of the United States for the first time.[2][23] The U.S. Congress has never passed legislation declaring an official language at the federal level,[24][25] but English is typically used by the federal government and in states that do not have an official language.
by Majromax | 2025-04-10 12:52:08+00:00
> Why should I be bothered to read what nobody could be bothered to write?

In an art-criticism sense I broadly agree with you, but I think you go too far from a reader-experience point of view.

> The point of writing is communication and creative writing is specifically about the human experience

That's a point of writing, but the point of reading is only sometimes about communication. It's also about entertainment, enrichment, or expressing half-formed thoughts and feelings.

Take a step back from the autonomously-written novel and imagine something a bit more collaborative. Many players of open-world-ish games develop an emergent story, what if that story could be semi-automatically novelized to document the unique narrative of the playthrough?

SimCity 2000 had "mad-lib" newspaper articles that commented on the city's status; consider ones written by an LLM with full knowledge of the game's state and context.

> something a LLM can mimic but never speak to authoritatively.

Supposing a reader can't tell the difference between an average human-written novel and an average LLM-written novel, where does this authority lie?
by itchyjunk | 2025-04-10 12:52:37+00:00
People still calligraph even though we have printer. People will actively spend money in a hobby they like. It's totally fair that you personally might not want to do it anymore if AI can, but I think parent was saying other people will continue to do it if they enjoy it. There are tons of people who create copy right free music anyways. Talking about those type of people. :)
by angra_mainyu | 2025-04-10 12:53:49+00:00
To be fair, that is not problematic at all and most definitely not what I think is the issue with Nix adoption/learning curve.

Personally, it's the fact that there are 57698 ways of doing something and when you're new to Nix you're swarmed with all the options and no clear way of choosing where to go. For example, the docs still use a shell.nix for a dev shell but most have moved to a flake-based method...

I always recommend starting with devenv.sh from the excellent Domen Kozar and then slowly migrating to bare Nix flakes once you're more accustomed.
by krsdcbl | 2025-04-10 12:53:53+00:00
this is the way. Modern CSS brings most of the capabilities to the table that SASS & LESS used to provide, and in part even much more functionality that could never be adequately solved with preprocessors (runtime calc(), light-dark() and layers come to mind)

I'm still a fan of LESS, but quite specifically because it _does not_ try to force another languages syntax into my preprocessed stylesheets, rather keeps everything as css-like as possible. This makes it much easier to transition things to vanilla-only when possible, absolutely dreading "mostly js"-types of SASS frameworks
by AtlasBarfed | 2025-04-10 12:54:14+00:00
It's a database that emphasizes stored procedures. And if you need it to distribute computing, it has the same challenges as the eliminated "game servers".

In addition, outside of single table updates and selects, SQL has scaling limits. If you throw the computation at the db server as well, you limit the vertical scaling.

Gaming and gamers are used to sharding (and geographic tower of babel us an implicit shard as well).
by like_any_other | 2025-04-10 12:54:17+00:00
So, what were the showerhead regulations prior to this repeal? The article doesn't expend even a single word to inform us.

Edit: WaPo is less useless: The order, first reported by the Wall Street Journal, directs the Energy Department to rescind a regulation issued under President Barack Obama and later reinstated under President Joe Biden. The rule limited the flow from each shower head on the market to 2.5 gallons of water per minute.

https://www.washingtonpost.com/climate-environment/2025/04/0...
by mediumsmart | 2025-04-10 12:54:22+00:00
I am on macOS with a split screen browser left and emacs in the right half. Max 2 window vertical split in that frame and if needed a C-x 5 2 which opens a full screen frame workspace to the right for a c-x 3 side by side layout. That’s it - all the other buffers are backstage partying until they get called.
by rayiner | 2025-04-10 12:54:46+00:00
But the country is polarized. So this woke/MAGA maximalist seesaw is what you’d expect if democracy was working.

The two-party angle really has very little to do with it, because there’s not that many “true moderates” in the electorate. Research shows that the “center” is comprised of people with a heterodox mix of views, but they’re not particularly mushy about any specific view.
by akimbostrawman | 2025-04-10 12:54:55+00:00
The discovery of fire itself was not progress, but how to use it very much is. They most likely didn't have a "discover fire" specialization in the modern sense but I doubt the one first to create a fire starter was afterwards deligated to only collect berries. The discovery and creation of something obviously often comes before the specialization or it would otherwise be impossible to discover and create anything.

>FWIW I don't have a microwave oven.

That was just an example. You still know how to use them hence basic knowledge. Seem like this discussion boils down to semantics
by whizzter | 2025-04-10 12:55:12+00:00
Our org seems to be taking some benefits from being sped up by using AI tools for code generation (much of it is CRUD or layout stuff), however at times I'm asked for help by colleagues and the first thing I've done is Googled and found the answer and gotten a "Oh right, you can google also" since they've been trying to figure out the issue with ChatGPT or similar.
by Geee | 2025-04-10 12:55:31+00:00
Does this make any sense in single-player games, where the db would run locally on the user's machine? Does it have any benefit to run all game state through a local db?

I'm not a game dev, but I'm imagining that if I'd write a custom game engine, I'd have to write just the "frontend" aka. graphics engine if I'd have a robust state manager (+tooling) as a separate piece of software.
by runeks | 2025-04-10 12:55:55+00:00
> Inventory cost doubles, perhaps now they have to take out higher interest debt to finance that.

I'm pretty sure Footlocker doesn't borrow money to pay Nike up front for inventory. Nike is smart enough to know that there's zero chance their shoes will be sold if they sit in a warehouse, so Nike might as well ship them to retailers and get paid gradually as the shoes are sold to consumers.
by onlyrealcuzzo | 2025-04-10 12:56:14+00:00
Additionally, their risk increases.

If the shoes don't sell, their losses can get much larger.

They need the potential to make more profit to offset this this potential for larger losses.

It's kind of like asking why Sears needs to make $200 in profit selling a refrigerator but only $2 selling a t-shirt.

Because that's just how it works...
by garganzol | 2025-04-10 12:56:24+00:00
At my workplace, we treat .NET 4.x as an enterprise runtime considering its widespread availability and good maintenance. While we design and compile all the modules with first-class support of new .NET versions, all of them are able to run on .NET 4.x as well. To make that possible, we use a handful amount of polyfills. Fortunately, it all works transparently without causing any troubles.
by dachris | 2025-04-10 12:56:24+00:00
Migrated a small-ish project from ASP.NET Framework (.NET 4.8) to ASP.NET Core (i.e. .NET 8) including EF6 to EF Core last year. Even though it was pretty smooth sailing (the application was already using MVC), it was still a few weeks work.

Rewrite queries that are not yet supported on EF Core, create some new DTOs, create drop-in replacements for stuff that isn't there anymore, create plumbing to connect some old stuff to some new stuff. Figure out what's the new replacement for XYZ and use it correctly to not break anything. Replace nuget packages that are not maintained anymore or have so few downloads that they are a supply chain risk.

You need to test every endpoint, every query in your application.

And in the Microsoft World you're still pretty ok, overall, it's quite stable.

God forbid you put your money on the wrong web framework (not even talking frontend) in the Java space. There's still Tapestry/Struts/Grails/JSF/GWT/Play etc. applications serving your request out there. Saw some banking website with ".do" urls recently (indicative of Struts).

Unless we get superhuman AI that can do such migrations all on their own, those zombies might have a longer working life left than lots of developers. Many companies just can't afford to upgrade - there's so many systems built over decades that just do what they should do. Why shell out tons of money to just get the same functionality?
by SideburnsOfDoom | 2025-04-10 12:56:30+00:00
> .NET Core requires you to jump one version up almost every year,

Close.

* The requirement is to jump every second year when a LTS version comes out. Last one was .NET 6 to .NET 8. And next, .NET 10 will come in November 2025. You can jump 1 version every year, but it's not a "requirement".

* It's just called ".NET" now, not ".NET Core". There is no ambiguity in e.g. ".NET 8" - it's the modern version formerly known as ".NET Core".

* Release is every year in November, and every second one is LTS. there's no "almost", it's every time. IDK if this will still be so in 10 years time, but it's been consistent.

* maintenance cost? Yes, you have to review project files and build pipelines in order to to update, so there's some detailed work, but the actual breaking changes and puzzling issues are few to non-existent. It typically goes very smoothly after you change some numbers.
by joseda-hg | 2025-04-10 12:58:12+00:00
The projects would be roughly the same, but information about them would be significantly cleaner

If I see an article about .NET, depending on the year it might be about 2 different product lines, because the shorthand was made to be the same

If I need to google how to X in Visual Studio, more than half of the results will be irrelevant, because they will be about a different product, so on and so on

If the naming was good, it wouldn't trip up people (So regularly at least), that's my point

Other ones that trip up people, Teams for personal use?, that one regularly bugs out when interacting with business users? Skype vs Skype for Business?
by jeroenhd | 2025-04-10 12:58:32+00:00
> so as long as Windows is supported, so is the corollary.NET version.

With Windows 11, Microsoft stepped away from their normal long-term support lifecycle. Now, you get two years or so of guaranteed support per Windows 11 release, instead of the 5+5 years even Windows 10 received.

Unless you're targeting Windows server or LTSC, depending on the Windows library may not be such a great long-term solution anymore.