-
The Week #134
by- After weeks of sunny clear winter weather, it's been cloudy and cold this week. Just in time for us to start a new billing cycling and for me to discover that my tariff calculation was wrong if usage was less than the max of the first tier. I fixed that bug and now I'm back to enjoying checking my savings page without having a heart attack at the cost.
- We've been planning a bit more for Leo's birthday party in the US. I was thinking Mario themed and literally the first image I see on Party City (a chain store in America that sells party supplies / balloons) is Mario birthday supplies. All of it is great and...surprisingly...not that expensive?
- Growing up I watched a great sitcom called That 70's Show about a bunch of bored teenagers doing things that teenagers did in the middle of nowhere. They rebooted the series with the original cast with a new show That 90's Show on Netflix and it's fantastic. I hadn't realized how much I missed Red, the hard-nosed dad.
-
The Week #133
by- This week marked 12 years of marriage. I don't know how it's already been that long, but the dates, they do not lie. I couldn't ask for a better friend and partner in
crimelife. - I ran my longest run in a very, very long time. My usual runs are about 30 minutes (especially as of late following Time to run). The last Time to run was an hour long episode running Central Park and it went by rather quickly. In that hour I ran 8.6km, which I'm pretty happy. I didn't have any distance goals for this run, I just wanted to get through the entire hour.
- In birdsite news, they seem to have cut off API access to all big clients. I reckon they're trying to force everyone onto the main clients for the ad revenue. But what a slap in the face, they didn't even give any notice that access was going to be turned off. They just did it and then were silent about it. What a joke of an operation it's become.
- More refactoring on Tanzawa. The "small" change of getting rid of Turbo is
forcingallowing me to tackle some hidden tech-debt with how my templates are structured and divided.
Currently users only see one form/one save button on the screen for a post/location/syndication urls, but under the hood (on the backend) it's actually 3. Processing 3 separate forms as 1 hasn't sat well with me since I implemented it, so I'm going to embrace my new yak shaving hobby. My plan is to pull location into the post form and move syndication its own section with its own save button/url. Maybe the first steps in adding native syndication support? Who knows, I'm but a lowly yak shaver. - Our trip to America is getting ever closer and we're starting to solidify plans a bit more. We've got a couple of dates booked to see friends. While we're staying in the burbs, the place we're staying is walking distance (with sidewalks! and traffic signals!) to a bunch of different restaurants/cafes we used to frequent nearby...so I'm starting to think about all the tacos and sandwiches I'm gonna eat. Assuming there aren't any polar vortexes this year, it looks to be a nice 23-ish out, about 10 - 15 degrees warmer than Yokohama.
- I don't speak Portuguese, but a co -worker shared this Brazilian Samba mix at work and it's incredible. If you just need some feel good, happy (presuming here β I can't understand a word) tunes to groove to - these thems.
- This week marked 12 years of marriage. I don't know how it's already been that long, but the dates, they do not lie. I couldn't ask for a better friend and partner in
-
The Week #132
by- 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
Β₯21,500Β Β₯22,000. - 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.
-
The Week #131
by- 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.
2023 Starbucks Fukubukuro contents - 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.
-
The Week #130
by- Hard to believe that this is the last full week of 2022. I haven't yet gathered my thoughts for the year or made a roundup post as I usually do, but I'm relatively pleased with how the year's gone.
- I finished work for the year on Wednesday. I think this might be my first big break since this time last year. Otherwise it's been days off here and there because someone needs to watch Leo or we're sick with Covid. I felt like I really needed this break a couple weeks ago, which means I waited too long to take proper leave.
- The big event this week was the double-whammy of Christmas and my wife's birthday. We celebrated at the in-laws house with a small feast and cake on Christmas Eve. I went full American and made some rosemary-garlic roasted potatoes, a shredded carrot/apple/raisin salad, and cheeseball(!!). The cheese ball was only possible because my dad sent heaps of ranch dressing mix packets along with the heaps of Christmas cookies. So good. Much fat.
- As we're planning to visit American we decided not to get presents for each other, but as usual, Leo scored. Santa brought him the Adventures with Mario Lego Starter pack. It's about 10x cooler than I had anticipated. The Mario actually takes batteries which powers some scanners in his bottom. He audibly/visually reacts to the color that he's standing on, e.g. on red, he makes noises like he's in lava, and blue like he's in water and so forth. Even cooler though is the goomba / ? blocks / Bowser Jr. have a barcode block on them that Mario reads and he makes sound effects, or gets an item. If you lay him down his gets sleepy and falls asleep.
From mom and dad he got a Jet Kids carry-on luggage. It's cool as he can carry his stuff, but it can be placed in front of his seat to turn it into a kind of bed. Then we found out that United doesn't allow them to be used on any of their flights... As long as he's in the window seat, I don't think it'll be a problem if we use it (unless they explictly call it out when we board, otherwise I reckon we can just feign ignorance). - Side-project wise I merged that big refactor of Tanzawa's internals and it's working as anticipated β great.Β
I also added consumption scraping to Sunbottle. This means I can now see how much electricity I actually use again. I've started using it to show how much I generated and how much I consumed the previous days and it's quite handy. This feature sets the groundwork for me to start on the "billing" code, so I'll be able to have a page that shows how much my usage would've cost without solar.
But as the billing code is a bit too much like work, I've shifted focus to another Tanzawa feature I stated as a goal at the start of the year, didn't start because of tech debt I've recently paid off ( aforementioned refactor and moving from Gunicorn to uWSGI): Strava integration. It's coming along nicely and I think it'll get in before the end of the year...which leads me to... - I've been subscribing to Apple's Fitness+ for ages, not on purpose, but because it's included in Apple Ultimate (or whatever the tier is called that gives you everything for cheaper than increased storage, music, and apple tv). I went for my first run using Time to Run, and it's great.
Usually when I'm running I'd pick some music and a timer for 30 minutes or so and just go. You're left asking / deciding "what do I want to run to today?" or running into slow songs as the worst time. It's difficult to explain with words (and that won't stop me from trying!), but it is...like a coach in your ear and a tour of a city at the same time but it doesn't matter than you're not in that city.
At the start of the run the coach explains the run (3 difference paces, repeated twice etc..) / the city/course that this run is based on. The music is set for the location, pace, and cut to match the different sections.Β e.g. The first city was Miami, which has a large Cuban/Latino community, so all of the music was in Spanish and there was a nice 2 minutes of up-tempo song when it's time to run fast, slower songs when it's time to slow down etc..
Just as important is the reminders between each section for what to focus on. Focus on your breath and keeping it steady. Use your arms, keep them close and use them like a second set of legs.Β
I've only used it once, but it made a 33 minute run fly by. Not having to select music is one less thing for me to think decide when running. Having story and photos of the location pushed my watch while I run is entertaining. The couching and encouragement while running, even if it's from an audio recording, is somehow quite motivating during the run.
-
The Week #129
by- After years of regularly and then sporadically saving for retirement, I've finally automated it again...kinda. If I were in the US, I'd have access to regular retirement accounts and things could be deducted in a tax efficient way from my pay check. As an American, I also can't take advantage of any non-US retirement savings schemes (π€ͺ). So what I'm basically left with is depositing some amount into into a regular taxed brokerage account.
What I've setup is: an automatic from Wise to my US bank account, and a few days after an automatic withdrawal from my US bank account to Vanguard. The two bits I can't automate are: the wire/furikomi from my Japanese bank account to Wise and once the money is actually in Vanguard, purchasing of ETFs (VOO index funds, mostly). My hope is that Wise will send me an email with the amount I need to send in yen each month (because exchange rates change). - Setting this up makes really happy. It's been one of those tasks in the back of my head for quite a while and the crap exchange rate made it even less attractive. The exchange rate is still horrible (but less so). I reckon it will all even out in the end. But perhaps the best bit is I discovered I can now purchase fractional ETFs.
I'll explain. Let's say I have $200, and I want to buy 1 share of VOO (a S&P 500 index fund) that I'll sell off when I rewrite, and it costs $350. Normally,I have to hold my $200, not earning anything, wait until I had $350 and hope that by the time I did the cost hasn't risen to $400 and make my purchase. Now I can just buy $200 worth of the stock, which makes it much easier to invest the same amount each month, no matter the price of the stock. - There was a bunch of noise on the bird site with the owner doing stupid, stupid shit. Like blocking linking the other sites stupid. ON THE INTERNET. :facepalm: Good riddance. So glad I've made my home on the internet my own domain / IndieWeb enabled.
- I've been making really good progress on my major refactoring of the Tanzawa. This has me mostly pulling logic out of ModelForms and moving them into application/domain functions that I can reuse throughout my site. The create methods have been refactored and the update methods are mostly so. I reckon I'll need another pass at views themselves as they're a bit crufty, still.Β
- We had a Christmas social at work to celebrate the year and it was a lot of fun. We've grown so much in the past year. We went to Soul Food House in Tokyo. I've been wanting to try that place for years, but it's in central Tokyo β some place I'm not going to go unless I'm in the area. Maybe it was the classic American cooking, or maybe it wasΒ the Christmas poem read in an English accent, but it finally felt like Christmas is starting.
- Friday was Leo's Christmas pageant where the school puts on a play about the birth of Jesus andΒ then they sing some Christmas songs. When thinking about the amount of chaos you'd expect at a pre-school production of...anything, and then reflecting on the various happenings (kids crying, kids running around, props falling over) that happened during the production...I came to the conclusion that there was just the right amount of chaos this year that it kept things interesting. Not enough and it gets kinda boring, "what are these kids? professionals?" you think to yourself. But they really hit the mark so well, I even heard one of the moms mention the chaos during the show. I'm looking forward to next year when it's Leo's grade's turn to have speaking roles...and maybe a bit less chaos.
- After years of regularly and then sporadically saving for retirement, I've finally automated it again...kinda. If I were in the US, I'd have access to regular retirement accounts and things could be deducted in a tax efficient way from my pay check. As an American, I also can't take advantage of any non-US retirement savings schemes (π€ͺ). So what I'm basically left with is depositing some amount into into a regular taxed brokerage account.
-
The Week #128
by- We bought tickets to visit America for 2 weeks during February π. Leo will turn 5 in Texas. I'm really excited for him to meet everyone. I'm also excited to see what happens when he's throw into a pure English environment. It's only two weeks, but will he come back speaking more English, even if just a temporary boost? Ticket prices were still a bit painful, but not ludicrous like they were 6 months ago.
- The US not having a proper public transit system sure makes visiting a pain because it means you've got to rent a car. Which means me getting an international driver's permit (my US license expired and I can no longer renew it online). And also means me potentially futzing with a child seat after a 14 hour flight...so much better to just have trains that connect people to the places they want to go.
- Last week I started on some upgrades to Tanzawa that will allow me to update reply/bookmark titles without resorting to the Django admin. And as I started, I realized that there was a yak that needed shaving. It was time to do the next chunk of refactoring: moving my business logic out of views/django forms and into re-usable "application" functions.
It's a much larger chunk of work, but also very important. You see, to share as much code as possible during my initial development of Tanzawa, my micropub endpoint mostly just converts the micropub request format to that of my authoring views, and uses the same forms for processing.
This is problematic, not because not because it doesn't work, but because it's all too entangled together. It's a problem because it doesn't make sense that editing my author form will effect my micropub endpoint (so change it as little as possible π).Β
My functional end-to-end tests for posting just test micropub under the assumption that they're the same, so I never bothered writing tests for my author views because if it busted, I could always fallback to any micropub client for posting.
All of this is a long-winded way to say I've got a lot of refactoring ahead of me, but it's a lot of fun making things not just work, but making them right β with tests. - I started watching The Playlist, a drama about starting Spotify. I''m really liking it. Each episode is told from the perspective of one founding / important member or another, which is something I've never seen before.
- I made some overnight white bread with Leo, as his request. Each time I make this, I think I should make it more often. It's vastly superior to anything I can buy locally in the shops. If I could find a loaf like this, it'd be at least Β₯1,000.Β And because it's done overnight, it's much easier to manage the fermenting/timing of things. Slam it in the fridge and bake it the next day (or so) when you have some time.
Overnight white bread
-
The Week #127
by- I migrated my blog from a digital ocean droplet to fly.io. No longer having a background thread running about remembering to do server maintenance and so forth is great. My site is also loading a lot quicker than it was before β how much of that is fly.io vs the server is now in Narita, Japan instead of Germany...I'm not sure. Either way, happy days.
- And for some more inspiration from Simon Willison I started experimenting with using Github Issues as lab notebook. The base idea is to collect all ideas / findings as I work on a particular issue on the issue as comments and so forth.
My tweak is, I want to use Brid.gy to post the issue and backfeed my own (or others) comments on them to my own website. Other people's comments should work already, but not your own comments (yet). So I'll either need to write the integration or create an alter ego for posting my comments. Dr. Jekyll / Mr. Hyde could be fun.
All of these posts will be in the new Tanzawa stream. - Leo rode his bike to a friend's house, but the friend wasn't outside, so we continued on to the park for a bit. On the ride back we heard the infamous calling of the yakimo truck. I think of it like hearing the sound of the ice cream man driving around the neighborhood when you're a kid, but for fresh roasted sweet potatoes. He's literally roasting them while he drives around in his truck. A bit of autumn / winter goodness.
Leo's recently taken to eating sweet potatoes. As we passed him he said they smelled good, so we turned around and bought a couple from him. And they were really good. The insides were starting to caramelize... I'm looking forward to hearing that siren song again.
-
The Week #126
by- A week off of Twitter and I find I don't really miss it. There's also been a number of really good blog posts and videos about this current moment in social media / internet space and time. The one that I'm finding that resonates the most with me is PSA: Do Not Use Services That Hate The Internet.
- I got Tanzawa running, or at least 500ing on on fly.io. This time next week, I should hopefully have my blog off of my own server and on to fly.io, hopefully with some instructions for how you can do the same as well.Β
This is one task that's been eating at me for a while. There's been some features that I've wanted that would require background tasks and or cron jobs. Processing tasks/cronjobs in my current setup would require me to add more processes to the server and is a non-starter, so I've been at an impasse. I'm using uWSGI to run Tanzawa on Fly, like I do with Sunbottle, which solves the background task issue as well. I'm excited about working on Tanzawa again.Β - We've been going to the park near our house more on the weekends. Leo has gotten good enough at riding his bike that he can go down the hills using his brakes. For the uphill portion of the journey, I usually push him on the back to give him a boost. This weekend we practiced going up the hill while standing and pedaling, which got him further than he usually does. I really enjoy watching him just cruse around the park on his bike from area to area β it's almost like an extension of his being.
- While at the park, the firemen from the fire station across the street invited us over and let the kids sit inside the fire engine (both the full size and the small kei-version). The fire station also got delivery of a new ambulance (set to replace the current one), but we couldn't see inside that one, not even they've been in it yet.
- Last night around story time, rather than laying down in his spot to listen to stories, Leo was trying to avoid going to sleep so he laid on me and told me to read to him there. Of course that's not going to happen because we both can't see the book at the same time. I told him lights out (no story) unless he lays in his spot. He didn't move, so I turned off the lights and he did something he hasn't done since he was a newborn: he fell asleep laying on my chest π₯°. Back in those days he was much smaller and couldn't even cover my torso. Now, he's well past my knees. I let him lay there for a while before moving him over so I could relive the "old" days and think happy thoughts.
-
The Week #125
by- I signed out of Twitter for probably the first time since I opened the account 2007. Regular readers of my blog can probably guess, but the straw that broke the camels back was letting 45 back on the platform. Life's too short to spend it in proximity to self-important fascists. If you're interested in my Twitter-like microblogging, I'm on Mastodon.Β
- After getting my flu shot the previous week, this week I got my omnicron booster, shot #4. I went with what was readily available and switched back to team Pfizer. Beyond my arm being incredibly sore for a day, I didn't have any real side effects this round.
- Leo is taking more and more interest in letters and realizing that there's information encoded about the world all around him. When walking to school today he saw where stop (Tomaere) was written on the street β and he read "re" and asked what the middle character "ma" was. Though he kept insisting it said "rema" on the street because that's the order they're written in π€£.
- Next to our house is a field. Part of it had a huge vegetable patch where one of our neighbors would grow everything under the sun. The owner of the land sold it recently and it will be turned into houses. After my neighbors harvested all their veg and grass and weeds took over the patch at an incredible rate. You'd hardly realize it used to be cultivated land, unless you look closely.
I'll miss living at the end of the street and not having any through traffic, but it was bound to happen. I'm glad we got over 3 years, especially while Leo was little, so he could play out front without needing to worry about cars.