Friday, 16 February 2018

A Quick Guide to Samplr

This is the only time in years when it has seemed worth buying an iPad again. The current iPad 2017 9.7-inch is quite reasonably priced in its class (32GB - S$498 / S$468 Education) and Apple still has some of the best apps (and ARKit!). And for the most part I hadn't needed a tablet sized device for work until now. The problem with with smartphones or even phablets (such as Samsung's note phones) is that when you do get long work emails that you urgently need to reply to, then even the on-screen keyboard on the large phone screen still feels like a constraint; one can't really draft or write long documents on a phone keyboard and is reduced to nervously turning the phone on and off nonstop to stare at the email that you can't properly reply to. But a decent sized tablet paired with a bluetooth keyboard pretty much solves this conundrum; the 9.7inch ipad is powerful enough as a lightweight laptop-replacement where administrative paperwork is concerned.

But the iPad's strengths are more than just clearing emails and drafting google docs/sheets with ease - it also excels at many other things such as MAKING MUSIC. Two essential music apps for the iPad have got to be the combo of Samplr (S$ 14.98) and Audioshare (S$ 5.98).

Samplr is a brilliant gesture based audio sampler with many rich effects and modes which can be used together with Audioshare, an audio document manager which transfers audio files between apps and between the device and computer. For some time I have just been stabbing at it without really knowing what I am doing, but this weekend I sat down to go through the help docs and a few tutorials online; I didn't immediately find a guide sheet so I made my own for Samplr here:

Samplr guide (Click to see large version)

One thing I've noticed as someone who purchases digital products items from both UK and SG app stores (with both UK debit card and SG debit card) is that the UK prices are a total rip off because haven't fallen in line with the pound which has devalued considerably since, so I always buy in SGD from the digital SG stores these days. This also applies to Steam where the SG pricing for digital products and games is far lower than the UK pricing for games. I wanted to purchase a game for George's steam account recently but because I was purchasing in SGD it would not allow me to 'gift' it to a UK account.

There are also tracker sites such as which you can use to compare the inequalities of purchasing a digital product in a specific currency.... - where you can find out how much you've been stiffed...

Sunday, 4 February 2018

Lessons in 3D Printing



Designing and teaching a 3D module has had the unintended effect of giving myself the role of "de facto 3D printing technician" and "general-all-round-fixer of 3D models and print settings". Ah! I am a fool, for I had already known of the fickle nature of 3D printers, their unwillingness to behave when ordered to. Also the machine is a wilfully obtuse device that will do exactly what the designer asked it to do even if the designer has made an awful mistake.

Here is a list of lessons I have learnt after facilitating several hundred hours of 3D Printing in a mini workshop. Printers used were Raise3D N2.

1. Raft Vs Brim Vs Skirt? JUST USE A RAFT

What is the difference between using a Raft, Brim and Skirt?


The Raft is an additional piece below the entire print itself.


The Brim is an extension of the first layer which expands the amount of contact the first layer has with the print bed. The print's first layer is already touching the bed itself, unlike the raft which is an additional few layers below the print itself.


The Skirt is just an additional line printed around the print itself.

Often one may think that the raft is a waste of material but I have found that rafts are absolutely essential since it will affect the first layer adhesion greatly, and with this kind of FDM printers the first layer adhesion is one of the main factors which will literally make or break your entire print. As the raft is much bigger than the print's footprint (and also bigger and thicker than a brim), it ensures better adhesion to the print bed.

Also if you end up having difficulty in removing the print, you can afford to damage the raft somewhat during the process of removal - without also damaging the actual print.


Example of failed print: This generally flat print would not complete when I printed it with just a skirt. It would only print when I did it with a raft. For a large print, this kind of error may cause the print to turn into a huge blob that can potentially be pushed into the axis belt - breaking it and causing total breakdown of the machine. So you can imagine how these problems with adhesion shouldn't be taken lightly if you want to keep on printing!

2. Infill Density
10% will do for non-load bearing parts all the time. Don't bother printing more infill unless needed.

3. Always Check Slicing Preview
Check Slicing Preview for EVERY PRINT before printing. More often than not it will provide the clues for whether a print will actually complete. If there is a gap in a layer, or no raft over any part, or any part which defies gravity and the known laws of physics, then do not proceed for THIS WILL NOT PRINT WELL. Redesign the part before printing.

4. Tricks for very large overnight prints
Lay item as flat as possible on the print bed
Ensure that you have observed the raft completing successfully before leaving the print to run overnight.
If you don't want to do a raft because a raft would exceed the print bed size, set the first layer to be extra thin.

5. Only Cura can slice right-extruder-only print for dual extruder printer
A crazy question you may find yourself asking if you are using a dual extruder is "should I try to use just the right extruder to print?" Well, no, its not advisable at all, and also I can't seem to find any other slicing app which allows for such a setting. Alternatively, you can dive into the gcode directly and change all instances of T0 to T1. However the problem remains that right-extruder-only prints may experience nozzle strike:

Untitled Untitled
Left: Nozzle Strike in progress. Right: Print which I stopped because the left extruder was clearly impacting on the print being produced with the right extruder only.

Woodworking Class at Kampung Kampus: Building a Step Stool


Recently I went for a woodworking class at Kampung Kampus which is a short walk away from Khatib MRT Station. We first saw it from the trains as the MRT line crosses the expansive waters of Lower Seletar Reservoir. I dropped the google pin over the location as we were passing and we retraced the path to a collection of huts nestled between tropical jungle, fish farms, and prawning tanks. A few weeks later I was seized by a whimsy to improve my practically non-existent woodshop skills and whilst searching online I discovered that 'Kampung Kampus' was conducting woodworking classes.

Looking to my own experience in Singapore's education system, and considering how I have ended up working as an artist (and even pursuing a postgrad degree in design), I have always found it a pity that design and tech had been omitted from my secondary school experience. Amazingly, I have never done a single class involving wood before. The first material I used was blue foam during a innovation programme mentorship I did at a local polytechnic at age 15 whilst I was still in secondary school. As part of our secondary school curriculum, the crash course we received in D&T only involved learning to bend a piece of acrylic. I have memories of cutting styrofoam with a wire. But wood? I've never worked with wood! At the time, it had been rationalised that GEP students were bound for more academic pursuits, therefore the technical training imparted during D&T class was to be minimised so that we could focus our energies on developing broader soft skills and academic knowledge.

As admission exercises are being conducted for Poly/JC age students this month, I began imagining what if I was the one having to make a decision on my educational journey all over again? Let's say I had chosen a more vocational route - what would I have selected if I had to pick from this basket of options available through the local polytechnics? Well, I would imagine myself potentially being attracted to Engineering, with its access to fancy machinery that I could never afford on my own - this of course is said from the perspective of a literature/arts/design postgrad who now desires to complement a conceptual/theoretical background with technical mastery. But when we look at admission numbers, Engineering is not the most popular course, in fact it appears that any course that is more "technical" than it is "academic" seems to be less popular. It is also as if the popular perception is that anything that involves working with the hands is less valued here, which to me seems quite misguided, since crafting and prototyping skills should form a vital complement to a creative and academic education...


Let me tell you how I built a small step stool over three weekends. First you need to start with an idea. I wanted to make something of practical use in the house: a step stool that I could use in the house for wearing my shoes at the entrance of my house and reaching high cupboards.


The wood at Touchwood begins as pine wood reclaimed from old pallets which has been treated beforehand, de-nailed, and left to dry


Planing the wood by hand


Ideally the planed bits should look like this


Planing the wood with the planing machine


Taking care to clamp with another piece of wood on top of the final wood to avoid dents


Sawing by hand


Pine wood after planing looks like this (much improved!)


I spent far too long designing this and measuring it to fit the pieces of wood I had. Take note of the grain of the wood as this will affect the design.


Measuring out wood with help of try square tool. I don't have a picture for the next step because ALL HANDS WERE ON DECK, but next we used a circular saw to cut the pieces.


Assembling the cut wood to check that I cut all the pieces for it


Glueing and Clamping the wood to make larger planks


Sanding the wood


Giving it a little tap to create a dent where I'm about to drill the pilot hole


Drilling pilot hole + countersink (a bevel which you drill to enable the screw to be inserted until it flush with the surface of the wood)


Final assembly


Pneumatic Nail gun (Airgun) for quick reinforcement


My completed step stool!

With many thanks to Johanna (of Touchwood) for so carefully and patiently guiding me through the process!

Kampung Kampus is at:
91 Lorong Chencharu
Singapore 769201
See more of Ground Up Initiative's programmes

Wednesday, 17 January 2018

Dream Syntax: 10 years on

I've been working on a Blender/Unity/VR remake of the dream maps in my book Dream Syntax. Because I had changed computers so many times since then (and have not installed any fonts on the new laptop), this is what my original illustrator working file for Dream Syntax looked like when I opened it:

Pictured is the map for a dream I had 10 years ago, in 2008.

Monday, 1 January 2018

How to set up SteamVR with the HTC Vive


These last few weeks Meshminds gave me the opportunity to work with the HTC Vive and I've decided to build a small VR experience using Unreal Engine. I had a "VR Ready" laptop (Gigabyte Aero 15) but yet I must confess that the setup for the Vive is not as easy or straightforward as it seems. Here are some notes on the process...

Setting up the Play Area

Recommended setup

First, you'll need to clear the play area. In our case, having just moved back to Singapore, our boxes haven't arrived from London just yet, so we simply moved all the furniture out of the way. Technically speaking, all you need to clear is 60m2 (3x4x5) metres. But let's be realistic: not everyone is going to have this luxury of floor space in their home or rental flat. And even if you think you've cleared everything (and even when you see the Chaperone boundaries) you'll probably still violently thwack something with the controllers or stub your toes on the furniture you stowed away in the corner at some point.

[Note that the average HDB flat living room floor area will exceed the volume required so take care that the second lighthouse shouldn't exceed a distance of 5m from the other lighthouse]

Vive Installation

The Vive came in a reasonably compact box, but once I took out the items from their neatly packed state, the cables somehow seemed to gain volume and a wilful desire to take over the entire room. After moving the equipment from one room to another (whilst trying to decide which was the room to use), I found myself spending time detangling cables over and over again.

Cable explosion after I took it out. Even with the diagram its difficult to put it all back in after you uncoil everything...

If you are renting, then you probably don't want to do anything so drastic as to drill a permanent mount into the wall. After cracking our brains on what to do, we found two cheap $5 selfie sticks with 1/4" camera screw mounts that also fit the Vive Lighthouses's screw base. We took the selfie stick apart and mounted the lighthouse on the flat stick which gave us an adjustable mobile rig that we could stick to the wall with a combination of 3M Command tabs and duct tape. (Note that the base station generates some vibration so you definitely want to pile on the duct tape for safety)

DIY Vive Lighthouse Mounting - NOT PRETTY BUT IT WORKS


After spending countless boring hours installing new drivers and updates for Windows and the graphics card, we were able to run SteamVR intermittently. One recurring issue was relating to the VR Compositor. Every time we restarted the entire system, on the first run it always returns "Shared IPC Compositor Connect Failed (306)" and "Compositor is not available (400)" even when everything is already set to use High Performance graphics (set to default to the better GPU in the laptop). It seems to be a common issue - if you search online you will find several forums where many lost people are also asking the same question "HOW DOES I COMPOSITOR???"

Apparently this error is caused either by too many display devices (monitors, etc) connected or the Intel graphics card somehow taking precedence over the Nvidia GTX1060 in this laptop. The fix for it is to go to SteamVR Settings and Disable Direct Mode and then Re-enable Direct Mode. SteamVR will restart each time you do that. Sometimes this works, SOMETIMES THIS DOESN'T. Okay, most of the time it will fix it.

At this point it seems worth asking, so what is the VR Compositor? If you read Valve's documentation, it says:

The Compositor simplifies the process of displaying images to the user by taking care of distortion, prediction, synchronization and other subtle issues that can be a challenge to get operating properly for a solid VR experience.

If I understand it right, the compositor runs the VR display, and when an application wants to use the HMD (Head Mounted Display) it asks the compositor for access to a buffer and begins to render into that buffer. The eye buffers are a bit like layers that are ontop of one another. Vive’s Chaperone is an example of one such layer that already asked the compositor for access at the very start - so you see the room boundary in the HMD when you walk too close to the edge.

The standard or normal rendering of the 3D world is rendered into each of the eye buffers (one for each eye!) and then the warp pass/spatial as well as chromatic distortion is executed over the eye buffers to allow the final image to match the curved lenses on the HMD so that you see it as a 3D image with the headset.

[Another issue we had was hardware related - one of the lighthouses seemed faulty - one LED does not light up (instead of 17 only 16 LEDs are lit). In the meantime, we simply used the working Lighthouse as the front facing one and tried not to turn 180 degrees in a hurry so it wouldn't grey out. Apparently it still mostly works with one Lighthouse so long as if you are still kinda facing the single Lighthouse]

ANOTHER FUN READ: Teardown of the HTC Vive

To take a screenshot in SteamVR, press System+Right Trigger at the same time. The image in SteamVR is quite confusing as the prompt on screen is not very clear - I read it as a suggestion that you press System and THEN press Right Trigger. So I thought the screenshot feature was broken until George told me to press BOTH AT THE SAME TIME. As for where these screenshots are being saved, its really not very obvious either. For example, you can't set the folder for it to be saved. It took me a while to figure this out, but the screenshots are being saved into the userdata folder in Steam. For me, by default the screenshots were being saved here:

C:\Program Files (x86)\Steam\userdata\760\remote\250820\screenshots\

Besides the 250820 folder, there were other numbered folders for different apps or sessions. Look in all of the folders inside remote to find your screenshots.

Also note that the screenshots are PRE-warp/distortion. So you'll get screenshots that all look like two normal views without the overlay of the other buffer layers such as the Vive Chaperone, etc.

Now for the fun... testing out various VR apps!

The Lab

On Steam:

First stop is surely The Lab. Pet your robotic dog on a mountain side and play with other very solid VR experiments in The Lab. This free title is deservedly highly rated - you'll definitely find that there are quite a number of VR games appearing on the market which are simply clones / rip offs of the devices from this portal-themed collection.

VR Museum of Fine Art

On Steam:

Art? What art? I came here specially to look at the potted plants used to decorate the dusty corners of the museum. 10/10.

Google Earth VR

Google Earth VR is super impressive in 3D cities like London where you can fly around in a warped clone universe...

and with a wave your hand you can instantly change the time of day into THE TIME OF THE APOCALYPSE

There is also another frightening feature...

AIN'T NOBODY WANTS TO FIND THEMSELVES FLOATING OVER EARTH AT THIS ANGLE!!! URGHHH. Which brings us to the issue of sim sickness. Its not great when the motion in the graphics suddenly does not correspond with the user's own head movements...

Job Simulator

In Job Simulator, you play a human being assigned to do some artisanal jobbing for robots who have developed a refined taste for their services and products being made sloppily and badly by humans in a world of limitless machine perfection. I liked this game too much, because I'm not very good with following instructions in an open roaming world. I haven't tried all the jobs yet, but here I was being a chef - burning lemons on the grill, drinking virtual wine on the job, and throwing raw meat at the frowning robot customers.


Superhot works on the premise that time only moves when you move. The graphics are simple but the rapidity with which things move when you accidentally make a wiggle of your head in VR is very effectively. It also however leads to a lot of unintentional arm or hand flapping when you somehow need to make things go faster, so it was quite amusing to watch George playing this.