HNHacker News
TopNewBestAskShowJobs

swaginator

35 karma · joined February 22, 2024

submissionscomments
swaginator··on Fallout1-ce: Fallout for modern operating systems
I got this working on my rooted Kindle Fire. Controls are better than I expected for touchscreen. This is really great!
swaginator··on Fallout1-ce: Fallout for modern operating systems
Not sure when you played it, but the "Final Cut" edition fixed a lot of the grammatical errors and also re-cast a lot of the voice actors. When I played it it was a very polished experience so I am willing to bet you played the old version.

Also the original creators have been forced out of the studio by scam artists. So if you want to buy the Final Cut edition, keep in mind that none of that money will go back to the people who worked on the game.

swaginator··on Show HN: Volume rendering 3D data in Three.js and GLSL
Oh man, this is awesome. I have been periodically checking the internet for something like this that I can hand off to an intern and get some visualization of data at work. I am definitely gonna be using this.

Also I love your videos. The internet is a smaller place than it seems.

swaginator··on How a Kalman filter works, in pictures
I just want to say this is such an excellent article that I have it bookmarked. It's good enough by itself that you can go and implement a Kalman filter in code after reading it. An EKF though... :/
swaginator··on Inversion of Control Containers and the Dependency Injection pattern (2004)
I agree with this. Read both of those books on the job during my first year. Fluent Python really takes you from "Python as a scripting language" to "Python as a functional language".

An example of why certain patterns aren't necessary in Python:

I have two types of repositories, one that wraps my API calls, and one that wraps an in-memory database for unit testing. A module called repos.py chooses which of these to instantiate when it is loaded based off an environment variable.

Because every module in Python is loaded once, every file/class that needs a repository for data access can import from repos.py and receive an instantiated repository object.

There is no need for dependency injection because the dependency can be imported from a module, and the module can be modified at runtime. This is extremely powerful too, since, so long as my in-memory repository and API repository have the same behavior, I can write a test suite that doubles as both unit tests and integration tests, all I need to do is change a single environment variable.

I think Java's limitation of "one class one file" and no support for first-class functions made design patterns necessary. Then you try out a language with some functional features and you're like "oh wait, that was just a workaround for what other languages have always been able to do".

← PreviousPage 2 of 2