• Capturing magic

    When I first started blogging again and then building Tanzawa (the custom CMS that powers my site) a couple years ago, I forwent adding comments. People (who knew) could comment on my blog using webmentions from their own blog, or if I was backfeeding them from a silo using brid.gy.

    My thinking at the time was that people aren't going to read my blog anyways, those that do probably have their own IndieWeb blogs, and backfeeding will take care of the remainder. And I didn't want to deal with spam. I'm not sure all of that's true. ( I still don't want to deal with spam.)

    I've been searching the magic that was blogging ~20 years ago. You'd write posts on your site and somehow, through the magic of the internet, people would find it and they'd leave a comment. Often their message included a link to their own site (as a field in the form, not in the comment – that'd just be spam). And you'd visit their site and leave a comment. And before you knew it, you had a new internet buddy in who knows where. I still keep in contact with some people I met this way (though via messaging apps).

    The core enabler of this magic was that there was a no-fuss way to interact directly with the author of the blog you were reading. It didn't even require an account most of the time. Communities could form on any given site because of this one feature.Β 

    Maybe it's time I look into adding comments on the blog. I might capture a bit of magic.
  • Mufasaing

    Nothing makes you feel old before your time like a back injury. Let me rewind. Leo doesn't always like taking a shower/bath. One day, while in America, instead of taking a shower with me, he by himself. But he's only 5Β  – he still needs help.

    The shower head in the house we were staying was fixed to the wall i.e. it didn't have a hose. And the water pressure left a lot to be desired. In order to rinse Leo I needed to hold him up like Mufasa presenting Simba to the rest of the animals on the Lion King so I don't get wet. As he was against showing in the first place, the moment I start Mufasaing him, he starts throwing all of his 15kg of weight around and tweak.Β 

    Back in Japan I visit the orthopedic doctor and as I suspected he gave me a hernia. The fix will take a couple of weeks, but mostly seems to involve heating to relax my back and then putting me in a chair that lays me back and gently pulls my hips / stretches my spine until everything goes back to where it's supposed to be. What a pain. Literally.
  • Coming to America

    Coming back to America after being away for six years for a short trip is nice. I get to experience America almost as a kind of foreign tourist. I can soak up the joy of the absurd and, as a former resident, notice all of the small changes that go unnoticed by the current residents. I'm still mostly fluent in the culture and the long-term problems and issues I'd have to face is if I were moving don't apply.

    The absurd: peanut butter flavored dog ice cream. Directly next to human ice cream.

    Going shopping at H-E-B and Target is fun. If I'm honest with myself, I miss amount of choice available in your average Target or Supermarket. Take the cheese section, there's Colby jack, Swiss, Jalapeno monterey jack, and probably 10 other varieties in block, slice, grated, and cube form. Compared with "melting cheese" (as opposed to cheese that doesn't melt?) and fake cheese slices in Japan, it's hard not to get envious.

    I'm not a huge consumer of BBQ sauce, but just look at this selection.

    A different sauce for every day of the year.

    Even the Asian section is quite good these days. Plenty of options for nori and other basics. You can even buy bottles of unsweetened green tea.

    The clothes section's manikins are not slim any longer. They're mostly plus sized. Even the models in the swimsuit section aren't thin, instead also showing plus sized models. It better reflects the clientele and I reckon that's a good thing.

    Everything's bigger here. The portions, the roads, and the cars. Part of that is because Texas. The truck density has always been higher here. They drive fast, too. Most roads have highway-level speed limits in Japan (40mph / 65 kph). And when you walk along on the sidewalk next to 3 lanes of cars driving over that speed limit, it doesn't feel safe. Stroads are the worst.

    Needing to get in the car to do anything or go anywhere is definitely something I did not miss about America. As far as the eye can see there's solid cars all traveling in the same direction and yet nobody thinks "maybe this doesn't make sense for us all to be traveling independently together. Maybe this is a giant waste of resources and time and money."

    Nobody seems to think that there's any other way. That ceding life to the automobile is the way it always has been and the way it always will be. You can feel the hostility of the design to anything isn't a huge metal box.

    America is best in small doses. Stay long enough to embrace the absurdness of it all and leave before the reality seeps past the rose-tinted glasses.
  • Looking back on 2022

    It's that time of the year for me to reflect on the past year and judge how it went. See previous editions forΒ  2021 and 2020.

    tl;dr 2022 was a good year for me, generally speaking.Β 

    Side Projects

    I expanded my side projects from one (Tanzawa) to two (Tanzawa and SunBottle).

    Ask me 2 weeks ago if I was going to finish everything I hoped I would in Tanzawa this year and I would've said "probably not". But with a burst of inspiration, I completed the Strava integration, which rounded out my main goals:
    • 1-click-ish deployment (close enough for me with the fly.io deployment instructions)
    • Theme supportΒ 
    • Strava plugin
    • Bonus, as to support the longevity of the project, a proper refactor.

    There's a lot yet I'd like to do in Tanzawa next year:
    • More robust Strava plugin. More stats. More maps. More bells and whistles.
    • Migrate the remaining bits of Turbo (and maybe Stimulus, if possible?) to HTMX.
    • More plugins and settings. I generally like Trix, the WYSIWYG editor I use in Tanzawa. But sometimes I want to write certain posts in Markdown.
    • Better syndication UI – so I'm not always manually syndicating things to Mastodon
    • Photo/Gallery/Video(?) post support. I've got a blog post in my drafts outlining this from August. I should finish it.

    I wasn't expecting to start this project. But after I got solar installed on my roof and I hadΒ  to use Sharp's slow/ad-filled(!) "app", I had no choice.Β  I don't have any real big/long-term plans for Sunbottle. I do plan to integrate it with Octopus Energy's API, so I can make a page to to breakdown my costs/savings with my small array.

    I am thankful this project came up though, because it gave me reason to stick to figuring out how to deploy simple Django apps on Fly.io, which unblocked me with getting Tanzawa onto a managed service.


    Each year people say they're going to start taking more care of themselves this year and then they do good for a month or so before falling back into their old patterns and habits. I am no different.

    Last year I set myself a goal to run 100 times. I missed it by quite a bit – only 57 runs. If I include proper rides, I get up to 69 events. BUT! This is the most I've ever run in a year! Here's my totals:

    • 2022: 57
    • 2021: 25
    • 2020: 12
    • 2019: 4
    • 2018: 51
    • 2017: 16
    • 2016: 0
    • 2015: 9
    • 2014: 19
    • 2013: 0
    • 2012: 1

    If current trends continue, I reckon I should get to 114 - 116 runs next year. ButΒ  I'm going to keep the same short-term goal: 100 runs. I think I'm also going to set a proper long-term goal with running to help me focus more on long-term health.

    Which is to say, I'd like to try running around the earth. That's 40,075km. In an effort to support this goal, I'll be adding a tracker to my running page. I'm 37 now...better start making those runs regular...


    This year I tried to focus more on family. We made a lot of memories. We went to Disneyland, went camping, went with cousins to a big pool, and stayed the night in Yokohama. And with the flexibility of my job, I was able to take time off and tend to Leo whenever required, no questions asked. It's a huge help.

    On the other hand, I wasn't as good about contacting family back in the US. I chatted on the phone with my dad a number of times and my step-dad a handful and my mom twice? Despite the connectivity provided by modern technology, we don't talk often. Part of it is timezones. Part of it is texting feels like connection, but it's not. Part of it is conversations only seem to happen because I made the call. Each call always involves some calculus of me trying to remember who did I talked to last / when...and weekends are full....and this is how we got here. It's not good though, as you never know when you'll lose somebody.

    Next year though, we bought some tickets to visit Texas, so at a minimum, I will have seen and chatted with everyone at least once.


    Work went really well. I started properly managing people this year, which has been a challenge as there's so much for me to learn. There's currently 4 people on my team (including myself) and we will be expanding it more next year.

    I made a trip to London for work, which was really great. Not just because I'd never been there before, but because I got visit headquarters and see / meet the rest of the team I work with day-in-day-out. I also got to really give Tanzawa Trips a proper test.

    Back in Japan we had a company BBQ, which I took Leo to, so he could meet my work friends, which was a lot of fun as well.

    My hope / goal for the next year is that the team and culture inside the Japan team stay like it has been, no matter how much we may (or may not) grow in the coming year. As difficult as the tech can be, software is a social endeavor and scaling people takes more time and effort than just spinning up some more boxes in a data center.


    I'm not sure how to end this post. To reiterate that 2022's been a good year and I've learned heaps. I have some rough and some concrete goals for the next year. Like last year, this year, I will make a note of the major ones in my now page, so I don't forget them and can track them overtime.

    If you've made it to the bottom, thank you. I don't have any analytics on site, but if you do read this (or any post) and have a comment, I'd love to hear from you by email at james@jamesvandyne.com.
  • Tanzawa Strava Integration Merged

    Just in time for the new years resolutions (and the last possible moment for me to hit one of my own 2022 goals), Tanzawa integrates with Strava via a new Exercise plugin. This initial release is the absolute minimal viable integration.

    This is what the admin screen looks like:
    It works like you'd imagine: click the Import from Strava button to import your latest activities. While it's storing the mapping data, it's not displaying them yet.

    There's also a public page that's added to display some stats of your running. It looks like this:

    Again, quite minimal. I even wrote some documentation for how to enable and set it up.

    Both of these pages will be evolving a lot over the coming weeks as I now have a foundation in Tanzawa for working with Strava data in place. On the admin site, I'm planning to add mapping and more detailed information. On the public side, I'm planning more statistics and comparisons, including some fun ones that'll help us track really big goals.

    If there's anything you think is a must have or some fun ideas that one could do with the data, I'd love to hear them!
  • Running Tanzawa with Fly.io

    Taking a page out of Simon Willison's Coping strategies for the serial project hoarder presentation, I'm going to write a blog post about what I've done on my projects as part of the "unit of work".

    One of the largest hurdles to running Tanzawa is one that plagues any Django app: getting it setup properly on a server. This usually involves connecting to a server, setting up a gunicorn or uWSGI server to run the app, editing nginx configurations, and fiddling with systemd, at a minimum.

    Each of these are a large barrier to entry. All of them combined means only the most dedicated users would attempt to use it. And the reality is nobody will use it.

    Making Tanzawa easier to install and run has long been a goal of mine. For a while my approach was to basically automate my own setup on Digital Ocean. I attempted this with two puppet scripts: one, created an Ubuntu server that automatically applied security patches and installed Docker, and the second would build a Tanzawa image to run on the server. Using puppet would also allow flexibility for people to host wherever they wanted.

    Ultimately this approach was flawed because you'd still end up needing to maintain a server, even if it updates itself.

    Getting Tanzawa to run on a fully managed platform like Fly.io would lower the barrier to entry quite a bit as it would remove the need to maintain a server and fiddle with configuration files. After migrating my blog from a Digital Ocean to Fly.io, I documented how others can do the same.

    Hosting with Fly.io is now the recommended way to use Tanzawa.
  • Seeing the future

    When I was considering joining Kraken my major motivation was wanting to actively work in an organization that's combating climate change. Especially with a young son, it felt irresponsible to be so worried about something and yet not actively doing anything about it.

    One of the unique things about Kraken, besides the people, is that it's not just a software company. It's part of a larger group of companies that are all addressing different aspects of the energy transition.

    Parts of the group are working on grid flexibility. Others are working on electrifying households with solar panels, heatpumps (installation and manufacturing), and EVs. And others are building and managing wind farms and solar farms.

    And on the inside you can see the work of the entire group, the work of the energy transition, all happeningΒ  at pace. All deploying their part of the solution. It's so very clear that all of this is the future.

    When you can see the future like this, a future with clean air generated with an abundance of clean electricity used intelligently, you can't help but be motivated to show up and do your part to make it a reality everywhere.

    It's like being part of a solarpunk story, but it's not fiction. If this sounds interesting to you, we're hiring worldwide. I'm happy to answer questions as well, so email or @ me on Mastodon.
  • First billing cycle with solar

    First month/billing period for my #electricity after #solar #pv install completed!Β 

    My solar/monitoring wasn't installed or active until 3 days into the billing period, Oct. 15 - Nov 14th, so there's not 100% overlap.

    Total Generation 282 kWh
    Consumption hasn't changed much 283kWh (2021) vs 290.3 kWh (2022).

    Bought: 119 kWh
    Sold:Β  Β  Β  Β  87 kWh
    Net:Β  Β  Β  Β  Β  32 kWh

  • Remembering Kelly Wilson

    I got a text from my brother, we lost our Uncle Kel. We knew it was coming, but it's always too soon. You're never ready. I was hoping that I'd be able to see him one more time. That he could meet our son. Life had other plans.

    I didn't see Kelly often when I was a child. But when we did, it was always a good time. One time we were standing around his house in California making guacamole and snacking on avocados. He taught me the trick of drizzling just a touch of creamy salad dressing on the avocado and eating it with a spoon. Eating an avocado directly with a spoon had never crossed my mind. I do this sometimes now, and I always think of him when I do.

    He was very mechanically inclined and took pride in his work. If something was supposed to move but didn't, be it a vehicle, a machine, or a factory, he could diagnose and fix whatever was wrong with it. When he fixed something, he'd fix it right, leaving it better thanΒ  it was before.

    One summer day in college, I joined Kelly out in the oil fields east of Houston. We left at 5:30am for the 90 minute drive out. We stopped by his usual convenience store for morning coffee. It was a good start to the day.

    The entire day, IΒ  just tagged along, after all I'm a suburban boy who's good with computers, not much help out in the oil fields. We're pouring sweat in the Texas heat when Kelly gave me one bit of advice that I still reflect-on. He said, "Stay in school, you don't want to be working out in this heat everyday. Finishing school will let you work in comfort".

    It was simple advice. I've long since finished school, but that one day with Uncle Kelly gave me a greater sense of empathy for people working outdoors. Almost every time I see someone really working hard outside, I think of him and his advice.

    Kelly was always curious. Before moving to Japan, he asked me to send him photos of Japan. Not postcard style photos, just things that you wouldn't normally see, things that let a person know "hey, you're in Japan".

    Being a good nephew, I obliged. I'd send him random photos of the mundane: a coin laundry machine sitting outside an apartment building, traffic signs giving you the real-time traffic delays, cigarette vending machines. For good measure I also sent photos of random wtf Japan too, like cars tricked out with LEDs all over them.

    As time wore on, I sent fewer photos of Japan and more photos of Leo, usually on big milestones (he's standing! he's riding a bike!) or on Father's Day.

    I'll miss these little back-and-forths. I'll miss seeing something Japan and thinking "Oh, Kelly needs to see this!" and snapping a photo for him. While I can't send him a photo any longer, I will continue looking for things he might enjoy and snapping photos of them.

    Thank you for everything Uncle Kel.
  • Roadrunner

    I first discovered Anthony Bourdain after graduated college when I first started work and living in Japan. I'd watch No Reservations in a tiny 1K apartment in Yokohama, not far from where I live now. His words, spoken on screen or in print, always left an impact. They encouraged me to explore the world around me.

    Here was a man who got it. Be a traveler, not a tourist.

    Each episode a new adventure. Each episode a reminder to be curious. He was – he is, a hero of mine.

    Watching Roadrunner, you see a fuller picture of the man. His struggles, his pain, and the pain he caused others. You get a glimpse at happy moments, too. Tony being just a regular human. Having never met him, it sounds odd saying this, but you also get a sense of closure. His death makes more sense.

    I highly recommend this film to any fan of Bourdain's.
1 of 5 Next