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!
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.
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.
Not sure if I'm in the majority or minority here, but I actually prefer that the main command (git in this case) not be shortened. The rest of the options are where I find aliasing to be useful. Only because as the numbers of aliases you use grows, it becomes more likely that you'll overwrite your single-letter aliases.
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)
I'm the same way, and along with that I don't use aliases directive in my gitconfig either. I create bash scripts that are named git-* that way I can be more advanced in them without having a crappy experience creating them.
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 :)
There is so much zen to it. I've gone from being the single developer sitting in a room with the founder and the creative director building a product from scratch to managing a technical team of 15 at the same company, with another couple dozen employees in other departments.
The difficulty of running a large technical team is all about managing coordination and communication overhead. You need to build a culture where interruption is frowned upon, but at the same time you need to ensure that knowledge isn't siloed. The balance is very very important, and the means of achieving it are much more art than science. I suppose I could throw up my hands and concede I'll never be able to regain the focus to be a good individual contributor, but I rebel against that inclination on the (perhaps selfish) belief that going full management would put me out of touch with the people I'm managing.
In any case, it is possible to both manage and write code, but it requires an incredible amount of discipline to truly embody the nature of each job and do them well side by side.
I suggest you read that more closely. There was no theory laid out until the late 60's, and "complexity theory" was not a field until the 70's. On the other hand, there is a long list of programming languages invented in the 50's.
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/...
reply