Hacker News with Top Comment


Leaving Rust gamedev after 3 years
loglog.games - 90 Comments

That's a good article. He's right about many things.

I've been writing a metaverse client in Rust for several years now. Works with Second Life and Open Simulator servers. Here's some video.[1] It's about 45,000 lines of safe Rust.

Notes:

* There are very few people doing serious 3D game work in Rust. There's Veloren, and my stuff, and maybe a few others. No big, popular titles. I'd expected some AAA title to be written in Rust by now. That hasn't happened, and it's probably not going to happen, for the reasons the author gives.

* He's right about the pain of refactoring and the difficulties of interconnecting different parts of the program. It's quite common for some change to require extensive plumbing work. If the client that talks to the servers needs to talk to the 2D GUI, it has to queue an event.

* The rendering situation is almost adequate, but the stack isn't finished and reliable yet. The 2D GUI systems are weak and require too much code per dialog box.

* I tend to agree about the "async contamination" problem. The "async" system is optimized for someone who needs to run a very large web server, with a huge number of clients sending in requests. I've been pushing back against it creeping into areas that don't really need it.

* I have less trouble with compile times than he does, because the metaverse client has no built-in "gameplay". A metaverse client is more like a 3D web browser than a game. All the objects and their behaviors come from the server. I can edit my part of the world from inside the live world. If the color or behavior or model of something needs to be changed, that's not something that requires a client recompile.

The people using C# and Unity on the same problem are making much faster progress.

[1] https://video.hardlimit.com/w/7usCE3v2RrWK6nuoSr4NHJ
- Animats


Show HN: Free AI-Powered Resume and Cover Letter Maker
www.bange.io - 2 Comments

I can't find a privacy policy and it's free so...
- JackeJR


World War I dangers in France's red zones
www.atlasobscura.com - 7 Comments

Recommendation for anyone wanting to get into the gory, shocking details of WWI:

The podcast, Dan Carlin's A blueprint for Armageddon[1].

Over 24 hours on the topic, and I was left absolutely devastated by the descriptions of the impact and events of WWI. I guess I just didn't have a great appreciation or knowledge of WWI. At least for me, my grade school education was mostly focused on WWII and other more recent conflicts.

1 - https://www.dancarlin.com/product/hardcore-history-50-55-blu...
- geph2021


Show HN: I made a spaced repetition tool to master coding problems
www.lanki.xyz - 16 Comments

I feel like spaced repetition is exactly what you shouldn't do. Spaced repetition is great for rote memorization of arbitrary facts but programming is about how to think about and solve problems.

If you master the methods and ideas, you should be able to derive the answers on the spot. That's better than memorization because then you can actually deal with real interviewers who 1) Want to hear your train of thought and 2) Will give you random changes or variants to problems.

It's not about memorizing solutions, because in reality when are you ever going to reverse a linked list or balance a red-black tree? No, so if you're going to put in the effort anyway, you should learn the concepts and understand when to apply them so your knowledge is actually applicable. This will actually make you a better programmer, and you'll do better with the interviews that are actually good (I speak with experience giving interviews at FB).
- personjerry


Bun's New Crash Reporter
bun.sh - 21 Comments

So the argument for using this over a regular stack trace is that they don't have to ship megabytes of debug symbols. However they have seemingly just ignored the better option of only including function names in the debug table, which is obviously a much nicer option than having to use a web service to view you stack trace.

This isn't just a theoretical solution either, it's already implemented in LLVM: https://clang.llvm.org/docs/UsersManual.html#cmdoption-gline...
- LiamPowell


I'm creating PBR Textures and 3D models since 2018 and sharing them for free
www.sharetextures.com - 24 Comments

I've had my eye on this for a couple of months now because you guys are doing exactly what I'm doing when it comes to modular asset/utility development: putting it in the public domain, where it belongs.

I'm all for making money on specialization or convenience, but I really can't find it in myself to build a perfectly useful something and then only use it for myself unless someone else can pay for it. As long as it's fully modular, I just have to give it away for free. Some things - no matter how much work they took to make - are just not worth paying for. Or, at the very least, I would never pay for them. So rather than just keep everything to myself so I can use it the one time, I can't see any reason not to just make it entirely available to the public.

And, good god, I would be so embarrassed to see my name in the credits of something with a label like "provided image formatter", or something. So attribution is something that I really couldn't care less about. It's always a nice gesture, but some things just aren't worth attributing.

All of which is to say: I love your interest in releasing these things to the public domain, and I'm very eager to join you! I've worked in games since before the original THQ went under, and have been using Unreal for the last 6 years or so. I'd be happy to get into whatever process you guys are using, and provide assets to whatever specifications you enforce. I find the most important thing about assets is that they be uniform (so large-scale changes can all happen in the same way, per asset). So I'm happy to conform, just so I can make assets that will act well in-editor.

Unfortunately, I'm mired in some side-project dev work, and won't be able to work on games, or game assets, probably for the rest of the year. So I've got to put off helping until I can clear my plate some. But I have bookmarked you guys, and will follow up to see if you have any interest in additional help with this kind of work, as soon as I can!

Aside from all that, thanks again for providing this. It really is a useful and altruistic endeavor!
- catapart


Clang's -O0 output: branch displacement and size increase
maskray.me - 2 Comments

This reminds me of fasm, the only assembler immediately coming to mind that will do multi-pass branch optimisation by default. Most other assemblers either choose the long form always unless specified explicitly as "jmps" or "jmp short" (and then complain when the target turns out to be too far away), or the short form only if the destination is known when it's encountered (backwards jump).

I've long held the opinion that O0 on all the major compilers should be considered more like an O-1 because of the glaring stupidities it leaves in its output, which almost looks like it was pessimising instead of not optimising.

This article is also only the 2nd time I've seen "relaxation" used in this context. The first was https://news.ycombinator.com/item?id=10219007 over 8 years ago.
- userbinator


Searchformer: Beyond a* Better Planning with Transformers via Search Dynamics
github.com - 2 Comments

Ah, I remember reading this paper! Essentially, they created synthetic data by solving search problems using A*. Trained on this data, transformers unsurprisingly learned to solve these problems. They then improved their synthetic data by repeatedly solving a given problem many times with A*, and keeping only the shortest step solution. Transformers learned to be competitive with this improved search heuristic too!

Pretty remarkable stuff. Given the obsession over chat bots, folk often miss how revolutionary transformer sequence modeling is to...well, any sequence application that isn't a chat bot. Looking solely at speeding up scientific simulations by ~10x, it's a watershed moment for humanity. When you include the vast space of other applications, we're in for one wild ride, y'all.
- a_wild_dandan


IceCube observes seven potential tau neutrinos
phys.org - 19 Comments

The IceCube observatory is incredible: https://en.wikipedia.org/wiki/IceCube_Neutrino_Observatory

Incredible to image a square kilometer of pure ice transformed into a sensor to detect rare subatomic particles!
- wanderingstan


TIS-100: Tessellated Intelligence System
www.zachtronics.com - 4 Comments

Zachtronics is a contender for the greatest game studio you've never heard of.

If you're a fan of Factorio, you owe it to yourself to play SpaceChem, TIS-100, Shenzhen I/O, Opus Magnum, Exapunks, and Last Call BBS.

(In fact, since Factorio was inspired by a Minecraft mod, and since Zachtronics' Infiniminer was the direct inspiration for Minecraft, there's no Factorio without Zachtronics!)
- kibwen


Camus, Albert and the Anarchists (2007)
theanarchistlibrary.org - 7 Comments

Well, he met Gaston Leval, who wrote about CNT's economic successes within the Spanish civil war/revolution (primarily in the books called "Collectives in the Spanish Revolution" and "Collectives in Aragon"). Anyone who has read those accounts in good faith can not help but seriously consider those ideas as their own.
- anaccount342


Show HN: React for Circuits
github.com - 1 Comments

I initially laughed, but this is very cool actually. I love the pluggable/reusable 'component' registry idea.

Kudos, I'll check it out this weekend (or next... :)
- WaxProlix


Building an open data pipeline in 2024
blog.twingdata.com - 1 Comments

> And if you’re dealing with truly massive datasets you can take advantage of GPUs for your data jobs.

I don't think scale is the key deciding factor for whether GPUs are applicable for a given dataset.

I don't think this is a particularly insightful article. Read the first paragraph of the "Cost" section.
- RadiozRadioz


Relational Graph Convolutional Networks for Sentiment Analysis
arxiv.org -