HNHacker News
TopNewBestAskShowJobs

HiPhish

749 karma · joined June 29, 2025

submissionscomments
HiPhish··on Dusklight – GC Twilight Princess Decompiled
Great for the people who like Twilight Princess, I guess. Personally, I have very mixed feelings about Twilight Princess. I remember the years long hype since its first announcement, I remember the hype around the Wii launch. This was the first game I bought for the Wii. I remember being blown away by it, thinking it was totally worth the wait.

But as time went on I came to realize that it was a hot mess to the point where I had to force myself to finish it. The gameplay itself was fine, as with most Nintendo games, but the content was a hodgepodge of parts that did not fit together. The story was building up this grand mystery with an all new villain, but then none of it went anywhere and halfway through the game the developers just threw in the towel and went "lol, it's Ganondorf again, to save the princess".

The items were mostly just "keys" used for very specific situations and just server to overcome obstacles which were specifically crafted to give those items a purpose (the spinning top being the worst offender).

The wolf mechanic was not really worth using, it was just a worse gameplay experience, so the wolf form was something just to be used when it was forced upon the player. You enter an area, it's all twilight and you turn into a wolf, then you go and collect all the light bugs, turn the area back to normal, and then you can finally play the game proper.

The game was aiming for a more realistic and gritty style after the backlash from Wind Waker, which is what many people wanted. But then they put all those goofy disproportionate character models in the game. It's as if Nintendo really wanted to make a new Wind Waker, but then reskinned the models with realistic and gritty textures. The end result is worse than if they had just made another Wind Waker style game. (and I did not even mind Wind Waker personally, but I do get where people are coming from)

The almost-open world design looked cool the first time around, but the world was just empty. There was hardly anything interesting to do. The same for the dungeons. There are no real puzzles that make you think in the game either, it's just gimmicks and chores.

I think this was the last time I gaslighted myself into liking a game. I had paid 250€ plus 60 € for that game, so of course it had to be good. It wasn't, but it took time to admit it. Since then I have taken a more critical stance towards video games: if it's not fun there is no point in forcing myself through it, I'll just drop it and eat the loss. It's better to wast money than waste both time and money.

Is Twilight Princess a bad game? Not really, there are worse offenders. If you have nothing better it's serviceable, but it just makes me want to play another game. Is it the worst Zelda? No, at least not for me; that time goes to Spirit Tracks, the game that irreparably made me give up on future Zelda forever.

HiPhish··on I found a seashell in the middle of the desert
Are you sure that's a fossil and not just a rook that happens to look kinda like a snail's shell?
HiPhish··on Moving away from Tailwind, and learning to structure my CSS
Even with components I prefer what Astro is doing: the component can have a `<style>` tag in which I can add my own CSS. When building the website Astro will know how to transform the CSS so it only applies to that component. This way markup and presentation remain separate even if they are within the same source file.

https://docs.astro.build/en/guides/styling/

HiPhish··on Moving away from Tailwind, and learning to structure my CSS
I just want to point out that you can use Tailwind inside your CSS with the `@apply` directive (not to be confused with the since abandoned CSS `@apply` rule). You write your CSS and mix in Tailwind instructions where it makes sense. Example:

    @import 'tailwindcss';
    
    p {
     @apply text-justify;
     @apply bg-slate-300 dark:bg-slate-800;  /* Second rule just for colors */
     display: block;  /* regular CSS */
    }
I used to be a big Tailwind hater because putting all those utility classes as inline styling into my HTML is a crime against nature. But this way I get the best of both worlds. Tailwind is really nice as higher-level building blocks and saves me from writing a bunch of media queries.
HiPhish··on Fecal transplants for autism deliver success in clinical trials (2019)
> and all of the diabetes.

Can you elaborate please? Type 1 or type 2? If type 1, does that mean your body can now produce insulin on its own? If type 2, does that mean the insulin sensitivity of your cells is now back to normal levels and you could eat sugary food without issues?

HiPhish··on Leaving GitHub for Forgejo
> Git is decentralized, GitHub is just another place you can host your code in, but you can push your code to multiple remote servers.

That's precisely what I have been doing for years, I still get to keep one foot in the GitHub ecosystem. I still get most contributions on GitHub, and that's fine by me. When a PR comes it I check it out locally, review it, and when it's done I merge locally to master, push to origin, and then origin pushes to GitHub which then automatically closes the PR and gives the author attribution. I never actually have to interact with GitHub after the initial pull.

HiPhish··on Leaving GitHub for Forgejo
> While I'm not forgetting the spirit of what Git is, I'm also remembering how GitHub used "all open repositories" to train their first Copilot without telling anyone.

As long as your code is out in the open anywhere the slop factories can train their models at it, regardless of whether it's on GitHub or your private server. So you might as well keep using GitHub at least as a gratis mirror. My reasoning is that if I'm going to be milked anyway I might as well freeload off GitHub.

HiPhish··on Linux gaming is faster because Windows APIs are becoming Linux kernel features
Regarding mod managers, there is Limo[1] for Linux. I used it for Viva New Vegas[2], but some mods do not seem to work. I don't know if it's due to Limo or if I did something wrong though.

[1] https://github.com/limo-app/limo

[2] https://vivanewvegas.moddinglinked.com/

HiPhish··on Linux gaming is faster because Windows APIs are becoming Linux kernel features
Have you considered using OverlayFS[1] instead of installing all files into the game directory and tracking them with a database? Or maybe what GNU Stow is doing where it installs each package into its own directory and then uses symlinks which it tracks to "install" the files into the global file hierarchy?

[1] https://en.wikipedia.org/wiki/OverlayFS

[2] https://www.gnu.org/software/stow/

HiPhish··on I hate soldering
I love soldering, even though my skill ceiling is SMD components. There is something almost spiritual and humbling about soldering because you cannot force your will onto the solder, you have to listen to what the solder wants to do and work with it, not against it.

When I first tried my hand at soldering I was using the "butter knife" method: apply solder to the iron, then try to smear it onto the wire like spreading butter with a butter knife. Of course the solder would never stick to where I wanted it to go. I had to learn that solder goes to where the heat is, so I instead had to heat the components or wires instead and then feed the solder onto the hot components. I also had to learn that a soldering iron is not a pencil, sometimes even when doing small parts you want to use the large tip. Don't try to tell the solder where to go, instead apply a big blog and watch it snap into place on its own.

Last year I installed an HDMI mod[1] into my Wii, this has been so far the hardest project. It took me many attempts to get it right, mainly because I was working against the solder instead of with it. But now that I have succeeded I could easily do it over and over again (not keen on the disassembly and reassembly of the console though).

EDIT: while I'm at it I might as well mention the iron I was using: the Pinecil[2]. It's a really neat and fast soldering iron at a very cheap price. Great for people like me who don't want hardware store cheap garbage, but also cannot justify buying an entire soldering station.

[1] https://electron-shepherd.com/collections/kits-mods/products... [2] https://pine64.com/product/pinecil-smart-mini-portable-solde...

HiPhish··on Maladaptive Frugality
I think in the case of pathological frugality the spreadsheet approach could make things even worse. A whole 20% spent on enjoyment? I bet I could drive it down to 15%, maybe 10%. In fact, do I really need these things? Why not go down to 0%, maybe 5% once every few months. After all, I might need that money in the future.
HiPhish··on Olive CSS: Lisp powered vanilla CSS utility-Class A la Tailwind
> That's not what it says.

That's exactly what it says. There is a big fat in that row as if Tailwind were not Free Software because it is not Copyleft. If he wanted to point that out he could have used a separate row and written " (not copyleft though)" or something like that.

HiPhish··on Olive CSS: Lisp powered vanilla CSS utility-Class A la Tailwind
> written in Lisp (Guile Scheme)

Doomed to obscurity. Look, I love Lisp like any other Lisper, but there is no proper Guile (let alone general Scheme) package manager, which means any Guile project will be be an uphill battle to maintain dependencies in. Oh well, at least it has a code of conduct, that has to count for something I guess?

The fact of the matter is that there is just too much good stuff for the frontend in the NPM ecosystem, so you are going to depend on it sooner or later anyway unless you have a really simple website. So you might as well depend on it fully. I'm in the process of migrating my website from my own home-made static site generator (written in Common Lisp) to Astro for that very reason. The NPM ecosystem is a leaning tower of hacks on top of hacks and adapters for adapters, but it gets the job done.

EDIT: I should also point out that on the frontend just making something work is not enough. There is all sorts of dark magic like bundling, minimizing and tree-shaking that you'll have to implement yourself. You can try if you want, but the tools in the NPM ecosystem already do all of that. Have fun re-inventing all of that, but I'm out.

HiPhish··on I learned Unity the wrong way
It takes a lot of humility and strength to admit this. Kudos to the author.

I was similar to that in the past, chasing tutorials and only having half-baked knowledge. What shook me out of that was this article: https://fabiensanglard.net/c/

    I'm going to start with the things I didn't take too seriously: Internet tutorials, blogs and almost anything brought by Google (yes, it includes this article). I usually considered those sources unreliable and potentially harmful.

    Like a lot of people in the industry I used to Google way too often. Overtime I found the illusion of speed and the inaccuracy of the answers to be counter-productive.
    
    No website is as good as a good book. And no good book is as good as a disassembly output.
This set me straight and got me to look into actual authoritative sources. Instead of tutorials read a proper book. Don't scrape StackOverflow, read the reference documentation. Learn to write automated tests instead of randomly poking around in the application. The thing is, I did not even intend to learn C, but after reading that article and other articles on that website I accepted that if I want to get good at programming I should start with the fundamentals, and C was a good starting point. It was the first language I actually learned properly.
HiPhish··on Swiss authorities want to reduce dependency on Microsoft
Excel is the most widely used document format, database, software runtime, GUI framework and note taking app. It gives Emacs a run for its money in how much you can abuse and overuse one application.
HiPhish··on Isaac Asimov: The Last Question (1956)
It's a long-standing jodke that AI stands for "Actual Indians".
HiPhish··on One ant for $220: The new frontier of wildlife trafficking
We are talking about 220$ for a single ant. If you want to keep an ant colony why not just buy one of the cheaper ones instead?
HiPhish··on One ant for $220: The new frontier of wildlife trafficking
OK, but why? They are ants, they don't do anything useful as pets, you cannot play with them and you cannot observe them build their giant mounds in a glorified aquarium.
HiPhish··on LÖVE: 2D Game Framework for Lua
Sometimes I feel like I'm the only person in the world who does not care about zero-indexed VS one-indexed. It's just the way Lua is, no big deal. Then again, I don't care about significant whitespace either. Maybe I'm just weird.
HiPhish··on LÖVE: 2D Game Framework for Lua
> There is nothing stopping you from doing someArray[0] = "the first item", you know.

Yes, there is:

    local l = {[0] = 'a', [1] = 'b', [2] = 'c'}
    for i, c in ipairs(l) do
        print(i, c)
    end
This will only print the last two pairs. Lua is 1-indexed, end of story. You can store values at index zero, but it's no different than storing values at index -1 or index 'lolrofl'. It does not exist in the array-part of the table as far as Lua is concerned.
HiPhish··on Scientists Figured Out How Eels Reproduce (2022)
I find it very hard to believe that people in the middle ages (or before or after) looked at birds and actually thought that they really spawned from trees or barnacles. After all, birds can fly, you observe large flocks of birds in the sky right before they vanish, you know that there are warmer regions in the south, so it's not a big stretch to imagine that birds could perhaps migrate southwards. You cannot prove it, but it's a good enough guess.

I think illustrations or stories from the middle ages are to be taken as symbolic or allegorical rather than factual like a biology book would be today. They wrote down a story not because they necessarily believed it be factually true, but because it taught a different kind of truth. For example, no one has ever believed that Red Riding Hood actually happened or that you can cut open a wolf's stomach to pull out a living person.

HiPhish··on Ninja is a small build system with a focus on speed
I'm afraid I still don't understand. One factor is having fewer features and not looking for obsolete files, that I can understand. I guess the other thing is using better rules to figure out when a file truly need to be rebuilt?
HiPhish··on Ninja is a small build system with a focus on speed
Serious question: how can a build tool be fast or slow? From my understanding all it does is delegate the build steps to other tools, so wouldn't those be the bottleneck? Is it the resolution of order of build steps that takes so much time that a different build system can make a difference?
HiPhish··on A laser-based process that enables adhesive-free paper packaging
The problem with these staple-less staplers is that they permanently damage the paper. With a regular staple there are two tiny holes and that's it. You can bend open the staple to get back your individual sheets (e.g. to scan a particular page) and if you want to put them back together you can push the same staple or a fresh one back through the existing holes and bend it close.

You can repeat the process as many times as you want and there won't be any new damage to the paper. With a paperless stapler you would have to do new damage to the paper each time. Also, a regular staple is pretty much forever while these crimped folds can eventually come loose again.

HiPhish··on Google just gave Sundar Pichai a $692M pay package
I'd do it for free, just for the lulz.
HiPhish··on Stop Killing Games update says EU petition advances
I think Stop Killing Games is more important than just "oh noes, they took my toys away". Looking back, video games have been the gateway to computing in more than one one way. Before home computers people had game consoles (which were cheaper than computers) or arcades. Before iTunes and app stores there was Steam. Before the modern smartphone apps there were Wii channels. Maybe in some cases the games came technically later, but they were the initial contact for the broad masses.

What I'm getting at is that it has usually been through games that practices in general computing have been established. If Stop Killing Games is successful it will have much bigger effects on general computing. And I believe that this is why you keep the same false accusations getting repeated over and over again (e.g. saying that SKG would require publishers to keep supporting a game forever). I know it's said not to attribute to malice that which can be adequately explained by stupidity, but at some point the pattern becomes too clear not to notice. All of big tech stands to lose eventually if SKG succeeds.

HiPhish··on EDuke32 – Duke Nukem 3D (Open-Source)
> Open-Source

It's not Open Source, it's source available because of the Build license: https://www.eduke32.com/buildlic.txt

> [2] Any derivative works based on my Build source may be distributed ONLY through the INTERNET.

> [3] Distribution of any derivative works MUST be done completely FREE of charge - no commercial exploitation whatsoever.

> [5] The use of the Build Engine for commercial purposes will require an appropriate license arrangement with me. Contact information is on my web site.

HiPhish··on Fluorite – A console-grade game engine fully integrated with Flutter
Backup cameras are great for people who wear glasses. My visual cone is narrower, so I effectively have to turn my head 180° to see accurately enough, otherwise it's just a blur.
HiPhish··on Amazon Ring's lost dog ad sparks backlash amid fears of mass surveillance
> porch pirates

It absolutely boggles my mind that it's legal in the US for a deliverer to just leave a package out in the open for anyone to pick up and consider it "delivered". Might as well just throw it out of the window of your car, it has the same chance of getting picked up by the recipient. Where I live the package has to be handed over to the recipient. If the recipient is not available it will be handed over to a neighbour and this will be noted on a little card that's placed in the recipient's mail box. If that is not possible it will be taken back to the mail office and the recipient can pick it up in person.

Adding video surveillance is no solution. OK, so you saw a random stranger pick up your package. Now what? What are you going to do with that information? Are the police going to start a manhunt because of your 50$ Amazon order?

HiPhish··on Amazon Ring's lost dog ad sparks backlash amid fears of mass surveillance
How about ROT13? Ideally applied twice for twice the encryption.
← PreviousPage 2 of 5Next →