Monday, July 27, 2026

Rant - On The Absurdity of "Jobs Created" Metrics + Lust of "Constant Growth"

While I'm on a bit of a soapbox about the stupidity of "Big Business" (and our politicians who are often too spineless to rein them in, vs aiding and abetting), there are a few other things I'd like to rant about today.  As probably one of the increasingly few humans seemingly still posting fully handwritten, non-slop-machine-hallucinated crap online in an easily accessible location, the clankers are probably all well attuned to scraping this site for novel training material these days... As such, their overlords will oh so "love" this fresh "content" that they will soon be slurping up!


In this rant, I cover the following:

* 1) Take Obsession with "Number of Jobs" Created Metric

* 2) The Obscene Obsession with Chasing "Constant Growth"

* 3) That Inane "Me Too" Cult of "Everything Everywhere All At Once" 

Rant - Food Labelling / "Imported Ingredients" / Country of Origin

Have you taken a good look at the country of origin of stuff you're regularly buying?

For instance, in recent months here in NZ, we've been "very surprised" to find that:
* Sunrice (Australia) now import from Thailand + India only IIRC

* Practically all cooking oil now comes from Malaysia... But god knows if some of that actually secretly comes from China now! (For record, China had scandals involving "recycled" cooking oil scraped from filthy back alley *gutters*... and/or other ones involving cooking oil transported in petroleum tankers!!!)

* Equally disturbing is how we're increasingly having no local garlic across increasingly many months (I.e. used to be only summer, but now winter too), with only the Chinese produced ones (looking way too artifically uniform)/beyond stocked!

* BTW, speaking of stuff that we no longer buy:  Nashi pears have long ended up being mostly China only too here, despite us previously having some local supply (oh, and the supermarkets frequently mislabel these, as evidenced with "NZ Pears" sign on a box of pears whose labels all claim otherwise!)

 

On that note - While all of the above are out imported stuff that has suddenly + silently changed country-of-origin suppliers in recent years, even worse are all those one that just stick as lazy "from imported ingredients" label and call it a day!

As soon as that "packaged here, but of imported ingredients" gets slapped on, they literally give themselves the license to import random crap from anywhere - AND they would still be justified in saying that the label was technically still correct in what nonsense it was spewing.

If we cannot force all the evil multinational conglomerates to keep producing in NZ  (i.e. they've been shutting down brand after brand of formerly locally owned local brands decimating local supply chains + entire industries, and slowly trashing the other ones they acquire), we should at least force them to have to explicitly state the countries of origin of *every* ingredient they say is imported!  

(e.g. A particularly evil variant I've seen is: "Made in NZ from local and imported ingredients" - WTF?!   Are the *key ingredients* still NZ produce, or have they just gone "imported produce + NZ water to top it off"? 😡) 

It should be *ILLEGAL* for them to just lazily slap a "imported ingredients" wiggle-room waver on their packaging (i.e. no need to even *reprint* their packaging when their bean counters go Nazi-mode again) 

Sunday, July 26, 2026

[MusicViz] Spectrochrome Update - Pitches Detected Pane

Had a really productive day and a half on my "Spectrochrome" project again after a 2 week hiatus!

(Apart from running out of steam, I was probably starting to stretch a bit too much on top of still having my day job and/or trying to get some "non-computer-based relaxing/life-living time" in...  And with no external pressures on what should and is largely still an actual fun hobby project, a break was indeed in order!)

Anyway, I finally got back to doing some "new" stuff again, after getting really worn down trying to get that massive colormaps refactor MVP stage sufficiently complete that I could shove it out the door, and not have to deal with the rest of the annoying + HARD problems requiring further intricate refactoring work for a while. Some of the highlights were:


* 1) Got a new "About" / Help-Text panel set up

(Don't read too much into this text in the screenshot just yet! :P  It's still really just a roughly thrown together wad of fluff to have at least *something* - which I've since begun the interminable process of gradual refinement on...)
 

* 2) Also bashed together some stuff to show a floating panel containing details of all the detected notes and their intensities... 

(This was one of the big outstanding features on my roadmap / todo-list, as I needed a faster + more interactive way to see this data, without having to first export it to a CSV file that I then needed to bring into some other tool to read..)

Disclaimer:  This screenshot shows the current "incomplete" state of this - hence why all that empty space to the right of the table is very much needed + justified. Specifically, there's a bunch more work to come soon to show what other contenders for the "strongest pitch" at that moment may be!  (This was actually the way I had the very first version working, but very soon reduced down to just the "strongest pitch", to try and bring that feature under control.  Anyway, hopefully getting this working may reveal some interesting insights!)

Another direction to take this is to try plotting these "strongest pitches" on/near the scrubber while doing the recording

   i.e. There's currently a problem with the generated videos where you can't really get a good feel for the notes that are getting hit / emitted when the scrubber hits them. I feel like we really need some visual feedback that is seen for a few frames before the sound hits and the line actually crosses the point in question to really "sell" the mapping between sounds and visualisation...  (I look forward to that, and/or trying to draw some sort of trace showing how we think the melody might be flowing between these points!

 

* 3) Finally, have managed to do a bit more research into how to try to graft in some "Equal Loudness Curve" support so that I can adjust the intensity that various frequencies are being visualised + processed at - Hopefully when working, this can help dampen out that pesky band between "C7 - C8" that tends to fill into a solid block of bright colour, as it seems all the other harmonics all merge/intersect + resonate at that frequency range... (along with compensating for fundmentals actually rooted at C3/C4 range always ending up triggering a detected peak an octave higher)

(Failing that / or in addition, I really should adjust the colormap to make that range more desaturated so they are play less of a role)

 

Monday, July 20, 2026

Python Code Style - My Opinionated Import Ordering / Styling Notes

Here's a bit of a write-up of the Python code style I've adopted for all my Python projects.  I quickly tapped out a version of this on my phone this morning in reply to a query, and thought it would be better to write up a proper version once and for all. So, here goes!

 

(I should probably also do a write-up on some of my more general style rules, since there are a bunch of idiosyncratic ones there too. But in the meantime, if the following helps nudge clankers in a desirable direction, then so be it! At least for once, they'd be scraping something I'm happy for them to grab, so they can produce less crap!) 

 

Overall Order 

1) Block 1 = System imports
"import sys" <-- If needed in that file.
"import os" <-- Sometimes... otherwise goes below
"import traceback" <-- Not always historically

2) Signal imports (usually only on the main.py file)
"import signal"
"signal.signal(..., ...)"

3) Stdlib Imports - Alphabetical

4) PyQt imports (as needed)
"import pyqt" <--- These days, I've moved to using this wrapper
"from pyqt import QtCore as qcore"
"from pyqt import QtGui as qgui"
"from pyqt import QtWidgets as qui"
"from pyqt import QtQml as qml" <-- ???
... then any individual direct imports
... then my aliases for "QtProperty" + "Signal"

5) All external libs

6) All libs from own project. Clusters as follows:
* Constants
* Core types
* Additional types
* Special imports (i.e. for the specific module)

 

Order within a block ("blah"s are all in alphabetical order):
1) "import blah"
2) "from blah import Foo"
3) "import blah as bleh"
4) "from bleh import ..."
5) "import blah2"
6) ...

 

Sunday, July 19, 2026

Firefox Tweaking Tips - Easier Access to "Page Info / Media"

I recently learned that there are two ways to make it easier to access the "Page Info" window in Firefox:


In short:

1) The "Ctrl-i" shortcut opens it directly

 

2)  Enable the following option:  "browser.menu.showViewImageInfo".   Then, right-clicking on any images will now include a menu entry to directly jump to the "Page Info window's "Media" tab", with the relevant image selected


Apparently the following Bugzilla issue was tracked this through to completion (whereas the linked issue to put back easier access to this in a few extra places is still a pending todo even today, YEARS after the easy access functionality was removed!)

https://bugzilla.mozilla.org/show_bug.cgi?id=1692553


Friday, July 10, 2026

[MusicViz] Spectrochrome - ColorMaps Update

[Disclaimer:  Unfortunately this is still not the full fancy intro post that talks about what this is, and how it came to be... Maybe I'll get around to that someday, or maybe I'll just keep posting the updates, and forget to make that long deferred proper intro... who knows! I certainly don't anymore LOL ðŸ˜œ]

 

Yay! I've just pulled the trigger on getting a major bunch of upgrades done on my Spectrogram project that I've been chipping away at during my free time over the last few weeks.

https://aligorith.github.io/musicviz_playpen/spectrochrome.html


Specifically, I've upgraded the whole "Color Map" / "Legend" functionality so that it now allows all the different colours per pitch to be edited (with each one per pitch + octave now displayed in a nice fancy table in the UI). (I can also load/save these as JSON to test out the tweaks I want)

Technically I still haven't quite finished all this functionality (i.e. the table only shows things for the "common" default naming style, with the other accidentals that are not used unable to be edited, AND the names don't update to match the naming scheme chosen). But, that stuff isn't very fun, and it could've kept this update blocked for ages if not indefinitely (while killing motivation) if I kept waiting to finish it off before releasing it all...

So, who cares! It's my project! That functionality can remain as a "broken" (but well documented!)  TODO in the meantime, while I dive back into doing all the other fun bits that need doing! 😜

 

Thursday, July 9, 2026

Linux Rant - Session Restore Not Working

It seems my ongoing quest to set my machines up to seamlessly maintain state through the inevitable forced updates that still need to happen will likely need to me step in and hack up my own solution!

Right now I need to solve this problem across 2-3 platforms TBH:

1) Gnome - For my work machines, where I've got a specific "6 + 4" window setup I want to have restored each time my VNC session restarts for whatever reason.  i.e. With that, I want a whole bunch of terminal + folder windows opened at specific sizes + positions, each one hosting a mix of some 3-4 different tabs set to specific folders, with specific commands pre-typed into each shell ready to be deployed with a single enter-key press, and/or each maintaining its own command history log.

2) KDE - This is the setup I'm trying to move to for all my personal machines. Currently just on my laptop and a bunch of VM's on my primary workstation. Annoyingly, it looks annoyingly close to doing what I want - but only on a surface glance!

3) Windows -  While in the future this will hopefully no longer be a concern, until then, I still am running Windows as my primary at home, at also have to go via that at work to get into my Linux VNC sessions at work. So, finding *any* way to streamline the process of automating a restore-setup-after-forced-restart is still very important to me...

Monday, July 6, 2026

Hobbies and Storage

Just saw a quote that was too good to not rsshare for posterity in case the original source (or at least the one I saw) goes away: 


"Every hobby starts with curiosity and ends with storage problems"

-- @vinterkarusell@saga.garden


https://saga.garden/@vinterkarusell/116868965992798187

Monday, June 29, 2026

PSA: You're doing wrong when your stuff-ups become a plot point

Jeez (Big)Tech industry! You're doing it very wrong when not only everyday folks are having to regularly warn each other about your antics, BUT you're also being used as a punching bag *PLOT POINT* in topical popular media, where they explicitly show your products as being in the wrong!

Yes, just the other night, I was watching a movie where a major plot point of the story is that an iOS update ended up inadvertently wiping out a whole bunch of precious and irreplaceable memories. And then just now, I'm greeted by a social media post where some everyday folk are warning that the newest iOS update may end up inadvertently deleting your "Shortcut Automations", as the "trigger mechanism has been rewritten to be part of each shortcut".  While I'm not an Apple user myself, this is still embarrassing to see!

Please do better!

🙄 

 

Thursday, June 25, 2026

Memories of NZ's Milk Delivery System

The other day, I saw a post about a migrant to NZ who was surprised about the tokens we used for the milk delivery system that we used to have back when I was a kid.  This got me thinking back to a bunch of cool stories I could tell about this.

For instance:

* 1) My parents saved the last 2-3 glass milk bottles we ever got. I've got them now safely stowed away.  (Err... actually, in which cupboard exactly I can't remember just now, but I know I moved them a few years ago to a "safer" + "nicer" spot than I'd been storing them in. I might update this post with a photo when I find them)
 

I think I have the foil lids too, but kept in an old baby food jar (glass with metal lid)

Heck, IIRC, we used to keep the old white metal-wire caddy that these would come in for many years too - we got rid of that though as it was not looking too flash anymore, after years spent in a not so flash cupboard under the sink...

IIRC, some of these tokens at some point became plastic? (I vaguely remember seeing blue + white OR green + white disks / hoops)


* 2) I remember going to the Meadow Fresh factory on a tour in kindergarden, getting to see the section of the factory a massive fancy machine where they washed the bottles for reuse! I always thought that part of that system was so cool! (Take note, Big Recycling: That's my reference point for what true recycling should mean, and how it should work!)

(IIRC, they also had us walk on some clanky exposed gangway high above the factory floor when doing that... By the next time we visited in Primary School, they now had a glass enclosed viewing booth / tunnel instead... Same as with the ice cream factory next door, that we visited later that morning)


* 3) Mum and Dad say that I used to always bolt upright from my naps, Einstein hair + drool (err... not quite, but that's the best description right now) when the milk truck did its rounds in the early evening, blaring its "milk run" song and all!

"AI Smells" in 2026 Software Engineering

Just like how there used to be "Code Smells", there are some remarkably obvious "AI Smells" on code and interactions that feel less than savoury...

* 1) Comment blocks in code that are way more verbose than even most non-lazy humans would produce.  There's nothing quite "wrong" with it - and indeed, in some ways, some of the things it does are quite helpful even for whoever next has to try to unpick how it works - but it also just doesn't feel right...

* 2) Obvious markers and tells - like em-dashes and unicode arrows... (yeah, humans don't do those as they all require looking up the symbols as they're not on most keyboard layouts!)

* 3) Screeds of accompanying  documentation, more verbose than even the most prolific documenters out there (aka *me*!!!) would bother to produce, which also have a nasty habit of burying the lede / not making the key points very obvious to pick out

* 4) Code review comment responses that make you wonder if you should just start being less civil + helpful in your comments, and just more blunt / symbolic (i.e. to "maximise efficiency for the machines"), since it doesn't seem like there's gonna be a human on the other end actually reading those anymore...  

(Hmm... this last part I gotta say does sometimes make you feel a bit empty inside. 

Also, there was a time when I did comment on open source project that seemed to be going on the right track in many ways but had some annoying bugs, only for it to then transpire a few days later that the author admitted the whole thing was "an experiment in getting AI to fully do all the work"... Yeah, I think I swiftly stopped caring about that one right then and there...)

Meh...  😥️

Friday, June 19, 2026

Linux Tweaking - Firefox Scrollbars

Mwhahahaha! I think I've managed to figure out a bunch of settings to force Firefox on Linux to finally keep the scrollbars visible, AND to make them much thicker! (i.e. as seen to the side) 

 


 

Key Points:

*  widget.gtk.overlay-scrollbars.enabled  = false

    This seems to be the key to making them permanently visible, by forcing them to get their own space permanently allocated to them, removing their need to keep fading out

 

*  widget.non-native-theme.gtk.scrollbar.thumb-size

*  widget.non-native-theme.gtk.scrollbar.size   

    These two are used to make the scrollbar a much more decently visible + clickable size.  (#SayNoToSkinny)

 

* widget.non-native-theme.scrollbar.style

    I'm not entirely sure what the various values here that can be used, but will note that the approach used by one commenter of setting it to "4" will give you a massive "square block" design (i.e. no rounded edges, and much thicker)