HNHacker News
TopNewBestAskShowJobs

seligman99

144 karma · joined August 14, 2020

https://seligman.dev
submissionscomments
seligman99··on Hosting SQLite Databases on GitHub Pages (2021)
Indeed, I lost the history in a shuffle, but a similar use case broke in some Firefox update, and it's the exact reason behind this comment:

https://github.com/seligman/podcast_to_text/blob/master/sear...

In my case, loading the entire file is loading a tiny bit more data, so this fallback doesn't hurt, but it's still annoying, and broke any hope I had of doing something more clever with the dataset.

seligman99··on Show HN: Kitten TTS – 25MB CPU-Only, Open-Source TTS Model
And a quick video with all of the different voices:

https://www.youtube.com/watch?v=60Dy3zKBGQg

seligman99··on Early Cascade Injection: From Windows process creation to stealthy injection
I suspect this is where Windows backwards compatibility bites them a bit. I've got a very old tool [1] that uses WriteProcessMemory and CreateRemoteThread to create a thread in the command process that launched it to remotely change the directory in that process.

It works to this day, despite looking exactly like what malware would do. My tool is nothing in the grand scheme, but I suspect I'm not the only one doing these sort of shenanigans, and no doubt some big important app is doing it and can't be bothered to fix itself, so MS is stuck supporting it.

[1] https://github.com/seligman/ccd

seligman99··on Using less memory to look up IP addresses in Mess With DNS
This is the same idea I used for my Cloud IP lookup tool [1], lets it all work in browser with a small file to search against

[1] https://cloud-ips.s3-us-west-2.amazonaws.com/index.html

seligman99··on The CIDR trie data structure
I ended up using the same basic layout for the database behind a little IP lookup tool I wrote to make lookups somewhat responsive from JavaScript [1]. It ends up working out pretty well.

[1] https://cloud-ips.s3-us-west-2.amazonaws.com/index.html

seligman99··on Self-hosted offline transcription and diarization service with LLM summary
WhisperX along with whisper-diarization, runs at something around 20x of real time on audio with a modern GPU, so for that part, you're looking at around $1 per twenty hours of content to run it on a g5.xlarge, not counting time to build up a node (or around 1/2 that for Spot prices, assuming you're much luckier than I am at getting stable spot instances these days).

You can short circuit that time to build up a node a bit with a prebaked AMI on AWS, but there's still some amount of time before a new node can start running at speed, around 10 minutes in my experience.

I haven't looked at this particular solution yet, but I really find the LLMs to be hit or miss at summarizing transcripts. Sometimes it's impressive, sometimes it's literally "informal conversation between multiple people about various topics"

seligman99··on Unix shells and the current directory
Along the same lines, in the Windows world:

The current directory is managed with SetCurrentDirectory/GetCurrentDirectory, however the cmd.exe command-line shell also stores the current directory for each drive in an environment variable like "=C:", and the CRT and shell hides all environment variables that start with a "=".

It gets mightily confused if these two concepts of current directory ever diverge.

seligman99··on Show HN: IP Guide – Info on IP addresses, Networks, and ASNs
My similar take on the idea: https://cloud-ips.s3-us-west-2.amazonaws.com/index.html

I wanted to see if I could do the lookup work client-side, and also include some more metadata about cloud provider's IPs (region, service, etc), not that it's really better, just a toy idea I had.

seligman99··on AWS Begins Charging for Public IPv4 Addresses
$0.005 per hour per IP.

Assuming AWS has 50% utilization on IPs they've assigned for EC2, this is a $1.28 billion/yr fee they created.

Scale is fun.

seligman99··on Universal Summarizer
I asked it to summarize the transcript for a podcast about an episode of Star Trek. One minor issue in grammar, but otherwise, it does a remarkable job of making a summary:

> In the Star Trek episode "The Cage", Captain Pike is held captive by a race of advanced televisions. He is offered a life of luxury in a cage, but he realizes that this is not the life he wants and manages to escape. The televisions watch everything on TV and have become too voyeuristic and passive. At the end of the episode, Pike makes the right choice and is able to see the difference between the falsehood of the fantasy and the difficult but more acceptable reality. This episode highlights the importance of exploration and being better than oneself, and is a reminder of the dangers of becoming too passive and voyeuristic. It also shows how technology can be used to create illusions and how these illusions can be used to manipulate people.

seligman99··on AutoHotkey v2 Official Release Announcement
I wrote MicroKeys[1] out of a similar frustration. Granted, I never got past the POC stage, so it's not as feature rich as AHK, but it solved a very specific itch I had. I debate if I should flesh it out further, or try using AHK again.

[1] https://github.com/seligman/microkeys

seligman99··on Yark: Advanced and easy YouTube archiver now stable
Yep, it takes a bit of GPU RAM. I'm using 3 machines with NVidia 3080 or better. I let them go for a few weeks over the winter break when I was mostly disconnected from the tech world. The workers prioritized podcasts I'm personally likely to want to search, and got through almost a third of my archive.

Now it's down to 1 or 2 machines depending on what's going on, so it'll take much longer to finish up, but I'm in no rush.

seligman99··on Yark: Advanced and easy YouTube archiver now stable
It's about an hour or two or a day.

This includes data from 1995 on. The early data is backfill of radio shows that transitioned to podcasts and dumped old episodes in their feed at some point. My reader itself started in 2012, I downloaded around 7000 hours of new podcasts, which works out to 1.7 hours per day. So, around 2 hours per day, since I don't listen every day, and to be fair, I haven't listened to every podcast I've downloaded, some don't interest me. But 1-2 hours of listening a day is the sweet spot for me.

seligman99··on Yark: Advanced and easy YouTube archiver now stable
Long ago I had my podcast downloader keep all files it downloads and recently I've been using OpenAI's Whisper to go through and create transcripts of the 8000 or so hours of data I have downloaded over the years.

It's very cool to be able to search through and remind myself of something I heard once. Not exactly life changing, but still, nice to be able to quickly drill down and find audio for something when a curiosity strikes me.

seligman99··on Show HN: I made a free transcription service powered by Whisper AI
Mostly just vanilla JS on that page, and a tiny bit of Python glue code to turn the WebVTT output from Whisper into a data format for the JS.
seligman99··on Show HN: I made a free transcription service powered by Whisper AI
It broke when I tried to feed it an entire podcast file, but still, I took this as a push to try out Whisper AI for myself, turns out it's easier to use than I thought. Long story short, I used it to transcriptify a podcast:

https://scotts-podcasts.s3.amazonaws.com/temp/whisper/Intern...

Not sure if there's a use for this that's not me, but I like the idea of having subtitles for a podcast I'm listening to.

seligman99··on IPv4 Turf War
I took approach #3 for 5 blocks. Surprisingly, that's good enough to get on the leaderboard, at least till someone keeps a simple script running longer than me.

I do wonder what an IPv6 version of this would look like, but how it'd work, and how active it'd be.

seligman99··on Amazon, Verizon found using IPv4 240/4 addresses
> Moreover, we did not find any 240/4 prefix in the official prefix list shared by Amazon

Yeah, so about that:

https://github.com/seligman/aws-ip-ranges/commit/2e0d9d87d4f...

They did briefly list 252.0.0.0/10 in their published list of IP ranges. The people I spoke with about this at the time either claimed it was a mistake, or the state of the world that I should get used to (it broke some surprisingly fragile scripts on my side for silly reasons).

Given they removed it from their list of IPs 27 hours later, I'm guessing I wasn't the only person freaking out. But yeah, they use it internally, and it leaks from time to time in surprising ways.

seligman99··on Show HN: I made a web-based notepad with a built in unit calculator
Along the same lines, I made a command line calculator that does basic unit conversions, and has a few other tricks up it's sleeve

https://github.com/seligman/human_calc

I find it surprisingly useful. It's probably one of those things that has an audience of one, but I find it useful.

seligman99··on Show HN: tere – A Faster Alternative to cd+ls
Similar idea for Windows:

https://github.com/seligman/ccd

ccd is more concerned with an edge-first search, and since it's Windows, actually changing the directory involves a thread insertion in the cmd process to do the work ... which somehow works.

seligman99··on MicroPython – Python for Microcontrollers
And with a little bit of coercing, it can be used the other way: To embed Python in Desktop apps giving you a fairly light-weight Python interpreter.

I used it for a little Windows macro program ( https://github.com/seligman/microkeys ) . I got it to a POC stage to solve the precise problem I have, basically I needed to be able to do some simple text parsing on whatever's in the clipboard and type out the results, so I'm happy. I'm always curious if it potentially fills a need for others as well.

seligman99··on Ask HN: Have you created programs for only your personal use?
A few come to mind:

A command line calculator. While it's on github, is really just made for me because I wanted something to do quick math and convert different units.

A note/todo app. Started it's life as just a text file in a git repo, but now has a web front end, a simple TUI front end, and a little backend so it can add repeating tasks or tasks future days when they come along.

I also have a little python script running to control my exterior Hue lights, turning them on at sunset and such. Just added a thing today that turns on the lights in my office to full brightness when I open Zoom. It's nice, but every time I go down the rabbit hole of home automation, my SO rightly gets annoyed at the silliness of it all.

seligman99··on Do things, tell people (2012)
I'll join in:

I'm building a tool called MicroKeys. It's a macro program, for Windows right now. It uses MicroPython as the script engine to let you register hot keys that do things. It's very much a work in progress right now.

I'm writing it to fill a very specific niche I have, but if it's useful to others, I'd love to hear feedback on what it could do to be better to help it come to fruition.

https://github.com/seligman/microkeys

seligman99··on T-Mobile begins blocking iPhone users from enabling iCloud Private Relay in US
If you mean IP addresses, then, yes, they publish a .csv with the IP addresses [1]

It seems to update once a month [2]

[1] https://developer.apple.com/support/prepare-your-network-for...

[2] https://imgur.com/a/35HIV5M (only showing counts for IPv4, they have huge IPv6 blocks)

seligman99··on You can't copy code with memcpy
I wrote a "cd" replacement for cmd[1] a _long_ time ago (I only recently uploaded it to Github).

It uses exactly this technique to run a thread in cmd's process to actually change the directory. It's kept working from XP on up to Windows 11 now. I am always amazed it works, I fully expect it to go boom some day, probably with an error along the lines of "Don't do that, please".

[1] https://github.com/seligman/ccd/blob/master/RemoteThread.cpp...

seligman99··on Ray Tracing with POV-Ray: 25 scenes in 25 days (2013)
Since we're showing things off, I made this in POV-Ray https://youtu.be/KU7V3UkRNy0

I actually made it several years ago, probably around 2007, I only re-rendered it and uploaded it to YouTube recently. I always felt there was a rather painful skill ceiling in POV-Ray. Sure, people have done some really amazing things with it, but going from something fairly simple like this to something really impressive required a level of magic and time I could never get out of POV-Ray.

seligman99··on All 16,777,216 RGB colours (2005)
Indeed, here's my version of the implementation, it's what's currently my wallpaper on most of my machines:

My background, I took a bit of liberty with the colors: https://imgur.com/a/OFcsjZn

And an animated version: https://youtu.be/mO7VuqLNK1w

Fun use case to play around with Octrees to try and speed it all up.

seligman99··on AWS adds an extra 5.5M IPv4 addresses
As always, if anyone has any suggestions on tracking and stats they'd like to see for this on the repo, I'm always welcome to ideas.
seligman99··on Pokegb: A gameboy emulator that only plays Pokémon Blue, in 68 lines of C++
I've done things along these lines for things like the Advent of Code "int-code" assembly language implementations. It's satisfying to go from crashing because an opcode isn't implemented to something that produces output.
seligman99··on Hetzner has banned crypto mining and Chia farming
Where's the line? I rented a EC2 node to calculate a fractal. It involved running a 36 physical cores machine at 100% CPU for a few days.

I paid AWS for that, but I surely impacted the lifespan of that box compared to someone else that would use it for something more traditional. AWS seems happy to let people use EC2 for whatever they'll pay for, for the most part, but does this mean that Hetzner doesn't want me to calculate the next version of my fractal on their machines?

Or has Hetzner just decided they don't want Cryptocurrencies, and that's exactly the line?

Page 1 of 2Next →