HN user

kristjan

160 karma

Building light-hearted software at https://hahamoment.dev

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

Posts16
Comments54
View on HN

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.

I've been doing something similar! I've got a Home Assistant dashboard on my desk and wanted the media controls to match the current album art. I need three colors: background, foreground, and something vibrant to set my desk lamp to [1].

The SpotifyPlus HA integration [2] was near at hand and does a reasonably good job clustering with a version of ColorThief [3] under the hood. It has the same two problems you started with though: muddying when there's lots of gradation, even within a cluster; and no semantic understanding when the cover has something resembling a frame. A bit swapped from okmain's goal, but I can invert with the best of them and will give it a shot next time I fiddle. Thanks for posting!

[1] https://gist.github.com/kristjan/b305b83b0eb4455ee8455be108a... [2] https://github.com/thlucas1/homeassistantcomponent_spotifypl... [3] https://github.com/thlucas1/SpotifyWebApiPython/blob/master/...

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.

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.

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)

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 :)

On housing, I'm happy to report that Craigslist isn't the only option. http://apartmentlist.com is somewhat more pleasant to use and less full of duplicates / other nonsense.

Disclosure: I work at Apartment List. Since someone already mentioned LiveLovely, I suppose I'll recognize them too :-D

If I see more than a few things listed, I assume the applicant is just writing down anything they've ever touched. Unless they make up for it with something really cool in their work history or various online profiles (I stalk quite a bit), it's pretty much an autofail.

San Francisco, CA - https://singly.com/jobs: Full-time Platform Engineers and Lead Developer Evangelist

Singly is hiring a lead developer evangelist and horde of generalist engineers to build a cross-service API that provides merged, normalized and deduplicated data from all of your personal sources (Facebook, Foursquare, Fitbit, email, text messages, you name it). We recently closed $7MM in funding, which we're using to expand the team and ramp up developer outreach, as well as put on huge events like our app challenge last month[1]. Mega bonus points if you've got tons of experience building or heavily consuming APIs, but if you're smart and like burritos, let's chat. Apply through https://singly.com/jobs or kristjan@singly.com. Or, just come hang with us in #singly on irc.freenode.net and at our monthly happy hours [2].

Happy hunting!

[1] http://blog.singly.com/2012/06/13/our-first-big-hack-event-w... [2] http://www.meetup.com/Singly-Happy-Hour/

Maybe this is more consumable as "remove as much complexity as possible from the code". In this case, both the code and the DB become considerably simpler, and it doesn't sound like there was anything fancy at all going on in the end result. I think derwiki just meant the DB will handle this, so you can leave the implementation there, not in custom sharding code.

Meet&Greet

Who are the best people for you to talk to at the events you’re attending? Make new friends, find new mentors, break the ice easily.

iAmble

Find a place to grab food! We’ll analyze you and your friends’ likes and dislikes to suggest a spot we’re sure you’ll want to eat. Click a button and go.

www.iamble.com @iambleapp