Live data from Hacker News

Ask HN: Have you created programs for only your personal use?

news.ycombinator.com

71–80 of 671 posts

Re: Ask HN: Have you created programs for only your personal use?

#71
I made myself a Chrome extension called Headlamp that puts a red dot by each link, button, text box, etc., and clears them as I click or type while I’m testing a web app.

When I hand off a build to a client, if all the red dots are gone, I know I’ve at least TOUCHED everything.

If I’m working with another engineer, we can both see the dots in our browser and collaborate to clear them all while we test.

Re: Ask HN: Have you created programs for only your personal use?

#72
I had been accruing bookmarks in Google Bookmarks since 2008, then saw it was going to be shut down[0]. I liked the workflow and the core features seemed simple enough, so I made a cheap clone - Strudel Bookmarks [1] (I was planning a move to Austria at the time). The code is terrible so I never open sourced it. Took it as an opportunity to try a couple of pieces of tech out... much respect to Hasura[2].

[0]: https://9to5google.com/2021/07/20/google-bookmarks-closure-m...

[1]: https://i.redd.it/uvrv7qsqtct81.png

[2]: https://hasura.io/

Re: Ask HN: Have you created programs for only your personal use?

#73

Earlier quoted context omitted.

I’m curious: Why did you choose to do this yourself rather than use something like Personal Capital?

Personal Capital isn't available for Canadians. In fact, there existed no other alternatives at the time (~2017). Especially none that did things like adjusting the cost basis of each security based on the foreign exchange rate on the day of purchase, and tracking gain/loss correctly in Canadian dollars. I also needed it to sync with my work's group RRSP provider which doesn't offer a standard API. I don't know if th…

Thanks for responding!

I have the same issue with having multiple brokerage accounts. I haven’t signed up for Personal Capital because I read that they try to upsell you on wealth management services by phone periodically, plus I am uncomfortable giving my brokerage login credentials to them (or any other third-party service). So I was wondering if you were in the same boat!

Re: Ask HN: Have you created programs for only your personal use?

#74
post #48

I created a program that allows me to control the max charge level of my laptop battery on linux, and persists the change through reboot. Written in rust, and I use it several times per week. I designed it for my system, but it should work on any linux system with a battery, kernel version 5.4+, and systemd.

What do you use this for?

Keeping your battery charged at 100% for extended periods can reduce the overall life. Apple recently(?) switched to charging phones and laptops to 80% and delaying the remaining 20% until it was expected to be needed (like for the phone, charging overnight completes before the alarm goes off, the laptop will finish charging at the end of the workday before I move from my desk to my living room). I don't know what Windows does, and Linux is too large a target to make any universal statement about how it might treat charging and batteries.

Re: Ask HN: Have you created programs for only your personal use?

#75
The only two programs I've written since my retirement were entirely for personal use: one to help with attribute-point assignments in an RPG, and one to pick apart GPS-data files (Garmin FIT) to show me views that neither Garmin nor Strava will. I'm fortunate that I have the skills to do this, but I think in the future such "personal programming" will be commonplace even for people who have never worked as programmers. Meanwhile, knowledge of programming plus one other field is often a ticket to stable employment with a good work/life balance (unlike tech itself which tends to lack such balance).

Re: Ask HN: Have you created programs for only your personal use?

#76

Heck yes, all the time. While it seems like the major computer/OS vendors these days are trying to turn computers into limited purpose appliances, I was first exposed to computers as a child in the late 70's, when it was expected that anyone who owned a computer would also want to program it for their own purposes. My own personal projects tend not to be very large in scope, but can be quite handy. Some examples incl…

I have a pixels-per-inch calculator too, but mine is an Excel spreadsheet. Lets me see all the displays I've been interested in or own, even things like phones.

Re: Ask HN: Have you created programs for only your personal use?

#78
I have a fun one. The front door to my house had an automatic door opener, paired with a single-button remote control to unlock and open the door. The remote control was annoying to carry and use. (This was before IoT became a thing.)

I pried open the remote, soldered on an extra circuit bypassing the push switch, and hooked it up to an Arduino. When a packet is sent over serial, the Arduino simulates a button push:

    const int basePin = 2;

    void triggerRemote() {
        digitalWrite(basePin, HIGH);
        delay(2000);
        digitalWrite(basePin, LOW);
    }

    void setup() {
        pinMode(basePin, OUTPUT);
        Serial.begin(9600);
    }

    void loop() {
        if (Serial.available() > 0) {
            Serial.read();
            triggerRemote();
        }
    }
This was paired with a tiny web server to do the serial write:

    #!/opt/bin/python2.6

    PORT = 5525

    import BaseHTTPServer, SocketServer

    class LoccaHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
        server_version = "LoccaServer/1.0"
        def do_GET(self):
            if self.path.startswith("/trigger"):
                serial.write('A')
                self.send_response(200)
            else:
                self.send_error(404)

    serial = open("/dev/ttyACM0", 'wb', 0)

    httpd = SocketServer.TCPServer(("", PORT), LoccaHTTPRequestHandler, False)
    httpd.allow_reuse_address = True
    httpd.server_bind()
    httpd.server_activate()
    httpd.serve_forever()
Finally I threw together an iPhone app with the most basic UI imaginable: a static full-screen photo of the remote; tap once, it fires off a HTTP request, and the door swings open:

    - (IBAction)triggerRemote:(id)sender {
        NSURL *url = [NSURL URLWithString:@"http://10.0.8.48:5525/trigger"];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [NSURLConnection connectionWithRequest:request delegate:nil];
    }
That's basically all of the code. Considering how much of a janky hack this is, it worked great.

Ancient write-up with some photos: https://web.archive.org/web/20120103180640/http://ghughes.co...

Re: Ask HN: Have you created programs for only your personal use?

#79
post #60

I created a program that outputs one of my kid's name if the day of year is even, the other kid's name if it's odd. I use it to determine who's turn it is to take a shower first. They'll argue with me and each other all day long but for some reason they will not argue with the computer.

Call it Shower Power
Post reply on HN