Some random programs I wrote (Part II)

March 6, 2019

Unrelated note: I turned 30 today and am currently at the final stage of deciding between offers for my next career (very exciting times & stay turned for updates =) )

42 profile as of March 6th, 2019

Somewhere in the middle of my time at 42, I took a “C++ piscine”, graduated from C to C++ and started writing object oriented programs. This post will give a pictorial outline of a few of those later projects. Again, most of those are 2-man projects I shared with my coding companion Liam Dehaudt.


This is an off-the-galaxy project “custom created” for us by a guy named Gaetan who run the school here. The goal was to understand this paper, which presents a consensus algorithm comparable to block-chain and implement a small scale version of the system.

Hashgraph visualizer in action (intentionally slowed down for clarity)

In the example above we have 6 nodes in the network, they randomly ‘gossip’ to each other with gossips potentially carrying a payload. Every local graph is then updated through the gossip. New nodes representing the event of the gossip is added on (blue nodes), every ’round’ there is a layer of ‘witness nodes’ (red); when witness was well know they become ‘famous’ (yellow) and the famous witnesses then vote for the authenticity of other nodes (once nodes are approved, they turn green and is then logged into the database). If nodes are not approved (i.e. error or fraud), they will turn grey and a waring will be printed. We also implemented our own MD5 hashing algorithm to use for all connection and signatures.

Museum of Shaders

A cool graphics project exploring the fantastic world of openGL fragment shaders (i.e. using a single shader applied to a quad to render things line 3 dimensional fractals). We place shaders in a museum environment (Which I definitely did not steal from the British Museum Elgin marble room) by using billboards to fake 3D and switch between two different display/perspective systems when far away and close to the shaders.

As some may have picked up, I was able to put in some not-so-subtle references from mathematics, the shaders exhibited are:

  • Mandelbox (the scale multiplier changes over time)
  • Mandelblub
  • Sierpinski’s tetrahedron
  • IFS based on Sierpinski symmetry
  • Semi-transparent Quaternion Julia set (4th dimension evolves over time)
  • Cloud with Volumetric ray-marching
  • Structure generated by Kleinian group in 3D torus
  • Galaxy (2D shader)
  • Kaleidoscope (2D shader with octagon symmetry)

Was a lot of fun playing with shader ray-marching to get them to work =) & in the process I have discovered some amazing online fractal and shader enthusiast communities such as ShaderToy.

Voxel World

Sunset from a mountain top

Generated infinite Minecraft style terrains using a few layers of Perlin noise. Optimized in openGL by making block meshes etc. I had lots of fun making landscape look natural, included snow, mountains, grass, sand, water, trees and caves.

Moving, running or gliding through the world


An AI capable of playing the classical board game Gomoku along with an implementation of the game mechanisms and UI.

We implemented a version of minimax algorithm with Alpha-Beta pruning enhanced by killer heuristics. One of the rather unconventional idea used was, to reach higher search depth and take full advantage of the entire game time as a real player would, I decided to make a parallel thread which continuously search and hash moves back-stage while human player is thinking, then we are able to cap the return time at 0.5 seconds once player placed a stone by iterative deepening.

Some random programs I wrote (Part I)

March 6, 2019

In late April 2018, I officially went onboard 42 as a ‘cadet‘ and have since ‘climbed the ranks’ all the way to ‘captain‘ by completing various programming projects in the ‘galaxy‘. It has been a uniquely addictive process. I decided to write a post to outline some of the projects as well as sharing my plans on what’s next. Please also feel free to visit my Github for the source code and more detailed descriptions of the projects.

The galaxy

Below are a few of my personal favorites, ordered roughly chronologically.

Note: many of below are team projects done in pairs or triples, I’ll credit my awesome friends and teammate Liam Dehaudt and Charlie Gleason here =)


This was one of the first projects in the curriculum. The goal is to render various fractals in \mathbb{C} in real-time by taking mouse position as parameter. Parallel threads are used to speed up the rendering.

After completing the basic ‘stage set-up’ and the required Mandelbrot and z^2 + c. I had lots of fun coming up with color schemes and implementing rational function Julia sets such as those with locally connected Julia set homeomorphic to the Sierpinski carpet:

As well as those that has a hyperbolic symmetry similar to that of the Poincare disk:


This is an optimal transportation puzzle where one needs to find the minimal number of steps to transport a fixed amount of ants from one point to another through a graph. I had fun designing a retro-style ascii visualizer on top of the algorithm =)

We re-formulated the problem into a max-flow problem on a derived directed graph (we double all vertices and edges and form a larger graph) to apply the Ford–Fulkerson theorem. Project the resulting parallel paths to the original network and resolve overlaps. Then we queue the ants in the resulting set of disjoint paths depending on the length of each path. The result guarantees optimum solution as long as the number of ants is greater than the sum of lengths of paths from Ford–Fulkerson.

A simple example where the flow solution would result in overlapping paths and resolving overlap was required and the queuing can be seen observed


We made a reproduction of the Core War game. Including full implementation of assembly compiler, virtual machine and GUI.

Virtual Machine in action (4 worrier mode)

Core War is a 1984 programming game created by D. G. Jones and A. K. Dewdney, inspired by a malicious virus written in the 80’s. To deal with the self-replicating virus, a white hat hacker invented Reaper. It was a virus designed to spread and eliminate the malware.

The idea was simple. You compete by designing viruses to overtake a computer. You win by protecting your own program and overwriting your opponent’s programs. This is all happening on a virtual machine.

Particle System

An openCL and openGL simulation of movement of millions of particles in space in various gravitational modes. Used GPU for parallel computing.

Change gravity strength

Note: Due to the GPU restrictions, this project records with significant quality and performance loss, highly recommend trying it out!

…More to come in Part II…

2018 – Silicon Valley, 42 and programming (part II)

January 24, 2019

As explained in the previous post, I picked up programming in 2018 at a place named ’42’ (as in Hitchhiker’s guide to the galaxy) and got very much addicted to it. This post will outline how that happened and my somewhat non-traditional path in learning programming.

42 Silicon Valley campus

It all started one winter night in 2017 at a random hostel in HongKong, I went there for a few days between trips to pick up my Canadian visa. After visiting Disneyland and re-visited a few tourist attractions I found that there’s not much to fill my days with in this humid and bustling city. As I browsed blogs randomly, I stumbled upon this article, which described a new concept school in Paris that is apparently highly selective and completely free.

I was immediately curious about the place and learned that they have opened a campus in Silicon Valley. Without better things to do that night, I decided to make an account and try the ‘logic puzzle quiz’ which is the pre-requisite for entering. At 4 am I finished the quiz (which had the time limit of 4 hours and I was only partially aware when started). The next morning I received an e-mail invitation to their Silicon Valley campus for the 4-week long ‘piscine’ (something like bootcamp before the full-time program for further selection), which comes with free accommodation.

42 admission process as of Jan. 2018

Since I do plan to spend some time in the Bay Area and have alway had a slight regret on not having been properly introduced to actual programming (I learned a bit of VB in elementary school and didn’t like it, then took a graduate courses in purely theoretical algorithms and a computer graphics course in C++ without completing any coding pre-requisites). I signed up for the Piscine in March with the idea of treating it as a month-long puzzle-solving vacation to catch up on some missed liberal arts education. (the full program was said to take 3-5 years and I obviously won’t want that much more schooling)

The Piscine:

It’s beginning of March, my plan was to fly directly from London to Oakland and land the night before the program starts. I managed to miss the plane due to a combination of London train delays, over-confidence in being the last person to check-in built from McKinsey days and the famous black-cab taking a lot longer than legend has it… Anyways, I ended up having to fly through Scotland then Iceland and spending a night at an airport hotel. So by the time I arrived at the Piscine it was already mid-night of day00 (all counting starts at 0 here, the way John Conway used to teach us).

A team speed-coding game

So the piscine starts, to me the school felt somewhat like a place in a sci-fi story, ran by aliens/robots/rats, everything is automated, there were no staff aside from a few student volunteers:

  • We code in C by learning from sequence of videos ordered by day
  • A new set of puzzles is released every weekday morning at 8:42am and due at 11:42pm the next day (so they overlap)
  • One exam per week on Fridays where you log-on to complete
  • One group project and one individual project for each weekend

There is an interesting ‘correction points’ economy, where each submitted day has to be peer-reviewed 2 times before it can be computer corrected (i.e. one needs to schedule corrections and spend points to get people to go through the submitted code; one earns correction points by grading others). I was able to catch up on the first day’s problems in the next day but between corrections and all the other events, time was quite tight if one aims to finish all problems, even for me.

The automated correction system is designed to be quite brutal, lots of edge case testings and one small error in one exercise would stop the grades from all the later exercises to count. So even though I managed to solve all problems I still failed a couple days.

A day where a small error sneaked in and a few harder problems doesn’t count

The goal of the Piscine is to gather XP from days, projects and exams to level-up as much as possible. This gamification worked really well on me as I found myself working till 3 am regularly trying to be the highest leveled person in the piscine. It’s perhaps the most fun I’ve had in solving puzzles after Mathcamp back in high school =)

Piscine aftermath:

It was mid-April, the Piscine ended and I felt that I haven’t had enough… Since I had no concrete plan on the horizon (vaguely my plan was to start a new career in Toronto for a few years, ideally doing something new and exciting), I decided to enroll in the full-time program ‘while I’m figuring out what to do next and leave anytime’… this turned out to be a dangerous plan as I am still here after a straight 8 months of coding and having completed the entire program (beside internships), now winding up my interview process and choosing offers for software engineering.

This post is getting a bit long and I haven’t even gotten into any actual programming yet… I’ll probably do a separate post (or two) to describe some projects and the time I spent in their Paris and Ukraine campuses…

2018 – Silicon Valley, 42 and programming (part I)

January 23, 2019

Hi friends, it’s been another year & time to (finally) write an update on what’s keeping me busy! =)

Super-brief summary:

I got addicted to programming and am landing my next career in software engineering.

Brief summary:

  • January: I took a back-country split-boarding course with NOLS in Wyoming
  • February: I briefly moved to Toronto, obtained my permanent resident card while making some long-overdue progress in drawing and painting before taking a short touristy trip in Abu Dhabi and London
  • March – October: I came to Silicon Valley in response to an invitation from a French programming school named 42, initially I intended to stay for one month, solve some puzzles and pick up some basics of coding (which I always thought might be fun but never actually managed to take the time to learn). This last part turned out to be highly addictive and before I knew it, I have programmed non-stop till the end of the year and found myself interviewing as software engineer at various tech companies.
  • November – December: Stayed for 6 weeks in France and Ukraine to visit other campuses of 42, collaborated with local students and more level-ing up kicked off the interview process for my next career.

Due to the different nature of topics, I’ll spilt the post into two parts: Part I contains various bits of random trips/things I do till I started programming and Part II describes some programing projects and how I got intensely interested in the field.

So let’s start by rewinding time to January 2018:

Split-boarding with NOLS:

I took a 14-day backcountry split-boarding course with NOLS which includes a 10-day expedition into the mountains of Wyoming (i.e. drag a sled containing all gears, food, cooking equipment; built quinzhee to live in etc.). Was a lot of work but an extremely rewarding experience, learned a lot about rations, avalanches, cold injury, how to crafting snow into useful structures… Now I feel ready to head into the wildness even in the winter.

…and of course there’s the snowboarding part where we made marks on lots and lots of untouched powder!

Some drawing and painting in Toronto:

I got back to Toronto late January to finish some logistics and immigration paperwork (was planning to work in Toronto for a few years, although that plan didn’t end up happening). While in the city I signed up with a local atelier managed to do some drawing and painting there (the above are mostly my works from a Sargent workshop in which we learned to reproduce the technique used by John Singer Sargent, I also did some Bargue drawing and life portraits)

Abu Dhabi & London:

In mid February I went to UAE for the first time to see a friend and visit the Louvre of Abu Dhabi and the most expensive painting ever sold. Stopped by London for a week to catch some shows, museums and good food, before flying to California for what I thought was a one-month intensive programming camp… (continue in Part II)

A picture log of my 2017 post-consulting life

December 18, 2017

So it’s been almost a year since I set sails away from the sophistication of the corporate world to find more primitive adventures. Although not all things went as planned, it’s been perhaps the most memorable year I’ve had: 14 countries in 5 continents, 2 broken bones, tried many new things and met many new friends. Main while, I guess the main plot of my life has somehow unfolded semi-unexpectedly: I became a Canadian permanent resident and married some French model theorist.

Updated map (places visited, by country)

Chapter 1. Snow, ice & mountains

January: Alps (France & Swisserland)

I started my journey in the French Alps, without having much clue about how the mountains work and where the best ski places are. I did the fool-proof thing of googling where Mont Blanc is and made my way there (logic being I probably won’t miss out by starting at the highest point, there’s gotta be cool stuff around it, right?) So I winded up passing through Moscow, Lyon and found myself in the ski/mountaineering mecca of Chamonix, where I tried paragliding, snowshoeing and took some first courses in snowboarding.

Then I headed to Swiserland and spent a week climbing frozen waterfalls. We ended up driving around Swiserland finding different falls everyday and moved from single pitch to multi pitch and towards higher grades. Conditions were generally -15ish degrees plus windchill. There’s nothing like hanging on vertical ice with painfully frozen fingers and toe trying to do pull-ups.

February: Alps to UK (Austria, France, UK, Ireland)

At the beginning of February I went from Austria back to France, doing more snowboarding on the way. Then I broke my wrist on the day which there’s a photographer following the class and we were asked to go down an easy slope to get photos taken. Of course I tried to look like I can ride better than I actually can, and fell hard. Luckily the doctors in Chamonix are extremely experienced with such injure, ‘We get this 20 times a day…everyday’ he told me while mechanically casting my arm.

After attempting to snowboard with the casted wrist (which worked relatively well), I decided to cut off the cast after 10 days and head to the Scottish winter mountaineering class as planned (which did not go well as my hand started to turn bright blue halfway up the mountain on the first day). So I spent the rest of the week wondering around the Scottish countryside, where I learned to embrace the slowness and developed a new understanding of where Turner got his amazing landscape colours from.

Then I did some museum-going and spent much of the day at coffee shops in major cities throughout England, Wales, Northern Ireland and Ireland.

March: Japan

After a short stop back in Shanghai I decided to head out for some more Snowboarding, this time in Hokkaido, Japan.

Towards the end I was able to go off-piste and into the woods

Did some touristy things while there as well (by now I have officially been to all Disney parks in the world!)

Chapter 2: Ocean

April: Indonesia

After putting down my ski goggles and digging out my diving mask, I went straight to the warm ocean for some surfing and diving.

Found the new world of free-diving and got completely hooked (I feel like I’ll never want to use a scuba tank again)

May: Western Australia

Going further south I arrived in the vast empty lands of Western Australia.

Arrived in Exmouth – A small town in which the main industry is whale-shark tourism (i.e. taking boats of tourists out and drop them down to swim with wild whale-sharks in the ocean). Here I had a wonderful few weeks volunteering as a crew member on a whale-shark boat, of course applying some newly-acquired free-diving skills =)

June: Indonesia

I went back to Bali and volunteered for the freediving shop in June, painted logos, fishes and instructor’s fins while furthering my freediving training. After a month I was able to hold breath for 4’30” and reached -40m (which is sufficient depth for getting instructor license). Also received my custom-made carbon fibre fins from Greece, in red like all my other gear of course =)

Chapter 3: Land &amp sky

July: Western USA

The plan for the summer was to get into the dessert, get skydiving license and start big-wall rock climbing in Yosemite. It did not exactly go as planned…

With a good friend I met snowboarding in Japan, we had a classical american road trip through Nevada and Arizona, camp and hiked in death valley and grand canyon.

August: Atlanta, USA

Then I went to Atlanta to get my AFF skydiving license, met lots of awesome people in the skydiving community, learned how to pack my own parachute and broke my ankle on the 8th jump.

September: Berkeley, California, USA

My original plan was to spend about a month in Yosemite to try breaking into the rock climbing community (by, perhaps, showing up at the infamous CAMP 4 and stay there until I find some cool guys with a van). The goal was to start big-wall climbing, hopefully attempt some classic multi-day routes by the end (El Cap being my lifetime rock climbing goal).

Obviously that plan was completely scarped once I broke the ankle…So what ended up happening was that I got ‘stuck’ in Berkeley for 6 weeks, during which I picked up some reading, mathematics, cooking as well as the above-mentioned French model theorist whom I ended up marrying a couple months later.

October: Canada to Turkey

My Canadian permanent resident application got approved! So I went quickly to Hong Kong and took care of the documents, went back to Shanghai to pack up, then officially ‘landed’ in Canada as new immigrant!

A week later I took my first ‘trip aboard’ as a Canadian PR =) Not wanting to push the ankle too hard yet, I decided to do some traditional backpacking without extreme sports, with a good friend I met earlier on the road, we set off for Turkey.

Did some standard touristic sightseeing (the greek and roman ruins far exceeded my expectations).

…and did some mellow exploration of nature

November: Morocco & Western Sahara, then back to Canada

After Turkey I arrived in another long over-due popular backpacking destination: Morocco. Starting off by city-hopping from Casa Blanca to Rabat, Fez, Marrakech, Essaouira.

Then into the desert:

Then I did something slightly less conventional: I took an overnight bus down south to the costal city Agadir, rested for a night there and took another overnight bus ride to a small town called Laayoune, in the rather controversial area of Western Sahara (former spanish colony, now officially belonging to Morocco). I went, to pay my tribute to Taiwanese author Echo Chen, whose books about the desert and living life as a wanderer and nomad had an undeniable influence on me from back in my teenage years.

The town is remote and rather unremarkable in general, with lots of UN personnels from the special mission which has been here since 1990. But I found various sites which appeared in the books, the author’s mud hut, the spanish church, the postal-office and even stayed at the legendary (and only) fancy hotel in town which remained exactly the same as 50 years ago.

– For those who are curious, Echo Chen was a Taiwanese lady who studied in Madrid, one day she came across a photograph of the Sahara desert in a magazine and felt a special connection, subsequently decided to move there. Those Chinese-language books are semi-fictional stories about her life in the desert. The books had a lasting popularity as inspiration for young people to ‘follow dreams’ and ‘wander around the world’.

From there I returned to Canada and got married at the end of November. It was quite fun, we found a street-corner with some trees and Christmas lights do perform the ceremony and finished right when it started to rain…

December: US, Bahamas, Belize

As I have already been to all Disney parks in the world at this point, I decided to finally try the Disney cruise lines! – Took a quick trip from Miami to Bahamas. Although cruise was not exactly my cup-of-tea, I was pleasantly surprised by the Disney experience (and so much so that I pre-booked an open-ended second trip while still onboard). Some highlights include the Animator’s Palate restaurant which changes from blank&white to full color through the course of a dinner, seeing the latest StarWars movie and Pixar’s Coco and the Christmas fireworks.

Then we took a trip to Belize for some Rain-forest and diving. In particular, I checked the great blue hole off my diving list (this last picture was not mine), applied free-diving skilled learned earlier this year and went down 21 meters without gear (decided not to do more since there wasn’t other good enough free divers around to rescue).

Finally, welcomed the first light of 2018 deep in the Rainforest of Guatemala! Hope this will be a year full of new adventures!

Farewell, McKinsey & Hello, World!

December 30, 2016

Yesterday I returned my phone, computer and access card to the Firm, officially puting an end to my 1.5 years of consulting. I have been planning for this day, packed up all my earthly belongings and locked them up in a 1 cubic meter box in the outskirts of the city, got a Hong Kong sim card to by-pass the Chinese internet blockage, calculated savings from the McKinsey period, placed them into s separate account & marked it ‘to be spent’. Right now I’m on a plane, heading northwest, to start my journey.


My farewell e-mail to everyone I know at the Firm states that I am to ‘take an indefinite amount of time catching up on all the cool stuff I have not been doing enough; to re-gain inspiration and embrace (once again) the endless possibilities of the world’. 

Some has concluded this is a ‘gap year’; but I’d rather think of my time in the corporate world as an adventure outside of my usual routine. Sometimes it all feels like a role-playing game: wake up, put on my ‘consultant costume’ and head out to complete a bunch of pre-set tasks for the day. This world infacinating for an accidental tourist, almost as if there is an invisible bubble dividing us from reality. In this alternative world one gets delivered between planes, fancy offices and fancy hotel rooms; spending their days on calls, e-mails and meetings; making decent amount of money. This can be comforting and satisfying to many, leading to losing track of one’s dreams and goals, to wind up just tagging along and climb the ladder of conformality and prestige. So naturally I found myself steering away and setting sails into uncharted waters, once again.

When trying to come up with a list of things (anything anywhere in the world) I think way back into childhood and ask myself what I used to dream of and haven’t done (or done enough of) yet. Right now I found the major shortage would be building proficiency in outdoor activities – as a kid i remembered that I was no less passionate about the outdoors (from normal camping to expeditions into deep ocean and high mountains) than I was in, say, math or art. One difference, though, is that I’ve realized my mediocre talent in that area from very early on. Hence, I thought, since it’s not likely that I’ll be a great mountaineer or sportsman, this better wait till I have done a few years of stuff I’m actually good at. But this ‘itch’ has always been there. Time to take actions!

4 major themes of activities I would like to improve my proficiency in (some I have no experience in, such as ice climbing).

Note: not my images, for illustration & aspiration only

Ice & Snowimg_0762Landimg_0761Oceanimg_0760Skyimg_0759In addition of course there are less active hobbies I will continue to peesue, such as painting/sculpting and continue to expand my world map =)


It’s difficult to plan for an open-ended journey, so I have attacted like a large oil painting: one starts from a very rough sketch of the composition, then work up the ‘resolution’, one small section at a time, the parts closer to the painter gets more details filled in first while the objects further away remains a sketch with few brush strokes and lots of room for revision. Here is the current ‘sktech’ of 2017:

  • January – Feburary: Snow sports in the Alps, snowboarding, ice climbing and some mixed Alphine climbing
  • Feburary – March: UK, mainly outdoors in Scotland
  • Spring/Summer 2017: a subset of the following activities

– Australia & New Zeland for skydiving/hang gliding/hiking

– Himalayas to observe the mountaineering season and get some high-altitude experience (no Everest)

– Caribbeans/Hawaii/SE Asia for more advanced scuba diving and surfing

  • Summer/fall 2017: Southwest USA for pilot license, burning man and rock climbing (time to take steps towards my El Capitan dream)
  • Fall 2017: a subset of the following

– Europe for oil painting/drawing/sculpture workshops

– Convensional sight-seeing in a few parts of the world I have not been yet (Japan, Turkey, Morocco, Middle-East

– Patagonia for kayaking, climbing and hiking

  • Winter 2017: hopefully I may conclude the year in Antartica

Note that this is what I can come up with through day-dreaming behind an office desk, looking to improve it as I go and meet cool people; So if you have ideas/ recommendations/ couch to host random person in a cool place; shoot me an e-mail! =)

Finally, my New Year’s Eve greetings from Red Square, Moscow as on my way to the Alps~img_0763Let 2017 be a magical year for all!



A brief recollection of my 2016

December 10, 2016

When the crisp breeze replaced roast chestnut smell on the streets of Shanghai, I realized another year has slipped away…

So I’ve been in this management consulting gig for approximately 1.5 years now. Apologize that I have not been able to post here, there is a number of reasons for that…

Anyways, since this is likely the only full-year I’ll spend in ‘serious business’, I guess giving a brief summary could be interesting to those in & out of academia. (if not, this would at least be interesting to a future me =P) Note that I have to avoid discussing all client and project work for McKinsey.

Here we go~

January: Did an interesting side project of producing a short video for work


February: Got excited about LUNAR (an industrial design Firm we McKinsey has acquired), started to review industrial sketching and went to San Francisco to meet LUNAR


March: My birthday, and through work I somehow got involved in the furniture design scene in Shanghai, made some designer friends and went to various shows

April: Spent the whole month and some more in Korea on a project, but hardly ever got out of the hotel/office (well, except for some shopping at the end)


May: Got on a random project in a 4th-tier city in the middle of China, decided to reward myself to a weekend in Paris (or shall I say Paris Disneyland? >.<)

June: Short business trip in Copenhagen =)


Then took a detour to Sweden and bumped into a very, very old friend (from middle school!)

July: On what’s probably my favorite project in McKinsey, confidential stuff aside, went on a team event with some hardcore partying in Macau (infact I got out from the party in a wheelchair, oh well, good crazy times =)

August: Company retreat in Tibet (we shipped over 500 consultants from 4 offices to Lhasa, largest group in Tibet ever; many passed out due to altitude upon arrival XD) Mostly just spent days staying in a fancy hotel with other consultants, I don’t quite get the point of being in Tibet for that, except for getting a room with huge bathroom, and I got bored so experimented with traditional Tibet costume

September: Project in Beijing, stayed in the trendy W hotel with a round bathtub & view from the office is the CCTV building; but in fact had a rather miserable few weeks

Then went to Singapore for a training

October: Went surfing in Indonesia (after all, I still find super basic hostels with an ocean view better than any glamours place)


Took a week off to go to Australia (completely an impulsive decision, woke up and bought a same-day flight =P) Generally tried various flying (skydiving, hang-gliding, gliding…) during the day and caught shows in the evenings

November: Went to Yangshuo again to enhance my rock climbing skills, finally comfortable with leading some lower grades, rewarded myself with that red quick-draw set I’ve been wanting for years =)

December: I finally visited the Shanghai Disneyland! (ok…I procrastinated for 5 months because I was too afraid it’s not going to live up to expectations…turns out was a good park overall =) Spotted most of my work from 2014! (anyone remember that statue from this 2014 post when I was working in Disney?)

Last page of sketchbook…

January 25, 2016

Recently I got very excited about industrial design, partially due to McKinsey’s acquisition of this absolutely awesome design studio named LUNAR in 2015. Of course I would need to understand our design language better, as a first step, I found some time this weekend and did some quick studies of LUNAR’s work.

Then I realized, it’s the last page of my sketchbook… time to start a new one, to draw more and draw better…But I certainly feel this old friend deserved some sort of farewell, flipping the pages is like looking back into life; Marks, lines, forms contains subtle expressions of the mood when creating them.

So I decided to put the whole book here at once, in reverse order, although some drawings have appeared in earlier posts, some are bad/unfinished/empty, but this is the book as is, representing bits and pieces of life (mostly life spent in various coffee houses in Shanghai).

Last page, words on the right was an experiment I did trying to see if markers can be used for caligraphy…obviously a master copy =P

IMG_0237Got all excited about the Force Awakens a few weeks ago

Bought the LEGO Classic and Mindstorm EV3 (still in the planning stage of my Turing machine project with EV3) I guess one can see traces of my trying to pick up industrial sketching starting here


And I did a study of the types of basic bricks…

 One day I was waiting in Starbucks and saw a new set of coffee things

Some very small auto doodles…love where they are going! Feels like 60s again.

  In Italy obsessed with those red ink drawings from 1500s…and some museum sketching

 Some more museum sketchings…

  And some plaza sketchings

 That day I forgot to bring paper to life drawing session in Florence…

Between Disney and Art Nouveau (I learned they are opening a fancy Remy restaurant in the Disney Wonders cruise)

 On Beauty and Beast

 On Alice in Wonderland

IMG_0226  On Pirates of the Caribbean

And some more pirates from the original (and best) Disneyland when the ride opened in the 70s

IMG_0227An unfinished train

 Master copies: Left-Chris Sanders; Right-Picasso

 More Chris Sanders and ransoms in a certain cafe

Somehow got interested in steampunk for a bit…the character is a copy from the wonderful book ‘walking my octopus’

Read newest ivory poaching reports…

  Some Shanghaiese architectures

  More Shanghai, a little field trip to the acient city of Fenghuang

More from the road

 Temples and hip coffee shops

In the park…

 Some imaginary plants

 More hip coffee shopsTanks form life

Antique cars

Cubes walking over to the horizon (first test page to get used to the material)


Opening spread of the book: hats


Well…that’s the book…cover to cover. Hope you enjoyed it =P

Year of 2015 – life in the strange world of consulting

December 31, 2015

I am surprised and touched after logging into here after more than a year tans found continuously high traffic volume…so much so that I’m thinking of picking this back up…no promises, though. =P

In any case, I have to say that it has been one of the most exciting periods of my life since I last posted (which, I guess, contributed to my not posting here).

Trajectory: t \in (\mbox{Dec 2014},\mbox{July 2015})


During this time, I:

  • left the prop painting job in Disneyland;
  • signed an offer with consulting firm McKinsey & Co.;
  • got my advanced scuba diving license and dived for a month in Thailand and the Philippines;
  • went to study representational painting in Florence;
  • climbed in China’s top rock climbing spot Yangshuo;
  • went to a ‘mini-MBA’ organized by McKinsey in Amsterdam;
  • backpacked from Holland to Poland;
  • got back to Princeton and defended my PhD thesis (yes, I finally did that);
  • volunteered in a wildlife conservation area in Kenya;
  • came back to Shanghai and settled down to start consulting;


The above took us from November 2014 to July 15th, 2015. Since July 15th I have been role-playing as a consultant in the strange corporate world. According to Fortune magazine, I am officially working for  “the most well-known, most secretive, most high-priced, most prestigious, most envied, most trusted, most disliked management consulting firm on earth,” it’s understandable that no client or content related to work can be mentioned here, so I’ll just talk about cool stuff I do outside of work, or life in general = )

Consultant costume:


Let’s pick up where we left off: I was painting props in Disneyland, moving from a sub-contractor to a general contractor, then hopefully to Imagineering (i.e. moving along the path described in ). All looking pretty promising in October 2014, until I hit a brick wall called internal politics >.< (won’t go into details) The result is that I decided to leave and find another way.

By some completely random sequence of events, I learned about this thing called consulting, in which I heard one can move around the world and across industries to solve problems. I decided that it sounds pretty cool and went for an interview, then two more follow-up interviews, then I signed the offer.

McKinsey turns out to be, umm, not much like what I imagined (for example, the ‘traveling around the world’ part have not happened yet; in fact I have been completely stuck in Shanghai since July >.<). But one thing I am very grateful for is that they let me pick when to join, given a window of one year since the contract. I picked July 2015 to have 7 months to complete many things I’ve always wanted to do, planned and budgeted with the aim of using up the whatever small amount of saving I had. You’ve already seen the results above ^_^

A few things I learned from the 7 months pre-consulting:

  • It’s important to make time and systematically complete things one wants to do, so that they don’t accumulate
  • Spending all of one’s money on cool stuff feels great, I’ll aim for doing this periodically
  • Going out and do things often unlocks next levels for pursuing the interest (a lot like video games)

A few things I learned from the 5 months with McKinsey:

  • Unlike in mathematics where I stare at a blank paper for weeks before putting down a stroke, people here start ‘doing’ things immediately; This takes a lot of pressure away and wish I have done things more like this in academia
  • The corporate world is not very creative, but strangely spending time on manual tasks satisfying and increases my urge to be creative during personal time
  • When things are not ideal (e.g. being stuck in China) one should: 1) try as hard as one can to move within the orginazation in the right direction 2) do things outside of work to completement what’s non-ideal

Plans going forward (laundry list, mostly for myself to check back when I get bored and can’t think of things to do) – it goes roughly from shorter term to longer and more involved items which I have less clue about how to proceed:

  • Do interesting side-projects on weekends, such as:
    • Design and build a working Turing machine with my recently obtained LEGO Mindstorm EV3 (I would need some help on this from my mathematical blog readers: Anyone have a good set of turing machine notes? I remember spending lots of time writing the states back in my undergrad days, need to refresh those memories but lost the notes)
    • Re-start improving my digital painting with my new iPad pro and apple pencil (so far I believe it’s going to totally substitute Wacom!)
    • Think about topology – sometimes I feel the need to read/think math in order to verify that I’m not becoming more stupid in this job =P 
  • Climb Kilimajaro in February 2016 – this was originally part of my African trip this June, but due to lost passport in Kenya it didn’t happen. Just booked the flight
  • Oil painting – follow up with connections built in Florence, possible next painting workshop in Rome, Venice, Paris or Sweden
  • Sculpture – would be great to start that at some point, ideally marble, in Florence or London
  • Flying – Go to Arizona and actually complete my pilot license (did’t get very far at all in Princeton due to weather and the fact that Airport is 30 min biking away from school >.<), can be done in a month with good weather and intensive flying
  • Diving – Need to do more boat diving in interesting spots, see whales, sharks and shipwreck
  • Rock climbing – Back to Yangshuo, follow up with connections built there with the rock climbing community, improve ratings, eventually move to large walls and climb El-Captain
  • Wildlife conservation – 1) Follow up with LUMO in Kenya, re-visit, try to fund my cattle program to prevent locals to kill Lions  2) Good NGOs to try connecting with: WildAid in China for stopping Ivory and shark fin demand and Save the Elephant in Kenya  3) explore how might I get McKinsey involved
  • Industrial design – Potentially get a masters in that, either ArtCenter or Europe
  • Disney (Imagineering or PIXAR) – Remains a huge void and question mark I need to figure out… Have to get there at some point in life… Ideally through building a portfolio and reputation in  visual development

Hopefully that would keep me occupied for some time =P

I would aim to write here whenever there is any thing intellectually interesting going on. Let me know if you have any suggestions for bits of things I can think of/write about!

Best regards,

“Dr.” Conan Wu

Recent progress on the Imagineering quest

August 17, 2014

As we all know, I set my life goal of doing this Disney/Pixar stuff 2.5 years ago during that epic vacation in Walt Disney World. So after learning that they are building a park in my hometown Shanghai, I had this idea of coming back and start from there which got realized half a year ago after I had an injure trying to renovate the studio space in LA. (well…that’s another story >.< I one just needs to know that I'm fully recovered and am jumping around again, as you can tell from below)

After arrival I didn't really know how to proceed, so I spent some time catching up on academic drawings:

2014-03-25 21.31.53

2014-04-02 18.21.28

2014-03-30 21.32.57

and paintings:

2014-04-06 22.41.45

2014-04-12 21.57.35

Then I spent most of the Spring wandering the roads of Shanghai:


2014-04-15 01.32.02

2014-04-15 01.29.17

Hanging out in coffee shops:


and did some domestic traveling:



Finally in May, I was recovered and ready to head to the park (ok…plus start road biking…):

2014-05-12 18.24.33

I started off by finding a random job painting props (such as rocks, wood, and sculptures that are made of fiberglass) with a local sub-sub-subcontractor under Disney. This was quite an adventure, I got to live in the construction worker’s dorm inside the park and worked 6 days a week, it was FUN:

2014-05-22 07.39.27

(Note: everything in the painting shop are top secrets and cannot be taken photos of =P)

So I went to paint items in the Shanghai version of the classical Pirates of the Caribbean ride.

After a few weeks they somehow discovered I’m pretty good at this and decided to make me an art supervisor (oh, and I received a salary multiplier of 2.5). After another few weeks I got an offer from a not-too-sub contractor I dealt with on the site (with another salary multiplier of 2.5, now let’s see, what will happen if one keeps this exponential growth… =P Ok just joking…But I decided to turn them down and went for a job interview with Disney (finally!)

That’s pretty much where I am right now. Hopefully I’ll soon be calling myself an Imagineer, if not I’ll just keep trying until that happens =P. Wish me luck!