Wednesday, November 20, 2024

On intrinsic motivation when learning new skills

This morning I saw an interesting discussion where someone was asking how they should about learning to code.  This got me thinking about how I personally learned, and the transferable lessons from that process for picking up new skills / knowledge in general.


From that, I realised that I believe that intrinsic motivation - i.e. you first have to want to know for your own sake / to meet some of your own goals, rather than it being like "someone says I have to do it". I suspect this is one of the first major barriers many people face: For many people, their experience with learning in general has been through their schooling years - an fraught experience where the answer is often, "I do it because the adults made me do it" (i.e. extrinsic / non-self-motivated)


The easiest way to learn is not to go through a tutorial / course "just because", but rather, if you set yourself a goal of "I want / need to be able to make <x> happen"

From there, it really focuses your learning:
  * What do I need to know to do that?   

     There's nothing better than a real concrete need / roadblock in the here and now that you need to overcome in order to get to the next step towards your goals, focussing your attention in ways you may not have considered possible.


  * How does what I'm learning / coming across tie into what I'm doing, or how does it compare to what I've seen working on my project? (I.e. what's the point of all this)?

     For example, from experience, this was what helped me get through some of the most boring series of lectures I'd encountered at Uni, where we were going through this dry abstract set theory stuff on database operations. I found it really helped to reframe those abstract concepts back into the more concrete world of how I'd go about implementing such a thing in code using a for-loop going over such collections of objects.


  * What else could I easily do now that I didn't originally consider?  

      This is where you start engaging your creative juices, and start coming up with new idea for other enhancements or features or even completely new projects come from. Those in turn will drive a lot more experience building and hunting for new and better ways to do things, and pretty soon, we'll not be having this discussion here at all, as you're too busy trying to feed all your projects!  

     (That's why I also believe that if you manage to get your kids hooked on some pursuit where their drive for personal improvement can start taking over - i.e. for example, anything from programming, playing a musical instrument, sports, or various forms of art - they really won't have time or the inclination to bother with drugs or petty youth crime)


For an additional piece of fun reading, I came across the following article this morning about how lab rats taught to drive "rat cars" apparently looked forward to the experience, with the anticipation for that having many positive benefits (including making their tails look more like those of "friendly cats"). Interesting food for thought...

https://theconversation.com/im-a-neuroscientist-who-taught-rats-to-drive-their-joy-suggests-how-anticipating-fun-can-enrich-human-life-239029

Saturday, November 16, 2024

Thoughts on Rust - 2024 Edition

Here are some of my current thoughts on Rust, as initially prompted by a thread I saw this morning asking: "What features of Rust are most appealing to you?"

My reply follows.

~~~

Originally, what drew me most to Rust I guess were (in following order)


1) Complex compiled language with momentum that was not C++ 

This was by far the biggest motivation, back when I was still mostly a C/Python dev. Having spent a few years working professionally as a C++11 software engineer now (having learned on the job, thanks to working during code reviews with a bunch of top-notch Modern C++ gurus), it now just looks like Haskell-lite for Modern C++ devs  (which enforces all the best practices we generally do, *by default*).

 

2) Claims of speed + memory safety (esp around multithread type stuff - This was a big one coming from several bad Python codebases that struggled with really bad concurrency issues (i.e. random deadlocks on machines with different processor numbers than the original dev machines used), but also because Rust first started rising in prominence as I was looking into the Depsgraph stuff (which would have really benefited from being able to evaluate multiple things in parallel, to do background recalcs + caching of your scene)


3) Didn't have "cuddled else" / "caterpillar ifs" hard coded into the syntax (*cough* Go *cough*)

To this day, it still really annoys me running across code written that way. Like, really twitchy annoyed.

It's a real pity that there are a bunch of languages that hard enshrined it in their syntax (due to design decisions), and also that increasingly many examples across other C-like languages also do it. Ugh!


Thursday, November 14, 2024

Blasts from the Past - Reminders and Remnants of Different Times

Sometimes you just cannot make these things up!  Either that, or "The Algorithms" pervading our lives these days are getting much better at juxtapositioning contrasting but related things together. Anyway, I digress.  Tonight's impromptu post is inspired by the following 2 snippets that popped up across my various feeds this evening:

   1)  Local newspaper had an article saying that a *third* building at my former High School had just been deemed "quake prone" - with all three buildings having been built either shortly before my time there, or during my time there, and all having been places I'd spent a bit of time in.


   2)  An old clip of Bill Gates giving a demo of Visual Basic back in 1991


 It's funny how these things go sometimes, isn't it...

 

Saturday, November 9, 2024

Principles and Frontiers for Creative Software Tools

Here's the long-promised "Manifesto + Roadmap" for the future of Creative Software Tools I'd been wanting to publish since May/June 2024, but was ultimately stalled from doing so by a bad first encounter with Covid ultimately sapping my strength to take on outside-work commitments for a few months.  

NOTE: To get this out, I may just publish it first then amend it later

 ~~~

Dabbling with designing up another DCC tool after a hiatus of a short break from that field has reminded me of a whole bunch of untapped / unsolved directions for the future of DCC tools to make them more useful to the humans who use them.

Graph Layout and Diagramming Tools Projects

Automatic Graph Layout

Every few years (i.e. roughly 4-6) I will often end up having some project that necessitates auto-generating a big graph, in which case I again waste time going through all the layout engines checking if any do what I actually want, find that none do, and then waste time trying to tweak GraphViz parameters again...

That reminds me that it is probably time to give my own graph layout engine another go. Would've been for multilayered graphs with a particular flow structure 😜

(i.e. For those who know, it's basically a layout engine for Blender's DEG graphs, as I originally envisaged them - so the idea is to recursively group/agglomerate clusters of nodes which belong to some common entity. Then at each layer, just solve the simpler problem that exists at that level within the container (i.e. only layout the nodes under said parent container). Once we have this, we can then flush the required bounds for each nested layout up the hierarchy, and so forth).


My Own Dream Diagramming Tool

Of course, in the process, I'm reminded that a bigger priority is really to build my own diagramming tool that will fully work the way I want - with all the style presets, palettes, and interaction flows I've always dreamed of.

Oh, and to have this work multiplatform somehow, so I can use it on our locked-down work machines, but also on my phone (for quick sketches / doodles).

This is much much more a priority, as I do this *all the time*, and the existing tools are annoying for various reasons.

 

Saturday, November 2, 2024

Congratulations to Notepad++ for 21 Years and Counting

Saw an interesting link today to a blog post proclaiming that Notepad++ has been existence for 21 years now:

 


 

https://learnhub.top/celebrating-21-years-of-notepad-the-legendary-journey-of-our-favorite-text-editor/


Having used it as my primary text editor for nearly a decade (i.e. starting roughly sometime around 2005-ish, and no later than 2006, until roughly 2014-ish), it has certainly been an invaluable tool for me personally.

 

Among other things:

* It was the text editor I used to code most of my Blender work (notably doing the 2.5 Animato refactor, and initial implementation of Grease Pencil)

* It was also the text editor I used for all my undergrad, and a big chunk of my honours project work (with Geany on Linux doing the rest of the heavy-lifting when I was using the department Linux machines)

 

Thursday, October 31, 2024

Wishlist for My Ultimate Photo Management + Editing Tool

Now that my project schedule is freeing up again (and most importantly, I'm finally free of my various university contracts / commitments over the past few years, with the rather onerous IP provisions those came with), my attention has again been turning towards what sorts of projects I may want to start working on in my free time going forwards.

 

The key operative principle though for any such projects I now take on is this:

From now on, any passion-projects I dedicate my free time to (and with full force) will necessarily only be ones that I fully control + own. Unfortunately, experience and hindsight have taught me that merely having something be open source (but still part of someone else's platform / hosted by some other funding org) is ultimately not the answer I once believed it to be.


Note: This is also NOT a firm commitment to actually embarking on building all of these things. But rather, just some open-air brainstorming, hoping that someone will build it all for me (and then not put it behind a hideous subscription-based paywall). Heck, maybe the mere act of brainstorming these designs then releasing them as blueprints to hopefully inspire a whole ecosystem of interfaces should be the actual project!


Enough framing boilerplate. Let's get down to the original topic for today's ramblings:

What my ideal "next-gen" photo management + editing tool solution should look like, were I to go through the effort to set one up.

Monday, October 28, 2024

[Trip Report] Sydney 2024

This is an abridged version of a more detailed post I'd been preparing (and subsequently never got around to finishing). As with the Wellington one, I might come back to attach some photos to it at some point, but the aim is to just get quick and dirty up so I have some notes on it. So without further ado, here is the "abridged" version

So back in July this year, we headed over to Sydney for a week - mainly to attend a cousin's wedding, but also to do some sightseeing. Oh, and it was our first overseas trip in 5 years (i.e. the previous was pre-pandemic in June 2019, and as it happens, was also for a family gathering in Sydney).

 

~~~ 


BTW, Crowdstrike happened while we were there, which made for an interesting experience.

  * It was surreal walking around the bustling waterfront at twilight:

          * Just before leaving the hotel after a nap, I'd seen the headlines, and started hearing all the bad news filtering in... But then, out the window I'd seen the stunning sunset, so wanted to dash outside to photograph it from the waterfront (knowing that I wouldn't get another chance to do so during the rest of my stay). So, there I was at the waterfront, wondering how things were going to pan out (i.e. it was still a developing story at that point, with lots of doom and gloom news spooling up at that point in time).  

          * It was quite a spectacular sunset (though sadly missed the best part of it by the time I'd gotten outside after waiting for the slow lifts), with a piano-busker playing "The Pachelbell  (AKA RIP Cellists)" (funny/timely since we were going to a wedding the next day), while watching the crowds of people (a mix of tourists + locals) just going about their business blissfully unaware/ignorant of all that chaos unfolding around the world, while also looking up at all those office towers with lights on feeling for all the IT guys there (and also back home) who now had a terrible fire on their hands

   * It's funny that only days earlier (Tuesday to be precise), I'd only just learned about the existence of Crowdstrike. And that was because my office workstation was running slow that day (and had been for a few days), when launching any new processes, prompting me to investigate what was happening (i..e I thought was only MsPaint, but it soon turned out to be everything, including opening new tabs!). 

         * At the time, I'd chalked it up to me not applying some Windows updates yet, which I assumed would get applied while I was away. But since I was heading away the next day, I decided to leave it alone. Little did I know.... the first time I'm out of the country in a few years, this thing then proceeds to knock out everyone's IT systems. 

         * Who knows... could I have helped the world avert this thing if I'd sounded the alarm that it was acting weird at few days earlier???


[Trip Report] Wellington 2024

At the start of this month, we headed up to Wellington for our semi-annual pilgrimage up north to check out the World of Wearable Arts show, get our coconut buns fix (since we don't have *any* dim sum places offering them here in Christchurch), and fit in another tour of the usual sights (i.e. Te Papa, waterfront, Lambton Quay, Old Bank Arcade, etc.)

In the interests of getting this post up (since heck, it's nearly the end of the month now, and also I haven't even finished working through my Sydney ones, or the MtCook ones from earlier in the year), I will likely end up making separate posts for some of the highlights below if/when I ever get around to finishing editing the photos (almost done, but not for some sets), uploading them, and curating them in a blog-post. Otherwise, I may just link to the relevant albums, since that's easier...

 

NOTE: This post will likely be updated with images in due course as I get them processed + uploaded. But the text comes first, so I can tick this off my personal todo-list (not that posting these really matters)

Sunday, September 29, 2024

Musings About Topical Issues - 39th Week of 2024

Here's a roundup of musings on various issues that came up this week...

(NOTE: Most of these I'm just harvesting from my Mastodon feed, and reposting here for easier archival for my own sake)

Saturday, August 31, 2024

Winter of Misery - The End is Near!

Yay!  Today officially marks the "end" of winter 2024 here - a season that unfortunately will be remembered as one of misery and lots of sickness...

 

Sunday, August 25, 2024

What's Your Number? Multi-National People You Know

Was just having an interesting discussion with someone about how many people from different countries / nationalities we each knew - either from working with them directly, VS just knowing them / being acquainted. Having made a few passes at this, it turns out I know a hell of a lot than I'd realised (i.e. I suspect I'm probably a fair bit more "international" than I realised...)

 

Totals:

* Current Workplace in NZ (Currently) = 9 10

* Current Workplace (Previously / On Top of Current Total) = 3

* Previous Workplaces in NZ (Combined) = 13

* Blender (In Person) = 9

* Blender (Online that I've Interacted With... IIRC) = 18

* Other FOSS Work = 3

* During School Days = 21

* Total Unique =  Approx  25-30   (will carefully re-count later)


So, what are your numbers?