Sunday, December 31, 2017
2017 Photo Highlights
As 2017 draws to a close, here's a collection of some of my favourite photos from this year. In past years, I'd have put up separate posts for each series, but since that's taking too much effort now, this will have to do.
Wednesday, December 27, 2017
Grease Pencil Dev - FAQ's, Current Status, etc.
In response to a bug report in the tracker, I ended up posting a long-ish reply that I thought would be good for more people to see, since it probably gives a bit more insight into some of the work that's going on "behind the scenes" atm. So, without further ado, here's a copy of my reply.
(For more of a user-orientated look at what functionality we've been adding, check out Antonio's code.blender.org post)
(For more of a user-orientated look at what functionality we've been adding, check out Antonio's code.blender.org post)
Season's Greetings and Updates
Just a short post today, to wish everyone a slightly belated "Season's Greetings"! I hope that you've all been enjoying some time off to spend with your family and friends, as 2017 draws to a close. Hopefully everyone is getting some much needed Rest and Relaxation :)
As for me, well, I'm certainly getting my fair share of rest (though I'm still waiting a bit for the "relaxation" part) after what has been an epic, draining year of near constant go-go-go on a series of big projects with tight deadlines. I guess all those late nights and stress have finally caught up with me, as over the past week, I've basically been forced to take some serious time off nursing what seems to be a nasty convergence of exhaustion/infections/asthma/allergies, all rolled up into one ugly ball of tiring mucousy coughing attacks and sleepless nights. It sucks getting sick (especially just before/during Christmas - in fact, I can't remember it having happened before), but it's probably a definite sign that it was time for a break!
BTW, before getting sick, I'd originally been wrapping up a few posts covering graduation day photos (this was the Friday just before I got sick), and a review of Coco (which we luckily managed to catch during early-bird screenings several weeks before it opens here). When I do get around to getting these up (probably next week or so), I'll probably backdate them to when I'd originally intended to post them (since the content will make more sense that way).
In the meantime, that's me for now. Seasons Greetings again to all, enjoy your holidays, and good health to all :)
As for me, well, I'm certainly getting my fair share of rest (though I'm still waiting a bit for the "relaxation" part) after what has been an epic, draining year of near constant go-go-go on a series of big projects with tight deadlines. I guess all those late nights and stress have finally caught up with me, as over the past week, I've basically been forced to take some serious time off nursing what seems to be a nasty convergence of exhaustion/infections/asthma/allergies, all rolled up into one ugly ball of tiring mucousy coughing attacks and sleepless nights. It sucks getting sick (especially just before/during Christmas - in fact, I can't remember it having happened before), but it's probably a definite sign that it was time for a break!
BTW, before getting sick, I'd originally been wrapping up a few posts covering graduation day photos (this was the Friday just before I got sick), and a review of Coco (which we luckily managed to catch during early-bird screenings several weeks before it opens here). When I do get around to getting these up (probably next week or so), I'll probably backdate them to when I'd originally intended to post them (since the content will make more sense that way).
In the meantime, that's me for now. Seasons Greetings again to all, enjoy your holidays, and good health to all :)
Sunday, December 17, 2017
PhD Graduation Celebrations
I still can't quite believe all this just happened a few days ago, but on Friday, I graduated with my PhD in Computer Science! Yay!
Shaking the chancellor's hand on stage
Photo with the Vice Chancellor, Chancellor at a special event afterwards
Chance encounter with former Prime Minister, Sir John Key, at the Arts Centre while taking photos
Monday, December 11, 2017
Coco Review (Spoilers)
Over the weekend, I took Mum and Dad to see Pixar's latest masterpiece - Coco! (And if you're wondering, yes, the much maligned "Olaf short" was still screened before it that day).
Technically, the film doesn't officially open here in NZ till Boxing Day. However, while checking the cinema times for the weekend (what better way to pass a few hours during the 30+ degree heatwave that's been gripping Christchurch over the past few weeks), I was pleasantly surprised to see that they were showing it various theatres this weekend! It turns out that these were actually special advance screenings (I didn't know that at the time), and that they were only going to be running over that weekend (luckily my gut instict was right on this part... it would've sucked having to wait another 3 or so weeks to get to see this).
Technically, the film doesn't officially open here in NZ till Boxing Day. However, while checking the cinema times for the weekend (what better way to pass a few hours during the 30+ degree heatwave that's been gripping Christchurch over the past few weeks), I was pleasantly surprised to see that they were showing it various theatres this weekend! It turns out that these were actually special advance screenings (I didn't know that at the time), and that they were only going to be running over that weekend (luckily my gut instict was right on this part... it would've sucked having to wait another 3 or so weeks to get to see this).
Monday, December 4, 2017
Production Notes (From 150YOD Video Project) - Things to Fix in Blender
To followup on my earlier #150YOD video post. I had originally intended to release this a lot earlier (e.g. around September 13th), but various things have been taking up my time over the past few months, delaying the release of this.
As has become my habit after completing each Blender project, here are some notes about things (bugs, usability quirks, observations, and general todo's) I ran into that need attention. Though it's mainly a list for myself, hopefully these notes may be of use to other people too.
The Dr is In - PhD, BlenderDev, and Upcoming Project Updates
Woah! It's been over 2 months since I last posted anything here again :(
During that time, I've ended up being super busy with various projects/commitments (which I'll outline below). Unfortunately, this has meant that my todo list/postponed-project backlog had to take a back seat again, along with squeezing in time to write stuff here (Note: This post itself has ended up being rescheduled several times already even!). Hopefully I'll finally manage to get enough time to start making some progress on some of the things I've been wanting to do sinceearly March (EDIT: actually, it's been since October June 2016)! Stay tuned...
During that time, I've ended up being super busy with various projects/commitments (which I'll outline below). Unfortunately, this has meant that my todo list/postponed-project backlog had to take a back seat again, along with squeezing in time to write stuff here (Note: This post itself has ended up being rescheduled several times already even!). Hopefully I'll finally manage to get enough time to start making some progress on some of the things I've been wanting to do since
Sunday, September 10, 2017
[Vote for Me] New Video Describing my PhD Research for #150YOD
Blender community batsignal!
TL,DR: Please help vote for my #150YOD video (deadline is Thursday/Friday midnight, UTC+12)! Every vote counts!
Like, Share, and Vote (link below)
https://www.thinkable.org/submission_entries/k8Way5qO
Voting Instructions (sorry, that it's a bit of a long-winded process):
1. Go to the competition website
2. Click the "Vote" button
3. Register on the site (Facebook or Email + Name + Password)
4. (If using email, check your email/spam folders, and Activate the account)
5. Back on the competition website, click the "Vote" button again.
Note: You haven't voted until the button says "Remove Vote" and your name appears on the list
TL,DR: Please help vote for my #150YOD video (deadline is Thursday/Friday midnight, UTC+12)! Every vote counts!
Like, Share, and Vote (link below)
Vote for my video at the following link:
Voting Instructions (sorry, that it's a bit of a long-winded process):
1. Go to the competition website
2. Click the "Vote" button
3. Register on the site (Facebook or Email + Name + Password)
4. (If using email, check your email/spam folders, and Activate the account)
5. Back on the competition website, click the "Vote" button again.
Note: You haven't voted until the button says "Remove Vote" and your name appears on the list
Thursday, August 31, 2017
Oil Column Heater Model
As a little warmup exercise for a video project I'm working on, I went ahead and modelled Mum and Dad's old oil column heater. Why a heater you may ask? Well, a few nights ago, I caught sight of the the heater's light casting a lovely red glow on the wall, nicely complementing the deep blue light coming from the windows in the darkened room, and thought to myself, "Hmm... I wonder if I could replicate this scene in Eevee..."
Of course, what's a story without a little drama ;) The one snag in all of this is that it turns out I haven't actually modelled anything in over 2-3 years! Sure, there have been Grease Pencil tests/animations and an occasional quick test objects, but models meant to look like something in particular? Zilch (IIRC, the last time I did a lot of modelling was on Dad's ebook promo video, which was eons ago...) Furthermore, I've mostly focussed on organic stuff (i.e. characters), so modelling an hard-surface object was a nice little challenge.
Of course, what's a story without a little drama ;) The one snag in all of this is that it turns out I haven't actually modelled anything in over 2-3 years! Sure, there have been Grease Pencil tests/animations and an occasional quick test objects, but models meant to look like something in particular? Zilch (IIRC, the last time I did a lot of modelling was on Dad's ebook promo video, which was eons ago...) Furthermore, I've mostly focussed on organic stuff (i.e. characters), so modelling an hard-surface object was a nice little challenge.
Monday, July 31, 2017
Update Time - Thesis Submitted
It's time to dust off the cobwebs and post an update! As you'll probably have noticed from the lack of activity here (and also in the Blender commit logs), I've been rather busy for the past few months </understatement of the year> ;)
Well, during the past 4-5 months, I've been bunkered down in my home office, pulling crazy hours 6.5 days of the week writing up my PhD thesis.
And as of last night, after 4 long years, I've finally submitted it! Woohoo!
Well, during the past 4-5 months, I've been bunkered down in my home office, pulling crazy hours 6.5 days of the week writing up my PhD thesis.
AKA *this* thing... All 268 pages and 100,000 words of it!
(It's no wonder that I haven't have much apetite left for doing any more writing/coding recently ;)
(It's no wonder that I haven't have much apetite left for doing any more writing/coding recently ;)
And as of last night, after 4 long years, I've finally submitted it! Woohoo!
Sunday, April 30, 2017
Tuesday, March 28, 2017
March Music - Musescore 2 Experiments
Over the past few weeks, I've been getting quite a lot of interesting melodic snippets popping up at random times (and much more frequently than in the past). So, I've taken to firing up Musescore and jotting them down while they're fresh (and also, since a lot of these just sound so neat when done this way). Plus, earlier in the month, I finally upgraded to version 2.0 at last, which has brought with it a lovely new Soundfont (based on Fluid; I especially love the Piano and Marimba sounds on this; the Flute could still be better on long notes, and I still don't dare to touch any of the Strings as they typically sound dreadful XD); that and the awesome "Continous Mode".
Here are two of the more "complete" pieces I managed to bash out using this (today's one is first, followed by an older one from week or two ago).
Here are two of the more "complete" pieces I managed to bash out using this (today's one is first, followed by an older one from week or two ago).
Monday, March 13, 2017
Breakdowner/GP Sequence Interpolation Ideas
While working on some recent improvements for the Breakdowner, I started daydreaming (as you do, when in full feature development mode, which is one of the things I love most about this process/work ;) about some ideas for how we could make these things even more awesome than they were already.
In case you haven't kept up with the latest developments in Blender, there are now two sets of tools with Breakdowner-like functionality:
1) The Pose Breakdowner (and the related "Push" and "Relax" tools)
2) The GPencil Interpolate and Interpolate Sequence operators
This post looks into what we could do for both of these - first common features, and then stuff that's more specific to the GPencil case (since it's newer functionality, which also has heaps more room that we can explore).
Oh, and just in case/before any gets confused, THE FOLLOWING CONTENTS OF THIS POST ARE ALL ENTIRELY HYPOTHETICAL/IDEAS ONLY. There's no guarantee than any of this will be implemented, though I'm curious how well they would turn out if I did :)
In case you haven't kept up with the latest developments in Blender, there are now two sets of tools with Breakdowner-like functionality:
1) The Pose Breakdowner (and the related "Push" and "Relax" tools)
2) The GPencil Interpolate and Interpolate Sequence operators
This post looks into what we could do for both of these - first common features, and then stuff that's more specific to the GPencil case (since it's newer functionality, which also has heaps more room that we can explore).
Oh, and just in case/before any gets confused, THE FOLLOWING CONTENTS OF THIS POST ARE ALL ENTIRELY HYPOTHETICAL/IDEAS ONLY. There's no guarantee than any of this will be implemented, though I'm curious how well they would turn out if I did :)
Saturday, March 4, 2017
Start of Autumn - Music
Here's a bunch of lite tracks I recorded this afternoon - the first weekend of Autumn here (sob). It's been a sunny (if mild) day, though it's clear that Summer has ended...
My favourite is the second one (especially that light rhythm in the background), as it echoes some of the cool music out there in various non-Western-classical music traditions (i.e. all the very cool stuff)
PS. After a few long weeks, I've finally finished data collection on my last experiment for my thesis. Yay!
My favourite is the second one (especially that light rhythm in the background), as it echoes some of the cool music out there in various non-Western-classical music traditions (i.e. all the very cool stuff)
PS. After a few long weeks, I've finally finished data collection on my last experiment for my thesis. Yay!
Wednesday, February 22, 2017
Port Hills Fires - Violin Layering Tracks
Last week, a series of out of control wildfires raged across the Port Hills to the south of Christchurch, destroying houses, sending massive plumes of smoke billowing into the sky (and visible from space), and leaving thousands of hill-suburb residents temporarily homeless (after often getting only minutes to evacuate).
Feb 22 - Violin Layering Tribute
Today marks 6 years since the devastating Feb22 quakes here in Christchurch. Here are a bunch of tracks I recorded to commemorate the event this year.
Saturday, February 11, 2017
Crazy Ideas Folder: OpenGL Renders in "Background" Mode via Mesa GL?
This evening, I caught a mid-conversation snippet that had me thinking, "Is that really so? I'm not so certain about that..." (or perhaps my supervisor's frequent utterings during our meetings have been starting to get ingrained in my mind XD). Anyway, the quote in question was:
Really?! I know it's not **currently** possible to do an OpenGL render in background mode, and perhaps there are limits to what we can achieve (especially if you're not allowed to spawn any windows and/or there's no graphics card on the rendermachine).
However, something from the vague hazy memories of the past tell me that this is not a cut-and-dried certainty.
"it's not possible to do opengl render in a background mode"
Really?! I know it's not **currently** possible to do an OpenGL render in background mode, and perhaps there are limits to what we can achieve (especially if you're not allowed to spawn any windows and/or there's no graphics card on the rendermachine).
However, something from the vague hazy memories of the past tell me that this is not a cut-and-dried certainty.
Wednesday, February 8, 2017
Quick Tip/Hack: Getting MSBuild to Stop on First Error
One of the most annoying and common problems (as a bit of Googling soon reveals) when compiling a big project with MSBuild (multi-process) is that even if compilation fails on one of the files (due to a syntax error or some other error condition), it will keep compiling the rest of the codebase. This is bad for two reasons:
1) You won't be able to link the program in the end anyway. At least in my experience, even if you could link the program (and that's not a given in every case), it doesn't make much (if any) sense to have an unreproducable chimera of old + new code (though exactly which bits they are you probably won't remember a little down the track)
2) You'll probably have to recompile all the code again once you fix the error anyway. More often than not, I've mainly had these errors show up when changnig code in a popular header file that large swathes of the program used. So, if a compile error like this showed up, the computer would have already wasted a lot of time/energy compiling a lot of files (many of them unsuccessfully too), work that would have to be redone when you've fixed the error anyway.
After a few false starts, I ended up finding a neat (if somewhat evil) little hack to solve this problem once and for all.
1) You won't be able to link the program in the end anyway. At least in my experience, even if you could link the program (and that's not a given in every case), it doesn't make much (if any) sense to have an unreproducable chimera of old + new code (though exactly which bits they are you probably won't remember a little down the track)
2) You'll probably have to recompile all the code again once you fix the error anyway. More often than not, I've mainly had these errors show up when changnig code in a popular header file that large swathes of the program used. So, if a compile error like this showed up, the computer would have already wasted a lot of time/energy compiling a lot of files (many of them unsuccessfully too), work that would have to be redone when you've fixed the error anyway.
After a few false starts, I ended up finding a neat (if somewhat evil) little hack to solve this problem once and for all.
Tuesday, February 7, 2017
Custom MSBuild Loggers for Blender Devs on Windows
Given that it was a long weekend here in NZ, I decided to take a little time off to work on a little "weekend project" I'd been wanting to work on for ages. (BTW, it wasn't the only weekend project I worked on this weekend, but it's the only one that will be of much interest to anyone else :)
Here's an obligatory screenshot showing the results of my work.
Here's an obligatory screenshot showing the results of my work.
The "cleaned up" Blender build output as a result of my project: blender_msbuild_loggers
Saturday, February 4, 2017
Blender Dev Updates - 21 Jan
(EDIT: I originally meant to post this a few weeks ago, but it's taken a while to get around to finishing the demo materials included here... but, PhD work takes priority, again...)
This week I took some time out from my PhD work (argh, creating questionaires is such a pain) to get through a bunch of simple new features I'd been meaning to code during my break... that is until continuing my holidays took priority ;) But with the announcement that we would be pursuing a 2.79 after all, it was time to brush off the plans and get these features in.
This week I took some time out from my PhD work (argh, creating questionaires is such a pain) to get through a bunch of simple new features I'd been meaning to code during my break... that is until continuing my holidays took priority ;) But with the announcement that we would be pursuing a 2.79 after all, it was time to brush off the plans and get these features in.
Most of the new features are Grease Pencil related... (Some but not all of them can be seen here)
But, there's also stuff for all animators too...
Wednesday, February 1, 2017
After the Rain
Here's one more set of photos to clear some of the backlog of photos I'd been meaning to post here (I'll leave the sunsets for another day, since there've been quite a few of those recently :)
There's a magical moment shortly after the rain has cleared, when the flowers in the garden are bathed in a fesh coating of fine little glassy crystals...
There's a magical moment shortly after the rain has cleared, when the flowers in the garden are bathed in a fesh coating of fine little glassy crystals...
Seagulls up Close
A few weeks ago, I had a lovely walk around the CBD for the first time in ages. Along the way, I found a nice shady spot on the riverbank to sit and watch a flock of gulls preening, sleeping, and otherwise doing a whole lot of interesting things you don't often get to see them doing. For instance, who would've known that aside from squaking aggressively and trying to steal your lunch, these things can also look kindof cute - especially when they stand on one leg looking like a moggy with a bad case of fleas!
From certain angles, there's a bit of cuteness in there... Somehow, this shot reminds me of Piper. (I think it might be the rounded head and the placement of the two dot-like eyes on there that does it)...
From certain angles, there's a bit of cuteness in there... Somehow, this shot reminds me of Piper. (I think it might be the rounded head and the placement of the two dot-like eyes on there that does it)...
The Sea - On an overcast day
With the lack of kites to photograph, I ended up turning my attention to the waves crashing upon the shore (as seen from the pier). In recent times, everytime I've headed out to the coast, I've been really quite captivated by the magesty and power of the waves...
Kite Day 2017
Over the weekend, the annual "Kite Day" was held at New Brighton beach, on a warm but overcast summer day.
While in previous years, there would be large displays of a variety of massive novelty kites, this year, they were in short supply... As I later discovered, there was apparently too little wind to get them up into the air that day (despite the day before, and day after being really windy...). However, in place of the large display kites, it was fun to see so many families out and about having fun trying to fly their own kites :)
While in previous years, there would be large displays of a variety of massive novelty kites, this year, they were in short supply... As I later discovered, there was apparently too little wind to get them up into the air that day (despite the day before, and day after being really windy...). However, in place of the large display kites, it was fun to see so many families out and about having fun trying to fly their own kites :)
Saturday, January 28, 2017
Thursday, January 26, 2017
"Regal" - Orchestral Tune
One morning, a melody came to me while having breakfast, so I spent a few minutes transcribing it. The whole thing kindof snowballed however once I realised that the French Horn can't actually play some of the higher notes I'd been building up to, hence the introduction of additional instruments, leading to horn + trumpet + strings (vln 1, vln 2, vla) + flute (added in that order). Apart from the crappy quality of the synthesizer (blame the MuseScore folks :P), the following clip captures what I set out to achieve that morning quite well I think (plus, it turned out quite nice too IMO :)
Violin Layering Highlights - January 2017
Over the past few weeks, I've continued playing around with my "Violin Layering" series of improvised recordings. Here is a collection of some of the highlights from this month. Hope you enjoy :)
Sunday, January 8, 2017
Voice Controlled AI Devices - A Reaction Post
In response to the article about voice-controlled boxes being activated by a news item about how a kid managed to buy a dollhouse + cookies off Amazon via the voice control.
Interpreting sound has never been an easy thing. Not for humans, and definitely not for computers! If you actually think about it, it's not that hard to imagine how hard it is for a computer to understand speech and sounds. For example:
* How many times have you had trouble understanding someone's accent? Or had a misunderstanding because you misheard someone's muffled speech over a noisy/muffled/faint/crackling/unreliable phone? Well, guess what, for a computer doing voice recognition, the only input it's got is the sound coming in from the microphone... which of course is mixed in with everything else going on sonically in that environment (e.g. TV's, smartphones, gaming consoles, music players, rangehoods, kitchen equipment, aircon, running taps, open windows/traffic-noise/neighbours, bickering flatmates, etc.). And that's not to mention that the users may be out of range of the microphone, or the microphones may be cheap trash bought for bargin basement prices, and have been wired backwards...
* How many times have you been watching a film or tv show, and found yourself lurching for the fire escape as a siren sounded on screen? Or reached for your phone, only to realise that it wasn't your phone ringing, but that of the lady at the next table? Or perhaps you've responded to someone calling your name, only to find that a stranger had been calling another stranger, and not you (the now slightly embarrassed sucker trying to pretend that you didn't just not-answer to your name). Clearly, even us humans get it wrong quite often, but at least we often have the benefit of *context*, the ability to use our other senses to diambiguated the situation, and a few other "on-the-fly" techniques. (This probably goes some way towards explaining why there's a reason that people like me really don't like answering phonecalls or having to call people on the phone...). Anyways, if it's hard for us humans to get this stuff right, expect the computers to have an even harder time to disambiguate all of this!
Inspired by all this, I wondered what a "day in the life" of one of these voice recognition boxes would be, when deployed in a domestic environment that's not kindof far from the "idealised model-human" fantasy that designers often find themselves falling back to... The answer was that it would feel like they were a lost and isolated operative thrust into a war zone - "hostile enemy territory"...
Interpreting sound has never been an easy thing. Not for humans, and definitely not for computers! If you actually think about it, it's not that hard to imagine how hard it is for a computer to understand speech and sounds. For example:
* How many times have you had trouble understanding someone's accent? Or had a misunderstanding because you misheard someone's muffled speech over a noisy/muffled/faint/crackling/unreliable phone? Well, guess what, for a computer doing voice recognition, the only input it's got is the sound coming in from the microphone... which of course is mixed in with everything else going on sonically in that environment (e.g. TV's, smartphones, gaming consoles, music players, rangehoods, kitchen equipment, aircon, running taps, open windows/traffic-noise/neighbours, bickering flatmates, etc.). And that's not to mention that the users may be out of range of the microphone, or the microphones may be cheap trash bought for bargin basement prices, and have been wired backwards...
* How many times have you been watching a film or tv show, and found yourself lurching for the fire escape as a siren sounded on screen? Or reached for your phone, only to realise that it wasn't your phone ringing, but that of the lady at the next table? Or perhaps you've responded to someone calling your name, only to find that a stranger had been calling another stranger, and not you (the now slightly embarrassed sucker trying to pretend that you didn't just not-answer to your name). Clearly, even us humans get it wrong quite often, but at least we often have the benefit of *context*, the ability to use our other senses to diambiguated the situation, and a few other "on-the-fly" techniques. (This probably goes some way towards explaining why there's a reason that people like me really don't like answering phonecalls or having to call people on the phone...). Anyways, if it's hard for us humans to get this stuff right, expect the computers to have an even harder time to disambiguate all of this!
Inspired by all this, I wondered what a "day in the life" of one of these voice recognition boxes would be, when deployed in a domestic environment that's not kindof far from the "idealised model-human" fantasy that designers often find themselves falling back to... The answer was that it would feel like they were a lost and isolated operative thrust into a war zone - "hostile enemy territory"...
First Steps with Rust
A few days ago, I suddenly got the urge to download Rust
and have a little play around with it. Truth be told, I've been hearing
some good things about it, and seeing as they now have a stable version
out, I felt it was finally time to give it a little play around.
So far, I've played around with it for about 3 days. There's still a lot I don't know about the thing, but at the same time, I now have a decent feel for some "everyday aspects" of coding in this language.
So far, I've played around with it for about 3 days. There's still a lot I don't know about the thing, but at the same time, I now have a decent feel for some "everyday aspects" of coding in this language.
Saturday, January 7, 2017
2017 Kickoff - Holiday Inspirations
We're a week into the new year now, and as most of us return to work from our holidays, I'd like to mention a bunch of interesting stuff I came across in the second half of my holiday (i.e. the stuff that came after alternating between lounging around like a vegetable and running around going to exotic locations for fun). I've gotta say, it's been great having a break!