I've been working on some new features for Anime Nano in the last few weeks, just to have something to work on. There's a feature that I disabled that I had set up in the early days of the site which would detect if a blog post was about an anime series, and if it had an episode number. So if someone was blogging about Naruto Episode 10, I could then show all the blog posts about that episode (or…

 
 This test model is making me hungry for swiss cheese 
 
 Last time I 3D printed something, it was a replacement part for my Toto Bidet toilet seat . Since it was such a weird looking part, I just did it manually in Tinkercad . 
 Yesterday, I was setting up my custom-built automatic irrigation system into my garden. I was installing some 1/2 inch irrigation tubing when I…

 
 Hugo: with 250% more colors than Jekyll! 
 
 While I was publishing my latest blog posts, I started noticing that it was taking forever to actually generate the static files. Locally, it took about 48 seconds to build the whole site. When deploying on Cloudflare, the whole process took almost 3 minutes. I knew that other static site generators were faster, especially those that…

 
 I'm pretty sure this logo is AI generated 
 
 I was listening to the generated audio for my blog post that I wrote yesterday about running local AI agents, and some of the sentences were kind of annoyingly spoken. I don't want people to get the wrong idea about me (that I speak weird), so I thought I would do some work on improving the way that I generate audio for my blog…

 
 This is the only 2B model I need! 
 
 I previously mentioned in my blog post about OpenClaw that I was really hoping that I could run an AI agent locally some day, but that the quality and speed of those local models was still too low to actually accomplish anything. I've been giving it another shot after testing Qwen 3.6 35B A3B (I recently replayed Nier: Automata , btw, maybe…

 
 A selection of videos from Mizu Ramen. 
 
 I was recently recommended a YouTube video by a channel called "水ラーメン" which translates to "water ramen." The video was of some Japanese guy buying a package of supermarket prawn and rescuing them (since they were still kinda alive). It was a good recommendation, because the video was so strange and interesting that I ended up watching…
Since we had our solar panels and backup battery installed like a year ago, I've been somewhat obsessed with eking out as much efficiency from the system as possible. This meant that I'd be constantly monitoring the weather (for cloud cover), battery levels, solar panel output (and snow coverage) and the power consumption of the house. While I actually do enjoy paying attention to all of these…

 
 Don't look too closely or you'll realize this image is AI generated! 
 
 Clawdbot Moltbot OpenClaw has been blowing up the internet with its zany antics like being mean to open source contributors and giving away a bunch of crypto on Twitter . I've been pretty wary of installing my own instance of it since it's insanely insecure and super stupid, but whatever, YOLO! 
 Let…

 
 My new IDE which I will probably drop soon! 
 
 I've been using Google Antigravity as my main AI-powered IDE for the past month or two. But something tells me I'll probably switch soon, as Google keeps making it less and less useful. In the meantime, though, I've added a ton of new features to my blog, and I figured I'd write about some of them.

 
 Qwen3-TTS, the best TTS model I've used so far! 
 
 I saw a note in my daily AI newsletter about a new TTS model that was out. I spent a better part of the day testing out its capabilities and attempting to do some fine tuning on it. 
 I've had a goal for a pretty long time to add audio versions that people can use to listen to each of my blog posts. But rather than narrate…

 
 Two puns in and we haven't even hit a paragraph yet. 
 
 I recently started taking one of these trendy weight loss pills, and since my blog always gets spam comments from people trying to sell the stuff, I figured I could just make a whole post about it. That way the rest of my blog posts will be safe from spam, right? 
 It's been about a week since I started taking the…

 
 
 Your browser does not support the video tag.
 
 New AI video model == New video of me eating spaghetti! 
 
 OpenAI just released a new version of Sora, their video generation model. I spammed reload on a thread on Reddit to get an invite code last night, and quickly hit the rate limit (it was 71 videos)! Here's my first impressions on the new app and model. 
…

	 
 A snapshot at my incredibly outdated bookmarks. 
 
 I was adding a bookmarklet to my web browser this morning ( to auto-click on American Express offers ) and was trying to figure out how to organize it so it's easy to click when I want to find it. I realized that I have like a billion bookmarks that I've added to my bookmarks bar, etc, but I almost never directly use any…

	 
 Thanks, OpenAI for the plushie and the office tour (not real btw)! 
 
 There's been a few changes in the AI CLI landscape, so it's time for a new blog post! I've once again switched my AI best friend. This time from Claude to OpenAI's Codex . 
 So since the last blog post I made about vibe coding with Claude Code and what I learned , it seems like Claude got really…

 
 
 Your browser does not support the video tag.
 
 Get out the popcorn! 
 
 This blog post is pretty much also a Youtube video, so if you want, you can just watch that instead! 
 
 
 
 I recently got interested in text to video AI generators after reading a post about Wan 2.2. I hadn't really been interested in them before because they all kind of…

	 
 Claude Code - my coding companion for the past 31 days 
 
 It's been... one month since I purchased a Claude Pro subscription so I could try Claude Code instead of freeloading off of Google Gemini's CLI. I thought I would take a look at the things I learned while vibe coding a few projects, and other uses that I found for Claude Code besides coding. If you missed it, be…

 
 Claude Code - my new best friend! (I spent a lot of time on this image, btw) 
 
 Previously on my blog, I wrote about vibe coding and how I was experimenting with Google CLI, the free agentic AI thing that runs in your command line. I talked about how cool it was, but also how I was too cheap to try anything that cost money. After repeatedly hearing about how good Claude Code…

 
 Vibe Coding Origins 
 
 As generative AI has gotten better in the past months/years, I've been trusting it more to do stuff that I'd normally only trust myself to do. Earlier this year I started yet another refactor of my web app, Anime Nano , since I wanted to get it off of the $10 a month DigitalOcean host I was using. I decided to try using Cloudflare since it's "serverless"…

 
 Like washing mud off a car with water... 
 
 We recently moved (I guess it's been like half a year now) to a house that only had "round" (short) toilets, so I lost the use of my butt-cleaning Toto C200 Washlet . I've been super busy with home projects and I only just got to the point where I could rectify (pun intended) this situation. 
 I probably could've just attached a…

 
 Was this book written for me? 
 
 I recently found out about a book called: " Extremely Online: The Untold Story of Fame, Influence, and Power on the Internet " by Taylor Lorenz. As someone who self identifies as extemely online, I needed to see what this book was about. It ended up catapulting me on a journey through my own blog and online history.

	 
 It's not a Christmas album without wintery wonderland album art! 
 
 This year, I wanted to make something special to go along with my annual holiday cards. Much like a washed up singer, I decided to produce a new holiday album. And since 2023 has been the year of AI, I decided to revisit my voice cloning projects in the process.

	 
 The Talkboy Ultra is So Bad 
 
 Note: This blog post is based on a YouTube video I made, which you can watch in the embed, but it also has some stuff that's not in the video, so read the stuff I wrote below! 
 
	 
 
 So while I was learning about AI voice cloning technology to make myself sing better (and to make Kanye sing stupid songs), I got an idea…

	 
 Two legendary directors doing the weather report 
 
 Note: This blog post is based on a YouTube video I made, which you can watch in the embed, but it also has some stuff that's not in the video, so read the stuff I wrote below! 
 
	 
 
 I was recently stuck on a really long, 6 hour flight. Luckily, I had an internet connection the whole time, and I was…

	 
 It's everyone's favorite new trombone music rythm game! 
 
 Note: this blog post is more or less adapted from a script I used to make my YouTube video on this subject. So if you want to watch the video, I've embedded it here! Or if you like reading more, then go ahead and read my post below! (I can't stand the recent trend of making content that's video-only so I refuse to…

	 
 Ron Swanson as Ron Weasley! 
 
 For the past few months or so, I've been noticing a lot of news stories about DALL·E 2 , an AI image generator that uses GANs to create images from prompts. It was private for quite a while, and there were some similar, less powerful projects that were open. I played around with them a bit but I was waiting for a general release. I ended up…

 
 
 Unless you've been living under a rock for the past few days, you've heard of this game online called Wordle. It's been growing like crazy and the New York Times even wrote a profile on the creator . If you know me, you know I like automating things, so it should be no surprise that I decided to automate playing the game. Here's a blog post on how I did it.

 
 
 I recently switched teams at Amazon to one that is using SwiftUI and Combine, so I finally have a good excuse to learn the two. I am somewhat familiar with Functional Reactive Programming from using RxSwift at Lyft, but I've only really dabbled a bit with SwiftUI. 
 I decided to spend some time last weekend (and this weekend) rewriting most of my Zwift clone app to use…

 
 
 I've had a lot of free time in the past few weeks so I decided to spend some of it working on side projects. I really enjoy reverse engineering apps, so I decided to take a look at Quibi. 
 Quibi (short for "Quick Bites") is a video streaming app/service that has a bunch of shows that are short. The idea is that you can sit on a bus ride and consume an episode or two,…

 I haven't been working as much on my workout app since it's been good enough for me to use as a replacement for Zwift with the most recent changes I wrote about. 
 I got a new iPhone so I had to build and install the app on my phone again, and after firing up Xcode I decided to go ahead and add a few more things that I was meaning to add to the app. The app hasn't had a good…

 I was in California about a month ago for work and I was able to attend a few events during WWDC week. I read a lot about the new features and APIs but didn't really have a lot of time to mess with stuff like SwiftUI, etc. I got a stupid idea for a project but I didn't really take the time to work on it until this weekend. Now I'd like to introduce you to my latest app: Bark Mode!

 I’ve been a bit slow to update my blog series about trying to make a clone of Zwift, but not because I’ve stopped working on it. Rather, I’ve been able to use the “MVP” of what I’ve built so far in parts 1 and 2 , and I was finding that the time I spent working on my app could be used actually working out. Like, I literally would write an implementation of something, but it would take so…

	 
 A very colorful Zwift Workout 
 
 Last time, on “Making an iOS Zwift Clone to Save $15 a Month” I wrote about learning Core Bluetooth to connect to my exercise bike and get data streaming directly to my app . 
 Since writing that article, I cleaned up the implementation of the Core Bluetooth service a bit and started supporting some additional data like distance,…
It’s been a while since I’ve worked on a personal project, but I’ve been having an itch to make some new iOS apps and yesterday morning I decided to go ahead and hack something together. 
 I recently purchased an exercise bike called the BikeErg (I think the name has something to do with the rowing machines that the manufacturer also makes). The bike has a built-in computer that keeps track of…

	 
 Me speaking at iOSCon London 2018. Image copyright Ed
Telling 
 
 A few years ago, I made a goal for myself that I would start speaking at conferences. In the past I had gone to quite a few awesome conferences and I really admired the folks who could get on a stage, share a bunch of knowledge and inspire an audience to do cool stuff. While I had a bit of experience…

 
 R.I.P. old blog! 
 
 A week or two ago I got an email from Google telling me that my blog had once again been hacked. I've written before about getting hacked and I basically knew how to unhack myself, but I put it off for a bit until I checked my website again and noticed that Chrome was warning me to avoid it! This was pretty much the last straw. I decided to move off of…

 I got an idea the other day when I was looking at my co-worker’s iPhone X sitting on a desk. I thought that I could have mistaken it for my own phone, since iPhone X comes in two colors and you have a 50% chance of having the same phone color as any other person. I was thinking that if I did mistake it as my phone and entered my passcode, I’d basically be transmitting the key to all of my…
It’s been a while since I wrote a year-in-review on this blog, let alone any blog post. 2016 was a big year though, so here’s some stuff I did. 
 In January Emily and I moved from Ann Arbor, Michigan where we had been living for a few years (Emily since grad school and me since the last time I moved back from Chicago in like 2012) to Seattle, Washington. I’ve loved Seattle ever since I moved…

 Last Thursday, Apple held an event where they announced a few things, including a refresh of the Macbook Pro line that killed all of the good ports and added a touch bar to replace the function key row. I was actually in a meeting during the announcement but I had heard of the touch bar through a story about a leak. Someone on Twitter put a bounty of $5 on the first fart app for the touch…
I’ve been fascinated with solar energy ever since I was a kid and my brother had a toy with a motor attached to a mini solar panel that you could run under a strong light. In recent years, solar panels have come down in price and now seemed like a good a time as any for me to experiment with it a bit. I took a week long staycation from work a few weeks ago, and in preparation, I did a bunch of…

	 
 A sample of some UIViews that are basic 'functionalities' in a 'Multi-view Application' 
 
 So for the past few weeks we've been trying to hire for a contractor position to work on our iOS app. Along with the rest of the team, I've been reviewing resumes on a really corporate looking website that have been submitted by recruiters on behalf of candidates. It's an…

	 
 
 As a beginning iOS developer, I remember learning a lot of the craft by trial and error, paired with many of the WWDC videos of years’ past. I was very lucky this year to 1) get chosen for the WWDC lottery and 2) work for a company that would support my trip to San Francisco. The week flew by and I went to some really interesting sessions. Here’s the things I found most…
Last Saturday I got married to my longtime pal Emily . Emily handled a lot of the wedding planning and she did a really great job. I wanted to do some fun things for the wedding and reception and thought it would be fun to make a way for friends to share their photos of our day with us. 
 I was thinking that it would be easy enough to give people an Instagram hashtag and be done with it, but I…

 
 
 Everyone I know loves a good Apple product-based trivial controversy. There was Antenna-gate, and Bend-gate which happened just last year. Back when the first iPhone came out, Apple dropped the price a few months after release and early adopters were pissed. No one can say if there will be a real issue with the watch, but I figure it would be fun to make a list of potential ones.
The Idea 
 A few weeks ago, I noticed a tweet from John Sheehan asking if there was an automated tweet -> screenshot tool: 
 
 
 
 I thought it was a pretty interesting concept that would be fairly easy to implement and had a small enough scope that I could use it to learn some more Javascript. After playing around with Ghost Inspector , I knew it would be possible to render a…
Act 1 
 Ikea Stockholm. The average college student would scoff at such luxury, but as a first-time homebuyer, I wanted the best. When I saw the Ikea Stockholm TV Unit (in walnut veneer), I knew I would have it. The problem was that it never seemed to be in stock. 
 
 
 Behold the majesty. 

Since I moved to a new home that’s closer to work, I’ve been riding my bike to commute at least a few times each week. My commute to work is very easy as it’s almost completely downhill. I pay for it on the way back, though. I’ve been trying to get healthier, so commuting with my bike has definitely become a priority. In addition to having fun, I’d also like to motivate myself to ride more often…
I finally got the LG G watch that I won in a contest about a week ago. I replaced my Pebble smart watch with the Android Wear device along with using my spare Nexus 5 instead of my iPhone. It’s been about four days or so since I made the switch so I thought I’d write up my impressions.
Last week I went to a GDG Ann Arbor Android meetup on Android Wear. The presentation was set up by Google and had a bunch of information on the upcoming Android Wear SDK. At the end, it was announced that there would be a few vouchers for Android Wear devices available. A design contest was announced and the deadline was set at Sunday. 
 Being naturally competitive and really into new…
This past month at FarmLogs , we implemented a versioning scheme for our internal API. API versioning is often a difficult transition to make, especially if you’re using a third party API and dealing with deprecations (Facebook, I’m looking at you!). It’s often a chore to figure out exactly what has changed between API versions unless you have very good documentation. 
 Coincidentally,…
A few weeks ago my friend Emily asked me to speak at the Ann Arbor Mini Maker Faire for their speaker series. I said “sure” and figured I’d talk about something like app development or design. I ended up picking a more “Maker Faire-y” topic since I thought it would work better for the crowd. 
 I’ve been really getting into home automation and buying a lot of “internet of things” products…