• I posted this over on the La Colombe Cold Brew Fridge Pack page, and, as is my want as of late, I am posting it here for posterity.

    Happy wife, happy life

    My wife decided to start drinking cold brew instead of using K-cups, and as I am diehard La Colombe Nizza drinker, I made her some cold brew out of those beans. She liked it, but it seemed like a hassle to make the cold brew myself when I could just buy one of these for her instead. So… that’s what I did. The good: very rich, bold, chocolatey flavor that lays a great foundation for whatever other junk you want to pile into it (water + cold cream for the TikTok trend); It’s not insanely concentrated with caffeine, I felt like it ends up being less caffeine per ounce compared to Nizza beans brewed with the AeroPress stumptown method (if that means anything to you, you must be me), and I think this is a good thing for my wife. Lots of flavor, not a huge amount of caffeine. For me, I’ll stick with my Nizza beans, but having a jug of this in the fridge at all times will be good when I’m in a pinch.


  • Back in May (2023) I stumbled my way into a a full blown interest in what people are erroneously calling “artificial intelligence”. I’d played with Midjourney back when it first gained traction, and even paid for a month of access, but my interest in it quickly faded. It wasn’t until I learned there was a growing community of people dedicating themselves to providing free access to open source text-to-image models via a system called the AI Horde.

    After joining their Discord server, I saw that there were two existing apps for iOS: AiPainter, from a Chinese developer and built in Unity so it could be cross platform; and Stable Horde, which no longer works and has been abandoned by its developer, built in Flutter. Aside from that one working app option, the main way people on iOS would use the Horde would be through ArtBot, the most popular web client for the horde; or they could use it through Discord bots similar to Midjourney, which works for some people.

    You can easily see that there was a big glaring hole that I could fill with a nicely designed, native app for Apple platforms. Similar to PiBar, the open source and anarchist-adjacent, ‘everything should be free’ leanings of the Horde community also deeply appealed to me. The icing on the cake was just that the Horde community itself seems pretty cool, and managed to get me more interested in generative art.

    So, here we are, around two months later: Aislingeach is out on the App Store, in a relatively rough version 1.0. For free you can use the latest and greatest on TestFlight. Or, you know, just fork the repo and build it yourself!

    This was a fun project for me because it forced me to finally use Collection Views in UIKit, which I’d manage to never find a need for before now. In this case, I needed essentially a Photos.app-like gallery experience, with a thumbnail view that, when tapped, leads into a detail view with side-to-side swiping. There are still some things that I am clearly doing wrong around cell reuse that I need to address, the symptom of which is that some images will flash in detail view when you favorite them.

    I’d used CoreData in projects before, but this was the first project where I relied entirely on the compile time generated classes and did not create my own classes at all. It worked really well and I have no complaints about it, because I do not really need to build a bunch of logic directly into classes (seems like a bad paradigm anyway). I also had to use “Use external storage” for the image storage, and this works really well as well.

    The most challenging thing about this project was just coming up with a way to manage the request queue and ensure that nothing was lost. When an app is suddenly backgrounded, it will just cut off any requests that are happening, so an image that was loading in the UI will error out and not appear, or an image downloading in the background won’t complete downloading.

    So for the last example I ended up building a table in CoreData (why not, already using it) that I feed all the pending download URLs into, then once the file has been downloaded and the image is saved to the database, the pending download is removed from the table. Works great so far, but you can still end up in a scenario where a request ends up saying it’s downloading images but no downloads made it into the download table–so it’s not fully dialed in just yet.

    This is really just the very beginning for this project. I intend to do my best to support all the AI Horde features, dial in a proper iPad interface, and get some sort of cloud syncing working (CloudKit maybe). We’re in the very early days of generative art still in the open source communities, so there’s no guarantees the way something works now will be the way it works a year from now, so I’m trying to keep an open mind and stay light on my toes in regard to what I support and how I support it. We’ll see how it goes!


  • I posted this on the official product page for the AeroPress Clear but you never know if they’re actually going to publish negative reviews or not, so here it is for posterity.

    It is what it says it is, but is also kinda stinks – ★★★★☆

    I almost want to give this product five stars, but I cannot. I bought it because I wanted a clear AeroPress, so I could see what is going on better while I make my coffee. Also, clear things are cool, I grew up in that era. Inarguably, this is exactly that, and it lived up to my expectations in that way. This is a clear AeroPress. Kudos to the engineering that went into it, I heard a little bit about how it may have been tricky to mold an AeroPress out of this material. In that way, the actual object itself is 5-stars.

    However, I have to subtract a star because for an extra $10, you are getting less product than you would have gotten if this were literally the clear version of the same product I bought in 2021. You do not get: 250 replacement filters (only 100), no filter holder, and no funnel, which to me is a very egregious omission as it make a big difference with how easy it is to get grounds into the AeroPress. It’s actually sort of shameful how blatantly obvious it is that the company that bought AeroPress is now trying to squeeze the product for as much money as they can, by raising prices and reducing the quality of the overall product.

    Luckily my two AeroPresses will hopefully last me the rest of my life and it won’t work on me! Well, you did trick me into buying a Clear Aeropress and the flow control filter cap to some extent, so… well… I guess it did work on me! Good on you, capitalism.


  • I posted this on the official product page for the AeroPress Flow Control Filter Cap but you never know if they’re actually going to publish negative reviews or not, so here it is for posterity.

    Not a great version 1.0 – ★★★☆☆

    I’ve been using the cap for well over a month (or two?) now, every day, since I got it, and it’s time to weigh in. Unfortunately, this cap does not live up to my expectations from AeroPress. I’d passed on third party caps like this because I’m a purist, I guess, so I jumped at the chance to grab one of these. Unfortunately, I don’t feel like it was designed with proper care and it feels like a third party accessory to me.

    The main reason? It leaks. I’m not a weak person, I think, and I’ve never had any issue screwing the default cap onto my AeroPress all the way, and I’ve never had any issues with leaks that run down the outside of my cup before. With this cap, leaks are a fact of life, and no matter what I do I cannot screw the cap on “all the way” the same way I can with the default cap. I’ve noticed that the paper filters don’t fit quite right into this cap, and maybe that can explain why the cap leaks?

    In addition to the leaky cap, which leaves coffee around the rim of my cup and often on the outside, the cleanup process is not as nice. With the original cap, I can usually pull the cap off and the coffee and filter are stuck in the chamber still, and I can plunge both right into a container. Easy, clean process that usually doesn’t even get my fingers dirty.

    With this filter cap, what usually happens is this: I grab the cap and twist, getting hot coffee all over my fingers. When I pull the cap off, a bunch of grounds fall off the cap and into the container, the other half stay in the plunger, and the paper always stays stuck to the cap. So then I have to plunge out the coffee grounds with one hand (because I am holding the hot cap in my other hand), and then grab a utensil (like AeroPress recommends in review comments!) so that I can gently ‘lift’ the filter off the cap to let excess coffee drain out from under it, then scrape the filter off the cap into the container with the utensil. Then I’ll grab a paper towel and wipe off any coffee that leaked over the rim and sides of my coffee cup. It’s a first world problem, for sure, but this inconvenience adds up over time and adds a little hassle to every morning.

    I don’t believe for a moment there isn’t a design for this sort of cap that can replicate the ease and solid seal of the original AeroPress cap, and because of that, I’m inclined to believe this product can improve and doesn’t deserve 5 stars like many here are giving it. It’s unfortunate, because there are perks to this cap: 1) I do believe my coffee tastes just a bit better when using this cap. 2.) When doing the Stumptown method, you no longer have to be in a bit of a rush to create negative suction. But ultimately the fussiness of the cleanup operation really defeats half the joy of using the AeroPress for me and I do not recommend this flow control cap.


  • I mentioned the other day I was working on an app for generative art, a year or so late to the bandwagon. While playing with it, I stumbled on a great way to generative abstract art, in the vein of bauhaus, and it reminded me of a want I’ve had for years: a screensaver that generates bauhaus-style artwork. I thought I would some day build such a thing out of SpriteKit, but true inspiration never struck. Until I saw the results I was getting out of the Deliberate checkpoint for Stable Diffusion.

    This stuff is so awesome to me. Not only does it look, to my eyes, like good abstract art, but a huge advantage to stuff like this is that it bypasses a lot of the issues with current image generation: artifacts and glitches. It can take a lot of time to get a good, coherent piece of art where you expect everyone to have the right number of fingers and arms, and all of their other components in the right position. But with abstract art, none of that matters. Literally every generation is great, because artifacts and glitches only makes something more abstract.

    Anyway, if you think the above examples of artwork look good to you, you can grab Ealain over on its GitHub profile, the screensaver displays this style of artwork, freshly generated for you every couple of hours so you’ll likely never see the same piece of art more than once or twice: https://github.com/amiantos/ealain

    P.S. Ealain means “art” (in the sense of a profession?) in Gaelic. It’s pronounced something like All-ee-(n)… Like Muhammad “Ali” with the lightest touch of an “n” sound at the end. Weird! But cool. Though… just say “Elaine”, you know you want to.