HNHacker News
TopNewBestAskShowJobs

ytjohn

730 karma · joined June 13, 2013

www.yourtech.us

[ my public key: https://keybase.io/ytjohn; my proof: https://keybase.io/ytjohn/sigs/NbVxmFLTGl5RnWbxGpDTbDPW7lC6hXYkJD-9EcI7GEo ]

submissionscomments
ytjohn··on Bell Telephone launched a mobile phone during the 1940s
On the amateur radio side of the house, we had what we called phone patches. A radio repeater with a phone connection. Operating a radio with a touchpad, you would enter a code to enable the phone patch, then do the dialing. This was in no way a private call. Anything said on the phone went out over the open repeater. And even more interesting, any other ham could join in on your call. But ultimately, most hams would not do so out of respect.

While popular in the 80s and 90s, they obviously decreased in popularity as cell phone usage/coverage increased.

ytjohn··on The beauty of CGI and simple design
I've been doing a good bit of research and planning for self-hosted Functions as a Service (also marketed as Serverless). Now, right off the bat, setting up one of the frameworks in kubernetes to accomplish this is going to be more complicated than setting up a cgi-bin capable system. So I wouldn't quite recommend self hosting it for a personal project.

But if someone else set it up, or you're using one of the cloud ones, FaaS sort of reinvents the cgi-bin mindset. Here is a talk by one of the Fission.io devs showing the similarities.

https://www.youtube.com/watch?v=X-XV6vvwhuo

Not a plug for fission, not affiliated. I mainly like how they integrate with Keda for event/message queue setups.

ytjohn··on More developers use Linux than Mac, according to 2022 StackOverflow survey
Our team has pipelines that builds, runs, and tests our code in containers. We like to approximate this locally with docker compose. This helps eliminate things like forgetting to update pyproject.toml. Additionally, since the pipeline uses an internal artifactory/harbor (no external Internet), the containers we use have environment variables using the internal resources.
ytjohn··on LXD containers on macOS at near-native speeds
I was going to recommend DevSpace for kubernetes, looks like Telepresence has a lot of similar capabilities. I'll have to check that out as well.

https://www.devspace.sh/

ytjohn··on Username cannot contain 'clyde'
This only happened to me once, but I was leaving BWI airport and asked Google to drive home. I really only needed a bit of help getting onto I-70 because some of the signs were confusing. Well it started navigating and after a few turns, it definitely seemed off. Turned out it was taking me to a Home Health place. I've always been super careful since then to make sure Home was Home.
ytjohn··on ClockworkPi – uConsole, “fantasy console” for indie game developers
GDP makes some good fits for this. I'm partial to the MicroPC, but I mainly use that when troubleshooting network issues. They have a whole lineup, each geared towards a different market segment.

https://gpd.hk/gpdmicropc

ytjohn··on BBSing at 300 Bits per Second
As someone that worked at a dial up ISP and had an ISDN connection at home, modem bonding was really fascinating. At the ISP side, these were all T1 lines, so every line was technically 64k capable. The analog 56k modems rarely made a true 56k connection. However, there were some customers that lived one telephone pole away from the CO, and we would see them connected at 57600. One close customer would show at some oddball speed like 58k or 59k (though we don't know what they actually got at their end).

But for ISDN, each channel was the full 64k and that would bond two channels to 128k. I had a cisco modem that would let me use either channel as an analog phone. So it would connect up both channels, and when a call came in, drop down to one 64k channel. It was incredibly reliable. Even when I got DSL, I kept the ISDN for quite a while because it had more consistent upload speed.

ytjohn··on Volvo is using Rust for its in-vehicle software
I've seen rust used in a lot of bicycles.

More seriously, most ebike firmware is written in C.

ytjohn··on Dead USB Drives Are Fine: Building a Reliable Sneakernet
http://www.nncpgo.org/Comparison.html

This is really amazing stuff. Years ago, I was heavily interested in scuttlebutt [1]. I'm interested in grid down and "occasionally connected" communications. I particularly liked the island to island sailing analogy.

SSB has a few downsides - mainly that your client needs to download full logs. You can't just request the last 30 days. They call this out as well that your first sync could take over an hour and consume several gigs of data.

I'm just today learning about NNCP, but I've used FidoNet and UUCP in the past, so the concept is pretty familiar to me. In my mental model, I would be less interested in sneakernet than standalone wifi hotspots that one could connect to and exchange data, possibly combined with an AREDN style mesh[2].

[1]: https://staltz.com/an-off-grid-social-network.html [2]: https://arednmesh.readthedocs.io/en/latest/arednGettingStart...

ytjohn··on Dead USB Drives Are Fine: Building a Reliable Sneakernet
This reminds me of Angelfire's ftp setup. You got free hosting, but to upload, you had to upload to their open ftp server and use the control panel to copy files into your webspace. The files on the FTP server had an expiration of so many hours, but was otherwise unrestricted. You could upload files larger than what you could use in your free space. It became rather interesting to just browse what people were uploading to the FTP server. I eventually found some people were just using it to transfer files, and some were using it like a message board, dropping .txt notes to each other. These notes were usually just things to indicate some larger file that was being uploaded.
ytjohn··on GoDaddy locks out derivatives of Chrome
I have a user agent switcher extension for Firefox. I have a linux machine for development work, and a Windows imaged laptop for email. There are some work related sites I have to switch the agent for. I know one of the sharepoint sites was arbitrarily "locked down" to Windows only, so I report that I'm running Edge on Windows.
ytjohn··on We don't show typing status
I remember IRC a bit differently - mostly with it being tied to dialup. When we were on irc, we were on. We might be "afk" for a bit, but generally would be back soon. If you saw someone's nick on irc, it was very likely that they were online and active. Even with ICQ and AOL, it was pretty apparent if people were online or not. If they weren't online, or you didn't need a quick response you sent them an email.

As DSL and broadband became more popular, chat moved to being more asynchronous. Chat clients started synchronizing message history with the server to make it avaialble on all your devices. It was easier to leave your presence online, even when you were unreachable.

IRC itself still retains a lot of that realtime chat, mainly because of its transient nature. Yes - the channel might be populated with people that aren't actually there, but the conversation is much more real time. Unless you have a bouncer or web client, the chat history starts when you join the channel and ends when you leave. There's no threading (ok, maybe some of the web-based clients will do that), so even if you see a conversation from a few hours ago, you can't participate in it. At best you can start a new conversation referencing the old one. Not everyone in the channel will have that history.

I consider that lack of permanence a feature. When Google Talk came out, I loved the fact that all my chat history was saved and it was available everywhere. Now that all chat clients have that, I find myself preferring the more ephemeral/transient chats.

ytjohn··on Web Audio Modem (2017)
I've used fldigi between two computers in the same room. It's also made for amateur radio, but when we do training, we just get operators to setup their laptop in the same room. If they have external headphone, that works best since you can basically lay then mic to speaker. But we'll often take turns having one blast out a message over speakers and everyone else receive it.

https://sourceforge.net/projects/fldigi/

ytjohn··on GnuCash
As an update, I decided to try GnuCash out and enter the last months. It's really nice. The first month is going to take you the longest. But entering these really gets you thinking about where your money goes.

For someone starting out, don't go crazy adding empty accounts. Start with a small set of account like the check register or "common accounts" that have a checkings, savings, and maybe a few expenses. Start transcribing from your main or most active checking account. As you enter, you'll see and "Imbalance-USD" account get created automatically in your "transfer" column. What I found useful is to do a few of these, then switch to the accounts tab and create an account for it. Expenses like "Household", and then you can create somethng below that like Utilities. You can put all your Internet and Electricity expenses under that, of if you desire, go ahead and make sub-accounts like "Expenses:Household:Utilities:Internet". Or drop the "utilities" category altogether and embrace a more flat sty "Expenses:Internet". You can later reorganize/rename these however you want.

But once you get the first month in, you have most of your categories setup. If you start on a second month and get something new, you can let it in imbalance and come back to it a bit later. I love the autocompletion and easy account filtering/search/selection in-line.

I don't know if I do enough nowadays to really need this, but if I did, it's definitely pretty easy to work with.

ytjohn··on GnuCash
I don't do this much these days, but when I was doing full time freelance, I honestly only did most of my "accounting" a couple times a year. In the first years, I used Quickbooks and paid banks extra for their OFX service. Then I stopped paying for that and switched to Quicken. I could go to the bank and credit card sites, spend a bit of time downloading a CSV for each month, then I would copy/paste into Quicken. So very similiar process to yours, I just had the CSV files from the bank as opposed to the website statement. It was very quick, even doing 6-8 months worth at a time.

Later, switched to beancount, it had a CSV importer and I tweaked some example script to do an "interactive" import. Each transaction would be presented and I could accept it as is, or modify it. If I saw a common issue, I could make a copy of the CSV and do a bulk replace, massage the data up front and quickly import.

I'm not saying you need to switch to CSV since your system is working for you. I'm mainly just agreeing that manual entry from a monthly statement can be pretty quick. But for those that are lazy like me that don't responsible balance the books each month, manually grabbing the CSVs and importing many months of statements in an afternoon can still be pretty quick. I would keep the bank statement PDFS + the "official csv" around as a sort of backup. Someone wanting to try GnuCash or any accounting software can start by downloading their statements/csvs for the last year and start punching their transactions in to get a real feel for how working with it will be.

ytjohn··on Medusa is a device that allows connecting of old computers to modern displays
That was the first thing I looked for as well. I have a service monitor (combination tracking generator and spectrum analyzer) witch CGA output. There's a fair amount of old engineering equipment with CGA out. They typically have green CRT built in, but if you do hook up an external monitor you get a rather nice color display.

Not a total loss, CGA was also also popular in cabinet arcade games. You can get converter boards. All the ones I've seen had 5-pin headers and you have to build your own cable.

ytjohn··on Are we running out of resources?
Hippopotomonstrosesquippedaliophobia is the fear of long words. Software Engineers are prone to this. @lunasorcery has a talk on this subject.

https://twitter.com/lunasorcery/status/1278984875190689798

ytjohn··on Show HN: Self-hosted service for creating random avatars
One of these I really like that has been around forever is https://robohash.org/ You can generate different variations of robots, cats, and humans.

The source is available as well, and it's also a python module, which is great if you're writing python apps. I found it rather simple to integrate inside of just about any flask/fastapi/django application.

https://github.com/e1ven/Robohash

ytjohn··on Ask HN: Alternatives to 1Password
I've looked into this approach in the past. For me it really breaks down if any of your sites require you to ever change or rotate your password. Then you have to memorize or record the differences.
ytjohn··on Show HN: All desktop software calculators are wrong, so I had to build my own
Thanks for these tips. I have often resorted to making symlinks to hidden folders (dotssh -> .ssh, dotconfig -> .config) because I don't feel like looking up the KB shortcut.

One additional note: after setting the defaults, if you want it to take place immediately, you need to kill finder.

    killall Finder
ytjohn··on Show HN: All desktop software calculators are wrong, so I had to build my own
Thanks for the Forklift recommendation. I've used Path Finder off and on for years, and it has some advantages over regular finder. But it doesn't seem to have enough differences, and their distinguishing features are not readily apparent. Path Finder also has features like upload to S3, but they put that under the menu (Commands -> upload to ).

Will definitely give Forklift a try.

ytjohn··on Show HN: All desktop software calculators are wrong, so I had to build my own
I haven't seen Soulver, but it looks very similiar to the one I use on Mac, called Numi. On Android, I use an app called CalcNote which works in a similiar way. Neither does graphing, but you can do common formulas and functions like cos/sin/rad. I use numi for simple calculations, and find it fantastic when I'm trying to figure out project stuff. A recent use is entering wall dimensions to figure out square footage and compare different building materials. I often leave most of my old calculations in numi like a long-lived numerical memory.

https://numi.app/

https://play.google.com/store/apps/details?id=com.burton999....

ytjohn··on Tell HN: I got 10x Hetzner storage at the same price
It's basically a restricted access linux server. You're given access to SCP/RSYNC/WebDav but no interactive shell, no applications under your control. AFAIK, you can't host a web site on it, as all access requires an account. You could pair it with a Hetzner server/vm (mounting over network) to provide a service, but it's mainly used for backups.

They also have a "Storage Share" which is about the same, but you can serve static files to a group or with the public (ie, hosting videos, images, iso images).

In the US rsync.net provides the same type of (storage box) service. Hetzner's new pricing comes out much cheaper, but if sometimes it's the latency between your location and the storage location.

ytjohn··on The Beanie Baby Bubble of '99
There's another factor going on in housing right now, which is corporate home ownership. There was some pressure on the market when landlords moved from long-term rentals to short-term airbnb style rentals. But last couple years saw an influxed of "iBuyers" like Zillow and OpenDoor. These companies have been purchasing homes at above market prices - which tends to move the market price in the process. Their goal was to get inventory without much regard for profitability.

https://www.cnn.com/2021/11/08/homes/zillow-ibuyer-homes/ind...

ytjohn··on The Beanie Baby Bubble of '99
With Beanie Babies, you actually own something. You might not be able to sell it for what you paid, but you still have something to display or give away. With NFT, you own a URL to an image, but you're relying on the NFT marketplace to maintain that. You're not buying the artwork itself, but some token related to the artwork.

I think a better comparison for NFTs is a star registry. You pay a company to name a star after you (or someone else as a gift). That company will provide a star locator chart and publish a book each year with all the star names they registered that year. You don't own the star, but you do own an certificate saying the star is named after you. Unlike an NFT though, you can't transfer the star registration to someone else.

ytjohn··on I built a system that takes pictures of all the airplanes that fly over my house
This is absolutely incredible. I have been wanting to do this as well, but I was going to approach it from the computer vision approach (blueiris and deepstack ai). Or a dedicated camera and pythoncv. I never even thought of having cameras move to match flightaware data.

A number of planes fly low and when I check flightaware, they're not on it. Or there's a plane that could be it, but it's flight path is heading East to West 30 miles North of me, while this plane came from the South heading North. Also, pretty much once a month or so, a pair of A10 Warthogs fly over or near our house. Last month, we had a real treat with 4 of them directly over the house, better than an air show.

So I'd like to setup 4 cameras on my tower focused skyward and have them try to catch clips of planes. I'll be looking at your work to see if I can also match those with flightaware.

ytjohn··on Self-Hosting Dozens of Web Applications and Services on a Single Server
I had started out the same way, especially if it was a new app and I wasn't familiar with how I really wanted to run it. Some containers expect a fair number of environment variables and multiple mounts. Once I got everything working, I would create a script /svcs with the corresponding docker run command. There's even a cool tool called "runlike" which can create a well formatted command for any running container.

https://github.com/lavie/runlike/

But I've got those migrated to docker-compose files these days and I try to start with the docker-compose file instead of going directly into testing out docker run commands.

ytjohn··on Ansiwave BBS, a modern BBS with ANSI art and MIDI music
Thanks for the detailed response! I did poke around a bit and noticed none of my changes were having any impact. I never really messed with webgl, so didn't notice that was what was doing the rendering. Is webgl MAX_RENDERBUFFER_SIZE something I can set in about:config or elsewhere?

I got my start with BBSes, lots of fond memories. There was one BBS in my area, and they had it setup to RelayNet (similar to FidoNet, but smaller). I knew when they would connect up to exchange, so I would be sure to upload my mail packet and then dial back up 5 minutes after they did their exchange to see if I had any new messages. I could send and reply to messages across the country in a matter of days.

ytjohn··on Ansiwave BBS, a modern BBS with ANSI art and MIDI music
I was thinking the same thing, even considering going into dev tools to try and change the font. Didn't realize it was a firefox on mac thing. I went ahead and opened it in Chrome. It's still pretty difficult font to read, but it is a bit brighter in Chrome.

https://imgur.com/a/KB5irZv

ytjohn··on Show HN: Marvin – A grumpy Slackbot who doesn't like your ideas
Our team used it to provide instant excuses/root cause. We also had a list of just about every Rebecaa Black "Friday" parody.

The "downside" is that these custom responses were global, while a slackbot can be channel specific.

← PreviousPage 2 of 12Next →