But it’s almost 2023 now. The world is different, the online world is very different, and I’m pushing 50. So I think it’s time we all start talking about online gathering places with a more apt metaphor: bars.Very apt description of online community. You can't have a good bar without a good bartender (community manager). The big social sites always try to outsource the bar tending to AI or outsourced moderators to save money, but it doesn't work.
- Under the hood, Tanzawa uses django-webmention to support inbound webmentions. As I've been updating all of the backend dependencies for Tanzawa, I noticed that it didn't work with Django 4.0 and so I made a small PR to fix it, which was released as a new major version (as we also dropped support for old, unsupported versions of Python/Django).
- On the Sunbottle front, I had some inspiration and a few spare cycles so I built a "But, is solar worth it?" page, which breaks down exactly (minus tax) how much solar is saving me. In the almost 3 months, it's over
- After using the same 3-fold leather wallet for 12+ years, I bought a new canvas wallet. It's a bit bittersweet, as my old wallet is still usable – the leather's in great condition, fabric inside isn't torn up, the wallet is just too big. It has many features I've grown to love, like the divided coin wallet, allowing me to separate ¥100/¥500 yen coins from everything else, as well as keeping small things like sim cards so as not to lose them.
Why now? I've been thinking about it and looking (half-heartedly) for a couple of years for a worthy replacement. But rather than looking for the perfect wallet, I decided to that "good enough" will suffice and that over time, I will grown to love this wallet like I did my old one. I went with canvas instead of leather because it's lighter and there's no animals harmed in its making. A small step in the right direction.
- We booked our hotels and car for the upcoming trip. As much as I wanted to do electric, the only option was a Model 3 at 70~ / day, which would have run is about $1,500 for the trip. A wee bit more than I want to spend and about double what we're paying for a small Mazda CX-5. I also went in to the police office and submitted paperwork for my international driver's license. It was mostly painless. Glad I went early as it takes a couple of weeks for them to prepare it.
- Media wise: For the past couple of weeks, I've been reading The BFG with Leo. It's his first chapter book and he's mostly understanding, or at least mostly listening and we're about halfway through. We watched the first Harry Potter on Netflix and Leo didn't get scared or anything.
Lastly, I started watching Ikebukuro West Gate Park, which I last saw in high school. I used to really like Japanese dramas back then, these days I never make time to watch anything. The theme song for IWGP is this song by SADS, and it reminded me how, years ago, I lost most of my music collection to canceling my iTunes Match subscription, including all of my jrock. Worth a watch if it's on Netflix in your country, imo.
Along the tracks of the Odakyu line.
When was the last time you were in a music shop? Sooo good.
A rare weekend lunch out without boyo.
- It's the start of a new year and I've had quite more free time than usual, which meant I enjoyed making heaps of progress on various bits of Tanzawa. I merged initial support for owning my own activity / exercise data via an integration with Strava. I made sure to write it in a vendor agnostic manner, so should I need to switch to a different provider, or someone else wants to use a different app, having them co-exist will be quite simple.
- I'm really proud of the public runs page I've managed to design thus far. There's still room for improvement, but I'm really happy with the gallery of paths. Fun fact, the open graph/meta image that's displayed when you link to it changes each time I go for a run. If you haven't yet, give it a scroll.
- Back to the new year – we did the usual, soba noodles at the in-laws on NYE and a visit to the shrine day-of with a traditional Japanese breakfast. Leo has started eating udon noodles recently, so he had udon instead of soba. This style of new years has it's charms, but it would also be nice to go out or travel somewhere, too. Maybe someplace warm.
- Before NYE, we did spend the night in downtown Yokohama and it was a lot of fun. Leo ice skated for the first time and really enjoyed it. By the time we finished, he was just getting the hang of it. Compared to the last time we had breakfast he did fantastic at the buffet this time around. He walked with me, picked out bacon, ham, eggs, bread, potatoes - and ate it all.
As promising as the morning started, like most trips we take, he doesn't quite understand (or want to accept) that we can't go back and do the same thing again the next day. So he had a public meltdown between the hotel and the station because he didn't want to walk and I didn't want to carry him. There's nothing worse (there is, but roll with me here) than having a crying kid in public when there's all these happy kids and families walking by...you just start asking yourself what did I do wrong? Why can't my kid walk/smile/run like those kids. The answer is those kids aren't always like that and my kid isn't always like this, but it really sucks ending what's supposed to be a fun/relaxing trip this way. In the end, he walked all but the last 10 meters to the subway gates.
- Speaking of trips, our trip to the US is now exactly 1 month away. I should really start preparing things like my international driver permit. Hope I don't get pulled over in some small town and I have to explain why I'm not driving on a Texas/US license.
- We were one of the lucky ones and scored a Starbucks Fukubukuro, or "lucky bag". A lucky bag is a grab-bag with unknown contents with a steep discount. Doing these in the shops would be impractical for a brand like Starbucks, so it's all done bu raffle. But for ¥7,500 we got about ¥20,000 worth of goods. Included were a couple of tumbers (including a nice stainless ones), heaps of drink tickets (wasted on someone like me, who usually only gets black coffee), some beans, a coupon for free 250g of beans, a waterproof bag, a hand warmer holder(?), and of course the nice reusable tote it all came in.
- I read a good article called Bring back personal blogging on Verge. Regular readers know I was nodding along the entire time. Getting back into regular blogging a couple of years ago is probably one of the best decisions I've made. Starting a CMS so I can tweak the entire system is a close second. Each week, I grow a bit more fond of my little corner on the internet. Though that might just be the healing power of code.
A screenshot that captures why I love owning my data: I can visualize and mash it together how I want to make something new.Here's all of my #Strava #running routes as svgs...looks like some fun abstract art. Give it a scroll.
🎍Happy New Year!🎍
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 ProjectsI 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.
HealthEach 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...
FamilyThis 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.
WorkWork 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.
ConclusionI'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 firstname.lastname@example.org.