kristjan

Joined 17 years ago

Karma
162
Submissions
75
Member since
Sep 12
Building light-hearted software at https://hahamoment.dev

[ my public key: https://keybase.io/kristjan; my proof: https://keybase.io/kristjan/sigs/aYrFyl1PfytMbNCEJCbVl0cfwmoxTSwcGzwCyR48i9Y ]

View on Hacker News

Recent submissions

Comment · 1 month ago
Comment · 2 months ago
It seems to love locking doors. I was hoping this would dim the lights.

> I'm hungover

{ "function_calls": [ { "name": "lock_door", "arguments": { "door": "front door" } } ], "reasoning": "User wants to lock the door. 'hungover' implies a security door. No specific door named, so use 'front door' as default.", "confidence": 0 }

Comment · 2 months ago
More things than I meant to, but one's live and three are landing soon. I quit someone else's work a little while back, spent some time building a game that I'll get back too to the extent I can support myself, and then started a things-I-want-and-others-might-want-too studio.

https://sponder.app (Live) - an RSS and podcast mutator. Filter feeds for what you want, merge, time-delay, and drip articles on a cadence (I like to start from feeds' beginnings). For podcasts, detect similar metadata to previous releases so you can skip reruns.

https://tellmeapenguin.com (Close! Come help test it) - Endless mad libs about whatever you want, and if it's a good story, you can keep writing more chapters. The kiddos love it, and you can share back and forth with grandparents and whatnot to keep sillily in touch.

https://nounogram.com/ (Web is live, apps soon) - Hybrid nonogram and crossword puzzles. Shade the grid to find the layout, then add the words where they fit. I built it to make the kiddo practice handwriting, and then it was more fun than I expected.

https://getyarnt.com (Free until I ship the Stripe integration) - A task tracker that's actively hostile towards you having tasks. Started as a joke, but I'm using it to track my own stuff and really enjoying it. If you have a manager who likes assigning you work, tell them to get Yarnt!

All of it's on https://hahamoment.dev/ in the likely event you don't need any of this but do want to turn on a light.

Comment · 5 months ago
I spent the better part of a week failing to create an Apple account using my studio domain - not even a dev account yet, just any account at all. In large part because of the "I got frozen out and can't talk to anyone" horror stories that pop up here monthly, and the fact that my personal account already needs to go through the "your account is locked" dance on a daily basis. My best guess is constant credential stuffing plus lack of any Apple mobile device.

The main creation flow wouldn't send a verification email, and there are hints around to try through Apple Music, which got me a little farther. At phone verification, I receive the code fine (on both numbers I tried), type it in, and get an inscrutable "error" that prevents finalization.

But it turns out it was final enough that even though I can't log in at all, they felt fine sending me Mother's Day email spam. Thanks. I'll be sure to FaceTime her.

Comment · 7 months ago
Comment · 7 months ago
I've wanted to read some long-form RSS feeds from the beginning, and friends had use cases for feed filtering, so I built https://sponder.app.

The filtering was easy, but RSS doesn't do "from the beginning" (RFC 5005 exists, but is mostly unused), so scope crept into a webpage-to-RSS tool that lets me convert favorite.site/s/archive - autodetection of the article structure was a fun side quest.

The whole thing is a little function engine (Yahoo Pipes called), so the final goal is `merge(archive, live_feed) | drip(N items per D days)` to have the archive transition seamlessly into current content. I expect I can push that live tomorrow or so.

And of course Podcasts are just RSS, so hey, let's skip reruns. That's doable with filters on the episode description, but with history in place I'll add title similarity checking. I'm trying to think how to recognize cross-promoted episodes too, without having to crawl every podcast.

Importantly, Sponder's _not_ a client. There are enough clients, any many are great. Each implements some subset of features, so Sponder's an intermediary that consumes and publishes pure RSS for us to use anywhere we want.

Project two started over the weekend and is the NYTimes' Pips, but colors. You're building a stained glass window with regional constraints, and the big difference from using dominos is colors can mix. Also, triangles! The engine works, and I'm designing the tutorial and first handful of puzzles now.

Comment · 8 months ago
Sponder - Filter and transform RSS feeds or Podcasts (https://sponder.app)

Different RSS clients provide different filtering options, and lots of them limit you to a few keywords and/or put them behind a $7-12/mo subscription. I'm building Sponder so you can curate what you see, and it just presents another RSS feed, so you can keep using your favorite client but fill in the feature gaps.

Right now it can merge and filter by string or regex, and next I'm building (because it's what I want) history replay and smarter podcast rerun detection. it's new and I'm very open to feedback and feature requests.

Comment · 9 years ago
Comment · 9 years ago
Comment · 10 years ago
Certainly everything in moderation - I only give letters to commands I literally type hundreds of times daily. Over the past 10 years, I've accumulated 5:

    b=`bundle exec`, though this is becoming less often used and I may remove it
    d=dotenv to easily wrap a command in environment variables 
        (https://github.com/bkeepers/dotenv)
    g=git
    h=hub (GitHub's extensions to Git)
    j=autojump to move to common directories using just a few characters
        from their name (https://github.com/wting/autojump)
Comment · 10 years ago
But you're still typing `git` every time!

    alias g=git
I've got my Git configs up at
https://github.com/kristjan/.dotfiles/blob/master/.gitconfig if you'd like to sift through them. The very most common, like `git status`, get their own Bash aliases too (https://github.com/kristjan/.dotfiles/blob/master/.aliases#L...). Who can be bothered to type a space?
Comment · 10 years ago
Comment · 11 years ago
There's some amount of zen to it. Your job is no longer to be the best coder yourself, it's to make everyone else the best coders they can be. I don't have kids yet, but I can imagine some similarities.

On the other hand, once a month or so I hide from the office for an afternoon/night and replace some infrastructure or build an internal tool that's never going to get prioritized. Everyone's happy about it, and you get to feel like a bit of a hero :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton