HNHacker News
TopNewBestAskShowJobs

veyh

68 karma · joined April 23, 2022

Software developer with background in electrical engineering.

Author of https://autoptt.com and https://moreaccel.com

Personal Site: https://virtala.dev

Occasionally streaming at https://twitch.tv/SennouProtocol

submissionscomments
veyh··on We could save petabytes of cache storage with Zstandard and Pingora
Use a cargo workspace. Helps with both compilation speed and disk usage.
veyh··on Ask HN: What Are You Working On? (July 2026)
I'm working on better UI for my app AutoPTT [1]. It's probably going to look somewhat similar to Discord's settings, except I won't be using Electron. I refuse to use bloated stuff like that, so I'm going to keep using a pure C UI library [2].

Obviously this is going to take a bit more work but at least the resource usage will stay low, which I consider quite important. Especially since gamers are a large portion of the user base.

[1] https://autoptt.com/

[2] https://github.com/Immediate-Mode-UI/Nuklear

veyh··on Google copybara: moving code between repositories
If you're exporting more than a few commits, I suggest using local repos (/path/to/.git) for both the source and destination. Otherwise it'll be quite slow.
veyh··on Please Do Not Vibe Fuck Up This Software
This could be an opportunity for another xz-utils incident.
veyh··on Subscription bombing and how to mitigate it
Oh, that actually explains a lot. I used to offer a 7-day free trial for one of my apps that you could sign up for with an email, and the vast majority of the licenses were never used. The app wasn't even downloaded that many times.

I stopped offering the trial since I figured it was not useful for a relatively cheap (19 EUR) app that has a 30-day money-back guarantee anyway. (It can also be used for 15 mins without a license, but requires a restart after that.)

veyh··on Is Show HN dead? No, but it's drowning
I wonder if you could take advantage of the fact that the LLM is more likely to follow instructions that humans might miss. For example include instructions somewhere in the repo that says you must use a certain phrase in all pull requests, and then you just check the PR for that phrase.

Or maybe require the PR to contain something that is generated by running code, which the LLM may not be able to do without some effort on the user's part.

veyh··on Is Show HN dead? No, but it's drowning
Back when I ran a WoW guild, the first sentence in our recruitment post emphasized the importance of reading the whole post (because the way to access the application form was to click the only smiley in the post, and this detail was mentioned in the last paragraph).

Most people did not read the post, which was immediately evident from how they posted their application by copy-pasting and editing an application posted by someone else before them.

veyh··on Launching My Side Project as a Solo Dev: The Walkthrough
97 Twitch streams (and Youtube VOD uploads) + 32 shorts on Youtube, TikTok and Instagram. Best short got 5k views on YT, most got about 1k.

I didn't say I quit completely, I still stream when I play games because it doesn't cost me anything to do that since I was going to play the game anyway.

I no longer go through the VODs and try to cut them into shorts though, as it's such a huge time sink (and I don't think I'm very entertaining).

I made a couple of shorts directly related to my products too but as neither of them are really visual (one deals with micprohone audio, the other deal with mouse sensitivity), it's a bit difficult.

veyh··on Discord will require a face scan or ID for full access next month
Well, even if Jitsi doesn't have Push-to-Talk, you can still easily get it by using a hotkey to mute/unmute the mic system-wide.

For exampple, if you're on PC, MicMute [1] can be used for free, or if you want more customization, I would humbly present my side project, AutoPTT [2].

[1] https://github.com/SaifAqqad/AHK_MicMute/

[2] https://autoptt.com/

veyh··on LinkedIn checks for 2953 browser extensions
I've noticed similar issues with the web version of MS Teams.

You can actually see what tabs are hogging CPU by pressing SHIFT-ESC to open the task manager (about:processes) inside Firefox.

veyh··on Launching My Side Project as a Solo Dev: The Walkthrough
Four years in, I suppose you could say I'm still "launching," so I eagerly jumped right to the marketing part to see if there was any good insight.

Uh-oh. My experience has been pretty much the same. Paying for ads feels like lighting money on fire.

Like the author, I also stay away from social media. I've tried posting some videos and shorts, but since I don't actually consume any content on the platforms I'm posting them on, I don't really know what works. Not to mention it takes a long time to make even a single short, let alone a longer video.

Then I published a somewhat technical article on the product blog which brought in more traffic than a giveaway I did during the Christmas holidays, when I was literally giving the product out for free. Of course, the readers of the article were probably not the target audience of my product but it was still quite interesting to see.

I figure I'll keep writing more and see if something happens. Because the ads, videos and shorts were definitely a waste of time (and unlike the author, I don't have anyone I can ask for help).

Naturally, I'm still developing the product. Choosing what to work on is half the challenge. At least I feel productive when I'm writing code. Can't say the same for the other stuff :)

veyh··on Software engineers can no longer neglect their soft skills
Of course, sometimes people realize that what they asked for wasn't actually what was needed.
veyh··on Software engineers can no longer neglect their soft skills
I have 13 years of professional experience, and I work in a small company (15 people). Apart from one or two weekly meetings, I mostly just work on stuff independently. I'm the solo developer for a number of projects ranging from embedded microcontrollers to distributed backend systems. There's very little handholding; it's more like requirements come in, and results come out.

I have been part of some social circles before but they were always centered around a common activity like a game, and once that activity went away, so did those connections.

As I started working on side hustles, it occurred to me that not having any kind of social network (not even social media accounts) may have added an additional level of difficulty.

I am still working on the side hustles, though.

veyh··on Updating Desktop Rust
> Windows generally treats running binaries as locked. Any attempt to overwrite a running binary should throw an exception. Again, the Zed source provides a reasonable solution.

While it's true that you can't overwrite a running binary on Windows, you can still rename it.

For example, the updater I wrote for AutoPTT downloads the new update to a temporary directory, renames all old files to ${file}.bak, then moves over the files from the temporary folder, and finally runs the new binary while exiting the old one.

veyh··on The best worst hack that saved our bacon
It was definitely a problem with their database but I suppose it's possible that the customers were also expecting 32 bit signed ints.
veyh··on The best worst hack that saved our bacon
Well, I'd imagine that before returning the value through their API they could just check that if the number is negative, then add 2^32 to it, which would make it look like an unsigned 32 bit integer.
veyh··on Firefox 143 for Android to introduce DoH
That's pretty harsh. It works fine for me. But even if it didn't, I'd still use it just for uBlock Origin.
veyh··on A story on home server security
I wonder how many people realize you can use the whole 127.0.0.0/8 address space, not just 127.0.0.1. I usually use a random address in that space for all of a specific project's services that need to be exposed, like 127.1.2.3:3000 for web and 127.1.2.3:5432 for postgres.
veyh··on Lessons from 15 Years of Indie App Development
I've been trying to sneak into some relevant discussions on Twitter lately. Too early to say whether that helps at all but at least my posts haven't (yet?) been deleted as self-promotion like on Reddit.
veyh··on Open Riak – open, modern Riak fork
We used Riak at $dayjob at around 2014-2017 (iirc). I don't exactly remember it fondly. It was slow and unreliable. You could make it freeze/crash with the wrong SOLR query. (I was pretty good at that...)
veyh··on Before you buy a domain name, first check to see if it's haunted
Some time ago I noticed that my side project (with a domain that is not haunted) shows up fine on Google but not Bing/DuckDuckGo.

So I checked the Bing Webmaster Tools. URL Inspection says "Discovered but not crawled - The inspected URL is known to Bing but has some issues which are preventing indexation. We recommend you to follow Bing Webmaster Guidelines to increase your chances of indexation."

That's quite unhelpful. What's more, when I open the "Live URL" tab, it says, in green: "URL can be indexed by Bing."

It's a simple static Hugo site hosted on Cloudflare R2 (DNS mapped directly to bucket). https://pagespeed.web.dev gives it a score of 100 in every category.

Anyone else had something like this happen?

veyh··on Just here for the comments: Lurking as digital literacy practice
They probably want you to buy the book to find out.
veyh··on What Are You Building? Share Your Projects
I have a small side project called AutoPTT [1]. It's a Windows app for voice communications, mostly aimed at gamers. It can press and/or release your push-to-talk key automatically based on voice activity because not all software/games support voice activation natively.

The reason I made it was the reason I make most things: because I needed it myself. Making it was not that difficult, though I must admit I've never been too fond of Windows C/C++ APIs.

I have a feeling that the website could use some work. It's certainly not flashy, and mostly just text. Would appreciate any feedback :)

[1] https://autoptt.com

veyh··on An FDA approved device offers a new treatment for tinnitus
And now, you are manually breathing.
veyh··on Sequential and parallel execution of long-running shell commands
I was running a lot of small tasks. With 3000 queued tasks my state file was around 25 MB.

zstd compressed that down to 5% of the size. I have the code still if you want to look at it but it was just a quick experiment so I didn't add any tests. I did add it to the config, disabled by default, though.

https://github.com/veyh/pueue/commit/e9dcf52227304b4b4a2ded4...

Protobuf could be a pretty good alternative. It can be dumped to a human-readable format with the protoc cli.

veyh··on Ask HN: What non-AI products are you working on?
AutoPTT lets you customize how push-to-talk works in apps like Discord or online games. It can even press the button for you based on voice activity, in case the program does not support voice activation natively.

https://autoptt.com/

veyh··on Sequential and parallel execution of long-running shell commands
Pueue dumps the state of the queue to the disk as JSON every time the state changes, so when you have a lot of queued jobs this results in considerable disk io. I actually changed it to compress the state file via zstd which helped quite a bit but then eventually just moved on to running NATS [1] locally.

[1] https://nats.io/

veyh··on Show HN: Logdy.dev – web based log viewer UI for local development environments
If it's just files, lnav [1] is pretty good.

[1] https://lnav.org/

veyh··on Show HN: Coffeehouse, one-on-one voicechat with random HN users
There is https://hnreplies.com/
veyh··on Ask HN: What apps have you created for your own use?
I got into programming when I was 14 because I wanted to write addons (in Lua) for World of Warcraft. I've written many things since then (including addons -- my personal Lua repo has around 145k lines of code).

I did make one app public last year: AutoPTT [1]. It's a Windows desktop app that gives you advanced control on how your mic activates and deactivates in voice chat. It's written in C. I'd used it as a CLI for a long time myself but then a few others asked if they could use it too, so I added a GUI and released it.

At the moment, I'm working on a desktop image/comic viewer (in Rust, of course :) because I'm not happy with CDisplayEx.

[1] https://autoptt.com/

Page 1 of 2Next →