HNHacker News
TopNewBestAskShowJobs

belthesar

1,094 karma · joined May 7, 2008

[ my public key: https://keybase.io/belthesar; my proof: https://keybase.io/belthesar/sigs/JEWdr1ik37zcC15gBkrWDSAk5zgAD80jPaJsUvEmINY ]
submissionscomments
belthesar··on Better Dotfiles
I know a lot of folks are talking about what they do, or what dot file managers they use, but there's something to be said for building a workflow that works for you. Pretty clever setup!
belthesar··on Accident Forgiveness
I'll be honest, I think you've got an uphill battle to convince so many of us that are concerned about accidental pricing that this is exactly the thing we actually want, vs. what we feel we want. This position parrots what Vercel's leadership said when someone had a massive surprise bill, and the story made the rounds both here and elsewhere.

To be super honest, you might be right too. You might go down a huge engineering effort to build this in only for 5% of your customers to ever engage it. I think the real question is what percentage of your customers will feel better knowing that the have the choice to set those limits, and how will that comfort actually improve their trust with Fly, and cause them to choose it over another cloud provider.

It may end up being a lot like this feature we had in a platform that I used to support. It had a just-in-time analytics pipeline that at one point required tens of thousands of dollars in compute, storage and network hardware alone to function. Based on our analytics, it was barely used compared to the usage of the rest of our app, which made the zounds of resources and fairly frequent support attention it needed feel silly in comparison, so I advocated to sunset it. Product assured me that, regardless of how silly it might be to continue supporting this feature, it was a dealmaker, and losing it would be a dealbreaker.

So yeah, y'all might be right in that the majority of your customers don't actually want it. But maybe what they do need is to know that it's there, ready for them if they ever need to engage with it.

belthesar··on Netboot.xyz: your favorite operating systems in one place
I've been meaning to give this a shot myself. I do like netboot.xyz's maintained catalog for convenience, but when I self hosted it (to get the caching proxy benefits), I felt that cache cleanup was a little clunky (basically, go into the cache dir and delete the ISO/image). For the few times I need to install an OS on something, it'd be totally fine to grab the image and stage it on the PXE server.
belthesar··on Netboot.xyz: your favorite operating systems in one place
Netboot.xyz allows you to self-host an instance of it, which can cache ISOs. I was doing it for a time, and thought it neat, but not worth the hassle to keep running.
belthesar··on The lie of music discovery algorithms
Ironically, this is something that I think Pandora solved quite well with their recommendation engine. By virtue of creating a station around a particular vibe, even if 5 playlists all started with the same seed song, weighting other songs up and down on each station would curate a different listening experience, by virtue of finding how those are similar. Where Pandora was limited (at least, the last time I used the service) was the pre-seeding process is a bit arduous and opaque. I'm not sure how you make that easy to interact with, as going a layer beneath to the "why" a song was recommended and allowing folks to influence the graph at that layer sounds like a daunting UX challenge.
belthesar··on VirtualBox 7.1 Beta: Modernized GUI, Wayland Support for Clipboard Sharing
Out of curiosity, for folks that use VirtualBox today, why do you choose to use it over native OS virtualization platforms? With QEMU-KVM + Virt-Manager or Boxes, Hyper-V, and UTM + Virtualization.framework, all of the major desktop OSes have a native, pretty well supported and performant VM offering out of the box. Ever since Oracle started getting all Oracle with Virtualbox, it's left a bad taste in my mouth personally, and have found all the other alternatives to be fairly palatable depending on use case.
belthesar··on Using S3 as a Container Registry
You hit a few important notes that are worth keeping in mind, but I think you handwave some valuable impacts.

By virtue of shipping around an entire system's worth of libraries as a deployment artifact, you are indeed drastically increasing the payload size. It's easy to question whether payload efficiency is worthwhile when the advent of >100, and even >1000 Mbit internet connections available to the home, but that is certainly not the case everywhere. That said, assuming smart squashing of image deltas and basing off of a sane upstream image, much of that pain is felt only once.

You bring up that you built a system that helped you quickly and efficiently configure systems, and that discipline and good systems design can bring many of the same benefits that containerized workloads do. No argument! What the Docker ecosystem provided however was a standard implemented in practice that became ubiquitous. It became less important to need to build one's own system, because the container image vendor could define that, using a collection of environment variables or config files being placed in a standardized location.

You built up a great environment, and one that works well for you. The containerization convention replicates much of what you developed, with the benefit that it grabbed a majority mindshare, so now many more folks are building with things like standardization of config, storage, data, and environment in mind. It's certainly not the only way to do things, and much as you described, it's not great in your case. But if something solves a significant amount of cases well, then it's doing something right and well. For a non inconsequential amount of people, trading bandwidth and storage for operational knowledge and complexity are a more than equitable trade

belthesar··on Wireless power transfer system achieves 270-kilowatt charge
I'm not gonna lie, that's some brilliant design. Y'all don't have time to check all the things when you have to get to an emergency site, but I imagine you also need your lights and pumps and such to work.
belthesar··on McDonald's is ending its drive-thru AI test
Cognitive load for installing "yet another app" is pretty real. It doesn't matter how easy or seamless the experience is, part of the value for an app is to make it easier for repeat customers to use their service, and make them sticky. That starts with wanting to buy from them in the first place though.

If I'm on a road trip, and I need a quick meal, and my choices are "buy from place that makes me use their app" or "buy from place that doesn't make me use their app", I'm gonna choose the option that is more convenient to me, which is, the one that doesn't make me download anything, sign up for an account, and pester the hell out of me 2 hours after I have already forgotten about that particular fast food joint to let me know if that if I only buy 39 more Big Macs that I can get a free small fry.

I don't really want fast food to begin with. The food quality at any vendor has continuously gone downhill (or my standards have raised, could be some combination therein). If they want any hope of capturing my business still, they'll only get it if they keep that process as frictionless as possible.

belthesar··on OpenSSH introduces options to penalize undesirable behavior
This is definitely a common fallacy. While passwords and keys function similarly via the SSH protocol, there's two key things that are different. 1, your password is likely to have much lower entropy as a cryptographic secret (ie: you're shooting for 128 bits of entropy, which takes a pretty gnarly-sized password to replicate), and 2. SSH keys introduce a second layer of trust by virtue of you needing to add your key ID to the system before you even begin the authentication challenge.

Password authentication, which only uses your password to establish you are authentically you, does not establish the same level of cryptographic trust, and also does not allow the SSH server to bail out as quickly, instead needing to perform more crypto operations to discover that an unauthorized authentication attempt is being made.

To your point, you are storing the secret on your filesystem, and you should treat it accordingly. This is why folks generally advocate for the use of SSH Agents with password or other systems protecting your SSH key from being simply lifted. Even with requiring a password to unlock your key though, there's a pretty significant difference between key based and password based auth.

belthesar··on Microsoft's full-screen reminders – upgrade to Windows 11 are back
I had my grandmother running on Linux since 2008, and she loved it. She wasn't gonna get a virus, she didn't have root/sudo capability on her user, which meant she wasn't going to break anything, and she had ad blocking in her browser. She was told two things: "1. If something wants to install something or update something, say no. If it keeps asking, call me. 2. You can't break this." This removed the fear she had using a computer, and went from "too afraid to turn it on lest she hear the sighs and frustrations of her now late technophile husband" to "doing everything from social media to online shopping". The last machine she had was an Asus Chromebox I bought her when the machine she was using was just not able to keep up anymore. She used Google Apps for word processing, Gmail for email, and had a ball.

Sibling commenters have it right - if a computer is an appliance to them, then going for the simplest, least likely to accidentally mess up option is the best one.

belthesar··on Napster sparked a file-sharing revolution 25 years ago
They can. You know they can, others (ie: the pirate versions you mention) do. Larger files consume more bandwidth and storage on the CDN, which makes it more expensive. And while there are indeed some issues with lower quality (especially in dark scenes, I'm reminded of the muddy mess in the final episodes of Game of Thrones), most folks are "fine" with the quality we get today. Fine enough, anyway, that they keep paying for the status quo.

That's not to say that they're not interested in providing more quality. There's heavy investment in per-video, and sometimes per-video-section encoding and next generation codecs like AV1. The goal for them though is to get more quality with the same or less storage and bandwidth budget.

belthesar··on Show HN: I made a free app to calibrate your turntable by simply playing a song
I'm not a turntable owner myself, so the app doesn't offer a lot of value to me. In thinking about it though, this app reminds me of the early days of mobile apps, where folks made neat, useful little tools to make life better. It wasn't about making a platform, or figuring out how to make a six figure sum, just a neat little ecosystem of fun and useful tools made by folks that had a problem to solve, and thought someone else might find it useful.

I see that it's free, but I feel like this could have easily been a $1 app.

Grats on making a really neat little focused tool!

belthesar··on Smoking weed every day makes me less presentable and less productive. I love it
It really depends on the kind of smoke alarm. I'm sure most home style smoke alarms aren't set off by that, since they're usually an ionization style detector. Photoelectric detectors can be far more sensitive though. Moreso, I imagine the detection has less to do with the type of smoke, and the density of it. Directly exhaling into a smoke alarm can set off the detector, when the smoke is at its most dense.
belthesar··on A floppy disk MIDI boombox: The Yamaha MDP-10
Ironically, the SNES's SPC unit was essentially a very resource constrained ROMpler. While it was capable of synthesis like the NES (in fact, many early third party SNES titles used this, as devs migrating to the platform were more familiar with making music in this style), the ability to load samples and play them back is why so many folks hail it as the console with superior sound of its generation. The YM-2612 in the Genesis did indeed enable composers to create some legendary soundtracks of their own (Anyone who doesn't know Yuzo Koshiro's work for example might enjoy Charles Cornell's dive into the OST of Streets of Rage [1]), the best OSTs for the console were in styles that lent themselves to embrace the sound of the chip, where the SNES, leveraging the ROMpler model, allowed it to make rich music across many more genres.

Speaking of ROMplers and the SNES, these inexpensive ROMplers from Roland and Korg were what much of the music of these consoles were made on, with many of the SNES soundfonts bing made up of highly truncated versions of the ROMpler's samples. The sound of second, third, and fourth generation Final Fantasy games as composed by Nobuo Uematsu heavily used the Roland SoundCanvas SC-55, with the final title he was lead composer on, Final Fantasy 10, essentially using fully rendered tracks using the platform, with then-modern arrangement and production techniques instead of the soundfont + tracker-style music programming used on the SNES and PS1 titles (the PS1's SPU is essentially a souped up SPC700, hearkening back to its roots as the SNES CD, allowing developers to make music in much the same way, albeit with higher resolution samples, more channels, and more effects).

To your point though, the the Genesis' YM-2612, in Yamaha's OPN family was a similar chip to the Yamaha OPL-family chips used by the SoundBlaster platform, albeit it featured complex FM operators that wouldn't be seen on SoundBlaster cards until the versions with "OPL 3" chips became prevalent, which was inconsistent on the SB16 family.

[1] https://www.youtube.com/watch?v=2cx73EOaGWU

belthesar··on Ask HN: What do you do with your old Intel MacBooks?
Is this largely for the exercise? Totally cool if you’re using it to get a better understanding of understanding of macOS’s Virtualization framework, but if your goal is that you were looking for a way to run VMs without Parallels, VMWare or VirtualBox, UTM [1] would be the direction I’d point you in.

[1] https://mac.getutm.app/

belthesar··on Thinking out loud about 2nd-gen email
To your thoughts:

> 1. I don't know if HTTPS is the best analogy...

IMO, the lynchpin to HTTPS accessibility was that we made cutting certificates easy, and most importantly, free. By eschewing the baseline requirement for cutting a certificate to being able to validate that the site on the domain is trusted by virtue of a relationship between the hostname and the certificate requester, and providing an API to automate the renewal process, opting into HTTPS went from "administrative burden that needed a sysadmin to manage" to "service any hosting provider could leverage". LetsEncrypt and the ACME protocol, and Cloudflare before them, did much to radically change the landscape for making HTTPS accessible to everyone. [1] That makes the analogy pretty apt to me, IMO.

2. You make a very valid point here. By virtue of letting SMTP languish so long, bandaiding it as we went, instead of opting for a major refactor of how email works, we made an environment that was rife for consolidation. As a result, it makes sense that we might have to boil the frog to make a change.

3. I'd love to see it, but I'd be interested in learning how key exchange/trust works. I'd be interested to see how you'd envision enabling new senders to send you mail.

4. This feeds back into my comments on 3. With established contacts, this is great, but in a world where, say, you were giving a talk, and wanted to offer folks that listened to your talk a way to contact you afterwards, how would you distribute the token? If someone abuses the permissions, how do you invalidate it? I can't foresee this being an all-or-nothing system, and don't really see a system where creating some sort of one-way or two-way trust between individual senders and recipients is at all feasible.

[1] Let's Encrypt stats: https://letsencrypt.org/stats/

belthesar··on Pokémon Go players are altering public map data to catch rare Pokémon
One of the key draws for many Pokémon players is right in the old slogan - "Gotta catch 'em all!"

Part of the desire is the collectability. To be able to get a rare, prized Pokémon. In the original games, part of this was centered around there being two editions of a game, with some of them only in the other, with the desire to make trading a social activity. That said, it certainly didn't stop people from buying two Gameboys, two copies of Pokemon, and collecting them all on their own.

Some folks just have a compulsion to have everything.

belthesar··on Take a look at Traefik, even if you don't use containers
I had much of the same issues early on in my Traefik experience. Things like using TLS-01 validation but not having DNS records set before config was applied would cause a lot of frustration. Like you, I was frustrated with the amount of logging I was getting. I eventually learned that not having DNS configured appropriately would lead validation attempts to fail after N unsuccessful attempts, and LE would refuse to do another TLS-01 validation for a while, which sounds like the kind of issue you were having.

After moving to DNS-01 validation, which comes with the added benefit of letting me cut certs for services that aren't publicly exposed with way less orchestration required than with TLS-01 style validation, my experience was suddenly much better. Assuming the DNS provider is working (and if it's not, you're hopefully getting an API error from them before LE attempts to validate the record, the failure state happens well before any check failure backoffs happen at LE. At this point, regardless of whether I'm using Traefik, Caddy, Nginx, or any other reverse proxy, I'm pretty committed to only using DNS-01 based validation from LetsEncrypt from now on, or if I have to do TLS-01 based validation, to make darn sure things are right the first time with the Staging API first.

Which, speaking of, if you cut a Staging cert with LE via Traefik, there's no good way to invalidate the staging cert. You have to munge the ACME JSON to remove the cert and restart Traefik (could maybe do a SIGHUP? didn't try) to get it to pickup the changes.

All said, lots of weird silent failures and behaviors, but the biggest pains are making dependent service errors opaque.

belthesar··on Helldivers 2 PSN account linking update will not be moving forward
Quite a bit, believe it or not. It's often an economies of scale problem, as well as a subject matter expertise problem.

On the front, working with a publisher can help with funding. A publisher will often times front a fair amount of development costs, which depending on funding sources will often time make up a significant portion of the revenue needed for development. When people see exclusivity deals, that happens because the developer receives advanced funding for development costs, usually a significantly larger amount than one would receive from a publisher that has no platform associated with it.

For smaller studios, these teams may not have any marketing expertise. While an independent marketing team may be able to help out with this, the publisher managing this relationship, especially with teams either internal or external that they have experience with, allows the studio to focus on their development efforts.

That's not to say this is always sunshine and rainbows. The stories of publisher imposed deadlines, restrictions, etc. are true, usually without a lot of the inside baseball color of the why of these deadlines are required. That said, when Other People's Money comes into play, things always change. The cost of delaying a release is not small, even more so when there are physical products being made and fulfillment to be managed. That's not me being an apologist, just trying to add a bit more color to the social media talking points.

To the point I think you're trying to make though, with the amount of self publishing tools available, it's definitely not the necessity that it used to be to be. However, the dynamics of whether one can do something, vs. whether they're the right ones to do so something are always nuanced, especially when it comes down to the calculus of whether the benefits and the trade offs line up.

belthesar··on How to install Linux from a Windows installer
Except it's not. Today, Windows wants you to use their media creation tool, which is more than just a "download bootable image and flash it to removable media" tool, but also actively slipstreams the latest OS patches to the install media. It ensures you get the latest OS on install with all the needed security patches.

Having a similar tool to automate not only bootable media creation, but also selection of distro and acquisition of install media would indeed make installation more simple. Unetbootin used to do that (still might? Haven't used it in ages), but IIRC, keeping the list of distros up to date was a challenge.

belthesar··on How to install Linux from a Windows installer
Ubuntu provided a Windows installer to set it up, but it was indeed wubi under the hood.
belthesar··on Uno: Create Beautiful Cross Platform .NET Apps Faster
I appreciate your statement here, but I think part of the reason the GP commented on this is that we hear this from companies all the time. We all recognize that you're speaking the truth of today, but things change. This may be important to you, but unless Uno is your lifestyle business and you maintain control despite external pressures from board members brought on as capital sources, you're not capable of providing a guarantee in perpetuity, let alone for any well defined metric of time.

It's fair for us to be gunshy. There's simply too many examples of OSS projects highly used across the web that made these kind of promises earlier on in the product's lifecycle, many if not most of them with the best of intentions at the time the promise was made. I trust that what you're saying is true today. Until we start to see more OSS projects with sustainability models that are both successful at staving off negative influence from funding partners, and those sustainability models leading to companies making good on the declarations of altruism they made when they were younger, I think we're going to remain unsure and unconfident in promises like this.

Don't think it's going to stop us from checking out your product or potentially building really cool stuff with it. But until you prove to us that you'll keep this ethos, we will start using this really cool framework with one hand while we keep another hand free to stabilize ourselves in what feels like an inevitable rugpull that isn't a matter of if, but when.

belthesar··on Pyinfra: Automate Infrastructure Using Python
It's definitely still in the minority, but you're seeing a _lot_ more newer projects adopting consistent, ubiquitous type hints.

To your point though, the `_make_command` method here is not setting hints in its arguments. I'm not super familiar if this is considered "fine" in a pydantic world, as I found for my usage, native python type hints were more than fine to make my code more usable and safer. Based on the code though, it seems like there are cases where the `command_attribute` is not a callable. What I don't understand is why this isn't hinted as a Union of Callable and whatever other types it could receive. I'd have to spend more than 3 minutes looking at the code base to understand how it's used to get a stronger idea here.

belthesar··on Show HN: Dotenv, if it is a Unix utility
This is interestingly similar to a little tool I wrote called sops-run [0], which manages encrypted secrets for cli tools using Mozilla’s sops [1]. Biggest upshot is that you can use it more confidently for secrets with encryption at rest. Built it when I was trying out CLI tools that wanted API keys, but I didn’t want to shove them into my profile and accidentally upload them into my dotfiles repository. Do need to finally get back to making this a package, being able to install it with pip(x) would be really nice.

[0] https://github.com/belthesar/sops-run

[1] https://github.com/getsops/sops

belthesar··on Hotel WiFi JavaScript Injection (2012)
You can thank the pervasive advertising of services like NordVPN and their owned subsidiaries for that. Loads of people have been advertised to thinking that using a VPN is "more secure", but this new colloquial understanding of a VPN is quite different from the true definition. I've had to have talks with numerous friends and colleagues dissuading them from purchasing these, including saving someone from a multi-hundred dollar NordVPN subscription because they wanted to be more "secure".

As an aside, viewing an HTTP website over VPN is indeed useful when the threat actor is the public WiFi provider, but it doesn't if your threat actor is the VPN provider, or in between the VPN provider and the hosting provider. I'll cede that this is beyond the scope of the situation talked about in the article though.

belthesar··on Descent 3 Source Code
I personally loved the Freespace games, and have taken advantage of the awesome work by the FreeSpace Source Code Project to replay them over the years. That said, FreeSpace is Descent in name only, and totally understand how folks who had very fond memories of playing Descent feeling a bait in switch when getting FreeSpace and having it not be very Descent-like. I mean, heck, aside from the Glide mechanic, there's no real Six-Axis style movement, you know, the hallmark of Descent.

They're just different games. I love them both for what they are. It's a shame that Interplay tried to use the Descent name to sell more copies, because even if there was some minor inspirations in development, Freespace definitely stands solidly on its own two feet without the tie.

belthesar··on WD launches 4TB SD card
Thunderbolt is capable of doing this, but USB has had support for peer to peer and alternative client support for quite a while. USB OTG (On-The-Go), which allows a USB client device to also act as a host, has been around since the 2.0 spec. This is what lets USB devices like phones and tablets also connect to card readers, keyboards, and other USB devices.

What Thunderbolt can do however that is quite magical, is operate as a point to point network interface. Driver support can be a bit dodgy, but it's totally feasible to build a 3 node compute cluster with point to point cluster node networking over Thunderbolt at 20 Gb/s.

belthesar··on Why is remote desktop slow when host monitor is off unless HDMI cable is used?
Like most thing in Windows, the sauce is buried under layers of Registry tweaks and/or Group Policies, but enabling RemoteFX (released with Windows Server 2008 R2 SP1) for RDP enables both h.264/h.265 stream compression, and with additional settings changes to enforce usage of the GPU on the desktop session over RDP, you can get solid 3D acceleration. In this video from Wendell @ Level1Techs, he had 31 virtual desktop instances all running with full GPU acceleration, with RDP as the VDI client software. https://www.youtube.com/watch?v=tLK_i-TQ3kQ. As another data point, I had game developers remoting into their workstations during Quarantine, using RDP with full graphics acceleration using the same tweaks.

What the shinier VDI/Remote Desktop solutions like Sunshine+Moonlight, Parsec, Horizon, Citrix do for you is make all of this easier to set up and use. But as far as capability is concerned, RDP is quite powerful and quite capable, assuming you jump through the hoops to set it up right.

belthesar··on Yes, social media is a cause of the epidemic of teenage mental illness
One of the things I do agree with, and personally struggle with, is that the attention economy makes it incredibly easy to fill gaps with things that spark the good brain pleasure chemicals, but do not create any positive outcomes. Removing the space to process complex information, or think about ourselves and our needs/wants/desires seems to lead to a lack of capacity to think critically, at least in my own experience.

It sounds like you made more space, and that allowed you to invest more in things that interested you, which translated to being able to make a career change. I imagine that could be swapped with "thinking about how to improve one's mental well being" or "engaging with other folks to discuss things that bother you".

← PreviousPage 3 of 11Next →