HNHacker News
TopNewBestAskShowJobs

animal531

1,024 karma · joined July 27, 2015

submissionscomments
animal531··on Polymarket gamblers threaten to kill me over Iran missile story
Yeah, but unfortunately its probably going to keep going until people actually die before they will be stopped.
animal531··on Tell HN: AI tools are making me lose interest in CS fundamentals
The assumption here is that AI can produce "strong" work, when in reality its the opposite. Its great at generating boilerplate or code that's been done by everyone.

Instead do the opposite and give it a really hard problem that's scarce on searchable resources, something that you'll struggle to implement on your own. In general what you'll find is that it seems to implement something, but once you start digging you're just going to discover holes and mistakes all over.

You're the one who should be producing strong groundbreaking work, not the AI.

animal531··on Life as an OnlyFans 'chatter'
The sad thing about AI usage and the lack of jobs here in the poorer part of the world is that around the $6 mark per hour there would be literal queues of people forming to sign up for the job.

At about the $10-12 mark you'd be able to hire people with serious linguistic skills.

animal531··on We installed a single turnstile to feel secure
In the early 2000's I worked at a company where our IT section was in its own building with only about 18-24 or so people spread out over three mostly open plan areas between development, testing and infrastructure.

Even so we still had an incident where two guys walked in and just collected a few laptops before making their escape.

We like to think that we are hyper-vigilant and intelligent as human beings, but in general we tend to just focus on what is in front of us most of the time. We assume that when things are happening that they must be ordinary, or else why would they be happening?

animal531··on Writing code is cheap now
Yeah, I make sure to spend my time on the hard problems and where you need to design for the future. I use AI up to around method level after that, have it do the drudge work of typing up tedious text, or to complete required boilerplate etc.
animal531··on Writing code is cheap now
Here's an easy to understand example. I've been playing EvE Online and it has an API with which you can query the game to find information on its items and market (as well as several other unrelated things).

It seems like a prime example for which to use AI to quickly generate the code. You create the base project and give it the data structures and calls, and it quickly spits out a solution. Everything is great so far.

Then you want to implement some market trading, so you need to calculate opportunities from the market orders vs their buy/sell prices vs unit price vs orders per day etc. You add that to the AI spec and it easily creates a working solution for you. Unfortunately once you run it it takes about 24 hours to update, making it near worthless.

The code it created was very cheap, but also extremely problematic. It made no consideration for future usage, so everything from the data layer to the frontend has issues that you're going to be fighting against. Sure, you can refine the prompts to tell it to start modifying code, but soon you're going to be sitting with more dead code than actual useful lines, and it will trip up along the way with so many more issues that you will have to fix.

In the end it turns out that that code wasn't cheap at all and you needed to spend just as much time as you would have with "expensive code". Even worse, the end product is nearly still just as terrible as the starting product, so none of that investment gave any appreciable results.

animal531··on I started programming when I was 7. I'm 50 now and the thing I loved has changed
Funny, because I started programming when I was 8, and I'm 49 now.

But I'm still having a great time, it really just depends on what you're working on.

animal531··on Pretty soon, heat pumps will be able to store and distribute heat as needed
Where I live we need a way to store and distribute cold as needed.
animal531··on After two years of vibecoding, I'm back to writing by hand
The funniest thing I've seen GPT do was a while back when I had it try to implement ORCA (Optimal Reciprocal Collision Avoidance). It is a human made algorithm for entities where they just use their own and N neighbours' current radii along with their velocity to calculate mathematical lines into the future, so that they can avoid walking into each other.

It came very close to success, but there were 2 or 3 big show-stopping bugs such as it forgetting to update the spatial partitioning when the entities moved, so it would work at the start but then degrade over time.

It believed and got stuck on thinking that it must be the algorithm itself that was the problem, so at some point it just stuck a generic boids solution into the middle of the rest. To make it worse, it didn't even bother to use the spatial partitioning and they were just brute force looking at their neighbours.

Had this been a real system it might have made its way into production, which makes one think about the value of the AI code out there. As it was I pointed out that bit and asked about it, at which point it admitted that it was definitely a mistake and then it removed it.

I had previously implement my own version of the algorithm and it took me quite a bit of time, but during that I built up the mental code model and understood both the problem and solution by the end. In comparison it easily implemented it 10-30x faster than I did but would never have managed to complete the project on its own. Also if I hadn't previously implemented it myself and had just tried to have it do the heavy lifting then I wouldn't have understood enough of what it was doing to overcome its issues and get the code working properly.

animal531··on Scientists discover oldest poison, on 60k-year-old arrows
It's probably the same, for example in Afrikaans its just gif. Vergif is the verb action of doing it, and vergiftig the same past tense of it having happened previously.
animal531··on Humans May Be Able to Grow New Teeth Within Just 4 Years
You can do the same by just kissing a person with the right mouth biome.
animal531··on Unity's Mono problem: C# code runs slower than it should
>Sure, we could use Burst to speed up some strategic parts... the game would possibly not even exist at that point.

Yeah, the thing with Burst is that its a lot easier to work with if you start with it than having to replace/upgrade code later, especially if you're not familiar with it. A big issue is usually that you create structs with data and they're referencing other structs etc., all those need to be untangled to really make use of Burst. I myself am also a big C# fan, it is a lot easier than using C. Unity has a lot of issues but there's a reason its so widely adopted and used. (I myself am currently working on a Unity C# tool that I believe will speed up code development significantly).

Your game does sound as if its a VERY ripe target for Burst usage based on the elements that you describe, but the real question should be if you need it. For example if you're already running at 60 fps on whatever your mid target hardware is at whatever max + N% load/size for a game instance then you don't need it. But if you're only hitting 40fps and design-wise want to increase e.g. your map size by 2x then it might be something to look into. Also if you look at e.g. Factorio, they spend a LOT of time optimizing systems, but of course you first need to launch the game (which is and should be the priority).

If you have for example 25 systems (e.g. pathfinding, trains, pipes, etc.) and they're evenly balanced then as you say then you won't increase your game speed by 2x by just converting one of those. BUT if for example your pipes are being processed in 4ms per frame, so you instead adopt other strategies like only processing them every Nth frame or doing M pipes per frame; at that point using Burst to just get that 4ms down to 0.5ms might be a really worthwhile target to make your game play better. The same goes for all your systems where the upgrade will have a cumulative effect.

I highly suggest learning just the basics of Burst in your spare time and trying it out on something basic to get the feel of it. As with all code/libraries it'll unfortunately take some time to figure out how to effectively use it. Roughly speaking: - You don't have to have SOA data, but it helps. At the start just convert methods over 1 to 1. - You have to convert most C# container types to Burst ones, for example in struct Vehicle { Wheel[] wheels } you need to change Wheel[] over to NativeArray<Wheel>, and the Wheel struct itself also need to not use complex types etc. Other types such as NativeSpan are also very useful, instead of storing the wheels just use a ref Span to them instead. - After you have basics going you can try out SOA along with more math/less logic so that the code can be vectorized, once you see that big speedup for certain types of code it's hard to go back.

>Could you share some details about your custom thread pool that got 3x speedup? What was the speedup from? It is highly unlikely that a custom thread pool would have any significant impact on the benchmark in our case. As you can see from Figure 3, threaded tasks run for about 25% of the total time and even with Mono, all tasks are reasonably well balanced between threads. Threads utilization is surely over 90% (there is always slight inefficiency towards the end as threads are finishing up, but that's 100's of ms). An "oracle" thread pool could speed tings up by 10% of 25%, so that is not it.

My thread pool itself is pretty standard, it spins up some heavy threads and uses ManualResetEvent to trigger them. Its advantage lies in pre-registering simple Action (with/without parameters) calls to set methods that'll be called when the thread runs; and with more gaming related options for whether we're waiting on thread completion, interleaving them with other threads etc. A big plus is that it has a self-optimization function, so it'll self-adjust the thread count vs the total time runs take, the total # of amounts of items being processed for the given workload etc. so as to automatically find very good sizes for all those elements to use for the target computer, vs just assuming e.g. 32, 64 or 128 inner elements and launching the max available threads on the PC (as thread pools usually do).

>Vectorization could help too but majority of the code is not easily vectorizable. It's all kinds of workloads, loading data, deserialization, initialization of entities, map generation, precomputation of various things. I highly doubt that automatic vectorization from code generated by IL2CPP would bring more than 20% speedup here. The speedup from burst would mostly come from elimination of inefficient code generated by Mono's JIT, not from vectorization.

Yeah, if its startup/generating code that's mostly bypassed by loading a game then its not worth switching over. Do note that code compiled by Burst will in general be more optimized than Mono just due to better tooling, but in general its not worth moving over just for that due to the amount of work you need to do so. The real wins come in if some generating element that's done often is taking too long, or during gameplay where you can replace elements in the game that take e.g. N milliseconds to calculate every frame and drop those down to 1/10th - 1/100th of the time it used to take.

Good luck!

animal531··on Unity's Mono problem: C# code runs slower than it should
What I agree on is that if we had modern .NET available we'd get a free 2-3x improvement, it would definitely be great. BUT having said that, if you're into performance but unwilling to use the tools available then that's on you.

From the article it seems that you're using some form of threading to create things, but you don't really specify which and/or how.

The default C# implementations are usually quite poor performance wise, so if you used for example the default thread pool I can definitively say that I've achieved a 3x speedup over that by using my own thread pool implementation which would yield about the same 30s -> 12s reduction.

Burst threading/scheduling in general is also a lot better than the standard one, in general if I feed it a logic heavy method (so no vectorization) then I can beat it by a bit, but not close to the 3x of the normal thread pool.

But then if your generation is number heavy (vs logic) then having used Burst you could probably drop that calculation time down to 2-3 seconds (in the same as if you used Vector<256> numerics).

Finally you touch on GC, that's definitely a problem. The Mono variant has been upgraded by them over time, but C# remains C# which was never meant for gaming. Even if we had access to the modern one there would still be issues with it. As with all the other C# libraries etc., they never considered gaming a target where what we want is extremely fast access/latency with no hiccups. C# in the business world doesn't really care if it loses 16ms (or 160ms) here and there due to garbage, it's usually not a problem there.

Coding in Unity means having to go over every instance of allocation outside of startup and eliminating them, you mention API's that still need to allocate which I've never run into myself. Again modern isn't going to simply make those go away.

animal531··on Unity's Mono problem: C# code runs slower than it should
This part of your comment is wrong on many levels: "The Burst compiler/HPC# plays on every meme perpetuated by modern gamedev culture (structure-of-arrays, ECS), but performance wise, generally still falls short of competently, but naively written C++ or even sometimes .NET C#. (Though tbf, most naive CoreCLR C# code is like 70-80% the speed of hyper-optimized Burst)".

C++ code is much faster than C#, but modern C# has become a lot better with all the time that's been invested into it. But you can't just take a random bit of C code and think that it's going to be better than an optimized bit of C#, those days are long past.

Secondly, the whole point of Burst is that it enables vectorization, which means that if you've converted code to it and it's used properly that its going to support instructions up to 256 wide (from what I remember it doesn't use AVX512). That means that it's going to be significantly faster than standard C# (and C).

If the author is generating for example maps and it takes 80 seconds with Mono, then getting to between 10-30 seconds with Burst is easy to achieve just due to its thread usage. Once you then add in focused optimizations that make use of vectorization you can get that down to probably 4 odd seconds (the actual numbers really depend on what you're doing, if its a numerical calculation you can easily get to 80x improvement, but if there's a lot of logic being applied then you'll be stuck at e.g. 8x.

For the last point, new modern C# can't just magically apply vectorization everywhere, because developers intersperse far too much logic. It has a lot of libraries etc. that have become a lot more performant, but again you can't compare that directly to Burst. To compare to Burst you have to do a comparison with Numerics, etc.

animal531··on Big GPUs don't need big PCs
It's funny how ideas come and go. I made this very comment here on Hacker News probably 4-5 years ago and received a few down votes for it at the time (albeit that I was thinking of computers in general).

It would take a lot of work to make a GPU do current CPU type tasks, but it would be interesting to see how it changes parallelism and our approach to logic in code.

animal531··on The appropriate amount of effort is zero
Gary Player (an old golf player) once quipped that the more he practiced the luckier he got!
animal531··on 30 Year Anniversary of WarCraft II: Tides of Darkness
Yeah, I played a lot of StarCraft 2. By myself, 2v2 with a really talented friend and 3v3 with two other friends that were total beginners that I could beat 1v2.

At the bottom to upper mid level all you need to win is to figure out the macro game of building construction while also getting enough workers and units. With enough of that no micro is needed, just attack-moving into the enemy is more than enough.

Then at the upper mid level you're going to run into people who often don't build as effectively but they'll micro every unit or they'll be constantly doing raids when you don't expect it, scouting better than you and/or just understanding which units are better vs which so as to counter you.

From that point on it becomes much more of an effort to play the game because then you need to become better in all of those fields, while also becoming faster. But to be honest that point is probably 2/3rd's up the tree of all the people playing.

animal531··on MP resigns over allegations she duped South Africans to fight for Russia
Yeah, its a really weird situation.

For those who don't know the background, she's one of the favourite daughters of an ex-president under which corruption soared to new heights. He was really pro-Russia during his time, but eventually several criminal charges against him started piling so high that the ruling party decided that he had to be replaced. He got angry and left, formed is own party and was joined by family members and some other loyalists.

A lot of other events transpired, such as him being found guilty of several things for which he had to go to prison. He did briefly go in but it wasn't to his liking, so he started pressuring all his old friends. A nation-wide unrest then erupted with mobs burning and looting all over, which is another thing for which his daughter is currently being implicated in and will probably go to trial over.

It got so bad that eventually he was pretty much just released (because of medical reasons). After that they just swiped it under the rug as if it never happened.

So back to the Russian angle, he's gone there several times for medical reasons and maybe this was some kind of test run to see if they could get a large number of men over there to fight. But as OP says, if you have to trick people into slavery then the numbers just doesn't make any sense.

There are a lot of very poor people here in South Africa, just promising them land (even if it doesn't exist) probably means that they could raise 100k or so people pretty easily, BUT the actual government isn't going to like that he's doing big moves behind their back so it might have been a test run to see what exactly they could or could not do.

animal531··on 1,700-year-old Roman sarcophagus is unearthed in Budapest
There's a bit done by a comedian where they ask what the differences are between grave robbers and archaeologists, but basically it boils down to a question of time.
animal531··on Microsoft AI CEO pushes back against critics after recent Windows AI backlash
Windows has basically gone from

a. Click on a directory in my File Explorer and it opens immediately, it always shows the correct headers, sorting on any column is nearly instant (up until somewhere in XP probably)

b. Where I am now in Windows 10 sorting can take forever and because I haven't re-installed in ages it refuses to remember folder views and will constantly change them to whatever it wants

c. In the future saying

- "Winny, open folder ABC and sort it by DEF please"

- "Folder ABC deleted, except for def.txt"

- "NO, I said open it, not delete it! Get it back!"

- "Error, folder isn't recoverable"

animal531··on My stages of learning to be a socially normal person
I myself also tend to do that, but that is a behavior that is seen by the majority/"normal" people as non-social, unless if you already know them very well or if you are the one initiating the conversation.

Listening to people means that you actively listening and supporting them in their conversation, not bringing up your own angles to it. When you do that it is perceived by most people as you trying to one-up them in the conversation, instead of what you're actually doing.

In your listed example its fine because you started the interaction, but let's turn it around and say you walked into a conversation where people are talking about downtown in ABC. You want to participate and remember that there was a blizzard there in '96, so you bring that up.

Most people will see that as severe ADHD, why are we now talking about a blizzard from 1996? We were just talking about about how DEF is happening in ABC later this month?

Pivoting has the same problem, there are social cues that display your role in the group. Just walking into a conversation while trying to pivot it to your interests is in general quite rude etc.

animal531··on Goldman Sachs asks in biotech Report: Is curing patients a sustainable business? (2018)
I'm not sure I agree, when we humans only lived for 50 years there were no time to develop any range of other diseases that we are experiencing now in later life, so even if you cure A there will definitely be many many opportunities to treat anywhere from B-Z.
animal531··on Max Number of Simultaneous Key-Press (N-Key Rollover, NKRO, Ghosting) (2010)
And that was why games back in the day came with a little key-binding tool that helped you figure out what keys could be pressed together, or not.

Of course back then it was a different hardware interface and the problem was usually the buffer size, arrow/keypad keys had much longer codes and locked up a lot more often.

animal531··on My dad could still be alive, but he's not
I googled a bit and I'm not sure I would follow the new advice simply because it totally depends on getting help to you fast enough such that they can determine if its a heart attack or something else.

In the writer's case that help never came, so personally if I had to choose I'd rather go with the risk of guessing the symptoms wrong and making things some percentage worse vs a possible death.

animal531··on .NET MAUI is coming to Linux and the browser
I'm currently in the process of creating a piece of development software and needed a cross-platform GUI environment to do it with.

I first tried Maui because its seemingly so highly rated and recommended. It turned out to be a complete nightmare. Even just installing it didn't just work, I had to spend 2-3 hours just to get that going and then when trying some basic things for my UI it turned out to just not be supported.

The next on the list was AvaloniaUI and wow, it was the complete opposite experience. Installation was a breeze and with only a marginal bit of googling I managed to do all kinds of things such as making a top-most only borderless transparent window etc.

The interface in Visual Studio could be a bit better overall, but compared to Maui its light-years ahead.

animal531··on Hiring a developer as a small indie studio in 2025
For the game industry this is practically amazing.

Firstly, for 99% of appointments they usually don't care how good of a developer you are. You may have invented 10 new technologies and have revolutionized the field, if you can't show them a portfolio of games you have shipped then they don't care. They don't hire you for a developer/code role because you're a great developer, they hire you because you've shipped some games before (which is totally a different metric). For whatever reason the whole industry is stuck in this mentality, they can't differentiate between the metrics of appointing a great developer vs trying to find someone that can ship titles.

Asking for expected salary is a pretty quick way to filter because no one ever lists their requirement in their cv. If the job listing included their range then they might have gone with just assuming that the applicants would be within that range, but it doesn't hurt to check.

The test itself is quite easy and straightforward, if anything the real gotchas around it would be to stand out significantly from everyone else.

animal531··on Italian Pasta Is Poised to Disappear from American Grocery Shelves
Recently I saw this trend on Twitch where American streamers who are usually in their 20's or early 30's would say noodles instead of pasta, which struck me as somewhat strange.

It made me begin to wonder if they just use it for noodle shaped pasta, or if they've completely replaced all pasta with the name.

animal531··on I Am Mark Zuckerberg
I think mine is worse off. He keeps being signed up for Facebook notifications on whatever activity he's doing.
animal531··on Why I love my Boox Palma e-reader
Nice find, I'll add the name to my list.

I don't know about everyone else, but I find that I hate having to hold my e-reader. Also some years ago when I had 3 months of recovery time for a back operation I bought a tablet holder, which I have since attached to what is now my reading chair.

You can also now get some really nice magnetic y-shape arms that you rest on a table or surface (or wrap around something) that can hold a light e-reader magnetically without trouble.

animal531··on Paris had a moving sidewalk in 1900, and a Thomas Edison film captured it (2020)
Back in the heyday there was this idea of the arcology where a group of people had it with their government and made their own city-utopia which would rule itself.

Very often in those they featured technology like the staggered automated walkways for transporting people around, etc.

← PreviousPage 2 of 29Next →