HNHacker News
TopNewBestAskShowJobs

OhSoHumble

867 karma · joined January 13, 2014

[ my public key: https://keybase.io/howdoicomputer; my proof: https://keybase.io/howdoicomputer/sigs/4HJHhCY9S-_JFtzU55GvewX0AFq2uDE7V3joxIIz4dU ]
submissionscomments
OhSoHumble··on The Sound Proof Booths of Silence
Dota players have ears that are trained for keywords. For example, the game has a minimap. Players can buy items to keep the minimap revealed and to see the movement of enemy players. The enemy team can buy an item to make it so that they aren't revealed on the minimap while they move around. This is known as "smoking" - as the item is a smoke that explodes over the team before they make their movement.

If a caster yells out "they're smoking" and the entire audience hushes in anticipation then one team knows that the other is trying to make a play and can either group up or avoid the fight.

The International is a tournament where the prevailing team wins millions and millions of dollars. Sound isolation is really important to provide an even playing field.

OhSoHumble··on Layoffs.fyi
I'm at one the companies that issued layoffs. It was dictated by VCs that there had to be a significant reduction in cost before they gave out additional funding.
OhSoHumble··on Nixhub: Search Historical Versions of Nix Packages
> I would suggest instead that there are no legitimate reasons, and that businesses who are requiring old software are at best being negligent.

1. Backwards incompatible schema changes for data that the software works with which requires a migration path. The version for that software needs to be locked until that migration is complete.

2. A functionality regression in the software. The version needs to be locked until that patch lands.

3. A security vulnerability can be introduced with new features. The version needs to be locked until that security issue is patched out.

You can't just yolo to the latest version of software every time it drops.

OhSoHumble··on Urgent: Sign the petition now
The sharks are in the water and there is a lot of disdain for wealthy tech CEOs. The current public perception is that all of Silicon Valley is either mustache twirling Peter Thiels or tech bros who collect millions trying to create the next Uber for dogs.

The vitriol for those archetypes will override any empathy for the victims from knock-on effects and lower level, poorer employees that will impacted by this. If that empathy was ever there to begin with, I guess. I personally believe that people want to hate the rich more than they want to empathize with the poor.

Personally, I can do without the DoorDashes of the world... but startups collectively employ A LOT of people and not all of them are wealthy, senior engineers. When the wealthy sneeze, the poor tend to catch pneumonia.

OhSoHumble··on Nix-Powered Development with OCaml
I'm hesitant to write this as I don't know if you'll see it but I feel like what I have to say is different to the opinions that have been voiced so far. I will only answer for point number one.

I personally feel that Nix documentation and community blog posts sits on a gradient of theological meanderings about functional purity to actual praxis.

For one, I'm a systems engineer. What drew me to Nix was that I wanted a next-gen Ansible. A piece of software that can be used to reproduce a hosts OS state in an immutable way. For now, my homelab and laptop is all NixOS driven. I use deploy-rs and flakes to configure hosts. I can code but am not really a software engineer by trade. This is where I'm coming from.

Within the context of my established skills, Nix's documentation is awful. There were/are actions I want to accomplish that sit outside of the paradigm of Nix and when I try to accomplish those actions I feel lost.

For example, my main homelab machine has a Nomad server installed. The default Nomad package from Nix packages just installs the binary. So I needed to handle creating its data directory, its configuration, and laying down a systemd unit file. Where I got stuck was creating the data directory. I could accomplish the systemd configuration and the configuration file easily enough but I don't know how to create a directory outside of a derivation. I also don't know if a derivation is even needed.

But I also don't really know how to fit a derivation in my current flake setup so that it's processed when I change host state. I ended up solving the problem by having systemd manage a StateDirectory and creating the unit file/Nomad conf in configuration.nix for the machine. I also don't known if a derivation would even be what's needed. Do I use an overlay to extend the Nomad package? Can I ad-hoc create directories and then shove that into a module?

My point being is that system administrators, network engineers, release engineers, etc are all different types of engineers that would be interested in Nix... but they are NOT functional programming enthusiasts. I think Nix gets attention from a lot of people who are comfortable with Linux, package management, build processes, and configuration management systems like Ansible. But there is no clear runway for those types of engineers. Hell, NixOps seems to be an abandoned repo that has no documentation whatsoever for it's 2.0 release and there are dozen different projects for remote deployment to hosts.

If I took a sysadmin and told them "please codify OS state using Ansible" then they're likely to come back with a solution that could satisfy a technical need within an organization. If I took that same sysadmin and told them to use Nix to solve the same problem then they're likely to get lost for weeks.

OhSoHumble··on Why all the NixOS hype? Did we all forget about Guix?
I use home-manager, yeah.

I think the trouble is this:

Nix (or NixOS, really), on the surface, looks like a configuration management system and a packaging specification had a functional programming baby.

Now, I'm a systems engineer who generally writes in easy-to-use languages. I've used Arch the past decade and have used a variety of tools to automate my personal systems. My team is composed of systems administrators and network engineers who transitioned into devops-esque roles. Part of the purview of our jobs is to use configuration management systems to codify OS state. This could either result in an immutable image or mutable state on a long-running piece of field hardware.

Nix looks like a potential replacement for something like Ansible/Packer and there are a variety of projects hitting the front page of Hacker News that semi-presents it as a replacement (stuff like nix-ops or image to cloud pipelines).

So as someone who codifies system state as part of their day-to-day job, I'm looking at NixOS as a potential alternative. And there seems to be ABSOLUTELY no community support or documentation for learning Nix from a systems administrator point of view. Which is absolutely maddening because I'm an individual contributor that decides how packaging is done within a organization. Everybody in my team looked at Nix and said "this is absolutely impossible to use - we are literally never going to use this to support our organization."

And that's mostly because there is no guiding principle for how to adapt your mental model to think about the new paradigm if you're coming from something like Ansible... and there is no structured documentation for how to produce an OS state when what you know is YAML blocks or a Ruby based DSL.

I mean, it feels like the bones are there: you use Nix to install packages, start services, configure network interfaces, manage the kernel, etc.

But it also feels like Nix was built by functional programmers for functional programmers - with no UX for the people who would actually manage operating systems within a technical organization. Your syseng team isn't going to be functional programming whizzes. They're going to know Go or Python and be able to do medium-difficulty leetcode problems.

Honestly, there needs to be a "NixOS for Ansible Programmers." And if it's absolutely apples to oranges, then that needs to be communicated upfront somewhere.

OhSoHumble··on Why all the NixOS hype? Did we all forget about Guix?
What if I want a workspace directory in my $HOME to clone repositories to after I image my laptop? How do I codify that state?
OhSoHumble··on Why all the NixOS hype? Did we all forget about Guix?
At some point, I just will use whatever has the most momentum behind it. I care a lot more about documentation and community support than whether or not there is a more elegant technical solution.

Also, I don't know who needs to read this but ChatGPT explains how to do things in Nix better than any Nix community member ever has for me. I can ask it "how do I create a directory with Nix" and it gives me the function and a practical example. It's great.

OhSoHumble··on This week in KDE: Wayland fractional scaling
This is one of the more important aspects of Linux desktop usage for me. I am currently on Gnome but would switch in a literal heartbeat to KDE if fractional scaling dropped for it first.

Next up: better handling of screen sharing under Wayland. If that's done then I have no problem using Linux in a professional environment since I deliver presentations and collaborate virtually quite a bit.

OhSoHumble··on Show HN: 3D printed PC with only 1 fan
Post doesn't seem to mention filament type but there are some very heat resistant filaments out.
OhSoHumble··on One of Norway's biggest CS players tries playing under a female alias [video]
I've seen people tell other people to kill themselves in dota.
OhSoHumble··on Including “And. And. And. And. And.” in a Google doc causes it to crash
Writing a novel and a character within the novel has a stutter or is stammering.
OhSoHumble··on Esports stars have shorter careers than NFL players
I am ALSO an immortal player.

> And a slightly bad decision can lose the whole game.

A slightly bad reaction time can lose an entire game. When you're looking at pro games - where real money is on the line - you want the player who has the same decision making ability as other highly ranked players but ALSO the ability to react really quickly. Failed to disjoint a projectile in time? International lost. Didn't pop your BKB in time? International lost. Didn't hex a puck or ember fast enough? International lost.

Like, sure, again... you can go really far in dota with poor reaction speed. I'm 30, for example. But when it comes down to creating a five man team to compete for money then very few teams are going to pick up older players on the chance that they might not react fast enough. Old man fear was called old man fear for a reason.

Also, this makes me really curious about what the age composition is for immortal top 100s for each region. How many are there over the age of 30?

OhSoHumble··on Esports stars have shorter careers than NFL players
I mean, for most player sure but when you're playing against the best players of the world then it's going to be a deciding factor.

Otherwise, yeah, you can be Divine/Immortal using game knowledge and have terrible reaction times relative to the greater player base.

OhSoHumble··on Ask HN: How do you avoid video game addiction?
I am also somewhat of a dota addict. It's VERY addicting to play. Something that really helps me is thinking "I cannot play 'just one' game because then I'll play several." If I never play that first game then I don't get looped into a several hour session.
OhSoHumble··on Ask HN: Is Facebook Dying?
A twelve year old laughed at me for using Facebook - and I mean a genuine, mirthful, hearty laugh. I'm thirty. If I'm being laughed at by someone from generation Z for using Facebook... how will Facebook grow? And I don't even use Facebook that much; most of my social activity occurs on Discord.
OhSoHumble··on Multiplayer in Godot 4.0: Scene Replication (Part 1)
Anecdotally, this occurs often in the game Escape from Tarkov. New game objects entering the world can cause client stutters. This was a larger problem during earlier builds of the game because it was more pronounced and the stutters could either be used offensively by degrading performance on enemies computers or it could just be used to gauge game state.

Also to note, Tarkov has several inherent design problems.

OhSoHumble··on You Shouldn’t Use GraphQL
Anecdotally, the experience is much easier when it's a REST API. If all I want is to fetch one object and its metadata... then I look up the function and call it.

If it's graphql then I have to... well, step one I have to learn the query language. And then I have to construct the query to return the data. It's not, like, super hard to go through all of that but it's extra cognitive burden that I don't want to deal with.

I'm currently writing CLI tools in Go and have to use the graphql API for github because it offers data that the REST API does not (I think). I really prefer the REST API wrapper.

OhSoHumble··on You Shouldn’t Use GraphQL
One of my problems with GraphQL APIs is that the consumption of that API because really difficult for simple tasks. With a traditional API wrapper there will usually be a fetchResource() function that wraps the API call for getting a resource with function parameters mapping to HTTP query parameters usually.

With GraphQL I need to look up what specific query I need create to fetch a specific resource. It makes it harder to build quick, one off tools and scripts. Using GitHub's GraphQL API is what I specifically have in mind while I'm typing this.

OhSoHumble··on Bitcoin Addiction Hospital
I know a couple of dudes who are really into NFT. It really does come across as a cult-like culture with odd terminology and a half-baked understanding of the technology behind it.
OhSoHumble··on Coreutils, written in the V language
Why is this being posted? This project looks to have around an hour of effort invested into it so far. Very, very, very few utilities are done and the ones that are are just a few lines of code due to their simplicity.

I'm normally very welcoming of projects posted on HN but this is almost nothing. I clicked around through several directories to look at code before seeing the completion table in the README and got upset when I saw that none of the directories had source files in them.

OhSoHumble··on No More Movies
I'm neither for or against the author's argument. However, he addresses the fact that a Borat sequel was made by saying that it succeeded because the director is already successful and it's a sequel to an already successful comedy.

I don't think the author's argument is that comedies can't be made but more that we're seeing less of them because there is more cultural friction today and that prevents aspiring directors from branching out.

OhSoHumble··on Flipper Zero: How it’s made and tested
While I understand that there has been a long history of Kickstarter projects underdelivering or not delivering at all... I would think the context of a global pandemic causing record resource shortages would allow cutting these guys some slack, yeah?

I mean, if Nvidia and AMD can't get a graphics card into my hands over the course of a year then I can't imagine a super tiny group of engineers would have much luck bootstrapping the supply chain for their brand new product.

OhSoHumble··on Developing Games on Linux: An Interview with Little Red Dog Games
I've always wondered how feasible it would be if an indie developer (or maybe even a big studio) could just put out a Linux build of their game and just say "we're not going to support this outside of these very specific constraints - or even at all - we'll fix issues with our Linux build if we can reproduce those issues in the environment we developed the game in... but that's it."

Then the Linux community gets another game. Does it not work on K.I.S.S Linux running sowm as a window manager and an entire custom userspace? Probably not. Does it work using the latest Ubuntu version? Probably.

But the notion that developers have to support every possible Linux configuration out there just seems toxic to the Linux game development effort as a whole.

OhSoHumble··on NixOS 21.05
This is where I'm sitting right now. I'm trying out Void Linux on my laptop and it's just so simple. I love that I understand my system. I look at Nix as a language and I just have no idea what is going on.

What I'd really like, as a learning resource, is a "Nix for apt/yum users" or a "Nix for Ansible" users guide. There is the cheat sheet (https://nixos.wiki/wiki/Cheatsheet) but it's just not enough.

For example, I wanted to just... create an arbitrary directory in my home directory (~/workspace). Does Home Manager do this? If so, how? Do I just have a shell script that is called within a package? That seems excessive. Is this not a use case for Nix? It looks like it can do arbitrary tasks across the system but the documentation is so bogged down with theory that it takes forever to find practical applications.

OhSoHumble··on Ask HN: Is it better to generalise or specialise as a developer?
Does this also apply to their SRE teams?
OhSoHumble··on What Python creator Guido van Rossum thinks of Rust, Go, Julia, and TypeScript
My heart weeps for what the next generation stands to lose.
OhSoHumble··on HAProxy 2.4
Cost. I imagine.
OhSoHumble··on Frum – Fast and modern Ruby version manager written in Rust
I am working on building VirtualBox appliances based off of NixOS. Nix makes me feel dumb.
OhSoHumble··on Systemd: The Good Parts
Probably just referring to desktop usage.
← PreviousPage 3 of 8Next →