Sunday, March 27, 2022

A New Gig Bag and Other Diversions

The last weekend before March 2022 goes away into history. What shall I talk about today then?

Let's start with some good news. We are finally starting rehearsals proper---we have actually started meeting up as a group at the beginning of the month, but having not rehearsed together for two years or so, we spent the first three weeks just sorting out our instruments. The cupboards housing them were opened up and aired, the cobwebs were metaphorically (and sometimes literally!) dusted, the mould on some of the old wooden instrument cases were treated with anti-mould and left to air, strings were checked on and replaced/retuned, and the works.

Sifu is now at a stage of his life where he can come back to play with us again, and I am really happy about it.

Of the ``core pillar'' players, we got back about 60% of them or so, the remaining 40% being less able to commit their time due to the changes in their life that have occurred during the past two years of pandemic nonsense. Naturally, the more transient members who were students have attritted away, hopefully just for now, but given the entire drought of actual extra-curricular activities (calling it ``co-curricular activities'' is what I now see as yet another fig-leaf manoeuvre to pretend that the school system in SIN city truly raises people who know how to both play and work hard) involving group activities, I really am not expecting these numbers to return any time soon.

TGCO isn't flashy, it isn't large, and it isn't some award-winning and highly visible organisation compared to some of the other community orchestras (Chinese instruments or otherwise) out there. None of us are true professional musicians, and we definitely lack the resources and the connections that those who do it professionally have, mostly due to our ethos of keeping the orchestra as a place for those who are interested in playing to gather and play to their abilities, without demanding superlative qualifications.

Only time will tell what will happen. For now, we're just putting the band back together so to speak. That thirty-year anniversary concert isn't likely to be happening, and maybe we'll see if we can live up to our fortieth instead.

It's always good to be playing the dizi again in an orchestral setting. Playing alone has its perks, but ultimately music is meant to be played together as a group---no single instrument can sound better alone as compared to being with others in a well-composed piece. And a performance group is not really one if it doesn't perform---that's the immediate goal that I think we are striving for. Maybe once we get our first performance post-pandemic out, we can start to bring in some more members, for however long they choose to play with us.

------

In other news, I had to finally retire my music backpack, the one that I have used since 2015(?) to move the flute/piccolo stands, flute (Azumi and then later on, Aurelia), piccolo (usually Picc, sometimes S.O.S.), and scores. After more than 6 years, the main zipper have finally given way completely. The bag was used extensively over the years, being taken out weekly on rehearsal/performance excursions. A side zipper's slider had failed and was replaced, the pleather handle flaked off and had a new fabric cover sewn on it, one of the two sliders in the main zipper failed the interlocking and was left unused while the other did the rest of the tour, and the elastic that held the flute box had loosened and was recently replaced. And now, finally, even that last slider failed to hold create the interlocks properly, with the only fix left being a complete replacement of the entire zipper, which was... just not going to happen.

The gig bag lasted as long as it did for the price I paid for. It did its job well and faithfully, and it was truly time to retire it.

o7

Some might find it dumb that I can get sentimental over things, but well, in a world where no one really knows what each person is thinking (even with letters that were supposed to share what one was thinking), the only things we have left are the things that we exchange and hold on to. And for the things that served as our tools of the trade, for whatever trade it is, there's a certain part of it that has become an extension of ourselves to the point that we unconsciously grow an attachment to it. I can't say that I take the greatest of care for my stuff, but I do generally try to do so. It isn't the fact that I spent my own money on them that makes me treasure what I have, but that having these things working means that I could do what I wanted to do with them more effectively and painlessly that makes me want to treasure them more.

The new music backpack is also from ROI MUSIC, as brought in by MusicGear. It definitely has seen some improvements over the years, with the most obvious being the `X'-stitching pattern on the interior that holds the padding together (compared to the original vertical-only stitches). The material does feel a little stiffer, but it's not clear if it's only because it is new or if there was something that was changed.

I suppose only time will tell.

------

The Great Aquarium has its water filled in, and the kelp has all been harvested. I tweaked the deepslate smelter into a kelp smelter by replacing the furnace with a smoker---I didn't realise that the kelp could be treated as a food item and therefore the smoker would smelt it faster (by time) as compared to the furnace. From that tweak, and leaving things to run throughout the day, I have completely smelted all the kelp.

I took part of today searching for a Ocean Monument. I needed to find it to get the materials needed to make that conduit in my Great Aquarium. Well, I found it---it was a ways away from the frozen river where I had dug up my ice to fill the Great Aquarium with. After building a nether-portal in the overworld, I cleared a path towards the nearest minecart station (the frozen river exit) and built a cover over it in the nether to prevent the Magma Cube spawns from clogging up the place.

And that's about it for this post. Till the next one.

Sunday, March 20, 2022

Yet Another Grab Bag

Hmm.

The past week was something of a different nature. It wasn't a hard week, but it was definitely a trying one at some level. For some unknown reason, I ended up sleeping no more than five hours a week day for the whole week---I think the sleep debt accumulated was starting to drive me a little nuts in the head. It was bad enough that I could feel that weird existential dread since Thursday/Friday.

It was rough. Intrusive thoughts were coming in here and there, and it was through active mental effort that I managed to counteract them. This was, of course, not counting the additional irritation from other inconsiderate actions by other people.

It was bad enough that I spent much of Saturday in a brain fog, just mechanically dragging myself to the Saturday service, and then continuing on to rehearsal. It was still bad enough that I slept in late on Sunday, and ended spending much of the afternoon just napping away.

I'm not dreading heading back to the office tomorroww though---there're things that need to be done, and I know how to do them, and have most of what needs to be done in control.

Situations like that are fine for me---it's when I have no control of things under my domain (like when someone decides to eschew planning make it my emergency) that I get irritated enough to lash back, hard.

But you, the reader, didn't just come here to listen to me talk about vague discomforts in my life, right?

------

I've been working on the Great Aquarium in Minecraft. The glass walls have been put up, and I have been mining me some ice from the frozen river, and have laid out half of the top surface of the aquarium with the ice. The second half had been filled in since the last time I wrote, and I have started putting in the kelp needed to convert the downward flowing water from the top-level source blocks into water source blocks.

Kelp takes time to grow, and even then, they have a maximal height that is randomly pre-determined and cannot be known without some kind of mod. Here is where I decided that I would just use the fact that I'm playing on a semi-survival single player server and just upped the random ticks game rule to allow the kelp to grow much faster after having plopped the kelp down.

The end result surprised me greatly. The idea I had was to slowly clear the kelp row by row, after having stacked on more kelp on whatever was already fully grown to fill up the entire water column with it to ensure that all of it was source blocks. I had done this for five rows when I suddenly realised that throughout the entire 3D space of the Great Aquarium, all the water blocks were source blocks, even when they were above the fully grown (but stunted height) of some of the kelp plants.

That... was way better than I had expected. It meant that I didn't have to go through the painful process I had in mind---I could basically harvest all the kelp and have the filling of the Great Aquarium declared done. The only problem that I had was how to dispose of all the kelp.

Minecraft kelp is a very versatile entity---it can be used as a food source (after smelting in a furnace), and as a fuel source (after combining into a dried kelp block made up of nine smelted kelp). It does require smelting though, and I had a spare semi-automatic smelter available. I had originally used that smelter to create deepslate from cobbled deepslate, but already I had way more than I had ever used, and thus it had been lying defunct. I quickly rejigged it to smelt kelp instead, and adjusted the input to it to allow direct loading from a shulker box. The idea there was to use shulker boxes to assist in moving a larger amount of kelp at once as I move through the Great Aquarium---it saves the amount of round trips with the [much farther] smelting set up from where I was getting the ``raw'' resources.

And with that, I now have yet another bit of industry set up.

I'll probably spend the next few days/weeks clearing out the kelp. Considering that I have only set up a single furnace to handle smelting, it will indeed take a while (unless I use my ``ad hoc smelting'' auto-feeder to increase the smelting rate by 100%). But that just gives me a good reason to have Minecraft running in the background while I am doing something else that isn't related to actively playing any game, a propensity that I am currently in.

------

In other news, I just want to point out that the PDF file format is... quite something. Despite having PyPDF2, there are still some manipulations that I wanted to do on PDF files that made me scratch my head still.

Context: I have a certain large PDF file that, when the ``zoom to content'' option is activated, does almost nothing, despite there being a nice thick border of nothingness separating from the text viewable text and the edge of the page. Almost all other PDF files that I have do not possess this singular problem.

At first blush, it seems minor, but considering single screen left/right split set up, having a working ``zoom to content'' means making much better use of the 960×1080 pixel real estate---it's the difference between readable text and ``oh no I can't see anything properly''.

I've managed to narrow the issue down to a much larger sized /CropBox compared to the /TrimBox. So fixing the PDF to do what I wanted was easy, at least on this front.

But doing that alone with pyPDF2 missed the important step of copying the bookmarks over to the new PDF file. That was where it started to get very hairy in a jiffy.

The long story short was that it was important to make use of the source PDF's ``outline'' object to learn of the bookmark's mapping to the system-level definition of the page (considered as an offset from the first page's binary segment), and translate it to work well in the new [adjusted] PDF.

Doing that alone was enough to copy the bookmarks, but they would still be unusuable since it means all nested bookmarks are fully expanded. For the large piece of work with sections and sub-sections, that was a no-go. The fix for that was arcane---the /Count key had to be set to the value of 0 to not expand that bookmark's child links.

After fixing those two, I realised that I was still missing one thing: the correct copying off the ``logical'' page numbers to the physical ones [as represented in the binary]. The technical term was /PageLabels, and to know it was to have to dig through the PDF specifications.

It was as arcane as it got... for now.

pyPDF2 made accessing all these weird objects very easy to do, and was definitely a massive time-saver. Of course, it not having a properly working copy data structure of the source PDF into the data struacture of the destination PDF was a great hindrance in the ease of programming---it was, however not likely that the original author might updateee things and do a new release. After writing up all the other customised code to do what I wanted while using pyPDF2 as the data access framework, I finally got the results I wanted.

Anyway, that's all I want to yammer about. The upcoming week is a little more controlled (hopefully), and there are some errands that I need to run.

Here's to hoping that the brain fog I had would be dispelled. Till the next update then.

Monday, March 14, 2022

π-day!

Today was π-day.

Normally on π-day, I would grab a bunch of pies (usually dessert), round up some of the office folks that I am close to, and call a π-day celebration of eating pies during an afternoon tea break.

Last year I was on a sabbatical, and so I spent π-day pretty much alone.

This year... even though I'm at work at the office, thanks to the general trend of the workplace in SIN city from pandemic measures, there is no one else that is there.

And so, it's yet another π-day spent alone.

I had two pies---a classic chicken pot pie during my lunch break, and then a butter chicken pie in the evening. They were savoury pies---dessert pies are a little more difficult to find these days, with my general location being far from dessert bakeries as compared to last time when I could easily get a pecan pie to share.

------

I've started on the great aquarium in Minecraft. The glass walls have been put up, and I've been digging up the ice from a frozen river ``near'' to my hill-top base as part of a two-step process to fill the aquarium up with source blocks. So far, I have filled in about half the upper surface of the aquarium with the ice blocks (which melt under the light from the industrial platform, leaving behind an `X'-pattern that I had to melt away with torches) that created the flowing water. I've started on laying out the kelp, but I do not have enough of it to do all of them at one go---I had enough to set up maybe four full 25+ blocks of water columns. So I laid out what I have so far to grow enough of them to use it that way.

That takes a while.

The other thing that I need to do is to find an ocean monument to find the right blocks necessary to power the conduit in the middle of the great aquarium.

That takes a while too.

Subsequently, I'd like to populate the floor of the great aquarium with corals, and maybe fill it with some uparupa... I mean axolotls, tropical fish, salmon, cod, and if possible, dolphins.

That will also take a while.

All in all, the great aquarium will be a massive undertaking. That hill clearance and subsequent glass-walling is literally just the easy part.

Hahahaha... that's Minecraft for you. But at least there's persistence and a sense of achievement.

Alright, that's all I have to write for now. Till the next update then.

Saturday, March 12, 2022

Haw Par Villa... Was Pretty Small

Ah.

I went on leave yesterday to account for the fact that there isn't any public holiday for March.

I spent much of the morning walking about the southwest side of SIN city, starting with Haw Par Villa. It had been about 20+ years since the last time that I was there, and the last time that it had come into my consciousness was a year and change ago. However, I couldn't satisfy want to visit then due to the closure and restoration. The eventual re-opening was without fanfare, and after a few months, I finally had the opportunity to go visit.

Frankly, it was underwhelming.

I remembered Haw Par Villa as being pretty large, and with many exhibits; lots of things to see and do, colourful to a fault.

What I ended up seeing (together with Harish) was a kitschy three-quarter scale diorama of models of fading paint jobs, with semi-logical arrangement, and an entire walk space that was completed in less than two hours, even with us being fairly casual and actively doing a multi-cache attempt. It was way smaller than I had remembered, and it felt like a big... disappointment.

The Hell's Museum was the revamped version of the infamous ``18-levels of hell'' diorama exhibit that was converted into a water ride through a dragon during the ``Haw Par Villa Dragon World'' era, before being re-converted back to a walking exhibit after that. It required an admission fee which on its own was not a big deal, but they had required a priori online booking of the admission ticket, with no way of buying them ``on the spot''. That was either a misunderstanding of what I heard from an officious attendant, or was actually the case. Harish and I didn't know about that, and didn't go in.

We went off to West Coast Park later on to find a couple more geocaches, my first finds in a few years. They were simple traditional finds, and were nice. The walk was invigorating, and lots of nice conversations were had with Harish too.

We eventually made our way to VivoCity for lunch, where we used up the complimentary voucher that I had for tcc. I managed to run my quarterly medicine run after that as well, and ran into the weird situation where the Visa Paywave system was rejecting my card, and also Harish's when I asked him for help. It was eventually resolved through a hard reset of the device... through the advice of the customer that came after me while I was standing ``guard'' to look out for my meds while Harish went to grab some cash from the ATM. Though resolved, I just paid it off in cash---didn't want to waste more time while waiting for them to sort out their internal database contents.

And that was that. Not much else to report. Just felt like writing something down about the little break. I need to figure out how to get me a pie to celebrate π-day on Monday---it's probably going to be a solo thing, I suppose.

Till the next update.

Sunday, March 06, 2022

Vampire Survivors---Go Get It

It does feel like it has been a while, doesn't it?

March is upon us, and already the first week is over. We're nearing the end of the first third of the month, and work-wise I do have a couple of things that need to be done before the end of the second-third to solicit the necessary feedback and necessary adjustments.

But let's not talk about work.

March has no public holidays gazetted in it. A pity. In fact, the distribution of public holidays for this year is quite clumpy, with at least four months that do not have any public holidays in it (off the top of my head---I'm too lazy to confirm that). Since I am not intending to travel outside of SIN city for the foreseeable future (think in the next couple of years), all those leave days that I'm slowly accruing are better off being consumed throughout the year to bring back sanity, you know, like the way it was. And with that in mind, I have decided to take leave on Mar 11, just to do something different.

The whole idea of storing a lump of paid leave days to go travelling was probably something that gained some kind of relevance in the past fifteen or so years in SIN city, during which travel of any sort was preferable to getting stuck in an increasingly packed city. With the pandemic though, travel has been nerfed, but the population density situation has seen a bit of amelioration through the exodus of foreign workers who choose to return to their home countries due to either homesickness, or general genuine discontentment with the seemingly draconian and mercurial policies of the SIN city government with respect to the management of the pandemic.

I cannot blame them. It is still a double-edged outcome---on the one hand, the losing of [large] quantities of foreign workers can do a real number on SIN city's economic output. On the other hand, their exodus brings back a certain sense of sanity, a feeling that somehow the city is returning to those who have sunk their roots [deep] into it. I'm no public policy wonk, having never been trained in any of its allied fields, but as a citizen of SIN city, I both feel and think that the ruling powers of the city owe its citizens fealty and care. Citizens, by choice or by birth, have called SIN city home, and have elected their representatives into parliament to represent their interests. Thus, it behooves the elected representatives to do their elected role of representing the citizens' interests. It is, by no means, an encouragement of xenophobic tendencies, but a declaration that care for the citizen should be among the priority of the usual multi-factor analysis of the pros and cons of various public policies. We always joke about SIN City, Inc, but the sad thing is that the joke, after nearly sixty years, have turned into some kind of twisted dogma, where many of the elected representatives see themselves not as champions of the citizens' needs and wants, but as some kind of ``entrepreneurial business guru running a multi-billion-dollar company''.

It's sad that it has come to this point.

------

In other news, I've discovered a cool new game: Vampire Survivors (I got the Steam version for like SGD3.25---best 3-bucks I've spent). It's like an action RPG, but with automatic auto-attacks (i.e. the player doesn't have to press a key or click a button to ``fire'' their weapon). The player's main control is just the movement of the character in the play field to avoid the ever-increasing horde of mobs while picking up the experience gems that drop from the destroyed mobs, and choosing from a [short] list of abilities (both new and to upgrade) each time the character gains a character level.

I won't claim that it has ``surprising amount of depth'', but it definitely has its charm. Each run is short---no more than 30 min, less if one's character build doesn't do enough damage to fight out of the many encircling-type attacks---with very little down-time within. Watching the mobs go boom is very satisfying, as is the tricky parkour-esque movement to collect experience gems and setting up positions where the attack patterns of the auto-attacks can inflict their damage/effects most effectively. There are also some interesting strategic concerns, particularly in choosing the load out of auto-attack weapons (maximum of six) to provide the type of coverage that would allow the character to go the whole 30 min, though due to the random nature in which the abilities lists are offered, some form of adaptation is always needed.

It reminds me of another pair of games that I enjoyed playing, One Finger Death Punch and its sequel, One Finger Death Punch 2. Basic mechanics, but surprising amount of tactical knowledge that is needed. Above all, bite-sized durations that don't require the great sinking of time, time that I don't seem to have these days.

Which brings me to another point. I know that Elden Ring is out. I've always wanted to try a Souls-like game. But then there was Hollow Knight that, despite being a darling, was a game that I eventually had to put down and walk away. I mean, I like such games, but I find that I just don't have that kind of time/stamina to spend grinding out and ``gitting gud'', just because there are so many other things competing for my attention. So I have found myself gravitating towards much shorter duration games. The high price tag of SGD79.90 (at the time of writing) is also a little bit of a put-off, though it isn't the primary concern.

Time. Time and the need to use a controller for the best outcome. Time, and patience to learn the mechanics to a level of detail that I don't feel compelled to do just to obtain a good enough outcome.

I can appreciate it as a great game. But it's just not something that I am feeling compelled to play now, especially since I am already putting in hours for work. Even on my sabbatical, I never did see myself spending enough time to get through similar ``simpler'' versions of the genre: see when I first started on Bayonetta, and then my subsequent abandonment from frustration. Could I have continued to muscle my way through until I could tame the input lag statistically? Sure... I mean, I am a musician, and part of being one is to work our way through until we fix our timing issues. But unlike music-making, being good at Bayonetta doesn't really ``buy'' me anything useful, and so the associated expenditure of effort is just... too much, especially for a game.

And there we go. Almost effortlessly, a post to start March is here. Now I need to wonder about what I would like to do for π-day this year. The office is practically empty, and as always, it is not that easy to find pies.

Ah well. Till the next update then.