HNHacker News
TopNewBestAskShowJobs

mikhmha

292 karma · joined September 8, 2021

https://github.com/mikhmha
submissionscomments
mikhmha··on My Friend Aaron
Great story! Loved reading it.

I also didn't see the notice it was a short story. So I was a bit puzzled when reading how Aaron built his own exchange as a novice programmer. To me building an exchange is high up on the scale of programming difficulty. Its one of those things you have to do extremely well or else no one will trust your platform.

mikhmha··on AI;DR (AI; Didn't Read)
Recently I've gotten lots of DM's from boutique marketing firms offering to promote the game i'm working on. I'm pretty sure they all find leads via scraping the Steam API. Many of these small firms are people in developing countries.

It's frustrating dealing with them since they all use AI in communications. Everything is written so flowery and with so much extra words. Any feedback I give is met with overwhelming praise about "how right I am". Its exhausting.

I understand many of them are in developing countries and aren't confident in their English skills. But I always tell them I'd rather they write in broken English to communicate their own ideas. I want to hear what they have to say, directly from their brain. I don't have issues with parsing bad english. Usually its straight and to the point.

They always end up defaulting back to AI messaging. Even when I tell them to be genuine. I'd love to give one of these firms a chance, but they fail this basic step. I think they think everyone in the developed world likes AI or something.

mikhmha··on Bluesky's active user base is shrinking as its focus expands beyond the app
There are too many bots on BlueSky. Atleast in the niche I post within (game development). There are lots of automated accounts out there meant to like, repost, and signal boost. I appreciate the gesture but when all your engagement comes from these accounts it’s frustrating. I don’t want retweets and likes, I want people to engage with what I post.

Bots are also an issue on twitter. But I get way more actual engagement there than I ever got on BlueSky. What gives? The most insidious bots are those that leave replies based on keywords in your post. It looks legitimate until you go to their profile and see they are cranking out replies every second to posts in a topic.

mikhmha··on Building a Blog with Elixir and Phoenix
Wow. I am so glad for this post because I am literally planning to do this today. I've been building an MMO using Elixir as the backend, and currently the main website is a static site a friend made for me using Vue.js. Mostly it just functions as a way to display blog posts that show new updates to the game. And it contains a button to "launch" the browser client for the game which is just a redirect to a page hosted on a cloudflare bucket that contains the game files.

But I figure now is the time to update the site. I don't know enough about Vue.js and I'm more of a backend programmer anyways. I've been putting it off for so long. I always figured the site would be temporary until I put in the time to learn some Pheonix. Its a bit strange being in the Elixir world working on a project that doesn't touch Phoenix in any way. To me its like an entirely new domain for a language that I consider myself "skilled" in. Whereas for others Elixir = Pheonix. So this write-up really helps remove the overwhelming feeling I've had about starting, because I don't need liveview or ecto or all the other stuff but most of the learning resources focus on that.

I'm kind of excited to start now. Eventually it will be a not-so static website that will maybe interface with some exposed endpoints running on the main game server so I can show stats like "live players" or a "live map" of the game on the main site. But for now it will remain completely isolated from the game server.

mikhmha··on Optimizing a lock-free ring buffer
Lock-free ring buffer is my favorite data structure. I remember implementing it in C++ and then using a legitimate implementation in the form of boost:SPSC for prod. The idea is so simple. And then I started thinking about designing some programming language or framework around the concept, only to then stumble upon the idea of "message passing" for concurrency. Which of course led me to learn about Erlang. And then I went down the Erlang rabbit hole. It might have been a mistake...I made more money doing C++.
mikhmha··on Goodbye to Sora
I tried using Sora for a month. Never paid for it. I tried many different ways of prompting and I was always underwhelmed by its output. The generation would also take so long and there was like a 50% chance it would fail due to content violations. I will say though that it was kind of addicting in a way. Just trying to crank the lever and see what would come out. But you'd always leave disappointed. It was a casino where the operator was losing money for every play.

I think OpenAI had a brief delusion that it could become some huge social networking app. The App was heavily modeled after TikTok..

mikhmha··on Ask HN: Who wants to be hired? (November 2025)
Location: Canada (Canadian Citizen)

Remote: Yes. Also open to hybrid and in-person

Willing to relocate: Yes.

Technologies: Elixir, C++, C, Node.js, Godot Game Engine, AWS

Résumé/CV: (resume): https://drive.google.com/file/d/1Zaa-fiZmRCSxHq30d-6mzguWUXj... (linkedin): https://www.linkedin.com/in/XXXXXX/ (available upon request)

Email: XXXXXXXXX (removed due to receiving spam)

Hey. I'm a software developer experienced in designing and building distributed systems. I've been working on a MMORPG that uses Elixir for the backend. This project has been done mostly out of self-interest and curiosity. Currently the game has some players and fans, with servers located across multiple regions.

Prior to this I was a backend developer at a financial services start-up that specialized in implementing payment solutions for non-profit companies. In this role I wore many different hats. I did Data Engineering work in the form of designing schemas and building PCI-compliant data pipelines for use in analytics (DynamoDB, AWS Lambda, AWS S3, AWS Athena). I also built out several integrations to different CRM + ERP platforms. Furthermore I was responsible for the company DevOps strategy and architected a multi-AWS account set-up + CI/CD pipeline for all company infrastructure deployments.

I'm open to any intermediate backend or fullstack developer roles. I have some interest in working within the games industry, so if you have any roles there, I would also be interested. Through my work on the MMORPG in elixir, I've gained considerable experience in designing and implementing AI-Actor architecture + Hierarchical Task Networks for autonomous agents. Technical interests include: low latency distributed systems, systems analysis, signal processing, and graphics programming.

mikhmha··on Valorant's 128-Tick Servers (2020)
Good point. Yeah I guess it wouldn't cut it for any fast-paced twitch shooter. Especially with a 120 update per second deadline. A non-deterministic GC pause could have disastorous effects, especially in a tense shootout. I don't know much about GC theory but the GC in BEAM is per process and heap-based? I'm not sure exactly what that entails, but can you not structure the main simulation process to take advantage of this fact?

I find myself interested in developing multi-player simulations with more flexible deadlines. My MMO runs at 10 ticks. And its not twitch-based. So the main simulation process can have pauses and it wouldn't have a big impact on gameplay. Though this has never occurred.

As long as: (tick process time) + (send update to clients) + (gc pause) < 100ms, everything is fine?. (My assumption).

Btw what does DOD mean? Is it Data on Demand? Since my game is persistent I can't reset arrays at some match end state. So I store things either in maps on the main server process or I store it in the dedicated client process state (can only be updated via server process).

mikhmha··on Valorant's 128-Tick Servers (2020)
In the case of Call of Duty: Black Ops 1. Thee matchmaking + leaderboards system was implemented by DemonWare (3rd party) in Erlang.

Erlang actually has good enough performance for many types of multiplayer games. Though you are correct that it may not cut it for fast paced twitch shooters. Well...I'm not exactly sure about that. You can offload lots of expensive physics computations to NIF's. In my game the most expensive computation is AI path-finding. Though this never occurs on the main simulation tick. Other processes run this on their own time.

mikhmha··on Valorant's 128-Tick Servers (2020)
I am currently doing this! Working on an MMO game server implemented in Elixir. It works AMAZING and you get so much extra observability and reliability features for FREE.

I don't know why its not more popular. Before I started the project, some people said that BeamVM would not cut it for performance. But this was not true. For many types of games, we are not doing expensive computation on each tick. Rather its just checking rules for interactions between clients and some quick AABB + visibility checks.

mikhmha··on Old Stockholm Telephone Tower
As someone obsessed with Networking and Networking Topology I am so so fascinated by analog telephone networks. Just the idea of long-distance connections being made via physical wires connecting at switches by human operators feels so raw. I can't even imagine such a thing. When I was younger analog telephone was being phased out. I still remember my dad having to go buy calling cards at convenience stores so he could make long distance calls back home. And then one day there were no more calling cards.

I can imagine lots of lessons learned from telephone networking helped shape ideas around computer network design.

mikhmha··on OpenAI and Nvidia announce partnership to deploy 10GW of Nvidia systems
I don't care for personalities. You want to mark him as a grifter but is that just an emotional response? I have not bought anything from Ed, I don't subscribe to his newsletter, I don't know much about him beyond visiting his website every few weeks and reading the free articles. He does not sell me vitality pills or coffee mugs. The only soliciting he does is his paid sub stack.

But it goes both ways? Because AI promoters are also spreading FUD. That's how they make money. Because their livelihoods are tied to this technology and all the valuations. So is spreading FUD for you just a condition on whether or not you agree with the person?

mikhmha··on OpenAI and Nvidia announce partnership to deploy 10GW of Nvidia systems
There is no indication of being in a bubble when you're actually in one. Its only after the bubble pops do people recognize it in hindsight. Otherwise there would be no bubbles and we wouldn't see large institutions fall for this crap.

What is a credible indication? Who is credible? Its all subjective. Its possible to fool yourself endlessly when financial incentives are involved. The banks did it with mortgages.

mikhmha··on OpenAI and Nvidia announce partnership to deploy 10GW of Nvidia systems
Its not a good argument against him. I read his articles and he is absolutely correct about the state of things. Predicting the crash is a fools errand. I don't use that as a argument to discredit what he actually writes regarding the raw economics of the AI industry.

I say this as someone who has been holding NVDA stock since 2016 and can cash out for a large sum of money. To me its all theoretical money until I actually sell. I don't factor it into financial planning.

You don't see me being a cheerleader for NVDA. Even though I stand to gain a lot. I will still tell you that the current price is way too high and Jensen Huang has gotten high off his own supply and "celebrity status".

After all, we all can't buy NVDA stock and get rich off it. Is it truly possible for all 30,000+ NVDA employees to become multi-millionaires overnight? That's not how capitalism works.

mikhmha··on Ask HN: Has anyone else been unemployed for over two years?
I'm hitting 2 years of unemployment in a month. Its somewhat intentional, the day after I became unemployed (I quit) I started to learn Elixir and began work on building a MMO-type game (this was unplanned). Why? Because I like distributed systems programming. I didn't expect to still be working on it 2 years later. Honestly there was no plan or expectation. I got sucked into this project and it was better than having to look for a job. Its fulfilling and intellectually stimulating. The game has public playtests and I have some interested players.

But now I'm hitting 2 years and the money is starting to dry up so I need to find work again. I always thought working on this type of project would be a win-win for finding work again, but it hasn't helped much. It may even be a hinderance. Employers/Recruiters don't take it seriously or see it as some exotic work experience. I try to tell them - Distributed Systems...the concepts are the same wherever you go. No dice. I'm on the younger side and have 3 years of professional experience at a payments startup doing backend + devops + AWS. Sometimes I wonder if I screwed myself out of the job market. I'm seen as a Junior Dev with a 2 year work experience gap.

I cope by staying in shape. I have a good routine and I even got into swimming over the past year! I think if it wasn't for these activities I would've fell into despair some time ago.

mikhmha··on How do I get into the game industry
My game is both "small" and "large" in scope at the same time. Its large in the sense that its a Multiplayer Online Game. But the scope of the gameplay is rather limited. I'm not trying to make a full-out MMORPG with all the content expected of one. And that was never my intention. Its an MMO in the sense that the server architecture can support a lot of players and AI units in the world.

Yet I feel like I get wrongly misjudged as a delusional person trying to make a full-out MMORPG. No my game doesn't have a focus on questing, professions, or theme-park areas and raids. People in this industry are too quick to Pidgeon-hole you into existing game genres when you may be trying to do something new entirely.

I have a playable demo, some interested players who provide feedback in discord, etc. The game mechanics started simple but have gotten more complex with each update. A lot of work is spent in improving the AI and making them behave "smartly". I pay for server hosting and manage the servers. Its just me. But it feels like I don't even get my resume looked at when I'm applying to jobs in the industry. Because I don't have any prior experience?

mikhmha··on How do I get into the game industry
I'm finding that dedicating yourself to working on your own game can be a detriment to finding an actual job in the industry? It feels like employers are wary about your intentions and whether or not you will stick around.

Employers also don't seem to take home-grown experience seriously? Even if you know more about the niche side of things like networking, graphics, AI programming. If you don't have exact experience in whatever tools/framework they use (UE blueprints, Unity, etc), they think you won't be a good fit. Even though tools are just tools and concepts are more important.

mikhmha··on The new skill in AI is not prompting, it's context engineering
It is total quackery. When you zoom out in these discussions you begin to see how the AI yappers and their methodology is just modern-day alchemy with its own jargon and "esoteric" techniques.
mikhmha··on Ask HN: What are you working on? (May 2025)
Continuing to work on my MMORPG made with Elixir and Godot. The game has been live for 2 months but there's still lots to do. A lot of the architecture revolves around the AI simulation run in Elixir. I started working on this game after quitting my job on a whim (18 months ago!). I've started to get some daily players which is exciting.

https://swarmmo.games The game is playable in browser! And theres no sign-up required to try it out.

mikhmha··on Will AI systems perform poorly due to AI-generated material in training data?
Right? I've never associated "double-spacer" with boomer. Maybe anally retentive? Someone who is trying too hard? The only thing I associate with boomers is ALL-CAPS writing. Which I assume is a holdover from typewriter days. But I kind of like ALL CAPS. It conveys some level of importance to the message.
mikhmha··on Patterns for Building Realtime Features
Wow, this sounds like how the AI simulation for my multiplayer game works. Each AI agent has a view of the world and can make local steering decisions to avoid other agents and self preservation. Agents carry out low-level goals that are given to them by squad leaders. A squad leader receives high level "world" objectives from a commander. High-level objectives are broken down into low level objectives distributed among squad units based on their attributes and preferences.
mikhmha··on String of recent killings linked to Bay Area 'Zizians'
So did Fyodor Dostoevsky.
mikhmha··on Ask HN: What skills do you want to develop or improve in 2025?
Swimming! I started going 2x a week. I took lessons as a kid but hated it due to a fear of water after a traumatic experience in the deep-end. I don't have that fear anymore and I really enjoy it now. I can tread water! And I can float! The mechanics of swimming and floating make a lot of sense to me now. Now I'm swimming laps to find a technique that lets me swim the longest for the least amount of energy. Mostly I copy the techniques of older folks who are also swimming laps in the lanes next to me. lol.

I figure if the game I'm working on doesn't pan out then I'll go become a sailor or something. I think thats what I'm training for, potential career change.

mikhmha··on Mistakes as a new manager
What are you supposed to do when your manager has terrible and/or selective memory? My last manager would assign me work and then promptly forget half the time what he assigned me. It was bizarre. Sometimes it worked in my favour because I would do something he assigned me - then show him - and then he would sing praises for my "self initiative" and creativity. Like dude, you told me to do this. Of course this sort of amnesia will eventually come back to bite you when you are yelled at because "why are you working on Y?? you should be working on Z!!". Dude you told me to work on "Y" two days ago.

I never understood whose blame the poor memory falls on? In my opinion it was on him to stay organized - something he never made an effort to do. Others would say it was on me to communicate to him what he told me. I don't get paid enough to be his executive assistant. And I don't see the point in communicating better if he would just forget again.

Other times his memory was bizzare. Like he would remember some off comment I'd made to him in a 1-on-1 and then use it as a way to butter me up or appeal to me. I once mentioned to him I follow news in the "programming space" (aka reading this website). And he seemed to remember this whenever he needed to appeal to me to look into some new platform feature clients were requesting. "You read a lot about this stuff right??? Take a look into PDF generation using this library. You read a lot about this stuff right??" I think he thought he was juicing up my ego with this. So bizzare.

Of course its the same manager who did the fundamental sin of complaining downwards to me, and about my peers whenever one of them messed up. Dude you're the CTO. If you can't maintain face then I will lose all confidence in your ability.

OK I'm going to stop venting about my last boss now. Sorry!

mikhmha··on Don't let dicts spoil your code
Yup! I find Elixir makes it really intuitive to know when to represent a collection as a map and when to use a list of tuples. And its easy to transform between the two when needed.
mikhmha··on Ask HN: What's the "best" book you've ever read?
I read it this year. I loved it. I think if I read it a few years earlier it would be totally lost on me.

For my self what I found interesting is the depiction of Russia in the 19th century, and the on-going transition from a peasant agrarian society into "modernity" and all the confusion it creates. I am not Russian, yet it all seemed so familiar to me. Why? Because I think this same transition is going on in my ethnic country - though 200 years later. Because the archetypes of people shown, the attitudes among former aristocrats and landowners, inefficient (and unserious) bureaucracy, conflicting ideas about religion vs secularism, inferiority complex towards "modernism", changing views of women's role in society, etc I've seen all the same things.

And of course, the book finally convinced me that I should not give into nihilism and pessimism even when everyone around me does.

mikhmha··on Dance training superior to physical exercise in inducing brain plasticity (2018)
A bit unrelated to the main topic but whenever I exceed a certain threshold of smoking cannabis (>0.3g) it seems to induce some automatic rhythmic movement in me. If there's music playing I can tune into the rhythm of the music. If there's no music, I will move around a lot while twisting my limbs, stretching my arms, holding positions and breathing, in various rhythmic and also strange ways. Some people have described it resembling a form of yoga or tai-chi. Whatever it is, it feels like a benefit? I've noticed my posture has improved and in the gym my numbers have also gone up despite 0 diet changes. Its like a full body stretch that activates all these minor muscles in my body.

I don't know - whenever I think about quitting this "bad" habit, I remember that it would just be replaced by sitting around looking at my phone. Being put into this physical trance by a drug has to be infinitely more healthy than that right? I trade one addiction for another.

mikhmha··on FDA approves a novel drug for schizophrenia
I see this take on the internet a lot usually combined with some statement of how Schizophrenics are secret geniuses and were the prophets of olden times. It just doesn't square off with my own observations of schizophrenics in real life. How is the condition subjective when you see the same types of symptoms across people? I've seen it with men and women afflicted by the condition - always the persecutory delusions, belief that they are some king or prophet/chosen one, disorganized thinking, and word salads. Why is it always the same symptoms? You're telling me that's not rooted in any common condition?
mikhmha··on Typing lists and tuples in Elixir
I don't understand the reasoning? I've been working on an MMORPG game since quitting my job - and I settled on using Elixir for this project despite never using it before. I have a good understanding of distributed systems, and the features/tooling Erlang & Elixir provided were like a dream for me. Initially I thought I'd just try making some proof of concept thing. Fast forward several months later, and I seriously credit Elixir for how far I've gotten with this game. Most of my time is spent writing server-side gameplay code, not tracking down obscure networking & memory bugs. Its even caught cascading bugs caused by gameplay system interactions - when players and a.i were being (wrongly) resurrected from the dead the system just crashed! When 500 a.i agents doing pathfinding every single tick was starting to make the a.i system lag and delay inputs - it was trivial to understand the bottleneck causing the system to degrade. I can go on and on.
mikhmha··on PUBG developer Krafton make a life simulation game inzoi
This is 100% Built on some GTAV source code right?? I don't care if the answer is yes. I think thats kind of sick. But you're seeing it too right?
Page 1 of 3Next →