Tag: english

An active day

Today was a day that didn’t start so well. I woke up one too early for some reason (weird dreams? too much light? two full workouts the day before?), but I kept going back to sleep until I was 30 minutes before my first meeting, at which point I put on my pants, went jogging on my now-usual route and even had time to shower before the meeting started. There was a lot to do. The “year” starts in April in Japan, so there’s a lot of setting goals and meeting managers, but there’s also a lot of ripe fruit to pluck (even if not necessary low-hanging) that I’ve set my eyes on.

I had to realize that I probably overworked myself (physically in the gym) yesterday, because even after a whole day of almost-rest I was still feeling sore, so instead I opted to chill today, have some beer while I can and catch up on last season’s anime. This weekend I’ll be going alcohol-free in preparation for the Denali expedition in May. It’s gonna be (haha) fun to pull off another Arabaki dry, but I’ll manage for sure. Caffeine at least is not among the forbidden substances (only alcohol is at this point, though I figure tobacco should be on the “list” too).


Hiking gear nowadays

Trekking poles

Black Diamond Alpine Carbon Cork. Not as compact as the aluminum Alpine Carbon FLZ, but it feels much lighter and more durable.

Gloves

The new discovery is the Norrona Fjora mesh gloves. I’ve used Norrona gloves before and I wasn’t blown away: those were uncomfortable and fell apart quick. The Fjora mesh gloves on the other hand are ridiculously light and unlike similar offerings from Montbell, these didn’t get shredded on the first rocky scramble. Of course they’re not warm, but unless it’s well below freezing, for me it’s enough.

Backpacks

Since 2020 I’ve been using a Mammut Ducan Spine 28-35 for training both in the gym and on the trail. Its rock solid back support system means that I can load it up with 20+kg and (while it does creak from that much weight) it still carries just fine. However, over the years I wasn’t going easy on it, so it’s now pretty much falling apart.

For lighter hikes I discovered K’s Ultralight and I’ve been using a KS40 for 1-2 day hikes. It lacks any support, so I definitely wouldn’t load it up, but with an Outdoor Vitals closed cell pad folded into its back side, it’s a super light option with plenty of pockets.

For longer hikes I use Hyperlite, a Southwest during the summer and a Prism during the winter.

Shirts

For a good while now I’ve been using Marmot Ascent shirts, both long and short sleeve. They’re extremely hard to find (I get the impression that the long sleeve version isn’t made anymore at all), but they’re super light, they dry in a flash and they don’t get smelly even after 3-4 days of Japanese summer heat. They perform way better than the Montbell shirts I used before—though I still use Montbell short-sleeved shirts in the gym. The Marmots feel so delicate I’d really rather not wash them every other day.


Some notes on iOS BLE

Dealing with Bluetooth Low Energy (BLE) through Swift can be pretty tricky. The interfaces and delegation are straightforward, but there is an implicit “right way” of doing things that (as far as I could find) is not documented anywhere.

I don’t know if the way you have to hold on to references to things or they get immediately discarded and cleaned up was surprising only for me with zero Swift background, but it took some time to get used to. For example CBPeripheral and CBL2CAPChannel objects require that you keep a reference to them, or the connection will be terminated, resulting in interesting behaviors.

Another thing is that I couldn’t find any details about error patterns in the documentation, but I figured out the following:

  • the input and output streams that come with a CBL2CAPChannel are not opened when you get your hands on them, and result in a pretty obscure 0x0122 failure if you try to use them without opening them first
  • you have to read/write those streams from the same DispatchQueue where they are scheduled, or the operations will silently just do nothing. Logging Thread.current can help debugging this.
  • error 436 means the local (you) severed the connection. This usually happens when you forget to hold on to the CBPeripheral instance
  • error 431 means the remote peer severed the connection. I’m not entirely sure what triggers this, since usually the disconnect is very graceful with a delegate callback. Maybe sometimes closing the streams doesn’t make it in time and this error gets logged first?
  • error 582 means the PSM used to initiate the CBL2CAPChannel is incorrect.

My new gear

Earlier Reol announced that No title- will get a vinyl release. I love that album, so I ended up preordering it before realizing that I don’t actually have a record player. Well, that changed now.

And while I was at it, I also got a few old Japanese jazz fusion records from Disk Union and Thy Catafalque’s Rengeteg too.


On the boards

Last year I didn’t go snowboarding. Or rather couldn’t: during the season my wallet was dry as something that’s very dry, due to the Karakoram expedition the previous summer (and the insurance company fighting my claim for over half a year). Then the season was over.

This year however a friend kindly invited me along, so I was back in Yuzawa after almost two years. I surprised myself by doing pretty okay by my own standards, not crashing too much and turning okay-ish.

Hopefully I can go snowboarding again a few times before the little snow that this warm winter had disappears.


Moving

I lived in Shakujii for 8 years. It started because of my job at Sunrise, which pretty much required me to live nearby. Then I switched jobs, but moving closer to the office wasn’t really an option, since it’s absolute downtown Tokyo and I’m not willing to pay that much. Then the rona hit and we don’t even have to go to the office anymore (in my case, at all). Furthermore, the small room I rented in Shakujii grew pretty tight since I started climbing mountains. Those sleeping bags and backpacks really take up a lot of space…

Google Maps's idea of highlighting Shakujii-dai.
My old area, Shakujii-dai. The flagged location at Musashi-sakai is the Chinchintei ramen place mentioned in Joshiraku

Longhorn trash weighing me down

Last year I gave Longhorn a try. It was a nice proposition for me: I was using local storage anyway, so the idea that pods would be independent of the nodes sounded delicious. Except the price was way too much.

At the time I thought that the only problem was Prometheus, which in itself is pretty heavy on disk IO, but it turns out the issue was with Longhorn itself. Also, as I found out, I wasn’t thorough enough deleting Longhorn stuff, which resulted in quite a few headaches this year.

white cow statue beside brown tree

Lady Jannath’s Estate

Recently I’ve had the pleasure of playing Baldur’s Gate 3, and in the later half of the game there’s a pretty annoying (tricky?) bit. Of course I’m talking about Lady Jannath’s estate. Spoilers follow.


Kyoukai no Kanata

Time again to watch some anime. I’ve had a pretty offensive gif from the 4chan /a/ era based on the idol dance bit, and since this weekend I felt drained to the bone I watched Kyoukai no Kanata instead of going to the mountains. Not sure if it was worth though. Obviously spoilers galore follows.


Bye Seafile

Operating Seafile was a very frustrating experience. In the first place, setting it up on my Kubernetes (k3s) cluster was quite a ride. It didn’t have a Helm chart or any manifests ready to spin it up, so I had to build my own. This turned out to be pretty difficult because it was clear that the software was not designed with containers in mind and it took significant amount of hacking to even just get it to work. But once it did, then you’d need to manually run garbage collection every few months, because that was a Paid Feature™. I put up with it because of the sunk cost fallacy and because other than that five minutes every 3 months or so, it was working okay. Until it wasn’t.