MurphyA/hacker-news huggingface dataset:
by CopyOnWrite | 2025-09-03 08:28:34+00:00
Programmed over the years in almost all mainstream programming languages at one time or another.

Saying this, Java was and is in many ways one of the best ecosystems to write software out there, if not the best (when it comes to server side software).

Maven is my favorite build systems so far: Default directory layout means everything has its place, IDEs can easily open any kind of Maven project, and being declarative, one can easily analyze pom.xml files. (I hate writing XML and I still like Maven.)

The next thing is Javas standard library. Well documented and big. Has it better and worse parts? Sure! But what people which never used a language with a good standard library don't get, is that even a bad standard library which is widely used is far better, than the npm-of-the-week clusterfuck, which means that nobody can read three lines of code and really understand, what is happening.

The IDEs are top notch, and you get even free ones (NetBeans, Eclipse) which can rival JetBrains and Visual Studio easily.

... and finally, Java is the only language that I know of, which has multiple strong companies and initiatives behind it, thanks that nobody trusts Oracle (rightfully).

Finally, Java code also got shorter, DI style is IMHO a very good default in any programming language (OOP, FP, Imperative), the community settled mostly on JUnit, so there are never discussions which of the 23 competing test frameworks to use...

In the end, there is a lot of rightful criticism of Java (historical baggage, too late when it comes to AOT, no modern GUI frameworks and a steep learning curve). Java getting new features with the new JDK releases is kind of double edged sword: Many things are good ideas, but they make the language more complicated at the same time.

The verbosity was IMHO never a big thing, because Java was always meant to be used in an IDE, for bigger projects explicit trumps implicit and finally newer revisions introduced stuff like 'var' statements etc.

It is kind of sad, that the Linux community never really jumped/accepted Java for desktop development (which might be explainable, when looking back at the lack of speed of Java in the 90s and the disastrous Solaris Java apps which were simply to slow to be usable).

Anyway, for work I am now using Golang, and it is hilarious how many lessons Golang did not learn from Java, when it comes to language design, although the tooling is top notch and the standard library has at least almost everything needed for writing backend services.

I don't see Java making a comeback, and I don't see anything modern going to replace java at the same time.
by maxglute | 2025-09-03 08:28:48+00:00
I've lax with my math because your claims are so ridiculous. AJ article is about stock performance, which is one index of economic improvement, that we can approximate in aggregate gdp ppp, which is easily referenced. Taking more than a few seconds and brain cells to respond to retarded insinuations that HK economy did not improve since handover, when HK economy is intimately linked to PRC economy, which has exploded since, is indeed beneath "my pay grade", i.e. personal time.
by jfagnani | 2025-09-03 08:29:10+00:00
I think web components already compete extremely well for application development, and you see very complex apps built with Lit out there: Photoshop, Firefox, Chrome OS, Chrome DevTools.

Apps are well served because they have more control about how components are used: they can import the same shared styles into every component, take are to not double-register elements, etc.

But I think there are some important standards still missing that would open things up even more in the design system and standalone components side:

- Scoped custom element registries. This moves away from a single global namespace of tag names. Seems like it's about to ship in Safari. Chrome next.

- Open styleable shadow roots. Would allow page styles to flow into shadow roots. This would make building components for use with existing stylesheets easier.

- CSS Modules. Import CSS into JS. Shipping in Chrome. About to land in Firefox.

- ARIA reference target: make idref-based reference work across shadow roots
by adornKey | 2025-09-03 08:30:07+00:00
I think having Shift available for the thumb would help a lot (in the middle just below Space bar).

Most experimental layouts that add more features make the mistake to overload it, some of these things even look totally thumb-driven.... This make everything very confusing. Just Shift for a start, would be good. The pinky is too much overloaded. Offloading some of it to the thumb would actually be an improvement.
by krig | 2025-09-03 08:30:31+00:00
> Are there two types of assignment?

>

> p1[0] = 0

> ...

> n := 0

>What should this mean? The comma notation usually indicates a pair or left-to-right control flow (Python >and C, respectively), but why (appear to) assign a pair to itself? This probably means something else, but it reads odd.

= is assignment and := is assignment and declaration.

x := 1 // create a new variable x with the value 1 x = 2 // assign 2 to x y = 3 // error: y does not exist

You can explicitly give the variable a type by adding it before the =

x : u8 = 1 // a one byte unsigned integer with the value 1

There is also :: for constants.

> car, cdr := car, cdr

Odin has multiple assignment like Python, so this is a swap without temporary. edit: No, it isn't! Didn't read carefully. Swap would be

car, cdr = cdr, car

This one is because parameters are immutable in Odin, so to get a mutable copy in the function we have to declare it.

> If Odin is so similar to C, what are the "dark corners" where it outshines it?

Off the top of my head:

- No undefined behaviour

- Builtin string type, dynamic array type, slices

- Builtin map type

- Excellent tooling for 3D math: swizzling, matrix math, array programming

- Bounds checking

- Tooling for memory management: leak detection, temp allocator, arena allocators

- Builtin unit test framework

- Tagged unions with exhaustiveness checked switch statement

- for ... in loop syntax
by threeturn | 2025-09-03 08:30:40+00:00
# UniCredit [https://www.unicreditgroup.eu/en.html] | Multiple Roles | Romania, Poland, Italy | Hybrid I'm Andrea, I'm the Group Chief Architect and I lead a team of architects and engineers at UniCredit, a pan-European commercial bank with a unique service offering in Italy, Germany, Austria, and Central and Eastern Europe. We're a global team with a strong presence in 14 countries.

I'm looking for skilled Enterprise Architects and DevOps engineers to make our strong team even stronger. Our technology landscape is a mix of heritage technologies like Mainframe and a modern, cloud-native stack including Kafka, Quarkus, React, and Apigee and many more cool technology. We're committed to a cutting-edge approach for new projects and are actively migrating a significant portion of our systems to GCP.

Our leadership team is a fantastic blend of tech-savvy digital leaders and seasoned bankers who embody a "can do" attitude, making for an exciting and dynamic work environment.

Below is a detailed description for one of the key roles we're hiring for. If you're interested or want to learn more about other opportunities, please feel free to contact me directly at YW5kcmVhLmdyYW5hdGFAdW5pY3JlZGl0LmV1

More info here:

https://gist.github.com/threeturn/755d72fa31e6cbc5e35809216f...
by jfagnani | 2025-09-03 08:32:07+00:00
Lit's just a JavaScript library published as standard modules, so it doesn't require a bundler. Using Lit efficiently is the same as using any other library.

HTTP/3, import maps, and HTML preloads can make unbundled app deployment almost reasonable in some cases. You'd still miss out on minification and better compression form a bundle. Shared compression dictionaries will make this better though.
by klaaz0r | 2025-09-03 08:32:37+00:00
Promptwatch | Amsterdam, Netherlands | HYBRID/REMOTE (CET +/- 2h) | Full-time | https://promptwatch.com

====================

We’re helping companies rank and be visible in AI search /ChatGPT, Google AI mode et.c (GEO) and hiring a Senior Full-Stack Developer.

Work: Own app layer, real-time APIs & queues; ship end-to-end.

Stack: TypeScript, React 19/Next.js, Node/Fastify, tRPC, Postgres, GCP Nice to haves: ClickHouse, Elasticsearch.

You: 7–8 YOE, strong TS/React/Node.

Comp: €65k–€110k + equity.

Apply: https://promptwatch.com/careers/full-stack-developer (mention “HN: Full-Stack Developer”).
by achatham | 2025-09-03 08:32:40+00:00
At Waymo we use c++ modules via clang and got the demanded 5x speedup.

As the article mentions, you need a close relationship between the compiler and build system, which Google already has. The google build tooling team got modules to mostly work but only turned them on in limited situations. But we but the bullet and turned them on everywhere, which has sped up compilation of individual files by more than 5x (I forget the exact number).

The remaining problem is that sometimes we get weird compilation errors and have to disable modules for that compilation unit. It's always around templates, and Eigen has been gnarly to get working.
by thecupisblue | 2025-09-03 08:33:05+00:00
Great video! Even more, shows a few things - how good it is with such a niche language but also exposes some direct flaws.

First off, Rust represents quite a small part of the training dataset (last I checked it was under 1% of code dataset) in most public sets, so it's got waaay less training then other languages like TS or Java. You added 2 solid features, backed with tests and documentation and nice commit messages. 80% of devs would not deliver this in 2.5 hours.

Second, there was a lot of time/token waste messing around with git and git messages. Few tips I noticed that could help you in the workflow:

#1: Add a subagent for git that knows your style, so you don't poison direct claude context and spend less tokens/time fighting it.

#2: Claude has hooks, if your favorite language has a formatter like rust fmt, just use hooks to run rust fmt and similar.

#3: Limit what they test, as most LLM models tend to write overeager tests, including testing if "the field you set as null is null", wasting tokens.

#5: Saying "max 50 characters title" doesn't really mean anything to the LLM. They have no inherent ability to count, so you are relying on probability, which is quite low since your context is quite filled at this point. If they want to count the line length, they also have to use external tools. This is an inherent LLM design issue and discussing it with an LLM doesn't get you anywhere really.
by LtdJorge | 2025-09-03 08:34:32+00:00
Completely off-topic question, but, does anyone more knowledgeable about academia know why bascially no paper states the date of writing/publication clearly? Is it because the publication may be delayed?

I've read or at least downloaded many of these VLDB and other DB papers and it's difficult to get the year it was written at just from the PDF, you need to find the DOI reference or something like that. And the data is importart, for chronology and to know how "fresh" the topic is.
by reify | 2025-09-03 08:34:33+00:00
Google has added no value to my life.

I use none of its products.

The shills and the constant bombardment of everything pro google has clearly worked in this case.

It is impossible for a company to add any value to any human life, unless you disregard the fundamentals of being human and consider staring at a screen all day value.

We humans can get love, compassion, and empathy from other human beings, take our children for instance, how and where does google do this. It can't and it doesn't!

We dont need a computer, a smart phone, or a programming language to interact with our fellow humans.

Take google away and we will still live extraordinary lives.

The OP wants a job.
by gattilorenz | 2025-09-03 08:35:17+00:00
It does not. This came 2 years into a bloody war, and is a response to that. Even the IDF reserve has now hundreds of people protesting against the war, but obviously very much against Hamas.

It’s just a statement against Israel’s politics. By your line of reasoning, any previous sign of support for Israel was also a support of the Nakba of 1948.
by jfagnani | 2025-09-03 08:36:42+00:00
Lit has always been designed partially as a prototype for where web component standards could go in the future. That's a big reason Lit is fairly conservative and un-opinionated. It doesn't try to undo or paper-over any of the DOM APIs, but add to them instead.

There is a proposal in TC39 for native signals, which I think would make a huge dent towards library-less reactivity.

I'm also working on a proposal for native reactive templating which would more-or-less obsolete lit-html. I wrote about the idea some on my blog:

- The time is right for a DOM templating API https://justinfagnani.com/2025/06/26/the-time-is-right-for-a...

- What should a native DOM templating API look like? https://justinfagnani.com/2025/06/30/what-should-a-dom-templ...
by i_am_proteus | 2025-09-03 08:37:31+00:00
Magic Lantern is fantastic software that makes EOS cameras even better, but I understand why manufacturers make it hard:

Camera manufacturers live and die on their reputation for making tools that deliver for the professional users of those tools. On a modern camera, the firmware and software needs to 100% Just Work and completely get out of the photographer's way, and a photographer needs to be able to grab a (camera) body out of the locker and know exactly what it's going to do for given settings.

The more cameras out there running customized firmware, the more likely someone misses a shot because "shutter priority is different on this specific 5d4" or similar.

I'm sure Canon is quietly pleased that Magic Lantern has kept up the resale value of their older bodies. I'm happy that Magic Lantern exists-- I no longer need an external intervalometer! It does make sense, though, that camera manufacturers don't deliberately ship cameras as openly-programmable computational photography tools.
by silverliver | 2025-09-03 08:38:32+00:00
What was allowed to happen in Palestine has set a new standard for the value of human life and morals. It was not only set for the Palestinians but also for the other side and everyone else.

Perhaps this is no consolation to the victims, but the pendulum will continue to swing both ways as it always has. These monsters and their offspring will reap what they sowed. Humanity too will reap this reward.
by notepad0x90 | 2025-09-03 08:39:17+00:00
For me, when I use python, it's because I want faster dev time to prove a concept or that I expect others with little to no programming experience to maintain the code in the future. So, I rarely ever use async because I never seem to be in a position where the debugging complexity and how hard it is for others/newbies to read and be familiar with the code is worth the performance improvements.

Like others are saying, if I want it fast and efficient (processing), I'll just use Go. Python isn't like JS in browsers, you don't have to use it, you have to want to use it. and the same goes with its features. Maybe if python tutorials/books and "How do i ____ in python?" search results used async, map, filter, collections,etc.. these awesome python features would be more prevalent. But, I can see how mature projects should probably mandate their usage where it makes sense.
by tialaramex | 2025-09-03 08:39:36+00:00
> There is no undefined behavior in Odin

This mostly just ends up meaning that Odin's creator Ginger Bill will engage in pointless semantic arguments in which he defines away your problem.

There are places where C could reasonably have chosen to define what happens, or to make it Unspecified rather than Undefined, and so that's what Odin chooses, which is a meaningful benefit. However there are plenty of situations left in which what you've written would be UB in C and absolutely anything might happen, while in Odin absolutely anything might happen but Bill insists it isn't UB.
by mechanicum | 2025-09-03 08:39:39+00:00
It’s about hand movement, not desk space.

The “missing” keys are on additional layers reached via a modifier key, or by overloading keys on tap/hold, or by increasingly esoteric methods the smaller the board gets: chording, tap dance, etc. They’re typically no less accessible than capital letters, while allowing you to keep your fingers on the home row.

For me, the additional keys on my larger keyboards rarely prove useful in practice. I end up mostly using the same subset available on the 60% I’m typing on now – it’s quicker and more comfortable than reaching over to the dedicated key.
by jnsaff2 | 2025-09-03 08:39:40+00:00
Why too good to be true?

There are significant trade-offs with this technology.

It's storing heat, so if you need electricity then you eat a lot of efficiency. I think Vernon said ~45% round trip efficiency. Batteries are 90%+.

The storage is at a high temperature (500-600C) which means that you can't use heat-pumps to produce the heat to be stored. This means that you miss out on ~400% energy gains possible from converting electricity to heat.

So the efficiency is pretty low.

That said, solar PV is really cheap and moving large amounts of earth into a pile is also a very much solved problem so in some cases, notably higher latitudes which have very long days and low heat/electricity demand in the summer and the opposite in the winter, it could still be a very good solution.
by adornKey | 2025-09-03 08:40:19+00:00
Less things to connect, less switches, less caps, ... I think it's mostly about manufacturing cost. If you build a keyboard yourself, you're glad if you have to solder less. So for sure any prototype of a new design will start small. If you go full size price goes up a lot.

For usability alone those small sizes don't make much sense in an office or on a desk.
by bjackman | 2025-09-03 08:40:24+00:00
You should try running powertop on it. It will scrape sysfs and look for things that seem misconfigured, and suggest changes to fix them. On one of my machines it enabled some peripheral power saving mode that made a pretty dramatic saving!

(I also heard that it sometimes suggests power saving modes that are usually switched off for a good reason, like apparently you really don't want some USB controllers going into certain sleep modes as they take seconds to come back).
by krig | 2025-09-03 08:41:03+00:00
First off, you wouldn’t write an actual interpreter for lisp like this if you wanted to use it for anything serious, it’s very slow.

The parser is very simple thanks to the s-expressions, and the only builtin special forms really needed are quote, cond and lambda, that’s pretty much it. The only data structure is a list, so functions are just lists, function calls are lists etc.
by diggan | 2025-09-03 08:42:12+00:00
Sweden seems to have some of the highest "Electricity consumption per dwelling" (https://www.odyssee-mure.eu/publications/efficiency-by-secto...) in Europe, and sits at 10 MWh, which makes sense, it's a very cold country but with very well isolated houses in general :)

It sounds to me like you're likely an outlier here, for curiosities sake, where do you live?
by hahughes | 2025-09-03 08:42:24+00:00
Oxidian | https://www.oxidian.com | Remote (Ireland/EU ONLY)

We make sure public money is well invested by building software for governments. We're doing to government software services what challenger banks did to banking.

Our projects range from high-performance computing libraries to web applications and modern DevOps pipelines. We focus on automating complex tasks and creating user-friendly interfaces to improve the working lives of scientists and researchers.

We move quickly, trust each other to deliver, and give you space to own your work from day one.

We're currently hiring for:

* Senior Python Developer

* Senior DevOps + Python Engineer

* Senior Rust / C++ Developer

* Senior React + Typescript Developer

More information and how to apply: https://www.oxidian.com/#join-us
by palmfacehn | 2025-09-03 08:42:34+00:00
This, and separation of concerns. HTML stays in HTML or your preferred SSR template where it belongs.

Another reason I like <template> is the ease of prototyping. A very straightforward approach is to mock up your HTML+CSS with placeholders of what your populated elements might look like. Instead of translating that into JS element generation code, you can simply remove the populated data and enclose the barebones element in a <template> tag.

Back in JS, you might have a simple initializer to add these elements as needed and a function to (re)populate them.

Simple, to the point and no libraries or frameworks required.
by hilbert42 | 2025-09-03 08:43:01+00:00
WordStar isn't that difficult once you master the diamond keystrokes—E,S,D,X—and the keys adjacent to them. In fact, WordStar's control key 'diamond' was very well thought out. After one mastered the sequence which probably took several days one could enter text very quickly and efficiently. I just found this site which provides an excellent explanation:

https://benhoyt.com/writings/wordstar-diamond/

As I mentioned above I ran WordStar on multiple operating systems and I still have it running under an emulator under Windows.
by privatelypublic | 2025-09-03 08:43:12+00:00
Also to add some practicals: you can drive a steam turbine with the concrete temps, but not with the water.

Also, looking at how hot water could theoretically get (decomposes between 2200-3300C), it looks like 1200C is an interesting limit. Above that and you get safety(practical) and cost issues with every material I could find (common salts, pure elements).

Sand just makes sense! Though, don't ever youtube sand battery.
by palata | 2025-09-03 08:43:22+00:00
> But I think users have the right to build/use software that works how they see fit.

They have, I don't think anyone denies that. But the other side has the right to refuse working with them if they find them insecure.

I don't think it is limited to passkeys... I have always been forced to use the authentication chosen by the IT at work, it's not like I can come and say "You know what? Instead of your SSO coupled with your second factor app, I would like to use my own password manager with email and password".
by names_r_hard | 2025-09-03 08:43:40+00:00
Hi - I'm the current lead dev.

It's not firmware, which is a nice bonus, no risk of a bad rom flash damaging your camera (only our software!).

We load as normal software from the SD card. The cam is running a variant of uITRON: https://en.wikipedia.org/wiki/ITRON_project
by ozgrakkurt | 2025-09-03 08:43:52+00:00
I am using free chatgpt and free deepseek mostly.

They are both terrible in terms of correctness compared to duckduckgo->stackoverflow.

As an example deepsek makes stuff up if I as for what syscall to use for deleting directories. And it really misleads me in a convincing way. If I search then I end up in the man page and I can exentually figure it out after 2-3 minutes
by reify | 2025-09-03 08:44:59+00:00
They sell rose tinted spectacles down at my local £1 store.

Seeing, according to the Cambridge dictionary:

considering or accepting the fact that; as:

Seeing we're the same size, we often wear each others' clothes.

I'll make this recipe again, seeing that you like it so much.

We may as well go to the concert, seeing as we've already paid for the tickets.

Seeing as how I'm broke, I'm not coming out tonight.

Fewer examples:

I'm not optimistic, seeing that he dismissed my suggestion so casually.

I thought he was a bit rude, seeing as we'd never met.

Seeing as how you enjoyed my last story, I thought I'd send another.