[HN Gopher] Ask HN: Most interesting tech you built for just you...
       ___________________________________________________________________
        
       Ask HN: Most interesting tech you built for just yourself?
        
       Maybe you've created your own AR program for wearables that shows
       the definition of a word when you highlight it IRL, or you've built
       a personal calendar app for your family to display on a monitor in
       the kitchen. Whatever it is, I'd love to hear it.
        
       Author : l2silver
       Score  : 934 points
       Date   : 2023-04-27 15:04 UTC (1 days ago)
        
       | hczedik wrote:
       | Type Draw Type
       | 
       | A fun little drawing and writing game, I loved playing with
       | friends and kids with pen and paper. During the pandemic I
       | implemented a web version for us to play remotely. By now,
       | thousands of games have been played (not only by me and my
       | friends of course). You need at least 4 players (better 5 or
       | more) to join one game for it to be fun.
       | 
       | https://draw.gerty.roga.czedik.at
       | 
       | (oh, and it is free and open source, of course)
        
       | pketh wrote:
       | Mine isn't particularly advanced or cool but I built this little
       | directory of kaomojis (text-based emoji) with a cat mascot while
       | I was in San Francisco for an interview at Flickr (this was a
       | long time ago). At the time I was a junior designer with very
       | little dev experience, so this project helped get my feet wet.
       | 
       | http://kaomojicat.com/
       | 
       | I originally built it for a now-ex-girlfriend, but I use it all
       | the time myself to add a little spice to things like tweets or
       | error messages.
        
       | belzebalex wrote:
       | Built one of the first 3d ultrasonic scanner that works in the
       | air to make an autonomous drone [1] [2]
       | 
       | [1]: https://www.alextoussaint.com/2021-04-28_How-I-built-an-
       | ultr...
       | 
       | [2]: https://hackaday.com/2021/05/15/a-phased-array-
       | ultrasonic-3d...
        
       | [deleted]
        
       | lyziinc wrote:
       | I made a custom client for the ChatGPT API, so that I can
       | template and chain together prompts to automate content
       | generation. I only just finished off the workflow feature to
       | prompt chain (where one output goes into one of more prompts),
       | but personally think its cool and has lots of applications.
       | 
       | A little rough on the edges so probably not ready for a ShowHN
       | yet.
       | 
       | https://promptpro.tznc.net
        
       | jim_lawless wrote:
       | I wrote a set of Python/PIL scripts to arrange image collages for
       | print calendars, web backgrounds, ...etc. In one particular
       | script I use to build backgrounds, the images remain the same
       | height but they can be different widths. The images built are
       | seamless. Here's an example of some comic book covers in a
       | collage using one of these scripts:
       | 
       | https://jiml.us/bp/
        
       | actionfromafar wrote:
       | My wife has her work schedule in a mobile web app, but the app is
       | really bad. Turns out the app is just a wrapper around a web
       | site.
       | 
       | So I made a KVM instance which does one thing - login
       | automatically, start Firefox, login with Selenium, then uses some
       | kind of other Python desktop control contraption to press CTRL-S,
       | tab-tab, save the web page to the Downloads folder.
       | 
       | Then, the python program proceeds to parse the HTML (with
       | BeautifulSoup), extract the schedule times from how they are
       | showed in some <div> or other (super weird ugly text format).
       | Checks for changes over time and emails her what has changed. (So
       | she gets a notice when her schedule changes and she doesn't have
       | to periodically check in with the app.)
       | 
       | Finally converts the schedule to calendar format and publishes on
       | a web site so the schedule can also be seen in the phone
       | calendar.
        
         | supahfly_remix wrote:
         | That's cool! What library/software did you get the instance to
         | email?
        
           | actionfromafar wrote:
           | Python has a built-in SMTP client, which I connected to my
           | regular email account. So the emails are "coming from me".
        
       | tomekw wrote:
       | Almost one year ago, I've built a personal diary app with
       | gamificatiin features: streaks and email reminders.
       | 
       | My current streak is 347 days! It really made ME journaling
       | daily. A number of folks who have also registered maxed at 61
       | only :(
       | 
       | https://5yearsback.com
        
       | tehwebguy wrote:
       | Moving box management system!
       | 
       | I used AirTable as a backend and UI, added boxes with a room, box
       | number, barcode and contents details.
       | 
       | Before beginning I printed barcodes for the first 10 or so boxes.
       | I used thermal shipping labels, sliced them into 3 stickers with
       | 2 barcodes each and slapped them on corners so every face had
       | one.
       | 
       | Then I just packed like normal and when a box was full I took a
       | photo of the contents from the AirTable mobile app, scanned the
       | barcode and jotted a note about the contents down.
       | 
       | My local machine was pinging AirTable every few seconds to look
       | for new boxes with photos and would then print out 2 full size
       | labels with the photo, box number large, contents and room name
       | which I then put on 2 sides of the box.
       | 
       | Arriving was amazing, every box had a destination (room) so no
       | double moving. Every box had contents on them so no opening boxes
       | until you are ready. Plus the AirTable made searching for an item
       | and it's containing box trivial.
        
       | StuGoss wrote:
       | I like to fish at night. So I built 3D printed bobbers with an
       | LED diode and scavenged LiPo batteries from vapes inside. It has
       | a dime sized wireless charger receiving coil that is glued inside
       | to a slightly flattened bottom. Externally I built a mini solar
       | panel that charges a scavenged 18650 that charges the battery
       | with a wireless transmitter. The bobber is about the size of a
       | golf ball. I used a slow blinking LED diode that changes color of
       | the bobber. Haven't caught a fish with it yet but it is
       | mesmerizing watching it change colors and bob on the water.
        
       | nicetryguy wrote:
       | Kirby's Adventure for the NES, one of my favorite games, ignores
       | your controller inputs sometimes. I dove into the ROM, figured
       | out the problem and fixed it:
       | https://www.romhacking.net/hacks/7595/
       | 
       | I'm currently hacking the SNES mouse into Sim City.
        
         | pwpw wrote:
         | That's great! I really appreciate these rom hacks that fix
         | errors in the original game to allow for an ideal version. How
         | do you go about hacking a SNES rom? What tools and language do
         | you use?
        
           | nicetryguy wrote:
           | Right now, i'm using the assembler WLA-DX to inject the
           | SimCity base ROM with code changes, and using the SNES
           | emulator Mesen with it's wonderful debugging tools to figure
           | out what the hell i'm doing. I have a keyboard shortcut in
           | Notepad++ that activates a .bat file, injects the base ROM,
           | checks if it built properly, uses a powershell script
           | (written by ChatGPT!) to convert WLA-DX generated labels
           | (.sym) to Mesen debugger (.mlb) format, and if all is well,
           | it starts the emulator with the built ROM and label file. I'm
           | coding in raw 65c816 ASM.
           | 
           | My setup looks something like this:
           | 
           | https://nesblast.com/img/snes_hacking_setup.png
           | 
           | If you have basic ASM experience, the SNESdev wiki will tell
           | you everything you need:
           | 
           | https://snes.nesdev.org/wiki/Main_Page
           | 
           | If you don't have basic ASM experience, i would start here:
           | 
           | https://skilldrick.github.io/easy6502/
        
         | bombcar wrote:
         | This reminds me of the person who fixed the infamous Atari ET
         | game: http://www.neocomputer.org/projects/et/
        
       | 2d8a875f-39a2-4 wrote:
       | Made a desktop app for homebrew beer recipes.
       | 
       | There are plenty of brewing tools out there, but ito data model
       | and workflow they are all basically descendants of ProMash. I
       | wanted something that approached home brewing with a focus on
       | process instead of ingredients.
       | 
       | My data model of a "recipe" is a DAG of typed process steps each
       | of which can have ingredients attached. Liquid volumes move
       | through the DAG and are modified at each step. Outputs of the
       | recipe are at the leaf nodes. This model can represent any wacky
       | brew day you can dream up - including and not limited to multiple
       | mashes, splitting or combining volumes pre or post
       | mash/sparge/boil/cool/ferment/whenever, packaging wort, etc. The
       | regular tools usually can't even represent a partigyle batch
       | properly.
       | 
       | Honestly for my regular 20L single-infusion no-sparge brew day it
       | is probably slightly less convenient than say Beersmith. But for
       | unusual situations it shines. For eg this past festive season I
       | found myself needing to stock up quickly. Designing a 40L "one
       | mash, one boil, two different beers [1]" double batch brew day
       | was easy, and hitting all the numbers along the way for such a
       | mad-hatter exercise was incredibly cool.
       | 
       | [1] Scottish Export and Sweet Stout
        
       | steve_adams_86 wrote:
       | I built myself an automated hydroponic grow tent.
       | 
       | It measures and corrects pH, electrical conductivity, oxidation
       | reduction potential, temperature of the air and water, water
       | level, and humidity. It also automates pumps, lights, and fans (I
       | know people normally advise against this). None of it is
       | particularly sophisticated, but I'm really proud of it.
       | 
       | I initially used a deep water culture and later moved on to the
       | nutrient film technique. It produces a lot of greens and herbs --
       | way more than I ever expected -- and it's remarkably hands off. I
       | recently left it to do its thing for almost 3 months before I had
       | to intervene, and the problem wasn't the water, nutrients, or the
       | system failing explicitly. The plants just got too big for their
       | channels and as they became stressed, they developed some pest
       | issues. It was such a cool and empowering experience to see real
       | world automation Just Work.
       | 
       | The whole thing is powered by an Arduino Nano RP2040 Connect.
       | It's a great little controller.
       | 
       | I'm currently designing my first PCB to consolidate the system
       | onto a single board so my friends can easily build their own.
       | It's not extremely cheap, but it's not too expensive either and
       | you get a tremendous amount of food from it. It's such a fun
       | hobby.
        
         | jacquesm wrote:
         | > It produces a lot of greens and herbs
         | 
         | If that were NL at this point your whole audience would be on
         | the floor laughing. 'Suuuure...'. What some people won't do to
         | get decent tomatoes.
        
           | nemonemo wrote:
           | Sorry for my ignorance, but is NL Netherlands? Also, could
           | you give me some more context on why the people would be
           | laughing?
        
             | madmads wrote:
             | NL is meant as Netherlands here and the context is that
             | since you can't talk about growing cannabis in the open,
             | people talk about their "vegetable" gardens or "herbs"
             | instead. The comment you're responding to is implying that
             | the grow tent is used to grow cannabis but he's covering it
             | up by saying it's a vegetable garden.
        
               | jacquesm wrote:
               | Almost: if it were NL I would imply that it is to grow
               | cannabis but since the OP is obviously 100% sincere I
               | don't doubt they're doing the legit thing.
        
           | steve_adams_86 wrote:
           | Haha, I forget sometimes that I've totally normalized growing
           | greens and other people associate it with cannabis. I've had
           | a couple people come into my workshop and end up looking
           | suspiciously at the grow tent humming along on the corner.
           | When they see that it's actually just lettuce I think they're
           | kind of surprised.
        
             | jacquesm wrote:
             | Np, I just thought it was very funny. I've had a similar
             | thing here where I ordered 500 ziplock backs and the guy on
             | the other side goes '5 gram or 25 gram'? So I asked why the
             | bags are so heavy and hilarity ensued. I needed them as
             | parts bags for Lego... but it turns out they almost
             | exclusively sell to gardeners.
        
           | sirsinsalot wrote:
           | Hey don't judge my pursuit of dank tomatoes
        
             | HeyLaughingBoy wrote:
             | Fingers crossed for full legalization in Minnesota today.
             | Including grow your own!
        
           | RajT88 wrote:
           | You joke, but I have heard radio ads for hydroponic supplies
           | in Canada, which very much had the tone of "wink, wink y'know
           | for your veggie garden".
           | 
           | There was even a chuckling group of people in the background
           | when they mentioned "veggies". This was in Toronto around
           | 2011.
        
           | TeMPOraL wrote:
           | Not from NL, but already started smiling at "hydroponic" :).
        
         | safety1st wrote:
         | Would love to see a blog post on this or something!
        
           | addisonl wrote:
           | Same!
        
             | imdsm wrote:
             | Same here.
        
               | xcubic wrote:
               | Same!
        
               | maxboone wrote:
               | Same!
        
               | Goofy_Coyote wrote:
               | Same!
        
               | 0xbadcafebee wrote:
               | Same!
        
           | modriano wrote:
           | Not OP and not OP's project, but I saw a fantastic automated
           | hydroponic project on YT a few years back that is very
           | similar. YT: [0] Blog Post [1] GitHub for the environmental
           | control system [2]
           | 
           | [0] https://www.youtube.com/watch?v=nyqykZK2Ev4
           | 
           | [1] https://kylegabriel.com/projects/2020/06/automated-
           | hydroponi...
           | 
           | [2] https://github.com/kizniche/Mycodo
        
             | Dazzler5648 wrote:
             | I built a system like Kyle Gabriel's (using his tutorial)
             | and I grow mushrooms with it in a small tent, running
             | Mycodo on a Raspi. This has probably been my most
             | interesting tech I built just for myself, and my sanity.
             | But credit where it's due: thanks Kyle!
        
               | steve_adams_86 wrote:
               | Kyle is amazing. He's still very active and supporting
               | people with Mycodo. I learned a lot from him.
        
         | lifty wrote:
         | Do you use fish as well to balance the system or you do it
         | directly using the right chemicals?
        
           | steve_adams_86 wrote:
           | I'd love to try using fish some day. I use some buffers I
           | mixed from sulphur and potassium bicarbonate. I get them to
           | an approximate pH and then let the system measure gradually
           | as small amounts are dosed into the system.
        
         | Dowwie wrote:
         | Have you checked out flux.ai for PCB design?
        
           | steve_adams_86 wrote:
           | Yes actually, that's what I'm using to learn along with
           | YouTube. I tried other software, but flux kind of hits a
           | sweet spot for me.
        
         | itsmeste wrote:
         | Do you know of a good source of information on how to recognize
         | any plant's nutrient deficiencies accurately?
        
           | steve_adams_86 wrote:
           | Unfortunately no, there's a lot of misinformation everywhere
           | I look. I try to record my own experiences and stay on top of
           | tracking results so I can know what helps under which
           | conditions. Hydro seems to have mostly eliminated those
           | concerns for me, though my outside garden still runs into all
           | kinds of problems that are tricky to diagnose.
        
         | thendrill wrote:
         | Can you please share a list of the sensors you use? I am very
         | interested in this.
        
           | steve_adams_86 wrote:
           | I've been collecting them over time so I don't have
           | everything handy, but here are some:
           | 
           | pH: https://www.dfrobot.com/product-2069.html
           | 
           | EC: https://www.dfrobot.com/product-2565.html
           | 
           | Water temperature: https://www.adafruit.com/product/381
           | 
           | CO2: https://www.adafruit.com/product/5190
           | 
           | Air temp and humidity: https://www.adafruit.com/product/3251
           | 
           | There are others but I'll have to dig into it! I think you
           | could spend less on alternatives, too.
        
             | Kapura wrote:
             | thank you! i am also super interested in something like
             | this
        
               | steve_adams_86 wrote:
               | You should absolutely go for it. Start even simpler and
               | with lower investment if you want, too. These systems are
               | easy to get running and you can gradually add sensors and
               | automation as you go.
               | 
               | I wish I started a lot earlier, but I was constantly
               | trying to have the right stuff, or enough stuff to get
               | started with the perfect setup. It turns out that makes
               | no sense. You're going to make mistakes, learn stuff,
               | figure out what you like and don't like, etc.
               | 
               | Starting with a bare bones setup using NFT, not even in a
               | grow tent necessarily, you'll figure out really quickly
               | what you want to do with it and how to move forward.
               | 
               | Something I also didn't really understand or consider is
               | how easy it is to add sensors or update firmware
               | gradually. Each of the sensors I use is useful
               | independently or together; it's totally fine to start
               | with just one. Though most important is arguably water
               | and air temperature; you'll use those to accurately
               | adjust other sensor readings, and in the short term,
               | they're immediately critical to plant health.
               | 
               | I've got a small system running on my old deep water
               | culture equipment in my outdoor greenhouse, and I
               | actually check its pH with plain old pH testing drops, a
               | vial, and a card with the colours to match against. It
               | works totally fine. While it won't teach you about
               | automation, it'll get you familiar with how your system
               | responds to different conditions, what the pH tends to do
               | with the plants you're growing, and so on. This is all
               | invaluable and I wish I knew it before I started
               | automating. I would have written better code from the
               | beginning.
        
         | prenoob wrote:
         | I'm assuming you have several tanks with ph+ and ph- solutions?
         | Are you using off the shelf ph sensors? How about EC?
        
           | steve_adams_86 wrote:
           | That's right, I've dissolved sulphur and potassium
           | bicarbonate into separate containers, and peristaltic pumps
           | dose a small amount every 15 minutes when the nutrient
           | solution goes beyond the acceptable parameters for an hour.
           | 15 minutes is enough time for one dose to register on a read
           | of the pH level so that it doesn't go too far.
           | 
           | As for EC, I can only correct it if it's too low. If it's 100
           | points below where I want it, I dose from two containers of
           | pre mixed nutrient concentrate. They're in separate
           | containers because they'll actually precipitate some of their
           | constituents if they're combined at high concentrations,
           | which is too bad (it would be nice to use only one
           | container).
           | 
           | The pH sensor I use is apparently lab grade, but only cost
           | around $70 CAD. It has been holding up just fine for close to
           | a year now. If I were doing this on a larger scale, I think
           | I'd go for one that's a bit more expensive from atlas
           | scientific. They seem to stand by their products and claim
           | their pH probes will operate for years if taken care of.
           | 
           | My EC sensor was quite a bit more -- something like $150. I
           | forget where I got it, because I had the idea to build this
           | maybe 10 years ago and that was one of the first components I
           | picked up! Looking around it seems like you can spend quite a
           | bit less now, and it seems like they're durable.
        
         | Aerbil313 wrote:
         | I'm very interested, is it possible for you to open-source it?
         | Also, what are its absolute dependencies? Does it depend on
         | daylight? Fresh air from outside? Stored chemicals? Is
         | water/air recyled? What is the reason behind you making this?
         | I'm preparing for Collapse and want to do such a thing soon. If
         | you can open-source it, it would be very cool and helpful.
        
         | primax wrote:
         | I am intrigued and would like to subscribe to your newsletter
        
         | system2 wrote:
         | How do you keep water touching sensors working long term? I
         | tried similar sensors but they all get rusted / oxidized to
         | work properly after a certain time.
        
           | ljlukkar wrote:
           | You need industrial level sensors and the water needs to be
           | flowing constantly through them. I built something similar
           | about 15 years ago and tested many sensors. In the end I had
           | to pay about 1000 dollars for ph and ec meters that did the
           | job reliably. To be honest there is nothing new here. This is
           | how big greenhouses have been operating for decades.
           | 
           | In small scale there is more work maintaining the automated
           | setup and calibrating the sensors than it would take to do
           | the measurements and dosing manually.
        
             | steve_adams_86 wrote:
             | I think it can cost quite a bit less now, but you're right
             | -- it isn't cheap.
        
           | steve_adams_86 wrote:
           | These sensors are designed to withstand contact with water
           | and to minimize hydrolysis, and I haven't had issues with
           | that so far. I've been running this system for close to a
           | year and they still seem to calibrate just fine.
        
           | netsectoday wrote:
           | You can use capacitive water sensors taped to the outside of
           | non-capacitive containers (aluminum foil, a resistor, an
           | arduino, and a plastic 5 gallon container), but honestly all
           | you need are DNI timers to "automate" any grow operation. Put
           | your lights and pumps on a schedule and there is absolutely
           | no reason to get more creative. If you do anything besides
           | low-level timers you're making it complicated and brittle
           | with no added benefit.
        
           | hksoftware wrote:
           | I've seen a clever setup with the sensors in a dry container
           | above the water tank. There is a hole in the bottom. Before
           | testing, a pump fills the container up with the tank water,
           | flooding the sensor probes. When the pump stops, the water
           | drains back out into the tank.
        
             | ljlukkar wrote:
             | The ph sensor will die fast if it the membrane is kept dry.
        
             | steve_adams_86 wrote:
             | You'd need to wash the sensors and return their caps with
             | protective fluids. It would be totally possible to
             | automate, but perhaps the same overall cost as buying
             | industrial grade sensors which can handle long term
             | submersion.
             | 
             | You'd also need to ensure the caps contained enough storage
             | solution at the right concentration. Over time the probes
             | would introduce drops of nutrient solution (unless you
             | rinsed them with distilled water, in which case you'd
             | dilute the storage solution), and you'd need to replenish
             | it.
        
           | rytis wrote:
           | not OP, but one of the tricks is to activate the sensors only
           | when measuring, so there's no constant DC applied to the
           | sensor wires/pads. once you have that, reduce measurement
           | frequency, so to mainimise the time when voltage is applied
           | to the sensors. for example once every hour for moisture is
           | sufficient, and 1/sec isn't really going to help much.
        
             | amelius wrote:
             | Would alternating the polarity work?
        
               | jesprenj wrote:
               | Off-topic but perhaps interesting:
               | 
               | That's what they do when performing catheter ablation (a
               | medical procedure for curing cardiac fibrilation by
               | destroying minute parts of muscle with electric current).
               | 
               | DC would work just as fine on this procedure, but due to
               | electrolysis of water, oxygen and hydrogen bubbles would
               | form, which could get stuck somewhere. Using a square
               | wave AC quickly reverses the reaction every period, like
               | you suggested for the moisture meter.
               | 
               | https://en.wikipedia.org/wiki/Catheter_ablation#Technique
               | 
               | I don't know the answer to your question, but it would be
               | worth trying.
        
       | princevegeta89 wrote:
       | I built a Frigate event listener and notifier service for Mobile
       | phones that makes use of Pushover.
       | 
       | The currently supported setup of Frigate alerts using
       | homeassistant seemed to be very profoundly complex and I just
       | thought I could use the Frigate API and wrote a small tool with
       | Nodejs. It has been working flawlessly, including sending photos
       | of events to my Android phone.
        
         | l2silver wrote:
         | What's the use case for this?
        
           | princevegeta89 wrote:
           | Getting motion detection events along with video clips and
           | images in push notifications for iPhone and Android, from
           | Frigate, which is a selfhosted NVR for your security cams.
        
       | dmingod666 wrote:
       | I made - A screenshot to text copied to clipboard - Another
       | variant had translation from one of the local languages that I
       | can't read to english - Built a keyboard identifier for windows
       | that could know which USB keyboard the keypress came from and
       | then suppress keystroke and then launch the program
       | (differentiating keyboards is unnecessarily hard btw) - A python
       | app that could pin any app 'on top' or change it's opacity %
        
       | gonzus wrote:
       | Some 30 years ago, I reverse-engineered the format of Prince of
       | Persia's save files and wrote a little C program that would
       | create a save file for any place / level in the game. Just
       | because I could...
        
         | xcubic wrote:
         | We do these kinds of things a lot of the time because of the
         | same reason "Because we can..."
        
         | bombcar wrote:
         | These things are quite useful for speed runners and other fans;
         | it could be worth digging it up
        
       | tojikomorin wrote:
       | I have a "icon switcher for chatGPT".
       | 
       | I know it has no value, but I can't stop using it.
       | 
       | https://chrome.google.com/webstore/detail/personalized-chatg...
        
       | lxe wrote:
       | I made a thingy that receives pictures of the earth from a
       | geostationary satellite:
       | https://gist.github.com/lxe/c1756ca659c3b78414149a3ea723eae2
        
       | uppa wrote:
       | Sounds super simple, but was awesome at the time. In the 90s when
       | all of my music was either on CD or ripped to MP3, I built an FM
       | transmitter to broadcast my computer audio (sonique or winamp) to
       | any radio or receiver in the house. It was a perfect solution
       | that didn't take long to implement. I didn't know anyone else who
       | did this.
       | 
       | About 5 years ago, I had a car stolen and lamented what
       | affordable tracking mechanisms I could use. I cobbled together an
       | extra cell phone and a data only SIM. I kept the phone running in
       | the back of my van plugged into an auxiliary cigarette lighter
       | port. It uploaded data to google spreadsheets every 15 minutes. I
       | had to root it to have it automatically boot when connected to
       | power. In the end, it was flawlessly reporting its location every
       | 15 minutes. While I was testing this, my car was stolen. The
       | google spreadsheet pointed me to the GPS location where it was. A
       | phone call to the police and a 40 minute wait for them to arrive
       | got my car back only hours after stolen. Dude was sleeping with a
       | big knife next to him, so I'm glad I let the professionals speak
       | with him.
        
         | Jeff_Brown wrote:
         | An app that let anybody convert an otherwise-useless phone into
         | a gps tracker might do well. Those trackers can be expensive.
        
       | ajuc wrote:
       | Not very cool but was useful for my hex-crawling D&D campaign:
       | https://ajuc.github.io/outdoorsBattlemapGenerator/
        
         | wetpaws wrote:
         | That's pretty cool actually, going to steal it.
        
       | rehevkor5 wrote:
       | This Speak & Spell simulator: https://sha.nnoncarey.com/
       | 
       | The only one I've found that's as accurate is the emulated
       | version at https://archive.org/details/hh_snspell But mine also
       | has two expansion modules to choose from :)
        
         | bombcar wrote:
         | I'd love to see a piece of hardware like this that you could
         | reprogram easily; or the spin-and-say or whatever it was.
        
       | hnlmorg wrote:
       | A few projects:
       | 
       | - a in car audio system that has physical buttons and text to
       | speech output instead of a distracting display panel. Worked
       | really well for a few months but my soldering wasn't (then) up to
       | par so it eventually fell apart.
       | 
       | - a Bash replacement shell, which I later open sourced and now
       | have a few users beyond myself. But it started out as a personal
       | project not intended to be used by anyone but myself. like is in
       | my profile (if anyone is interested)
       | 
       | - home automation software which manages everything from internet
       | management through to some physical stuff like lights. At one
       | stage I did also have Alexa skills and an Android app written to
       | interact with it but I rarely ever use them so didn't bother
       | keeping those Alexa skills nor Android app up to date and just
       | use the web portal (or SSH) the very few times I need to override
       | any default automation.
       | 
       | - back in the Windows 95 / 98 era I wrote a desktop shell to
       | replace the standard one. It was inspired by Linux desktop
       | environments though I probably didn't realise it at the time.
       | 
       | - currently I'm building a robot with my son. It has object
       | detection, wheels, speakers and will have some rudimentary Alexa-
       | like voice control.
        
       | nhaehnle wrote:
       | A tool called "diff modulo base":
       | https://git.sr.ht/~nhaehnle/diff-modulo-base
       | 
       | Given two version (old and new) of a Git change (i.e., individual
       | commit or patch series from a pull request) it produces a diff
       | that is actually useful for reviewing purposes, assuming you've
       | already reviewed the old version of the change.
       | 
       | It's sort of like `git range-diff`, but where `git range-diff`
       | produces a "diff of diffs" that is very hard to impossible to
       | read, this tool gives you a direct diff between old and new
       | versions, but filters out any irrelevant changes that were
       | introduced because the author rebased on a more recent version of
       | the target branch.
       | 
       | I hope that makes sense - I never know quite how to put it into
       | words for somebody to understand who isn't intimately familiar
       | with Git. It is very powerful though if you combine it with a
       | minimal amount of setup e.g. for fetching all PR branches from a
       | GitHub repository. I use it almost daily as part of my code
       | review workflow.
        
         | difflens wrote:
         | I'm the author of DiffLens (https://www.difflens.com/). I
         | initially built it for myself too (and use it everyday) and
         | it's currently free for anyone to try. It's an attempt to use
         | abstract syntax trees to make diffs more readable. Happy to see
         | another diff project here!
        
         | noisy_boy wrote:
         | Maybe you can put a small example of code changes that
         | illustrates this. The diagram helps but actual output based on
         | a toy example would drive it home, I think.
        
         | PhilipRoman wrote:
         | If I understand correctly, this is like normal Git three way
         | diff except you don't need the full source of the original
         | base?
        
         | scubbo wrote:
         | This sounds very cool! I recently moved from a FAANG company to
         | a smaller one, and I'm _really_ missing the functionality their
         | development tools provided (including this, which I agree is
         | fantastic and sorely missing from the core GitHub experience).
        
       | cknight wrote:
       | I just made a simple sprint calendar so I could keep track of my
       | team's big dates more effectively at work, at a glance from my
       | phone etc.
       | 
       | https://sprintcalendar.com
       | 
       | My team runs with:
       | 
       | https://sprintcalendar.com/3-week-sprints/start-2023-03-23/r...
        
       | rakoo wrote:
       | I combined mblaze (https://github.com/leahneukirchen/mblaze), fzf
       | and standard UNIX tools to build my own CLI MUA in under 300
       | lines, most of which is shell scripts.
       | 
       | When UNIX is your platform you don't need a complex UI framework
       | with thousands or millions of lines of codes, and you get to
       | reuse knowledge you've already built elsewhere.
       | 
       | I need to write more about it
        
       | bobbylox wrote:
       | My wife and I built our own Laser Maze for our front yard so kids
       | could try it out on Halloween.
       | https://www.tiktok.com/@bobbylox/video/7163380326008425770
        
       | greenie_beans wrote:
       | a soil moisture sensor using capacitors as the sensor. it's how i
       | learned to code. i found a few different versions of the project
       | online. couldn't get them to work very well but i was able to
       | piece together enough knowledge of basic circuits to get the
       | sensor to work well with my own circuit design.
       | 
       | once i got it to work, i left it on my desk for a few months and
       | then cleaned it up/removed the circuit. only documented the
       | circuit by a couple of bad photographs, so i'm not sure how to
       | recreate it. i might could figure it out again if i spent the
       | time, but i've been focused on other projects.
       | 
       | https://github.com/smcalilly/sensor
        
         | l2silver wrote:
         | Be nice to hook that up to some kind of watering system to
         | always have the perfect moisture.
        
           | greenie_beans wrote:
           | yep, that was the goal. my friend had a small organic farm
           | but he lived an hour away and needed a good, cheap watering
           | solution. led me to down a rabbit hole and now i'm a software
           | developer. i'll probably revive it once i have some space to
           | do more serious vegetable growing
        
           | DANmode wrote:
           | Geeky misconception: the wet/dry cycle _can_ be optimal.
        
       | HKH2 wrote:
       | I have a music playlist program which deals with the problem of
       | getting used to music. It's effective because I seldom want to
       | choose a track to play, and I don't find myself skipping a lot
       | consecutively.
       | 
       | I have a dedicated key for skipping (and I keep adding meta keys
       | to make it skip more (each meta key is x2)). The next track to
       | play is automatically selected based on the combination of two
       | factors: being skipped less and being played less.
       | 
       | I get to hear my whole collection in a way that's far more
       | enjoyable than an unweighted shuffle.
        
       | is_taken wrote:
       | A PDP11/40 emulator for the Teensy 4.1 development board.
       | 
       | https://github.com/gounselor/Teensy11
        
       | nicolapcweek94 wrote:
       | I have a very basic "content repository" that started out as an
       | RSS reader and now has pocket/instapaper like link saving,
       | notetaking and basic GPT integrations (summary for rss
       | entries/saved links + chatgpt like interface since it's now
       | blocked in italy and it sounded fun to reimplement it).
       | 
       | It's been fun having a project where i can just throw in stuff i
       | want to learn (started out as a go + go templates app, then
       | turned into go backend + vue frontend from scratch, now go + vue
       | with vuetify) and where i can just implement features i want
       | (pocket import for saved links, gpt stuff, linking between notes
       | and saved links/rss entries, ...) that are extremely specific to
       | my use case and thus hard to find in anything else.
        
       | cryptonector wrote:
       | In 2011 and 2012 in between jobs I wrote a few bits of software,
       | of which
       | 
       | - one was a SQLite3-based, all-SQL reimplementation of a subset
       | of UName*It (an object-oriented database from the 90s meant for
       | storing NIS/DNS/etc. data)
       | 
       | - another was an RCU-like lock-less, very fast user-space data
       | structure written in C, born of frustration with read-write locks
       | in Solaris
       | 
       | Of those the latter ended up being useful to me about 5 years
       | later, and I still use it in production, though I originally
       | wrote it for myself.
        
       | theearling wrote:
       | Over the past 3 years, I've been building "FreeCRT", a 24/7
       | Twitch streaming setup dedicated to casual Smash matches. Since I
       | don't have a coding background, I used Node-RED to create custom
       | flows that help manage the stream by connecting a MSI Gaming
       | Laptop, Intel NUC, and Raspberry Pi 4. OCR and Node-RED extract
       | text from the switch, while performing arena error logic, which
       | connects to the Raspberry Pi to run macros to reset the open
       | arena if it's closed. I just recently whipped up a Twitch Chatbot
       | called FreeGPT that hosts the arena anytime. I've built it up
       | slowly but it's been such a fun long term project.
        
       | rzzzt wrote:
       | A desktop application with double countdown timer, styled as a
       | digital clock. One counter measured the days until a friend's
       | farewell party before they move abroad, the other was going
       | towards a festival's opening date at a later time (when we would
       | see this friend again).
       | 
       | I didn't really plan this part, but since going past their target
       | date they started counting upwards and have accumulated 4500 days
       | or so.
        
       | hubraumhugo wrote:
       | How do you find time and resources to build all these cool
       | things?
        
       | ChrisMarshallNY wrote:
       | I'd say almost everything I've written, has been for personal
       | use, even though I publish as public open-source.
       | 
       | I write a lot of modules and SDKs, and regularly consume them in
       | my own work. Comes out great.
       | 
       | Lots of folks ignore my work. I won't bother speculating as to
       | why, but I'm fine with that, as everyone that depends on my work
       | means I need to take them into account, when maintaining. If I'm
       | my only customer, then I can do whatever I want. I write stuff
       | that _I_ need.
       | 
       | Publishing as "classic" public open source, forces me to do a
       | good job, so that means that really significant parts of my
       | projects are pretty much "worry free."
       | 
       | You can see my stuff in my GH orgs (I don't really have much in
       | my personal repos).
       | 
       | https://github.com/ChrisMarshallNY#here-on-github
        
       | xenodium wrote:
       | - A ChatGPT shell that integrates well into my editor of choice
       | https://xenodium.com/chatgpt-shell-available-on-melpa
       | 
       | - A scriptable screenshot/video capture utility
       | https://xenodium.com/recordscreenshot-windows-the-lazy-way
       | 
       | - An iOS habit tracker that's neither cloud-based, nor needs an
       | account, social, wants my attention, data, etc.
       | https://flathabits.com
       | 
       | - An iOS scratch pad that removes further friction than typical
       | note apps https://xenodium.com/scratch-a-minimal-scratch-area
       | 
       | - An iOS org mode app 'cause there are lots of Markdown ones but
       | almost no org mode ones https://plainorg.com
       | 
       | - A way to easily record more complex commands (ie. ffmpeg) and
       | make them reusable for the future https://xenodium.com/seamless-
       | command-line-utils
        
         | georgebcrawford wrote:
         | _scratch_ ed an itch - instabuy from me. Thank you!
        
           | xenodium wrote:
           | Thank you!
        
         | Evan-Purkhiser wrote:
         | Hey wanted to say I love the styling on your blog!
        
           | xenodium wrote:
           | Thank you!
           | 
           | It started as a single org file for personal notes (and still
           | is) exported to HTML. These days, it's a chunky org file, but
           | hey if it works...
           | 
           | https://raw.githubusercontent.com/xenodium/xenodium.github.i.
           | ..
        
         | tojikomorin wrote:
         | I love chatGPT shell. Liang i!
        
           | xenodium wrote:
           | Hey that's great to hear. Thank you!
        
       | King-Aaron wrote:
       | I mean, I put a 4 litre V8 in my mx-5, which I guess is 'tech I
       | built just for myself'
        
         | jacquesm wrote:
         | That's got to be so much fun to drive :)
         | 
         | Triumph had the 'Stag', I suspect this is much the same effect.
         | 
         | https://en.wikipedia.org/wiki/Triumph_Stag
         | 
         | (talk about problem cars...)
        
       | tagh wrote:
       | A simple script that tallies up my cycling mileage based on
       | Garmin activites, and makes me a reminder on my Google calendar
       | when it's time to re-wax my chain.
       | 
       | Scheduling the script to reliably run via Task Scheduler
       | (Windows) was was its own project!
        
       | thisismyuser wrote:
       | CitiBikeHistory.com
       | 
       | I CitiBike a lot around NYC and this gives me (and my
       | friends/coworkers) access to the full station history
        
         | terran57 wrote:
         | That's great! Which APIs are you using?
        
       | stiray wrote:
       | Proxy server with full mitm support for removing / blocking ads,
       | modifying cookies to per session cookies, injecting of anti-
       | fingerprinting javascript into pages, caching, various blocking
       | lists, cname resolving, ASN blocking,...
       | 
       | It was written as I got sick of particularities of squid proxy.
       | Using it for 5 years for home network as transparent proxy, never
       | released it.
       | 
       | "A picture is worth a thousand words":
       | 
       | Application Options:                     --listen=
       | Listening ip and port (format "address:port") (default:
       | 127.0.0.1:8080)                --ini=
       | Path for .ini file, if not there it will be created with defaults
       | --id=                                                Unique id,
       | used for caching and avoiding detection of injected js. (default:
       | machineid)
       | 
       | Certificate Authority:                     --cakey=
       | CA Private Key for MITMing https connections (default: ca.key)
       | --cacrt=                                             CA
       | Certificate for MITMing https connections. It must be imported
       | into client(browser) as trusted CA (default: ca.crt)
       | --cagen=[512|1024|2048|4096]                         CA Private
       | Key (and CA Certificate) generation, keysize. (default: 1024)
       | 
       | Upstream Proxy:                     --upstream.proxy=
       | Upstream proxy (format "address:port")
       | --upstream.cacrt=                                    Upstream
       | proxy CA certificate
       | 
       | Lists Options:                     --list.update=
       | Update databases interval for https paths (default: 24h)
       | --list.path=                                         Path for
       | caching downloaded lists (default: lists)       -D,
       | --domain.blacklist=                                  File/url
       | paths with domain blacklist                --domain.whitelist=
       | File/url paths with domain whitelist       -U, --url.blacklist=
       | File/url paths with url blacklist                --url.whitelist=
       | File/url paths with url whitelist       -A, --adblock.blacklist=
       | File/url paths for adblock rules
       | --adblock.whitelist=                                 File/url
       | paths for adblock whitelist rules       -N, --cname.blacklist=
       | File/url paths for cname masked domain blacklist
       | --cname.whitelist=                                   File/url
       | paths for cname masked domain whitelist       -S,
       | --asn.blocklist=                                     ASN address
       | ranges to block (macros:"facebook", "google", "microsoft",
       | "apple", "amazon")                --asn.whitelist=
       | ASN address ranges to whitelist (macros:"facebook", "google",
       | "microsoft", "apple", "amazon")       -R, --regexp=
       | File/url paths for regular expression replace rules
       | --inject.list=                                       File/url
       | paths with js injection rules                --inject.cache
       | Inject into cache, faster, updating script require cache
       | invalidation
       | 
       | CDN caching: -C, --cdn.blacklist= File/url paths for cache
       | forever cdn rules                     --cdn.whitelist=
       | File/url paths for cdn whitelist                --cdn.expires=
       | Defines expiration for CDN cache (default: 30d)
       | 
       | DNS resolve:                     --dns=
       | File/url path to list of dns servers to use
       | --dns.change=                                        Defines
       | timeout for changing the dns (default: 10s)
       | --dns.timeout=                                       Defines
       | timeout for dns to respond, if exceeded it will be excluded
       | (default: 250ms)
       | 
       | User Agent:                     --user-agents=
       | File/url paths to list of user-agents used                --user-
       | agents.random=                                Generate specified
       | number of random user agents                --user-agents.change=
       | Defines timeout for user-agent randomization (default: 300s)
       | 
       | Privacy Options:                     --header.cspreport
       | Allow CSP reporting                --header.cache
       | Allow cache headers reach clients
       | --header.expectct                                    Allow
       | Expect-CT header                --header.etag.remove
       | Enable removing of ETag used for cookieless tracking
       | --header.hsts.remove                                 Enable
       | removing of HSTS header (we are doing mitm anyway)
       | --header.dnt.enable                                  Set Do-Not-
       | Track header                --image.reencode
       | Enable re-encoding of images to remove hidden tagging
       | --amp.allow                                          Allow AMP
       | redirection                --cookie.validity=
       | Change domain cookie validity ('0' is per-session cookie, off for
       | disabled) (default: off)                --cookie.validity.3rd=
       | Change 3rd party domain cookie validity ('0' is per-session
       | cookie, 'off' disabled) (default: 1h)
       | 
       | Documentation: -v, --version Version information -l, --licenses
       | License information                     --man
       | Generate man page                --txt
       | Generate text documentation
       | 
       | Caching:                     --cache.compression.disable
       | Disable all compression                --cache.sharing.clients
       | Enable clients share same cache
       | --cache.sharing.xsite                                Allow cache
       | sharing for 3rd party domains                --cache.media.enable
       | Cache media content (disk & memory impact!)
       | 
       | Memory Caching:                     --cache.mem.disable
       | Disable caching                --cache.mem.size=
       | Maximum size, if reached expire oldest entries (default: 512mb)
       | --cache.mem.expires=                                 Maximum time
       | before it expires (default: 24h)
       | --cache.mem.nocompression                            Disable
       | memory cache compression                --cache.mem.min=
       | Minimum content size to cache (kb, mb, gb) (default: 512)
       | --cache.mem.max=                                     Maximum
       | content size to cache (kb, mb, gb) (default: 2mb)
       | 
       | Disk Caching:                     --cache.disk.disable
       | Disable caching                --cache.disk.path=
       | Path for on disk caching (default: webcache)
       | --cache.disk.size=                                   Maximum
       | cache size in megabytes (default: 1024mb)
       | --cache.disk.expires=                                Maximum time
       | before cache expires (default: 30d)
       | --cache.disk.ttlexpire=                              Timeout to
       | execute task for expiring cache values (default: 10m)
       | --cache.disk.nocompression                           Disable disk
       | cache compression                --cache.disk.min=
       | Minimum size to cache (kb, mb, gb) (default: 512)
       | --cache.disk.max=                                    Maximum size
       | to cache (kb, mb, gb) (default: 10mb)
       | 
       | Developer Options:
       | --log.level=[trace|debug|info|error|fatal|panic|off] Logging
       | level (default: error)                --log.output=
       | Logging output filename or stdout, stderr (default: stderr)
       | --log.json                                           Logging is
       | formatted as json                --header.debug
       | Enable sending debug headers to clients
       | --db.optimize                                        Enable
       | statistic database optimizations
       | --threadpool.size=                                   Size of
       | thread pool (0 disables thread pooling) (default: 200)
       | --threadpool.proxy.disable                           Disable
       | thread pool for proxying
       | --threadpool.filter.disable                          Disable
       | thread pool for filtering
       | --threadpool.tools.disable                           Disable
       | thread pool for tools                --domain.resources=
       | Proxy resource access domain (default: my.proxy)
       | 
       | Help Options: -h, --help Show this help message
        
       | jaredandrews wrote:
       | I've been meaning to write a blog post about this but the code is
       | so messy I keep telling myself "I'll clean it up first and then
       | show it off"...
       | 
       | Growing up I had an alarm clock that you put a CD into and it
       | would fade in the CD instead of an alarm noise. I really loved
       | this, though having to wake up super early for school everyday, I
       | will admit that I developed negative associations with the first
       | track on many albums.
       | 
       | I created an improvised version of this a few years ago: a timer
       | switch hooked up to a light, a cassette player and a water
       | heater. When the timer went off all three would turn on. This
       | worked but wasn't great cause nothing faded in.
       | 
       | I remodeled my bedroom last summer and wanted to replace this
       | alarm with something more sophisticated.
       | 
       | I used a Raspberry Pi to do the following: - At the set alarm
       | time, access my media server and generate a playlist of 10 random
       | songs. Start this playlist and slowly increase the volume. - I
       | bought a separate module to hook up to a lamp that points at
       | where I sleep. This module lets me slowly turn up the brightness
       | of the lamp as the music volume increases.
       | 
       | The water heater is hooked up to a timer in my kitchen now. But I
       | just finished building an arduino based wifi switch, so once I
       | get it integrated, that switch will get turned on 5-10 minutes
       | before the alarm is set to go off and heat my water for coffee.
       | 
       | I built a dashboard for all of this using HTMX. It lets you set
       | the alarm time, snooze, play arbitrary playlists, adjust the
       | light etc. I also added a weather widget and I have a JSON file
       | of all important birthdays in my life, so it tells me whos
       | birthday it is when I go to review the weather.
       | 
       | Something that HN may appreciate, I have it setup so when I ssh
       | into the Pi, I get dropped into a tmux session where an instance
       | of emacs is running with the actual alarm code being executed
       | inside of it. This makes editing and trying the new functions
       | sort of like a lisp machine. You get dropped into emacs and can
       | tweak all the scripts and test them in a sort of live environment
       | (you have to restart the server to update the dashboard but
       | everything else is 'live'). I have a dream of rewriting this so
       | it really is a lisp machine and everything can be `c-x c-e`'d to
       | run but I doubt I'll ever get around to that.
       | 
       | I would also like to integrate motorized blinds and open them up
       | when I wake. I'm still researching this, if anyone has
       | recommendations.
        
       | susam wrote:
       | https://mathb.in/
       | 
       | I wrote this 11 years ago for my friends and myself who were
       | going through a phase in our lives when we used to challenge each
       | other with mathematical puzzles.
       | 
       | The use of this tool spread from my friends to their friends and
       | colleagues, then schools and universities, and then to IRC
       | channels. Now it is the oldest mathematics pastebin that is still
       | online and serving its community of users. Visit
       | https://github.com/susam/mathb for the source code of this tool.
        
       | Tossrock wrote:
       | I made a visual programming / node editor environment similar to
       | TouchDesigner, vvvv, Unreal Blueprints, etc, on top of Unity:
       | https://www.youtube.com/watch?v=KyDpnzfSg_o
       | 
       | It was originally created to drive a particular large LED
       | installation I work on, but I've generalized it to the point of
       | being able to drive other installations as well. It passes
       | texture data between nodes running compute shaders to chain
       | together patterns/effects, which is a fun and powerful paradigm
       | for creating visuals. Not as powerful or featureful as "real"
       | solutions like TouchDesigner, (which, if I'd known about when
       | starting out, I probably would have just used), but I do know all
       | its ins and outs and can change it exactly how I want, which is
       | nice.
        
       | Luke00126 wrote:
       | Not really that high-tech or that interesting, but I've made a
       | firefox add-on that sorts YouTube video tabs by duration.
       | Recently I realized that someone else actually uses it too (he
       | left a review), so I got motivated to patch it
        
       | rajangdavis wrote:
       | I made an app to control my pedalboard via WebMIDI
       | 
       | https://github.com/rajangdavis/macrocosm_js
       | 
       | Was inspired by some existing editors so I made my own and
       | extended it to create macros for sending sysex/PC messages to
       | multiple devices.
        
       | franciscop wrote:
       | I made a flashcard site with spaced repetition for learning
       | Japanese (I moved to Japan few years ago). I love the idea behind
       | Anki, but both the interface and having to take decision while
       | trying to memorize were a drag on me, so I made the flashcards
       | for a simple "did I know it or not?".
       | 
       | I attribute around half of the Japanese I still know to repeating
       | cards incessantly one after another for months, few years ago:
       | 
       | https://core.cards/
        
       | jckahn wrote:
       | I made https://chitchatter.im/ because I don't trust third
       | parties not to spy on me. I can trust Chitchatter because I know
       | how it works and I built it myself. :)
        
       | ChicagoBoy11 wrote:
       | I have a wonderful group of friends from back home, ranging all
       | over the age spectrum, who all golf together almost religiously
       | every weekend. I made them an app that resembles the PGATour's
       | live scoring, so folks can be on the course and input their
       | scores on the holes and get a live leaderboard of how everyone is
       | doing, factoring in everyone's handicap. There are some
       | commercial apps that kind of do this, but the issue with us there
       | are several members who for one reason or another don't. have
       | phones to input their scores themselves, so my app lets one
       | person in the group put their scores in for the other ones.
       | 
       | After I left the country, this has had the wonderful side benefit
       | that I can still follow along with everyone's game, and has been
       | instrumental in me staying in touch and connected to my friends,
       | so that when I come to visit on vacation it's like I never left!
        
         | leblancfg wrote:
         | Definitely a marketable idea right there, ChicagoBoy11
        
       | jvanderbot wrote:
       | I created an optimizer for helping me make ship loadouts in the
       | game highfleet. I put it online and added ship-sharing. Had a ton
       | of help from a frontend dev, I mostly worked in C using SCIP,
       | IPOPT, and such to solve the constrained optimization problem.
       | 
       | https://hfopt.jodavaho.io
        
       | allochthon wrote:
       | I built a web app that keeps track of every link I ever find to
       | be interesting. It allows for fine-grained topics (e.g.,
       | individual academic papers, or topics more specific than that).
       | It groups the topics in a DAG, so that you can get to a topic via
       | more than one path from the top. And it allows you to look at
       | intersections of transitive closures over topics in order to
       | narrow down a search.
       | 
       | It keeps a history of every change to the graph in Git, so one
       | day you could potentially implement some form of time travel and
       | see what the graph looked like at an earlier point in time
       | without too much difficulty.
       | 
       | I have used the app every day for years. I feel like there's
       | something promising there that is of general interest, but I have
       | not figured out how to communicate the value.
        
         | shruggedatlas wrote:
         | That's an intriguing idea. What is the purpose of it? Can you
         | share screenshots?
        
           | allochthon wrote:
           | My own purpose in using it is to be able to get back to any
           | link that I've read or have potentially wanted to read at a
           | later point in time. You scan see screenshots here:
           | https://github.com/emwalker/digraph.
        
         | leobg wrote:
         | Sounds very interesting. Do I'm having trouble picturing how it
         | works. How do you get the links into the system? I'm assuming
         | this won't work for links that you find on your phone, i.e.
         | when not on your on your computer? And how do these links get
         | indexed? By the stuff that's on the page? What's an example use
         | case of where you use that system to find a link?
        
           | allochthon wrote:
           | It's pretty manual at this point. The indexing is done by
           | hand. The idea is kind of crazy, but I think it can be made
           | to work, in the same way that Wikipedia is maintained by
           | hand.
           | 
           | https://digraph.app/
           | 
           | https://github.com/emwalker/digraph
           | 
           | If you can crowdsource the indexing, you get yourself a
           | manually curated search engine with a nice topic graph that
           | can be traversed. A piece of this puzzle that hasn't been
           | tackled yet is a reputation system to keep the signal-to-
           | noise ratio high and deal with spam.
           | 
           | > What's an example use case of where you use that system to
           | find a link?
           | 
           | An example use case is that I come across some interesting
           | long-form article on a topic I'm following, e.g.,
           | Shackleton's expedition, that's published on a nice website
           | and that I don't have time to read. I can just drop the link
           | in the right topic and get back to it without too much
           | difficulty. Or that's the hope, anyway. (Doesn't always work
           | out that like that.)
           | 
           | Another thing I'm interested in is what the topic structure
           | ends up looking like as it's more fully fleshed out. So
           | sometimes I'll drop in random links even if they're not that
           | interesting, just to build out the topics.
        
       | ziffusion wrote:
       | I built some groundbreaking technology to make it easier to
       | browse torrents on the RARBG website.
       | 
       | https://greasyfork.org/en/scripts/36751-rarbg
        
       | semaj123 wrote:
       | When I was in college, registering for classes was always a pain
       | since a lot of classes would fill up almost instantly once online
       | registration opened, then it was just a game of constantly
       | refreshing to see if any seats had become available.
       | 
       | After struggling through that for a few semesters, I decided to
       | automate it. Started out with a script that would take course IDs
       | as input and check for openings every few minutes (used
       | selenium/beautiful soup I think) then text me via twilio whenever
       | a seat was available. The next semester I updated it so it would
       | even sign me up for the course automatically.
       | 
       | Also came in handy to get myself and a few friends into the
       | coveted wine tasting class our senior year.
        
       | Luke00126 wrote:
       | Not really that high-tech or that cool, but I've made a firefox
       | add-on that sorts YouTube video tabs by duration. Recently I
       | realized that someone else actually uses it too (he left a
       | review), so I got motivated to patch it
        
       | lalunamel wrote:
       | I built a native mac app called FileWatcher. It watches the
       | filesystem for events like read, write, open, mount, stat, etc
       | etc. I wanted to investigate how xcode's build system worked [1]
       | (which relies on `stat` to determine whether or not a file needs
       | to be recompiled) and couldn't find any tool that would do the
       | job.
       | 
       | I was astonished when I couldn't find what I needed - surely this
       | had already been solved by someone else! There are things like
       | inotify and watchman, but they don't provide process information
       | about the events.
       | 
       | I haven't figured out how to distribute it quite yet because the
       | API it uses to collect file system events isn't allowed in apps
       | distributed on the app store. I recently made a short video demo,
       | though[2].
       | 
       | [1] https://blog.codysehl.net/2023/Understanding-the-XCode-
       | Build... [2] https://www.youtube.com/watch?v=EPhMWXzoBWY
        
         | _trackno5 wrote:
         | Pretty cool project!
         | 
         | Why don't you distribute through your own website though?
         | 
         | It doesn't seem like the kind of tool people that only use the
         | App Store would be interested in :)
        
           | lalunamel wrote:
           | Thanks a lot! Yeah, my current plan is to create a small
           | static site and put a download link up on there, but I've yet
           | to get the certificates and signing straightened out with
           | apple.
        
       | gonzus wrote:
       | Recently, I used Zig to write a utility that runs on my NAS (ARM-
       | based) and trawls through all directories looking for SRT
       | subtitle files; it then cleans up these files, getting rid of any
       | subtitles that match any of a set of patterns (such as "Please
       | suscribe to XXX"). The utility does almost zero work for already-
       | scrubbed subtitles, and only does work for new subtitles.
        
       | flir wrote:
       | Very simple one. I geofenced my workplace with IFTTT, and used a
       | tiny bit of javascript glue to drop a line in a google sheet.
       | Instant timesheets.
        
         | yurishimo wrote:
         | How reliable/accurate do you find it? I've always had issues
         | with IFTTT in the past when it came to background geolocation.
        
           | flir wrote:
           | Reliable enough, for me. Big fence (it extended as far as the
           | tube station), and I was there for 8 hours. I was on Android,
           | for what it's worth.
        
       | elmerfud wrote:
       | Way back in the day before space was a non-issue I bought a used
       | pioneer 720 disk DVD changer. Wrote a frontend to control it and
       | mount the DVDs over iscsi for my media center.
       | 
       | Also many years back when I was traveling all the time I created
       | a thing based off the what 3 words data where I could geo drop
       | messages at a location. My friends and I used it for a while but
       | then just forgot about it.
        
         | john_shafthair wrote:
         | Whoa, that DVD changer is almost as big as a server rack. I'd
         | love to have that in my garage.
        
         | l2silver wrote:
         | That geolocation messaging sounds brilliant. I guess Pokemon Go
         | stole your idea.
        
           | elmerfud wrote:
           | It was neat but I never thought it would go anywhere. The
           | idea was kind of like being able to leave virtual graffiti.
           | So anyone could leave their "Kilroy was here" but without
           | actually defacing anything.
        
             | Tepix wrote:
             | That seems like a cool idea, a bit like web annotations
             | (which never took off) but for real world locations.
             | 
             | Ideally you can subscribe to different databases unlike say
             | Google Maps reviews.
        
             | kybernetikos wrote:
             | Fun idea, maybe I'll add something similar to my
             | https://wherewords.id
        
       | hardcopy wrote:
       | https://ppg.report
       | 
       | Shows a nicely formatted weather report for flying my paramotor,
       | pulling data in from many different sources :-)
        
         | l2silver wrote:
         | Alright, i'm buying a paramotor. Thanks a lot.
        
         | 5bolts wrote:
         | dang thats nice. good job
        
       | GeorgeHahn wrote:
       | I wrote a server that bridges Subsonic clients to my Spotify
       | library. I like that it lets me to stream anything on Spotify but
       | I can still fill in favorites that aren't available.
        
       | rollcat wrote:
       | I've written a minimalist replacement for Ansible. It started as
       | a weekend hack, and I'm still using it daily after 7 years.
       | Perhaps it's not technically impressive, but so wasn't the
       | original UNIX, which served as a direct inspiration: how much
       | work can you do with the simplest design and the least amount of
       | code?
       | 
       | https://github.com/rollcat/judo
        
       | hermannj314 wrote:
       | I hooked up an analog phone to Whisper, ChatGPT, and TTS. I used
       | of one of those old timey candlestick phones you'd see in a 1920
       | gangster movie. Initially this was a prop for a murder mystery
       | party I was hosting (ChatGPT would give clues if you said certain
       | words), but now I use it for a silly distraction here and there.
       | Ask ChatGPT a question by picking up a phone like it's last
       | century! I think it is fun.
       | 
       | I am using Asterisk on Debian that calls my python script. The
       | analog phone adapter auto dials when the receiver goes off hook,
       | because rotary dialing sucks that much and the answering
       | extension is chatgpt role playing different characters based on
       | prompting.
       | 
       | I think it is neat. I need to work on better voice synthesis and
       | improve latency a bit still, but it is a nice toy.
        
         | danlindley wrote:
         | That sounds like a lot of fun, and really interesting to boot!
         | I hadn't heard of Asterisk until today.
         | 
         | Have you written anything on the development of this project,
         | or is this something you'd consider? I would love to build
         | something similar, and the idea of combining old analogue
         | technology with modern tools and integrations- especially PBX-
         | is quite intriguing.
        
           | hermannj314 wrote:
           | I haven't written anything up, but I might do that.
           | 
           | Asterisk is extremely powerful and reliable with good
           | documentation. Because so many companies use it, I knew if
           | something wasn't working that it was definitely on my
           | configuration. Once you have Asterisk running on the LAN, you
           | can you use any VOIP softphone app to connect and make
           | "calls" to your scripts for testing.
           | 
           | I bought an analog telephone adapter (ATA) to connect the
           | phone to the LAN as well. At that point, the ATA is the
           | bridge between the PBX and the physical phone and it can now
           | make and receive calls (to destinations reachable by the
           | PBX).
           | 
           | If you want to make your scripts and devices accessible to
           | the "real phone system" (PSTN) you can hook your ATA to a
           | phone carrier (some ATA support this with a secondary port)
           | or have asterisk connect to an external provider. I have not
           | done this step.
           | 
           | There is definitely a bit of steps involved, so it would make
           | a good write-up. A lot of potential to do some fun things
           | with it.
        
       | troebr wrote:
       | I bought one of these LED screens (you get 64*32px, so not a
       | lot!), and I wrote an app to view my local surf conditions on it
       | (so I know what I'm missing out on while working). But because it
       | doesn't support a way to run local apps that fetch from APIs, I
       | had to add a way to show the forecast for other spots and make it
       | "official". No idea how many people use it, but I saw it on
       | instagram ads so that was some kind of validation haha. It looks
       | like this:
       | https://pbs.twimg.com/media/FMi996lVIAAQMI3?format=jpg&name=...
        
         | l2silver wrote:
         | wicked, I love these display projects
        
       | cm2187 wrote:
       | Created a fuckup counter for my team on an old ipad. Inspired by
       | the "x days with no accident" from the Simpsons, a webapp that
       | shows in kiosk mode the number of days without a fuckup and a
       | reset button.
        
         | latexr wrote:
         | > the "x days with no accident" from the Simpsons
         | 
         | Though no doubt most of us know them from all the parodies1,
         | those signs are real.
         | 
         | 1 https://tvtropes.org/pmwiki/pmwiki.php/Main/XDaysSince
        
       | nonoesp wrote:
       | I wrote a live video/audio marker creator with OpenAI's Whisper.
       | 
       | A Stream Deck XL button runs a Python script that creates a
       | timestamp for ongoing video and audio recordings which I use for
       | live stream and podcast chapters while I'm streaming or
       | recording.
       | 
       | Different buttons on the Stream Deck create markers with
       | different labels, e.g., Introduction, Break, Marker, etc.
       | 
       | But as it's hard to name markers for every section and you have
       | to go back to the recordings to infer what each section was
       | about, I added a dynamic marker script that trims audio around a
       | marker with ffmpeg, locally transcribes it with Whisper, and
       | appends the transcript to the marker, so I can easily guess what
       | the marker title should be without having to scroll and watch the
       | video.
        
       | danmaz74 wrote:
       | I built a Chrome extension to be able to use spaced repetitions
       | for chess puzzles/exercises that I found online. Used it for a
       | couple years and gained at least 200 Elo rating with it :)
       | 
       | Recently I built a public facing website for that, if anybody is
       | curious: chess.braimax.com
        
       | andy800 wrote:
       | Built a compilation of local happy hours, lunch specials, and
       | other cheap eats at https://fullprice.no (as in, "do you want to
       | pay full price? No."). The idea isn't all that original but I
       | thought my layout and presentation was rather unique, for example
       | the 24-hour slider as opposed to a clock interface.
       | 
       | I thought it would be easier post-launch to get restaurants to
       | participate and add their own information (nearly-free
       | marketing), but that was a faulty assumption. The admin interface
       | is also pretty cool, very simple to specify blocks of time when
       | the specials are active.
       | 
       | Unfortunately it hasn't been updated in 4 or 5 years. When Covid
       | first started, I launched a sister site just to list restaurants
       | that were open, I took that down about 6 months ago.
        
       | ghbarton wrote:
       | My dad wanted a analysis tool for Flight Sim, ended up having to
       | build one himself that tracks flights then generates loads of
       | reports and maps for you. The map shows you landmarks you flew
       | over with short descriptions, a 3D model of the flight, various
       | charts describing things like glidescope, GForces, speed,
       | pitch/yaw and a bunch of other stuff like runway alignment. He
       | spent so much time that he decided to make a product out of it
       | that's doing quite well: https://myfs.flights
        
       | zehome wrote:
       | was going to buy a house miles away from any DSLAM. As I use
       | internet a lot, I wrote something to help handle the lack of
       | bandwidth [1] mlvpn.
       | 
       | Then mptcp came, and I just did use a socks5 proxy with mptcp,
       | which handles fluctuations of the link quality much better.
       | 
       | Used it a lot at work tho, for VPN redundency
       | 
       | [1] https://github.com/zehome/MLVPN
        
       | zaphar wrote:
       | I built a simple recipe meal planner and shopping list generator
       | to manage family meals or dinner parties.
       | 
       | The recipes are stored as free text and the ingredients are
       | parsed out of the text so you can just copy paste most recipes or
       | record them the exact same way that your old family recipes were
       | written down.
        
       | MaxLeiter wrote:
       | Ported X11 to iOS
       | 
       | https://maxleiter.com/blog/X11
        
       | withinboredom wrote:
       | A deadman's switch connected to a manner of things. It basically
       | works by 'non-existence' instead of existence and fires a webhook
       | once something stops. For example, if my computer is turned off
       | for a couple of weeks, it will send an email to loved ones. When
       | I go day hiking, something similar happens when my phone loses
       | service/power for more than a couple hours and sends a low-
       | quality gps track. Basically it's if-this-then-that but more like
       | if-this-stops-then-that. I have it tracking all kinds of things,
       | like git-commits-per-person, server/device health metrics, and
       | things like that.
        
         | sowbug wrote:
         | You could imagine a combination of a Tor-like architecture and
         | Shamir's Secret Sharing Scheme to construct a scavenger-hunt
         | encryption system. Maybe 10 dead-man-switch utilities around
         | the world agree to reveal X when Y happens (or doesn't happen),
         | but their policies aren't even revealed until the first N
         | secrets are broadcast. That way you can distribute the risk of
         | collision, and meter the rate of a final secret being revealed
         | or job being executed.
        
         | parentheses wrote:
         | I'd love to see the code for this. Seems useful.
        
       | pugworthy wrote:
       | I have been working for a while on a wooden sailing ship model,
       | where at times one will reference model parts in terms of real
       | dimensions - e.g., a 4" x 18" piece of wood. But that has to be
       | translated into the model's scale when measuring the model parts.
       | 
       | To streamline this, I made a little Arduino-driven device with an
       | OLED display that can plug into the digital output port that many
       | digital micrometers have. It takes the current micrometer
       | measurement, applies the scaling factor, and displays the scaled
       | dimension on the OLED.
       | 
       | So that means I can take a small piece of wood from the kit,
       | measure it with the micrometer, and directly see its full scale
       | dimension - e.g., it's a scale 8" thick plank. Or I can take the
       | micrometer to the 8 foot measure, and use it to mark off a piece
       | of wood that I want to be that long.
        
       | PaulHoule wrote:
       | Smart RSS reader that, right now, ingests about 1000 articles a
       | day and picks out 300 for me to skim. Since I helped write this
       | paper
       | 
       | https://arxiv.org/abs/cs/0312018
       | 
       | I was always asking "Why is RSS failing? Why do failing RSS
       | readers keep using the same failing interface that keeps
       | failing?" and thought that text classification was ready in 2004
       | for content-based recommendation, then I wrote
       | 
       | https://ontology2.com/essays/ClassifyingHackerNewsArticles/
       | 
       | a few years ago, after Twitter went south I felt like I had to do
       | something, so I did. Even though my old logistic regression
       | classifier works well, I have one based on MiniLM that
       | outperforms it, and the same embedding makes short work of
       | classification be it "cluster together articles about Ukraine,
       | sports, deep learning, etc." over the last four months or
       | "cluster together the four articles written about the same event
       | in the last four days".
       | 
       | I am looking towards applying it to: images, sorting 5000+ search
       | results on a topic, workflow systems (would this article be
       | interesting to my wife, my son, hacker news?), and commercially
       | interesting problems (is this person a good sales prospect?)
        
         | embit wrote:
         | I do something similar for my personal news reader. [1].
         | Originally I had done it so I can read my tech news quickly.
         | Now few of my friends also have started using it.
         | 
         | [1] https://embit.ca
        
           | md_ wrote:
           | Amusing. I, too, wrote my own ML-powered newsreader. (Not
           | linking here because I don't want to de-anonymize my HN
           | handle.)
           | 
           | I guess this is a thing people do. ;)
        
         | ambicapter wrote:
         | What do you mean by "outperform" in this context?
        
           | PaulHoule wrote:
           | Area under https://en.wikipedia.org/wiki/Receiver_operating_c
           | haracteris... curve.
           | 
           | It's by no means perfect. For one thing if I have a choice of
           | 0.78 ROC based on 40 days worth of data and 0.77 based on 10
           | days worth of data I'd take the later because I know the
           | later one adjusts more quickly to my changing preferences.
           | Also my selection algorithm breaks up the input into (say) 20
           | clusters and shows me the (say) 15 top results in each
           | cluster and I know I like the results from that better than
           | if I just take the highest ranking results.
        
         | kasrak wrote:
         | Cool!
         | 
         | I've been hacking on a related side project -- in my case, I
         | wanted something like this but for Twitter. Right now it's
         | using gpt-3.5-turbo to cluster related Tweets & rank based on
         | my interests.
         | 
         | Source is here: https://github.com/kasrak/feedpaper
        
           | imirzadeh wrote:
           | I also wrote my own feed aggregator (https://mofeed.news)
           | from scratch in Go. It can connect to twitter, reddit,
           | spotify/itunes(podcasts), rss, medium, youtube, etc.It has a
           | good search engine (meilisearch) and also supports newsletter
           | (each user has an inbox).
           | 
           | I'm currently testing it and have a few test users for
           | feedback. I hope I can open source it sometime this year,
           | after integrating the feedbacks, and polishing the code.
           | 
           | It's not intelligent for now, but that's by choice. Instead,
           | I prefer to have custom rules for filtering (e.g., adding
           | tweets from user X to feed only if the likes are above a
           | threshold). I may use GPT for summarization later, but
           | honestly most of the posts are either short (e.g., tweets),
           | or they come from websites that have description/summary in
           | their meta tags.
           | 
           | Please shoot me an email to `hey@mofeed.news` if you want to
           | test it :)
        
         | nergal wrote:
         | Nice approach! I added a very basic keyword filter in my rss
         | reader (https://github.com/lallassu/gorss) to do some sort of
         | "cleaning". But having a section in the reader that would
         | filter out the articles more intelligent would be very nice,
         | and maybe bundled them into clusters.
        
         | 6510 wrote:
         | I too have an (private) RSS "laboratory" project!
         | 
         | It isn't the elegant machinery you describe here as I'm quite
         | unfamiliar with the technique you describe.
         | 
         | If I'm actively using it the feed list grows to about 35-40 000
         | at which point I find as many new feeds as I lose old ones.
         | 
         | I maintain a dozen categories of badwords, if any of those are
         | in the headline it will be removed.
         | 
         | With many subscriptions things look quite different, higher
         | frequency publishers start dominating the top of the newest
         | list. The faster they publish the higher the standards I hold
         | them to.
         | 
         | What is quite amazing is that some really terrible news
         | websites use long titles that are highly descriptive. I have a
         | good few of those, they get to stay around because the badword
         | filter purges so much I hardly ever see them. For every 2000
         | bad ones business insider has a great article. It's a terrible
         | website but their use of descriptive words in article titles is
         | the best in the world.
         | 
         | The key insight imho is that the internet is much more of an
         | echo chamber than people think.
         | 
         | As soon as you get rid of Musk and a few hundred other people,
         | a few hundred companies, a dozen countries and a few thousand
         | other topics you are left with a world of infinite other
         | subjects. People are writing about stuff no one else ever
         | thought of.
         | 
         | If everyone in the world is reading and writing about FOO it is
         | absolutely amazing to get rid of FOO. There is no such thing as
         | an important football match. (joking sorry)
         | 
         | Everyone is praising normality but you should really wonder who
         | creates these norms. If they are good of bad people is besides
         | the point. Musk says 1 something interesting per day I'm sure.
         | For every 100 000 topics inserted into the collective we chose
         | 1 then, by the tens of millions, we talk about it. Every day is
         | Musk day.
         | 
         | It doesn't matter how hard you resist participating, eventually
         | you will learn that space x launched a rocket. There is no
         | avoiding it.
         | 
         | Autonomy is something fucking amazing. I imagine millions of
         | articles are published per day. 99% things said before. What
         | part should I want to read? The 1% with the most traffic?
         | 
         | You should get on the train to nowhere just like everyone else
         | - they say. Stop wandering around on your own, you should get
         | on the train just like me!
         | 
         | I'm not usually telling anyone not to get on the train. If
         | people want to discuss "rss is dead" for the ten thousandth
         | time, let them. They think they chose the topic themselves.
         | 
         | There is 13 billion years of history, 6000 sq km of earth, 7.9
         | billion people alive, 100 billion dead, 8.7 million species of
         | plants and animals, 350 thousand chemical compounds, 130
         | million books since the printing press, 100 billion stars in
         | the milky way alone. What to spend my time on? The Trump
         | investigations? Really?
         | 
         | I'm sorry for not being very technical.
        
           | PcChip wrote:
           | Interested in your filters, or a link to your results!
        
         | greenie_beans wrote:
         | this is cool, thanks for sharing
        
         | internetter wrote:
         | Do you have public source code for this? Looks great.
        
           | PaulHoule wrote:
           | It's something I'm thinking about.
           | 
           | The system right now is highly reliable, I have no fear of
           | doing a live demo of it, but live demos come off as strange
           | because my feed is a strange mix of arXiv abstracts, Guardian
           | articles about association football, etc. so it comes off as
           | idiosyncratic and personal. (Oddly when I started this
           | project I loved the NFL and hated the Premier League, when I
           | started doing feature engineering as to "Why does it perform
           | so well for arXiv papers and so poorly for sports" I started
           | studying football articles in detail and started thinking
           | "How would I feel if my team got relegated?" and "Wow, that
           | game went 1-0 and it was an own goal" and next thing I knew I
           | was hanging on every goal in every game Arsenal and Man City
           | play -- it changed me.)
           | 
           | It's not even that hard for me to swap algorithms in and out
           | but it should be easier, for instance I like the scikit-learn
           | system for model selection mostly but there are some cases
           | like SVC-P where I want to bypass it and I am not so sure how
           | to comfortably fit fine-tuned transformer models into the
           | system.
           | 
           | Another problem with it is that it depends on AWS Lambda and
           | Suprfeeder for ingestion, it costs me less than $5 a month to
           | run and about 10 cents per feed but (1) that's not cost-
           | effective if I want to add a few hundred blogs like
           | 
           | https://www.righto.com/
           | 
           | and (2) I know many people hate AWS and other cloud services.
           | 
           | If somebody were interested in contributing some elbow grease
           | that would help the case for open source, alternately a
           | hosted demo of some kind would also be possible but I'm not
           | ready to put my time and money into it. Contact me if you're
           | interested in finding out more.
        
             | rolisz wrote:
             | > If somebody were interested in contributing some elbow
             | grease that would help the case for open source,
             | 
             | Sent you an email! I've been wanting such an ML powered RSS
             | reader for quite some time. I'd love to help make it open
             | source if possible.
        
       | podviaznikov wrote:
       | - build a tool to easily connect and analyze public datasets. Eg
       | connect dataset for country population with the dataset on
       | international students in the US and get new dataset on
       | international students in the US per capita - build a tool to
       | publish my personal website from my Apple Notes
        
       | jen_h wrote:
       | * A script that periodically screenscraped booked-up campsite
       | reservation sites for cancellations during dates I wanted and
       | sent me text messages (thanks, Twilio!). We got to stay at a
       | bunch of amazing places at the last minute this way. We're
       | currently grounded, but I recently ran it again for my parents
       | and was shocked to find it still worked!
       | 
       | * An Alexa app that provides a search interface to Old Time Radio
       | shows on archive.org and saves your place (this was technically
       | for my mother-in-law, the proof-of-concept with arcade sounds for
       | my spouse). We all ended up using it a ton, though, it was kind
       | of magical (the random function was really fun). I also set up an
       | Alexa app to read me recent CVEs, but it's more of a goofy parlor
       | trick than useful. ;)
       | 
       | * A Rube Goldbergian bunch of terrible scripts that I can feed
       | PDFs to, OCR, poorly-translate (using the expected engines or my
       | own diymodel) and generate epubs from. And a bunch of scripts
       | that convert Markdown to LaTeX and epub for personal book
       | publishing projects.
       | 
       | Thanks for asking this question, it's so neat to see everyone's
       | responses! I might ping my spouse on this post, too, who's
       | developed a crazy amount of personal projects that combine
       | software and hardware to fixup our/our families' lives.
        
       | karakanb wrote:
       | I lived in a family apartment growing up, and we'd lock the door
       | to the entire building at night when everyone was home with a
       | sliding lock so that it could only be opened from the inside.
       | However, that'd mean you need to ensure at least one person from
       | every apartment was home, otherwise you'd need to go downstairs
       | and let the others in in the middle of the night.
       | 
       | All the 3 apartments in the building were sharing the same wi-fi
       | device, therefore I built a simple scanner to find all the
       | devices in the network, connect them to the individuals I knew,
       | and show the devices I found on the network in a simple website,
       | which then I installed on my parents' devices as a PWA. The
       | scanner would run in a Raspberry Pi I had lying around.
       | 
       | In the end it wasn't very reliable, the router kept failing
       | occasionally due to nmap, and after a few failures we stopped
       | using it, but it was a fun experiment for me.
        
       | rmholt wrote:
       | I struggled with procrastination a lot so on top of Pi-Hole I
       | built myself an automatic procrastination tracker and blocker,
       | this setup helped reduce my procrastination from several hours a
       | day to almost nothing (over the period of several years of slowly
       | unlearning the bad habits)
        
         | plastic_bag wrote:
         | As someone who is struggling with procrastination, I'd love to
         | know more about how it works and how it helped you overcome the
         | bad habits.
        
       | parentheses wrote:
       | I'm slightly embarrassed that in terms of building personally
       | relevant things, my proudest (digital) work is always shell
       | scripts I use daily. Most of my personal projects are non-
       | technical meat-space things like building with wood and the like.
       | Here's some that I've open-sourced:
       | 
       | - A git interface using fzf that works pretty nicely and is very
       | composable. https://github.com/bigH/git-fuzzy
       | 
       | - An interactive evaluator, perfect for interactive `sed`,
       | `grep`, `jq`, etc. If properly configured, it'll keep history per
       | command or using whatever key you give it. I find myself using it
       | often with `jq`. https://github.com/bigH/interactively
       | 
       | There are many other shell functions/scripts that are interesting
       | from my `dotfiles`. Particularly interesting snippets for anyone
       | who wants them:
       | 
       | - A recursize `which` that follows symlinks and stops at a real
       | file.
       | https://github.com/bigH/dotfiles/blob/3d48792b4e910d2fc82504...
       | 
       | - A `watch` alternative that runs in the current shell.
       | https://github.com/bigH/dotfiles/blob/3d48792b4e910d2fc82504...
        
         | seanw444 wrote:
         | You accomplish things in real non-computer life? Nerd.
         | 
         | For the downvoters, that's what we call a "joke". I appreciate
         | when I hear from not-terminally-online people on here.
        
           | parentheses wrote:
           | Upvoted ;)
        
         | alin23 wrote:
         | I'm a long time user of git-fuzzy, thank you for that!
         | 
         | I am also grateful to hear about "interactively", I always had
         | to write some kind of half baked implementation, it's great to
         | finally have a defacto solution.
        
       | akhayam wrote:
       | About 8 years back, I was leading an engineering team which was
       | the escalation path for customer support. We were sitting on a
       | large corpus of support tickets but didn't have any insights. I
       | was amazed when word2vec came out and blew my mind. So I built a
       | language model that trained on support ticket data. I modeled
       | system logs attached to support tickets as an NLP model to
       | predict what was going to fail next and for which customer.
       | 
       | Never made it to prod but was a great tool for me to see where I
       | want to budget my team's time.
       | 
       | This is way before all the LLM and Generator models, but it was
       | such a fun project.
        
         | onesphere wrote:
         | We have a corpus or database of programs that follow logic but
         | with no simulation, so it represents knowledge to solve a
         | problem yet all we have control over is the parameters
         | (inputs). In this case, input is functional logical content (a
         | program), describing the resolution of corpus details. The
         | model solves its integrated, corporate logic, and our output is
         | an interpretation of that individual program.
         | 
         | Now our task is to swap out this entire database for something
         | like it, but not exactly the same. The output becomes the input
         | to this new matrix. The individual program persists, but
         | everything is the next generation. With a little book-keeping,
         | the programs do our will...
        
           | akhayam wrote:
           | Don't think I quite follow. Is the new program (operating on
           | the output of the earlier program) supposed to reason about
           | why you are seeing the result that you are seeing? Or is it
           | doing more post processing to make the earlier output
           | directly consumable by your corporate systems.
        
             | onesphere wrote:
             | The new program's purpose could be to do more post
             | processing to make the interpretation of that earlier
             | program directly consumable (inter-generationally), or it
             | could simply start producing more problems to solve.
        
               | akhayam wrote:
               | Gotcha! That makes sense. I would recommend looking at
               | LangChain though, as it does a good job at modeling
               | multi-stage learning / inference environments.
        
         | UweSchmidt wrote:
         | >This is way before all the LLM and Generator models, but it
         | was such a fun project.
         | 
         | That means something more sophisticated _has_ to exist today
         | and should be commercially available. Can anyone explain to
         | what extent companies use this stuff in their interaction with
         | customers, and how successful is it? (Somehow I still see AI
         | still as one-off things people do for fun or AI being used to
         | hype up rather mundane software.)
        
           | akhayam wrote:
           | It should exist and would be super powerful considering all
           | the recent advancements in language ML. Here was the mental
           | model of my model: the canonical representation (i.e. a
           | representation after taking out run-time populated fields) of
           | a log line represents the smallest meaningful unit of this
           | "log language": _a word_. Taking this analogy further, an
           | event is a collection of logs that occur together (mostly in
           | order)--just like words spoken together form _a sentence_.
           | Finally, collections of events that occur in close proximity
           | (in time) represent _paragraphs_, while paragraphs occurring
           | in a certain order constitute _chapters_. Using this mental
           | model opens the door to apply all the new AI techniques for
           | text extraction, summarization and generation to extract the
           | semantic structure of any "log language" and then learn and
           | classify behaviors observed at run-time. The eventual
           | objective function is not generation though--it's reasoning
           | with the optimal FP-TP tradeoff on a ROC curve.
           | 
           | I haven't seen anyone do it yet. Maybe companies like Splunk
           | and Elastic will take a lead here. I am happy to engage,
           | advise and contribute if there is an open source project
           | around this. Has anyone else seen something remotely close to
           | this?
        
             | UweSchmidt wrote:
             | Very interesting, thanks!
        
       | NotPavlovsDog wrote:
       | A TDCS device. Trans-cranial Direct Current Stimulation, mostly
       | experimental, somewhat proven for short-term depression and
       | cognition improvement. Motivation was my solution would be
       | simpler and easier to control as well as include triple safety.
       | 
       | I had little trust for the Chinese IC steered devices nor the
       | early US attempters at pop market that refuse to describe even
       | their safety approach.
       | 
       | Pleased with my personal results. Would not openly recommend
       | doing it, because the DIY route as well as adopting TDCS do
       | require that you can competently read medical studies. At least
       | half of those I browsed fail good science test even at first
       | glance.
       | 
       | And then of course the manufacturers and sellers are even worse,
       | such as they are quite good at parroting misquotes of study
       | results for marketing and PR.
       | 
       | Next plan is build an ECG and my own medical ultrasound, although
       | with that one it is probably best to wait for about 5 to 7 years
       | till the new-tech ultrasound generators get to market.
        
         | yeswecatan wrote:
         | If you're in the area, Stanford's Brain Stimulation Lab is
         | always recruiting for clinical trials:
         | https://bsl.stanford.edu/clinical-trials/
        
         | wholinator2 wrote:
         | So did you build the device or research and purchase a personal
         | one? I've been thinking of doing this for probably approaching
         | a decade and been terrified of the potential consequences.
         | 
         | What do you use it for? Just the typical depression type thing
         | or have you experimented with it at all? Super interested
        
       | JoelMcCracken wrote:
       | Its probably too late to comment for anyone to see/respond, but
       | I've been working for a long time on a personal workstation
       | automation/configruation project:
       | 
       | - https://github.com/joelmccracken/workstation
       | 
       | At this point, its basically ready to go. Its a weird feeling.
       | I've been working on it for so long, and now it... works.
       | 
       | Being able to use github actions with macos runners makes this
       | project so, so, so much easier.
       | 
       | Another project I've been working on is a custom authoring format
       | - think markdown, but customized to my needs (specifically, the
       | format is extensible). Think markdown/xmlish hybrid. There is a
       | lot of churn though so I'm not quite ready to demo it, but once I
       | get something interesting I'll share it more with folks.
        
       | RheingoldRiver wrote:
       | It's a Firefox extension for just me. [0] I've posted it here
       | before, and one user said they'd start using it. I hope someone
       | else finds it useful again. The problem: I wanted to be able to
       | mute League of Legends streams in between games with a hotkey,
       | and without changing visibility of any windows in the process of
       | doing so. This is a much harder problem than you'd think, even
       | with the existence of Autohotkey, and NirCmd, and ControlSend,
       | because Firefox is really annoying. [1] It ended up requiring me
       | to write an entire Firefox extension as well as use an AHK that
       | uses ControlSend.
       | 
       | Anyway, yeah, that FF extension. It represents the culmination of
       | about 5 years of me trying to solve this problem with
       | progressively more complex and incrementally better solutions
       | until I finally arrived at a ridiculously over-engineered version
       | that actually works as it should.
       | 
       | [0] https://github.com/RheingoldRiver/MuteTabsMatchingPattern
       | 
       | [1] https://river.me/blog/global-hotkey-mute-firefox-stream/
        
       | antirez wrote:
       | A DNS server, many many years ago. Just to avoid using bind:
       | 
       | https://github.com/antirez/yaku-ns
        
         | Aeolun wrote:
         | What's wrong with using bind?
        
           | bombcar wrote:
           | Many, many years ago bind was an absolute giant complex ball
           | of security holes.
        
       | mind1master wrote:
       | Self-driving LEGO car that uses iphone as a lidar/camera and runs
       | computations on a macbook air https://blog.mind1m.xyz/posts/lego-
       | car-part-1/
        
       | 7723 wrote:
       | Maybe not the most interesting but a CLI utility that would do 2
       | things (gaming related):
       | 
       | * guess the gameserver tick rate based on network traffic
       | patterns between game client/server (cs:go for example) and
       | display it in grafana
       | 
       | * collect keyboard inputs while playing and display them as a
       | heatmap on grafana
       | 
       | All of this for no real reason.
        
       | can3p wrote:
       | I've built two projects that I'm very happy with.
       | 
       | I'm still using livejournal.com social network nobody cares about
       | today and when I was really into common lisp I decided to build a
       | cli client to it. What makes it cool is that it's just markdown
       | files locally and the client works almost like git, you can even
       | pull and push posts. After I wrote it I was able to pull all my
       | posts since 2007 or so from the service and have them locally as
       | markdown files, any updates would be synced.
       | 
       | The other thing I've built mostly for my self is a notes taking
       | service https://dabdab.org which allows to take notes the way I
       | want it. What was cool about it was that I was able to almost
       | reinvent django or rails but in go, so everything is fast, but
       | still compile checks. From the product side I've managed to get
       | to the same level of comfort one would get with github issues
       | (markdown, image upload etc).
       | 
       | Both things have 1 user at the moment (me) do I think that counts
       | :D
        
       | dang wrote:
       | Definitely my HN moderation browser extension, which lets me flip
       | through HN super fast and do routine mod tasks without gruntwork.
       | 
       | If I live long enough, I will factor out a general-reader version
       | of this that will bring joy to HN power users everywhere.
       | 
       | It requires a keyboard, though. Do the kids still use those?
        
         | chrismorgan wrote:
         | Ah, browser extensions and user scripts are _so great_ for
         | improving websites.
         | 
         | Most of my current user scripts:
         | 
         | * Hold z to make a currently-playing audio or video go at 4x
         | (the fastest you can go before Firefox cuts off the audio).
         | 
         | * Auto-admit in Google Meet (wish they'd implement this
         | themselves). There were a couple of browser extensions to do
         | that, but I looked at their source and was appalled at how
         | badly and/or stupidly they implemented it, and so wrote this,
         | which is better (... so long as you use English--one of them
         | supported I think it was Japanese as well) _and_ more
         | efficient: new MutationObserver(() = > {
         | document.querySelector("[aria-modal='true'][aria-label*='join']
         | [data-mdc-dialog-action='accept']")?.click();
         | }).observe(document.body, { childList: true, subtree: true });
         | 
         | * Retitle a few web apps that have consistently useless
         | document titles, by pulling in actual document contents. I gave
         | this to my sister, who regularly has hundreds of VicFlora tabs
         | open, which used to be all titled "VicFlora"; last year they
         | fixed that but got the endianness wrong, "VicFlora - <Page
         | title>", so I fixed that to "<Page title> - VicFlora" so you
         | can actually see the useful part in the tab bar. (Document
         | titles should be little-endian.)
         | 
         | * Find <video autoplay> and turn on controls (since I have
         | autoplay blocked--incidentally, this is something disabling
         | autoplay should probably automatically do, at least until you
         | start the video).
         | 
         | * Kill aos-* animations on pages, which stupidly tend to make
         | the page invisible until their JavaScript loads. (This is
         | important for me because I disable JavaScript, but those "fade
         | in when the page loads or as you scroll" animations are really
         | annoying even when they work, killing them makes things
         | better.)
         | 
         | * Fix Cloudflare "[email protected]" stupidity without having
         | to run the page's arbitrary JavaScript. (Basically: take their
         | deobfuscator script and just run it myself if it gets used.
         | Only people that deliberately block JavaScript are likely to
         | have seen this, but it's quite common. The filter they use is
         | evidently very dumb, obfuscating quite a few things that are
         | not email addresses, including things like "package-name@1.2.3"
         | (not even valid--IP address hosts have to be in square
         | brackets, and DNS doesn't use numeric TLDs) and "user@host" in
         | console logs.)
         | 
         | * Put the current weather into the favicon on
         | weather.bom.gov.au (... except that they this shut down last
         | month for no obvious reason, with no equivalent replacement
         | unless you run Google Android 6+ or iOS, which I don't on _any_
         | device, let alone my laptop; so I'm stuck with just their old
         | site which completely lacks a _lot_ of the information this
         | other thing had exposed, _and_ is served over HTTP only but
         | their server accepts HTTPS connections in order to 307 redirect
         | to _a different path_ on http: scheme as well in order to say
         | "we don't support HTTPS", which interacts horribly with "HTTPS
         | Only" mode (because even when you add an exception for the
         | duration of the session, you lose the path part of the URL),
         | and is the only site I've ever encountered doing such a stupid
         | thing, and in all this they have never responded to my
         | enquiries like they claim they will).
        
         | mydriasis wrote:
         | I for one would happily use a keyboard to browse... If only...!
        
           | nextaccountic wrote:
           | https://github.com/qutebrowser/qutebrowser
        
         | anjanb wrote:
         | not a kid! but I use keyboard as my main interface!
        
         | tra3 wrote:
         | Is it emacs?
        
           | dang wrote:
           | Everything I do is emacs. But I'm not sure which sense you're
           | asking about.
           | 
           | (HN isn't emacs, though. pg uses vi.)
        
         | bombcar wrote:
         | > It requires a keyboard, though. Do the kids still use those?
         | 
         | I'm sure your server logs will tell you what percentage of
         | visitors are NOT mobile.
        
         | sillysaurusx wrote:
         | Maybe you're overthinking it? Just push it to GitHub and call
         | it a day. Someone else will turn it into the general-reader
         | version.
         | 
         | Unless it has a bunch of secret stuff in it. Then I guess you'd
         | have to.
         | 
         | Don't underestimate the tenacity of HN readers though. Lots of
         | us would do that kind of thing just for fun. You don't have to
         | do it all yourself.
        
           | dang wrote:
           | There's a bunch of secret stuff in it, in the sense of
           | moderator-only.
           | 
           | I don't think there's anything sinister, but it wouldn't be
           | very nice to release in the current form.
        
             | sillysaurusx wrote:
             | Eh, just backspace the mod-only stuff and push it to
             | GitHub. We'll clean it up.
             | 
             | Easier said than done maybe, but please don't feel like you
             | need to get it perfect. We'll do a lot of the legwork for
             | you.
             | 
             | Also don't underestimate how cool it is to get to see what
             | you use in its current form, even if it's rough. There's an
             | archaeological component to this that's quite gratifying.
        
       | suby wrote:
       | In 2017 I spent a while messing around and creating a system to
       | code and control my computer via voice. I was experiencing RSI
       | pain at the time, and thought I should be proactive and have a
       | strategy where I could still work and use my computer in case it
       | kept getting worse and it became an impedance to create such a
       | tool. I tried every voice to text I could find, and unfortunately
       | for me the only acceptable one in terms of quality was Dragon
       | Naturally Speaking, which was commercial and Windows only (I use
       | Linux). I decided to build a virtual machine running Windows XP
       | which ran the voice -> text translation, and then run a local
       | server on the Linux side which would receive packets of text from
       | the virtual machine. It was then a matter of parsing the string
       | for language primitives, as you'd need a custom alphabet of
       | keywords to do certain actions like type any given key
       | combination, and inventing your own primitives for this reduces
       | ambiguity (voice detection is only so accurate and the use case
       | here means it's going to be less accurate than usual since you
       | are not speaking in expected english, plus you want everything to
       | be single syllable).
       | 
       | The process of building a dictionary of primitives and shorts was
       | very much akin to what court reporters / Stenographers do to type
       | fast, and was also probably related to my RSI given that I
       | started my career out as a Stenographer. Something I regret in
       | retrospect.
       | 
       | In terms of voice coding, things really have gotten so much
       | better since then where we now have amazing free and open source
       | options for text to speech, and we've also seen a proliferation
       | of apps used to code via voice. I'm partial to Talon, though I
       | don't do any voice coding today. https://talonvoice.com/. Github
       | also just announced a voice to code copilot type thing, and at
       | this point given the advances we're seeing in AI I'm sure I'll be
       | okay if my RSI gets bad. This video was one of the things I
       | watched and helped me in building the system,
       | https://www.youtube.com/watch?v=8SkdfdXWYaI
       | 
       | I'm also building a video game, and plan on building many more.
       | I'm writing it in a monorepo where I have a common shared
       | foundation, and then apps using and building on that foundation.
       | I believe in dogfooding my code, and have built a bunch of things
       | with it towards that end
       | 
       | The thing I'm happiest with and use the most is a small and
       | simple music player. I never could find a replacement Foobar2000,
       | so I wrote my own. It runs nearly 24/7 on my PC's.
       | 
       | I've also built a breathing app after discovering that breathing
       | exercises were like magic in terms of improving mood and reducing
       | blood pressure. The one I built was modeled after
       | https://github.com/jithware/brethap, and I mainly built it
       | because it was trivial to do and Firefox kept putting the web tab
       | to sleep. If you have high blood pressure, I 100% recommend
       | exploring different breathing exercises.
       | 
       | I've also built two different GUI wrappers around image
       | generators. The first app was built around VQGan+Clip back before
       | Stable Diffusion, and it supported swapping the backends to
       | change generators. I built it as a web app with Svelte, and it
       | let me explore the images and auto-generate based on a theme or
       | with a given sentence structure where parts of the sentence could
       | be sampled from a pool. The second one was much the same, but it
       | was built with my monorepo, it was built around Stable Diffusion,
       | and I added an image-to-image component where I have a simple UI
       | to draw on the input image through the app. The usefulness of
       | this project is near 0 as there are better open source versions
       | out there.
       | 
       | I also built a static website generator in Ruby for my personal
       | website. I've since soured on Ruby though, and my website is no
       | longer online. There are other things but I'll leave it there
       | because this is already too long.
        
       | reductor_app wrote:
       | a web and android app (free) for lossless jpeg recompression
       | (saves me some space on the phone)
       | 
       | https://reductor.app/
        
       | fghorow wrote:
       | Prior to the 2017 "Great American Eclipse", I made reservations
       | at two hotels -- each within a day's drive of my location that
       | were near the path of totality. I then built a screenscraper from
       | one of the weather sites (WUnderground, IIRC) that took the cloud
       | forecast for the eclipse and presented it as a time-series. (Yes,
       | I knew there was significant uncertainty involved!)
       | 
       | About 3 days before the eclipse, I decided which site to visit
       | and ditched the other hotel reservation.
       | 
       | It worked well. My wife and I each saw our first total solar
       | eclipse!!!
       | 
       | There's one coming up in 2024 too. Maybe some enterprising soul
       | would like to expand on the idea and create cloud-coverage
       | forecasts for the entire path of totality?
        
       | epiccoleman wrote:
       | One of my big "side projects" over the last few months has been
       | my personal website and blog (https://epiccoleman.com). It's not
       | very interesting per se - I mean, who doesn't have a blog these
       | days - but it has been really educational and fun to work on.
       | It's a really simplistic stack which makes working on it pretty
       | frictionless. I spent a lot of time tweaking the look and feel of
       | the site and am pretty happy with how everything has turned out.
       | 
       | I've also been putting a lot of work into a React component that
       | renders a nice looking SVG Circle of Fifths, and just recently
       | got to a point where I felt I could call a release "1.0.0". This
       | has also been a really educational project and I'm super proud of
       | the component. It's a little basic right now, but it looks very
       | nice, and I have a lot of cool features planned.
       | 
       | It's licensed MIT, so if this sounds like something you'd like to
       | use in an app, you can check it out here:
       | https://github.com/epiccoleman/react-circle-of-fifths. I'd love
       | any feedback, issues, etc.
       | 
       | Edit: Oh, I just thought of one other thing - a single line of
       | code I wrote which frequently gives me great joy. In zsh you can
       | define a function called `command_not_found_handler` which gets
       | invoked whenever a command ... isn't found.
       | 
       | Mine says: `figlet lol, $@`, so whenever you make a typo like
       | "gits status" or something, you get a big "lol, gits tatus"
       | printed out, which is amusing.
        
       | ifend wrote:
       | I built a site that visualizes continuous glucose monitor data.
       | Everything is stored in your browser's database so there is no
       | server and I (you) don't have to worry about securing or sharing
       | your data.
       | 
       | https://www.opencgm.com
        
       | gigatexal wrote:
       | I built my blog around fedora's extra nice pandoc markdown to
       | html
       | 
       | https://gigatexal.blog/pages/building-a-blog-from-scratch/bu...
       | 
       | https://gigatexal.blog/pages/blog-update-1/blog-update-1.htm...
       | 
       | It's not very fancy but it is for me. I know next to nothing
       | about web/html and I wanted to do something myself than going
       | with the really good ghost or other static blogging tools.
        
       | castis wrote:
       | I attempted to build flight control software for a quadcopter[1].
       | I had a few major life changes around this time and it got packed
       | up and I stopped working on it before I got the PID controllers
       | worked out. But I essentially wrote a small game engine and had
       | to learn a little calculus along the way.
       | 
       | [1] https://github.com/castis/currant
        
       | adityapurwa wrote:
       | I built https://playtune.app to have rhythm game with unlimited
       | musics because it uses YouTube as the music playback provider. I
       | play it often with my daughter.
       | 
       | I consider removing the restart feature (or maybe just for her)
       | because she kept restarting whenever she missed just a single
       | note
        
       | tndata wrote:
       | About 30 years ago I reverse-engineered my Sega Mega Drive game
       | console and built my own hardware dev kit from scratch. I did
       | blog about that project here:
       | https://nestenius.se/2022/01/18/how-i-built-my-own-sega-mega...
        
       | samsquire wrote:
       | I created a text editor that was meant to be programmable like a
       | spreadsheet but interactive like a IPython notebook.
       | 
       | There's screenshots here:
       | 
       | https://github.com/samsquire/liveinterface
       | 
       | The code is Angular 1 legacy codebase.
       | 
       | https://github.com/samsquire/live-interface
       | 
       | There's a screencast here https://github.com/samsquire/live-
       | interface/blob/master/scre...
       | 
       | It's not buildable at this time due to dependencies...
        
       | onassar wrote:
       | I built a Chrome Extension called Bookee
       | (https://onassar.github.io/extensions/bookee/)
       | (https://chrome.google.com/webstore/detail/bookee-instant-boo...)
       | 
       | Not used by many people, but accomplished what I set out to: an
       | extension that is accessible easily via keyboard shortcut at all
       | times, that allows me to visually (open graph images,
       | screenshots, thumbnails) search any bookmarks saved to Chrome.
       | 
       | The search is super-quick, and it has a bunch of other keyboard-
       | shortcuts to quickly navigate my bookmarks.
        
       | edbrown23 wrote:
       | I've been slowly working on a web app that keeps track of
       | cocktail recipes and all the liquor bottles in my home bar, then
       | it tells me what drinks I can make right now. It's been a fun way
       | to spend way too much money at the liquor store buying "just one
       | more bottle", and I've found some new favorite drinks via these
       | recipes.
       | 
       | It doesn't do anything amazing yet, but it's been fun to tinker
       | with it over time and get back to coding as I do more and more
       | management at work.
       | 
       | The website itself is here: https://barkeep.website, and I've
       | been blogging about it here: https://edbrown23.github.io/blog/
        
       | NotYourLawyer wrote:
       | Raspberry Pi temperature monitor in a big freezer full of breast
       | milk. It would email me if the temperature got above some
       | threshold for a certain duration.
       | 
       | It only fired once (outside testing anyway). But that one time
       | made the whole endeavor more than worthwhile.
        
       | vrglvrglvrgl wrote:
       | [dead]
        
       | mablopoule wrote:
       | I work in front-end development, and am very frustrated each time
       | I encounter a front-end framework with auto-refresh without an
       | easy way to disable it (looking at you, Next.js).
       | 
       | As a result, I wrote a (Chrome only) Web extension[1], which
       | monkey-patch the WebSocket object, so I could 'plug' or 'unplug'
       | them by simply clicking the extension's icon. So far I'm very
       | happy with it [2], and can finally have multiple tabs of the same
       | page without my 'reference' tab refreshing itself while I'm
       | working on CSS.
       | 
       | [1] https://github.com/MarcMonchablon/toggle-hmr
       | 
       | [2] It gets the job done, even if in some case (such as the Zola
       | static site generator), where I had to put the link to the
       | plugin's code in the index.html, otherwise the code would be
       | injected too late.
        
       | Champagn3Papi wrote:
       | I've built a CRM (https://www.bizzey.com) for myself to automate
       | my accounting / business administration. I was freelancing on the
       | side and noticed that many of the business solutions where either
       | crazy expensive for a single person business or looked like they
       | were made in the 80's.
       | 
       | It has since exploded into fully fledged CRM with all kinds of
       | features you can choose from. I originally built it for myself to
       | keep track of everything expenses, recurring invoices, ... At
       | some point a freelancer saw me working in it and asked what I was
       | using.
       | 
       | Told him what I was working on and he became my first customer,
       | since then it has spread through word of mouth.
        
         | yazan94 wrote:
         | This is actually really cool, I may have to give it a shot!
         | Thanks for sharing
        
       | donatj wrote:
       | I have been working on a note taking app with a fully open API
       | since 2008 on and off. I intended to open it to the public around
       | 2010 but SimpleNote popped up and drank my milkshake. I even
       | switched over myself.
       | 
       | Since then however they've closed their formerly open API. This
       | inspired me to pick it back up.
       | 
       | I've got a mobile friendly webapp, an official SDK, a basic cli
       | for scripting. Basically everything _I_ wanted.
       | 
       | The UI of the webapp is pretty spartan as I prefer, so I'm scared
       | it doesn't have mass appeal. It's super fast however.
       | 
       | I have hundreds of notes in it, use it for all my note keeping. I
       | am it's only user. My friends have access, but they don't use
       | regularly.
       | 
       | I want to open up to the public eventually, but these days I'd
       | really want to get e2e encryption working before doing so and
       | just have not found the time.
        
       | wiz21c wrote:
       | I fixed the go*amn toilet. Not so cool but super effective.
        
         | bombcar wrote:
         | Things that get things at home working again are so amazing,
         | even if you still need to call for assistance later.
        
       | syngrog66 wrote:
       | Hard to answer. Because the most technically challenging and
       | interesting work I've done has been for employers or clients, and
       | under NDA, closed source, and now part of their IP or trade
       | secrets.
       | 
       | Whereas for myself in my own free time I bias more to the
       | ruthlessly pragmatic, which often means the simplest or easiest
       | solution, so I can move on to the next thing.
       | 
       | Random pick from those:
       | 
       | - many many years ago I once wrote a Terminal-like UI widget for
       | Java AWT/Swing apps. This was in the very very early days of
       | Java. To scratch my own itch. It gave me a way in my Swing/AWT
       | desktop apps to embed a console/REPL-like widget (which could be
       | kept invisible/inactive by default, then only appear when a
       | special key pressed) to let me issue CLI-like commands in-app,
       | for example for cheat codes or dev testing or to provide extra
       | features to advanced users. It provided an API for registering
       | comands and their handlers. Had built-in commands like "help" and
       | to repeat the last command, etc. So my Java GUI apps could have
       | the best of both worlds: the "friendliness" of the GUI and the
       | power and conciseness of a terminal workflow. Super simple. Only
       | ever used in a few of my hobby apps (and a few games I considered
       | selling then.)
       | 
       | I named it, originally, in private, SwingShell. Then renamed it
       | to Grio, because that had more personality. (Obligatory Pulp
       | Fiction reference.) I even devised my own little theme song for
       | it. Okay more of a tune. A melodic catchphrase. Why? Here let me
       | show you my nerd license. Hold still, please. This will only take
       | a second.
        
       | fellerts wrote:
       | Our apartment has a key fob system to open the front door as well
       | as an intercom system so people can call up and request to be let
       | in. I put a Raspberry Pi Zero W inside the intercom receiver unit
       | hooked up to the "open door" button. The Pi receives on a webhook
       | that I control from a shortcut on my smartphone, so I can let
       | people in even when I'm not home (or let myself in if I've
       | forgotten the fob). The Pi also texts me whenever the doorbell
       | rings. Not the sexiest project, but definitely the one that gets
       | the most use!
        
       | samhuk wrote:
       | TL;DR: A React front-end component workshop, a simple version of
       | Storybook.
       | 
       | So around 5 months ago, I needed a tool to preview front-end
       | (React) components whilst I create them for a personal project of
       | mine. There were two options: Storybook or Ladle.
       | 
       | Storybook is the tool everybody knows. I've used it before quite
       | a lot. It's very big, full-fat, supports loads of use-cases, etc.
       | 
       | Ladle comes out of Uber. It's very small, lean, and doesn't
       | support that much. After trying it out for a while, it just gives
       | me a feeling that it is an Uber engineer's 20% project to learn
       | some new tech.
       | 
       | So I realised that I wanted something kind of in the middle.
       | Something that's a bit more customizable and full-fat than Ladle,
       | but something simpler, less intrusive, and less "framework magic"
       | than Storybook.
       | 
       | This led me to create Exhibitor
       | (https://github.com/samhuk/exhibitor)
       | (https://demo.exhibitor.dev).
       | 
       | I worked on it on-and-off for a couple months, and it ended up
       | being something that I'm quite proud of. It's not perfect, and
       | supports only a fraction of what Storybook does, however for a
       | tool made by 1 engineer vs the 20+ for Storybook, I'm quite happy
       | about it!
        
         | lloydatkinson wrote:
         | Very nice! This should definitely get some more attention as
         | this space needs some serious competition as Storybook is
         | terrible at the best of times.
        
           | samhuk wrote:
           | Thanks! Personally, I have immense respect for Storybook and
           | the engineers behind it. It supports a dizzying amount of
           | use-cases.
           | 
           | Having said that, however, I think that they did go too far
           | down some paths that I would have liked to not see it go
           | down. I feel like them supporting so many use-cases came at a
           | cost of usability. In addition to this, there is quite
           | obviously too much framework-magic, causing obscure
           | undesirable behavior.
           | 
           | However, it's still an awesome tool. Just a little too full-
           | fat for some of my more simpler use-cases :)
        
       | skimdesk wrote:
       | I built a small websocket server [0] that helps me write simple
       | multiplayer backends. It spawns a process for the first client in
       | a room, and routes subsequent clients to the same process.
       | 
       | [0]: https://scalesocket.org
        
       | LeoPanthera wrote:
       | My Raspberry Pis all netboot. I have a bunch of them around the
       | house. Some play music, some play games, some are smart TVs.
       | Because they all boot from the LAN, there's no card to wear out,
       | and I can change what OS they boot into just by renaming a file.
       | It's simple, but intensely useful.
        
         | maherbeg wrote:
         | What are they netbooting from? Presumably there's a root device
         | somewhere?
        
           | LeoPanthera wrote:
           | Yes, a TrueNAS box running a TFTP server for /boot and NFS
           | for root.
           | 
           | The server is discovered via DHCP.
        
       | [deleted]
        
       | james-revisoai wrote:
       | I built a 3D visualiser that overlays semantic topics and
       | sentences of documents with different "embedding types and
       | orders"[1] using Natural Language Processing.
       | 
       | It colours each document with the same colour. You can see how
       | two documents overlap, semantically - it's pretty awesome for Job
       | Role/CV overlays for example, or educational resources and exams
       | - a mix merging of colour shows both equally discuss something...
       | missing colour means one document doesn't.
       | 
       | Since it's semantic, depending on the embedding, the gaps in-
       | between spots make a lot of sense intuitively, and you can
       | sometimes even see how the conclusion of a document ends up in a
       | different semantic space to the start as such (even though there
       | is no time data, you just notice the later topics are
       | semantically in a different space to the earlier ones for the
       | same document)
       | 
       | [1] Similarity based, NLI based, GPT-raw etc.
        
       | dorfsmay wrote:
       | I did not join social media until very recently but wanted an
       | easy way to send pictures to close friends and family so built
       | this small python script that sends N pics out of a text file
       | list (so if even if I sort 100 in one day I only send 5 per
       | batch) sends one pic per email, reduce the size of the pics, sets
       | a custom from field, hide the recipients' addresses in the BCC
       | field.
       | 
       | https://github.com/dorfsmay/emailFiles
       | 
       | There's nothing extraordinary about it, it's not far from a
       | standard spam bot! What's interesting about it is that I've been
       | using it for more than a decade with fairly little maintenance.
        
       | antgiant wrote:
       | I live in a Hurricane/Typhoon zone and wanted a way to watch
       | storm live status without all the panicked commentary. I had an
       | old Chromecast laying around and discovered that it is just a web
       | browser so I built a simple html image bouncer that auto
       | refreshes the latest satellite image of the storm, lets you crop
       | in, etc. It works amazingly well for days of peaceful live
       | coverage. An unexpected side perk is my kids can now tell the
       | category (strength) of the storm based purely on the satellite
       | image. Turns out the code works for pretty much anything with a
       | browser and any situation where there is an updating image at a
       | static URL. So I've used it for a number of other things too. I
       | put it all at https://github.com/antgiant/GOES-East-Big-Screen
        
       | i4i wrote:
       | A Random Movie Maker that looks at my 4 TB collection of personal
       | history... digitized journals, email, photos, digitized
       | cassettes, phone messages, and home videos, and creates a random
       | 15 minute movie. Each video will include about 50 clip sources.
       | It's a crazy trip down memory lane.
        
       | kwertyops wrote:
       | I built a tool that auto-generates guitar chord-melody
       | arrangements with tabs and chord diagrams, given a jazz leadsheet
       | (melody + chord symbols) in MusicXML form:
       | 
       | https://chordmelody.io/
        
         | l2silver wrote:
         | Where does one get musicXML files from usually?
        
           | kwertyops wrote:
           | It can be exported from any major sheet music software
           | (Musescore, Finale, Sibelius).
        
       | jmathai wrote:
       | I founded 2 photo startups (2004 and 2012). My second startup was
       | focused on data portability and was open source.
       | https://en.wikipedia.org/wiki/Trovebox
       | 
       | After failing to integrate the software into Western Digital's
       | MyCloud NAS line of productions, I left and decided to try
       | something different. I created a photo management tool that could
       | feed into other photo programs. It's open source and available on
       | github.
       | 
       | https://getelodie.com
       | 
       | https://github.com/jmathai/elodie
       | 
       | I started off using it with Google Photos. Explained here,
       | https://medium.com/swlh/my-automated-photo-workflow-using-go...
       | 
       | I've since switched to using it with Synology Photos.
       | 
       | 8 years and counting.
        
       | abtinsetyani wrote:
       | Personal assistance with chat interface for keeping notes, link,
       | with a lot of extensions to make use of the information. It's one
       | of my side project. https://zettel.ooo/
        
       | gdulli wrote:
       | I'm a big SNL nerd and have favorite sketches/memories going back
       | over 30 years. I find it very rewatchable, but streaming services
       | don't have full episodes, and even downloading full episodes
       | wouldn't make it easy to find individual sketches. So I built a
       | Plex library of over 500 individual sketches using some
       | automation.
       | 
       | I used yt-dlp to download the metadata for over 6,000 videos on
       | the SNL Youtube channel. I put it into a database, parsing out
       | season/episode into fields where possible. Then I wrote a small
       | Flask app to search or browse seasons/episodes, from which I
       | could flag for download the sketches I wanted.
        
         | l2silver wrote:
         | Awesome! I hope you make this public one day.
        
       | nvartolomei wrote:
       | A "note taking" app after spending years looking for "the right
       | one". Nothing ground breaking, similar to most other "connected
       | notes" apps but with one small difference: everything is built
       | for my brain workflow rather than the other way around.
       | 
       | https://nvartolomei.com/omniverse/
       | 
       | Maybe, one day, after I'm satisfied with its functionality I'll
       | make it open(-source). For now, in the interest of keeping
       | friction low, moving fast and breaking things, it's pretty
       | private.
        
       | [deleted]
        
       | bussyfumes wrote:
       | When I was a student there was this power-of-two game on my
       | friend's iPhone that I was literally addicted to. I didn't have
       | an iPhone and eventually the game even disappeared from the
       | AppStore. I missed it very much and my friends jokingly mentioned
       | building a copy just for me. They never got around to it but at
       | some point I thought "maybe I should give it a try?". So I gave
       | it a try with no game dev knowledge and the second iteration
       | turned out just fine for my needs:
       | https://kiryhas.github.io/memechain/
       | 
       | I've considered rewriting it to make the code better many times
       | but every time I sit down to do that I think to myself "it works
       | just fine, why touch it" and leave this idea for a while :)
       | 
       | BTW the idea of the game is to combine cubes with the same number
       | and color until there are only 4 left.
        
         | 4ggr0 wrote:
         | That's really addicting! :D
         | 
         | If this is mobile responsive I will probably use it a lot.
         | 
         | EDIT: Works flawlessly on my phone. Wonder if I can host it
         | locally on my Android, so that I don't even need an internet
         | connection...
        
           | bussyfumes wrote:
           | I've never had big hopes for the project but I feel
           | incredibly happy that you like it!
           | 
           | The original I played on my friend's phone was just that -- a
           | phone game, so making sure it works on my phone was a
           | priority :)
           | 
           | I don't have an Android but last time I tested it was
           | playable even though the cubes were bigger than I'd like them
           | to be on some screens.
           | 
           | I've made an offline version for myself in the past to play
           | while traveling by train. Copying the contents of the .js and
           | .css file into the HTML file into <script> and <style> tags
           | was enough. I wonder if I can make it easier for other people
           | like you by storing it somewhere on git...
           | 
           | P.S. Here's the source if you want to create an offline-first
           | version yourself: https://github.com/Kiryhas/memechain
        
             | 4ggr0 wrote:
             | Yeah your game just scratches an itch I had for a long
             | time. Mobile games are filled with ads and in-app purchases
             | and I never found a simple game I could play and enjoy
             | while waiting for public transport. Want to fully clear a
             | seed now, haven't gotten that far yet ;)
             | 
             | Ahh, a single .html would probably work, too, sounds way
             | easier!
             | 
             | I downloaded Termux, installed git and python3 and now your
             | game is running locally on my phone with "python3 -m
             | http.server --bind 127.0.0.1 9000" :)
        
               | bussyfumes wrote:
               | Seeds are absolutely random and some of them can't be
               | solved. I've had people complain about it but I consider
               | it to be another aspect of the challenge of this game
               | because there are cues you can notice that tell you if
               | it's not possible to solve it.
               | 
               | Yeah, you went the extra mile spinning up a local server
               | :)
               | 
               | If the trip you're taking is not a long one, you can just
               | make sure to load the page while you still have
               | reception. The game doesn't make any AJAX requests or
               | load any resources after that and prevents the default
               | 'pull-to-refresh' gesture so if you don't refresh the
               | page accidentally, it'll stay available.
        
               | 4ggr0 wrote:
               | It's a difficult challenge I must say. Played about a
               | dozen games now, furthest I've gotten is 4280 points.
               | Have you ever cleared a full seed?
               | 
               | Yeah I looked at the files to see if you make any
               | external requests. I guess I just found it entertaining
               | that there's a web-game running locally on my phone :)
        
               | bussyfumes wrote:
               | Yeah, I've cleared it many times. Sometimes no matter how
               | skilled you are luck is not on your side :)
               | 
               | Maybe the game could benefit from a mode that verifies if
               | a seed is solvable but I haven't gotten past it being
               | just an idea.
        
               | hutzlibu wrote:
               | It definitely would benefit from that, people like to
               | have success. (And know who they can blame in case of
               | failure)
               | 
               | The easiest solution is probably brute force, have it try
               | all the potential moves and see if it solves the game and
               | if it does, make it a valid seed. Can be pregenerated,
               | but should be doable in real time, also from a
               | smartphone.
               | 
               | Also, I think I was just blocked from my first clearing,
               | because I could not access all blocks.
               | 
               | Rotating the view and angle would be quite nice, but
               | depending on your implementation, not trivial.
               | 
               | Maybe I implement it with babylonjs or threejs these
               | days, it is a fun game.
        
         | roveo wrote:
         | Thank you for your game, kind stranger, I've just wasted my
         | day.
        
           | bussyfumes wrote:
           | Only a day? This has been my go-to time killer for the last 5
           | years!
           | 
           | On a serious note, you're welcome, glad you enjoyed! :)
        
       | brongondwana wrote:
       | Back in 2001-ish, looking for a rental house with good public
       | transport. Screen scraped the entire realestate.com.au database
       | overnight, then fed the addresses into some mapping API that gave
       | me coordinates, and caluclated the distance from those addresses
       | to the addresses of Zone 1 train stations.
       | 
       | Also had descriptions, so wrote a simple regex based scorer that
       | classified the descriptions by keywords that I valued. Spat out a
       | hitlist of likely candidate houses to go inspect.
       | 
       | ...
       | 
       | Also wrote a basic wedding registry that allowed people to scan
       | our list of things we wanted and say they had purchased them, or
       | were interested and it gave a list of others who might want to go
       | in on a group purchase. No privacy, but it was only sent to
       | friends. Circa 2004.
       | 
       | ...
       | 
       | Finally, wrote a diary and calendar tool which took emails with
       | very simply structured subjects and built a static website
       | showing travels through Europe in 2002. Could email from any net
       | cafe with any email address and it would update the travel diary,
       | or a website with a calendar saying which city we were in and how
       | we were traveling to the next one. Friends could elect to get
       | immediate updates or a daily summary. Purely static built from
       | cron and email archives. Worked like a charm.
       | 
       | ...
       | 
       | More recently, hmm... as treasurer for various choir things I've
       | written a ton of little commandline tools which give very quick
       | access to data and allow tracking who owes what and logging their
       | payments into a database, and tools which generate email invoices
       | and receipts.
       | 
       | Everything else is either opensource or work stuff. And I don't
       | code so much these days either, though this week I started diving
       | into Python to create tools that help keep data for our marketing
       | team up-to-date without manually copying stuff around, and some
       | maintenance work on code I wrote 15 years ago which is still
       | running really nicely but needs some updates.
        
       | chankstein38 wrote:
       | I'm always building random quick solutions to problems we happen
       | upon. In one instance, I'm gathering data for a large stream from
       | their chat and writing ways to search and process it. Another I'm
       | writing renaming automation.
       | 
       | Most recently, my partner and I were using Anki to learn country
       | flags but found the user experience to be annoyingly over-
       | engineered and kind of stressful. We just wanted to be able to
       | sit down and go through 5 flashcards while microwaving something
       | or go through 100 in a day. With Anki it always felt like I was
       | messing with some algorithm if I stopped early or didn't do my
       | required number of cards for the day. Plus we were finding it
       | annoying that the flash cards with Anki always seemed sorted. If
       | I was looking at Albania's flag and had no idea about the next
       | one I could guess it was maybe Algeria, etc.
       | 
       | So I built a python app that will tear open .APKG files and
       | extract relevant information (currently, due to the file spec,
       | it's specific to this because the notes are not consistently
       | formatted but could be reused for whatever). It'll unpack and
       | rename the images based on the media file and, in the case of the
       | country flags deck, spit out a JSON file that matches the
       | "challenge" (the image) to the answer.
       | 
       | Then I had ChatGPT build me a simple front end with HTML and
       | Javascript for going through them at random and hosted it on one
       | of my websites for the 2 of us to go through whenever we want.
       | I'm working on doing the same with top-level domains and country
       | codes! Turns out APKG files are a great dataset that happen to
       | just be shoved into a somewhat over-engineered (in my opinion)
       | file format and shoved into a software that, while great, doesn't
       | feel conducive to casual learning where I don't have specific
       | needs or dates the information will be come relevant. I just want
       | to know these things not be a prisoner to them while I learn
       | them.
        
       | dioxis wrote:
       | I created an IOT 3d printed, Raspberry Pi Pico powered WIFI fish
       | feeder with a rotating dispensing carousel with an 8 food pellet
       | capacity. I could have made it higher capacity but NJ is a
       | restricted state (gun joke). I plan on improving it by adding
       | battery backup and an RTC, so I can travel and be sure that my
       | fish still get fed in case of a power outage.
        
       | mvcalder wrote:
       | I trained the raccoons that visit my house at night. I started
       | them out getting a peanuts from a water bottle. Then I tied the
       | bottle to a rope. Then kept raising the bottle higher. At that
       | point, I built an automated feeder system using a linear actuator
       | activated by pulling the rope with the bottle attached. It had
       | LEDs that were green / red to show when the feeder would /
       | wouldn't dispense peanuts. It was all driven by an ESP32, it even
       | had a web page on our LAN reporting how many correct / incorrect
       | pulls were done. Over the coarse of a few nights they figured it
       | out. Raccoons are so cool.
        
         | Enginerrrd wrote:
         | Man, I'd have trained them to put coins in a little hopper for
         | the food. Start by leaving the coins on a string similar to how
         | you did it. Then set it up so pulling on the string drops the
         | string+coin into the hopper, triggering the food. Then leave
         | coins on the ground near the hopper. Then... start leaving
         | fewer coins around. Soon, an army of racoons will be bringing
         | you street coins in exchange for peanuts.
        
           | aceazzameen wrote:
           | One feeder for racoons, and another for crows! Then over time
           | you scale it up by having feeders with cheap snacks and
           | feeders with expensive snacks. Then have a leaderboard to see
           | which animal brings in the most money!
        
             | irchans wrote:
             | Some LLM AI is going to read this and create a similar
             | apparatus for training humans.
        
             | carapace wrote:
             | Raccoons and crows already know how to use vending
             | machines. They don't do it because they don't want to be
             | made to work. It's the same reason orangutans don't talk.
        
         | xcubic wrote:
         | This is so geeky and awesome at the same time!
        
         | polygamous_bat wrote:
         | Now teach them how to do simple taxes and you'll have an army
         | of ghost CPAs that can do a similar amount of good to Batman
         | with much less violence.
        
         | deafpolygon wrote:
         | Next, train them to raid other houses for shiny things and
         | deposit at your house.
        
       | ern0 wrote:
       | I've written a bouncing color bar for Amiga, which was running
       | without the processor.
       | 
       | Amiga computers have
       | 
       | - a main processor (MC68000 or higher),
       | 
       | - a bit blitter, which can perform memory various operations in
       | memory (using 3x source and 1x target, it can AND, OR etc. them),
       | 
       | - and a Copper, which have own "program", it can interpret 2 type
       | of instructions: WAIT for a scanline position (4-pixel
       | precision), and COPY value to a specified regsiter.
       | 
       | It was the name, which made me think: "Copper" is coming from
       | "coprocessor". Well, it can run WAIT and COPY instructions, but
       | the program's time-scope is somewhat restricted, the program is
       | running every screen refresh cycle only once. Is it possible to
       | write a program for Copper, which is doing some more, like
       | animation?
       | 
       | I've generated several color bar frames for Copper, which adds up
       | as a bouncing bar, and as the last instructions, I've added a
       | COPY instruction, which sets the address of the Copper List to
       | the next frame (the last one pointed to first frame).
       | 
       | So, it worked, the bar was bouncing without any support from the
       | processor (besides initial generation and setting of the Copper
       | List address first time).
       | 
       | Blitter and audio DMA is fantastic, it's a big help that the
       | processor just puts an order to a hardware and it executes, but
       | Copper is a degree more bigger magic, it can make things
       | autonomously, which I was demonstrated.
        
       | mmmm2 wrote:
       | I wrote a few things I use all the time.
       | 
       | 1. A youtube bookmark manager for Emacs using Sqlite as a back
       | end. - You can keep track of individual videos. - Manage series
       | that span multiple videos. - remember interesting moments.
       | 
       | 2. A system to help manage my finances by tracking what percent
       | of my assets are in a given category. This helps with
       | maintaining, say, a 60%-40% stock vs bond split across multiple
       | financial institutions.
        
       | mieubrisse wrote:
       | Not nearly as cool as all the other stuff here, but still my
       | favorite piece of tech for myself:
       | 
       | IMO, Vim + Markdown is one of the best ways to take notes,
       | brainstorm, or just explore ideas. However, I found the questions
       | of "Where should I put the notes in my dir hierarchy?" and "How
       | do I find the notes again?" and "How do I ensure I have my notes
       | across all devices?" to be inhibiting.
       | 
       | I wrote a CLI "journal" tool that says "forget putting them into
       | folders", dumps all the Markdowns into a single Google Drive
       | folder, and instead focuses on providing really good search.
       | 
       | Now, in my day to day, I can do "journal new some-meeting-with-
       | dan.md" and I get a fresh Markdown. I can also do "journal find"
       | to search by name, date of creation, or tag, and then open notes
       | in either Vim or as rendered HTML in Chrome (for copy-pasting).
       | Behind the scenes all the information is just encoded in the
       | filename (so it becomes "some-meeting-eith-
       | dan~2023-04-23T22:10:23~tag1,tag2.md", with no extra DB needed).
       | 
       | I'm also now trying to rewrite the frontend as a Charm TUI, which
       | is another whole fun growth path!
        
         | freeplay wrote:
         | Seems really cool. I love Vim + Markdown as well.
         | 
         | If you haven't heard of vimwiki yet, check it out. Right in
         | line with what you're working on.
         | 
         | https://github.com/vimwiki/vimwiki
        
       | j3d wrote:
       | Shared Slides Clicker [1] - an extension to allow for multiple
       | people to remotely drive a single Google Slides presentation. I
       | created this because it drives me insane when I hear people
       | saying "Next slide please"! It leverages React and Firebase.
       | 
       | Simple Weekly Meal Planner [2] - a very simple, free PWA for
       | deciding what you want to make for dinner each week and tracking
       | all the ingredients you need to get from the market. I built this
       | because meal planning is one of the most annoying parts of
       | adulting. It was built with Svelte and Firebase.
       | 
       | Audiobook Locker [3] - a Tauri-based desktop app for managing
       | your audiobooks. Think calibre-for-audibooks. I created this
       | because I wanted a nice way to keep track of which audiobooks I'd
       | completed and which to read next. It uses Svelte for the UI and
       | Rust on the backend.
       | 
       | [1]: https://fonner.gitlab.io/shared-slides-clicker/ [2]:
       | https://simpleweeklymealplanner.com/ [3]:
       | https://fonner.gitlab.io/audiobook-locker/
        
       | squeaky-clean wrote:
       | I've built a few audio effects that only I've used. The only one
       | that really stuck around is a guitar pedal delay effect with
       | pitch shifting where the pitch shifting only happens on the first
       | repeat, it doesn't accumulate as the sound repeats. It also has
       | an envelope follower so notes can repeat infinitely when there's
       | no playing, and once you start strumming/picking again the
       | feedback of the repeats drops to zero until you stop playing and
       | it goes back to the knob setting (Which can go from 0-150%
       | feedback). Unfortunately I've got no good sound demos except some
       | Facebook videos I'm not willing to share ;p
        
         | noizejoy wrote:
         | Very cool! Is that hardware or vst plugin?
        
       | dhuan_ wrote:
       | mock - language agnostic API mocking and testing utility
       | https://github.com/dhuan/mock
       | 
       | I built it because I needed an easy way to set-up API endpoints
       | that weren't implemented yet by some other team. After a while I
       | open-sourced it.
       | 
       | wikicmd https://github.com/dhuan/wikicmd
       | 
       | Navigating through mediawiki to get pages edited all time
       | requires a bunch of clicks. I wanted to be able to quickly edit
       | wiki pages using any editor program instead of the browser.
        
       | codpiece wrote:
       | Not sure if it counts as tech, but I created a voiceboard for my
       | mother to help her communicate while in hospice. She had a
       | massive stroke and could no longer speak.
       | 
       | I thought of a tablet app, but the stakes were too high, so it
       | wound up as a laminated paper. You can read about my design
       | decisions here:
       | 
       | https://voiceboard.org
        
         | l2silver wrote:
         | Definitely counts. Very cool.
        
         | Suppafly wrote:
         | They make something like that for autistic people and others
         | that are non-verbal. The commercial product, which is
         | essentially just a binder with printed words or pictures, is
         | surprisingly expensive so lots of people DIY them.
        
         | epiccoleman wrote:
         | This absolutely counts. This is such a great testament to how
         | simple engineering and thoughtful design can do good in the
         | world. You're a good son!
         | 
         | Is there a reason besides preventing commercial use that you
         | don't just have a PDF link on your site?
        
           | codpiece wrote:
           | I tailor them upon request. I would like to make a self-serve
           | site, but don't have the time or skills. I would prefer to
           | give this away, people are usually in their worst moments, so
           | a little generosity makes me feel like I make the world a
           | better place.
        
             | codpiece wrote:
             | Actually, I think I just forgot to put the newer, generic
             | version up on the site for download. Good thinking!
        
             | sllabres wrote:
             | Thanks for designing and publishing your work! I was
             | surprised too, that there is nothing similar when I was at
             | a stroke unit for a relative.
             | 
             | I wish you all the best for your mother. Keep caring for
             | her, before caring for the website.
        
         | jawns wrote:
         | When my sister was in the ICU at a hospital in a big city, I
         | created something similar for her. The nurses complimented me
         | on it and said it made their lives easier, but I was shocked to
         | learn that they didn't have anything like it unless families
         | made them themselves.
        
           | codpiece wrote:
           | I was shocked to find that out too. A friend pointed out it
           | helps for people on ventilators, was that your case?
        
       | psychomugs wrote:
       | My robotic graduation caps for my undergrad (2015) and PhD (2022)
       | ceremonies:
       | 
       | https://psychomugs.github.io/gradcap
       | 
       | My wrist-mounted Spider-Man-inspired coilgun:
       | 
       | https://psychomugs.github.io/webshooter
        
       | mike_hearn wrote:
       | Some developer tools that spun out of my current product (but not
       | launched thus counts as "built for myself" and nowadays
       | "ourselves"):
       | 
       | - A build system that is simpler and easier to use than Gradle.
       | It also has a much better rendering of progress and output for
       | tests when they fail. I mostly use it to run tests, actually.
       | Supports parallel incremental and cached work.
       | 
       | - A Kotlin Scripting runtime that exposes a high-level UNIX
       | shell-like API along with many other useful utilities like
       | printing markdown, tracking progress of long operations
       | (including hierarchically), working with files and remote
       | programs over ssh and many other things. We have almost entirely
       | replaced bash with it.
        
       | nextlevelwizard wrote:
       | Most "useful" thing I've lego'd together from parts was RSS feed
       | of TV show torrents and multi-threaded torrent library that would
       | then push the shows into Plex server and send a notification to
       | my phone, but none of this was actually created by me. I was just
       | integrating ready made software. Although this has been
       | dismantled for years now ever since I started earning money and
       | was able to pay for the streaming services.
       | 
       | Most "created" thing was a fishing bot for a MMORPG that used
       | computer vision to navigate the interface and detect when you had
       | caught a fish and reel it in.
        
       | awesomegoat_com wrote:
       | I have finally built myself reader app that fulfills my own needs
       | first.
       | 
       | I totally absolutely enjoyed every minute building my own thing
       | and I highly recommend it for the burnout developers.
       | 
       | https://awesomegoat.com
        
       | lallysingh wrote:
       | Profiling tool with custom instrumentation, low overhead, and CPU
       | perf counter support.
       | 
       | https://github.com/lally/ppt
        
       | scrollaway wrote:
       | I wrote a hearthstone simulator when the game came out.
       | 
       | https://github.com/jleclanche/fireplace
       | 
       | It was used and referenced by a few scientific papers and phds
       | since. It's my little pride, even though it would really need a
       | rewrite at this point to work properly with all the additions in
       | the game.
       | 
       | It contains its own little python driven dsl for actions. I could
       | talk about it for hours. All that work led to me starting a
       | company around hearthstone (I have since left it behind but it
       | eventually grew into other games).
        
         | l2silver wrote:
         | cool!
        
       | golergka wrote:
       | Automatic stand-up message generator powered by GPT-4:
       | https://github.com/golergka/standup_generator
       | 
       | I've only spent about 6 hours on this, but it helps me every day.
        
       | amir734jj wrote:
       | IceCast stream ripper website. Listen, download mp3 from online
       | radio stations.
       | 
       | https://stream.local.hesamian.com/
        
       | alpaca128 wrote:
       | Not sure about interesting, but I wrote a cli tool to apply
       | boolean set operations on lines of text, so e.g. I can get the
       | intersection of the lines in three different files, or all lines
       | piped into stdin that do not appear in a certain file, or merge
       | the lines from multiple files without duplicates. I made it
       | because this specific task came up repeatedly in my bash
       | scripting but solving it in bash is ugly and really, really slow.
       | 
       | And right now I am working on my own modal text editor which
       | might never be used by anyone else. Just for fun and to see
       | whether some Vim features could be improved or done in other
       | interesting ways. tl;dr so far: Vim does things really damn well,
       | sometimes to a point you don't even think about it because it
       | simply never fails. That said I did manage to finally solve a
       | tiny issue with the keybinding system that always bugged me,
       | resulting in support for smooth text macros as a side effect.
        
       | zbendefy wrote:
       | My own gpu accelerated neural network trainer using
       | backpropagation: https://github.com/zbendefy/machine.academy
        
       | mindcrime wrote:
       | This thread is giving me a complex. Why? Well, because the answer
       | is basically "nothing". I mean, don't get me wrong - I've built
       | all sorts of stuff, and plenty of it was not for my $DAYJOB. And
       | I think (at times) of myself as being fairly creative and having
       | lots of "ideas". And yet... at least in the context of this
       | thread (the way I'm interpreting the OP's question anyway) I just
       | don't have much to offer up.
       | 
       | FWIW, I interpret the question as being strictly about stuff one
       | built for oneself in the context of everyday, day-in, day-out
       | life. Stuff to use _yourself_. And on that front, I just realized
       | I almost never build anything strictly for myself. I work on Open
       | Source projects and work on projects at Fogbeam that I
       | (want|hope|expect|whatever) _other_ people to use, or things I
       | would use myself _in a business context_. But I just don 't build
       | handy little gadgets to use around the house, or in my truck, or
       | when out and about.
       | 
       | This may be one of the first times I've really felt a strong case
       | of the "imposter syndrome" that one hears so much about. I feel
       | like I _should_ have some answers for this, so why don 't I? :-(
       | 
       | OK, to be fair, I did built at least _one_ thing just for myself.
       | I have a couple of lamps that are positioned in an out of the way
       | location in my living room, and I have having to walk to them and
       | stretch to reach the switch(es). So I did the whole  "IP
       | controlled lamp" thing with a relay and an Arduino Nano 33 IoT
       | board. The power strip the lamps are plugged into is controlled
       | by the relay, and I can send an HTTP request to turn the relay on
       | or off. I created a shortcut on my phone's homescreen so I can
       | easily control it from my phone. But that's such a chintzy
       | project I almost feel worse for admitting to it. :p
        
         | bluefirebrand wrote:
         | I saw this while looking through this thread and I just wanted
         | to say you're not alone.
         | 
         | In my free time I play videogames mostly. I dream of making
         | them myself, but I never have. And I generally don't do cool
         | tech projects like this for myself either.
         | 
         | I made a canvassing app for my friend who was running for mayor
         | of his town once, but yeah.
         | 
         | I barely even have my own github account.
         | 
         | So please don't feel like an imposter. It's ok to treat tech as
         | a day job. :)
        
       | psidex wrote:
       | I built a web extension that lets me use customised bangs when
       | searching (similar to duckduckgo but fully editable to search
       | whatever you want), makes my regular searches much quicker
       | https://github.com/psidex/CustomBangSearch
        
       | jonplackett wrote:
       | I made a gender swapping algorithm for my own use only. You put
       | in any text and it outputs the exact same thing with all the
       | genders reversed. Man to woman, he to she, Prince to princess,
       | witch to wizard.
       | 
       | Then got a book deal to create a series of gender swapped
       | illustrated books 'Gender Swapped Fairy Tales' and 'Gender
       | swapped Greek myths'
       | 
       | It seems like a simple enough task but gets complicated in weird
       | ways. For example - his can swap to her or hers depending on the
       | context. And her can swap to his of him depending on context.
       | 
       | The idea is to show the biases in the original stories that you
       | are blind to because you've been reading them forever.
        
         | shoo wrote:
         | tangentially to swapping gender in text, there's a section in
         | Delany's novel Babel-17 where one character is trying to teach
         | another character the concepts and language of "I" and "me" and
         | "you", and the other character is getting these ideas mixed up.
         | As a reader you're trying to follow this process from the
         | dialogue.
        
       | millzlane wrote:
       | Not very interesting, but used VB script to make Netflix sleep
       | timer for the active tab. (looks for the browser process, makes
       | the windows active,sends a ctrl+W to the window to close the
       | video player, and finally sleeps the display.
       | 
       | This way I can fall asleep to noise that doesn't later wake me
       | up.
        
         | l2silver wrote:
         | I feel like there's a whole suite of tools that we need to be
         | used with netflix to make our lives easier.
        
       | Jalad wrote:
       | At work we have a perk where we can expense $x,000 a year for
       | assorted benefits such as gym memberships, public transit tickets
       | etc. The pain point is that you need to submit receipts for them
       | to reimburse you, which doesn't take too long, but is a pain if
       | you forget.
       | 
       | I made a small service which aggregates receipts from assorted
       | sources (usually webpages, pdfs), takes a screenshot of them,
       | parses the information out, and uploads them automatically for
       | reimbursement.
        
       | Myrmornis wrote:
       | I was studying maths as a hobby and made myself a LaTeX editing
       | environment in Emacs with inline rendering of mathematical
       | content: https://github.com/dandavison/xenops
       | 
       | A handful of other people use it I think but I made it for myself
       | and don't have time to maintain it when I'm not studying maths.
        
       | jakear wrote:
       | A website to see a map of the world's tides, and bidirectional
       | predictions for individual stations (edit: worldwide too, forgot
       | I added that). The UI/UX is... archaic, but that's just how I
       | wanted it. It works fully offline. https://solunar.pages.dev
       | 
       | Most fun part was transcribing 70+ year old NOAA tide calculation
       | mathematic/astronomic/hydrologic research papers into modern
       | TypeScript. Approach is semi-documented here:
       | https://github.com/JacksonKearl/solunar
        
         | wxce wrote:
         | That is really cool!
        
         | steve_adams_86 wrote:
         | I've wanted to do this with Canadian data for years! My wife
         | works for the organization which tracks our national tide data
         | and builds our prediction models. It's extremely fascinating
         | stuff.
         | 
         | I'm looking forward to digging into your work. I haven't really
         | known where to start, but I can probably get a lot of
         | inspiration here. Nice work!
        
           | jakear wrote:
           | Cool! Would love to have some extra datapoints. This is what
           | the raw data I use looks like
           | https://tidesandcurrents.noaa.gov/harcon.html?id=9410580#
        
         | geoffreypoirier wrote:
         | That's just cool.
        
         | itake wrote:
         | that is cool, but I'm curious when the highest tide vs lowest
         | tide of the year is.
        
           | jakear wrote:
           | It will change station to station, but if you open the
           | station details page, adjust X Range to something like 28/180
           | days, then tune low pass to filter out all the high frequency
           | (daily) fluctuations, you might get your answer. Some
           | stations don't have strong Solar contributions, and won't
           | change much on an annual basis, you can enable the Harmonics
           | toggle and see if any show up on the outside in yellow
           | (disable Sun).
           | 
           | I did consider adding a "max finding" mode of some sort, but
           | that's never really been my use case.
        
         | ggforpp wrote:
         | It's a very nice, UI. The "viewing port" concept is very nice.
         | A slider for timescale in the viewing window would be great!
         | Also would be great to see worldwide cities tides :) edit:
         | using the x-range view is an interesting time slider - I found
         | the options toggle
        
         | RheingoldRiver wrote:
         | I use MouseGestures so I often get fun surprises on projects
         | like this when I right-click and then drag my cursor to close
         | the tab. Yours might have been the best one yet!
        
       | stefanv wrote:
       | Because I work with a lot of currencies and I used to do a lot of
       | multi-currency calculations, I've built a convertor
       | (https://4ex.ro) that accepts formulas and displays the results
       | in all selected currencies. The rate is the one offered by the
       | National Bank in Romania (a legal requirement for transactions
       | that happen between companies in Romania - maybe I'll add
       | different data sources in the future). Oh, and you can add a
       | formula in one field and then continue in another field using the
       | previous result. Something really easy to accomplish, but there
       | was no solution doing this a few years ago. Almost nobody is
       | using it, but I do and this is a sufficient reason to keep it
       | (a)live.
        
       | nielsole wrote:
       | At the beginning of COVID i switched to weekly shopping and
       | realized that it takes a significant time to inventarize the
       | storage to make sure I make it through the week.
       | 
       | I built a storage shelf that self-inventorizes based on strain
       | gauges. Through the change in weight distribution it can
       | determine the weight and 2D location of the item added or
       | removed. LED strips give immediate feedback. https://www.niels-
       | ole.com/arduino/iot/2021/03/21/storage-sys...
       | 
       | I used this to automatically add the items consumed throughout
       | the week to my shopping list.
       | 
       | I only ever built a single shelf board (subsequent boards had
       | issues) and I never fully implemented the advanced usability
       | features of adding new items for the first time and automatically
       | determining good places for them, but it was a very fun project.
        
         | _qua wrote:
         | So does each type of item have its own designated spot on the
         | shelf or is it figuring out the item identity based on weight?
        
           | nielsole wrote:
           | Each item type had its area in a database with x_start,
           | x_end, y_start, y_end and weight. These areas could overlap
           | though. I had an error function that picked the most likely
           | option: https://gitlab.com/nielsole/logistics-
           | board/-/blob/master/se...
           | 
           | Manually adding areas for all items would not have been
           | feasible(>100 different product types with sometimes multiple
           | SKUs from different brand for the same product type), so my
           | idea was to add a hand-scanner and when a barcode gets
           | scanned, it checks if it knows the product. If it doesn't, it
           | would tell you to put it in a special weighing position.
           | After wheighing it would light up all the boards in
           | accordance of how well the item could be placed there. This
           | could have taken into account the total weight of the board
           | and the likelihood for the item weight to be mistaken for
           | another product already on the shelf.
           | 
           | In the end I gave up before getting these usability
           | improvements in.
        
       | gossterrible wrote:
       | I made my first browser extension to allow you to download
       | substack video and view them using mp4 format instead of hsl
       | streams.
       | 
       | https://chrome.google.com/webstore/detail/substack-video-dl/...
       | 
       | https://addons.mozilla.org/en-US/firefox/addon/substack-vide...
        
       | evandev wrote:
       | I created a todo thermal printer so that I can write messages
       | whenever I remember something. For example when I'm lying in bed
       | and I remember that I have to do something or reading a book and
       | think that's a great thought that I should look more into
       | someday.
       | 
       | Basically I have a mobile app that I can send a message to a api.
       | Sometimes it's just a note, sometimes it is a todo item.
       | 
       | Then I have a raspberry pi that polls the api for new messages
       | and prints them onto a receipt/thermal printer on my desk. Then
       | every morning I usually look and see if there is a todo item, or
       | more long term item.
       | 
       | I haven't exactly thought of how to store the messages, but
       | basically when the "receipt" gets to CVS level, I rip it off and
       | store it in in a document shelf organizer. Every few months I'll
       | go through the receipt for any long term touch items.
        
         | suddenclarity wrote:
         | Interesting project. What's the advantage of this over, say, an
         | inbox folder in a todo app like Todoist or a note in Keep?
        
         | ycombinete wrote:
         | This sounds awesome, would love to see some pics of this. Or
         | even a video of it in action
        
         | ffitch wrote:
         | Love that! I want to setup a little thermal printer connected
         | to an endpoint too. Any tips on how to do this the easiest way?
         | are there any prebuilt solutions, or kits?
        
       | billconan wrote:
       | broca, a chatgpt powered dictionary + vocabulary book I'm working
       | on.
       | 
       | https://github.com/shi-yan/broca
       | 
       | on each of the computers I use, I have a open sublime text tab
       | documenting words I don't know.
       | 
       | they are scattering around, unorganized, get lost when the file
       | tab is closed.
       | 
       | I want to synchronize my vocabulary on different devices using
       | git.
       | 
       | broca saves to plain files that are git friendly. And using
       | ChatGPT as a dictionary allows me to search for
       | idioms/slang/phases with unlimited example sentences.
        
         | l2silver wrote:
         | I might actually use this. Always looking for vocab helpers.
        
       | ww520 wrote:
       | Detect garage door opened or closed using ordinary magnetic
       | sensor.
       | 
       | Browser extensions that I use everyday.
       | 
       | Emacs packages that I use everyday.
        
       | Dave_TRS wrote:
       | In 2010 I was at my first job out of college and frustrated that
       | iTunes took over such a huge amount of resources on my PC. But I
       | loved the UI look and function and the way it had playlists, and
       | didn't like the other options on the market. So I hired a cheap
       | overseas freelancer to build "Litetunes", which I requested look
       | and function exactly like iTunes but be <2MB file with no
       | installation required that would open quickly just like notepad
       | or calculator. I thought of distributing it but ended up using it
       | just for myself, it worked great.
        
       | mmdtdev wrote:
       | I've built a simple website to watch other People's mood around
       | the world! https://mymood.today/
        
       | tanng wrote:
       | I have built VS Utils [1] mostly for myself since I work with
       | WordPress and they use serialize(), unserialize() functions a
       | lot, and sometimes I need to convert base64, timestamps value
       | without leaving the editor. I find it's easier to write an
       | extension for daily use functions and publish to VS Code so I can
       | download it easier, sync across devices. Hope it helpful for
       | others too.
       | 
       | [1]
       | https://marketplace.visualstudio.com/items?itemName=tanftw.v...
        
       | leblancfg wrote:
       | My wife has a goal to run 1000km this year, and uses an Apple
       | Watch to track them. But getting to the YTD total is a pain in
       | the fitness app.
       | 
       | So I made the worlds most basic iPhone app with React Native,
       | that grabs the data from HealthKit and shows it across a
       | percentage of the year.
       | 
       | Simple but effective.
        
         | bombcar wrote:
         | I should learn how to do iPhone apps, I want a really simple
         | app that can communicate between an iPad and a iPhone/watch and
         | just show a speaker timer: https://www.dsan.com/speaker-timers/
         | 
         | As two iPads are cheaper than a genuine hardware one ...
        
       | Bad_CRC wrote:
       | I built a home brewing system with an Arduino, a 4G router,
       | mqtt/pyton stack and a grafana frontend :D
        
       | o_nate wrote:
       | I used a Raspberry Pi with a Hifi-berry card to make a web-
       | controlled MP3 player hooked up to my stereo. It's a fairly bare-
       | bones app but I wrote it myself (Flask, VLC) and it works great!
        
       | almog wrote:
       | I'm currently working on a service that would allow me to place
       | orders using a satellite messenger.
       | 
       | Some background: When I hiked the Pacific Crest Trail few years
       | ago, I used to order items that needed to be replaced or that I
       | lost to the next or town stop using my phone (most towns have a
       | general store or a supermarket, often not an outfitter).
       | 
       | However, it's not uncommon for sections of the trail to be
       | outside cell service for days between town to the next one.
       | 
       | Anyhow, since the next trail that I plan to hike, the Continental
       | Divide Trail, is even more remote than the PCT, I started to play
       | with a prototype of a satellite messenger backed service to let
       | me order items from a predefined list (each can match multiple
       | items of a different priority) and be shipped to a predefined
       | shipping address (post offices of trail towns along the trail).
       | 
       | So, for example, assuming that one of my contacts is a phone
       | number that my service is monitoring, I can text a message like
       | that:                 items: shoes, tape, filter, usb cable, ice
       | axe;       to: Chama;       eta: 2023-07-01;
       | 
       | And it should place an order of a predefined pair of shoes, water
       | filter, Leukotape and USB cable and ice axe to Chama, NM.
       | Messages are limited to 160 characters before they get split, and
       | so to keep it simple, I might use shorter abbreviations for some
       | items.
       | 
       | If any item on the list can't be delivered until 2023-07-01 using
       | prime shipping (unfortunately it's the easiest option), it should
       | be dropped from the order. Alternatively, if the guaranteed
       | delivery date is off by 1 day, I might just place it on a
       | separate order, hope for the best and if it doesn't show up on
       | time, it'll get returned individually after not being claimed.
        
         | l2silver wrote:
         | Would this be like an app on your phone, or something else?
        
           | almog wrote:
           | While an app that can sync the predefined items and their
           | code, as well as format the text properly would be ideal, my
           | time constraints might not allow me to build that, and since
           | it's for personal use only, and under the assumption that
           | I'll only have to use it a few times over few months, I think
           | that hand crafted text messages, sent using the Garmin app
           | should be good enough for me.
        
       | scary-size wrote:
       | - Desktop app for creating a static blogs. Electron and React:
       | https://www.project-daily.com
       | 
       | - Instagram-like, private photo feed, where my partner and me can
       | share pictures of our kids with relatives and friends. Posting
       | works via e-mail, cron job generates the feed html. Imagemagick
       | output multiple image formats, supports iOS live photos too. The
       | feed isn't paginated, but with lazy loading the images it's still
       | very performant.
       | 
       | - Most recently and still ongoing: A recipe clean-up tool.
       | Removes all the gunk and fluff from online recipes. Shows just
       | the ingredients and instructions. Also understands units and
       | quantities, so unit conversion is up next. Here it is:
       | https://pretty-recip.es/recipe?recipe-url=https%3A%2F%2Fwww....
        
         | davchana wrote:
         | Tell me more about private photo feed system.. thanks..
        
       | edelans wrote:
       | Control your fan speed with your heartbeat.
       | 
       | I created this while setting up a home trainer for bike training
       | in my garage during the lockdown in 2020. One issue with home
       | trainers, unlike biking outdoors, is that you don't get the
       | benefit of the wind generated by your speed that cools you down.
       | So you sweat a lot, and this creates dehydration. Not cool (pun
       | intended).
       | 
       | The solution is to use a fan. But when you are lazy (and focused
       | on your workout) you don't want to have to get up and adjust fan
       | speed (and I don't have a remote for my fan, and it's much cooler
       | to have it automated instead).
       | 
       | https://github.com/edelans/Heart-Rate-Smart-Fan
        
         | Jeff_Brown wrote:
         | Brilliant!
        
       | rikschennink wrote:
       | It's a tool that helps me generate code examples for multiple
       | JavaScript frameworks.
       | 
       | Input is a JSON string describing the code, out comes code
       | examples in plain JavaScript, React, Angular, Vue, Svelte, and
       | jQuery.
       | 
       | Helps me generate extensive docs on my own.
        
       | bluescrn wrote:
       | Building a small quadcopter back in 2012 or so (before cheap
       | toy/consumer drones were everywhere) was a fun project.
       | 
       | Back then, it involved an Arduino, the internals of a Wii
       | MotionPlus (cost effective way to get the gyro sensors), a
       | plywood frame, and the open-source 'MultiWii' code.
       | 
       | That first build never flew well, but soon afterwards it started
       | to become much easier to build a very stable quadcopter, as all-
       | in-one flight controller boards started to appear, along with
       | more knowledge of which brushless motors, props, and ESCs worked
       | well together.
        
       | thegoleffect wrote:
       | A custom, DIY smart monocle from off-the-shelf parts, 3d
       | printing, and custom electronics: 1080p60hz, 8-11hrs of battery
       | life on a belt-clip battery + computer combo, has wifi &
       | lte/cellular, can run ML models on device. One third the weight
       | of upcoming Apple AR/VR glasses and one-sixth the cost. Just
       | having it working has increased my efficiency a ton without
       | obstructing vision or requiring me to look at secondary monitors
       | or phone.
       | 
       | Working on replacing my wireless keyboard and trackpad with some
       | "gloves" so I can use it while on hikes or just generally
       | outside. Then, gonna integrate some custom AR and ML/GPT.
        
         | pjdkoch wrote:
         | Care to share more details on how you're achieving that?
        
           | thegoleffect wrote:
           | Which part? The glass is an Epson BT-40 cut in half with some
           | soldering to bypass needing both eyepieces; this cuts the
           | weight & power consumption by ~40%. Mounted onto a printed
           | carbon-fiber nylon frame similar to bone conduction
           | headphones. The computer is a single-board computer I had
           | lying around, but I will upgrade to 12-core 30W SBC next
           | week. The battery is one made for video cameras, and I gave
           | it a belt clip and strapped the SBC onto it. The SBC has
           | camera & mic inputs as well as GPIO for whatever I want to
           | add.
        
             | mech422 wrote:
             | Zak ?
             | 
             | Edit: my bad... the cut in half BT-40 reminded me of
             | someone else...
        
       | brightball wrote:
       | I built a system in 2008 that would let me design a database and
       | the automatically generate an entire admin backend, granular ACL
       | rules for different users and roles, related records and
       | interactive table fields like toggle switches. It wasn't
       | statically generated so it easily adapted to changes in the
       | database over time too. Could also swap out the UI theme per
       | customer. Among other things.
       | 
       | Called it The Intersect because I was and still am a huge fan of
       | "Chuck".
       | 
       | It sped up my client projects so much that it killed my hourly
       | income.
       | 
       | Now there are lots of systems that do this type of thing, but at
       | the time I was very proud of that system. It was nice to be able
       | to focus on web project from a purely data design back approach.
        
       | simonw wrote:
       | I built a personal data warehouse just for myself, with
       | everything from my Tweets and LinkedIn data to my Swarm checkins
       | and a copy of my genome.
       | 
       | I gave a talk about that (with a lot of video and screenshots)
       | here: https://simonwillison.net/2020/Nov/14/personal-data-
       | warehous...
        
       | madisp wrote:
       | not sure how interesting but definitely useful :D I like to
       | listen to Albums and I missed the "Give me a random album from my
       | collection" functionality in Spotify so built a tiny webapp to do
       | exactly that - https://shuffle.ninja.
       | 
       | It uses the Spotify web APIs to fetch your album collection and
       | gives back a random album from it. I use it daily.
        
         | GeorgeHahn wrote:
         | I love this idea! Thanks for sharing, I'm looking forward to
         | trying this out day to day.
        
         | barnabee wrote:
         | This is great!
         | 
         | I've always wished for a replacement Spotify UI that's entirely
         | album focused.
        
       | dserban wrote:
       | As a data engineer who is looking to leave a toxic workplace
       | behind, I built a data streaming application to surface new
       | dataeng jobs being posted on ATSes (Applicant Tracking Systems).
       | There is a constant stream of new JDs being posted, which fans
       | out to a bunch of RSS/Atom feeds for combinations of skillset and
       | location. Most startups post JDs to either greenhouse or lever,
       | statistically speaking.
        
       | [deleted]
        
       | bhouston wrote:
       | I wrote a WebGL, WebGL2, and WebGPU statistics tracker:
       | https://web3dsurvey.com. Well it is useful at least.
        
       | modzu wrote:
       | time machine
        
         | l2silver wrote:
         | go on...
        
         | ihatepython wrote:
         | I did the same thing, but not for myself, it was to send other
         | people away that I didn't like
        
       | cptaj wrote:
       | This is exactly the type of shit I see benevolent AGI doing for
       | us
        
         | dang wrote:
         | We detached this subthread from
         | https://news.ycombinator.com/item?id=35740720. It's not super
         | terrible but it's off topic and the parent thread was making
         | the page top heavy.
        
         | amalcon wrote:
         | I mean, didn't Pandora spend like a decade pretending to be
         | that? We don't exactly need AGI for that, we just need Pandora
         | with some specific problems fixed.
        
         | LetsGetTechnicl wrote:
         | Yeah why not? Just replace the thoughtfulness of creating
         | something for a loved one and the human ingenuity to do it
         | (however simple) with an AI. I do not yearn for a future where
         | everything is replaced by AI.
        
           | yamtaddle wrote:
           | I'm not sure how much overlap there is between the
           | "everyone's just a consumer these days! That's awful, they
           | should be creators!" set of posters, and the "needing fewer
           | people to do _anything at all_ is always a good thing, bring
           | on the glorious AI future! " set, but I suspect it's at least
           | non-zero and I find that rather confusing.
           | 
           | Yes, let's make it so anything short of world-class creative
           | talent (if that, even, if "AI" keeps advancing) is something
           | that's of no monetary or _social_ value, then wonder why
           | people don 't spend more time creating stuff. You're not
           | motivated to play violin in your bedroom for nobody, or make
           | paintings to hang in your own closet because nobody wants
           | them? Or, there's no need for you to build this kind of great
           | thing for your elderly relative because an AGI can do it
           | instead? And now you're a couch potato struggling with
           | depression and wondering what the point of living even is?
           | _Quelle surprise_!
           | 
           | It's _as if_ solipsistic intrinsic motivation is _shit_
           | compared to having others want or need what you can do for
           | them, and like maybe we _need_ the latter in order to be
           | healthy. But no, let 's race toward further reducing our
           | value to others as fast as we can, what could go wrong?
        
             | mcbits wrote:
             | > Or, there's no need for you to build this kind of great
             | thing for your elderly relative because an AGI can do it
             | instead?
             | 
             | Just like there is no need to design and build the FM
             | transmitter from scratch because [factory] can do it
             | instead. Some of us still think it's fun to build things
             | like that as a hobby, but those who don't can still have an
             | FM transmitter to start with and create something more
             | exciting from there.
        
         | hammyhavoc wrote:
         | I'm not convinced the costs would make that a viable use of
         | resources versus just making an appropriate product, or using
         | something that already exists like Spotify playlists. Even an
         | LLM is expensive to keep running.
        
           | b33j0r wrote:
           | Hear me out. We can bootstrap these costs by mining crypto!
           | We'll use the waste heat from that to power the AI's, with
           | 110% carnot efficiency.
           | 
           | Unfortunately, the physics of this work out so that every
           | playlist generated is composed of Nickelback and "Sweet
           | Caroline" covers.
        
             | birdyrooster wrote:
             | Nickleback is a fundamental concept of physics, you will
             | always see echoes of it in any work you do. One way to be
             | sure is to snap a picture, look at this photograph and
             | every time it will make you laugh.
        
               | b33j0r wrote:
               | I have often wondered if Chad is the actual source of
               | dark matter:
               | 
               | 1. Never made it as a poor man
               | 
               | 2. Never made it as a blind man stealing
               | 
               | 3. This is how I remind you, that I'm really MOND.
               | 
               | Sometimes the answer is just staring you in the face. A
               | Canadian face, that should have been from San Antonio,
               | TX.
        
           | bbarnett wrote:
           | _Even an LLM is expensive to keep running._
           | 
           | In a decade, it'll cost pennies a year.
        
             | hammyhavoc wrote:
             | But we aren't there yet, and grandma is going to be dead in
             | a decade, and the source code for the radio playlist
             | gimmick already exists, as does Spotify.
        
             | DougMerritt wrote:
             | I definitely agree, specifically because of software
             | improvements (not because Moore's Law will make it that
             | cheap).
             | 
             | Conversely, it wouldn't make a lot of sense to predict that
             | it will always be as expensive as it is today.
             | 
             | Well, I guess "pennies" is a radical prediction. Cheap,
             | anyway.
        
             | jacobr1 wrote:
             | Isn't it already relatively cheap to run? Training is
             | costly, but there are examples of running LLaMA on your
             | laptop. It doesn't seem like it will take decades to
             | commoditize this stuff ... it is just the cutting edge
             | might keep moving ahead.
        
               | hammyhavoc wrote:
               | Not relative to a permanent and much more simplistic
               | solution that already exists in the form of the source
               | code for the original radio project mentioned in the op.
               | 
               | I'll give you an example: fabricating an ASIC is
               | expensive. Using FPGAs is cheaper if the potential sales
               | are low, but they're less performant.
               | 
               | If a hypothetical AGI a decade from now can do the radio
               | gimmick, but it incurs an ongoing cost, but it's going to
               | have wide appeal, it makes more sense to make a simple
               | utility.
               | 
               | Better yet, the simple utility already exists and doesn't
               | need a hypothetical "benevolent AGI". It doesn't even
               | need an LLM. It's here today.
               | 
               | This entire sub-thread went off at a tangent of trying to
               | shoehorn AI into somewhere it has no place being, just
               | like the fetishizing of blockchain and attempting to
               | shoehorn it into everywhere a database would be cheaper,
               | more flexible and more performant.
               | 
               | A hypothetical "benevolent AGI" is going to be incredibly
               | larger in scale than an LLM, thus much more expensive.
               | You won't be running one on a laptop. We may not even
               | have enough compute globally for a hypothetical
               | "benevolent AGI".
        
           | smirth wrote:
           | Why would you keep one running. You don't need to run an LLM
           | except perhaps to rotate the playlists. First time it might
           | help setup the code. Even making requests can be done by
           | simply queries. Pennies at most for a few thousand tokens
           | every now and then.
        
             | hammyhavoc wrote:
             | Why would you need one whatsoever? If someone has already
             | done the work as in the op, why not just cut out the
             | hypothetical "benevolent AGI" and utilize the existing
             | source code?
             | 
             | You're invoking LLMs, but "benevolent AGI" was what got
             | invoked originally. Don't conflate a hypothetical AGI with
             | an existing LLM. Anything of the scale required to create a
             | hypothetical AGI is going to be expensive. Period.
             | 
             | Is grandma really going to use a hypothetical AGI any
             | better than she's able to use Spotify? Come on.
        
         | pxc wrote:
         | Part of what makes this nice is that it's a handmade product of
         | love for a family member. I think if you commoditize something
         | like this, it loses much of its charm and even some of its
         | purpose.
        
       | Towaway69 wrote:
       | I've been playing around with Node-RED[0] and built a completely
       | pointless svg manipulation flow[1] which then makes this page
       | https://demo.openmindmap.org/ui/#!/7
       | 
       | The idea is create a tool for creating a global mind map but
       | instead it's a svg!
       | 
       | [0]=https://nodered.org
       | 
       | [1]=https://demo.openmindmap.org/omm/#flow/3ebb65fdbecb182e (not
       | really mobile conform)
        
       | kolinko wrote:
       | When I was 15 years old and my sister was 4 or 5 years old, I
       | wrote a pascal program that showed a big letter on a screen when
       | my sister pressed such letter on a keyboard.
       | 
       | She had fun pressing letters on a keyboard and then seeing them
       | on the screen - possibly learning alphabet and keyboard layout at
       | the same time :)
        
       | davchana wrote:
       | My first program was in C, input two dates in yyyy-mm-dd format,
       | one by one,and tells the age. I used to call it Age Finder.exe
       | Second version of it could work with dates entered in either
       | order i.e. oldest newest or newest oldest.
       | 
       | Now I use javascript & html. The most used ones in recent past
       | was my own timesheet log app. Html form submit data to Google
       | sheet through Google script. Another page shows the monthly
       | summary & details.
       | 
       | A telegram bot which logs my msgs as todo list to a Google sheet.
       | I manually mark things done when done.
       | 
       | Many others at apps.bydav.in
        
       | __tyler__ wrote:
       | I made a portfolio rebalancing tool to help automate my
       | investment purchases.
       | 
       | https://github.com/TylerHillery/RePort
        
       | ccosmin wrote:
       | Built my own music player for mac which I use every day. I have a
       | large collection of ripped mp3s and I wanted to control exactly
       | where they are stored, order in which they are played (album
       | order) etc. It just snowballed from there with other features.
       | 
       | https://snowlinesoftware.com/apps/mac/mamusique/index.php
        
       | mkw5053 wrote:
       | I recently constructed a compact compost freezer. In San
       | Francisco, we have a municipal compost collection service that
       | picks up large bins from the curb. However, using a smaller
       | container on the countertop often results in unpleasant odors,
       | flies, and torn, soggy bags. My (now) wife introduced me to the
       | idea of storing a small compost bag in our freezer, which solved
       | these issues but consumed valuable freezer space. To address
       | this, I designed a mini freezer with the form factor of a small
       | floor trash can, featuring a foot-operated lid.
        
       | ScottWRobinson wrote:
       | I made a "bot" server for myself, which is really just a server
       | and app framework to host a bunch of scripts. The framework
       | handles:
       | 
       | - Running bots periodically - Receives webhooks - Handles OAuth -
       | Provides a shared DB - Posts updates to and receives commands
       | from Slack
       | 
       | It's not very innovative, but super helpful. I love that I can
       | deploy a new script so easily and already have all the tools I
       | need so I can just focus in the logic. A few bots I have running:
       | 
       | - I run a site with thousands of articles, so one bot checks
       | 10-15 articles per day for spelling mistakes, broken links,
       | broken images, poor formatting, etc. Tasks to fix these are then
       | posted to Notion. - Monitor Hacker News and Reddit for mentions
       | of the sites/apps that I run so I can respond. - Sync calendars
       | between apps without having to make them public - Gather
       | financials and reports from various sources for bookkeeping -
       | Monitor all of the servers we run and sync their status to Notion
       | 
       | Probably at least half of the automations could work on something
       | like Zapier, but this is more fun and I get a lot more control
       | over them.
        
       | BryantD wrote:
       | This wasn't terribly hard, but I built https://seattle-
       | movies.innocence.com/ because I really wanted an aggregate indie
       | movie theater calendar. Then I added an RSS feed cause someone
       | asked for it. It has vastly improved my quality of life around
       | movies!
       | 
       | (I'm a hack but the code is as general purpose and adaptable as I
       | could make it, just in case someone wants to use it for another
       | city.)
        
       | muzani wrote:
       | I was playing a MMO with a market. Sometimes people would make
       | mistakes, e.g. selling 100 iron for $1,000,000 instead of selling
       | 1,000,000 iron for $100. I made a little tool that polls the API
       | and sends a notification when someone made a mistake.
       | 
       | Eventually I got bored of grabbing these mistakes and left the
       | tool with my clan. It had the side effect of getting people
       | active on Discord, and making people more actively involved in
       | countering raids. We ended up building one of the most elite
       | clans in the game until some other whiz kid built a better bot.
       | 
       | There was also this little augmented browser tool that calculates
       | the best order and timing to attack in the game, and the
       | statistically likely result.
       | 
       | We'd joke that all the tools we built for that game were probably
       | well worth hundreds of thousands of dollars and that's around the
       | time I decided to quit and spend my time on something more
       | useful.
        
       | hohg wrote:
       | @dang regarding pagination                   // Get the anchor
       | tag element         const anchorTag =
       | document.querySelector('.morelink');              // Add a scroll
       | event listener to the window object
       | window.addEventListener('scroll', () => {           // Check if
       | the user has scrolled to the bottom of the page           if
       | (window.innerHeight + window.scrollY >=
       | document.body.offsetHeight) {             // Fetch the content
       | from the URL stored in the anchor tag's href attribute
       | const xhr = new XMLHttpRequest();             xhr.open('GET',
       | anchorTag.href, true);             xhr.onload = () => {
       | // Append the fetched content to the page               const div
       | = document.createElement('div');               div.innerHTML =
       | xhr.responseText;               document.body.appendChild(div);
       | };             xhr.send();           }         });
        
       | jpatters wrote:
       | My company has a budget for health and wellness that I use for my
       | GoodLife gym membership. GoodLife doesn't send receipts and
       | instead makes you go to their website, fill in a bunch of
       | information, and request the receipt be emailed to you. So I made
       | a little app that simply fills in the form automatically every
       | two weeks. I set it up on GitHub actions and now I don't have
       | this annoyance to deal with. It's pretty small but made my life
       | better.
       | 
       | Not much for instructions but it's here is anyone is interested.
       | https://github.com/jpatters/goodlife-receipts
        
       | raphaelty wrote:
       | I build my personnal search engine which record things I like on
       | twitter, blog posts etc.. It automatically calls those APIs using
       | Github Action and store them in an open source database (json
       | file)
       | 
       | I actualy use it at least twice a week to retrieve content I
       | bookmarked, so I'm happy to have created such a tool.
       | 
       | The app: https://raphaelsty.github.io/knowledge/?query=bayesian
       | 
       | The Github: https://github.com/raphaelsty/knowledge
        
       | sidwyn wrote:
       | Built a Chrome extension to save myself money last Christmas:
       | https://getscore.app/chrome?ref=hn.
       | 
       | Ended up saving thousands of dollars for myself so far (I shop a
       | lot online), and friends & family really love the product. We
       | also applied to YC - so let's see how that goes!
        
       | akkartik wrote:
       | As it happens, I just built the minimal, hackable tool for
       | drawing boxes and arrows that I've always wanted.
       | 
       | https://git.sr.ht/~akkartik/snap.love
        
       | lemure wrote:
       | I've implemented a Bayesian optimizer for stable diffusion model
       | merging [0]. This is because I do not have patience and/or time
       | to try all different block combinations by hand. It started as a
       | personal thing but now multiple people are working on it and a
       | small community was born.
       | 
       | [0] https://github.com/s1dlx/sd-webui-bayesian-merger
        
       | vitorbaptistaa wrote:
       | Back in university, a friend and I built an old-school arcade. It
       | as a wooden chest with an old PC inside running Linux. We then
       | got the arcade buttons and joystick for 2 players, connected to
       | the serial port, and wrote a Linux driver to understand the
       | presses as a keyboard. We even added a coin door that accepted
       | quarters. At the time, I was the president of the CompSci student
       | body. We had a room in the university, where we placed the
       | arcade. There were some great games between classes, and it gave
       | us some funds for random small stuff (printer toners, etc.).
       | 
       | ---
       | 
       | Another one is https://shellshare.net. I use Linux for a while,
       | and from time to time someone would ask my help with something.
       | If you ever tried debugging a problem in someone's else terminal
       | over the phone, you know how frustrating it can be. So I built it
       | as a way to share a read-only stream of your terminal with a one-
       | liner command.
       | 
       | It's been a while since I used it myself, but there are some
       | people that use it for teaching in universities.
        
         | thomasjudge wrote:
         | Games of what? were you running MAME or something?
        
           | vitorbaptistaa wrote:
           | Exactly!
        
       | cloogshicer wrote:
       | I'm writing my own app for practicing the piano. The goal is to
       | make practicing fun, while also making steady progress.
       | 
       | I'm not a good player at all, and I've struggled with practice
       | for years. But I have no problems playing (practicing) difficult
       | video games, that require a lot of repetition (think Celeste).
       | 
       | I think I've identified two major reasons why I never enjoyed it:
       | 
       | 1. Classical music notation (sheet music) is just awful. It goes
       | against most modern principles of easy-to-grasp information
       | design. So I've come up with my own notation that is much easier
       | to read and can be generated from musicxml files.
       | 
       | 2. Practicing takes too much decision making and discipline. If
       | you want to make progress, you have to constantly remind yourself
       | to practice the parts that you're not good at yet - this is a
       | surprising amount of mental overhead and requires lots of
       | discipline. So the app I wrote listens to you play via MIDI and
       | keeps track of which segments of a piece you're already good at,
       | and automatically gives you those you still need to practice more
       | - zero decision making required. You just play whatever the app
       | gives you and after a few weeks/months you're suddenly able to
       | play the whole piece.
       | 
       | The app is no where near ready to be shown, but I'm confident at
       | this point that the concept will work.
       | 
       | I've been planning a longer write up on this for a while, if
       | you're interested in reading more about it, please let me know,
       | that would be very motivating :)
        
       | taf2 wrote:
       | I have a esp32 board that listens to voice commands and turns on
       | and off the lights in my workshop. For fun and for the kids it
       | has a rainbows mode since it controls multi color led strip of
       | lights.
        
       | anonym29 wrote:
       | Some background: - Samsung Galaxy phones have "Routines",
       | background tasks that can fire based on a number of conditionals,
       | including time, geofencing, messages received, etc. - I have a
       | good friend who I regularly grab dinner with at Texas Roadhouse.
       | In fact, for over a year, we went twice a week or more after we
       | each bought $1200 worth of gift cards for $900 during a promo
       | that was intended for businesses (we both have LLCs we were able
       | to use). - Our Texas Roadhouse has crazy long wait times during
       | peak hours. Like 45 to 90 minutes. This was especially
       | frustrating given my friend was about 10-15 minutes from that
       | location, with traffic. - Texas Roadhouse offers an online
       | reservation system. You fill out the form, and they will send you
       | a text with the estimated wait, to which you must respond to
       | confirm your reservation. - Once you are texted again to be
       | notified your table is ready, you have 20 minutes or you lose
       | your reservation.
       | 
       | As VIP customers (the entire restaurant knew us both on a first
       | name basis, we always tipped generously [e.g. $20 on $40 of
       | food], we often received preferential service from staff. One of
       | our waiters was actually a young man with a budding tech
       | interest, who, after considerable encouragement, mentorship, and
       | a quality boot camp some of my former coworkers enjoyed, is now a
       | software engineer making several times more income than he made
       | as a waiter.
       | 
       | We were very pleased with this arrangement in all but one way:
       | while we could talk to several of our waiter friends who were
       | staff members of the restaurant to get a table without a
       | reservation even when it was 1 table short of being packed, it
       | often was packed, or our waiter friends were not working that
       | night, and we did not like waiting in a noisy, crowded lobby.
       | 
       | I picked apart the reservation website and found a very simple,
       | wide-open API. I quickly hacked together a script to make a
       | reservation with a single GET request to my own site, with
       | reservation options in URL parameters, then created Samsung
       | Routines such that when I arrived within 100 feet of my friend's
       | house between 3pm and 9pm, it would automatically send a properly
       | formatted GET request to my website, which in turn made a
       | properly formatted POST to the API, and then it would also
       | immediately respond to the incoming text confirming the
       | reservation. Before I'd even made it to his front door, we'd have
       | an ETA, so we could decide on whether to start a movie, play some
       | split screen diablo, etc. I'd then get a text a short time later,
       | and we'd leave for TRH. Upon arrival, we'd walk up to the
       | counter, mention our reservation was called up, and proceed to be
       | seated immediately regardless of how busy it was, or whether any
       | of our waiter friends were working that night.
       | 
       | DIY VIP Reservation system :)
        
       | throwaway874839 wrote:
       | I always loved listening to music. However, the past few years I
       | started more actively exploring new (old) music around the world
       | and actually listening to whole albums. (I'm always amazed by the
       | vast amount of good music that exists out there, waiting to be
       | discovered and experienced)
       | 
       | I've a few friends that have the same itch and so we were
       | constantly exchanging recommendations via different communication
       | channels (Signal, email, Slack etc.)
       | 
       | So I started building a website that's "like Goodreads, but for
       | music releases". You can mark albums as "want to listen",
       | "listened" and "dig" (loved), organizing your lists with tags and
       | notes and share them with others. You then have a public activity
       | profile and you can add other users as friends and see their own
       | activity.
       | 
       | Original Show HN post:
       | https://news.ycombinator.com/item?id=32551862
        
       | esseti wrote:
       | the time tracker https://github.com/esseti/-schrodinger
        
       | 0xbadcafebee wrote:
       | A bootable mini-CDROM that I would pop into two dozen computers
       | in a computer lab after hours that would turn the lab into an
       | OpenMOSIX SSI cluster and auto-eject the CDs. All I had to do to
       | reset the lab is ctrl+alt+delete on all the machines.
       | 
       | I also built a CarPC back before we had smartphones that could do
       | everything. I wrote some custom Perl software for it:
       | 
       | - An audible user interface that allowed a remote control, a
       | keypad, or voice commands to speak-navigate a series of menus, to
       | allow running programs, selecting music to play, etc. It was
       | extremely low-latency, fast and clear, to allow very rapid
       | navigation. No need to look away from the road, unlike every
       | annoying car navigation menu I've ever used.
       | 
       | - A music interface to allow selecting playlists, shuffling
       | music, pausing/skipping, etc
       | 
       | - A program to play the next of a pre-written instruction when
       | approaching a GPS coordinate; basically, ghetto turn-by-turn GPS
       | nav
       | 
       | - A wardriving interface to tell you when a new access point was
       | captured and if it was unencrypted and high signal
       | 
       | - A video player hooked up to a mini monitor installed in the
       | dash
        
       | altilunium wrote:
       | [dead]
        
       | mltony wrote:
       | Blind developer here; I often write tools for myself to perform
       | some task that is not well supported by my screenreader. For
       | example:
       | 
       | * I wrote an add-on that allows me to read HN comments in a
       | structured way. A typical screenreader would present page in a
       | linear manner, so you'd have to read all replies in order, which
       | is quite tedious in popular posts. My add-on parses the page and
       | identifies the level of each comment, and then I can navigate to
       | previous/next comment at any level. So I can quickly check top-
       | level comments and then read replies only if I'm interested.
       | 
       | * Another add-on makes Jupyter edit boxes to work with my
       | screenreader. Jupyter was requiered at my company , so I either
       | had to write that add-on or else. The way it works is that it
       | sends Control+C Control+V keystrokes to the browser to retrieve
       | contents and then presents them to me in an accessible window for
       | editing. When I'm done it would Control+A Control+V new content
       | back to edit box.
       | 
       | * BlindCompass - iOS app that I wrote for myself to navigate on
       | the streets. One of the problems of blind people is that it is
       | easy to lose the sense of heading, e.g. where is north vs South.
       | So BlindCompass would read my heading and present it as a two-
       | pitch sound, that allows me to deduce rough direction. It's also
       | easy to figure out the right direction and just maintain it, so
       | with BlindCompass I can cross large open spaces easily.
        
       | Msurrow wrote:
       | I build a "SaaS" wine app, for tracking wines in my cellar and
       | for tasting notes as well.
       | 
       | "SaaS" in quotes since it runs in a small production setup with
       | all the bells and whistles (ie. CI/CD pipelines, continuous
       | releases, user signup etc.), but I'm the only user :-)
       | 
       | I'm a wine enthusiast, i.e. not a professional but interested
       | enough to do a WSET2 in my spare time (I'll do a WSET3 when I
       | find time some day). I like to/need to keep track of two things
       | as part of my wine hobby: Wines in my cellar, and tasting notes.
       | 
       | Used to keep the wine registry in excel and notes in Evernote,
       | however especially the excelsheet lacked features, like easy
       | searches from a mobile device, and notes about the wines in my
       | cellar (not tasting notes, as I have plenty bottles I need to
       | taste but havn't yet, and I still need some notes on those to
       | remember where the heck I got them from and why).
       | 
       | Also, WSET2 tasting notes a much quicker to do with the proper
       | template, but copy/pasting text in Evernote became too annoying
       | (again, phone).
       | 
       | So, I build my own app to have exactly the features and mobile
       | friendly GUI I want. I'm the only user on purpose, because then I
       | can keep building and changing features to be just like I want
       | them.
       | 
       | Yes I know there are some "wine tracking apps" out there, like
       | CellarTracker and Vivino, but they dont fit my needs.
       | CellarTracker is closest to my needs but way too clumpsy GUI and
       | not mobile friendly -- I don't have my laptop with me when I'm in
       | the cellar to find a wine for tonight, I have my phone.
       | 
       | Will I every make up the time I spent building it in time saved
       | compared to my excel/evernote setup? Nope, not even close. But it
       | was a fun side project, and I like fiddling with the hosting/Ops
       | part.
        
         | vertigolimbo wrote:
         | Off-topic but thank you for mentioning WSET. It's the first
         | time I've heard about it. In UK, there's something basic
         | offered by bbc: https://www.bbcmaestro.com/courses/jancis-
         | robinson/an-unders...
        
           | Msurrow wrote:
           | Sure. You can get WSET 1, 2 and 3 for sure in UK
           | (https://www.wsetglobal.com/wset-school-london/wset-
           | courses/).
           | 
           | Another popular wine education is CMS (Court Of Master
           | Sommerliers) https://www.courtofmastersommeliers.org/current-
           | course-price...
           | 
           | WSET is supposed to be more focused on the production of
           | wine, where CMS is supporsed to have more focus on
           | service/serving (for waiters). Its details and I think
           | perhaps more of a different in the lower levels.
           | 
           | I can recommend WSET. I had a pretty good knowledge of wine
           | before I started, so I did WSET2 first. WSET1 is short and
           | pretty basic, but very good for beginners and/or if you just
           | want to have a taske before taking one of the higher levels.
           | WSET2 is still beginner domain I think, since there is an
           | exam but its not a practical exam (i.e. no tasting exam).
           | WSET3 gets serious :-)
        
         | noisy_boy wrote:
         | Here is an idea because you clearly enjoy wine stuff. I can
         | check wine reviews online, but as a total wine noob, a) I don't
         | want to shell out big bucks b) lot of the recommendations are
         | not available at the local chain. What I want is for someone to
         | provide recommendations from a given online store; done by a
         | real person.
        
         | specproc wrote:
         | Not a tech project, but made my first batch of wine this year.
         | Was immense fun, and just about drinkable.
        
           | Msurrow wrote:
           | We actually also have a hobby wine production. About 200
           | plants. Established back in 2010ish. Its very insightful and
           | a very interesting perspective to add to "just" drinking and
           | tasting wine. I've done 5 vintages now, and there is still
           | so. much. to. learn... and thats before the wine even gets
           | into the bottle.
           | 
           | What country are you in? We are en Denmark, which is horrible
           | for reds.. but red is "real wine" so thats what we are making
        
       | IgorPartola wrote:
       | I didn't exactly build this from scratch but it is pretty heavily
       | modified: I use an ESP8266 with a relay module to control my
       | garage door via Home Assistant. I use a second one mounted on my
       | bike as a WiFi presence detector. This way when I turn the bike
       | on, the bike module connects to my home WiFi and Home Assistant
       | opens my garage door. Once I leave the property and WiFi
       | disconnects, the garage door closes a minute later. When I come
       | home the same happens: as I approach the garage door opens and
       | after I park and shut the bike off the door closes. There are a
       | lot of solutions for how to open the garage door from a bike but
       | this has been the most elegant that I've tried.
        
       | _andrei_ wrote:
       | The most useful thing I built for myself is my workflow. Being
       | both on the ASD and ADHD spectrums, I intuitively knew I need
       | systems, and started working on them, long before I was diagnosed
       | and got treatment.
       | 
       | One of my dearest parts of my system is the knowledge, task, and
       | time management part. There's many things to improve, but I'm
       | really happy to where I got.
       | 
       | TLDR; custom org/markdown/hyperlists-inspired document syntax
       | powered by tree-sitter, go library for accessing the data,
       | command line utility with interactive task manager (built in with
       | a custom React-like component-based TUI framework), Neovim
       | plugins and integrations.
       | 
       | This short video explains more than I can in a short time:
       | https://gist.ro/slang.mp4
       | 
       | Extra - Thank you Org mode: I do my work in a terminal emulator,
       | so (obviously) my editor is Neovim. Two years ago I allocated a
       | few weeks to learn Emacs and to review Org mode, I was hooked on
       | so many concepts, and I loved it. Didn't like Emacs through, it's
       | just too slow for me, and Elisp felt very meh if not yuck.
       | There's quite a few things that I liked so much while testing Org
       | mode, and that I tried to port.
        
       | rpastuszak wrote:
       | The most interesting tech I've build for myself is boring: a
       | writing tool I use every day for journaling:
       | https://enso.sonnet.io
       | 
       | With that out of the way here's some more ridiculous stuff:
       | 
       | In 2016, I made a browser based AR party game where you'd fight
       | kittens falling from the sky by dancing with vegetables in your
       | hands (CMYK was easier to track using the webcam). I have some
       | photos here: https://goo.gl/photos/g6Dp8GLDbuuhT1TRA
       | 
       | From a technical PoV it was exciting (running AR, in a browser,
       | in pre Pokemon GO, pre WASM times!)
       | 
       | I also made a simple photography lighting tool, replacing
       | professional lights with computer/tablet/phone screens
       | (facade.photo). I put it in an old wardrobe bought in a thrift
       | store on Brick Lane and during my startup launch. Results:
       | https://goo.gl/photos/RZ3fCRcScYSGr7aG6
       | 
       | Ah, I also made an AI-powered voice assistant in 2014. The
       | tagline was HTML5-powered voice assistant, as AI wasn't really
       | _the_ buzzword then, but _HTML5_... oh yeah.
        
         | Hadriel wrote:
         | enso is cool!
        
         | eigenhombre wrote:
         | Enso looks really nice, as does Sit and your about pages.
        
         | pbrw wrote:
         | Enso website looks beautiful, what tools did you use to build
         | it?
        
           | rpastuszak wrote:
           | Next.js for the product page and regular react for the app.
           | My personal website was built using eleventy. I enjoy writing
           | plain html and css but I try to be pragmatic when things get
           | a bit complex.
        
       | robviren wrote:
       | Built my own app for tracking my exercises using a phone arm
       | band, the gyro, accelerometer, and the camera to create a model
       | for rep counting and tempo. I got tired of the mental effort of
       | counting reps. This graphs the strongest signal using an fft and
       | some custom algo to determine the best signal to use. Works
       | pretty well and backs up my own internal count. I promised myself
       | I would only build it for me so I would actually build it as
       | opposed to getting a mental block by building it for others.
       | 
       | My long term vision was to open it up to others and mine the data
       | to determine what the ideal weight, tempo, resting period, and
       | exercises were for a particular body type. I'm just a little too
       | ADHD to commit to it and keep a day job.
       | 
       | https://swolereport.com/
        
       | jo-m wrote:
       | I have a rail line right under my apartment, so I built a small
       | computer vision app running on a Rasperry Pi which records each
       | train passing, and tries to stitch an image of it.
       | 
       | It has a frontend at https://trains.jo-m.ch/.
       | 
       | Edit: it's currently raining and the rain drops are disturbing
       | the images a bit.
        
         | noman-land wrote:
         | This is so cool!!
        
         | habi wrote:
         | Awesome. Congratulations from a fellow Swiss (and panorama
         | photo dabbler).
        
           | crossroadsguy wrote:
           | And yet again I forgot it's not the Chinese TLD.
           | 
           | By the way I have a quick expansion for most TLDs and for the
           | Swiss .ch "cheese" sounds rather more apt and easier than the
           | real one in my head :)
        
         | rnjailamba wrote:
         | Curious to know how you manage to concentrate during waking
         | hours on work and how you sleep peacefully?
        
         | jo-m wrote:
         | Tip: some more interesting ones (including failed ones) show up
         | if you filter for shortest.
         | 
         | https://trains.jo-m.ch/#/trains/350
         | 
         | https://trains.jo-m.ch/#/trains/3224
         | 
         | https://trains.jo-m.ch/#/trains/4045
         | 
         | Etc
        
         | sirwitti wrote:
         | This is really cool! Thanks for creating and sharing!
        
         | BHSPitMonkey wrote:
         | I think this might be my favorite. Wonderful idea and
         | execution!
        
         | chankstein38 wrote:
         | This is such a cool project! I live right next to a busy road
         | and for a long time have wanted to do something like this that
         | would count the vehicles passing. I've always been curious how
         | many cars pass on a given day and I feel like the hardest part
         | now adays would be getting the right camera angle so if cars
         | are occupying all 3 lanes they aren't counted incorrectly. From
         | there I just need to detect cars as they pass and count them.
         | 
         | It's really cool to see it used like this! The resulting images
         | are really neat as well!
        
           | e4e5 wrote:
           | There was a post yesterday about counting traffic on a pi,
           | you might want to check it out:
           | https://nathanrooy.github.io/posts/2019-02-06/raspberry-
           | pi-d...
        
             | chankstein38 wrote:
             | Thank you for this! It's great!
        
         | fransje26 wrote:
         | Really cool. They look like model trains! :-)
        
           | dmd wrote:
           | Yeah! I've never seen trains so clean and modern looking in
           | my life. They look like they came out of a futuristic toy
           | set.
        
             | 4ggr0 wrote:
             | They're swiss trains, I guess we have enough wealth to make
             | sure that our trains are clean. The interior is also almost
             | always clean, except early morning on weekends (drunk
             | people).
             | 
             | From time to time I see a train with graffiti on it, but
             | usually they remove such things very fast.
        
         | LetsGetTechnicl wrote:
         | Wow this is cool as hell!!
        
         | Jleagle wrote:
         | Sounds interesting id love to know how you do it. Is the speed
         | calculated based on the noise of the wheels going over a track
         | join? Then you can work out the length/speed based on the time
         | it takes etc. Are the train types/images random or calculated
         | some how?
        
           | jo-m wrote:
           | There is a parameter which tells the program how many pixels
           | there are per meter. From this you can compute the length
           | after stitching. Using framerate, you can compute the speed
           | in the same way.
        
         | prenoob wrote:
         | Taking trainspotting to a new level, congratulations
        
         | Nextgrid wrote:
         | Made me think of Kartrak (an early optical barcode-like system
         | for tracking rolling stock):
         | https://www.youtube.com/watch?v=5K8UpMNYIPo
        
         | ipsum2 wrote:
         | Very cool, how does the stitching work?
        
         | mNovak wrote:
         | Wow that's very cool. The resulting super flat images of the
         | trains is really interesting -- like taking a photo from
         | immense distance
        
         | jokteur wrote:
         | Given the type of trains that are passing (it seems no IC/IR),
         | along with their precise timing and direction, I'm sure it is
         | easy to figure out where exactly you are living.
        
           | wkat4242 wrote:
           | Especially in Switzerland where the trains actually go on
           | time :P But anyway does it really matter? It'll still be hard
           | to identify the actual apartment.
           | 
           | Most online webcams are easier to identify
        
           | jo-m wrote:
           | Yes.
        
         | tuukkah wrote:
         | I wonder if there's open data or an open API for the schedule
         | or location information. That way, you could include
         | information on which train is which.
        
           | jo-m wrote:
           | Yes, the APIs are there, with minute accurate real time data.
           | Would just have to do it ;)
        
         | sandos wrote:
         | Nice job! I would be really happy if I ever finished my own
         | hobby projects this well.
        
         | INTPenis wrote:
         | When you say "right under my apartment", where exactly do you
         | mean? Because I also have a train line going underground very
         | near my apartment but it's not directly under. Could I capture
         | such images? And I'm on the 4th floor.
        
         | nXqd wrote:
         | this is so cool :D
        
         | blakecaldwell wrote:
         | I love this so much. Amazing use of creativity and tech chops.
         | A++ would trainspot again.
        
         | imhoguy wrote:
         | Some cool tech there too - client side sqlite db over wasm,
         | neat! :)
        
         | birracerveza wrote:
         | This is amazing
        
         | jollyllama wrote:
         | Reminds me of the 90's Lego computer game "Lego Loco"
        
         | megalord wrote:
         | This is really impressive. Very nice work
        
         | formerly_proven wrote:
         | A hybrid between area and line scan - block scan camera?
        
         | markusw wrote:
         | Cool! :D
        
         | jcutrell wrote:
         | I live on an airport - Id really like to do this.
        
           | amenghra wrote:
           | https://skybot.cam/ (see also
           | https://github.com/IQTLabs/SkyScan) and might be of interest
           | to you?
        
         | dllu wrote:
         | Have you considered getting a line scan camera for sharper and
         | higher resolution images? I took some train scans with one:
         | https://daniel.lawrence.lu/photos/
         | 
         | Incidentally I also built some tech for it:
         | https://github.com/dllu/nectar but I need to update the
         | readme...
        
           | mcast wrote:
           | Thanks for sharing, those photographs are very clear and
           | sharp (especially this one: https://pics.dllu.net/file/dllu-
           | pics/boston-pcc.jpg) it seems to tickle my brain.
        
             | cinntaile wrote:
             | This reminds me of Wes Anderson movies for some reason.
        
               | bradgessler wrote:
               | His style is to shoot his subjects straight-on. Most
               | other movies have the camera at an angle.
        
           | seabass-labrax wrote:
           | I remember seeing your photographs on Wikimedia Commons and
           | wondering how you did them - now I know! I always assumed
           | that you just used a very quick shutter with an f-stop of
           | zero :)
        
             | stavros wrote:
             | I know he told us how already, but that would have left the
             | background sharp, rather than always the same.
        
         | detaro wrote:
         | that is very neat, thanks for sharing!
        
         | Hypergraphe wrote:
         | So RAD !
        
         | grilledcheez wrote:
         | This is so cool!
        
         | imstil3earning wrote:
         | wow that is so cool!
        
         | globalise83 wrote:
         | No interest in trains, but your website is great - simple,
         | visual and effective.
        
         | bombcar wrote:
         | This is close to what I've always wanted to build; a camera
         | watching the road next to me that records the speed of the
         | vehicle traveling by. I should have everything needed from a
         | simple camera setup, but I've not bothered actually _doing_ it.
         | 
         | Since you have speed, I should dig into this.
        
           | robodan wrote:
           | I wanted that with noise levels. I'm so very tired of hearing
           | illegally modified exhausts. It seems like an I2S mic would
           | give calibrated levels.
        
           | password4321 wrote:
           | https://news.ycombinator.com/item?id=11714207
        
           | hyeomans wrote:
           | Same here, I have a Pi 3 but I want to have this outside in
           | the balcony, the question that always stops me is how to
           | power it and what camera do I meed?
        
             | bombcar wrote:
             | My plan was to stick the Pi inside, and power both it and
             | the camera with Power over Ethernet (external-rated PoE
             | cameras are a dime-a-dozen on Alibaba and friends).
             | 
             | I even got so far as to get it working with Zoneminder to
             | dump out the clips that had motion, but didn't get further.
        
         | eiiot wrote:
         | This is really sick!
        
         | mertd wrote:
         | That's amazing. Very cool.
        
         | Aeolun wrote:
         | What's up with the duplicated cars at the top?
        
           | LoveMortuus wrote:
           | From what I can see, they're not actually duplicated, I would
           | suggest taking a closer look at the windows. But I do agree
           | that it's quite hard to see the difference.
           | 
           | The trains look very clean from the outside. I do wonder how
           | loud is it, to live so near the tracks.
        
           | mkl wrote:
           | The camera is pointing at the car. The train is moving past
           | the car. The images of the whole train are made by stitching
           | together lots of photos, all containing the bit of the train
           | in front of the car as it moves past it.
        
         | spyremeown wrote:
         | This is awesome. Really nice!
        
         | ant6n wrote:
         | Very neat. What are those power cars (triebkopf)? I thought sbb
         | was only using proper locomotives (cabs at both ends) and EMUs
         | (kiss, twindexx, ...).
        
         | terran57 wrote:
         | Cool project - thanks for sharing!
        
       | pojon wrote:
       | A bash-only issue tracker, written on a dare[1] then used for
       | some projects. A laptop theft honeypot to pwn the thief[2].
       | 
       | [1]: https://github.com/manpages/issues-legacy [2]:
       | https://github.com/manpages/tar-spoon/
        
       | modeless wrote:
       | My townhome complex had one of those call boxes at the front
       | gate. When Doordash/FedEx/the cleaners/the in-laws/etc arrived
       | they would have to call me from the call box and I'd have to
       | answer it and listen to garbled audio to figure out who it was
       | and press 9 to open the gate. It was kind of a pain, so I made a
       | Twilio app to answer calls from the call box.
       | 
       | I set up custom entry codes that I could hand out to anyone.
       | Everyone got their own code, and it would text me whenever
       | someone used a code so I'd instantly know who was coming. The
       | text conversation was my timestamped access log. I also put time
       | constraints on some codes so e.g. Doordash couldn't open the gate
       | in the middle of the night, or I could set up a temporary access
       | code for a party, and I rotated codes too, with text
       | notifications if an outdated code was used.
       | 
       | I thought about making a paid app out of it, but it just didn't
       | seem worthwhile. I didn't expect that many people would want to
       | pay for it. For a while I was excited about a YC startup called
       | Doorport that was going to make a hardware device that you'd
       | install inside those dumb call boxes and make them smart with all
       | sorts of cool features, better than my Twilio hack. But I think
       | they pivoted to a much less interesting pure software thing and
       | then got acquihired.
        
         | codetheweb wrote:
         | I think FreshBuzzer is a similar idea: https://freshbuzzer.com/
        
           | modeless wrote:
           | You're right, this looks like almost exactly the product I
           | would have made if I decided to turn it into a product. I
           | think they started around the same time I did. I wonder how
           | much money they're making on it? Could be a nice little
           | lifestyle business if they get enough users. I bet their
           | Airbnb-focused features would be the real moneymaker, I
           | didn't consider that as a potential market.
        
         | bartkappenburg wrote:
         | Nice! I built the same thing for a gate at our vacation house
         | at a lake. The home-owners have to register their mobile number
         | so that if you call a certain number the gate opens based on
         | number recognition. Every time new people were at the gate
         | (deliveries, guests, renters) they would need to call the
         | owner, who had to hang up and call the gate's number.
         | 
         | I use twilio to make outbound calls to that number using my
         | registered phonenumber. I put a Django app in front for home
         | owners so they can add authorized phone numbers with a
         | expiration date.
         | 
         | Whenever someone is a the gate they call a twilio number, my
         | django app checks the validity, opens the gate by calling the
         | gate's number with my number as ID, plays back some welcome
         | message "hello chris, welcome to..." and sends the owner a push
         | notification that person X is en route.
         | 
         | Todo: add a feature to redirect an unknown number directly to
         | the owner and open the gate after manual verification.
        
         | prox wrote:
         | That's actually some very cool hacking together! Love it.
        
         | dgently7 wrote:
         | I had a buzzer that was basically a button on the handset of a
         | phone which would Open the door, I wasn't allowed to open it up
         | to wire directly into it so I slapped together a node red
         | script on a rpi with a servo that would push the button to buzz
         | open the door anytime I said "open seasame" with Siri via an
         | iOS automation thingy. Never needed to carry keys again while
         | we lived there.
        
         | jpatters wrote:
         | Cool. I did the same thing for my office building except I had
         | Twilio post to our work slack with buttons that we could click
         | to let them in or not. It was a really fun little afternoon
         | project one day.
        
         | Evan-Purkhiser wrote:
         | Haha, I also built exactly this!
         | 
         | I had mine integrated with Home Assistant and got notifications
         | via a telegram integration.
         | 
         | I also had mine setup so me or my room-mate in our apartment
         | telegram group could register new codes, or generate single-use
         | codes.
         | 
         | I also considered building it into a paid app, but came to the
         | same conclusion :-)
        
         | stickperson wrote:
         | How did this work exactly? Twilio would answer the call, listen
         | for a number, and "press" 9 if the number was in an allow list?
        
           | modeless wrote:
           | That's right. And simultaneously send a text like "FedEx
           | opened the gate" or "Doordash failed to open the gate after
           | hours" to my and my wife's phones.
        
             | wing-_-nuts wrote:
             | Have you gotten any 'failed' people trying to come in
             | unexpected?
        
               | modeless wrote:
               | I don't think so. The only time expired codes were used
               | was legit delivery people using outdated codes. Sometimes
               | they would even try multiple old codes. They must have
               | ways of saving old codes that worked once.
               | 
               | Thieves didn't bother with codes, they would just climb
               | over the gate or tailgate someone else.
        
         | 6510 wrote:
         | The product should be a LLM learning from each interaction
         | globally. So you walk up to the door and it says Hello Jim, I
         | see you work for fedex now. Could you please show me the label
         | on the package?
         | 
         | With triggers like: If the cleaner is more than 15 min late 5
         | times in a period of 3 months and there are more than 5 resumes
         | posted for cleaning positions do not open the door and fire
         | them.
        
         | noahtallen wrote:
         | ButterflyMX is used a lot in Seattle buildings and does quite a
         | bit similar to that: https://butterflymx.com/
        
           | daveidol wrote:
           | I used to have this when I lived in Seattle! It's pretty cool
           | tech
        
         | fanick wrote:
         | My related story: we have door phone system in our apartment
         | house and I wanted to get a notification whenever our flat got
         | buzzed. I hacked the phone in our flat - attached a circuit
         | directly to the wires leading to the coil of the buzzer and
         | through arduino to the pc. Then I stitched together some code
         | utilizing firebase to send notifications. Worked like a charm
         | until google began to require credit cards for the free stuff.
        
         | tshaddox wrote:
         | That sounds neat. When you say everyone got their own code, do
         | you mean that each person had a separate code for the call box,
         | and the call box would call one of many separate Twilio phone
         | numbers? Or did the call box always call the same Twilio
         | number, and you instructed each person to then input their
         | special code via the call box? My apartments have always just
         | asked me for a single phone number which they program into the
         | call box, so I'm guessing the latter, although it never
         | occurred to me that the guest might be able to press more
         | buttons after the phone call has been connected.
        
           | modeless wrote:
           | You're right, it's the latter. Yeah, you can still use the
           | keypad after the call is started. But it's a little clunky.
           | The instructions you have to give people are like "first dial
           | 542, then wait until you hear the prompt, then enter code
           | 867". Which as it turns out is a little too complex for a lot
           | of people. Another reason why it wouldn't have been great as
           | a paid product.
           | 
           | You could also have a fallback that forwards the call to your
           | cell phone after a failed attempt at entering the code. But
           | most of the reason I built this was so it would stop calling
           | me at random times, so I didn't really want that.
        
             | tshaddox wrote:
             | Yeah, the call box in general is just not a great system in
             | my experience. I often just tell guests and delivery people
             | to text or call me when they get there, which works for me
             | because my apartment is very close to the lobby. It's just
             | easier than hoping they figure out how to use the call box
             | and follow my directions to get to my apartment.
        
               | modeless wrote:
               | Yeah these call boxes are simply awful. That's why I was
               | excited about Doorport, to have something better.
        
         | minton wrote:
         | That sounds like a fantastic tool. You didn't happen to open
         | source any of your efforts did you? I'm planning to do
         | something like this and any head start would be greatly
         | appreciated.
        
           | modeless wrote:
           | No code actually, I made it all in Twilio Studio which is
           | their visual programming "no-code" tool for phone trees.
           | Clunky to work with but trivial to set up and had enough
           | functionality for this very simple application.
           | 
           | Obviously to make a real app out of it I would have redone it
           | in a real programming language and made some frontends for
           | web/Android/iOS.
           | 
           | Someone else pointed out https://freshbuzzer.com which looks
           | like a real product that does the same thing.
        
       | cobbzilla wrote:
       | My mom digitized many many old family videos, and wanted them
       | online for sharing with family (including elderly & not-super-
       | tech-savvy relatives). She asked me "should I just upload them
       | all to a YouTube channel?"
       | 
       | Thankfully it was a phone call so my mom didn't see my aghast
       | expression. I prefer that big tech not index this stuff! Better
       | to keep "in the family"
       | 
       | Seriously why does big tech deserve this free & super-private
       | window into me & my ancestors lives?
       | 
       | So I wrote something[1] where:
       | 
       | * it's fully free & open source
       | 
       | * cloud native
       | 
       | * plays on any device, any bandwidth, even if shitty
       | 
       | * yes my 90+yo Aunt Loretta (w00t to you Aunt Lo!) can use it on
       | her phone & computer
       | 
       | * all data can be always encrypted, both source videos and
       | derived/optimized assets
       | 
       | * and there's more. please have fun
       | 
       | Basically point it at a source bucket on S3 or B2, and get your
       | own private YouTube.
       | 
       | What I've built is _very_ limited in functionality atm, but I
       | believe the foundation is solid and plan to extend media support
       | to photos and audio.
       | 
       | This can be a nice alternative to Plex/Google Photos/YT/etc.
       | 
       | It's for when you don't care about "building an audience" and in
       | fact prefer that big tech can only see encrypted bytes from you.
       | 
       | Try it out and lmk!
       | 
       | [1] https://github.com/cobbzilla/yuebing
        
         | actionfromafar wrote:
         | Not saying you shouldn't do this, but by publishing under AGPL
         | plus
         | 
         |  _If you are an individual person or a not-for-profit
         | organization, and your usage of this software is entirely non-
         | commercial, you may use this software under the terms of the
         | GNU Affero General Public License, version 3, summarized below
         | and reprinted in full thereafter._
         | 
         | you have effectively created a _new_ license and it 's not
         | completely clear to me what that new license even means
         | exactly, except that obviously a company should stay far away
         | from it.
         | 
         | With regular AGPL, there is not a problem for a company to use
         | the AGPL licensed software, it "just" can't offer Tivo-ised
         | experiences or a website running modified AGPL code.
        
           | Strom wrote:
           | AGPL has language to cover such things, e.g.
           | 
           | > _All other non-permissive additional terms are considered
           | "further restrictions" within the meaning of section 10. If
           | the Program as you received it, or any part of it, contains a
           | notice stating that it is governed by this License along with
           | a term that is a further restriction, you may remove that
           | term._
           | 
           | So it seems at best there is a need for a middle man who gets
           | the AGPL licensed version that can then propagate it further
           | under pure AGPL.
        
             | chrisshroba wrote:
             | This doesn't make sense to me. If one clause says another
             | clause can be removed, then doesn't that create a
             | contradiction where legally it's unclear which of the two
             | clauses "wins" the fight - the one adding additional
             | restrictions or the one removing that clause?
        
             | actionfromafar wrote:
             | I think that language is meant for the case where someone
             | takes an AGPL programs, slaps another restriction on it,
             | and sends it along.
             | 
             | The last person in the chain can disregard the extra
             | "conditions".
             | 
             | But this only works if someone distributed it under (only)
             | the AGPL in the first. In the specific case with the
             | software we are talking about now, that is not the case. It
             | was originally distributed under this _almost_ -AGPL.
             | 
             | But yes, the wording inside the AGPL makes it _extra_
             | confusing exactly. It reads like those test where the
             | instruction is  "before you do anything, read all the
             | questions".
        
           | andrepd wrote:
           | >it's not completely clear to me what that new license even
           | means exactly, except that obviously a company should stay
           | far away from it
           | 
           | And that is his problem because?
        
           | cobbzilla wrote:
           | Use the AGPL. I promise not to sue any individual person or
           | non-profit org.
           | 
           | And you're right, for-profit companies should either stay
           | away for safety or contact me for terms.
        
         | maxibenner wrote:
         | I did a similar thing a while back.
         | https://github.com/maxibenner/cardboard
         | 
         | The goal was to have a platform that ingests the commonly
         | enormous video files from old tapes, automatically cuts them,
         | tags them based on content to make them easily searchable. My
         | focus was on discoverability of scenes hidden in those long
         | video files. The search bar would also randomly suggest tags to
         | search for.
         | 
         | At some point I tried to work with a large video digitization
         | provider and the video splitting ended up being too expensive
         | to be viable for the proposed business model. Now it just auto
         | generates thumbnails and lets you tag videos manually.
         | 
         | The project includes a business dahsboard that allows
         | digitization businesses to send videos directly to customer
         | accounts (deliveries need to be accepted).
         | 
         | Currently, I only use it for my own videos as well as for my
         | MIL.
        
         | adave wrote:
         | If it's old pristine video, might be worthwhile for anything
         | without identifiable info on YT. Never know who this helps or
         | brings backs memories.
        
         | talhah wrote:
         | Wow that's amazing, do you plan to support mobile apps as well?
        
           | cobbzilla wrote:
           | I'm not considering a native app for this, but the mobile web
           | experience should be excellent.
        
         | rhizome31 wrote:
         | Hey, sounds like a very cool project.
         | 
         | I'm wondering: have you considered setting up a Peertube
         | instance and what were the reasons for not doing it?
         | 
         | Other question about not giving away your private data to big
         | tech: Why is S3 better than a private YouTube channel?
        
           | cobbzilla wrote:
           | I like S3/B2 because the vendor only ever sees encrypted
           | bytes. All decryption/plaintext is on the device. YouTube
           | does not get you there. In fact their entire model is
           | predicated on watching your every move.
           | 
           | As far as Peertube, I don't know enough about it. If I put a
           | massive-bitrate video in some weird format on it, and then
           | try playback on a crappy phone, will it work? If I go through
           | a short tunnel, will it buffer or degrade quality gracefully?
           | I don't want to worry about it.
        
             | rhizome31 wrote:
             | > S3/B2 because the vendor only ever sees encrypted bytes
             | 
             | Got it, thanks!
             | 
             | > questions about Peertube
             | 
             | I don't know either. So far my experience with existing
             | instances has been rather good but I didn't consciously
             | test the use cases you mentioned. I've wanted to publish
             | educational videos for a while but the idea of feeding the
             | big nasty beast just breaks my heart.
        
               | rvense wrote:
               | Have you considered just hosting mp4s in <video> tags on
               | a simple web host? I think it'll work a lot better than
               | you'd think.
        
               | rhizome31 wrote:
               | You're right, thanks for reminding me of the simple,
               | straightforward way!
        
               | cobbzilla wrote:
               | This uses video.js which wraps <video> and adds a lot
               | more goodies.
        
         | wxce wrote:
         | nit: The language in the readme is called 'Marathi' instead of
         | 'Maranthi'. It's my native language, and not a ton of people
         | speak it online. Nice to see it here :)
        
           | cobbzilla wrote:
           | Thank you! My mistake, updated. cheers! :)
           | 
           | PS-- I also wanted my docs in any language, but also that
           | anyone else could translate their app/docs easily, so I made
           | this other thing[1], which is why these docs are available in
           | so many languages
           | 
           | [1] https://github.com/cobbzilla/hokeylization /
           | https://www.npmjs.com/package/hokeylization-lite
        
           | Paul-Craft wrote:
           | Huh, interesting. Apparently, Marathi is the 13th largest
           | language in the world by population of native speakers, yet
           | I've never heard of it. TIL.
           | 
           | Is there anything you know of that's linguistically
           | interesting about it besides what I can learn from Wikipedia?
           | 
           | https://en.wikipedia.org/wiki/Marathi_language
        
             | mixmastamyk wrote:
             | Simpson's quote:
             | 
             | Reverend Lovejoy: No, but He was working in the hearts of
             | your friends and neighbors when they came to your aid, be
             | they [points to Ned] Christian, [Krusty] Jew, or [Apu]...
             | miscellaneous.
             | 
             | Apu: Hindu! There are 700 million of us.
        
         | robertlagrant wrote:
         | > Seriously why does big tech deserve this free & super-private
         | window into me & my ancestors lives?
         | 
         | I don't think anyone's claiming it deserves anything?
        
       | absoluteunit1 wrote:
       | I started building a typing web app to get better at touch
       | typing. (Doesn't work on mobile so open on PC if curious)
       | 
       | https://www.typefaster.app/
       | 
       | Still very early stage and many more features (racing, user
       | management, etc) coming but it's probably one of the first
       | projects I've built that I've actually used
        
         | nmca wrote:
         | Nice UI! Is it open source?
        
       | drcode wrote:
       | I just moved to the bay area. I made an app that scrapes all bay
       | area events from meetup, eventbrite, and a couple of other sites-
       | This way you end up with around 100 events a day, way too much to
       | read through.
       | 
       | So next I take each event, send it to chatgpt3.5 and ask it to
       | rate this event on around 20 parameters. Next, I take the
       | latitude/longitude of each event and measure driving distance
       | from my house. Then I have a master formula based on my personal
       | interests and driving preferences and an app shows me the 10
       | events every day most likely to be interesting to me for any day.
        
         | bombcar wrote:
         | This is brilliant and could be useful in general. Very "Jeeves"
         | like.
        
         | runeb wrote:
         | This is such a great idea. A tip if you are not already aware
         | (and interested in music) is to check out "The List", a Bay
         | Area concert guide which has been maintained since the 90s:
         | http://www.foopee.com/punk/the-list/
        
           | nullz3r0 wrote:
           | Ahh yes the list, it is shared to whoever doesn't know about
           | it. It's the opposite of gatekeeping and a pleasure to see.
        
         | alaskamiller wrote:
         | Lived in the bay the whole time, did the same thing. Multiple
         | sources, categorization, distances, etc. Chaining GPT for
         | rating is a nifty feature add though.
        
         | gregw134 wrote:
         | What's your prompt? I've been doing something similar but I've
         | found it difficult to get chatgpt to output a consistent data
         | format.
        
           | drcode wrote:
           | I use the chatgpt35-turbo "system" field for instructions,
           | then put the event info into the "user" field
           | 
           | --- PROMPT ---
           | 
           | You are given a meetup event description. For each of the
           | following attributes, return the percent likelihood that the
           | event involves has that attribute, in CSV format:
           | 
           | Attributes:
           | 
           | - Technology
           | 
           | - Pets
           | 
           | - Exercise
           | 
           | Example:
           | 
           | Technology,0.3
           | 
           | Pets,0.1
           | 
           | Exercise,1.0
        
           | msikora wrote:
           | Always give good examples in the prompt, preferably a few
           | (2-4). Still not 100% reliable though, especially with models
           | below GPT-4.
        
         | atmosx wrote:
         | Best real world example of something actually useful for
         | ChatGPT I've seen yet.
        
           | andrepd wrote:
           | Not to be contrarian but from what I could experience with
           | chatgpt I wouldn't want it recommending things to me.
        
         | stavros wrote:
         | I built a site to scrape events from my city and show them all
         | on one page. It was _amazing_ for finding things to do, until
         | Facebook shut down their events API and the site died
         | overnight.
        
         | lurker919 wrote:
         | Please opensource this - or even a pastebin would work.
        
           | aryamansharda wrote:
           | Totally agree, would love to have a local instance running
        
       | efrecon wrote:
       | It's nor entirely cool, nor revolutionary, but I use this many
       | times a day, so I thought that it could maybe fit in. I've built
       | dew (https://github.com/efrecon/dew). It's a glorified way of
       | running a docker container as yourself with the current directory
       | mapped as itself inside the container. Sometimes you will also
       | need some access to the XDG directories.
       | 
       | I got tired of installations that would break others and of
       | project requirements that would differ from others in tooling. So
       | I use dew to run most of the CLI tools that I need and to build
       | development environments that fit the (sub-)project at hand. When
       | things go mad or disk space has become short, it is only a matter
       | of cleaning the set of docker images to recover.
       | 
       | You don't need dew to do all this, aliases will do in most cases.
       | They would all be mostly the same and you would have to remember
       | how to solve problems for each tool at hand. So dew groups those
       | under a few concepts that you can turn on and off for the
       | specific tool/environment to run. It hides all those ugly CLI
       | parameters behind configuration variables, and finds the set of
       | necessary variables for a given tool/environment under a .env
       | file automatically. dew is quick enough. In most cases there is
       | little difference between running "dew yourfantastictool"
       | compared to running yourfantastictool installed directly on the
       | host.
       | 
       | The code has grown with time so I have used dew as an exercise in
       | trying to write readable code and organise it, even though it's
       | written in good old shell and has long passed the size of what
       | should be written in shell...
       | 
       | Things that perhaps are a little cool with dew: - It can rebase a
       | barebone image on top of another one, so that you can use the
       | tool from the barebone image and perhaps rebase on something that
       | has coreutils or similar. This is remembered as a local image for
       | next time. - It can inject commands to be run before becoming
       | "you" in the shell, so you can install more (as root inside the
       | container) before switching to a gentle user. This is remembered
       | as a local image for next time. - It can use a local Dockerfile
       | for complex scenarios. This can replace the two cases above. -
       | You can have access to docker from inside the container, and it
       | downloads the latest version of the docker client for you (by
       | default: this can be turned off). - It can create files and
       | directories, possibly with initial content for you before running
       | the container. This is because -v xxx:xxx will always create a
       | directory if xxx did not exist, and because some tools require a
       | minimal configuration file to run. - It has initial support for
       | podman, but I still haven't given this as much love than the rest
       | so your mileage may vary...
        
       | RowanH wrote:
       | The G-Seat as part of my sim-rig. 9 AC Servos, borderline
       | dangerous, beast of a simulator. The G-Seat I decided to do
       | better than commercial offerings (had tried "the best" and it was
       | pretty average). CNC brake folded aluminium seat with moveable
       | flaps controlled by AC Servos - had to 'de tune' as they were
       | literally at rib-breaking speed initially. About a year worth of
       | development designed and prototype in Fusion 360, through to this
       | :
       | 
       | https://www.youtube.com/watch?v=STnnqonpcAU
       | 
       | And another vid at max rpm on the servos...
       | 
       | https://youtu.be/eMZC0ekEXQ8?t=39
        
         | HeyLaughingBoy wrote:
         | That is the coolest thing I've seen in a long time!
        
         | FemmeAndroid wrote:
         | This is awesome. I've wanted to go down this route for a while.
         | Every time, I basically give up at the point where I decide I
         | want to check out https://opensfx.com and then realize I don't
         | have an easy way to get a referral.
         | 
         | I'm currently using a NLR Wheel Stand, and probably don't have
         | time to build right now, but if you'd consider shooting me an
         | email at chris at cjkinni.com I'd love a chance at actually
         | going down the route of building one of these. No worries if
         | you'd prefer not to.
         | 
         | Great work on the whole thing!
        
       | difflens wrote:
       | I built DiffLens (https://www.difflens.com/) initially just for
       | myself. It's a diff tool that uses abstract syntax trees to make
       | the diff more review-able. It's free for anyone to use too. I use
       | it every day to review my diffs. If anyone works on Typescript,
       | Javascript, HTML and/or CSS, do check it out!
        
       | jb1991 wrote:
       | I used Arduino to build an automated RDT adapter for grinding
       | espresso beans in such a manner that they don't spread all over
       | your counter. It was a fun project and learned a lot about the
       | chemistry of beans.
        
       | dickfickling wrote:
       | I was annoyed by having to reach for a remote or my phone when
       | watching stuff on my Apple TV, so I made a MacOS Apple TV
       | remote[0] that lives in the menu bar. Saves me literally seconds
       | every day.
       | 
       | [0]: https://github.com/dickfickling/honeycrisp
        
       | stasmo wrote:
       | I made a wagon with an electric motor to carry my things to the
       | park and at music festivals. It has a 1000W brushless DC motor
       | and a drive train for a go cart. It's controlled by an ESP32 that
       | is attached to a hand throttle on the handle for the wagon. This
       | ESP32 also has a temperature sensor attached to the batteries in
       | the wagon to make sure they don't overheat. It controls a relay
       | that powers another ESP32 that controls the Neopixels I've
       | attached to the wagon using LED channels with a milky white
       | diffuser.
       | 
       | It was a very fun project and I learned a lot about electricity,
       | batteries and the pitfalls of aliexpress.
        
         | maherbeg wrote:
         | If you ever get a chance, a blog post about the build,
         | software, and pitfalls would be awesome. I'm thinking about
         | building something like this as our toddler gets older and we
         | start to do longer day outings in a wagon.
        
       | TheMagicHorsey wrote:
       | When I lived in SF, I built a webcam with a raspberry pi which
       | looked down on the street in front of my apartment and uploaded
       | to a website if a parking spot was available. My friends could
       | visit the page on the drive up to see me, and check if there was
       | a parking spot available before they got to the house ... so they
       | didn't have to circle around looking for other spots if there was
       | a vacancy right in front.
        
       | shagymoe wrote:
       | I built a command line app that will execute a variety of
       | different strategies for my crypto holdings. To be clear, I'm not
       | a degen trader, it's more about things like DCAing and
       | rebalancing.
       | 
       | Eg. "Divide my current USD balance into 5 levels of descending
       | orders where the first order is at 5% discount from the current
       | price and every level after that is at a 10% discount." Set it
       | and forget it or run it again with different parameters if the
       | market changes.
        
       | iwanttocomment wrote:
       | After getting an EV many years ago (not a Tesla) which had a
       | truly terrible phone app for checking charge status, starting
       | charging and turning on the heater remotely, I reverse engineered
       | the API and wrote my own web-based tool to control the car. It
       | worked great until 3G was disabled last year.
        
         | Sohcahtoa82 wrote:
         | I wrote an app to do that with my Tesla.
         | 
         | The Tesla app is great, but with one caveat: it won't let you
         | turn on climate controls until the car has "woken up". Upon
         | opening the app, this usually takes 5-15 seconds, but when I
         | first got the car, sometimes took a full minute.
         | 
         | Someone else had already reverse-engineered the Tesla API, and
         | I wrote a quick app that would just let me press a button and
         | it would wait for the car to wake up and turn on the climate
         | controls in the background.
        
       | Martinb14 wrote:
       | In highschool a friend and I build a multiplication circuit based
       | on an AMV serving as clock frequency driver, pushing binary
       | numbers A and B through an addition circuit and a latch producing
       | the result A*B.
       | 
       | We freaked out when we were able to increase the frequency from
       | 1Hz where we visually could see the calculation proceed via LEDs,
       | to thousands of Hz and "instant" calculation.
       | 
       | We had to physically hit the manual begin-switch with great
       | force, in order to prevent the switch from not going cleanly from
       | 0 to control voltage, when we operated in the KHz clock
       | frequencies.
        
       | ozarker wrote:
       | Old School Runescape recently released a feature called "group
       | ironman" that lets you play the game while only being able to
       | trade with or assist others in your small >=5 man group. I made a
       | small service that periodically scrapes the game's hiscore data
       | and generate reports and metrics about the group's progress. And
       | then a Discord bot to interact with the service
        
       | bschwindHN wrote:
       | Awhile ago I made an remote infrared sending tool so a raspberry
       | pi can control my A/C unit
       | 
       | https://blog.bschwind.com/2016/05/29/sending-infrared-comman...
       | 
       | Since then I made a much slimmer, cheaper, more efficient version
       | based on the ESP32 but I haven't written up much about that.
       | 
       | I also created my own keyboard with firmware in Rust
       | 
       | https://github.com/bschwind/key-ripper
       | 
       | I've done a bunch of other small one-off projects too.
        
       | Ingon wrote:
       | Some years ago, I was annoyed by 1password not having any support
       | for Linux and local vaults, and their vault spec was open, so I
       | build a JavaFX app that allows me to read/view my passwords and
       | OTP tokens.
       | 
       | https://github.com/ingon/opvaultfx
        
       | ktzar wrote:
       | I built a website to track the generation of electricity in Spain
       | since I couldn't find a single page from the official provider
       | that contains all the information I wanted to look at at a
       | glance. https://energy.antizone.site/ It scrapes different pieces
       | of data at different intervals.
        
         | grilledcheez wrote:
         | Very cool! Would be awesome to have something like this for
         | more countries (maybe the entire European network)
        
           | rjmunro wrote:
           | For the UK I use: https://gridwatch.templar.co.uk/ It has a
           | page for France: https://gridwatch.templar.co.uk/france/
        
       | xiaodai wrote:
       | An automated scrapper for all my bank accounts, 401k accounts,
       | and share accounts, and bitcoin values. Then displays it daily
        
       | goolz wrote:
       | When I was a bit younger I had a TI-84+ that I adored and learned
       | TI-BASIC on. I wanted to create a small little RPG which I
       | proceeded to do. My favorite little piece of tech I made was the
       | hex-mapper for the map builder. Years later, a careless me
       | allowed the memory in that calc to go. RIP.
        
       | stpe wrote:
       | I really like reading books, non-fiction, fiction, business,
       | everything. But I always tended to have good reading momentum and
       | then life/work happened that derailed the reading habit - and I
       | forgot about it. Took months to pick up again...
       | 
       | To keep reading top of mind I built a Chrome "newtab" extension
       | to show my "Currently Reading" list, and excites me about books
       | I've put as "to-read". It has worked wonders on my reading! And
       | it is pretty small and polished - no tracking, no credentials,
       | just bare-bones.
       | 
       | https://chrome.google.com/webstore/detail/currently-reading/...
        
         | specproc wrote:
         | That's smart, and there's so many very simple ways I could go
         | about implementing that. Nice one, I might give that a go.
        
       | RoyGBivCap wrote:
       | Probably boring to most people but I created a tool to nail
       | exactly 40 hours a week contracting using the laziest possible
       | inputs getting me out as early as possible on Friday:
       | 
       | https://github.com/cynoclast/time
       | 
       | Usage example:
       | 
       | tm 8.5 9.27 8.83 8.87 9:45-1:23 1:33-
       | 
       | 14:11
       | 
       | 54 minutes
       | 
       | Notice you don't have to give it AM/PM? Also don't have to give
       | it any flags. It figures out what to calculate based on number of
       | arguments alone. And it knows 9:45 to 1:23 is around 4 hours, not
       | -8.
       | 
       | And during the week, decimal hours for timesheets:
       | 
       | tm 8:30-12:30 12:40-6:40
       | 
       | 10.0
       | 
       | I used it 5x a week during my contracting days.
        
         | bombcar wrote:
         | This reminds me of Ben Franklin's one hand watch:
         | https://www.hodinkee.com/articles/the-meistersinger-benjamin...
        
       | lonesword wrote:
       | I wrote tweetscreenr.com to fetch articles from my twitter feed,
       | and convert it into an RSS feed. The initial use case was to
       | follow AI researchers on twitter and get notified whenever they
       | post a link to an arxiv.org paper. Works well for me - I get all
       | the news from Twitter, minus all the politicized/opinionated
       | crap.
        
       | dclowd9901 wrote:
       | A service that ran on a Pi in my basement and periodically checks
       | Oregon's liquor site (OLCC) for bottles of bourbon I was
       | interested in, and which liquor stores got new shipments. It
       | would use mailchimp's api to email me when inventories changed.
       | 
       | https://github.com/dclowd9901/olccChecker
       | 
       | It updated itself against the remote repo and ran on a daemon.
        
       | rozenmd wrote:
       | I originally built OnlineOrNot (https://onlineornot.com) to have
       | a convenient way to convince my contracting clients that their
       | hosting sucks.
       | 
       | They'd be like "Oh but I pay $5/mo for this wordpress host, it's
       | fine?" and I'd send them a report saying their website was
       | offline for say 10 hours that week, and to calculate how much
       | being offline for 10 hours would cost them.
       | 
       | Eventually a client asked to be setup with their own account, so
       | I took the time to go full-SaaS.
        
         | shruggedatlas wrote:
         | How frequently does it ping the target site?
        
       | TheAceOfHearts wrote:
       | Wrote a RoyalRoad scraper to convert any of their series into an
       | ebook.
        
       | keyP wrote:
       | I realised I have quite a few random scripts I use for myself or
       | to improve my usual workflow. Recently decided to start blogging
       | again and figured some of them might make interesting reading for
       | others. Lately:
       | 
       | Made my monitor an "ambient tv" by reverse engineering the
       | bluelooth lights and sending them pixel colours:
       | https://www.reaminated.com/reverse-engineer-led-to-convert-m...
       | 
       | I also wanted to use ChatGPT over my own files and documents.
       | Whilst my personal system is a bit more complex, created an end-
       | to-end tutorial of my learnings to get started with using your
       | own docs: https://www.reaminated.com/run-chatgpt-style-questions-
       | over-...
        
       | koevet wrote:
       | https://github.com/luciano-fiandesio/beanborg
       | 
       | A set of Python scripts to automate the importing of financial
       | transactions into Beancount. Been using it consistently for ths
       | last 3 years to manage my finances.
        
       | tmilard wrote:
       | I built a simple software that generates immersion of artist
       | studios. Example (please refresh twice to visit) here:
       | https://free-visit.net/fr/demo01
       | 
       | - Why ? As a parisian living in Belleville (poorest area), where
       | artistes build things, I used to visit a lot of "artists
       | studios". I have always loved this places. "J'aurai voulu etre un
       | artiste", in a way. I always thought that no photography or
       | 360-photo would feel the Space, the immersive feeling.
        
       | zciwor wrote:
       | I'm a credit card point junkie so I always volunteer to pay the
       | bill at dinner or drinks. But, if everyone doesn't get roughly
       | the same thing, it becomes a massive headache. I got fed up with
       | having to manually tally up what everyone ordered and then
       | hunting them down individually to get paid back.
       | 
       | Surprisingly, I haven't found a good tool that addresses this, so
       | I spun up my own. I didn't want to force my friends to download
       | another app just so I can get paid back so I tried to make it
       | mostly SMS based.
       | 
       | You text a picture of the receipt to my Twilio phone number. It
       | triggers a serverless function that runs AWS Textract to itemize
       | the receipt, then stores it in a database. Twilio responds with
       | the unique URL for the receipt and I can text that out to my
       | friends so they can claim their own damn items.
       | 
       | Win win, I get the points AND I finally get paid back.
        
         | dado3212 wrote:
         | I think this exists, iPhone app called Tab?
        
         | epiccoleman wrote:
         | Wow, that's a pretty cool idea. Sounds like it has some
         | potential for being productized!
        
           | zciwor wrote:
           | I am thinking about doing something with it. I put up a
           | landing page to gauge interest, but I have no idea how I
           | would monetize. Right now it's just burning money on AWS.
        
             | epiccoleman wrote:
             | Yeah, I can imagine it would be tough to charge for this,
             | especially on a recurring basis. If I was splitting a bill,
             | and thought I could use this, but then it turns out I'm
             | going to have to pay $5 or a monthly subscription or
             | something, at that point I'd probably just split the bill
             | manually.
             | 
             | If you actually handled the payments, you could introduce a
             | small upcharge that way, but even there it might be a hard
             | sell, and the amount of bullshit you'd have to deal with to
             | be able to scrape a buck or two off each transaction might
             | mean the juice isn't worth the squeeze. But still, if you
             | could scale it enough, a buck or two per transaction could
             | be big money!
        
               | zciwor wrote:
               | Yeah, definitely worth looking into. I think Stripe has
               | their Connect feature which might facilitate payments
               | between people. Could be fun to tinker with. Thanks for
               | the feedback!
        
         | [deleted]
        
       | zwieback wrote:
       | Chicken coop auto-door opener so I don't have to get up at 4AM in
       | the summer. It was just a basic Arduino system but I learned that
       | large canning jars make excellent enclosures: waterproof,
       | reusable, easily modified and replacable lid.
        
         | l2silver wrote:
         | I might use that on my kids...
        
           | xputer wrote:
           | Not advisable to jar your kids
        
       | varun_ch wrote:
       | A few weeks ago, I built myself a web based IDE and deployment
       | solution (like Replit) for quick experiment projects. It's built
       | on Docker and designed to be self-hostable - I run it on a pair
       | of servers at home.
       | 
       | It's called Dock'n'Roll https://youtu.be/nITIMrND0Z0
        
       | elliottkember wrote:
       | I made a Mac app that turns my webcam light on and off with the
       | camera. It's buggy, but I use it every day and I love it
        
       | mind1master wrote:
       | I can ask siri in the car "Check parking" and it will tell me if
       | there are any available spaces in the parking lot near my
       | building.
       | 
       | There is also a telegram bot that can show me the latest camera
       | image with vacant places highlighted.
        
       | tiborsaas wrote:
       | During the lockdown me and my girlfriend to watch movies remotely
       | synced, I wrote a service to sync VNC instances together via
       | websocket. It worked via the web control panel of VLC and a
       | Chrome extension was handling the websocket messages and clicking
       | on the buttons. It even added some indicators to show if we both
       | connected.
        
       | aschleck wrote:
       | I built a cross of React + Wiz (a fantastic frontend framework at
       | Google):
       | https://github.com/aschleck/trailcatalog/tree/main/js/corgi .
       | Totally irresponsible and probably full of bugs, but I was so
       | tired of writing business logic in the same place as my view
       | logic with React and now I'm free of it!
        
       | soren1 wrote:
       | A few years ago I traded cryptocurrency extensively. I eventually
       | ended up with a tax nightmare, needing to account for thousands
       | of trades across several exchanges. After months of talking with
       | my accountant and tax office, I eventually built
       | https://github.com/dleber/capitalg
       | 
       | It was still a lot of work aggregating trade histories from
       | various exchanges into a standardized schema, but I took some
       | comfort in understanding the process. I also avoided the need to
       | share exchange API keys and trading data with 3rd party
       | accounting tools.
       | 
       | If you discover any bugs, please don't tell the tax authorities.
        
       | michaeltbuss wrote:
       | Every night, at 3 AM, my cat will meow and paw at the bedroom
       | door like a banshee. I tried everything to get him to stop,
       | including the off-the-shelf air sprayers that trigger with
       | motion.
       | 
       | Eventually, I decided to build my own. I 3D printed a case and
       | trigger for an air sprayer can, created some electronics with an
       | ESP32 and RF trigger, and wrote my own "motion detection" logic -
       | this time with an ultrasonic sensor, which works much better in
       | the dark.
       | 
       | Now, the cat knows that a meow or paw will get him sprayed, and
       | my wife and I can finally sleep!
       | 
       | I also built an air filtration system for my 3D printer, a level
       | checker for my water softener, and a custom keepsake box that
       | only opens with an RFID chip that you can read more about on my
       | blog: https://www.mikebuss.com/blog
        
         | cobertos wrote:
         | In all my previous houses I just cut a hole in the door. $50s
         | from a big box store for the proper door and a jig saw. I think
         | they even sell templates you can attach to the door to make
         | them more seamless.
         | 
         | But also I'm not trying to keep the cat out so there's that. I
         | just like the door closed
        
           | zestyping wrote:
           | I solved this by letting the cat open the door from both
           | sides.
           | 
           | From one side, the cat can just push open the door. The
           | closing force on the door comes from a small weight hanging
           | on a string, which goes from the top corner of the door to an
           | eye screw on the wall and down to the weight. The weight is
           | adjusted to be just barely enough to pull the door closed, so
           | the door is easy for the cat to push open. The cat walks
           | through and then the door closes very gently and quietly.
           | 
           | From the other side, the cat can pull open the door. I stuck
           | a little hook-handle on the bottom corner of the door, and
           | the cat learned to paw the handle and pull the door open.
           | Because the door closes so slowly and gently, it's easy for
           | the cat to get through.
           | 
           | This lets the cat can come and curl up with me whenever he
           | wants. It's quieter than a flappy cat door; he can come and
           | go without bothering me or waking me up.
        
         | huhtenberg wrote:
         | > ... meow and paw like a banshee.
         | 
         | Was this in March by any chance?
        
         | dangond wrote:
         | We were lucky enough that our cat seems to prefer screaming
         | under the door rather than pawing at the door, and stuffing a
         | blanket underneath thankfully caused her to simply give up.
         | 
         | She still attacks the door loudly when playing with her toys at
         | 5 AM if we forget to confiscate them though...
        
           | ksaj wrote:
           | The first time we ever had cats, we put little bells on their
           | collars so we knew where they were in the house.
           | 
           | One night is all it took for us to remove those bells. Never
           | again.
        
             | ceejayoz wrote:
             | We put an AirTag on our cat's collar. Works like a charm.
        
         | JKCalhoun wrote:
         | We need this.
        
         | ajbourg wrote:
         | Your blog is amazing, I would love to keep up by adding it to
         | my feed reader but I'm not finding any RSS/Atom feeds.
        
         | nydev wrote:
         | Very clever. I would love to re-create this, we have the same
         | issue with our cat.
        
       | paws wrote:
       | I don't know if it qualifies as the "most interesting" but as a
       | travel bug I wrote a little airfare scraper that I got plenty of
       | value out of.
       | 
       | Basically it's a script that scrapes several places for flight
       | deals and "mistake fares" and notifies my phone if it matches
       | with my city. No searching like other flight apps, you basically
       | just set it up and wait, and various places will pop up. Helps if
       | you're in a hub city e.g. NYC.
       | 
       | The phone notification was crucial because such deals sold really
       | fast. In case the booking didn't work out I was usually covered
       | by the 24 hour cancellation rule [0][1].
       | 
       | I started off running it on my own server but later I learned
       | IFTTT handles device notifications without paying the Apple
       | Developer tax, so I migrated things there. Used it more when I
       | was single but nevertheless it's helped me land some killer deals
       | e.g. NYC-Dublin RT for $300, NYC-Paris RT for ~$400.
       | 
       | Thought about making a paid app out of it but the limited seating
       | and time-sensitive nature of these deals is tricky.
       | 
       | [0] https://www.transportation.gov/airconsumer/notice-24hour-
       | res...
       | 
       | [1] I believe this rule, which is not so broadly known, was
       | imposed on air carriers in response to certain fraudulent online
       | marketing practices going on at the time.
        
         | peacefulpond wrote:
         | Great idea! Would love to give the script a spin myself..
        
         | e4e5 wrote:
         | I know that you don't want when more competition for the
         | flights, but that sounds very useful!
        
         | sjg1729 wrote:
         | Been traveling a lot this year - this would've saved me a ton
         | of money. If you've still got the script lying around, I'd love
         | to check it out
        
         | noahtallen wrote:
         | Scott's cheap flights (going.com now) has basically implemented
         | this in a nice little paid service. I got sub-$400 roundtrip
         | direct from Seattle to Dublin. If you can snag even just a deal
         | a year, it's well worth the small yearly price!
        
           | maderfarker3 wrote:
           | going.com is US only. Sad.
        
             | gberger wrote:
             | Jack's Flight Club is the UK equivalent.
        
         | npsomaratna wrote:
         | You still got this? I'd love to use it myself.
        
       | johnboiles wrote:
       | My wife and I lived on a Sailboat for a few years. The boat had a
       | 20 year old SeaTalk bus connected to the sensors (depth, wind
       | speed/direction, water speed). I bought a newer radio with an AIS
       | receiver. Of course I wanted to hook it all to my computer &
       | phone.
       | 
       | So I built some hardware to interface with the SeaTalk network,
       | the AIS radio (and a modern GPS)
       | https://github.com/johnboiles/Helm-hardware
       | https://github.com/johnboiles/Helm-firmware
       | 
       | And a Python proxy running on a Pi to pass messages back and
       | forth across the network. https://github.com/johnboiles/NMEAProxy
       | 
       | And an iOS app that could drive my autopilot
       | https://github.com/johnboiles/helm-ios
       | 
       | Since my proxy spoke the NMEA standard, you could also hook up
       | with other apps like iSailor and get all the sensor data + gps +
       | AIS data. https://apps.apple.com/us/app/wartsila-
       | isailor/id398456162
       | 
       | To my knowledge, 0 other people have ever used any of this but
       | I've always been proud of it :)
        
         | l2silver wrote:
         | I'm always impressed by hardware hacks.
        
       | danabrams wrote:
       | Not for me but for my dad. He has a giant vinyl collection from
       | his teenage years at his country cabin in Vermont.
       | 
       | I hooked a raspberry pi zero up to it about 7-8 years ago, and
       | streamed the audio to a custom app on an iPhone, so he could play
       | a record and listen to it anywhere in the house or even outside
       | while cutting wood.
       | 
       | The hard part was making a nice vector animation of a record
       | player that animated based on the state of the playback.
        
       | keyle wrote:
       | I create a bunch [1] of [2] stuff [3] pretty much non stop [4]
       | and I like rolling my own, in NIH syndrome therapy.
       | 
       | [1] https://noben.org/boomwrist/ [2] https://noben.org/boomdeck/
       | [3] https://noben.org/tvmaster/ [4] ... https://noben.org
        
       | thirdreplicator wrote:
       | I made a password manager in Rust. It just encrypts and decrypts
       | a file from/to ~/passwords.txt <-> ~/passwords.ryp (the encrypted
       | form). Because the the file names are fixed it's easy to use.
       | Just type:
       | 
       | ryp
       | 
       | If ~/passwords.txt is there, it will be encrypted. If
       | ~/passwords.ryp is there, it will be decrypted.
       | 
       | The cool feature is that it checks to make sure that the password
       | you typed in the nth time you encrypt it is the same as the 1st
       | time. This protects you from inadvertently encrypting it with a
       | typo if you check/update your passwords many times.
        
         | ta28042023 wrote:
         | Have you heard of `pass`[0] before?
         | 
         | It's not quite as simple as your solution, but otherwise works
         | really well.
         | 
         | [0] https://www.passwordstore.org/
        
       | OhNoNotAgain_99 wrote:
       | [dead]
        
       | pawptart wrote:
       | I built an emulator for HUB75 LED matrix panels.
       | https://github.com/ty-porter/RGBMatrixEmulator
       | 
       | One of the side projects I work on is a scoreboard that displays
       | MLB scores. It's highly configurable -- you buy the size panel
       | you want and a Raspberry Pi, install the software, and you can
       | configure it to display games, standings, and news headlines for
       | your favorite team or division.
       | 
       | The problem is that the hardware is purchased by the end user, so
       | it can come in many different sizes. I think we officially
       | support 6 or 7 sizes right now, and each panel can be a chunk of
       | change if you get a nice one. If we wanted to test on every
       | device that means I need to shell out 50 bucks x 7 sizes, plus
       | Raspberry Pi and wiring adapter, so not insignificant for a hobby
       | project. Instead, I wrote a drop-in replacement emulator that
       | makes it super simple to emulate any size panel across a variety
       | of display types.
       | 
       | The most advanced display adapter spins up a minimal webserver
       | and serves emulated images over a websocket, meaning you can
       | display your panel over the network on pretty much any device
       | with a web browser.
       | 
       | I write about it quite a bit, if further interested:
       | https://blog.ty-porter.dev/categories.html#emulation-ref
        
       | boricj wrote:
       | I've modified Ghidra in order to unlink pieces of an executable
       | back into relocatable object files.
       | 
       | To keep things simple, source code files are compiled into object
       | files which are linked into an executable. Object files have
       | sections (named array of bytes), symbols (either defined as an
       | offset within a section or undefined) and relocations (a request
       | to patch up an offset within a section with the final address of
       | a symbol) while executable files only have sections. The linker
       | takes all the object files, lays out the sections in memory,
       | fixes up the relocation and writes out an executable file without
       | the symbols or relocations.
       | 
       | With Ghidra I can reverse-engineer an executable and recreate
       | symbols, data types and references between symbols. Then, with my
       | modifications I can recreate relocations with that information
       | and, once a range of addresses has been fully processed, I can
       | select it and export it as a relocatable ELF object file.
       | 
       | Why? This allows me to extract parts of an executable as object
       | files and reuse these by linking them my own source code ; I
       | don't need to fully-reverse engineer these extracted parts, I
       | just have to basically identify every relocation there was
       | originally in that part. I can also divide and conquer my way to
       | decompiling an executable by splitting an executable into
       | multiple object files and recreate its source code one object
       | file at a time, like the Ship of Theseus.
       | 
       | So far it works with what I've tested it with and I've been
       | meaning to write a series of articles to explain that process in
       | detail, but writing quality technical articles with illustrations
       | on a topic this esoteric is very hard.                 - My
       | Ghidra fork: https://github.com/boricj/ghidra/tree/feature/elfrel
       | ocatebleobjectexporter       - My initial prototype in Jython
       | (has a readme): https://github.com/boricj/ghidra-unlinker
       | 
       | Note: this works only with 32-bit MIPS, little endian,
       | statically-linked executables. It can be made to work with other
       | architectures by writing a relocation synthesizer for it, but so
       | far I only care about decompiling PlayStation 1 games.
        
         | j-krieger wrote:
         | Amazing. Do you have any intention of opening a merge request
         | to get this into Ghidra? Or maybe in the way of a plugin?
        
           | boricj wrote:
           | I tried to upstream some of my refactorings/modifications
           | needed to support this, but it was rejected by upstream [1].
           | I don't blame the Ghidra project for this decision ; my
           | modifications are fairly intrusive (modifying the relocation
           | table after the initial load, extensive refactoring of the
           | ELF support code...) and my workflow is essentially unproved
           | in public.
           | 
           | By that I mean I have no documentation, no series of
           | technical articles describing this process and no public,
           | non-trivial project to demonstrate it in real life. I do have
           | a currently private decompilation project that uses this
           | successfully [2], but it's not currently public and it's
           | nowhere near finished.
           | 
           | Also, I only wrote a relocation synthesizer for statically-
           | linked, 32-bit, little endian MIPS ELF. That's a fairly
           | obscure platform, I'd expect most people care about
           | mainstream instruction sets like x86_64 or ARM64.
           | 
           | If you can suggest a forum where people would be interested
           | in this, I can drop a message there and answer more in-depth
           | questions if you want. So far I've worked on this all on my
           | own and I'm kinda out of the loop from the rest of the
           | reverse-engineering community.
           | 
           | [1] https://github.com/NationalSecurityAgency/ghidra/pull/501
           | 0#i...
           | 
           | [2] https://news.ycombinator.com/item?id=35739949
        
         | mkj wrote:
         | That might make LGPL static linking more legally feasible for a
         | lot of programs too!
        
         | andrewmcwatters wrote:
         | Absolutely incredible.
        
           | boricj wrote:
           | Thanks!
           | 
           | If you want to take a look at the source code, here are some
           | pointers:                 - The relocation synthesizer for
           | MIPS: https://github.com/boricj/ghidra/blob/feature/elfreloca
           | tebleobjectexporter/Ghidra/Processors/MIPS/src/main/java/ghid
           | ra/app/delinker/MipsElfRelocationTableSynthesizer.java
           | - The Ghidra analyzer that leverages this synthesizer: https:
           | //github.com/boricj/ghidra/blob/feature/elfrelocatebleobjecte
           | xporter/Ghidra/Features/Delinker/src/main/java/ghidra/app/ana
           | lyzers/RelocationTableSynthesizerAnalyzer.java       - The
           | classes that implement the ELF object exporter: https://githu
           | b.com/boricj/ghidra/tree/feature/elfrelocatebleobjectexporter
           | /Ghidra/Features/Base/src/main/java/ghidra/app/util/exporter/
           | elf       - The Ghidra exporter for ELF object files: https:/
           | /github.com/boricj/ghidra/blob/feature/elfrelocatebleobjectex
           | porter/Ghidra/Features/Base/src/main/java/ghidra/app/util/exp
           | orter/ElfRelocatableObjectExporter.java
        
             | andrewmcwatters wrote:
             | Thank you! I'm fascinated by what must have led you to
             | develop this knowledge.
        
               | boricj wrote:
               | I got inspired by various decompilation projects of old
               | video games and decided to do one myself. I specifically
               | chose "Tenchu: Stealth Assassins", a game for the
               | PlayStation.
               | 
               | I haven't asked around, but I assumed nobody else out
               | there had both the skills for reverse-engineering video
               | games in general and motivation to work on this game in
               | particular. I started reverse-engineering the game with
               | Ghidra and quickly realized that "this game's code is
               | kind of held together with glue and duct tape" (quoting a
               | speedrunner of this game). It's quite the understatement:
               | the code's a complete tangled mess.
               | 
               | I realized that with my current tooling and knowledge
               | there was no way I could hope to complete this
               | decompilation project by myself. I wanted to divide and
               | conquer the problem into smaller, reasonably-sized
               | pieces, but I just have one big executable and I can't
               | just split it into pieces... or can I?
               | 
               | So I tried to innovate my way out of this mess.
               | Ironically, perfecting the unlinking process and making
               | it usable in practice has taken a long time, but it was
               | intellectually rewarding and progress was tangible, so I
               | did not lose motivation along the way.
               | 
               | As for the reverse-engineering of the game itself, my
               | biggest achievement so far is managing to unlink the
               | archive code from the game into a relocatable object file
               | and writing an utility that leverages it to extract files
               | from the game data archive. That sounds complicated, but
               | with my tooling I just need to identify and annotate
               | about 30 functions and global variables used in that part
               | of the program to be able to export it, independently of
               | the rest of the program. Then it's just a matter of
               | writing some C glue code, compiling it to a Linux MIPS
               | program and using QEMU user mode emulation to run the
               | utility, without ever having rewritten that archive code
               | in C or figuring out how it actually works.
        
               | andrewmcwatters wrote:
               | > As for the reverse-engineering of the game itself, my
               | biggest achievement so far is managing to unlink the
               | archive code from the game into a relocatable object file
               | and writing an utility that leverages it to extract files
               | from the game data archive. That sounds complicated, but
               | with my tooling I just need to identify and annotate
               | about 30 functions and global variables used in that part
               | of the program to be able to export it, independently of
               | the rest of the program. Then it's just a matter of
               | writing some C glue code, compiling it to a Linux MIPS
               | program and using QEMU user mode emulation to run the
               | utility, without ever having rewritten that archive code
               | in C or figuring out how it actually works.
               | 
               | I figured you'd have to be exceptionally proud of this. I
               | don't find this specific, yet extremely useful skill, to
               | be common among reverse engineers.
               | 
               | Though you'd wish it was!
        
       | penjelly wrote:
       | tool used to download instagram images to a google photo album
       | for use with things like chromecast screensaver
       | https://github.com/mcpengelly/instagram-saved-to-google-phot...
        
       | sriram_malhar wrote:
       | My MIL is 93, and the only tech she can really deal with is
       | turning on the radio and TV and changing channels.
       | 
       | She is fond of music from old classics (from the 60's and
       | earlier), so I hooked up a Raspberry PI with an FM transmitter
       | and created her own private radio station. She tells me what
       | songs she likes and I create different playlists that get
       | broadcast on her station. It preserves the surprise element of
       | radio, and there is nothing in there she doesn't like.
       | 
       | The tiny FM transmitter is surprisingly powerful. Her neighbours
       | (of similar vintage) are very happy too, so their requests have
       | also started coming in :)
       | 
       | EDIT: I wanted to add that _I_ am the UI ... she doesn 't get to
       | choose the playlist. To make my life easier, I just created
       | different playlists for different times of the day ...
       | calm/spiritual/slower numbers in the early and late hours, peppy
       | during the late morning and evening etc.
        
         | lapser wrote:
         | > The tiny FM transmitter is surprisingly powerful. Her
         | neighbours (of similar vintage) are very happy too, so their
         | requests have also started coming in :)
         | 
         | Sounds like you're about to start a Radio station for the
         | nation.
        
           | fendy3002 wrote:
           | Or it'll be enough only for local area. We don't need
           | everything to be nation-scale, local-community activities
           | need to be promoted more.
        
           | MikeTheGreat wrote:
           | Based on how you're asking I assuming that "Radio station for
           | the nation" is a quote from a movie or something, but
           | searching for it reveals surprisingly little (and is
           | surprisingly random - Google / Bing clearly has _no_ idea
           | what I'm looking for :) )
           | 
           | Is this a quote / reference to something? If so, could you
           | let us all in on what it's referring to?
        
             | burritofanatic wrote:
             | All I could think of was the song Radio, Radio. See the
             | line about cleaning up the nation.
             | 
             | https://genius.com/Elvis-costello-radio-radio-lyrics
        
         | noman-land wrote:
         | Absolutely love this idea. Great work.
        
         | neodypsis wrote:
         | Very cool. Do you connect it to Spotify or to an MP3
         | collection?
        
           | sriram_malhar wrote:
           | From my MP3 collection. I buy the songs or albums she likes
           | and broadcast them. For some that are not on sale anywhere, I
           | scrape them off youtube, but usually send a note to that
           | channel for original sources where I can pay for it.
        
             | neodypsis wrote:
             | Cool! I asked because there are many niche playlists on
             | Spotify you can find for oldies, for example some very
             | specific for the 60s, 50s, 40s, etc. Perhaps it could help
             | her discover similar, but new, music.
        
         | MandieD wrote:
         | This is inspirational for my gaggle of non-tech, super-senior
         | relatives. Thanks so much for sharing.
        
         | phkahler wrote:
         | I love how this requires ZERO learning effort on her part, she
         | simply has a personalized ratio station rather than whatever
         | someone else puts on.
        
         | LeoPanthera wrote:
         | What transmitter did you use?
        
           | john_shafthair wrote:
           | One can go on Amazon and order himself a high powered FM
           | transmitter direct from China. Stick an antenna in the attic
           | and you'll be heard for miles. If you don't gaf about
           | spurious emissions or laws or anything like that you too can
           | be Christian Slater in Pump Up the Volume. The fines for this
           | in the US can be pretty severe but Amazon is happy to sell
           | you the rope to hang yourself with free shipping.
        
           | sriram_malhar wrote:
           | I forget. But just search for "kit FM transmitter". I'd fully
           | intended to build a "proper" transmitter, and was keenly
           | disappointed that you could just buy a cheap single-chip
           | board.
           | 
           | Nowadays you don't even need that. You can turn the RPi
           | itself into an FM transmitter. Search "how to FM broadcast on
           | raspberry pi"
        
             | idonotknowwhy wrote:
             | You do still need that. The broadcast from gpio thing is
             | very low quality and produces square waves which interfere
             | with everything
        
               | hcrean wrote:
               | Pico caps and appropriate impedance miss-match can be
               | used to round-off square waves.
               | 
               | But yes, if you look at high-speed Pi GPIO with a Rigol
               | it looks more like an EKG readout than the thing you
               | might see on a logic analyser. Smoothing it enough to
               | feed a line-amp is very lossy.
        
               | megous wrote:
               | You might want to improve your probing technique, then.
               | :)
               | 
               | GPIO's usually looks quite squarey if you don't introduce
               | parasitic reactances into the circuit with your test
               | setup.
        
               | hcrean wrote:
               | Pi for audio frequencies is lovely and square, Pi at
               | radio frequencies has distinct rise and fall and "just
               | taking a moment to think about it" segments.
               | 
               | A spectrum analyser has probes!?!? This might be where I
               | am going wrong... But the bench scope is largely in
               | agreement about the distinct phases of a cycle at RF
               | freq.
        
             | ale42 wrote:
             | > You can turn the RPi itself into an FM transmitter.
             | 
             | Never tried it, but given the way it works, you definitely
             | need some output filtering unless you accept to pollute all
             | harmonics of your channel (which might be licensed spectrum
             | too, and interfere with services you don't want to
             | interfere with in the first point)
        
         | emaginniss wrote:
         | You should start selling ad time
        
         | umvi wrote:
         | Did you have to apply for some kind of permit to do that? Or is
         | it low power enough that FCC doesn't care?
        
           | LinuxBender wrote:
           | FWIW there are many transmitters similar to what they built
           | that enable playing MP3 players, phones and other things on
           | old radios [1]. I do not remember what the power limit is but
           | no permit is required. They can operate throughout the entire
           | FM broadcast spectrum. If they are broadcasting _good_ music
           | in an elderly community I doubt anyone will complain.
           | 
           | [1] - https://www.amazon.com/dp/B08L3WX26S/
        
             | froglets wrote:
             | Several homes in my city put up holiday lights that are
             | synced to music and transmitted over FM. The signal only
             | works if you're parked near the house.
        
         | nXqd wrote:
         | wow, I really enjoy the idea that basically, she just uses what
         | works for her with better content. Really nice work
        
         | zimpenfish wrote:
         | For the true feeling of radio, you might throw some episodes of
         | The Big Broadcast on there as well - I believe archive.org has
         | some but they're easily findable elsewhere. Donate some money
         | to WFUV[1] or buy some of the collections[2] if you just want
         | the music.
         | 
         | [1] https://en.wikipedia.org/wiki/WFUV
         | 
         | [2]
         | https://rivermontrecords.com/search?type=product&q=big+broad...
        
           | JKCalhoun wrote:
           | Like this site: https://oldtime.radio
        
             | mysterydip wrote:
             | Thanks for the link! I've enjoyed radio classics on
             | satellite radio, so having an on-demand for specific genres
             | is a welcome option.
        
           | thelandofrandom wrote:
           | [dead]
        
         | martinjacobd wrote:
         | This made my day, thank you for sharing. Such a sweet thing to
         | do.
        
         | bazmattaz wrote:
         | What app do you use to make the playlists? You could use the
         | Spotify api for this
        
         | mihaaly wrote:
         | : ))
        
         | jay3ss wrote:
         | I love it. Not only is this wholesome, it's pretty cool too
        
         | davchana wrote:
         | Would love to see a blog about this setup. I, not old, always
         | want to dump much of my music & simply want to listen whatever
         | is next (& miss it if I don't listen) just like radio.
        
           | ecliptik wrote:
           | Have you seen Icecast [1]? You create playlists of local
           | music, then play them with something like mpd. Icecast then
           | streams them out and clients like VLC, xmms2, and even older
           | versions of Winamp can stream it.
           | 
           | I set this up for all my music in shuffle mode for my own
           | radio-like always on streaming service via Tailscale.
           | 
           | 1. https://icecast.org/faq/
        
             | lloydatkinson wrote:
             | I've wanted to try something like this with a Pi or
             | something else running Linux. Is mpd a good choice for that
             | scenario? Does it support being able to use custom events
             | eg a button on the gpio for play/pause?
        
               | nsteel wrote:
               | mpd is a great choice, there are lots of things built
               | around it. Essentially, you'd have the GPIOs trigger mpc
               | commands. mpc talks MPD over the network back to the mpd
               | server, so you could have physical controls all around
               | the place.
               | 
               | There are lots of examples online of people doing this
               | sort of thing. There's a simple example at
               | https://github.com/pablodo/mpd_gpio/blob/master/main.py
               | 
               | Even a chapter of a book about it: https://link.springer.
               | com/chapter/10.1007/978-1-4842-2406-9_... (I just found
               | this, no idea if it's any good).
               | 
               | And also an IR version at https://www.ziemski.net/rcmpd/
        
         | tipsysquid wrote:
         | I love this for her and for me. Best gift you can give to a
         | music lover
        
         | quaintdev wrote:
         | OP seems from India and AFAIK its illegal to transmit on FM
         | frequencies without a license. I understand it might be low
         | powered but theres a chance of Police coming knocking on the
         | door. Whats worse is it might interfere with emergency
         | services. There is a reason we have spoctrum licences.
        
           | _thisdot wrote:
           | Worth noting that there already exists a product in the
           | Indian market by a big music label that addresses this exact
           | issue. I've bought my grandfather one of those and he's very
           | happy with it!
        
             | sriram_malhar wrote:
             | Do you mean the saregama Caravaan? If so, I bought her one
             | of those and it just didn't cut the mustard.
             | 
             | The built-in collection either didn't have songs that she
             | liked (from the '40s), or they weren't clustered together,
             | or were mixed up with other songs.
             | 
             | I could load a flash disk with her playlist to plug into
             | that player, but it wouldn't know what to play at what time
             | (calm songs in the early and late hours, peppier numbers on
             | other days, festival specific numbers on some days). This
             | was a big deal. I can even change the playlist from
             | elsewhere (a script automatically mirrors the playlist that
             | I maintain on a server)
             | 
             | Bluetooth streaming is possible with the device, but not an
             | option for my MIL ... that would require her to learn to
             | use a cellphone.
        
           | NelsonMinar wrote:
           | Killjoy.
        
           | exitb wrote:
           | It is _Hacker News_ after all. And that 's probably like
           | jaywalking of RF violations. I'd be more afraid of the
           | copyright people.
        
             | acatton wrote:
             | Where I live, this is absolutely not the jaywalking of RF
             | violations. In Germany, if it is proven that your signal
             | was potentially interfering with emergency services, you
             | will be liable for any damage to victims in civil courts.
             | And if somebody dies in your area because the emergency
             | services couldn't get there on time, you will be criminally
             | charged for "negligent manslaughter."
             | 
             | I wouldn't play at all with non-approved RF frequencies
             | personally.
        
               | detaro wrote:
               | In Germany (like afaik all the EU), you can also freely
               | buy and use small low-power FM transmitters for exactly
               | the use case of sending your own music to radios...
        
               | mometsi wrote:
               | What would happen if you delayed an ambulance responding
               | to an emergency by jaywalking in front of it? Could you
               | be charged if someone died as a result?
        
               | RobotToaster wrote:
               | If a low power FM transmitter on commercial frequencies
               | can interfere with your emergency services, you may have
               | bigger problems. IIRC they have their own specific
               | frequencies.
        
               | 6510 wrote:
               | like the Indians said, you want to buy the sky too?
        
               | Glemotooo wrote:
               | "RF violations"
               | 
               | In germany its also legal to use plenty of bands in the
               | RF Spectrcum with up to 750Watts (and potential more).
               | 
               | We are also allowed to do CB Funk in Channels 1-40
               | without anything and up to 80/85 (forgot details) when
               | you register with Germany.
               | 
               | So your statement reads more like you are not allowed to
               | do anything in germany. Its hard to believe to disturb
               | stable systems just because someone is doing a little bit
               | of FM on some known frequencies.
        
               | moooo99 wrote:
               | It literally took a single google search to find out that
               | you're wrong.
               | 
               | FM transmitting for private use is completely legal for
               | UKW frequencies between 87.5 and 105 MHz and transmission
               | powers lower than 50nW [1]. You can buy perfectly FM
               | transmitters for your car, etch
               | 
               | [1] (German) https://www.autozeitung.de/fm-transmitter-
               | bluetooth-nachrues...
        
               | hasseldahoff wrote:
               | [flagged]
        
               | sigg3 wrote:
               | No need to be rude.
               | 
               | As someone who's worked in telecom for a number of years,
               | the fines for broadcasting I've seen issued to
               | individuals are insane. Not just radio but wireless
               | amplification too. Different European country though.
               | 
               | Always check the legislation in the country of operation.
               | Emergency frequencies are held sacred by the powers that
               | be.
        
               | hasseldahoff wrote:
               | [dead]
        
           | Mistletoe wrote:
           | If we ever have a world apocalypse and I'm alone, I know I
           | can at least conjure one companion by suggesting I would use
           | spectrum without a license and a ham enthusiast will appear.
        
             | implements wrote:
             | <Dusts off Ham Licence> Anyone can use amateur frequencies
             | in a genuine "no other communication options available"
             | emergency, if I remember the regulations correctly.
             | 
             | Edit: "SS 97.403 Safety of life and protection of property.
             | No provision of these rules prevents the use by an amateur
             | station of any means of radio communication at its disposal
             | to provide essential communication needs in connection with
             | the immediate safety of human life and immediate protection
             | of property when normal communication systems are not
             | available."
        
           | getwiththeprog wrote:
           | Post a reference to the legislation or its not real
        
           | cptaj wrote:
           | Its not that limited. Check out fm transmitters on amazon.
           | 
           | https://www.amazon.com/s?k=fm+transmitter&ref=nb_sb_noss
           | 
           | This is what he means, not some bigger pirate radio situation
        
           | gilbetron wrote:
           | Illegal in India maybe. In the US: "In the United States,
           | Part 15 of the U.S. Federal Communications Commission rules
           | specifies that no license is needed if range of the
           | transmitter does not exceed 200 feet (61 meters), although
           | the Part 15 rules specify that the field strength should not
           | exceed 250 uV/m (48db) at 3 meters"
           | 
           | I haven't found the exact law in India, but looks like maybe
           | it's legal for personal usage of FM provided power of
           | transmitter is under 500 mW?
        
           | jacquesm wrote:
           | Yes, technically it is illegal. But I've seen all kinds of
           | gizmos that would inject a signal into the FM band to allow
           | the use of car stereos that didn't have an 'aux' input. At
           | those power levels the FCC isn't going to be bothered unless
           | someone lodges a complaint, and even then they'll have a hard
           | time finding the source unless they're practically standing
           | on top of it. OP may want to turn down the radiated power
           | until it _just_ works for his MIL but no longer for the
           | neighbors.
        
             | mdip wrote:
             | > Yes, *technically* it is illegal.
             | 
             | Oh how many phrases start "Yes, _technically_ " in my life.
             | 
             | The law is an interesting beast. I know nothing about the
             | law in India as it relates to FM band transmitters but I
             | _suspect_ that the law predates the common availability of
             | adapters that one might use in ones car to add an input to
             | a stereo that lacks such a _highly technical circular hole
             | for such purposes_ [0]. Once these devices gained wide
             | adoption due to both their utility and -- more generally --
             | the fact that operating one is _usually_ so benign that
             | they can be difficult to _discover_ let alone actually
             | cause enough interference to warrant them to be seized.
             | 
             | The _intention_ of the law was to prevent someone from
             | operating a pirate radio station /give exclusivity to a
             | single license-holder for that frequency. Since these
             | devices don't violate the spirit of the law, the governing
             | body finds it easier to carve out an informal exemption
             | rather than explicitly write one in. It can also be tricky
             | to correct a law that has a very _valid_ reason for
             | existing but may have cases where total enforcement isn 't
             | realistic[1].
             | 
             | The law may not have caught up to the reality on the ground
             | and the legislatures answer to it is "enforce it when the
             | interference is enough that someone notices." One might
             | imagine a world where something akin to TV Detector-like
             | Vans[2] drape the country-side in a dragnet to catch all of
             | those pirate FM-input-devices but that usually only happens
             | if there's a substantial amount of tax revenue to be gained
             | ... to pay for the vans.
             | 
             | [0] I had one of these in the 90s (in the US, where it's
             | not illegal if designed correctly) that connected my
             | Discman to my ridiculously sad factory radio which lacked
             | both external input and even a cassette deck.
             | 
             | [1] I do very little with regard to radio communication (if
             | that isn't obvious) but I'd imagine most lawmakers do even
             | less, so now you have to bring in experts to figure out
             | "what's an acceptable amount of interference in this
             | specific use case" and "how should a device like this be
             | restricted." Not that government isn't famous for wildly
             | wasting money or anything but I'd imagine the thinking is
             | that it's not worth the effort to correct.
             | 
             | [2] https://en.wikipedia.org/wiki/TV_detector_van
        
               | mindcrime wrote:
               | _[0] I had one of these in the 90s (in the US, where it
               | 's not illegal if designed correctly) that connected my
               | Discman to my ridiculously sad factory radio which lacked
               | both external input and even a cassette deck._
               | 
               | Heh. I drive a 2002 Chevy Suburban (don't laugh, I have a
               | strong aversion to spending money on new vehicles) and it
               | lacks an AUX input, so to this day I use one of those
               | low-power FM transmitter adapters to pipe my phone's
               | audio output to the vehicle stereo. They are amazingly
               | handy little gadgets.
        
               | jonatron wrote:
               | When I had a cassette deck in my car, I added an AUX
               | input by soldering a cable to a chip on the PCB, and
               | running it out through the cassette slot.
        
               | schwartzworld wrote:
               | That's a product they sell. It looks like an audio
               | cassette with an aux cord coming out of it. I used one
               | for years in my old grand Marquis.
        
               | jacquesm wrote:
               | That just wires the speaker output of the device to a set
               | of coils sitting right in front of the tape playback
               | head. GP did an end run around that by wiring straight
               | into the trace in between the head pre-amp and the main
               | amp.
        
             | jeswin wrote:
             | But quaintdev is right in that Indian Police for some
             | reason takes this somewhat seriously. For highway patrol, I
             | suspect it's boredom and this gives them something to
             | chase. I remember in the late 90s when I was in college,
             | the police showed up a couple of times when students were
             | transmitting from one of the hostels. They'd let it go, but
             | they did show up.
        
               | jacquesm wrote:
               | At what levels of power was this?
               | 
               | I suspect the OPs transmitter is hard to detect even at
               | close (< 100 meters > 30 meters) range. Anything more
               | powerful and you would definitely attract attention.
        
             | maxerickson wrote:
             | Technically, it's perfectly legal under FCC regulations.
             | 
             | https://www.fcc.gov/media/radio/low-power-radio-general-
             | info...
             | 
             | Looks like India doesn't permit it, but is looking at doing
             | so (at least, for some purposes):
             | 
             | https://trai.gov.in/notifications/press-release/trai-
             | release...
        
           | sriram_malhar wrote:
           | I know. It is illegal in most parts of the world. I'm taking
           | over a commercial FM channel that my MIL won't listen to, and
           | the transmitter has about a 20m radius.
           | 
           | If the police come, I'll use the Constanza "Was that wrong?"
           | defence.
           | 
           | https://www.youtube.com/watch?v=-RvNS7JfcMM
        
             | jacquesm wrote:
             | I hope they don't know how to use Google and if they do
             | that that is a pseudonym you're posting under here or you
             | might be in bigger trouble than you started with ;)
             | 
             | Anyway, cool to see you hack this, maybe try to tweak the
             | power levels a bit so the neighbors don't have a reason to
             | talk about it.
        
               | ktzar wrote:
               | The FCC allows personal FM transmitters to operate with a
               | maximum power output of 250 microvolts per meter at a
               | distance of 3 meters. Other countries are more
               | permissive, so this is not a problem. As long as you
               | don't interfere with anyone and emit in a band that's not
               | used in the area, it's perfectly fine.
        
               | vonseel wrote:
               | I was curious what kind of range that might have, so I
               | put what you said into chatgpt and asked what the range
               | of a typical car or home stereo would be, and it gave me
               | this (not sure if it's correct). FWIW, much less than 20
               | miles, haha.
               | 
               | -- The maximum power output of a personal FM transmitter
               | allowed by the FCC is 250 microvolts per meter at a
               | distance of 3 meters. The range of the transmitter
               | depends on various factors such as terrain, obstructions,
               | and interference.
               | 
               | Assuming ideal conditions, such as no obstructions or
               | interference, the range of the transmitter can be
               | calculated using the inverse square law. This law states
               | that the strength of a signal decreases with the square
               | of the distance from the source.
               | 
               | At a distance of 3 meters, the signal strength would be
               | 250 microvolts per meter. At a distance of 6 meters, the
               | signal strength would be 62.5 microvolts per meter
               | (250/4). At a distance of 9 meters, the signal strength
               | would be 27.8 microvolts per meter (250/9).
               | 
               | Typical car and household stereos have a sensitivity of
               | about 2 microvolts per meter. Using this sensitivity
               | value, we can calculate the range of the transmitter for
               | these devices.
               | 
               | For a car stereo, the transmitter would have a range of
               | about 26 meters (square root of 250/2). For a household
               | stereo, the transmitter would have a range of about 63
               | meters (square root of 250/0.5).
               | 
               | However, in reality, the actual range of the transmitter
               | may be shorter due to various factors such as
               | interference and obstructions.
        
               | Nition wrote:
               | > FWIW, much less than 20 miles
               | 
               | For the record I'm sure OP meant his has a range of 20
               | metres
        
               | casmaxima wrote:
               | sbcl: (* (sqrt (/ 250 2)) 3) => 33.54 meters, the factor
               | that amplifies distance is the square root of the factor
               | of signal strength.
        
               | srcreigh wrote:
               | Makes sense. I've seen Bluetooth fm dongles for cars to
               | this effect. The dongle connects to your phone on
               | Bluetooth and the old car can listen to your Spotify via
               | the radio.
        
               | Cypher wrote:
               | I'll tell them it was me to protect Spartacus.
        
             | 300bps wrote:
             | I've had much better luck with 100% honesty. Just say you
             | set up a 20m transmitter to improve the life of a 93 year
             | old woman.
             | 
             | I bought a house in my very early 20s. Roommates of mine
             | finished the third floor with no permits. Went to sell the
             | house ten years later and the location it was in required a
             | U&O inspection. My realtor told me to lie, apply for a
             | permit and pretend I just did the work.
             | 
             | Instead I called the local building inspector and said,
             | "Hello my name is xxx and I'm calling to confess." He
             | cracked up laughing, came to the house immediately to look
             | at everything and told me I was fine.
        
             | mdip wrote:
             | ... I've always been _amazed_ how often  "Was that wrong?"
             | works.
             | 
             | I guess I shouldn't be. Even letting them know you were
             | fully aware you were breaking the law, most people would
             | see its intended purpose -- to bring a little peace and
             | comfort to a very old woman -- and have their own
             | compassion kick in.
             | 
             | YMMV but I'm guessing you'd hear something along the lines
             | of "Oh,... well,... _(shuffles feet)_ ... just turn it off,
             | then ". Many of us have elderly people in our lives we wish
             | we could provide some comfort to and most of us know we're
             | headed there (if we're lucky to live that long). You know,
             | assuming your _20m radius FM transmitter_ didn 't, say,
             | cause some cataclysmic event/knock emergency services
             | offline for several city blocks, etc.
             | 
             | Put another way, while some police actually _will_ pull you
             | over and write you a ticket for going a couple of miles
             | (km) per hour over the speed limit, most won 't waste the
             | brain power/physical energy/thermal paper to bother
             | enforcing it.
        
               | sriram_malhar wrote:
               | Well put. Exactly my thoughts. And given my MIL's
               | attitude towards any visitor, the cops will be plied with
               | food and chai till they burst. They will forget what they
               | came for :)
        
             | eastern wrote:
             | Yeah no one will bother with such a low-powered device. I
             | used an in-car bluetooth-to-FM tranmitter bought from
             | Amazon India for years. They've been sold openly since
             | forever. Like this one: https://www.amazon.in/Portronics-
             | AUTO-10-Bluetooth-Car/dp/B0...
        
               | rozab wrote:
               | I love these things, it's so simple and it's often a
               | better UX than any car bluetooth provides. You also used
               | to be able to buy aux adapters that went in your cassette
               | deck!
               | 
               | edit: Halfords still stocks these!
               | https://www.halfords.com/technology/mobile-phone-
               | accessories...
        
               | JKCalhoun wrote:
               | Ha ha, I must have pulled up along side you the other
               | day.
               | 
               | Just kidding, I'm in the U.S. But more than a few times I
               | have suddenly got Mexican musical content on my radio in
               | the car when passing close to another car.
        
         | FridayoLeary wrote:
         | I have a spare rpi lying around. I know what i want to do with
         | it now...
        
         | sandreas wrote:
         | Cool.
         | 
         | For the others: You don't even need a transmitter to do some
         | experiments, you can use just one IO Pin for this:
         | 
         | https://nerdiy.de/en/raspberrypi-send-fm-signals-by-gpio-pin...
         | 
         | Furthermore, you can use something like https://volumio.com/en/
         | build an RFID Box
         | https://pilabor.com/projects/labelmaker/#products-to-build-t...
         | (my daughter used this when she was 2 years old)
        
           | runjake wrote:
           | Any clue how powerful the "one IO pin" approach is compared
           | to a dedicated FM transmitter?
        
             | svnt wrote:
             | A standard 3.3V GPIO can typically push something like 30
             | to 60 mW. You won't get all of that as transmitted signal
             | -- it will depend on how well your random antenna wire
             | matches the impedance of the gpio and the frequency. I'm
             | really not sure the audio quality is going to be anything
             | more than just intelligible, but I'd guess you'd get at
             | least 10 mW or so of useful power, which means it should
             | generally work within a small house.
        
             | sandreas wrote:
             | No, I'm using this in my car just for a very short range (<
             | 200mm)
        
           | dicknuckle wrote:
           | I am absolutely LOVING Volumio. It's running in a VM in my
           | garage computer that does various other things. At the time,
           | Volumio didn't have a clean way to do this so I just hacked
           | away until it booted and played music.
           | 
           | A little USB sound card is passed through to the VM and it's
           | been rock solid for about 2 years now. I use it exclusively
           | as a Spotify chromecast type thing that cost me about $3.50
           | in parts.
        
           | myself248 wrote:
           | You should know this is heinously irresponsible and very
           | illegal unless you apply proper filtering. Bashing the GPIO
           | pin adds a ton of harmonics that fall outside the broadcast
           | band, up into aircraft and military and who-knows-what other
           | frequencies.
           | 
           | The README goes over this, but if people keep blindly
           | ignoring it, expect regulators to figure out a way to make
           | our lives a lot less fun.
        
           | nsteel wrote:
           | Phoniebox is a great project, based on mpd and Mopidy.
           | Hopefully Spotify playback will be fully supported again
           | soon.
        
         | mixmastamyk wrote:
         | _Earth Angel, will you be mine..._
         | 
         | How about a speech synthesis DJ, "that was Foo McBar from
         | 19XX"?
        
         | wnolens wrote:
         | Thanks for sharing. I aspire to such elegant projects.
        
         | intelVISA wrote:
         | I love this, thx for sharing :)
        
       | dejobaan wrote:
       | About yen years ago, I built a site that scraped Steam and spat
       | out the ~100 most recently-released games in a skimmable format:
       | http://www.whatsonsteam.com
       | 
       | There's a lot of weirdness that launches each day, but also lots
       | of interesting-looking stuff.
        
       | JohnFen wrote:
       | My current favorite: I often go camping deep in the backwoods
       | with friends, far from any sort of cell service. So I built a
       | LoRa radio system that allows us to text each other, physically
       | locate each other, etc. when we go off and do our own things. The
       | system consists of small radio units that are carried, and a
       | larger (but still backpackable) base unit that gets set up in
       | camp.
       | 
       | They run as a mesh network, so you don't have to be in range of
       | the base unit for it to work.
       | 
       | Regular radios don't work well for this use case because the
       | terrain is very mountainous.
       | 
       | Currently looking into making one that can be attached to a dog
       | collar to allow for geolocating the animal.
        
         | lenova wrote:
         | This is very cool, and something I could see myself setting up
         | for my friends while camping as well. Are you able to share
         | more details about your setup? Thanks!
        
           | JohnFen wrote:
           | Sure. The radios are inexpensive ESP32 LoRa dev boards (with
           | good antennae and 3D printed enclosures), and the software is
           | a modified version of Meshtastic. This is the article that
           | inspired me -- I think that will lead you to more detail
           | about what I did than I can give here.
           | 
           | https://hackaday.com/2020/02/26/lora-mesh-network-with-
           | off-t...
           | 
           | These perform better than the Baofeng radios we used before,
           | but the terrain is still a limiting factor.
        
       | dtertman wrote:
       | I hate the weather where I live (Chicagoland), so I spent a week
       | a couple years ago downloading weather data from WUnderground and
       | geo data from a bunch of places and turning it into a reverse
       | weather index - instead of searching by place, you'd search by
       | weather.
       | 
       | I found the best weather for me was in Antofagasta, Chile, but I
       | never did anything with this knowledge :)
       | 
       | Unfortunately it was all built on an OpenShift gear on the free
       | tier, so it's dead now.
        
       | vinc wrote:
       | Lots of things over the last decade or two. I can count almost
       | one hundred repos on GitHub, but most of them are not very
       | popular with other people, my projects seem to only scratch my
       | own itches..
       | 
       | I have my own lunisolar calendar and decimal time (with centidays
       | and dimidays) so I produced a lot of code for that on various
       | devices. I also wrote two chess engines and a hobby operating
       | system.
       | 
       | And countless web apps, like one to read the daily/monthly top of
       | HN and Reddit, another to host my pictures (on a cool domain
       | hack), one to manage the batch jobs on my chess engine cluster in
       | a rack at home that helps keeping the house warm in winter, and
       | lately my own frontend to Bing API because I was growing
       | dissatisfied with DuckDuckGo.
        
       | generalizations wrote:
       | I like thinking out loud, but don't like having to listen to
       | voice memos. So I created a syncthing folder that is synced
       | between my phones and my home server, and created an iphone
       | shortcut that records voice memos and saves them into that folder
       | (and then opens the iphone syncthing app so that it'll do the
       | sync). I have a cronjob on the server that looks for new audio
       | files in that syncthing folder and transcribes them with whisper,
       | formats them into a nice looking pdf, and sends them to the
       | printer. So now I can be anywhere, record a voice memo, and come
       | home to find it sitting in my printer.
        
         | mthoms wrote:
         | This is very practical, I like it. I can't stand listening to
         | my own voice memos.
        
       | FourthProtocol wrote:
       | This started out as a password mangager. It evolved into a graph
       | database _coff_ after reading Linked - How Everything is
       | Connected to Everything Else
       | 
       | https://www.wittenburg.co.uk/Work/Interact/History.aspx
       | 
       | Still under development...
        
       | martinrue wrote:
       | I made a text-only social network for the Gemini network and it
       | recently surpassed 1k users: https://martinrue.com/station
        
       | yboris wrote:
       | _Simplest File Renamer_ - https://www.yboris.dev/renamer &
       | https://github.com/whyboris/Simplest-File-Renamer
       | 
       | I wanted to be able to quickly rename files with my text editor
       | (using keyboard commands), so this lets me do it. Plus I share
       | the app online for free.
       | 
       |  _Video Hub App_ - https://videohubapp.com/ &
       | https://github.com/whyboris/Video-Hub-App
       | 
       | I started it just for myself, but it ended up so good I spent
       | several more years improving it as people kept buying it (up to
       | almost 5,000 purchases since I started).
       | 
       | Also wrote a couple of dev tools for myself (sharing via NPM too)
       | - https://www.yboris.dev/
        
       | fouronnes3 wrote:
       | I built a wifi controlled led strip controller with an ESP8266. I
       | had it connected to an Android sleep tracking app (sleep as
       | android), so that at some point I had the lights in my room go
       | from 0 to 2500 lumens smoothly (following a log curve so that
       | it's perceptually linear) over 5min or so in the morning at the
       | optimal detected time for my sleep cycle. It was pretty awesome.
       | I scrapped the entire thing since I last changed appartement
       | though...
        
       | dpbig wrote:
       | I used to spend a ton of time on reddit but, lately, I've been
       | struggling to find content I enjoy there. So, I built a little
       | RSS aggregator. It's hosted at https://www.trybsync.com/
        
       | SirMaster wrote:
       | Eh, at the moment a universal remote control app for my home
       | theater. I expanded it somewhat for many other devices than I
       | need, for friends and people on the AVSForums who requested
       | things.
       | 
       | https://github.com/nicko88/HTWebRemote
       | 
       | It's not all that impressive per say, but a number of people seem
       | to really like it.
       | 
       | Also an app to add a "wind" effect to a home theater as well.
       | 
       | https://github.com/nicko88/HTFanControl
        
         | Simon_O_Rourke wrote:
         | Nice setup! I was about to start ordering parts to create some
         | hacky IR sensor for mine, that it before I read about HDMI-CEC.
        
       | bitcodavid wrote:
       | This hearkens back to the analog days, but I can't drive without
       | music. My last car had a crappy stereo. I happened to have a
       | project box lying around so I built a 12-watt, 4-channel
       | amplifier. The best part is that I also had these beautiful old
       | backlit analog VU meters lying around. I only had two, but it
       | made the thing look totally awesome.
        
       | stevelacy wrote:
       | RGB room lights controlled via Arduino with a companion mobile
       | app for changing colors/modes. Used zeroconf for finding the
       | device on the network.
        
         | l2silver wrote:
         | So you're the party apartment!
        
       | rft wrote:
       | I hooked up my old (~25y) stereo to an RPi via AUX in. The RPi
       | has MPD and a pulseaudio sink to play audio. And it can be
       | controlled via Home Assistant.
       | 
       | But the feature I like most is that it turns on/off the stereo
       | via an infrared LED. It detects sound and silence on the pulse
       | output and sends the proper IR command. A small thing, but it
       | still makes me happy whenever it does its work in the background.
        
       | epaga wrote:
       | I made an AR-based app for myself that tracks my head in 3D space
       | and then pipes the position and angle data to my PC which uses an
       | open source app called OpenTrack to emulate the "TrackIR"
       | protocol to then 3D-control the camera in sim games (like flight
       | sims) with slight movements of my head.
       | 
       | I then posted a little video of it to /r/flightsim
       | (https://www.reddit.com/r/flightsim/comments/id7vmy/head_trac...)
       | and it turned out to be something others wanted, too, so then I
       | polished it and released it as a full app (SmoothTrack). It's
       | been the most successful side project I've ever done.
        
       | impostervt wrote:
       | A door sensor, for when my kid was sleep walking. There are
       | various door sensors out there on the market, but they all set
       | off a siren. I just wanted something that would alert my phone
       | and wake me up, in case she did it in the middle of the night.
       | Your not supposed to wake up a sleep walker, and I sure as hell
       | didn't want a siren going off in the middle of the night.
       | 
       | Kinda sorta worked ok...just in time for her to stop sleep
       | walking.
        
         | andoma wrote:
         | > Kinda sorta worked ok...just in time for her to stop sleep
         | walking.
         | 
         | Heh, Sounds just like every project I set out to do :)
        
       | Ambix wrote:
       | LLaMA.go - open-source framework for LLM inference on regular
       | CPUs [0]
       | 
       | It took me about a month of full-time, hard, day and night coding
       | (including weekends) to finally build a solid piece which can
       | handle some crazy CPU workloads of tensor math.
       | 
       | [0] https://github.com/gotzmann/llama.go
        
       | busyant wrote:
       | I made a "laser-beam-break" camera trigger for my Nikon D750,
       | which I use to capture images of hummingbirds at my feeder.
       | 
       | Instead of paying $125 for this ...
       | (https://www.bhphotovideo.com/c/product/1337050-REG/pluto_tri...)
       | 
       | I decided to build one using an Arduino. I probably spent _more_
       | than $125 on the project, but I ended up buying a lot of hobbyist
       | electronics parts, soldering gun, etc.
       | 
       | I learned a bit about what Arduino can do, learned some baby
       | electronics.
       | 
       | And I have some nice pics of hummingbirds.
       | 
       | https://flickr.com/photos/184781347@N05/52648636091/in/datep...
       | 
       | https://flickr.com/photos/184781347@N05/52325370300/in/datep...
        
         | specproc wrote:
         | Not nearly as cool, but related. I've been using yolo to pull
         | bird frames from a GoPro left running by the bird feeder.
        
         | freeplay wrote:
         | The knowledge and experience you gain from those types of
         | projects could pay for itself several times over in the future.
         | 
         | Reminds me of when I was getting into woodworking and my wife
         | wanted a new coffee table.
         | 
         | Why would we go buy coffee table when I could build it in a
         | month and have it cost 3 times as much?
        
       | neon_me wrote:
       | My ex used to be pissed when I spent whole day coding and dont
       | wrote her a single message...
       | 
       | It was way back before gpt and twilio, so I bent one IRC bot and
       | wrote collection of warm messages that was send via SMS on a
       | pseudorandom timeframe. We broke up when she finds out ... Luckly
       | for both of us I guess.
        
         | rft wrote:
         | This reminded me of this internet folklore:
         | https://www.jitbit.com/alexblog/249-now-thats-what-i-call-a-...
         | 
         | There is also a recreation of the scripts at
         | https://github.com/NARKOZ/hacker-scripts
        
       | firechickenbird wrote:
       | An app that helps me with shopping at my main supermarket.
       | 
       | I usually go always to the same supermarket twice a week. I was
       | frustrated that every time I changed something in my shopping
       | list I had to mentally recompute the optimal path to pick up
       | everything.
       | 
       | Now with my app I am able to build the graph of the entire
       | supermarket (each node represents a rack with shopping items) and
       | then given my shopping list it computes the optimal path from the
       | entrance to the exit. It's a version of the classical travelling
       | salesman problem
        
         | GuusH wrote:
         | Interesting! How did you ingest all the nodes/racks into your
         | system? Did you shave the yak?
        
           | firechickenbird wrote:
           | My graph is a partial representation of the supermarket and
           | does not contain all the goods. It has just the stuff that
           | I've bought at least once and manually positioned into the
           | nodes. Sometimes the supermarket decides to relocate groups
           | of goods and I have to update my graph again, but it does not
           | happen too often (they do it probably once or twice a year)
        
       | jdemaeyer wrote:
       | I used to love discovering new music through Spotify's Song Radio
       | feature. But somewhere along the way, they started personalizing
       | it so much that every radio is now basically an echo chamber of
       | the same songs I already know, most of which I have even already
       | added to my Liked Songs.
       | 
       | I built myself a small service to "disable" (work around)
       | Spotify's hyperpersonalization by giving me the Song Radio as an
       | anonymous user would see it. It's available at
       | https://spoqify.com/ (with the name chosen that way so that I
       | only need to replace a single letter in the URL of a Song Radio
       | Playlist and it'll forward me to an unpersonalized version of
       | it).
        
         | dom96 wrote:
         | Really awesome. Took me a while to figure out how to get a Song
         | Radio playlist though :)
        
       | pcblues wrote:
       | I made an iPhone VR app to control a lego mindstorms robot by
       | lashing an old Windows 8 phone onto it.
       | 
       | https://pcblues.com/assets/videos/vrlegorobot.mp4
        
       | mariusvaporware wrote:
       | A software developer and football (soccer) fan who lives in an
       | antipodean time zone, I enjoy watching games on demand the
       | morning after they occur. Apart from watching the games of the
       | team I support, I like to watch one or two of the most
       | entertaining games in any given week, but score spoilers
       | absolutely ruin the experience for me.
       | 
       | So, I created https://laterball.com: a web app the
       | algorithmically determines the best games of the past 7 days
       | without score spoilers, to let me (and you) know which games are
       | worth spending time watching. There was also an associated
       | twitter bot at https://twitter.com/laterball which occasionally
       | tweets when there's been a high-quality game until the recent
       | Twitter API changes.
       | 
       | Technical stuff: the back end is a Ktor server hosted on a linode
       | instance which pulls statistics data from an API to determine the
       | ratings. Factors used to determine ratings include goals (number,
       | timing, swings in score, comebacks), xG, wins or draws against
       | the odds, cards, and a few others.
        
         | remify wrote:
         | This is very nice, It would be great to add other leagues and
         | cups.
        
         | martinohansen wrote:
         | That's amazing, I've been wanting something like that for UFC
         | for a while, I might just steal the idea!
        
         | paulette449 wrote:
         | I wish Apple did something like this with their MLS
         | subscription. I watch quite a lot of sport on delay. All of the
         | games in the Apple MLS Season Pass are available to watch after
         | the game ends, but the screenshot for every game shows the
         | final score!? Why would I want to watch 90mins of a random
         | soccer game to which I already know the result? I won't be
         | renewing.
        
         | runeb wrote:
         | Very nice project, thank you! As a european transplanted to the
         | U.S I feel this challenge with score spoilers as well.
         | Streaming services that do not offer hiding scores, or who even
         | insist on leading with scores in their UI are now brands I
         | actively avoid. Such a small simple UX detail leading to
         | absolute shunning of a whole media company.
        
       | jareklupinski wrote:
       | I made a small 4 digit LED display that syncs to my work calendar
       | and counts down the hours/minutes or minutes/seconds to my next
       | meeting, depending on how close it is to starting.
       | 
       | Currently working on moving the ICS calendar parsing part from a
       | python script down to the microcontroller itself, then I can
       | release.
        
         | toast0 wrote:
         | What's your target language for the microcontroller? I built a
         | 'smart alarm clock' with what sounds like a bigger screen, that
         | fetches iCalendar files and shows the next appointment/beeps at
         | the appointed time.
         | 
         | I'm running on an esp32, with platform.io, and esp-sdk +
         | Arduino. Overall project: https://github.com/russor/ClockThing
         | 
         | iCal library: https://github.com/russor/uICAL (if I had know
         | how much work I'd need to do to make this library work for
         | me... I might have left it with my hacky solution of processing
         | on my own server in perl in a cron... But I had too many
         | messups with that)
         | 
         | FWIW, Google Calendar recently stopped including real Timezone
         | information in the calendar urls for newly created calendars. I
         | ended up doing something gross to manage that (got a dump of
         | all the tzurl 'outlook' calendar files, and load that before
         | loading the user calendar; it's sketchy, but it works)
        
           | jareklupinski wrote:
           | haha I've had uICAL in a tab open for a week now,
           | anticipating the plunge. ty for the experience :) guess i'll
           | just hack the parser myself...
           | 
           | I'm also on esp32, and have been wanting to write more using
           | the native esp-idf tooling. I'm comfortable with Arduino but
           | now that I'm getting into things like sleep modes and low-
           | level IO, my code is becoming a patchwork of Arduino pinMode
           | and ESP-IDF gpio_hold_dis functions...
        
             | toast0 wrote:
             | > ty for the experience :) guess i'll just hack the parser
             | myself...
             | 
             | Well, if you use my branch, I think I cleaned up
             | everything, I think. Reccurance rules are pretty weird
             | anyway.
             | 
             | I definitely recommend using platform.io though, if nothing
             | else, it's easier to pull in forked libraries with.
        
               | jareklupinski wrote:
               | ah I didnt realize you linked your fork! ty again :)
        
       | cehrlich wrote:
       | When language learners learn vocab, there are two main processes:
       | 1. Use a premade list of the top x words. Pro: they are
       | guaranteed to be common words. Con: Once you make it past 2000 or
       | so, they might not show up depending on what sort of niche things
       | you read/watch/talk about 2. Look up random words as you come
       | across them, and learn those. Pro: These are words you really
       | saw. Con: You don't know how common that word is, maybe this is
       | the only time in your life that you'll see it
       | 
       | I made a web app that lets you note down words that you come
       | across and might want to learn, and then generates a learning
       | order of those words based on a variety of frequency lists, as
       | well as linking offsite for sample sentences etc. It allowed me
       | to pass the JLPT N1 with just 6k known words (people usually need
       | 8-10k)
       | 
       | vocab.c-ehrlich.dev
        
         | captainkrtek wrote:
         | This is great! Would be curious to adapt this for other
         | languages, as I'm currently using some flash cards of top N
         | type frequency.
        
       | RedGreenBlack wrote:
       | A webbapp that helps me remember names by showing them in a graph
       | network. Super simple, use it constantly
       | 
       | A webapp for sharing files/text between two devices no matter the
       | platform. Use this all the time. No more sending emails, Facebook
       | message, dropbox link to yourself.
        
         | l2silver wrote:
         | Uh, what kind of graph network? That sounds pretty interesting.
        
         | anjanb wrote:
         | @RedGreenBlack : could you share more please ?
        
       | scsteps wrote:
       | I created a little mind dumping text app that I use on the daily.
       | Originally it was intended as a throwaway little app but turned
       | out to be my most used app that I've created.
       | 
       | I am currently working on a todo list that stores all info in the
       | browser only.
        
       | arielweisberg wrote:
       | Maybe not interesting, but a slideshow application that is much
       | faster and more memory efficient than anything I could find.
       | 
       | Image viewers I tried all beachballed constantly, were slow to
       | respond if they even did, had many bugs, and required many
       | interactions and pixel hunting to interact with.
       | 
       | It emphasizes instant response even when working with 10s if
       | thousands of very large photos, and a UI that eliminates or
       | reduces required interactions, and integrates with finder
       | smartly.
       | 
       | It defaults to opening folders or images fullscreen and round
       | robins windows across displays. The UI is a 3x3 button grid
       | overlay that auto hides, the window name is the the last three
       | parts of the file path. There is gesture support, but I don't use
       | it because focus is a pain to deal with.
       | 
       | JPEG decoding is memory intensive so there is a shared rendering
       | process so the parallelism can be managed and memory uses isn't
       | duplicated.
       | 
       | A shared cache process contains bitmaps of images scaled to
       | screen size that are stored on disk. This kind of assumes you are
       | on a fast flash drive like an MBP where flash is basically as
       | fast as memory.
       | 
       | The cache is a 100 element LRU in front of Caffeine (W-Tiny LFU)
       | and all the cache state is persistent including Caffeine so it
       | can remember the LRU and adaptive cache state across restarts.
       | 
       | Prefetching scales the previous and next five images in parallel
       | so you can click forward/next and it is instant every time.
       | 
       | When you turn shuffle off it plays forward from the image you
       | were on. You can click a button and it will loop all files on a
       | directory.
       | 
       | You can open multiple files or directories from finder and it
       | will play all nested files in order.
       | 
       | The order is a natural order that parses numbers so if the
       | numbers aren't padded you still get the correct order.
       | 
       | Ended up using JavaFX which works surprisingly well. Fast JPEG
       | decoding, working HiDPI, window resizing and movement renders
       | very nicely.
        
       | HornyDude wrote:
       | Throwaway time!
       | 
       | I built a custom smart motorized masturbator.
       | 
       | It borrows from 3D printer design, and has a NEMA 17 stepper
       | motor driving a 2GT belt loop around a short length of 2020
       | extrusion to slide a carriage along a linear rail. The carriage
       | has attachment points that I've put clamps on, that close around
       | a fleshlight-style sheath. There's a brace at the business end
       | that you put around the base of the penis and it keeps everything
       | aligned.
       | 
       | All the parts are custom-designed and 3d printed.
       | 
       | It has an outboard control box that contains:                 -
       | an ESP32-based microcontroller with a small OLED screen.        -
       | a clickable rotary encoder that is the single input control
       | - a TMC2209 stepper driver       - 12v power input and a buck
       | converter to feed the esp32       - 12v output ports for 2
       | additional vibrators and an an H-bridge module to control them
       | 
       | The simple UI allows full control over the motion:
       | - stroke duration       - stroke amplitude       - offset from
       | the 0 position       - motion path (just sinusoidal vs triangle
       | wave so far)
       | 
       | The controls also allow control over the secondary vibrators for
       | intensity, rhythm, and duty cycle.
       | 
       | It's been evolving for a couple years now and it works
       | brilliantly!
        
         | kilroy123 wrote:
         | You can't leave us hanging like that. No pictures of this
         | thing?
        
         | trollied wrote:
         | Does it have Apple Health integration?
        
         | parasti wrote:
         | Finding bugs must be unpleasant.
        
           | stavros wrote:
           | Nah, there are no bugs if you wash it after every use.
        
             | jagged-chisel wrote:
             | Gross >.<
             | 
             | Hilarious, but gross
        
         | UncleEntity wrote:
         | Just to toss one out there...
         | 
         | You need a fitness tracker and some machine learning to really
         | get your freak on.
         | 
         | Sorry, too tired to come up with a good robot innuendo.
        
         | shsbdncudx wrote:
         | They do say you should scratch your own itch
        
         | swampthinker wrote:
         | I cannot believe that username was available.
        
       | kodah wrote:
       | I built a cloud for my family to use.
       | 
       | It leverages containers and Docker Compose, mainly for it's
       | tooling that makes it easy to deploy. I made a tool that
       | correctly selects the right node based on the directory I'm in
       | using Docker Profiles. The networking is both internal and
       | external; I share some APIs externally, like to share photos or
       | to run video game servers, while other services are entirely
       | privileged. It, for the most part, implements mTLS, and has both
       | public and private DNS. I have a single ingress node in my cloud
       | provider that is connected to my home servers via Tailscale. It's
       | been instrumental in building out things at my house and making
       | my life easier and cheaper.
        
       | Saigonautica wrote:
       | Most useful thing?
       | 
       | Honestly, a lamp that uses a 1W red LED behind a big diffuser. It
       | uses PWM in the MHz range for dimming (so definitely no flicker),
       | and big physical controls. My wife and I both get migraines and
       | being able to set very dim red light seems to be better than
       | sitting in complete darkness. I have insufficient data to tell if
       | this is a real effect, unique to us, or placebo.
       | 
       | Code is in AVR assembly, because that's easiest for me. Sometimes
       | I feel silly that after all these years working with technology,
       | this is the most useful thing I've managed to build for myself.
       | Hey, it's not nothing though :)
        
       | dang wrote:
       | All: This thread has several pages of fabulous comments - to get
       | at them, you need to click 'more' at the bottom of each page, or
       | like this:
       | 
       | https://news.ycombinator.com/item?id=35729232&p=2
       | 
       | https://news.ycombinator.com/item?id=35729232&p=3
       | 
       | https://news.ycombinator.com/item?id=35729232&p=4
       | 
       | One of these years (maybe this year!) we won't need to paginate
       | anymore and scrolling will be blissful again. In the meantime,
       | sorry for the annoyance if you knew this; I just wanted to make
       | sure everyone realizes how large and good this thread is.
        
       | tpkahlon wrote:
       | I have always been fascinated by live TV broadcasts from around
       | the world. I created a website for it locally and have now
       | released the code as open source. Please feel free to check it
       | out on GitHub at github.com/tpkahlon/jackal.
        
       | quEsal wrote:
       | Telegram bot that uses gpt3.5 to summarise news and comments from
       | HN. https://t.me/hacker_news_tldr
       | 
       | Costs around $1/day to maintain, but me and a few of my tech
       | friends use it everyday.
       | 
       | An example of this post summary:
       | 
       | Personal tech projects showcased by developers include ad-
       | blocking tools, stock data downloading, AI foot generation, usage
       | monitoring systems, simulation of universes based on theories,
       | market data downloading and heart rate monitoring.
        
       | z500 wrote:
       | It's probably not as cool as some of the other projects in here,
       | but I've been working on a sound change applier, which is a
       | hobbyist tool for applying sound change rules to a lexicon. You
       | could use this to generate pronunciations for a language with
       | particularly regular spelling, but these tools are mainly used
       | for evolving constructed languages.
       | 
       | The way it works is it generates an NFA for a rule. You can
       | define sets of sounds, some of which can be multiple characters
       | long, and also define distinctive features, which allows you to
       | define how sounds change by adding or removing them, but also
       | allows you to match groups of sounds based on combinations of
       | distinctive features. It builds up these ad-hoc sets of sounds
       | and produces a prefix tree, which it uses as a template to build
       | the NFA. Finally, the NFA is converted to a DFA for performance.
       | It takes a while (the console app is much faster than the browser
       | demo), but the rules run many, many times, so they need to be
       | fast. It's essentially a special purpose regex engine. I'm
       | working on bug fixes and some enhancements for now, but it
       | basically works.
       | 
       | Demo: https://marriola.github.io/transmute-demo
        
       | ludee0 wrote:
       | After years of trying I've finally made something that my
       | girlfriend would use without me nagging her to try. A small
       | sveltekit app that registers our expenses and tracks who owns
       | who, basically splitwise with way less features, but way more
       | control over my data. I'm really happy every time I see her note
       | down the expense into the app.
        
       | Nicholas_C wrote:
       | Pretty simple but saved me a lot of time: using Twilio, Google
       | maps API, and PythonAnywhere I would send myself a text if my
       | normal route to work would take >n minutes.
        
       | ftfish wrote:
       | One super niche project I made recently lets you search through
       | dialogue in public domain films:
       | 
       | https://public-domain-film-quote-search.stefanbohacek.dev
       | 
       | I made it so that I can quickly find vocal samples to use in
       | music production.
        
         | carlinmack wrote:
         | You may already have a list of public domain movies, but I
         | wrote a query to find the ones on Wikimedia Commons [1] :)
         | WikiFlix [2] is a nicer interface for browsing them
         | 
         | [1] - https://w.wiki/6dxC
         | 
         | [2] - https://commons.wikimedia.org/wiki/User:Spinster/WikiFlix
        
           | ftfish wrote:
           | Thank you, I'll check these out!
        
       | neverartful wrote:
       | A number of years ago I decided that I had enough of iTunes and
       | that I needed to handle my digital music collection myself.
       | 
       | Blog post about it: https://swampbits.bearblog.dev/first-cloud-
       | music-library/                   Original python implementation:
       | https://github.com/pauldardeau/cloud-jukebox         Go
       | implementation: https://github.com/pauldardeau/go-cloud-jukebox
       | C# implementation:
       | https://github.com/pauldardeau/CSharpCloudJukebox         Oxygene
       | on Mac implementation:
       | https://github.com/pauldardeau/MacOxygeneCloudJukebox
       | Oxygene on Windows implementation:
       | https://github.com/pauldardeau/WinOxygeneCloudJukebox         C++
       | implementation: https://github.com/pauldardeau/cpp-cloud-jukebox
       | 
       | P.S. I'm looking to find my next job, so if you think I might be
       | a good fit for an opening you know about I'd appreciate hearing
       | about it!
        
       | anotheryou wrote:
       | Midi controller that snaps on to my trumpet. Made from a tiny
       | drone remote control with a replaced "brain" and new housing.
       | https://i.imgur.com/oYFOBNv.jpeg
       | 
       | And an app that records audio retroactively. Wanted to have
       | recorded the last 2 minutes? just tell it "-2m". It has a ring
       | buffer that buffers the last 2h, but also forgets all the time.
       | (at least that was the plan, but audio streams were so much more
       | difficult so I just dumped a full day of audio and timestamps and
       | cut it later. That makes it much more "eavesdropping" again
       | though which I wanted to avoid with the auto delete though....)
        
       | osigurdson wrote:
       | I built an ice cream pail drum machine interface as a kid using
       | cheap piezoelectric speakers (in reverse to generate a signal).
       | This was amplified and brought into a micro-controller to
       | generate a MIDI signal for the drum machine. It actually worked
       | pretty well.
        
       | cygnion wrote:
       | Happy Friday! I have built a document-reading app to help me
       | curate, visualize, and recall my knowledge as I read and annotate
       | research papers - https://www.KnowledgeGarden.io
       | 
       | The app also extracts data from documents, such as urls,
       | keywords, and references, and generates a downloadable pdf report
       | with annotations and extracted data.
        
       | newmac wrote:
       | Our house has a commercial style HVAC system. The controllers for
       | everything (relays) are very simple. The run on a protocol called
       | BACNet that is unauthenticated and pretty straightforward.
       | 
       | I was able to read in all the data points and then use the
       | weather forecast and a few other data points to make changes to
       | my HVAC system. The comfort different has been very drastic. Our
       | house doesn't overheat on hot days and doesn't get cold fast when
       | the temperature drops. (I am in the Northeast where there are big
       | swings).
        
       | simonsarris wrote:
       | I built carefulwords.com simply because I wanted to type a word
       | into the address bar and get a large list of synonyms and some
       | historical quotes using the word quickly. For example:
       | 
       | https://carefulwords.com/solitude
       | 
       | https://carefulwords.com/think
       | 
       | etc. Also unlike thesaurus.com, the search bar actually focuses
       | so you can just start typing!
       | 
       | It's not perfect, I need to do a lot of editing, but nonetheless
       | I use it almost every time I write, now.
       | 
       | The site is a little over 30,000 static HTML pages built with a
       | number of TypeScript scripts that compile some sources for
       | synonyms, parts of speech, and the quotes.
        
         | greenpeas wrote:
         | This is really cool! Could you please add a keyboard shortcut
         | for focusing the input field? (perhaps a forward slash '/' like
         | on Youtube or Github)
        
           | simonsarris wrote:
           | Sure thing, I'll add that tonight.
        
         | davak wrote:
         | Added as a Kagi bang! Love it.
        
         | dombili wrote:
         | This is awesome! I'll definitely use it.
         | 
         | It'd be a one time stop for me if it supported definitions
         | (similar to Collins Dictionary) but beggars can't be choosers.
        
         | kccqzy wrote:
         | I don't particularly care about synonyms (when I consulted a
         | thesaurus too much my writing became too flowery) but the
         | historical quotes feature was just great! I can imagine
         | downloading the full text of several of my favorite authors and
         | index the words from that corpus.
        
           | greenpeas wrote:
           | Sometimes I know that a precise word for what I want to say
           | exists, and I'll know it when I see it, but I can't quite
           | remember it in the moment. In those cases I search thesaurus
           | for synonyms to related words; or maybe ask ChatGPT these
           | days.
        
         | gmac wrote:
         | Slightly similarly, I made a searchable word list to help with
         | doing or compiling puzzles: https://jawj.github.io/wordtools/
         | (the 'anagrams' link does nothing yet).
        
         | feiss wrote:
         | this is lovely!! neat, clean and useful. I'm gonna use it,
         | thanks for making it!
        
         | AnonC wrote:
         | This is wonderful, and fast too (because it's static I guess)!
         | Thanks for building it. I'll be checking it when I need some
         | inspirational quotes surrounding a word.
        
       | georgeburdell wrote:
       | Not really sophisticated but I wrote a ~200 line Python script to
       | trawl a few data sources like USPTO and Reddit and aggregate that
       | info into an e-mail for me to review daily. It was extremely
       | helpful in getting me up to speed in a new job that I lacked the
       | background for.
        
       | glapworth wrote:
       | We recently remodelled our kitchen and dining area, and I wanted
       | some art piece on the wall but couldn't decide what. For months
       | the wall was a little bare and we were having a lot of dinner
       | guests. I realised our WiFi password was too complicated to keep
       | reading out to family and friends so I built a QR code in Lego
       | that automatically connects you to our guest WiFi. It looks good,
       | and it's Lego so it was a fun project with the kids. It took
       | about 4 hours to build. The only problem was having enough 1x1
       | tiles to put on a 37x37 matrix.
        
         | ra wrote:
         | Today I learned you can generate a QR that connects to WiFi.
        
           | bombcar wrote:
           | https://www.qr-code-generator.com/solutions/wifi-qr-code/ can
           | build one, this is cool.
        
         | dylanowen wrote:
         | Does this work for iOS yet? Last time I was trying out wifi qr
         | codes only android handled them correctly.
        
           | glapworth wrote:
           | Yes, it works for both Android and iOS.
        
             | dylanowen wrote:
             | Sweet! Now to make some qr art. My last iteration was an
             | NFC sticker behind a painting but people have a hard time
             | with that one.
        
         | edelans wrote:
         | Thanks for sharing this, sounds like a cool activity to do with
         | kids (and I didn't expect to find one on this thread!), will
         | definitely steal that.
        
       | kissgyorgy wrote:
       | SSO proxy I use for all my self-hosted needs. I have 1 user in an
       | LDAP database and I can use it even for services with no
       | authentication at all. I even implemented real-time QR code
       | login, magic link and web login over SSH.
        
       | mxstbr wrote:
       | I built a TypeScript-based DSL for Karabiner Elements that allows
       | me to work with hyperkey sublayers, thus enabling me to have
       | keyboard shortcuts for pretty much everything I do across my
       | entire Mac: https://github.com/mxstbr/karabiner
       | 
       | Demo: https://www.youtube.com/watch?v=j4b_uQX3Vu0
        
       | skwosh wrote:
       | I make my own digital synthesis algorithms using (relatively,
       | w.r.t. the field) esoteric mathematics. [1]
       | 
       | At some point (e.g. once I obtain patents) I hope to
       | commercialize the processes involved as software/hardware
       | instruments, but for now it's solely for my own practice. [2]
       | 
       | [1] https://soundcloud.com/thetanull/1to1-220409-03 [2]
       | https://soundcloud.com/goomtrex/condenser-12-54
        
         | rsstr wrote:
         | This is intriguing. If you can elaborate more, are you
         | synthesizing something closer to waveshapes found in
         | traditional synths or more towards totally novel sounds?
        
           | skwosh wrote:
           | The project started a few years ago adapting generating
           | functions to Complex waveshaping, with the waveforms
           | correspond to certain constructions in optics, celestial
           | dynamics, etc.
           | 
           | This has since been extended with an algebraic/modular
           | approach to building more complex textures and rhythms. So
           | the aim is to create totally novel sounds, but the
           | traditional waveforms tend to pop-up from time to time!
        
       | darkest_ruby wrote:
       | I built this app for my self and based on my own needs and
       | requirements
       | 
       | https://play.google.com/store/apps/details?id=uk.co.darkruby...
       | 
       | It's got hidden developer mode, where even more interesting stuff
       | available
        
       | headline wrote:
       | I suppose this counts: Although not that interesting, I have one
       | of those AC units in my apartment that sits on the floor with an
       | outlet tube terminating at a window to pipe out hot air. The
       | internal reservoir for this unit is quite small so I hacked
       | together a float valve that triggers a pump to offload the
       | condensation water to a larger bin, that way I don't have to
       | empty the reservoir as often.
       | 
       | Pretty simple, but saves lots of time and I don't have to worry
       | about the air conditioner turning off in the middle of the night
       | due to it's internal reservoir becoming full.
        
         | john_shafthair wrote:
         | Why not just have it drain into an ordinary condensate pump
         | which is built for this purpose? Those roll around ACs usually
         | have a spigot to attach a hose you can run into a drain.
        
         | stefantalpalaru wrote:
         | > I have one of those AC units in my apartment that sits on the
         | floor with an outlet tube terminating at a window to pipe out
         | hot air
         | 
         | You might want to add an intake tube, to cool the compressor
         | more efficiently: https://imgur.com/gallery/kA4Z0uV
        
         | lloydatkinson wrote:
         | Curious why not pump it out of the window? It's only going to
         | be a few dribbles every few hours.
        
         | l2silver wrote:
         | It's the little things in life.
        
       | aetch wrote:
       | Older 1999-2007 model year Ford vehicles don't come with an aux
       | input audio option and they have a cd changer under the seat
       | instead. I made an Arduino shield that emulates the CD changer
       | and injects my iPhone's audio pretending to be a CD. The shield
       | also handles intercepting the car headunit's playback commands
       | when you press the physical radio buttons on your car so it does
       | a second emulation of a earphone clicker and passes headunit
       | playback commands back to control the phone over the aux cable.
       | 
       | In short I can control my phone's audio playback using my retro
       | radio headunit using only a wired connection and no Bluetooth.
       | 
       | My schematic and source code are available at
       | https://github.com/ansonl/FordACP-AUX
        
         | rahimnathwani wrote:
         | This is awesome! How did you figure out the signalling protocol
         | between the head unit and the CD changer?
        
         | gymbeaux wrote:
         | 2007?! They were putting CD players in cars in 2007?! Are you
         | in the US?
        
           | critsysdev wrote:
           | I'm not sure if that's surprisingly early or late
           | 
           | I live in the US and had a 1991 Acura Legend with a six disc
           | CD changer in the trunk (it was ahead of its time in a few
           | ways) and have recently had a 2014 Honda Accord with a single
           | CD player in the center infotainment area
        
           | mthoms wrote:
           | My 2010 Audi (bought used) has a 5 disc changer _and_ an iPod
           | connector. Very futuristic.
        
           | blcArmadillo wrote:
           | Ford's first iteration of their Sync infotainment system came
           | out in 2007. What were they supposed to use before that?
        
       | michael_j_x wrote:
       | a sub-ms trading platform written in Rust to try and do arbitrage
       | across multiple FX brokers.
        
         | l2silver wrote:
         | How's this one going?
        
           | michael_j_x wrote:
           | worked for about a week on very specific brokers. Then they
           | started slipping my trades. Slippage became a big issue. I
           | still can't fathom why such a thing is legal
        
       | Slartie wrote:
       | I have glued BLE beacons onto my trash cans in the backyard and
       | written a Python program for a Raspberry Pi that uses its
       | Bluetooth interface to detect the beacons and keep track of
       | whether they are present or not. It also downloads the trash
       | collection calendar from the local utility provider responsible
       | for collecting them and produces an overview over all four types
       | of trash cans with info on their whereabouts (in the backyard or
       | next to the street, based on whether the beacons are visible or
       | not) and number of days until they are collected. If collection
       | is imminent (tomorrow) and the location is still "the backyard",
       | a big flashing warning is shown, requesting whoever reads it to
       | move the trash can to the street so it can be collected.
       | 
       | The Python program produces a regularly updated XML document,
       | which references some XSLT so that when it's loaded in a browser
       | it'll render a nice HTML page with styling and images and stuff.
       | The Raspberry Pi serves that over an HTTP server in the local
       | WiFi, and in the kitchen there's an old Amazon Fire 7 tablet
       | stuck to the wall where a Kiosk browser keeps that page on
       | fullscreen display and regularly updated. The tablet also has all
       | sleep modes deactivated so it is on all the time.
       | 
       | This way we never forget to move out the trash for collection,
       | which we did regularly before I had this solution in place (built
       | it about 5 or 6 years ago). It's horrible in a family of four if
       | the trash is overflowing just because you forgot to move the
       | trash cans to the street so they can be picked up.
       | 
       | 2 years ago the solution (called "Internet of Trash") was
       | extended by a little Bluetooth label printer located next to the
       | tablet in the kitchen and some UI on the web page allowing to
       | quickly print sticky labels with two lines of text, usually used
       | to label boxes with food leftovers and pre-cooked ingredients
       | (such as sauces for example) with what's in the box and the date
       | when it was cooked. The UI has easy quick-choice buttons for the
       | common food items we usually have and the last few days for the
       | second line, but also allows free-form entry. It relays all input
       | via the Raspberry Pi which sends it over Bluetooth to the
       | printer. The labels help us immensely to keep track of leftovers
       | stored in the fridge or the freezer - not just to know the exact
       | type of food in the boxes, but also to determine when stuff has
       | to be thrown away or which to use first when multiple boxes
       | contain the same food ingredient.
        
         | dan-g wrote:
         | This is great-- do you have a writeup anywhere?
        
         | sowbug wrote:
         | For those of us thinking of putting beacons on everything, have
         | you found a cheap open device that you like? Tile and Chipolo
         | are too expensive for certain near-frivolous use cases.
        
       | claudeomusic wrote:
       | I made a silly twilio app for my daughter's 1st birthday party
       | where guests had a set of photos in front of them and they had to
       | guess the correct age ordering and could validate their guess to
       | win a prize using the temporary number I had setup.
        
       | turshija wrote:
       | About 10 years ago when Droplr deprecated their free packages
       | (and went to paid only) I've made my own free alternative -
       | https://pics.rs followed with its own screenshot app for Windows
       | (C#) and later Mac (Electron) and still use it daily... I needed
       | a screenshot tool which allows me to select a part of the screen,
       | uploads it and immediately copies URL to clipboard. Now I'm
       | finding myself using it without app by doing CMD + CTRL + SHIFT +
       | 4 which copies image directly in clipboard and then opening
       | pics.rs and pressing CMD + V (paste event triggers upload if it
       | contains image in clipboard)
       | 
       | I haven't touched the UI since then, its ugly but it works, I've
       | tried allocating time to make more modern version and even
       | started refactoring it a few times with a few friends in our
       | spare time, but unfortunately finding time next to full-time jobs
       | and family is much harder than it was 10+ years ago :)
       | 
       | I've never advertised it anywhere except shared with friends and
       | used it on some forums in the past, but it slowly grew to 10k
       | registered members and almost 200k uploaded pictures. At this
       | scale (~100GB of data) its very cheap to keep it online since its
       | using very small amount of resources on dedicated servers where I
       | host some other important apps with regular off-site backups, but
       | if it ever spikes and becomes problematic financially it will at
       | least give me more motivation to make something more serious out
       | of it or just slam ads onto it and call it a day (worst case
       | scenario, not a fan of it).
        
       | omeysalvi wrote:
       | I'm using ChatGPT to build a note taking app just for myself.
       | Haven't completed it yet but plan to open source it once it is
       | done.
        
         | nunodonato wrote:
         | what does AI add to a note taking app?
        
           | omeysalvi wrote:
           | No, I'm a game developer. The app I'm making is a web app
           | that I don't have much experience with. I'm using ChatGPT as
           | a tool to cut down coding time and it is working great so
           | far. I should have worded my comment better.
        
       | KaiserPro wrote:
       | I re-created a stock ticker machine. I saw an article about them
       | on here and thought "oh that would be cool to have one, lets try
       | and buy one" I realised that they cost $4k+.
       | 
       | So I made my own. https://www.secretbatcave.co.uk/projects/stock-
       | ticker-machin...
       | 
       | Its not strictly electro mechanical like the original, that was
       | too far out of my mechanical design skills.
        
         | victorbjorklund wrote:
         | This is super cool. Love it.
        
       | schemescape wrote:
       | md2blog: creates a tiny (a few kilobytes per page, with no
       | JavaScript) blog from Markdown files, with two features that I
       | couldn't find elsewhere:
       | 
       | * Links between Markdown files "just work" (both when viewing the
       | Markdown source on GitHub and in the final HTML version of the
       | site), including anchors
       | 
       | * Posts are automatically tagged based on directory structure
       | (e.g. all files in "posts/linux" are tagged with "linux")
       | 
       | Bonus: my entire site hot-rebuilds on my 12 year-old netbook in
       | under a second (with a few tweaks that I should probably publish
       | a new build for).
       | 
       | https://jaredkrinke.github.io/md2blog/
        
       | [deleted]
        
       | jamietanna wrote:
       | Something I've recently worked on is building an SQLite database
       | of all the dependencies my organisation uses, which makes it
       | possible to write our own queries and reports. The tool is all
       | Open Source (https://dmd.tanna.dev) and has a CLI as well as the
       | SQLite data.
       | 
       | Ive used it to look for software that's out of date (via
       | https://endoflife.date), to find vulnerablilities (via
       | https://osv.dev) and get license information (via
       | https://deps.dev)
       | 
       | It's been hugely useful for us understanding use of internal and
       | external dependencies, and I wish I'd built it earlier in my
       | career so I could've had it for other companies I've worked at!
        
         | gsala wrote:
         | Sounds really cool. We're looking into building something
         | similar, but hoping to use Renovate to do the dependency
         | analisys for us.
        
           | jamietanna wrote:
           | Nice, this does actually use Renovate as the primary
           | datasource would love to chat more to see if this setup would
           | work for your needs?
        
       | JackMorgan wrote:
       | I used to listen to lots of mp3s on my computer in the nineties,
       | so I built a USB IR receiver that could interpret signals from a
       | remote control and use it to control winamp.
       | 
       | I made a tool that tracks the current and historical prices of
       | all sailboats in the world to look for possible good deals.
       | 
       | I made a website that let me track my student loan payoff (since
       | I had 30+ different loans) that showed the total payoff as a big
       | red thermometer. I also would track the dates of payments and
       | used that to estimate the total payoff date
       | 
       | I made and open sourced an attendance tracking site for a local
       | school that allows students to come and go throughout the day,
       | but needs to ensure they at least showed up and returned before
       | school let out.
       | 
       | I made a tool that would determine the most efficient way to
       | build damage per second on each hero in a moba. It used linear
       | optimization to calculate which items to build and in what order
       | to get the highest DPS.
        
         | switch007 wrote:
         | > since I had 30+ different loans
         | 
         | That's fascinating! How do did you get over 30 different loans?
         | Is this any kind of normal where you're from?
        
           | JackMorgan wrote:
           | I moved to the US for college, and the only way to pay the
           | predatorily high tuition was to take out student loans. Those
           | were taken out incrementally each semester. I was eligible
           | for several different kinds of loans at varying rates and
           | amounts, so each semester I'd optimize, resulting in several
           | loans a semester.
        
             | bombcar wrote:
             | Most people don't realize that is how it is done, because
             | they consolidate (or never switch provider) after
             | graduation.
        
       | thedanbob wrote:
       | I wrote my own firmware for ESP-8266 IoT devices to connect them
       | to Home Assistant. There are many like it, but this one is mine:
       | https://github.com/thedanbob/mqtt_light
       | https://github.com/thedanbob/mqtt_garage_door
       | https://github.com/thedanbob/mqtt_power_cycle
        
       | mxuribe wrote:
       | I built a pretty simple command line application (glorified
       | python script) years ago that sends messages into a specified
       | matrix room, and intended for use as a basic server notification
       | system. Only recently posted to github (because a friend asked me
       | to share); see: https://github.com/mxuribe/howler
       | 
       | Like other sys admins and devs, I had used email notifications
       | for years to notify me whenever *stuff happens* on a server (like
       | a job ran/completed, some storage device is low, etc.). But when
       | matrix came out several years ago, i really liked the concept,
       | became a bit of a matrix fanboy, and built a little script to
       | leverage - nowadays, all of - my server notifications. Again,
       | pretty basic/not sophisticated, but it scratches my itches.
        
       | ghbarton wrote:
       | I got fed up of trying to access servers I was whitelisted to but
       | my IP had changed so I wrote a script that runs on startup and
       | lets me copy my IP if I want. ghbarton.com/blog
        
       | JKCalhoun wrote:
       | I have a "TV channel" app running on a Raspberry Pi serving up
       | local video content to a schedule I create.
       | 
       | The Pi has a 5TB hard drive attached with perhaps 1000 videos or
       | so. The app has a schedule and plays the videos according to the
       | schedule. It starts up in the morning, plays tele-courses, moves
       | on to old TV shows, an afternoon movie, after school shows begin
       | around 3:00 PM, a comedy show around dinner time, an evening
       | movie, some late-night content, then the Indian head and "We Will
       | Resume Broadcasting Tomorrow Morning...."
       | 
       | It fills dead airtime by choosing randomly among (literally)
       | thousands of YouTube short clips I have on the drive -- or
       | showing a title card indicating when the next show begins.
       | 
       | Partly it's a fantasy -- to have my own "channel" with my own
       | scheduled content -- my fantasy station.
       | 
       | Partly it serves to put on content I would otherwise not be
       | inclined to pull up, double click and watch. It adds the
       | serendipitous element to TV watching that I miss before
       | streaming. The movie "Charly" (1968) just came on last night and
       | I am sure I have not seen it since I was a teenager -- had to
       | stop what I was doing and watch a few scenes I recall vividly.
       | 
       | Today's lineup here: https://engineersneedart.com/UHF/
       | 
       | (Since the schedule is in JSON format, it was easy enough to make
       | a web front end to display today's schedule.)
        
         | giantrobot wrote:
         | I did this same sort of thing. My impetus was that I have tons
         | of shows and movies to watch but I 1) don't necessarily want to
         | binge every episode back to back and 2) my wide selection leads
         | to choice paralysis. I mostly want some background noise rather
         | than something I'm super engaged in.
         | 
         | I wrote a script to catalog all my shows/movies then another
         | that reads a schedule and generates a daily playlist. My
         | schedule has daily episodes of some shows and then weekly
         | showings of others. I even put some network block bumpers
         | between some shows and "upcoming schedule" clips.
         | 
         | The output of the scheduling script is just an m3u playlist. A
         | cron job loads the day's playlist at midnight and it plays
         | continuously during the day. There's no controls to pause or
         | anything, if I miss something I miss it (by design). All the
         | video content is stored on a 5TB drive plugged into the
         | machine.
         | 
         | To complete the old school analog nature of the project I
         | picked up a low power Hlly VHF video transmitter. I've got a
         | small CRT TV in my office that I use during the day and I can
         | pick up the signal on the TV in the living room. The project
         | started on an RPi with VLC but it struggled on some videos I'd
         | ripped from Bluray so I replaced it with a little fanless AMD
         | box with an HDMI-RCA adapter. It sits in the garage and I can
         | pick up the signal anywhere in the house.
         | 
         | The best part is apart from the setup it's proven to be pretty
         | reliable. My next step is to make a schedule output like what
         | you linked and maybe a web based UI to let me "change
         | channels". For right now it does what I want with no real fuss
         | and I always have something on that I like.
        
         | Fatboyrunning wrote:
         | What a great idea! Are you inclined to make a guide? If so, my
         | old-school wife and myself would be grateful.
         | 
         | Otherwise, I will enjoy the fun of figuring it out for myself
         | some day.
        
           | JKCalhoun wrote:
           | I'll open-source it when I get the embarrassing bugs worked
           | out.
        
             | joh6nn wrote:
             | I encourage you not to be embarrassed and to simply
             | opensource it. To err is human; anyone giving you grief
             | because of bugs doesn't deserve the effort you've put in.
             | And opening it now could actually bring assistance in
             | getting those bugs fixed, while simultaneously benefitting
             | everyone who wants to do something similar but isn't sure
             | where to start
        
               | giantrobot wrote:
               | I won't speak for anyone else but sometimes "bugs" in
               | more about process than code. I have a similar project as
               | the GP and am not currently interested in open sourcing
               | the project because there's a lot of bespoke elements and
               | manual setup process. I don't want to have to make a
               | README describing all the process steps that make my code
               | actually useful.
               | 
               | For me, on my hardware, on my network, I've got a process
               | that works. It's a non-zero amount of effort to
               | generalize the description of that process.
        
         | afavour wrote:
         | For those interested in doing something similar there's a Plex
         | add-on for making custom TV channels:
         | 
         | https://github.com/vexorian/dizquetv
         | 
         | Personally I want _almost_ this. I want to rotate the TV shows
         | my kids watch in the morning but I don 't want to start part
         | way through a show (the one part of the old analogue experience
         | that I don't miss at all). Difficult to square that circle.
        
           | mattmanser wrote:
           | HDMI seems to be two way, my ps5 turns on automatically when
           | I turn my TV on.
           | 
           | So you should be able to do something with that.
        
             | brendev wrote:
             | The protocol you're looking for is HDMI-CEC! Not a ton of
             | good documentation out there, but hopefully this helps send
             | you down a good path.
        
             | afavour wrote:
             | Oh, it's definitely possible. Software like dizquetv it
             | must know when a new connection is made. But to add such a
             | feature would require a lot of familiarization with their
             | codebase and I don't currently have the time.
             | 
             | One day...
        
           | 300bps wrote:
           | Your comment led me to learn about Plex Plugins even though
           | I've been using Plex for literally a decade!
           | 
           | Unfortunately they're removing support for all Plugins over
           | time and have already eliminated ones that play content.
           | 
           | https://support.plex.tv/articles/categories/online-media-
           | sou...
        
         | myself248 wrote:
         | All this is missing is an RF modulator and a very-low-power
         | transmitter, just enough to reach throughout the house...
        
         | WheelsAtLarge wrote:
         | Very cool. This is exactly what I miss about old time TV; being
         | able to catch a show by chance. I find it interesting that most
         | of the time there's so much choice that I can't get the energy
         | to pick one and stick with it. For a while there, I had 4
         | streaming services and never watched any of them. I just wasted
         | my money.
        
         | epiccoleman wrote:
         | Ha! The Final Sacrifice is on tonight. That's one of the very
         | best MST3K episodes.
         | 
         | I would _love_ to do something like this for my kids. They 're
         | constantly begging to watch Youtube, which I limit pretty
         | heavily. Something like this could allow me to stick some pre-
         | approved videos into a queue, and maybe even make an allowance
         | for a half-hour of some of the ... dumber stuff that they like
         | at a certain time of the day. I could also slip in some
         | Kurzgesagt, Mark Rober, content that they may not otherwise be
         | that interested in to surreptitiously educate them ;)
        
         | brianzelip wrote:
         | That's great! Like the idea of bringing serendipitous timing
         | back. I see 'Sounder' is coming up, I recently got that
         | soundtrack on vinyl!
        
         | adroitboss wrote:
         | This reminds me of the channels gamers get in Ready Player One.
         | The main character used his channel to broadcast his favorite
         | T.V. shows that other people could tune in and watch. This is a
         | really cool!
        
         | jjice wrote:
         | I've wanted to do this for quite some time! Do you serve it
         | over you local network or is the Pi directly connected to the
         | television?
        
         | stavros wrote:
         | I did the same thing with my Chromecast, I made it play a
         | random episode from my library, one after the other, so there
         | was always something I liked on.
        
         | acapybara wrote:
         | Engineer Sneed Art?
        
           | sirsinsalot wrote:
           | Look who is out of the loop on Sneed Art
        
           | Arch-TK wrote:
           | Engineers Need Art
        
           | LoveMortuus wrote:
           | Engineers Need Art ^^
        
           | _dain_ wrote:
           | Formerly Chuck Art
        
         | pwpw wrote:
         | I have been thinking about doing exactly this for Saturday
         | morning cartoons to stream anime to my PVM once I can figure
         | out how to stream 480i from a modern device to RGB.
         | 
         | Would consider sharing how you set it up? I'd love to do
         | something similar!
        
           | JKCalhoun wrote:
           | I wrote the app in Python for the Raspberry Pi. For video
           | playback I am using the (now deprecated) omx player.
           | 
           | I tried using VLC instead for video playback (I think the
           | more accepted way to play video from Python now) but when VLC
           | completes showing a video there is a visible flash that I
           | cannot figure out how to get rid of.
           | 
           | I should point out though that it doesn't "stream" -- you'll
           | have to find some other solution for that. The Pi is a
           | dedicated "player" hooked to a dedicated TV that is always
           | on, always showing what the Pi has to offer up.
        
             | giantrobot wrote:
             | You might look at mpv instead of VLC. I had the same
             | visible flash problem with VLC and mplayer but not with
             | mpv. The other benefit of mpv I just (as in two days ago)
             | found was I can use a loudness normalization audio filter
             | to keep some shows from having blaring audio.
             | 
             | On my system I'm running mpv on top of OpenBox with compton
             | for the compositor. It's been much smoother all around than
             | VLC or mplayer on the same hardware (an AMD mini PC now
             | replacing an RPi I had been using).
        
               | JKCalhoun wrote:
               | Thank you! I will do that.
        
       | rsrsrs86 wrote:
       | A jazz generator, pre-machine learning. It had instruments and
       | each instrument had Markov Chains to control pitch and note
       | duration. I then used a bunch of helpers and functions to write
       | markov chains that sounded cool. I used it to play bass and jam
       | with me. This was 2009.
       | 
       | The implementation was in netlogo I don't remember why. It was
       | really fun
        
       | karulont wrote:
       | I had phone that could run J2ME but did not have Internet.
       | 
       | I reverse engineered a flash application that showed a map and
       | provided address search. I scraped the map tiles and address to
       | location database. Reimplemented the viewer application as a Java
       | applet and preloaded the tiles and address database to a microSD
       | card connected to the phone. So essentially I built my own
       | offline maps for my not internet connected phone.
       | 
       | Address search required prefix tree because IO was too slow to
       | use binary search on the phone.
       | 
       | Anyway this was done just before I went to a new city to attend
       | university and it was really helpful to find out where I am and
       | where to go. There was no navigation, but it showed the map, gps
       | location and the location where I needed to get to.
       | 
       | So that was my personal project that really had great utility for
       | me.
        
       | arbuge wrote:
       | I built this about 4 years ago... I have about half a dozen of
       | them around the house right now showing stock quotes, weather,
       | etc. and updating every 5 minutes.
       | 
       | https://foundrytechnologies.com/relay.php
       | 
       | One of them has been outside the front door showing messages to
       | visitors and exposed to the Texas elements for all that time now
       | - still going strong. About 2 years ago I replaced the plastic
       | case, which was looking a bit warped.
       | 
       | Sold a few too - though not enough to scale things up. Hardware
       | is hard.
        
       | bayofpigs wrote:
       | [dead]
        
       | meta-meta wrote:
       | I built a VR environment for making and thinking about music,
       | intuitively playing with alternate tuning systems, building
       | instruments in space and livestreaming.
       | 
       | https://www.youtube.com/live/v4uHqdTr-bs?feature=share&t=426...
       | 
       | There are a few simple but powerful building blocks. One main
       | feature is an egg shaped "note" which can be placed, resized,
       | retuned and cloned on the fly. It's played by physics
       | interactions with a "mallet" or sports balls, anything with a
       | collider.
       | 
       | One of the instruments is a sine wave organ which has drawbars to
       | control the amplitude of overtones. Unlike a classic organ, these
       | overtones can be independently retuned and assigned envelopes to
       | produce a range of timbres. Pitch is consistently mapped to a
       | spiral - an isomorphism of pitch space.
       | 
       | It has a theremin which provides visual and tactile feedback and
       | a voice with vocal formants controllable with a thumbstick.
       | 
       | It has a physics based sequencer of sorts which consists of
       | "mallets" on a wheel which spins at a desired ratio of whatever
       | BPM is set in a DAW. These wheels can be cloned and multiple
       | mallets arranged around the circle using the Euclidean rhythm
       | algorithm.
       | 
       | Since low latency audio in Unity is tricky, the VR app is really
       | just a controller for synthesizers running in Max/MSP and IEM
       | spatial audio VSTs running in REAPER. One day I'd like to package
       | some portion of it into a mobile VR app for things like remote
       | jamming or music lessons where models of the theoretic ideas are
       | right there in front of us to tinker with. For now, it's just for
       | me.
        
       | imcoconut wrote:
       | it's pretty simple but on various consulting jobs I've had to
       | build SQL databases sometimes with lot's of tables with lot's of
       | columns. Sometimes we switch from on prem to cloud, or vice versa
       | or switch from postgres to sql server, etc. I have this toolkit
       | that automates a lot of the tedious stuff. it allows me to take
       | pandas dataframes and do the following:
       | 
       | - auto detect and convert column types
       | 
       | - save as a parquet file in a folder
       | 
       | - then autogenerate a sqlalchemy table/metadata file in python
       | for all tables with sensible defaults for column types (e.g. 2x
       | the longest string in a column for varchar)
       | 
       | - build the db and all tables
       | 
       | - load data from the files into the tables
       | 
       | this makes it really easy to bootstrap the entire db from a
       | folder of parquet files for testing with sqlite and then makes it
       | easy to move to prod on postgres/sqlserver etc. Before I go to
       | prod i still have to add constraints and keys and indexes but
       | that doesn't take too long. and for dev/testing the data's not
       | too big so performance doesn't really suffer from lack of
       | keys/constraints then we can use something like alembic on the
       | big sqlalchemy tables definition file to do db migrations.
       | 
       | it's kind of like this: https://github.com/agronholm/sqlacodegen
       | but solving an inverse problem.
       | 
       | basically it bootstraps the db and schemas and gets me like 95%
       | of the way there. my quality of life is better with it.
        
       | cc101 wrote:
       | I wrote an app for reviewing and highlighting websites and most
       | computer documents. I can drag the highlights into a built-in
       | outliner and organize and comment them there. I can drag relevant
       | highlights into a built-in report outliner where I can write the
       | corresponding section of the final report. I knew I wanted it. I
       | thought others would too. I was wrong on that. Sigh! I guess I
       | built it just for myself after all.
        
         | l2silver wrote:
         | I have definitely tried to build something similar after all.
         | People are so particular with these things.
        
       | gmac wrote:
       | My daughter enjoyed playing Othello at a friend's house, so I
       | made this we can use on an iPad:
       | https://jawj.github.io/fliptiles/
        
       | shanebellone wrote:
       | I believe tech has passed down inefficient solutions that
       | represented the best solution given the hardware constraints of
       | the time. For this reason, I began rebuilding my web stack.
       | 
       |  _Deployed applications:_
       | 
       | Analytics, Object Database, and WAF.
       | 
       |  _Deploying shortly:_
       | 
       | WSGI app and templating system.
        
       | rhubarbcustard wrote:
       | I, like probably most other people, tend to start a habit and
       | then it quickly fades away, not necessarily due to lack of
       | wanting. I find that I might want to start, for example,
       | strecthing my hamstrings regularly, I do them for some days/weeks
       | and then I forget some days, then forget some more, and then
       | after a while I realise I haven't done any for months.
       | 
       | So I wrote a webapp that I usually myself constantly now, it's
       | very basic. I enter a habit I want to keep up and then visit the
       | site everyday and click the "done" button when its done. It also
       | has a calendar so I can see how often I've been doing it because
       | not every habit is to be done every day.
       | 
       | I started this for exercising but i'm not using it for very
       | basic/stupid things. One example is cleaning my glasses. I would
       | never remember to clean them and I'd occasionally realise I'm
       | viewing the world through a layer of grime. I now click "done"
       | every day and the world looks crystal clear.
       | 
       | I guess it's just gamified habits a little bit and its working
       | really well for me. There's a ton of habit trackers out that but
       | I never found anything simple and quick to use.
        
       | hirako2000 wrote:
       | A 3D luring audio visual experience that's using a simple 2d
       | canvas, in the browser.
       | 
       | https://vanilla-lattice.mtassoumt.uk/
       | 
       | Totally deprived of any use, but very satisfying.
        
       | sokoloff wrote:
       | I built a "dipping bird" boiler reset (metaphorically). Our old
       | boiler had a fault where it would lock out every few months until
       | manually reset. So, I wired a normally closed relay to it and a
       | 10 line Arduino sketch to open the relay 1 minute out of every
       | 120.
       | 
       | That ran for about 7 years; when I was researching replacing the
       | boiler with air-to-water heat pump, I had to prove the house
       | could be heated with lower temp water, so I changed to an
       | ESP8266, added a platinum temperature sensor, a webserver, data
       | logging, and ran a bunch of experiments with lower supply temps
       | to see how the house would react.
       | 
       | https://imgur.io/a/VM7nD74 (that chart is entirely SVG, the whole
       | content screenshotted was generated on the ESP)
        
       | davidfstr wrote:
       | I created a smart spreadsheet app for tracking any books, movies,
       | or TV series I'm interested in watching which can automatically
       | run web searches for sources to stream/rent/buy any item on the
       | list (ex: Netflix, Amazon Prime, my local library, my local
       | bookstore).
       | 
       | This way I can focus on _what_ I want to watch and not worry
       | about _how_ I will watch it.
        
       | lbrockxyz wrote:
       | My family is super into games, and as the resident programmer,
       | they often ask me to build things related to them. Favorite two
       | to build were
       | 
       | - an Unolingo solver that we used to figure out if there could
       | ever by more than one solution to the puzzle (there can be!)
       | 
       | - a "killer" solitaire simulator that determined the optimal
       | number of players for a max win rate. IDK if this is even a real
       | game, but my family plays multi-player competitive solitaire with
       | up to 8 people at a time. IIRC the optimal number for win rates
       | is like 5-6(?) according to my simulation
        
         | l2silver wrote:
         | Is that like dutch blitz?
        
         | Austizzle wrote:
         | I grew up playing a multiplayer competitive solitaire with my
         | family called Nerts. Sounds like a similar game:
         | https://bicyclecards.com/how-to-play/nerts
        
       | peter_retief wrote:
       | I put together some operational amplifiers as filters to measure
       | skin voltage and infrared absorption then used machine learning
       | to learn to identify me and to measure blood pressure, pulse rate
       | and oxygen saturation.
       | 
       | I was close to predicting/estimating blood sugar when I lost
       | momentum and also had a few errors making up PCBs.
        
       | bouk wrote:
       | I keep all my projects and other repos that I clone under `~/src`
       | e.g. `~/src/github.com/rails/rails` for the rails project. I then
       | have the following fish function to navigate to a project:
       | function c         set -l directory (fd -d 5 --prune -a -H -t d
       | -g '.git' ~/src ~/b -x dirname {} | fzf
       | --tiebreak=length,begin,end)         if test -n "$directory"
       | and test -d $directory           cd $directory         end
       | end
       | 
       | I just type 'c' and then 'rails' and I'm in the rails project. I
       | really like diving into code and this makes it much faster.
       | 
       | I also have this one to clone or cd a project from github like
       | `gc rails/rails`                 function gc --argument repo
       | set -l dir $HOME/src/github.com/$repo         if not test -d $dir
       | if test -d $HOME/go/src/github.com/$repo             set dir
       | $HOME/go/src/github.com/$repo           else             mkdir -p
       | $dir             if not git clone "git@github.com:$repo.git" $dir
       | set -l git_status $status               rmdir $dir 2>/dev/null
       | return $git_status             end           end         end
       | cd $dir       end
       | 
       | And this function:                 function list_after_cd --on-
       | variable PWD         ls       end
       | 
       | Runs ls every time I change directory, which you basically always
       | want anyways
        
         | satvikpendem wrote:
         | Reminds me of z / zoxide / fasd, I use zoxide personally
        
       | aftergibson wrote:
       | Latest vaguely interesting projects I've done, I repurposed an
       | old Nook to be an e-ink family dashboard, showing weather, tidal
       | times and our family calendar.
        
       | Lutzb wrote:
       | Not really interesting per se, but useful when dealing with large
       | recursive and sparse archives:
       | 
       | A python script that recursively searches through zipped files
       | within zip files (within zip files...) to find files by name and
       | content. The goal was not to unzip the recursive structure to the
       | file system, since the unzipped files contained hundreds
       | gigabytes of sparse data each. Instead it works directly on the
       | file stream and keeps the memory requirements constant.
        
         | mxmlnkn wrote:
         | This is basically the same reason why I started with ratarmount
         | (https://github.com/mxmlnkn/ratarmount) but the focus was more
         | on runtime performance and random access and as the name
         | suggests it started out with access to recursive tar archives.
         | The current version should also work for your use case with
         | recursive zips. Recursive loading must be enabled with
         | `--recursive`. It can also be used as a Python library without
         | FUSE.
        
       | _boffin_ wrote:
       | I haven't built it yet, but there's a homeless person that yells
       | every night from 2am to 4am at the top of their lungs across the
       | street. Profanities and everything.
       | 
       | I've been looking into directional speakers so i can kindly ask
       | the person to quiet down without waking the neighbors up. The
       | person in question about 200ft away
        
         | dtgriscom wrote:
         | ... perhaps a phased array of speakers?
        
       | dusted wrote:
       | The most interesting tech I made for myself is rather mundane,
       | but it's one I use every day, it's the FinalKey password manager.
        
       | sowbug wrote:
       | An automatic fish feeder. I was going on a long trip with my
       | family and needed to feed my fish while we were gone. I
       | remembered I had a servo from an old project. I drilled some
       | holes in a round plastic container, glued it to the servo shaft,
       | hung it off the tank with some wire, and wrote a small Arduino
       | sketch to jiggle the container every 24 hours. It worked better
       | than I thought it would; the fish survived, and in fact seemed so
       | happy that I don't feed them by hand anymore.
       | 
       | I've since built a couple more for my other tanks, and I rewrote
       | the firmware for ESP8266/ESPHome. Now my family can ask Alexa to
       | feed the fish, because of course the world needs that.
        
       | zulban wrote:
       | I don't like mobile games, mostly because of IAP and ads. There's
       | also an oversaturation of chess apps, but none where an AI can
       | play your own variants, so I made www.chesscraft.ca
       | 
       | For years now it's the only mobile game I play, just about. The
       | game took off a bit, but the core is still for me.
        
       | hoofhearted wrote:
       | I needed to build a Wordpress site for user docs for a company
       | last year. Couldn't find a good solution :(
       | 
       | I created a React based version of Wordpress for developers.
       | 
       | I turned it into an open source framework so that other people
       | can use my work and build on top of it. It comes baked with
       | Next.js, Tailwind, and a bunch more.
       | 
       | It's currently a work in progress, but I've been receiving great
       | feedback from the dev community.
       | 
       | https://www.elegantframework.com/
       | 
       | https://github.com/elegantframework/elegant-cli
        
       | hectormalot wrote:
       | A recipe manager for our family that strips all the SEO text out
       | using the OpenAI API. I built this after someone in our family
       | got diagnosed gluten intolerant and we had to make changes to our
       | usual recipes.
       | 
       | Normal recipe sites tend to be full of irrelevant (SEO optimized)
       | text, ads and tracking, and I wanted something to just get the
       | recipe in a clean form.
       | 
       | It's a basic web application (mostly in Go) to manage recipes.
       | New recipes are imported from an URL, after which it extracts the
       | plain text from the site and uses GPT to get a markdown formatted
       | recipe and list of ingredients.
       | 
       | This would've been much harder pre-GPT, but now was trivial to
       | implement.
        
         | xnickb wrote:
         | That already exists as a browser extension afaik. Not sure
         | about gluten part though
        
           | hectormalot wrote:
           | Oh for sure. I think Paprika (?) does a decent job. To be
           | fair, it started as a learning project for myself.
           | 
           | As a minor detail I also translate everything to the same
           | language as part of the transformation. Just a bit of prompt
           | experimentation.
        
         | Paul-Craft wrote:
         | > This would've been much harder pre-GPT, but now was trivial
         | to implement.
         | 
         | I wonder how close looking for a group of lines that start with
         | a number, then taking all the text following that group of
         | lines would get you. I bet that would get you pretty close to
         | the desired effect most of the time.
         | 
         | I also wonder if more standard NLP methods might work here,
         | rather than using the full power of an LLM. Instructions are
         | grammatically constructed as commands, so if you start with
         | doing what I mentioned in the previous paragraph, then parse
         | each sentence following the group of lines starting with
         | numbers, you should be able to determine which ones are
         | commands. If a paragraph contains no commands, it's obviously
         | not directions.
         | 
         | Just some random thoughts. I do see what you mean, though:
         | definitely _not_ trivial sans assistance from an LLM.
        
         | iaaan wrote:
         | The mobile app Paprika does this and works great, in case
         | anyone wants to use something like this.
        
           | macrael wrote:
           | I love Paprika, one of my favorite apps I use. It even syncs
           | a grocery list between my phone and my Mac.
        
           | IanCal wrote:
           | Paprika is excellent, it's also something you pay for and
           | just get the app - no subscription.
        
             | suddenclarity wrote:
             | On the downside, you'll need to purchase each version
             | separately. I bought it on Apple and then moved to Windows.
             | I'm considering buying it again but I'm curious how well
             | Obsidian would work for it considering it's free and has
             | the rest of my life.
        
       | weberer wrote:
       | I like to play Factorio, but too often lose track of time while
       | playing. There's no clock in the game's UI, and no way to access
       | the system's time through the mod API. So I made a script that
       | runs as a process on the host machine that every minute, sends
       | commands to the game's process to build a clock in the center of
       | the map out of concrete. Its pretty cool because you can also
       | clearly see the time from the mini map.
       | 
       | https://gitlab.com/smew/factorio-clock
        
         | NamTaf wrote:
         | This has big Anno-series "You've been playing for [x] hours!"
         | notification energy. I love it. Both of those game series are
         | incredible time sinks.
        
         | deskamess wrote:
         | > sends commands to the game's process
         | 
         | You can do that? Is there an API?
        
           | weberer wrote:
           | I was using factorio-init to start the process. That script
           | makes it easy to send commands to the in-game console.
           | 
           | https://github.com/Bisa/factorio-init
           | 
           | https://wiki.factorio.com/Console
        
         | bees_buzz wrote:
         | Devs ruining your fun I'm afraid
         | https://www.reddit.com/r/factorio/comments/s7i4xu/1151_added...
        
       | chasd00 wrote:
       | I have a liquid bi-prop rocket engine on the table next to me
       | that is almost ready for a static fire and then a launch later
       | this year likely at FAR or Spaceport America.
       | 
       | It has improved pretty much all my skills. Fabrication, embedded
       | software/controls, system integration, operations processes,
       | research and learning and so on. So far it's been my most
       | challenging personal hobby project.
        
       | belthesar wrote:
       | I've got a couple things, they're pretty simple, but they've
       | improved my life significantly for as simple as they are.
       | 
       | One is an interface for a MIDI controller I use to be able to
       | control the Soundcraft UI16 mixer I use for my desk setup. I'm a
       | bit of an audio nerd, having done pro-am music production, and
       | having a love for broadcasting, and what started as a simple
       | setup to get good quality sound at low latency has now become an
       | audio chain with a teleconferencing audio processor, a headless
       | digital mixer, and several microphones to do acoustic echo
       | cancellation and noise cancellation so I can use an open
       | microphone without headphones.
       | 
       | My mixer, being headless, has no physical controls. From my DJ
       | days, I had a MIDIFighter 3D controller not being used, and a
       | Raspberry Pi without a dedicated task. I was able to write a
       | small bash script to read note information from the controller
       | and send web requests to a Bitfocus Companion server to act as
       | API intermediary between my mixer and the controller. Now, I have
       | physical controls for hardware muting my microphone, and the
       | various computers at my desk. It's effectively a big Elgato
       | Streamdeck for what I use it for, but to be able to upcycle the
       | hardware has been quite nice.
       | 
       | I also was working from home with some long hours, and I wanted
       | to try and improve my sleep schedule. I already use redshifting
       | software (usually what's built into the OS these days, although I
       | used to be a longtime F.lux user), and that's been great, but I
       | also wanted to control monitor brightness by time of day. Giving
       | my eyeballs less light blasted into them has helped me regulate
       | my sleep better. I wrote a small python daemon that can run on
       | Mac or Linux, integrate with native DCC tooling to send control
       | commands to my displays, and gradually adjust the brightness of
       | my monitors based on the time of day. This has also been
       | eternally useful when, being an ops guy, I'm called in during the
       | middle of the night, sit down at my desk to address an outage,
       | and my eyeballs are bombarded with significantly less light,
       | making the pain of adjusting much less difficult to address, and
       | also making falling back asleep after the incident is resolved
       | much easier.
        
         | redog wrote:
         | >several microphones to do acoustic echo cancellation and noise
         | cancellation so I can use an open microphone without
         | headphones.
         | 
         | I'd love to read more about the work on this!
         | 
         | Can I get away with just 2 other microphones? Is it in python?
        
           | belthesar wrote:
           | This admittedly isn't software. I'm leaning on the shoulders
           | of giants in the professional teleconferencing space for
           | this. I'm using a beastly old Biamp Nexia VC audio processor
           | for this. The nice thing is that these are very end-of-life
           | products that don't require a license to operate, so you can
           | pick one up on eBay for $50-100.
           | 
           | The Nexia provides Acoustic Echo Cancelling, which is
           | fundamentally the same stuff that VoIP apps like Zoom, Teams,
           | Discord, etc. use to detect feedback and squelch it, except
           | instead of ducking my microphone, it does waveform
           | cancellation to strip it out, to pretty great effect. To take
           | advantage of this, I send the audio output from my computers
           | (I have my desktop or my laptop, which are attached to the
           | same USB audio interface, and a Mac Mini that I use for
           | secondary tasks, media watching, and a CI/CD worker target)
           | as well as a contact microphone attached to the wall
           | adjoining a bathroom. Audio from those sources are then
           | removed from my microphone feed before it goes back into my
           | audio interface for whichever primary computer I'm using as
           | my teleconferencing device.
        
         | emberfiend wrote:
         | I also made a time-of-day brightness adjuster! I had a much
         | cruder solution, just an autohotkey script that drags sliders
         | around in nvidia control panel, but it's such a relief on the
         | eyes. I hope it gets baked into OSes (or monitor hardware?) at
         | some point, matching monitor luminosity to what the sun is
         | doing seems pretty obvious.
        
       | seurimas wrote:
       | MUDs are a great breeding ground for bespoke programs. I've made
       | my own system of triggers and aliases in Rust, which interfaces
       | with Mudlet (very popular MUD client) through JSON over stdio.
       | Being written in Rust, it has enabled a publicly usable web tool 
       | (http://seurimas.github.io/topper/explainer/?/topper/explaine...)
       | , but the majority of the code is just for me.
        
         | internetter wrote:
         | The site you linked isn't loading for me. It's just a black
         | page with a favicon
        
           | seurimas wrote:
           | I had the wrong path for the demo file. It ought to work now.
        
       | sylware wrote:
       | Not yet built, but in my TODO list: A mango pi mq-pro, a custom
       | written 100% risc-v 64bits assembly firmware, plate-mounted
       | cherry switches (probably silent red, or black), lovely PBT key
       | caps, laser cutted aluminium plates, diodes, a bit of electric
       | wiring and:
       | 
       | https://external-preview.redd.it/AxGrpEpxqpATGsX7MwsoSRrD2ie...
        
       | grilledcheez wrote:
       | I made a pomodoro timer display using a WiFi-connected ESP32
       | board with a small OLED display. I put it outside the guest
       | bedroom/home office door during lockdown so my family members
       | could see how long until I could be disturbed.
       | 
       | It talked to my laptop using MQTT and of course it was triggered
       | from emacs using org-pomodoro.
        
       | BonoboIO wrote:
       | I hated scrolling ikea.com for new products, way too cluttered
       | and all over the place. Found their hidden api and created a RSS
       | feed from the new products.
        
       | moontear wrote:
       | Automatic warning system if I sit too long
       | 
       | I added a pressure sensor to my desk chair (just like the ones
       | built into car seats) and soldered that to a Zigbee door sensor.
       | I now know sitting/not sitting. I then set up push notifications
       | to my watch and desktop if I sit more than one hour to get up and
       | take a walk. Furthermore I connected it to my hight adjustable
       | desk that if it is in up-position and I sit down, it
       | automatically lowers itself to the perfect sitting position. I
       | had to disable the ,,if I get up, move the desk up" function
       | because it was just too much movement on the desk end.
       | 
       | I don't wanna miss the too-long-sitting warning anymore and it is
       | really useful.
        
         | riidom wrote:
         | SO it kinda sends a push notification to your butt then? :)
        
         | ano88888 wrote:
         | This is really cool. Apple watch solves this problem though.
        
       | flyingpuffin wrote:
       | I built this simple website https://unexploredhq.com to find
       | interesting (less known) places to travel with my SO and family.
       | Instead of searching for new places by name, one can search for
       | new places in a region with simple attributes.
       | 
       | I have built the database by scraping some data online, and have
       | a database of 60,000+ locations. The attributes are built with
       | some basic ML and text processing, nothing fancy. But this is
       | sufficient for me to do this search: find places in Europe where
       | I can do surfing and hiking with a temperature of less than 25
       | degrees.
        
       | gadgetoid wrote:
       | It didn't really stay personal, but I built a very basic
       | Raspberry Pi Pinout website hosted on a Raspberry Pi [1] back in
       | 2013. The intent was to collect the pinouts for some boards I was
       | tinkering with at the time. It got wildly out of hand since [2]
       | [3], but I think the original site meets the spirit of this
       | question.
       | 
       | 1.
       | https://web.archive.org/web/20130505194305/Pi.Gadgetoid.com/...
       | 2. https://pinout.xyz 3. https://pico.pinout.xyz
        
       | george_sp wrote:
       | Created a query builder for microsoft's KQL for making my life
       | easier for a client project. Turned out that this company still
       | uses this library after 5 years :).
       | 
       | Probably the best feeling ever in work.
        
         | beoberha wrote:
         | What are your thoughts on KQL? I'm biased, but I love it.
         | Kusto/ADE as a whole is an amazing platform - it's a shame how
         | poorly it has been marketed outside of Microsoft
        
       | Zanfa wrote:
       | A Bluetooth dongle for my standing desk that lets me control it
       | from my Mac. I kept bumping the wired remote with my chair when
       | it was mounted under the table and since it had a fat Cat5 cable,
       | it was too ugly to have on the table.
       | 
       | So I hooked the remote up to an oscilloscope, figured out the
       | signals it uses and used a nRF52 dev kit plus a small custom PCB
       | shield to be able to control it over BLE. A small toolbar utility
       | for the Mac and it's more convenient than it's ever been.
        
         | rft wrote:
         | Reminds me of a prank I pulled with a mate on a colleague. They
         | recently got standing desks and of course a bit of fun ensued
         | with them. Over one weekend we build a remote control for it
         | based on an ESP32, of course fully MQTT compatible. We hid it
         | as best as we could and it was not visible unless you crawled
         | under the desk. Fun was had, because you could just program the
         | behavior via a small python script and override the physical
         | buttons. It also was briefly hooked up to my Home Assistant for
         | voice control.
         | 
         | We used nothing as fancy as an oscilloscope, bought a new RJ11
         | cable, cut it in half and interposed the connection from the
         | remote to the controller. We also used relays, just for the
         | nice clicking sound :)
        
           | Zanfa wrote:
           | My plan was to get my setup super fancy to also display the
           | current height and memory functions from within the Mac
           | utility, so it had to read the full protocol that the remote
           | used. Up/down alone was supposed to be the proof of concept,
           | but once I got it working, it was good enough that I didn't
           | really care about the rest.
        
       | Aulig wrote:
       | To be fair, I'm trying to turn it into a public product since I
       | think the use-case isn't very niche.
       | 
       | I've recently started building https://responsebrain.com where I
       | can add all my blog articles and automatically let ChatGPT
       | generate responses to questions about my other product
       | https://webtoapp.design
       | 
       | It's a pretty basic setup with a knowledge base you can feed
       | anything you want (your blog articles, help center etc.). That
       | gets put into a vector database and then I pass the related
       | knowledge pieces to GPT along with the question.
       | 
       | I know there's lots of similar products out there, but none of
       | them seem to allow manual editing of your knowledge base and they
       | all seem to be focused on creating chatbots. I've adjusted the
       | prompts to work best for e-mails.
        
       | cool_fire wrote:
       | [dead]
        
       | Waterluvian wrote:
       | I make a lot of tech for myself for learning, none of which being
       | novel, so maybe this doesn't exactly fit.
       | 
       | I made a raycasting engine to learn more about it and I'm in
       | love. It's the most clever thing ever. I can't believe I have a
       | 3D effect without using a single trig function. The math is so
       | simple you could run it on a 286. Raycasting feels like a magical
       | hack. It has no business being so ridiculously simple for what
       | you get!
       | 
       | I'm taking it a step further and integrating a real-time map
       | editor so you can modify a map as you play.
       | 
       | I'm not sure where to go beyond that, but I'm having a ton of
       | fun.
        
         | kiawe_fire wrote:
         | I've been wanting to play around with raycasting as well - I
         | found myself with a sudden interest in so-called boomer
         | shooters and would love to make my own (just for learning and
         | messing around).
         | 
         | Any resources that you particularly liked when learning, or is
         | the stuff I will find when Googling "raycasting engines" all
         | good enough?
        
           | Waterluvian wrote:
           | I used this one: https://lodev.org/cgtutor/raycasting.html
           | (note this is just chapter 1 of 4 related chapters)
           | 
           | It's decent. In some cases it's a bit clumsy when they try to
           | explain mathematics in natural language, but we can't always
           | have pretty Latex-rendered math functions and graphics. =)
        
       | SeanAnderson wrote:
       | Uhh, I'm building a virtual pet ant farm combined with journaling
       | / breathing exercises. Ants get fed when I submit data. It pushes
       | me to keep on top of my mental health each day in the same way
       | getting a dog pushes someone to go for daily walks.
       | 
       | It's kind of weird, but it's fun to make and serves a decent
       | purpose.
        
       | ToJans wrote:
       | I got tired of editing videos, so I wrote a tiny web app that
       | allows me to record uniform ready-to-publish videos for my SaaS
       | in real-time, so creating & publishing a 5-min video only takes
       | me about 15 minutes.
       | 
       | The videos look like this one:
       | https://www.youtube.com/watch?v=1rdeir2-bVA
       | 
       | Creating a video is simple:
       | 
       | - think about the subject (usually during the week)
       | 
       | - 5 min: copy an existing video script and edit it to match the
       | current subject
       | 
       | - 5 min: record the video with OBS capturing the web output
       | 
       | - 5 min: publish it on FB/LI/youtube/...
       | 
       | It uses a simple scripting language with actions that I can
       | trigger by pressing a button. The script has custom commands that
       | allow you to mount HTML/overlay the webcam video/show the webcam
       | video as a thumbnail/play music/... And you can compose commands
       | into other commands.
       | 
       | Here's an example script I used for the video mentioned in the
       | beginning:                   const script:Record<string,string[]>
       | = {             Intro: [                 `/name empty screen with
       | overlays         /remove *         /volume 0`,
       | `/name empty screen without overlays         /remove *
       | /volume 0         /append div.hide-overlay`,
       | `/subs          How to quickly qualify leads         for premium
       | outdoor structures         without a configurator         `,
       | `/intro         ![](vsl-TV-transparent.png)         # Quickly
       | qualify leads         ## for premium outdoor structures
       | ### without a configurator         /caption Tom Janssens / Owner
       | /wait 3s         /remove *         /subs
       | https://virtualsaleslab.com         marketeers of premium outdoor
       | structures         activate & qualify leads         via online 3D
       | configurators         In this video         explain you
       | a simple and easy way          to qualify a lead         without
       | using a configurator`             ],                  Main:
       | [`/remove *         /append img#bg.fullscreen[src="prices.png"]
       | /select #bg         /animate fade-in 3s both         `,
       | ],             Outro: [                 `/site
       | https://**OBFUSCATED**/r/vsl/vsl/en/designer/index/ts-alu`,
       | `/remove *         /caption Tom Janssens / Owner         /wait 5s
       | /cfg https://**OBFUSCATED**/r/vsl/vsl/nl/designer/index/solar-de
       | `,                 `/remove *         /outro         ![](vsl-TV-
       | transparent.png)         # https://virtualsaleslab.com
       | ### tom@virtualsaleslab.com`]         };              export
       | default script;
       | 
       | Update: Obfuscated some urls in the example script, as they are
       | pointing to my test environment ;)
        
       | fzeindl wrote:
       | I had a servo motor attached to a raspberry pi which turned a
       | small gear that connected to a plastic gear m on the analogue
       | temperature control of my gas heater.
       | 
       | Then I had it switch to various temperatures while heating and
       | also had a geofence for my phone implemented that turned on the
       | heating when I entered a 500m radius. Even had a calibration
       | script for the servo motor.
        
       | nsm wrote:
       | I have a hacky combination of Playwright browser automation plus
       | Tesseract OCR that splits a Verizon group plan among members by
       | posting individual totals to Splitwise. Simple at first glance,
       | but there are always small changes due to people traveling
       | overseas or changing devices.
        
       | niccl wrote:
       | Not sure if this counts:
       | 
       | A lighting desk for my hobby of lighting live music. For reasons
       | I like doing live control along with the music (known as
       | busking). Existing things are either limited and can't control
       | moving lights, or don't have the flexibility to busk the way I
       | want. so, having worked a long time ago for a crowd that built
       | what were at the time the best lighting desks in the world, I
       | built my own
       | 
       | It has 36 motorised faders and a bunch of other boards with
       | buttons, that each ave their own AtTiny to run the function, they
       | talk to a BeagleBone Black which runs the main code loop and uses
       | its on board realtime processors to generate DMX, and a raspberry
       | Pi to run the GUI for configuration.
       | 
       | Worked a treat most of the time, and I've done hundreds of shows
       | with it, with crowds of up to 400 people, Sadly, I made a dumb
       | decision on the protocol for the fader and button boards to talk
       | to the BeagleBone and every now and then it causes a kernel panic
       | on the Beaglebone, which means at best you lose control of the
       | lights and at worst it goes dark on stage.
       | 
       | I started a redesign using a more sensible protocol but got hit
       | by a double whammy of Covid killing the live music scene for a
       | couple of years, plus the all the supply chain issues, so it's on
       | hold now.
        
         | loansindi wrote:
         | If you're ever interested in publishing anything about this to
         | aid others in recreating it, I'm sure there'd be ample interest
         | (for better or worse). Professional controllers are hilariously
         | expensive for many hobbyists and the options for DIY control
         | surfaces tend to be limited (especially with motorized faders).
         | 
         | I'd certainly be interested in reading about how it works, even
         | without anything approaching build documentation.
        
           | rafamvc wrote:
           | I'm interested in this as well. Would love to collaborate.
        
         | jesprenj wrote:
         | This is very interesting! I am a bit new to the hobby (I worked
         | in a relatively small venue for 200 people a couple of times).
         | Till now I used only QLC+ and keyboard+mouse control, which
         | gets really boring and hard to use very soon.
         | 
         | Now I'm starting with designing a small controller on a
         | protoboard with an ESP8266 -- 12 faders, 34 buttons, 4
         | encoders, 26 RGB LEDs. By sending raw 802.11 frames I may be
         | able to get this thing to work wirelessly.
         | 
         | I'm interested in your design, would you be willing to uplaod
         | some pictures?
        
         | tleb_ wrote:
         | Cool stuff. I've got the same hobby / part-time job (mostly on
         | GrandMA consoles). I have done two-three experiments on custom
         | software to emit DMX which I used for something like four
         | events. For the physical interface I'm relying on MIDI
         | controllers; I first want a software stack I can trust before
         | going into hardware design.
         | 
         | Would love to discuss the topic some more! I don't often meet
         | people with that same interest in lighting that want to build
         | their own tools.
        
       | tiew9Vii wrote:
       | I'll share a project I've been working on that has greatly
       | improved my meal planning. I created a tool to tell me what and
       | how much to eat from a list of ingredients.
       | 
       | Unlike most existing apps that only track what you eat, my app
       | helps you figure out how much to eat to hit your target macros.
       | Initially, I had created some Python scripts that worked well,
       | but I found them inconvenient to use as I needed to be near a
       | computer, edit the script and manually add ingredients to a
       | dictionary. To make it more user-friendly/faster, I re-wrote it
       | as a web app in Rust for the backend and integrated a free food
       | database.
       | 
       | Now, I can quickly and easily add a list of ingredients I have at
       | home from my phone and hit calculate.
       | 
       | Currently, I'm the only user, and the tool is designed entirely
       | for my needs. However, I think it could be useful for others
       | looking to plan their meals and eat healthier, which is why I
       | host publically. If I were to build it for general public use, I
       | would need to relax the constraints to allow flexibility on how
       | close it can match your targets. I would also want to add more
       | food sources, maybe the USDA database, but since I'm not in the
       | US, a lot of the foods won't be relevant to me. Maybe if I get
       | the time i'll work on it but for now it works perfectly for me.
       | 
       | You can check it out at https://www.macrosolver.com/. Let me know
       | what you think!
        
       | mazzystar wrote:
       | My AirPods Pro often fail to connect properly, appearing
       | connected but music still plays on cellphone.
       | 
       | As an introvert, I don't like to bother people. When I'm in a
       | quiet coffee shop or library, I turn down my phone volume, select
       | a white noise track in Apple Music, and put my ear near the
       | bottom of the phone.
       | 
       | So, I created the simplest app of my life: open the app, and it
       | plays the sound of waves. If your phone is in silent mode, it
       | won't play anything when the connection fails, even if the volume
       | is high.
       | 
       | I posted it on the web, and many people didn't understand its
       | purpose, thinking it was just another white noise app. It
       | received very few downloads. However, it's the only app I made
       | that I use every day.
        
       | easeout wrote:
       | I built a tool for measuring iOS app animation performance that
       | makes dropped frames audible as clicks.
       | 
       | https://github.com/kconner/KMCGeigerCounter
        
       | 2fast4you wrote:
       | Right now I'm working on a heads up display using a pair of AR
       | glasses and a pinephone. At the moment you just get the time and
       | a battery level in the corner of your vision, but the interesting
       | thing is the platform. Every hud app is just a Wayland client,
       | and the apps get positioned absolutely on the screen by the
       | compositor
        
       | RoyalSloth wrote:
       | I built a Markdown like text format for writing technical
       | reports. I was fed up with Word and I wanted a plain text
       | language that supports tables, footnotes, auto validated
       | references to any part of the document, syntax highlighting of
       | code blocks, comments, math equations, table of contents, etc...
       | Unfortunately, existing solutions are all slow or written with
       | some bizarre toolchains that are a pain to set up.
       | 
       | I wrote it from scratch in Go with very few dependencies, so I
       | can compile it to a single binary that should work on all
       | platforms. It outputs .html or .tex which is then compiled to a
       | PDF via Xelatex. Since Latex is pain to deal with, I wanted to
       | generate pdf directly, but life got in a way so... it's not
       | exactly a finished project, but at least I enjoy using it.
        
         | chaxor wrote:
         | You should take a look at the markdown TUI glow (or some of the
         | other projects on charmbracelet) and see if there's anything
         | you can contribute from your work. It's all in Go as well iirc.
        
       | idaweather wrote:
       | I wrote http://idaweather.com to get a better understanding of
       | the local weather where I have a hobby farm.
       | 
       | It's mostly a toy but it has given me great insight into local
       | weather patterns.
        
         | l2silver wrote:
         | Very cool. Was this to learn about websites and sql, or you
         | just wanted to extremely accessibly data analysis?
        
           | idaweather wrote:
           | I created it for the accessible data analytics. It's nice to
           | be able to answer certain questions about the local weather.
        
       | cdnsteve wrote:
       | Malware scanner for anything uploaded to web servers. Was pretty
       | cool at the time learning and identifying things in the wild then
       | creating custom rulesets.
        
         | l2silver wrote:
         | I take it this was a while ago then?
        
       | rymurr wrote:
       | A search engine. It indexes all of my personal notes as well as
       | my entire browsing history. Previously visited pages and notes
       | get blended w/ google results. Makes a big difference when trying
       | to find blogs, docs, notes on things Ive worked on previously or
       | make random connections between notes and current questions. Of
       | course it now needs a bottoms up rewrite in the age of vector dbs
       | and GPT.
        
       | giuliogabrieli wrote:
       | I built myself a phototrap using a Raspberry Pi and a spare
       | webcam. It was a proof of concept to demonstrate a function of a
       | python package I developed for aesthetic analysis of images, that
       | was presented at an international conference. The camera detects
       | movements, and send an image to my via Telegram. I am now using
       | it to take pictures of stray cats moving outside my house.
        
       | jeffwilder wrote:
       | I hated when Google killed iGoogle because I used it daily. So i
       | took my data export and built one for myself. Even had the themes
       | part mostly working. I used it for a few years but a lot of the
       | RSS feeds stopped working as the web seemingly moved on from
       | offering those. Not the most interesting tech but something I
       | built just for me.
        
       | zbtaylor1 wrote:
       | I built a working version of the Christmas lights from Stranger
       | Things (that Joyce used to talk to Will in the upside down) for a
       | friend's Halloween party. It used an arduino board, a string of
       | addressable LEDs, and a little web interface that guests could
       | use to send messages to the lights.
       | 
       | It was so much fun to build and a hit at the party. I wish I had
       | the opportunity to build more things like it :)
       | 
       | https://github.com/zbtaylor/stranger-things-lights
        
       | zzlk wrote:
       | In 2020 I wanted to look up some classic StarCraft 1 maps that I
       | used to play but there wasn't a good database around that I could
       | easily search through. So I made https://scmscx.com to serve that
       | purpose.
        
       | typhonic wrote:
       | We have pet chickens that we close up every night. I built a door
       | to let us open and close the chicken run from a web page. The
       | door slides horizontally and is driven by a cheap electric drill
       | motor with an all thread rod, which acts as a worm gear, and is
       | controlled by a rpi.
        
         | jollyllama wrote:
         | Open source please?
        
       | Traubenfuchs wrote:
       | [dead]
        
       | tim-fan wrote:
       | I made a robot location tracking system specifically for use on
       | the carpet at my office.
       | 
       | The carpet was an arrangement of 4 particular colors tiled in
       | squares, so I manually made a carpet map (a few hours in excel!),
       | wrote a carpet color classifier to run from under-robot camera
       | data, then integrated with a particle filter for location
       | tracking. Write up is here:
       | 
       | https://github.com/tim-fan/carpet_localisation/wiki/Carpet-L...
       | 
       | I wrote it only ever expecting usage in this particular office,
       | but if anyone has a similar carpet and a robot that needs
       | localizing, please reach out!
        
       | motohagiography wrote:
       | Re-implemnted a version of the old unix `who`, `last`, and
       | `finger` command line tools that works across most of the whole
       | infra of the company I work for. Planning to add more APIs for it
       | for different systems to aggregate up into it. (AD, EDRs, Splunk,
       | etc.)
       | 
       | I was a sysadmin for a dialup ISPs with a shell server in the mid
       | 90's and people today have no idea how good we had it back then.
       | An entire userbase accessible from a single shell prompt and a
       | few commands instead of todays gamified web UXs with 3D graphics.
       | Security was terrible back then, but the UX was calm, so I re-
       | built that experience over everything.
        
       | jqpabc123 wrote:
       | Not all that interesting but I recently built a server for 2FA.
       | 
       | It mainly consists of a simple CLI utility that generates TOTP
       | codes using an AES encrypted lookup table of secrets.
       | 
       | I piggybacked access to this off an unrelated web site and it is
       | now readily available from any device if you can provide the
       | decrypt and lookup key and know the URL.
        
         | l2silver wrote:
         | That's pretty nifty. Security first.
        
       | ghoshbishakh wrote:
       | I built https://pinggy.io for myself initially. But after some
       | years I thought others might also find it useful.
       | 
       | It gives me "instant" public URLs to localhost without any
       | downloads/configs. I use to to quickly send files, share and
       | check frontend on my mobile device.
        
       | HellDunkel wrote:
       | Driving simulator in unreal engine. Can do ADAS and now has a
       | real HUD which is warped and quasi raytraced.
        
       | creature_x wrote:
       | I built a Chess training app called
       | SpicyChess(https://spicychess.com) that leverages spaced
       | repetition and strict time constraint to increase your pattern
       | recognition ability for tactical motifs. SpicyChess also allows
       | you to "bookmark" a puzzle for review later on.
       | 
       | It's not the most interesting tech I built but it's the most
       | recent one and checks the features wish-list I've had when using
       | other tactics training apps.
        
       | goldenkey wrote:
       | Built some systems, simulations, universes, automata or whatever
       | you'd like to call them.
       | 
       | https://github.com/churchofthought/HexagonalComplexAutomata
       | 
       | https://github.com/churchofthought/ScatterLife
       | 
       | Was working on a new one based off of Gerard Hooft's beable
       | theory, a superdeterminism of sorts.
       | 
       | But then WebGL 2.0 Beta got replaced by WebGPU. So it doesn't run
       | anymore: https://github.com/churchofthought/Grautamaton
       | 
       | But here is a video of it used for a non-abelian sandpile system,
       | when Google Chrome Beta could run it:
       | 
       | https://photos.app.goo.gl/NE1XU1tcdKS4ySLa9
       | 
       | and the resultant "cooled" equilibrium universe:
       | https://photos.app.goo.gl/dn5jpUW9y3JMrxJi6
        
       | alex-moon wrote:
       | Depends what you mean by "for myself".
       | 
       | For practicality: I wrote a flashcard app to use on the tube to
       | help me learn French. I wanted a couple of things specifically: -
       | it should be super simple to use on a mobile device - it should
       | be trivial to add a new flashcard on the fly - it should
       | prioritise flashcards I've got wrong more than I've got right -
       | it should work offline, pushing back to the server once there's a
       | connection again Code: https://github.com/alex-moon/clin
       | 
       | For fun: I wrote an app that tied a bunch of machine vision ML
       | repos together to generate "explorable dream worlds" in the form
       | of short HD videos. I wanted a simple, fun interface that would
       | let me specify a schema/config for the next video, then hit "go"
       | and watch it generate over the course of however many hours,
       | including previewing what we had so far. Code:
       | https://github.com/alex-moon/vc
        
       | jwmoz wrote:
       | Most of mine was just automation or analysis-download mp3 rips
       | from a streaming site, scrape parse and analyse jobs so I could
       | see the market prices (span off a web app made a few hundred quid
       | but killed it), a trading system and crypto analysis tool, most
       | recently scraping and analysing housing market data.
        
       | jwr wrote:
       | Oh, I think I have a good one. I had an HP-25 calculator as old
       | as myself, and couldn't use it. The original battery pack
       | contained two sealed NiCd cells, which obviously failed many
       | years ago. Most people replaced their NiCd cells with new ones,
       | then with NiMh cells, or even alkaline AA batteries. This was
       | always problematic: newer batteries were slightly larger and
       | never fit well. Also, the power consumption of a calculator with
       | an LED display was significant, so frequent battery replacements
       | were needed. And the original HP charger was risky and could
       | easily destroy the calculator.
       | 
       | So I designed and built a wirelessly (Qi) charged battery pack
       | for it.
       | 
       | https://partsbox.com/blog/wireless-charging-for-a-hp-25-calc...
       | 
       | After a year of use, it's totally over-engineered and has so much
       | energy and so little idle power consumption, that I have to
       | remind myself to charge sometimes, the thing lasts for months.
       | 
       | I'm the only user. There are many people who wanted to buy one,
       | but the step from a hobby design to small-scale production is a
       | big one and it simply doesn't make business sense. Especially
       | with Li-Po batteries being difficult to ship and potentially a
       | hazard. I guess maybe if I found a manufacturer that would be
       | willing to take the design and manufacture it on demand, taking
       | over all of the shipping/support issues...
        
         | prosaic-hacker wrote:
         | My HP-29C could use something like that. I have it on the shelf
         | beside me I use AA batteries and the seem to have both a good
         | shelf life but I do now about life span because I don't use it
         | much but when I do it still works.
        
         | l2silver wrote:
         | The HP-25 was a hand-held programmable scientific/engineering
         | calculator made by Hewlett-Packard between early January 1975
         | and 1978.
         | 
         | Wirelessly charged battery pack. Whhhhhatttttt
        
         | d136o wrote:
         | Love this.
         | 
         | Semi relatedly, the reason I chose my current smart watch is
         | that it can go weeks without charging, I simply don't worry
         | about it. Yes it has a limited number of colors and I can't
         | browse the web on it or w.e. but that's a feature.
         | 
         | Maybe I'll seek out a phone with similar battery use profile...
        
         | green-salt wrote:
         | I love this. I used to have a bunch of things that would
         | benefit from a project like this.
        
         | MichaelZuo wrote:
         | There probably are some contract manufacturers that'll handle
         | all that, but they'll need a decent sized minimum order.
         | 
         | I doubt anyone would front the money to produce 100k of them
         | (to recover the cost of molds) unless you literally give them
         | the design fro free.
         | 
         | Maybe there are smaller companies using 3D printers willing to
         | take on a 1k sized order?
        
       | madjam002 wrote:
       | I was running the lightshow for a medium sized nightclub and
       | ended up building a custom React renderer that would
       | declaratively control all of the lighting fixtures on the dance
       | floor, strobes and smoke machines included. The entire show was
       | controlled with various MIDI controllers (similar to Launchpads)
       | which also had their button grid programmed using React.
       | 
       | It was suddenly very intuitive to build user interfaces on a
       | button grid MIDI controller using standard React design patterns,
       | not to mention the actual light shows being implemented as React
       | components.
        
       | gimili wrote:
       | For 6 years I had a long distance relationship between Peru and
       | Germany.
       | 
       | When you are in different timezones it can actually be nice to
       | fall asleep with the other person "close" to you; so we kept
       | Skype running while one of us went to bed and the other person
       | was working on the PC.
       | 
       | Unfortunately the internet connection would regularly drop,
       | ending the Skype call. Now you did not want to wake the other
       | person by calling them.
       | 
       | So I wrote a small script that would allow you to send a secret
       | word in the chat and invoke the other persons' Skype to call you
       | instead automatically.
       | 
       | Kept our relationship healthy. Now we've been married for nearly
       | 10 years and are happily living together :)
        
         | noman-land wrote:
         | Great story. I love this thread.
        
         | l2silver wrote:
         | That's really sweet. I think I remember a scene from the TV
         | show Normal People where something similar happens.
        
       | chrbr wrote:
       | When I was house-hunting I ended up writing a console app for my
       | wife and I to do a few things:
       | 
       | - Pulled down applicable YNAB savings envelope balances and
       | future income calculations from a Google Sheets spreadsheet
       | (which included stock prices for determining RSU payouts) to know
       | how much cash we'd have for down payments at any time in the next
       | 12 months
       | 
       | - Allowed us to either give a house price and have it output when
       | we could afford it, or give a month and tell us how much we could
       | afford if we bought on that month
       | 
       | - Do budgetary analysis of what the monthly payment would be,
       | given fluctuating mortgage rates and estimated insurance from
       | scraping Zillow/Redfin
       | 
       | - Calculated transit times to my office and my wife's office
       | using Google Maps
       | 
       | - Allowed for swappable "scenarios" for all the above to show
       | what would happen if we wanted to sell our current place first
       | and then buy, buy and then sell, or buy-renovate-sell, so we
       | could evaluate all options. We ended up going the buy-renovate-
       | sell path in reality, and it was a huge stress relief to have
       | hard numbers showing us the money was going to be fine.
       | 
       | - Output several months of cash reserves for each scenario after
       | all transactions were done, so we could know if we would cut too
       | much into savings
       | 
       | - Output a yes/no decision based on all of the above to keep us
       | grounded and help prevent over-reaching for a house we couldn't
       | afford - basically enforcing rules on ourselves
        
         | verelo wrote:
         | Any chance you could share this? I made something similar for
         | an investment decision once and i just discovered the realtor i
         | worked with uses it all the time with his clients. I feel like
         | others might like what you're doing.
         | 
         | I just put pause on a project because i couldn't figure out a
         | revenue model: mappedby.com
        
       | dan-g wrote:
       | Maybe not the interesting, but the most recent-- I was annoyed
       | that Bloomberg's email newsletters didn't have an associated RSS
       | feed, so I wrote a script that uses JMAP to take the most recent
       | emails from them from my inbox and publish to an rss file. A
       | docker container hosts that running on a cron job, and nginx to
       | serve.
       | 
       | I run it on my NAS so my RSS reader can find it as long as I'm on
       | VPN. Now I only need to visit NetNewsWire for all my news!
        
       | tunnuz wrote:
       | I don't know if it's interesting, but here it is.
       | 
       | The local branch of the company I work for has recently included
       | a food allowance of 8 eur/day as a perk. I don't like / have
       | opportunities to eat out most days, so I have built a little
       | utility that fetches via a REST API the offers at the deli /
       | grocery store on the way to my kid's nursery, and solves a
       | knapsack problem to generate the most optimal shopping basket
       | (i.e., closest to but not exceeding 8 euros). I extracted the API
       | from the deli's website, as it seems to be something custom. Of
       | course, I might not care about some of the items that the utility
       | includes in the most optimal basket. To mitigate this, the
       | utility iteratively refines the basket by asking me if there is
       | something I want to remove, and then replaces it with the next
       | most optimal items to fill up the remaining budget.
        
         | Cyphase wrote:
         | What's this deli / grocery store that has a REST API?
        
           | tunnuz wrote:
           | Like a local joint. They have a few stores around the
           | country. It's a small country, the API powers their website
           | so you can see what is on offer in your local branch.
        
       | myzreal2 wrote:
       | Was a long time ago, but I used to play this game called DayZ,
       | which back then was just a mod for ArmA2. I played on a private
       | server hosted by a friend.
       | 
       | Back then the game was very easy to cheat in because even though
       | the map was huge, the client kept all of the objects in memory
       | along with their positions all the time - and it was very
       | important in the game to stay hidden from other players and to
       | hide your stashes of objects for later use. All of these was
       | available in memory for grabs and there was no anticheat.
       | 
       | So there were people who wrote cheats that just grabbed the
       | positions of those hidden stashes and bee-lined through all of
       | them, robbing them.
       | 
       | The server logged the position of static objects (like stashes)
       | on startup and logged the position of every player every few
       | minutes. So I wrote a very simple application that parses that
       | log and puts all of that information (position of stashes and
       | players) on a human-readable map. The admin could then select a
       | player and track his journey. It was very easy to spot people
       | running in straight lines from stash to stash, it was obvious
       | they were cheating and should be banned.
       | 
       | After that I added some heuristics that detected these behaviours
       | automatically and gave hints to admin on who to check. There were
       | more abuses possible in the game later on that I also detected.
       | 
       | For example, there was a "dupe bug" which allowed a player to
       | duplicate a backpack full of useful items and give it to their
       | friend. It involved two players staying in the same spot,
       | dropping the backpack on the ground, trying to open it up by two
       | people at the same time, one of them disconnecting, etc. The
       | backpack was duped due to lag on the database on server side.
       | 
       | I modded the server files to log the information that a backpack
       | was dropped or picked up (along with a list of items inside it in
       | order they were arranged). Then I modified my log parser to look
       | for two players being near each other, dropping and picking up
       | the backpack, disconnecting and reconnecting constantly and
       | detecting two backpacks with exactly the same list of items in
       | the same order they were arranged it (which was very unprobable
       | to happen out of itself) - detecting this gave a hint to the
       | admin to check these people out as possible dupers.
        
       | TrueDuality wrote:
       | It's not personally useful but I wanted to see if I could design
       | and build a navigation controller designed for a satellite with
       | different configurations. I started with a sandbox simulator that
       | emulated all the hardware sensors down to the noise (according to
       | their data sheets) and a microcontroller emulator that ran real
       | code compiled for a microcontroller I chose for the task
       | (STM32G431).
       | 
       | I tested different control schemes and thrust firing plans, added
       | support for different types of thrusters, errors in sensor
       | readings, atmospheric drag depending on altitude, weird anomalies
       | in the earth's magnetic field, simulated bit flip events and
       | hardware lockups (I left the internal watchdog out of the
       | hardware lockups which is probably not realistic).
       | 
       | In an effort to stress test my simulator I ended up writing a
       | genetic algorithm solver for thruster, magneto-torquer, and
       | reaction wheel placement on arbitrary craft bodies with different
       | mission plans and let it solve it.
       | 
       | I ended up designing a physical circuit board matching the
       | simulator, flashing the board with the same code that was running
       | in the simulator and it worked! I roughly made an approximate
       | cube sat (10cm^3) (had a mechanical engineer friend design me a
       | frame and manufacture it for me) with some small cold gas
       | thrusters out of pressurized CO2 cartridges, controlled by
       | solenoids, and placed by my genetic algorithm.
       | 
       | I dropped it off a cliff that was ~600ft high (best I could do
       | for a "zero gravity" environment that was away from people). It
       | was able to completely arrest its angular rotation before
       | slamming into the ground which is better than I was expecting.
        
         | science400 wrote:
         | That is awesome! I've had an inkling of an idea similar to that
         | for years, but definitely not so well thought through.
         | 
         | Is there any place you have more info on this? I'm especially
         | interested in the genetic algorithm.
        
       | kilon wrote:
       | Built a live coding library for python that allows me to reload
       | code I edited while it was executing. It has repl and debugger
       | support and it can be run even for embedded python. It's pretty
       | granular so it can reload modules or even individual objects.
       | Unlike the existing module reload python function it can change
       | object references to the updated code and delete old objects and
       | their references from memory. This way in the next call only the
       | latest code is executed. I built something similar for C code
       | too.
        
         | schemescape wrote:
         | I was just looking for something like this. Have you shared
         | either of these publicly?
        
           | kilon wrote:
           | Here you go https://pypi.org/project/pylivecoding/
        
       | blensor wrote:
       | Does it count if you've built something for yourself that is now
       | becoming an actual business?
       | 
       | If yes, then I started building a hand tracking based VR workout
       | app back in 2019 using GodotEngine to get myself a bit of extra
       | motivation to exercise at home.
       | 
       | In the meantime it's become an official app but I am still using
       | it for myself very intensively ( unfortunately no longer using
       | Godot )
       | 
       | https://app.xrworkout.io
        
       | blakewatson wrote:
       | I have a bunch of these. They are my favorite things to make.
       | I've been making things like this for a long time but I only
       | recently started to appreciate them after discovering this
       | article. https://www.robinsloan.com/notes/home-cooked-app/
       | 
       | - I have a disability and require daily personal care so I made a
       | system for recruiting and hiring caregivers.
       | (https://blakewatson.com/journal/a-home-cooked-app-for-hiring...)
       | 
       | - I need to track those caregivers' hours so I can make sure
       | timesheets are accurate, and I wanted to do it with minimal
       | effort. So I created a plain text syntax readable by a web app I
       | created that takes that syntax and outputs exactly what should go
       | on the timesheets.
       | 
       | - Sometimes the government agency that runs the program doesn't
       | send me enough timesheets, so I created a "forgery" of their
       | timesheets in CSS where all of the values are interchangeable via
       | JavaScript. Now I can print any timesheet for any one of my
       | caregivers for any time period on demand.
       | 
       | - I made my own web-based bookmarking tool to replace my Pinboard
       | account. It automatically sends every bookmark to the Wayback
       | Machine. (I wrote about that one and a couple of others
       | https://blakewatson.com/journal/the-joys-of-home-cooked-apps...)
       | 
       | - Sadly I'm no longer able to use this one because of decreasing
       | strength, but I once created a custom mobile-based keyboard for
       | typing on my Mac. https://www.youtube.com/watch?v=Pre6EQGIuKY
       | 
       | - I wanted to be able to share my plain text notes so I made a
       | CLI for selectively publishing notes to the web.
       | 
       | Really most everything I make outside of my day job is for
       | me/family initially, but a lot of it I end up publishing. For
       | example my main side project is A Fine Start
       | (https://afinestart.me/). It actually started as an assistive
       | technology just for me--typing is difficult so I wanted a new tab
       | page with just clickable text links. I used it for a while myself
       | before eventually turning it into a browser extension and service
       | for other people.
        
         | davchana wrote:
         | Would love to see the timesheet and its syntax and stuff:)
        
         | kla-s wrote:
         | Hey, godspeed to you and your health issues.
         | 
         | Concerning the video/custom mobile-based keyboard: If
         | interested you could look at how kde-connect implements the
         | remote pointer control you mention at the end of the video.
         | kde-connect is also available for macOS, though not fully
         | supported (per https://github.com/KDE/kdeconnect-kde) and the
         | last macOS builds seem to fail (https://binary-
         | factory.kde.org/view/MacOS/job/kdeconnect-kde...). But i can
         | attest that it works great on Ubuntu via GSConnect with
         | Android.
        
       | kaybi wrote:
       | I built a sprinkler system that has 14 zones. Using raspberry pi
       | and relays. It has a web interface and can run on schedule or
       | manually. Worked out to be better than a kickstarter I backed,
       | lono, that turned out to be dud and the company went under.
       | 
       | I plan to open source it. have to clean up the code. Built with
       | python flask, GPIO and a small custom PCB that interfaces pi with
       | the off the shelf relay boards.
       | 
       | Todo - flutter app - 3D printable enclosure to package the entire
       | set. - basic logo etc.
        
       | zitterbewegung wrote:
       | I have langchain hooked up to a SMS number with some of the
       | tools. I want to extend it to voice and pictures but, I have used
       | it also to replace googling or Wikipedia for a bit.
        
       | recursivedoubts wrote:
       | https://hyperscript.org
       | 
       | I wanted to have a scripting language that was inspired by xTalk
       | for some light front end work alongside htmx. Didn't expect it to
       | go anywhere.
        
         | l2silver wrote:
         | Well that's what you get for building something no one
         | wanted...
        
           | recursivedoubts wrote:
           | story of my life
        
       | texuf wrote:
       | I built a website that you can bring up in multiple browser
       | windows, or on multiple adjacent monitors attached to independent
       | computers. Each browser displays a unique QR code. A user can
       | navigate to a second webpage, activate their camera, and point
       | their camera at the QR codes. Each QR code will switch to a
       | unique AR code, then the user can project a single continuous
       | image across all the monitors. It mostly works but I'm missing
       | some 3d math to make the image line up perfect when the angles
       | are weird.
        
       | tuxie_ wrote:
       | After pushing to a branch, gitlab sends you back a URL where you
       | can create the merge request (MR). This broke my flow because I
       | do all my development using command line tools.
       | 
       | So I created this tool that opens an MR off the branch I'm on. It
       | opens up my favorite editor and asks me for a title and a
       | description in the same way that git does for commits. It splits
       | it in first line for title and the rest for the body.
       | 
       | It's very simple but I'm very happy with it. Now I extended it to
       | list the open MRs, show the tickets in the current sprint, etc...
       | 
       | Nobody else in my company uses it tbh, but I don't care because
       | it solves _my_ problem and I love it.
        
         | jacknews wrote:
         | +1 for Merge Request
        
       | shib71 wrote:
       | I wanted a Markdown notes app that I could access over the
       | internet, and stored files in a files-on-s3 structure that would
       | makes sense if I accessed it directly and would be stupidly
       | simple to backup/restore.
       | 
       | Ended up with an Amplify app that had basic login, file upload
       | with image thumnbnails, indexing of frontmatter, some query
       | macros to list pages matching specific criteria, autocomplete for
       | frontmatter and macros, and ability to make specific pages public
       | if I want to. Apart from login, it only uses direct S3 calls, so
       | I'm effectively only paying for S3 storage costs.
        
       | Marcel-Jan wrote:
       | I created a cycling statistics dashboard on a Raspberry Pi with a
       | Pimoroni Inky Impressions e-ink display.
       | 
       | It's on my desk. And every hour it refreshes my cycling stats,
       | reminding me that a) Wow! I build a cool thing that actually
       | works and b) I did ride a lot on my racing bike, didn't I? / It's
       | about time to go outside and ride some more.
       | https://github.com/Marcel-Jan/StravaInky
       | 
       | I've written a couple of blogposts on how I build it:
       | https://marcel-jan.eu/datablog/2022/12/12/strava-dashboard-o...
        
       | unnouinceput wrote:
       | It started as a necessity project and evolved over time. You see
       | my daughter started to wanted to have her independence around 5th
       | grade (11 years old) and didn't liked me or her mother to go to
       | school or get her home from school. So she needed a key to enter
       | the apartment. Problem was that she lacked the necessary strength
       | to actually unlock the door - door lock had a certain key
       | position and until you hit that position it required quite a
       | strength to do that. So every day she came from school she was
       | ringing at the door. Whoever (me most of the time) was at home,
       | had to go to the door and open it for her.
       | 
       | So that's how I started this project. Get the door to be
       | unlocked. Bought a new lock, with electromagnetic locker in it,
       | hooked up a Raspberry Pi to command a switch for 0.5 seconds and
       | then wrote a server application for RPi that does the command.
       | Wrote another Android app, that connects to RPi, sends the
       | user/pwd via WiFi, the server verifies if all is OK and then
       | unlocks the door.
       | 
       | Then started expand the tech. Get new users to be added by an
       | Admin user (so roles were implemented). Used as DB SQLite in RPi.
       | Wrote my own protocol on top of crypto libraries so communication
       | is secured with a 4096 RSA key over WiFi. Then one day a little
       | accident happened - my daughter had problems with her stomach and
       | the door could not open fast enough for her to go to toilet, so a
       | little soiled pants came out of that event :). That prompted me
       | to start expanding even more and invest in a little LoRa PCB
       | attached to RPi so the communication now can happen from distance
       | instead of just few meters from the door.
       | 
       | Then I wanted to expand the usefulness of RPi. So when we go to
       | vacation a little pump is pumping a predefined liters of water on
       | our flower pots. And to make sure those do not actually get too
       | little or too much I hooked also a number of webcams on RPi to
       | watch them. And since I was at this step and I wanted to flex my
       | muscle in computer vision so another camera is on our front door
       | and automatically will try to recognize people going through its
       | field of vision. This last step is still refined. So this is
       | where I am with this project. Still in development, pretty sure
       | I'll have more ideas in the future I'll attach to that RPi.
        
         | bombcar wrote:
         | I absolutely love that the problem was the door lock, and the
         | first thing you did was replace the door lock, but still
         | continued to tech it up and beyond.
         | 
         | Next is an automatic door opener so you can detect her walking
         | up and actually physically open the door, too.
        
       | cookiengineer wrote:
       | Two years ago I decided to built my own web browser, with the
       | underlying idea to use the internet more efficiently (and to
       | force cache everything).
       | 
       | Took a while to find the architecture, but it's still an
       | unfinished ambitious project. You can probably spend forever
       | working on HTML and CSS fixes alone...
       | 
       | [1] https://github.com/tholian-network/stealth
        
       | database64128 wrote:
       | I wrote a silly Telegram bot for my group chats:
       | https://github.com/database64128/CubicBot
       | 
       | It's mostly just some useless commands that say stupid things,
       | and stats collection for earning "achievements" and displaying
       | leaderboards.
       | 
       | The bot was written in C# and seriously over-engineered to be
       | completely modular. Every command and stats collector can be
       | turned on or off in config. A running instance with all features
       | turned on is available as https://t.me/Cubic0Bot.
        
       | kubota wrote:
       | I have a tractor. Mice like to chew electrical wiring because the
       | wire casings are made of soybeans, so the tractor dealer
       | recommended setting several traps by my tractor. I couldn't stand
       | killing a mouse so I used "humane" catch and release traps, the
       | problem was a mouse died because I forgot to check the trap. So I
       | put a reed switch and an esp-32 on a catch and release mouse trap
       | that when tripped, sent an mqtt message to aws iot, that
       | triggered a lambda function that sent me an email notifying me I
       | had a mouse to let out of its trap.
        
         | Jeff_Brown wrote:
         | I once gave my wife soy-based nailpolish remover, because it
         | smelled merely horrible rather than like instant brain damage.
         | I wonder whether, while they're at it, it wouldn't be worth it
         | for the manufacturers of soy-based wire to coat it with
         | something like that.
        
       | okaleniuk wrote:
       | My father was an amateur historian. He used to work with a lot of
       | pictures often of poor quality. I guess his worst was a photo of
       | a road sign printed in a book sometime in the 70s, and then
       | recently not even scanned but taken from a book page with a
       | phone. So I made a tool for him that allows to undo unwanted
       | bending and also helps with the dirt:
       | https://github.com/akalenuk/unpager
        
       | vintermann wrote:
       | Not something terribly impressive or useful, but I wrote an
       | image-scrambling (anything-scrambling, really) program which is
       | quite unique.
       | 
       | I was fascinated by the story of David A. Scott, who was obsessed
       | with "bijective compression". It means compression programs where
       | all files are valid archives, and moreover no two archives
       | decompress to the same file. So no magic number file signatures,
       | no checksums, no redundancy whatsoever. Scott felt that
       | compression algorithms that didn't have this property were
       | _wasteful_ , and of course, in a narrow technical sense he was
       | right. There are of course a number of practical reasons why we
       | tolerate a little redundancy.
       | 
       | But he wouldn't let practicality stop him. He made bijective
       | versions of many common compression algorithms. He made a
       | bijective Huffman encoder (one where you'll never get "unexpected
       | end of file"), a bijective arithmetic encoder, and even a
       | bijective LZ variant. But most impressive of all, he made a
       | bijective BWT version.
       | 
       | The Burrows-Wheeler transform is fascinating on its own, and it's
       | _almost_ bijective. It sorts letters in a text by their context,
       | so that letters with similar context appear close to each other.
       | In a strange vaguely DFT-like way, it switches long-distance and
       | short-distance patterns around. The result is, in a typical text,
       | long runs of the same letter, which can be easily compressed.
       | 
       | But the traditional BWT technically works only up to rotation.
       | You get a rotation of the original string back when reversing it,
       | but you don't know if it's the right rotation. You need to store
       | a tiny piece of extra information, either the index of the
       | rotation, or a single sentinel character known to be the last (or
       | first) letter in the original string. Getting rid of that last
       | piece of information seemed impossible, but Scott figured out a
       | way to do it!
       | 
       | The result is that we have a truly bijective version of the BWT
       | transform. Now I'm no mathematician, but surely that is
       | beautiful? It's a true permutation now, that still does the weird
       | low-order higher-order swapping thing, that you could surely
       | analyse with many algebraic approaches that wouldn't work for the
       | original.
       | 
       | Anyway, what I did was implement this transformation on the lines
       | or pixels of an image. So you get an effect similar to the "pixel
       | sort" effect that glitch artists were into for a while, but it's
       | reversible. I guess it's not really useful for anything other
       | than making glitch art, but it's at least a program that does
       | something pretty unique, and which only a very specific kind of
       | weirdo would have the skills and inclination to write (namely
       | me).
        
         | jacknews wrote:
         | I agree the BWT is genius.
         | 
         | "Glitch art"
         | 
         | It sounds like the real art is the algorithm and code. Would
         | love to see it.
        
           | vintermann wrote:
           | A very basic implementation of the algorithm I have here:
           | 
           | https://gist.github.com/HaraldKorneliussen/2bf20ca4f4f28c1aa.
           | ..
           | 
           | I implemented a slightly more efficient version of it that
           | uses a prefix doubling strategy to do the string sorting
           | step, as well as some glue code to make it work on lines and
           | pixels, but that code is too messy to share for now.
        
       | fstrazzante wrote:
       | I built https://maphoto.app/ . Is a simple tool that allows you
       | to add a mini-map on your picture. I used python and expressjs.
        
         | stardenburden wrote:
         | Love this, but is it just me or can it not read the location
         | data embedded in images?
        
       | benlamm wrote:
       | Turn a YouTube channel into a personal podcast feed.
       | https://gist.github.com/thebenlamm/9d862a3e6c9f481ab9d8a8afe...
       | 
       | More detailed instructions in the script but the general idea is:
       | 1. When a channel publishes a new video IFTT puts a text file
       | with youtube link in Dropbox 2. Script downloads audio from
       | youtube 3. Justcast.com free tier to turn a Dropbox folder into a
       | podcast feed
        
         | hyferg wrote:
         | Hey, I'm building something related and would love to get your
         | feedback on it. I can reply with my contact details if you're
         | interested.
        
       | t43562 wrote:
       | It's sad to have to look so far back but:
       | 
       | I installed linux for the first time in 1992 on my parents DOS
       | machine. I had another partition for it. It was Slackware with
       | kernel 1.2.13 I think. All off 5.25 inch floppy disks.
       | 
       | Setup wasn't so simple then and I was a UNIX Noob so I managed to
       | set the swap partition to the DOS hard drive and overwrote the
       | first 4MB or so.
       | 
       | The FAT filesystem's root directory and many others were blanked
       | but not all files were lost. Norton tools and CHKDSK managed to
       | get a lot of files back but many of the wordperfect documents
       | were in the form "FILE0001.CHK" and no way to know what was in
       | each one other than very laboriously opening all of them and
       | trying to work it out from the contents.
       | 
       | Very fortunately I had an old backup but the problem was to know,
       | out of all the recovered files, which were covered by the backup
       | and which were new since the backup. If I could ignore the files
       | that I could restore from the backup then I only had to load and
       | rename the ones that were new.
       | 
       | CHKDSK couldn't recover the file size since that was in the
       | destroyed directories. So you couldn't guess if some backed up
       | file matched a restored one just by looking at size.
       | 
       | In the end I wrote some perl+shell to get the md5 of the first
       | kilobyte or two of all the backup files and all the recovered
       | files. I used this to match files and get a list of all the
       | recovered files with no corresponding match in the backup. These
       | had to be new files and since there were far less of these I
       | could manually load up each one into Wordperfect, see what it was
       | and give it a sensible name.
       | 
       | This program (don't have it anymore) saved my bacon and served
       | no-one else but me. It took me from despair to triumph and that's
       | why I like it so much.
        
       | aj7 wrote:
       | The king.
       | 
       | http://sam.zeloof.xyz/second-ic/
        
       | dzink wrote:
       | - I built DreamList.com originally because I was working on
       | another startup and as a founder I didn't want my Baby Registry
       | showing up on search engines or my address showing up to random
       | people who looked up my name. All the other services were using
       | customer names as free SEO and every list was indexed by default
       | with your address available. I built it safe and private for my
       | own family and over time it went from side hustle to main hustle,
       | especially as demand for privacy-respecting social and family
       | software keeps going up.
       | 
       | - A family member in an elected position needed to write a
       | schedule for 22 healthcare professionals that take shifts every
       | month and I wrote a tool for them that allows them to make sure
       | everyone gets sufficient time off and nobody takes too much of
       | the weekend load. They were elected again and to a higher
       | leadership role partly because of the scheduling tool.
       | 
       | - Regularly writing new stock trading, modeling, and timing
       | software to improve my earnings from trading.
       | 
       | - Wrote my own tool to scrape bios, cluster and find investors in
       | different niche areas and need to rewrite it for recruiting
       | people with niche expertise.
       | 
       | - Created a social network for collaboration between nerds like
       | me in different disciplines at top universities while I was at
       | grad school and shut it down after it got flooded with recruiter
       | spammers. Always thinking of ways to relaunch that.
        
       | patcon wrote:
       | I co-organized a weekly hacknight meetup of 40-70 people.
       | 
       | I wrote a script to make Anki spaced repetition flash card decks
       | with avatars and names pulled from the meetup API. I would use
       | GitHub Actions to run the script a few hours before the event,
       | then drop the importable deck into a Google Drive folder. I'd
       | review the deck before the meetup, and then at the event, I'd not
       | stress about names. I'd pretend to introduce myself to new people
       | like I didn't already know their names, but I'd be able to make
       | them feel very welcome when I remembered, or introduced them to
       | others.
       | 
       | Why do this arguably creepy thing? Because I am really forgetful
       | with names, and when I forget, I become reluctant to approach
       | people, which comes across as less friendly than I prefer to be.
       | But I believe using people's names is REALLY important to
       | community organizing. When I know names, I am really great at
       | using them a lot, helping others learn them, generously making
       | introductions, and helping people to feel a sense of belonging.
       | 
       | It was the best community organizer hack I ever came up with,
       | until meetup locked down their API and broke it...!
       | 
       | https://github.com/CivicTechTO/anki-meetup-memorizer
        
         | Lio wrote:
         | That sounds like it would have indeed been a nice way to run a
         | group. I like that you pretended not to know their names when
         | first introduced.
         | 
         | I remember going to an arduino hack group once. When I went to
         | introduce myself to the organiser he cut me off mid-sentence
         | with a flat "I know who you are Lio" and a unblinking stare.
         | 
         | Now, in tech circle we often have people that are a bit "rough"
         | when it comes to human interaction so I make allowances.
         | 
         | I think what he meant was I recognise you from Twitter or
         | something. As far as I know we get along fine and I've had
         | absolutely no issues with him before or after.
         | 
         | All the same, it freaked me the fuck out at the time. :D
        
           | mkeeter wrote:
           | The college president at my alma mater memorized the names
           | and faces of every incoming freshman in my class (~200
           | people).
           | 
           | Unfortunately, I didn't know who _she_ was, so my first
           | encounter was having a seemingly random stranger stop me on
           | the sidewalk and ominously declare:
           | 
           | "You didn't have a beard in your picture, _Matthew_. "
        
         | lorenzk wrote:
         | Anki (and Mochi) are great for names of neighbours, other kids'
         | parents at daycare, and people you don't meet often. My wife
         | just remembers any name she's heeard once. I can cheat.
        
         | l2silver wrote:
         | Yes Anki. I've also written my own code to convert markdown and
         | yaml files into anki cards. So amazing.
        
         | samstave wrote:
         | >> _When I know names, I am really great at using them a lot_
         | 
         | I once broke up with a girlfriend, PatCon, because, PatCon, she
         | would use my name PatCon multiple times in a sentence, PatCon
         | and after a while it was annoying enough to where I had to
         | break up with her, PatCon.
        
       | steedsofwar wrote:
       | Not as exciting as some here, but helped me at times where i
       | couldn't be at my desk however still be 'available'.
       | 
       | I developed a 'transport' for Mulesoft, that would allow XMPP
       | based communication, and relay that to my phone either by sms or
       | email, and vice versa. At the time the communication were Jabber
       | based and almost everything was through that, so this worked out
       | quite nicely.
        
       | nkantar wrote:
       | I've got a few that I think are interesting enough to share.
       | 
       | When I was getting divorced a few years ago, I had to wait out
       | the mandatory six month waiting period (aka "cooling off"
       | period). Since I had the actual date the divorce would be
       | finalized, I wrote a script and scheduled it to send me a
       | countdown every morning at 4am. For a few months upon waking up I
       | was greeted by an SMS with the ever decreasing number. I called
       | it my freedom counter and loved watching people I told about it
       | go from curious to mildly uncomfortable to amused.
       | 
       | Years later I repurposed the idea and made a wedding day
       | countdown. This one started counting up after the big day, for
       | continuous joy.
       | 
       | At some point I started building a ridiculously tiny SaaS service
       | around it (and even registered domains undorthe.wedding and
       | dothe.wedding), but never got around to finishing and launching
       | it.
       | 
       | ---
       | 
       | I've been tracking my weight daily since 2019. I used to just add
       | an entry to an Airtable base, but the free plan has a per-base
       | entry limit I've long surpassed.
       | 
       | I didn't want to pay $10/mo just for that one thing, so I built a
       | solution which let me send an SMS with the daily weight to a
       | Twilio number, which then sent a request to an API endpoint I
       | built, which then stored it in a TinyDB file on the server, which
       | I then backed up to Backblaze using restic. The code behind the
       | endpoint also sent me a graph of the last two weeks worth of
       | entries, and the date I last weight that much or less.
       | 
       | I then decided to decommission the server hosting the endpoint,
       | and in order to avoid having to pay for something else rebuilt it
       | as a combination of Airtable and GH Actions. I have a base in
       | which I enter the daily weight, then a GH Action fires a few
       | hours later, and it gets all the entries in the base, reads a
       | TinyDB file from a separate repo, updates relevant records,
       | updates the TinyDB file, and deletes old entries from the
       | Airtable base. This is now costing me $0, which is fun in its own
       | right.
       | 
       | ---
       | 
       | I started working from home during the pandemic, and my living
       | room worked quite well as a personal office while I was single,
       | living with just a cat. As my wife and I moved in together, there
       | have been some challenges with working from a shared space, and
       | we particularly found a need to communicate when I'm on a video
       | call.
       | 
       | I used the Circuit Playground Express I got at PyCon 2019 as an
       | on-air light. It was plugged into my computer, which exposed it
       | as a USB drive, and it ran an infinite loop that set the LEDs to
       | red if I was on a call and green if I wasn't. I wrote a script
       | that would detect the presence of a Zoom call process to do that
       | automatically, and then another to manually toggle the flag using
       | xbar.
       | 
       | ---
       | 
       | EDIT: I thought of one I actually wrote for work! We're a small
       | team and were discussing making our on-call rotation official
       | some time ago. Since we were starting from scratch, I suggested
       | we try daily rotations (instead of the customary weekly ones),
       | largely based on some things I'd read right here on HN. We don't
       | yet use any tooling beyond a manually managed Google Calendar, so
       | I wrote a script to generate a fair schedule (e.g., no one gets
       | stuck with all Fridays) and output importable files for both the
       | shared calendar and people's individual ones. We've used it for a
       | few periods of time, and it seems to be good enough for our
       | needs.
        
       | yetihehe wrote:
       | RegExTractor - simple java program to search for regex in text,
       | then replaces each string with another one and appends all those
       | results in other text window. VERY useful when you need to
       | extract something from a text dump and present it in another
       | format, like extracting all events from a log and writing them in
       | one line between quotes and comma separated, ready to dump into
       | some db query.
        
       | MrGilbert wrote:
       | I built my own lay man's digital signage solution.
       | 
       | I wanted to have a display in my living room, which shows the
       | temperature of all rooms in my apartment. So I used an Android
       | Picture Frame. This is connected via WIFI, and offers FTP access.
       | 
       | A Docker service on my local in-house server grabs a random
       | background image from a folder. Depending if we have day or night
       | time, the picture will show satellite images from earth's day or
       | night view.
       | 
       | It then connects to my home assistant instance, and pulls all the
       | necessary values. A SVG template is then filled with these
       | values, and they are merged with the background image. The
       | service then uploads the image to the picture frame, and it will
       | refresh the image after some minutes.
       | 
       | The whole thing uses templates and config files, so it's easy to
       | extend.
       | 
       | Unfortunately, the picture frame broke down since, and I haven't
       | had the chance to buy another one yet.
        
         | daniel-s wrote:
         | I this similar to some of the smart mirror projects that exist?
        
           | MrGilbert wrote:
           | Somehow, yes. Except for the mirror part. :)
           | 
           | In theory, the tool is extensible. The first version used an
           | e-Ink display, which of course requires a different way of
           | communicating. So the docker service can upload either to a
           | FTP, or can communicate via REST at the moment. I really only
           | implemented what I needed at that time.
        
       | 08uhr wrote:
       | I've made a tool to create 3D tours based on Threejs Editor and
       | it has been really useful to make presentations more compelling.
       | 
       | To create the presentation, you have to import 3D models
       | (preferably fbx or glb) and place them in the 3D environment as
       | desired. To create a "slide" you just have to click on the "new"
       | button under the "slide" tab and it will capture the camera pose.
       | 
       | After creating some slides you can press the "start" on the menu
       | to preview the presentation. Once everything is loaded, you can
       | scroll through the preview page, and the camera will be animated
       | sequentially between the captured poses.
       | 
       | That's the basic usage, but there are also other features
       | available.
       | 
       | The editor page:
       | https://arthurmiy.gitlab.io/editor_slide_3d/editor/index.htm...
       | 
       | Presentation made using the tool: https://arthurmiy.gitlab.io/se-
       | webview/jaguariuna.html
        
       | collinvandyck76 wrote:
       | I built a terminal-based gpt client for myself. It uses a sqlite
       | db to store conversations and uses bubbletea for terminal
       | drawing. I use it frequently while I'm writing code. It uses
       | another library to render markdown so that code snippets gpt
       | produces look pretty. It's not perfect by any stretch but it
       | feels great to use it because I made it.
       | https://github.com/collinvandyck/gpterm/
        
       | plank wrote:
       | I built a 'prezi file fixer'. In the old days, prezi used pez
       | files which could get 'corrupted'. Not really corrupted, but when
       | someone scaled some objects too much down, the prezi editor could
       | no longer solve the issue, and the prezi file (really: a
       | presentation) could be considered lost.
       | 
       | Solved it locally at first: unzipped the pez file, searched for
       | the smallest objects, and scaled them up. It might look a bit
       | funny (that ball which had been made much smaller would have been
       | scaled up), but people could again fix it using the prezi editor.
       | 
       | Used this manually to 'fix' other peoples presentations, in which
       | they send me their pez file, I would 'solve' it and send it back
       | (usually: they would invite me to be a co-author, I would make a
       | copy, fix that and make them editor to that copy). Used to do
       | this quite a lot on the prezi forum.
       | 
       | In the end automated it completely: made a service in which one
       | could upload a pez file, my NAS would decompress it, fix is,
       | compress it again, and mail a link to the corrected pez file.
       | 
       | Software is defunct as problems have disappeared (and changes to
       | prezi way made it no longer work).
       | 
       | Incidentally not my first prezi product: I guess that was the
       | Android app that made it possible to view a prezi on an Android
       | phone or tablet, ways before Prezi themselves made the Android
       | app (I think they already had the iOs app, not sure). [That app
       | ran in more then 50 countries, but that is another tale;-0]
        
       | verdverm wrote:
       | declarative code generation https://github.com/hofstadter-io/hof
       | because I was tired of having to change 10+ files in a full stack
       | app to add a field to one type, so I brought ideas from devops to
       | application development
       | 
       | it's now generalized and for everyone
        
       | dvirsky wrote:
       | * When RSS was a thing but in my country a lot of news/content
       | websites hadn't adopted yet, I wrote a service to quickly define
       | scrapers that turn those sites into RSS feeds.
       | 
       | * In one of my former workplaces I wrote (alongside another
       | person) a gamified shared playlist app that allowed everyone to
       | participate in being a DJ for our company hackathon (people
       | getting more upvotes getting more playtime, songs getting many
       | downvoted being skipped in the middle, etc). That was a lot of
       | fun and surprisingly a very emotionally engaging experience for
       | everyone.
        
       | xnacly wrote:
       | Currently i think my markdown to html converter, which i wrote
       | without any dependencies and completely from scratch (except for
       | a websocket lib). It supports watching for file changes and
       | creating a live preview in the browser.
       | 
       | Source: https://github.com/xNaCly/fleck
        
       | kirubakaran wrote:
       | I built https://crushentropy.com/ one weekend and I've been using
       | it to plan my day ever since
        
       | mojoe wrote:
       | A browser extension to help me rate science fiction stories for
       | compellingsciencefiction.com. It triggers an AWS Lambda-backed
       | API to store my ratings and some story metadata, makes things way
       | less tedious!
        
       | kashnote wrote:
       | Idk if this counts but I built myself a Rubik's cube timer and
       | eventually made it public:
       | 
       | https://cubedesk.io
       | 
       | It was a weekend project which I used for several weeks before
       | sharing it on Reddit. The feedback was so good I decided to make
       | it public.
        
       | [deleted]
        
       | mourner wrote:
       | Not too fancy, but I built a math model & interactive
       | visualization of my parking spot to understand how to efficiently
       | park there without bumping into anything:
       | https://observablehq.com/@mourner/kinematics-of-reverse-angl...
       | 
       | Discussed on HN here:
       | https://news.ycombinator.com/item?id=21891919
        
       | prbs23 wrote:
       | I rewrote the UI for an off the shelf WiFi digital photo frame so
       | that it shows the latest raw images sent back from the
       | Perseverance Mars rover. https://prbs23.com/blog/posts/picture-
       | frame-from-mars/
       | 
       | The picture frame secretly ran Android under the hood. Which
       | meant I could replace the app which showed pictures pulled from
       | the manufacturers server, with one which pulls photos from the
       | NASA website. Fortunately they left ADB enabled with root
       | permissions, so it was trivial to replace their startup app with
       | my own. All the source code is public here:
       | https://gitlab.com/prbs23/mars-photo-stream
        
       | higgins wrote:
       | I partially encrypt/decrypt a file based on the presence of
       | special HEREDOCs (ie <<PRIVATE) so I can keep a public daily
       | journal and keep some notes private.
       | 
       | The tool is still a WIP as it isn't portable between machines --
       | https://github.com/higgins/privatize
       | 
       | more on it here: https://encapsulate.me/writing/Privatize.html
        
       | purpleblue wrote:
       | I wrote a program in C++ to download massive amounts of stock
       | data from a data provider. The binary itself is 2 MB, memory use
       | rises to over 16 GB and it frees everything at the end, so there
       | are no memory leaks (I'm particularly proud of that). Over the
       | years I've found better and better ways of making it run faster
       | because a daily run will take over 6 hours of downloading and
       | writing to my database.
       | 
       | I also wrote a multi-threaded backtester in C++ because the
       | program I was using was only single-threaded. I stopped using
       | that several years ago but the act of writing it was a lot of
       | fun.
        
         | gaws wrote:
         | Is the code public?
        
         | l2silver wrote:
         | I should really give c++ a go...
        
           | bschwindHN wrote:
           | If you're going for multi-threaded and "frees all memory at
           | the end", it's probably going to be way easier to write it in
           | Rust, and you should end up with essentially the same result.
        
       | jak6jak wrote:
       | My friends and I used to watch movies almost every night online
       | during COVID and to decide on the movie I created a polling
       | website that pulls information from TMDB. It was really useful
       | because we could see the movie description, genre and length
       | right there while voting instead of having to google for every
       | movie title. I planned on adding new voting methods as well
       | instead of majority vote like ranked voting, a movie randomizer
       | that the chance a movie wins is based on how many votes it has
       | and others. Unfortunately, we no longer watch that many movies
       | together so the incentive to add those features decreased.
        
       | bloodyplonker22 wrote:
       | I created an AI foot generator. Whenever I had someone take a
       | photo of me, they would often cut off my foot. My program would
       | generate an artificial foot for the photo. To be honest, it had
       | some hilariously bad results sometimes.
        
       | dgently7 wrote:
       | there are two things I've built that maybe aren't groundbreaking
       | but I think fit the brief. Might be helpful context that I'm not
       | a professional programmer so these are both hobby projects.
       | 
       | 1. I have too many aunts/uncles/cousins but we have a long (30
       | year at least) tradition of doing a family gift exchange over the
       | holidays. After one too many years of forgetting who I had or
       | having my mom get asked by my aunt what my cousin should get me I
       | build a website for my family that allows them to manage a gift
       | list. Started as a super basic Django app and that was about 7
       | years ago and every year I add one or two features. Now it's got
       | all kinds things like notifications and will even help you track
       | your incoming packages and know if they are gift wrapped or not.
       | 
       | Thing 2, was a wedding evite/website for My wedding. At the time
       | I looked around and hated how impersonal all the evite options
       | were, so I created a website with a cms that would give every
       | user a customized, personalized experience. Invited to the
       | rehearsal dinner? you see that dates and details. Are you one of
       | my friends? You get the set of content with our inside jokes. It
       | didn't need any kind of login or passwords but provided everyone
       | with a custom page. It also provided me with a full database to
       | manage rsvp, song requests, track who gave us gifts (and what),
       | etc. Yes my partner thought it was overkill (to answer that
       | question) but it was super fun to build and ended up getting
       | retooled for my sister in law's wedding last year.
        
       | exotree wrote:
       | Probably not as cool as everyone else's but I made savonius wind
       | turbine to learn more about the basics of wind energy. It was a
       | fun jaunt!
        
       | NiagaraThistle wrote:
       | Not sure how interesting they are for others, but i built a few
       | things to keep myself accountable and track progress on parts of
       | my life I wanted to improve - small parts, but things I just kept
       | procrastinating on.
       | 
       | 1. I built a small web app to provide a cycling routine to help
       | me go from zero miles and overweight to riding a century (100
       | miles) this summer. I used to ride move frequently when I was
       | younger and my longest ride was 87 miles with camping gear on my
       | back. But 2 decades, a web dev job, and 2 kids later I am lucky
       | to be able to get 10 miles per week for any consistent stretch of
       | time. The app takes my recent riding skill and athleticism, and
       | creates a 6 week riding 'program' for me basing itself on # of
       | miles per day for the 6 weeks and increasing each week until the
       | culmination of the 100 mile ride, allowing for 2 rest days each
       | week. It isn't the most robust but it's gotten me motivated to
       | ride this summer.
       | 
       | 2. I built a reading list tracker that I can add the books I want
       | to read for myself and my kids. It suggests which book to read
       | next if I can't decide. It tracks # of books to read, #
       | completed, # of pages & hours to read (so I can see how unlikely
       | it is that I will ever finish my list or can plan time
       | accordingly to know through the list systematically), allows me
       | to categorize the books, and lists them as MY reading list or a
       | list to read with my KIDS.
       | 
       | 3. A European travel planner that I track country and city costs
       | with, can create custom travel itineraries, which then will show
       | actual costs for the itinerary based on the costs I am
       | tracking/inputting for cities/countries/attractions.
       | 
       | 4. More fun for myself and friends: A soccer scores predictor
       | game. We each follow teams and clubs from various world leagues,
       | and pick the scores for upcoming matches. Then the app scores us
       | based on our predictions and we have annual competitions with
       | each other. I built this before these were as popular as they are
       | now, and well before the likes of FanDuel/gambling sites.
        
       | servercobra wrote:
       | It's not specifically just for me but for my team at the World
       | Largest Trivia Contest [0]. It's a 54 hour long contest,
       | questions are broadcast over the radio, you have the length of 2
       | songs to call in the answers, and you can use any source to find
       | the answer. Sounds easy, right? Just Google it? Nope. "In a big
       | screen flick, XYZ is talking to ABC about something. In the
       | background, a train passes. What does it say on the train?"
       | 
       | This has led to a ton of fun little coding projects to help us
       | answer questions better. A lot of very hard to Google questions
       | involve album covers, so I ran every album cover I could get
       | through Google Vision and built a little search engine. Another
       | part of the contest is short (1-2s) clips of songs being
       | broadcast and you have a few hours to come up with what they are.
       | We built a massive fingerprint library ahead of time and used it
       | to answer some of those (Google finally got better at this too,
       | before we built this, it'd never work because the clip was so
       | short). We also use AWS to live transcribe the broadcast because
       | one of the hardest parts was remembering "were they asking for
       | the actor? their character? the movie?" and having to wait until
       | they ask the question again between songs.
       | 
       | Next up is a parallel auto-dialer. There's only a handful of
       | people answering phones, so actually calling in the answer can be
       | a struggle.
       | 
       | [0] http://90fmtrivia.org
        
       | dmitshur wrote:
       | I made a personal website [1] that aggregates my notifications
       | from GitHub and Gerrit in one stream. It updates in real-time
       | without me needing to refresh the page.
       | 
       | It also hosts a small set of personal Go packages. For this, it
       | implements a git server, module proxy protocol, issue tracker and
       | change tracker. At some point, I want to differentiate the code
       | review UI with nice-to-haves specific to Go, but haven't gotten
       | there yet.
       | 
       | I'm playing around with compiling the whole thing (written in Go,
       | of course) to WebAssembly that runs client-side, along with
       | server-side rendering for the initial page load. This is mostly
       | to make iteration easier and faster for me.
       | 
       | It also lets people leave comments or reactions to blog posts and
       | such by signing in via a URL rather than username+password.
       | 
       | [1] https://dmitri.shuralyov.com
        
       | timwaagh wrote:
       | I mean I guess I did build an overbed table to put the TV on. I
       | don't know whether it counts as tech though.
        
       | nrobinaubertin wrote:
       | We were using facebook exclusively for the 'private group'
       | feature with a some friends in 2012. We liked the fact that it
       | was private and asynchronous. But I didn't like the fact that it
       | was tied to facebook. I decided to put into practice what I've
       | learned that year at my informatics school and created forum
       | written in php. It was not much but we liked the fact that it was
       | ours.
       | 
       | Ten years later, I'm still fiddling on it and it has grown to a
       | real open-source project that you can find on github [0]. It's
       | still primarly here to serve me since I'm the only maintainer but
       | starts to be driven by external propositions. It's meant to be
       | easy to deploy, easy to use, cheap in resources and reliable.
       | 
       | [0] https://github.com/zusam/zusam
        
         | lenova wrote:
         | Hey, just wanted to say this is very neat! I'm going to try it
         | out this weekend as a self-hosted Google Keep alternative.
         | 
         | (PS: I may have broken your demo server, I'm not certain ;-) )
        
           | nrobinaubertin wrote:
           | Thank you very much ! No problem, it should reset every hour
        
       | Joe2337 wrote:
       | A toolset for learning Japanese with focus on listening
       | comprehension. Most resources suggest a "writing systems first"
       | approach, which seemed counterintuitive to me. So I started
       | coding my own tools 10 years ago. First, a small spaced
       | repetition system for vocabulary connected to forvo
       | (pronunciation database) and lateron an addon for Anki (popular
       | spaced repetition system). The addon is made for studying with
       | movies and includes a dictionary and a parser for converting the
       | original script to something simpler.
       | 
       | In retrospect, it was totally worth it: I reached a decent amount
       | of fluency in listening comprehension and used the tools to
       | create a Japanese course for others, which became popular on
       | ankiweb: https://ankiweb.net/shared/info/911122782
        
         | vinu76jsr wrote:
         | this is very wholesome, is there a way to port it for other
         | language.
        
       | serp002 wrote:
       | My brother and I built a mini webapp that takes data from the
       | Strong app for workouts, and shows you a list of all your muscle
       | groups and filters it with color based on how much fatigue each
       | muscle has accrued over the week. It also gives you
       | recommendations of how much weight you should lift for your next
       | workout. It's a nice way to make sure each muscle group is
       | getting exercised enough each week!
        
       | jiveturkey wrote:
       | VLF (polar) heart rate monitor receiver. stress reaction feedback
       | to the wearer via audio.
        
       | simonjgreen wrote:
       | I used to run a hackspace, so quite a lot! But in no particular
       | order these are some of my favourites:
       | 
       | - A tracking airsoft turret that would point at and fire at
       | movement. Was coded in Processing.
       | 
       | - A world clock of digital clocks that synced with NTP and could
       | be set to many regions when working with different timezones.
       | 
       | - A QFH antenna for receiving live satellite images via SSTV from
       | weather satellites
       | 
       | - A core xy assembly with a peristaltic pump that can be placed
       | over a frying pan to make fun designs of pancakes
       | 
       | - A screenshot tool that uploaded to a private site with a short
       | code URL for sharing screenshots without relying on ott SaaS
       | products
        
       | [deleted]
        
       | drewbeck wrote:
       | Starting in HS and continuing for years I developed the first and
       | only complete software package I've ever made, for my father.
       | He's a EE and was doing a lot of his board design in excel -- if
       | I remember this meant he then needed to map the excel design onto
       | a layout program to connect all the parts; the layout program
       | generates a netlist and the netlist then goes to the actual
       | layout person who figures out the final position of parts/traces
       | on the board.
       | 
       | He hired me to make a VBA program that generates the netlist
       | directly from excel. Refined it over the years and I believe he
       | still uses it to this day. He can turn around a design in far
       | keat time than it used to take.
       | 
       | I'm no EE -- and it's been probably 15 years since I've touched
       | that code -- so I may have gotten some details wrong here. But it
       | was a cool project to work on and taught me a lot about code!
        
       | jojohack wrote:
       | For fun I stitched together a map of my hometown from older fire
       | insurance maps ( taken in 1914 ) Ironically much of the downtown
       | area was destroyed by a fire two years later.
       | 
       | https://www.joeycato.com/stuff/paris-texas-1914/
        
       | crowdhailer wrote:
       | I've built my own small embeddable functional language with
       | structural record unions and effect types. By focusing on making
       | the language tiny I have been able to embed it in arduino, web
       | and server projects. The aim is to eventually use it for every
       | side project I make. https://petersaxton.uk/log/
        
         | callamdelaney wrote:
         | This looks really cool!
        
         | lloydatkinson wrote:
         | Your site triggered the iOS Safari prompt to allow your site
         | access to my microphone
        
           | crowdhailer wrote:
           | oh yeah. I also made an voice assistant called Colin on the
           | homepage
        
       | adnanc wrote:
       | I made an iOS app which I use to control the Bontrager Flare and
       | ION bike lights via Bluetooth LE.
       | 
       | It turns on/off the lights, changes the mode and also shows the
       | battery status
        
       | bluelightning2k wrote:
       | The first build of DemoTime was for myself. Obviously it no
       | longer is.
        
         | faeyanpiraat wrote:
         | perfect example of how to say you are the founder without
         | saying you are the founder?
        
         | l2silver wrote:
         | If you build for yourself, you never lose.
        
       | elesiuta wrote:
       | A little buzzer/led you can plug into an epee to detect hits
       | without a scoring box, there's no grounding so it still triggers
       | on hitting the opponents weapon but was more than good enough for
       | practices.
       | 
       | It was very simple, using a 555 timer and took almost no time to
       | make, but it was among the best returns of effort I put in vs
       | value I got out of it. It also stands out as one of my few
       | personal projects that was something physical since most of them
       | are only software now, and more tools than things purely for fun.
        
       | prevent6672 wrote:
       | I want to learn to type telex on Vietnamese so I made a super
       | simple app: https://0-sv.github.io/viet-typing-tutor/
       | 
       | I still have to add a lot of words though, any feedback is
       | welcome
        
       | ecliptik wrote:
       | A "framework" to convert my Jekyll blog into Gemini and Gopher
       | sites. Mainly converts markdown with Pandoc, but also generates a
       | rudimentary site index and headers/footers for each page.
       | 
       | https://github.com/ecliptik/ecliptik.github.io/blob/main/_sc...
        
       | qwerty3344 wrote:
       | OOOH I've got one - I made a short script that lets me play any
       | video on any site at arbitrary speed (speed controlled by arrow
       | keys).
       | 
       | //@ts-check window.kVideoSpeed = 1; window.initialVolume = 1;
       | 
       | NUMPAD_3 = "99" NUMPAD_2 = "98" NUMPAD_6 = "102" NUMPAD_5 = "101"
       | 
       | UP_ARROW = "38" DOWN_ARROW = "40"
       | 
       | let timeoutId = null; document.onkeydown = (e) => { if
       | (!document.querySelectorAll("video").length) { // no-op for pages
       | with no videos return; } window.initialVolume =
       | document.querySelector('video')?.volume || 1
       | let myDiv = getOrMakeDiv();         e = e || window.event;
       | let KEYCODE = e.keyCode;              // NOTE: can't use
       | left/right b/c those go forward/back 10s on some sites         if
       | ((KEYCODE == UP_ARROW || KEYCODE == NUMPAD_6) &&
       | window.kVideoSpeed < 4) {             // up arrow
       | window.kVideoSpeed += 0.5;             myDiv.textContent =
       | window.kVideoSpeed;         } else if ((KEYCODE == DOWN_ARROW ||
       | KEYCODE == NUMPAD_5) && window.kVideoSpeed > 1) {             //
       | down arrow             window.kVideoSpeed -= 0.5;
       | myDiv.textContent = window.kVideoSpeed;         }         for
       | (let el of document.querySelectorAll("video")) {
       | el.playbackRate = window.kVideoSpeed;                  // prevent
       | volume from changing             setTimeout(() => {
       | el.volume = window.initialVolume             }, 100)         }
       | if (timeoutId) {             clearTimeout(timeoutId);         }
       | // set timeout to remove div         timeoutId = setTimeout(() =>
       | { myDiv.remove() }, 1000);
       | 
       | }; function getOrMakeDiv() { if
       | (!document.getElementById("myDiv")) {                       let
       | div = document.createElement("div");             div.id =
       | "myDiv";             // add styles to div
       | div.style.padding = "8px";             div.style.textAlign =
       | "center";             div.style.fontSize = "16px";
       | div.style.position = "fixed";             div.style.fontWeight =
       | "600";             div.style.border = "1px solid yellow";
       | div.style.color = "white";             div.style.backgroundColor
       | = "black";             div.style.zIndex = "999999";
       | // insert div at the top of the body             if
       | (document.fullscreenElement) {
       | document.fullscreenElement.prepend(div,
       | document.fullscreenElement.firstChild)             }
       | else {                 document.body.insertBefore(div,
       | document.body.firstChild);             }         }         return
       | document.getElementById("myDiv");     }
        
       | asim wrote:
       | Lots of things. But one I am coming back to is called Malten
       | (https://malten.com). It was essentially a place for me to
       | blackhole my thoughts anonymously rather than putting them on
       | twitter. Recently as I've seen ChatGPT take off it's made me
       | revisit the project and create an integration for it (not yet
       | publicly hosted). Ideally I'd just be able to voice my thoughts
       | to an AI now in a private manner. Let's see.
       | 
       | https://github.com/asim/malten for anyone who wants to run it
       | themselves.
        
         | jansan wrote:
         | Out of curiosity, what do you hope the AI will do with your
         | thoughts?
        
           | asim wrote:
           | A cheaper form of therapy. Therapists are mostly mirroring
           | your own thoughts or helping you see things you can't see.
           | Ideally you have something that can just listen and echo your
           | thoughts back or acknowledge them, without the need to pay
           | $100/hour.
        
             | jansan wrote:
             | Wow, that's an application for AI that I never had thought
             | about. Fascinating idea.
        
               | asim wrote:
               | Thanks! Still trying to figure out the AI aspect, it was
               | mostly just anonymous ephemeral messaging for a long
               | time. So trying to understand the best way to add that
               | in. Also whether I even care about charging for it tbh.
        
       | bluetwo wrote:
       | Currently working on building a virtual art gallery populated
       | with fictitious works from dead artists generated by Stable
       | Diffusion. Users in the same room can talk to each other using
       | WebRTC.
        
       | btbuilder wrote:
       | I built a program in Go to defeat GeoIP lock-outs for my home
       | network.
       | 
       | It runs on our home router and functions as the primary DNS
       | server. If the record name matches a regex the DNS request is
       | forwarded over a VPN to a DNS server in the target country. Any
       | other requests are forwarded to my ISP's DNS. If the response is
       | a CNAME then the A record name is cached so that follow-up
       | requests are also forwarded over the VPN.
       | 
       | Before returning the IPs in the foreign DNS response /32 routes
       | for the IPs are added to send any home network traffic for them
       | over the VPN.
       | 
       | This means that any client on our home network can transparently
       | access GeoIP locked sites. It's worked for around 8 years with no
       | modifications.
        
         | bombcar wrote:
         | This is brilliant!
        
       | pelagicAustral wrote:
       | My ISP is total crap and charges a fortune for a miserable
       | service that at this point should be nationalized, and I'm not a
       | radical communist either. Anyway, I need to monitor my usage and
       | the interface they provide is a dumpster fire so I created the
       | most spectacular Rube Goldberg abstraction to get access to all
       | my past data using damn epoch timestamps and a data scrapper and
       | now I can forecast my usage, set SMS alerts, get usage on a
       | Telegram bot and access all my data via API. I think other people
       | might want to use it but I've always been too busy to polish the
       | product for an audience.
        
         | l2silver wrote:
         | I think all of Canada would be interested.
        
       | psadri wrote:
       | I improved our kitchen hood vent by attaching a semi-rigid
       | aluminum duct to one of the fans. The other end of the duct can
       | be positioned right over a frying pan to suck in cooking smell.
       | It works much better compared to the vent itself.
        
       | zacksiri wrote:
       | I've been working on https://instellar.app. It's a SaaS product
       | that will enable anyone to turn their own infrastructure into a
       | PaaS without needing to hire a DevOps.
       | 
       | I did this because I've had problems hiring DevOps (lack of
       | resource / lack of people to hire / and kubernetes was just too
       | complex). I decided that I need a tool let's me have my own
       | heroku on my own infra and here we are.
        
         | loloquwowndueo wrote:
         | Reminds me of https://tsuru.io/ :)
        
           | zacksiri wrote:
           | Nice! Good to see others are tackling the same problem!
        
       | Implicated wrote:
       | Years back I was living in the foothills just outside of the
       | Yosemite NP gates and fell in love with the trails through the
       | Sierra Nevada. It wasn't long before I realized that how much
       | weight I carried dramatically affected _everything_ about my
       | trips - so I got serious about finding a good compromise between
       | "ultralight" and "comfortable but still light".
       | 
       | The gear and testing it was very expensive, I wanted to make my
       | own but didn't know how to sew - but quickly found the "cottage"
       | industry of lightweight and ultralight backpacking gear and fell
       | in love again. Now I loved the trail and the gear, but I was also
       | broke.
       | 
       | One of my first non-visual basic programming projects was
       | building a scraper for a handful of backpacking forums' used gear
       | sections - I found that I was able to acquire and test the gear I
       | wanted at a fraction of the cost this way, as well as find buyers
       | for the gear I was ready to cycle out.
       | 
       | While I did build this for myself I eventually realized that
       | there were so many good deals and people with good gear looking
       | to offload it - but the forums and the communities were so
       | fractured it made it hard for others (just like it did for me). I
       | ended up building the whole thing (again) as my first foray into
       | playing with Laravel.
       | 
       | It's still up and working - thousands of people still using it,
       | maybe some of you would also enjoy it... [0] (no ads, no
       | affiliate offers, ever)
       | 
       | 0: https://lwhiker.com
       | 
       | * Note, I'm aware some of the "source" forums are broken/no
       | longer scraping properly, will be updating it soon.
        
       | denvaar wrote:
       | I made a shell script that can be used to generate a diff of what
       | data was modified in your pg database between two points in time.
       | I use it to help me get a quick sense of what certain actions do
       | without having to dive into the code too deeply. It's a pretty
       | simple thing, but has been valuable to me quite a bit.
       | https://github.com/denvaar/pgdiff
        
         | parentheses wrote:
         | I'm so glad I'm on page-2 of this thread. This is a fantastic
         | tool! I would use the hell out of this :)
        
       | bayindirh wrote:
       | I'm building an automatic file ingestion and processing pipeline
       | which will run on a Raspberry Pi 3. It'll do some mundane tasks
       | like renaming, and/or converting video files and sending to
       | relevant people.
       | 
       | It's like Node Red, but simpler and less resource intensive.
       | 
       | The idea is to get the file to the "Inbox" of the system, and
       | rest is automagically handled.
        
       | irthomasthomas wrote:
       | I just wrote a long bash script to automate the trimming and
       | organising of a large collection of videos.
       | 
       | I recently bought a drone for photography. But the video looks so
       | good that I end up taking a lot of video, too. Video is new to
       | me, so the raw files keep piling up in my "in" tray. I will have
       | to learn to edit video, one day, or send them to a pro to edit
       | for me.
       | 
       | I decided that the least I could do is watch the videos, organize
       | them, and trim them to just the interesting parts. Saves on disk
       | space.
       | 
       | I wrote a bash script to help me:
       | 
       | - Loop over all videos in a dir.
       | 
       | - Play each video.
       | 
       | - Extract the clips I want.
       | 
       | - Tag, rate and organize the clips.                 The script
       | opens each video in two MPV players.  One is full screen and
       | unscaled (watching 4k on a 2k screen means the video appears
       | zoomed in to a 2k region). This is for pixel peaking. I can
       | quickly check, at a glance, the raw video quality. Another MPV
       | window acts like a PIP, taking up a quarter of the screen, and
       | showing the whole video scaled down.            If a video is
       | DLOG, a LUT is applied to MPV to show the video in a more natural
       | colour (raw LOG video looks grey before it is processed).
       | Hacking this together, without a plan, I use simple msg boxes, on
       | top of the playing videos, to control the process. Better than
       | having to flick back and forth to a terminal window.
       | When I see a good place in the video to start my cut, I press the
       | "Start" button. An input box pops up, prefilled with the current
       | time of the player, e.g. 00:00:09 if the video is 9 seconds in.
       | I watch some more of the video and notice some messy, jerky
       | camera movement starting at 38s. I press the "End" button, and
       | another input box pops up to capture the end time of the clip. I
       | change it to 00:00:37 to exclude that jerky part.            Now,
       | in the background, ffmpeg is called to extract the section of
       | video between 9s and 37s. I use keyframes so that video does not
       | need to be re-encoded. It sets the real start time to the nearest
       | keyframe before the start, and the real end time to the next
       | keyframe after the input end_time. This means the output video is
       | always a bit longer than I chose. I can trim those few extra
       | frames when I use the clip. Because we don't re-encode, the
       | extraction time is near instantaneous.            A preview of
       | the clipped file is played back at high-speed.            If the
       | source video is long, and contains more content I want, I
       | continue playing until I see the next clip I want to extract.
       | When I finish with a source file, I am asked to give a star
       | rating (1-5) for the videos and then to choose tags. For these I
       | make use of the rating and file tagging extended metadata (xdg).
       | I can select any number of pre-existing tags, and add new tags.
       | Some metadata tags will be added automatically, such as
       | frame_rate, resolution, and colour_profile.            Now the
       | clips are in the output dir, and I choose to send the original
       | file to the wastebin. The next video in the source dir starts
       | playing, and the process continues until the dir is empty.
       | 
       | Then, using Dolphin file browser, or Digikam, I can click on a
       | tag and instantly see all clips under it. I can see all videos
       | that are 50fps and DLog color. Or, I can filter all clips tagged
       | "sea" and "sunset", or "mountains" and "sunrise".
       | 
       | The result is a neat pile of trimmed and catalogued video clips.
       | Ready to be thrown into some YouTube video.
       | 
       | Only problem, now? I'm more interested in refining the bash
       | script, than I am in learning to use Resolve to make a finished
       | video.
        
       | koliber wrote:
       | A shortcut on my iPhone, that I can dictate a note to, and it
       | transcribes it and puts it into my GTD inbox in Notion. It helps
       | me not forget things. Lowers the friction and allows me to make
       | note of fleeting ideas, thoughts, and things to get done.
        
         | l2silver wrote:
         | I'm guessing this wasn't literally a shortcut
        
       | tuckerconnelly wrote:
       | Machine-learning predictions for Draft Kings (NBA) :)
       | 
       | It scraped basically every single player's performance in every
       | single NBA game ever. I tried XGBoost and Keras, and the Keras
       | model outperformed the XGBoost model. Was about to incorporate
       | real-time injury data, so if a player was injured or out that
       | game it would not select them.
       | 
       | In the end it didn't perform too well. I think the limitation was
       | my lack of domain knowledge, and not really knowing what features
       | to select that would predict a players performance. Also data. I
       | hear MLB is more consistent than NBA because there's just more
       | data.
        
         | edmundsauto wrote:
         | I'm sitting on MLB data (converting it to a BigQuery
         | warehouse), am also interested in this space. The challenge w/
         | MLB is randomness plays a larger element - most folks in the
         | MLB gambling space prefer other leagues where an information
         | advantage more directly translates to profits.
        
       | [deleted]
        
       | piercebot wrote:
       | I made a safe-to-wake light for my son out of a Raspberry Pi. It
       | serves up a responsive website on the local network so you can
       | manually change the lights or update the schedule.
       | 
       | Been running like a champ for over 3 years now, which has been
       | the most pleasant surprise. I'm used to ecosystem entropy causing
       | things to break.
       | 
       | I documented my adventures in a 6-part series:
       | https://ajpierce.com/2020-01-04_safe-to-wake-pt1/
        
       | TySchultz wrote:
       | The old Yahoo News Digest app from years back was incredible and
       | I never could find a replacement. I decided to build my own.
       | 
       | It uses Embeddings to gather thousands of articles and compare
       | against each other. Then uses a relational graph to combine those
       | into collections and uses an LLM to create a succinct summary,
       | quote, map, and other info about the topic.
       | 
       | It lets me the news for the day within minutes instead of
       | endlessly scrolling.
        
       | alex_lav wrote:
       | 80% of a basketball simulation engine
       | 
       | 80% of a Teamfight Tactics simulation engine
       | 
       | 80% of a data analytics platform for sports data
       | 
       | 40% of a PaaS to manage common open source software deployments
       | to the cloud
       | 
       | I don't finish much. It's my absolute greatest flaw.
        
         | edmundsauto wrote:
         | Hey hey! I also let a sports analytics platform flail until I
         | got tired of paying for the server. projectbaseball.org,
         | frontend still up but the backend is gone.
        
       | sandeshnaroju wrote:
       | I built an open-source low-code platform to build mobile apps in
       | JSON, https://www.nanoapp.dev/
        
       | orthoxerox wrote:
       | Nothing special, but I didn't want to share my dietary habits
       | with an unknown number of third parties, so I built my own
       | calorie tracker. I didn't use anything fancy, I just ran Grist on
       | my home server with a half dozen tables. Had to rewrite it a
       | couple of times to support stuff like recipes, but it's good
       | enough for my purposes. Didn't even need to add auth to it, I
       | just use Tailscale on my personal devices to access the server
       | from anywhere without exposing it to the internet.
        
         | XMasterrrr wrote:
         | That's very neat, any chance you'd be willing to open source
         | it?
        
           | orthoxerox wrote:
           | There isn't much there to open source, just a bunch of Excel-
           | like formulas that progressively roll up data from
           | ingredients to the final results for the day.
        
       ___________________________________________________________________
       (page generated 2023-04-28 23:00 UTC)