Sunday, January 21, 2024

Mirrorless Camera Observations - First Week Impressions

Recently I bit the bullet and proceeded to get a new camera to supplement my ageing (and also apparently somewhat ailing though still trustworthy) 7D DSLR. After sticking with one camera for over a decade, switching to anything else was always going to come with a learning curve. What I didn't expect though was what some of those learnings would be!

 

Short Summary of Key Points

Pros:

* Between a nice new higher-quality standard lens, and new sensor tech (and being FF this time too), images are a lot sharper in general. Especially when shooting landscape stuff (e.g. treelines against sunsets in particular, but also tiny text on small labels on things in frame) are now often very sharp + clear with this setup, whereas it used to be somewhat hit and miss whether the same applied before with my old standard lens setup

* There are now 3 dials on the body that can be used to adjust various things, along with an additional mappable control-ring on the new-generation lenses. As you'd expect, in Full Manual Mode, these dials have been mapped so that the two that used to be present still control shutter speed + aperture as before, with the new one handling ISO - exactly as I'd been wishing for many years.

* New sensor == Higher ISO levels you can use (and with less obvious grain when that happens)

* Auto-focus available during video recording

* Can use EVF for "through the lens" live-view preview of what you're recording during video recording - which is better for situations where holding at arms length to see the LCD was problematic

* Can also choose to use the LCD screen in  "pop out" mode out the side, with some angling support available

* A whole bunch of new + more advanced autofocus modes + settings to choose from, along with a wider array of focus points that can be used

 

Sunday, January 14, 2024

LOL... The "Genius" Developer Who Created Grease Pencil?! 😂

Was pretty chuffed to get sent a link to a YT video the other day with a pretty fun title LOL 😂😂😂



https://www.youtube.com/watch?v=H6XqricCPPY


Tuesday, January 2, 2024

30 Years of Blender

It seems that this year marks the 30th Birthday of Blender (which is observed on the 2nd January every year). What a milestone!

 

On a personal level, I am forever grateful for role that Blender has and continues to play in my life. In many ways, you can say that Blender and I grew up together - right time, right place, all that sort of thing:

From starting out as a kid in his early teens in NZ wanting to make his own animated short films; to starting to put my self-taught programming skills to use tweaking and modifying this software to scratch my own itches; to starting to help the nascent few professional studios starting to use Blender to scratch their itches; and finally, spending the better part of a decade or so fighting hard to propel our favourite open source 3D content creation suite from "just a little hobbyist toy" to "serious film-production ready software on-par with (if not outright superior to) the other much more lauded 'industry standard' software".

I think it's fair to say that we've definitely achieved that goal of becoming one of the new industry standard DCC suites, playing a major role in production pipelines throughout the industry. Everywhere you look, there are people out the using Blender - often in places and ways that you'd least expect!   

What a thrilling ride it's been, along with getting to meet some many good lifelong friends along the way! 

 

As you may have noticed, I've been largely absent from active involvement in the Blender world for the past few years. While a return to actively developing and contributing to Blender is not completely off the cards, it is currently highly unlikely. Never say never, but between a fairly heavy workload on a complex + important / critical system in my day-job, some ongoing consulting work on some other projects I've been involved in, and also trying to have a bit more of a life outside of work (I'm trying... old habits die hard), it's unlikely to happen anytime soon.


(Admittedly, it's also been somewhat bittersweet seeing the recent resurgence of interest in Blender's Animation System. Seeing all the active discussion + development of things I would've really loved some feedback on a decade ago when I was actually still actively working on some of these things is fun to see... I just wish it could've happened sooner! Oh well... such is life!)


Happy 30th Birthday Blender!

Sunday, December 31, 2023

Year in Review - 2023

And with that, another year is over! Here's a quick rundown of a bunch of key events this year.

If I had to sum up the year, it'd likely have to describe it as: "A tumultuous year of loss, turmoil, and new beginnings"

 

BIG THINGS

* Started a new job this year - a permanent position at last (!) - in a field I love.  Technically, I was returning to the company that I'd been working for prior to the pandemic (but this time, not in a time-limited role), as the major project I'd been working on 3/4 years ago went live at the end of the year.

 

* Two major projects I've spent the last few years working on "went live / public" this year:

   1) The aforementioned big + complex + important system I work on in my current day job

   2) TPMS Studio - The software project I'd been working on for a few years has finally been released for public usage.

Announcing TPMS Studio

"TPMS Studio" is a CAD application I built from the ground up while working as a postdoc at the University of Canterbury for realtime modelling + visualisation + direct 3D printing slicing/export for complex functional engineering assemblies featuring porous microstructures.  

* It runs on the GPU and is supposed to be fully cross-platform (though we can only really test / support Windows currently).

* It natively supports more than 30 types of "Triply Periodic Minimal Surfaces" (including the usual suspects - Gyroid, Diamond, Primitive, IWP, etc) - My personal favourite though is the "Fischer-Kock C(S)" one  (*)

* We have the ability to directly export geometry to MSLA / resin printers, without needing to go through expensive + resolution-limiting meshing steps through an external slicer?

Also, as you can see from the video / demoreel below, the UI design of this software is heavily influenced + infused with Blender UX heritage ;)

Tuesday, December 19, 2023

Good Good Good - Santa Claus is... Chinese?! 🎅🎅🎅

Seeing as we're in the home stretch of the festive season, I thought it would be a timely to share some fun musings I wrote last year on Christmas Day  (some bits may not have entirely aged that well tho 😅)


Since I guessed that most folk would've been offline then, I decided to hold off posting it till the run-up to Christmas this year, so more folks may get to see it in a more timely way. So, here we go!  Hoping everyone has a very Merry Christmas and a Happy New Year!  🎅🎅🎅


~~~ 🎅🎅🎅 ~~~

Saturday, October 14, 2023

Tui at Wellington Botanic Gardens

Didn't have as much luck getting a good photo of the Tui's, despite seeing way more of them (and actually running into one of them first).

This one is one of the better ones. 


Kaka at Wellington Botanic Gardens

Was pleasantly surprised to discover last weekend that Wellington's Botanic Gardens (up the top of the Cable Car) turns out to be quite a bird-watching heaven - with Tui, Keruru, and Kaka all hanging out up there without having to head all the way out to Zealandia!

Here are some of my favourite shots of the Kaka. Reposting from Mastodon for posterity.

(Disclaimer: Slim pickings, as I didn't have my bird lens with me, and it kept hiding in the canopy). 


1) Inquisive kaka with food on its beak - This is perhaps my favourite shots of the bunch

Sunday, October 8, 2023

WOW23 - Wellington Weekend Trip

WOW... what a weekend! (Pun intended) 😊

Top Highlights:
✅ First trip out of CHC in over 3 years!
✅ Finally got to have lunch at Grand Century again (+ got hands on a whole bunch of coconut buns 😋). Discovered a bunch of new favs there too this time 😋 🤤
✅ Finally actually visited the Botanic Gardens. A surprising birding heaven! Saw multiple tui, pair of keruru, a kaka (!!!), and a bunch of fantails.  Possibly heard bellbirds too?
✅ Attended WOW again (+ got to stay in closest hotel this time)

(Trip notes cross-posted from a Mastodon thread for posterity)

Saturday, July 29, 2023

Thoughts on NCEA

In my experience, NCEA is a punitive box ticking system, particularly when for students who would traditionally be considered to be in the generally high performing tiers, but may for whatever reason be prone to either occasional clumsy mistakes, or be good at everything except some relarively minor skills (that are accordingly listed in the lowest tier requirements)

Saturday, July 1, 2023

Tan Dun's Water Concerto

I just finished watching a performance of Tan Dun's "Water Concerto" tonight after seeing a clip earlier in the day and being quite intrigued about it.

In short: It's an absolutely fascinating work!

A very interesting mismash of disparate elements put together in interesting ways...


Tan Dun(譚盾) - Water Concerto (水協奏曲) performed by Yi Chen


Wednesday, April 19, 2023

Python 3.11 - IntEnum str() representation changes

Got an unwanted surprise today trying to run my codebase ("TPMS Studio") using the latest Python (3.11) instead of the 3.7 / 3.8 combos I've been using for the past few years.

Turns out the core team made a breaking change to the behaviour of enums, which breaks our file format + causes the code to crash on startup (assert failures)!

The cause:
`str(eMyEnum.Value_1)` now evaluates to "1" instead of "eMyEnum.Value_1"

(Note: eMyEnum is defined as an IntEnum)

 

The solution I ended up with was based on:
https://github.com/python/cpython/issues/94763#issuecomment-1313058070

 

[EDIT: This was the old solution. I have since learned of an even easier fix, from the official docs. See below]

In short, I now do something like:
```

import sys
import enum

if sys.version_info >= (3, 11):
    # Python 3.11+ hack
    class IntEnum(int, enum.Enum):
        # Get back old "EnumName.VariantName" str() behaviour
        pass
else:
    # Use old defines for older Python versions
    IntEnum = enum.IntEnum

```

 

[Latest Update: This solution is easier to use. It comes from the official docs (i.e. example 2)]

```

from enum import Enum, IntEnum

class eMyEnum(IntEnum):

    __str__ = Enum.__str__      # <--- That's the key right there

``` 


 Reposting from my original Mastodon posts for easier searchability