Photo of Jamie & Lion

The personal site of Jamie Knight, a slightly autistic web developer, speaker and mountain biker who is never seen far from his plush sidekick Lion. View the Archive

Topics: Autism Development

WWDC 2017 Wishlist.

It’s the night before WWDC so it’s time to make a little wishlist. Who knows what Apple will announce, but here are a few of the things i would love to see.

New MacBooks.

I’m not in the Market for a MacBook right now, but it would still be good to see refreshed MacBooks with Intel’s Latest Kaby Lake CPU’s. In recent years Apple has been slow updating the Mac line so two updates in 6 months would be a strong return to form.

I would be super interested in an ARM MacBook or a Mac mini update (in any way!), however both are unlikely. Here’s hoping!

New iPad Pro 10.5”

I really like my work iPad. So much i brought one of my own! Like with the Macs i’m not in the market myself but seeing updates is good. I am curious how apple sells the 10.5” size. Will it replace or augment the 9.7 and 12 inch models? Will be interesting to find out.

h3 Other stuff.

Updates to watchOS and tvOS would be nice but i dont have many specific wishes. For watchOS the ability to sync podcasts and audiobooks would be nice, but i suspect we’re a hardware generation or two before Apple makes that happen. If only because the sync is so slow it makes for a terrible user experience.

tvOS isn’t of any interest to me. I don’t need another box in my lounge for a TV i hardly watch.

Final thoughs.

I hope WWDC has some suprises. It’s been quiet on the rumors so hopefully theres something entirely unexpected on the way. I look forward to finding out.

Published: 4 June 2017 | Categories: Permalink

Things to bear in mind when someone sketchnotes your talk.

Things to bear in mind when someone sketchnotes your talk.

Short version:

If your a public speaker ensure your presentation has a license if you wish for the content to remain open in dirivative works like sketchnotes. Otherwise someone may make a sketchnote of your talk and then lock it into copyright or even start selling it.

Long story:

I do quite a lot of public speaking and i don’t charge a fee. I do presentations for free and share my work in the belief that it benefits others. I operate on the basis of sharing being a good thing. I never expected to need to legally protect my content, but oddly i do have to protect it with a license in order to keep it free.

Protecting my content is not about locking it in copyright. Quite the opposite. It’s about ensuring no one else locks it in copyright.

In a nutshell this is part of the problem with sketchnoters. Unless you are explcit about the rules (aka the license) of your presentation, they can do pretty much what they like with the content. Depending on your views on sharing, this may be very much against what you wish.

The vast majority of sketchnoters attending a free event would not attempt to create a derivative work (eg, capture your content) then lock it in copyright and agressively defend it. However, some will and for me that ended in a freindship collapsing.

It was my fault, i assumed that someone else understood the rules i was sharing my content under. I didn’t have an explicit license in place.

These days my talks are presented under the Creative Commons Atribution and Share Alike license. This means if you share the content you have to give credit, and if you create a derivative you have to share it under the same license. This ensure the content remains free and avaliable.

If someone does not wish to follow the license, they can refrain from creating sketchnotes. That is their choice.

Licensing isn’t fun, however it’s better to be clear upfront so that everyone knows where they stand. I lost a valued freindship over this stuff and hopefully by warning others to check that won’t happen to someone else.

The way i approach this is that all of my presentations mention the license and if someone offers to sketchnote i will ask them about what then intend to do with it before giving them permission.

It’s sort of ironic. There’s more effort require to protect content in the interest of keeping it free, than there is to allow it to be locked into copyright by others.

Published: 15 May 2017 | Categories: Permalink

Experimenting with Blender on the iMac.

It’s been about 10 years since i last did any experimentation with 3D graphics and rendering. At the time i was using a shared PC and demo software. I got good at building my scene as i had to rebuild it every time because the save feature was disabled!

A few weeks ago i decided to start playing around again to see how the modern tools and tech compare. I have my very lovely 5k iMac so i wanted to see what it could do.

Why Blender?

Blender is an open source 3D modelling, animation and rendering tool. It’s been used to make a range of 3D movies and also in adverts etc.

It’s free to use so it felt like somewhere useful to start. I don’t have any specific goals in mind, but i figure if i learn how to use it i will start to find uses for it.

At the very least its a distraction and a useful way to spend my time in the evening.

My experiments.

My interest is more technical than artistic. I am interested in how the technology works, especially around the use of “ray casting”.

Raycasting is the process of simulating light inside the computer. Unlike older rendering methods (rasterisation, like in games) it’s attempting to replicate the physics of the real world and can in turn give much better almost photorealistic results.

At this stage my experiments are just the basics. Getting some models, rendering them, playing with some animation and understanding the tools a bit better.

The rest of this post is a summery of what i have learnt so far.

OpenGL, OpenCL & CPU.

The rendering system used within blender is called Cycles. One of the first things i have learnt about is that there are three types of rendering cycles can perform. It can either:

1. Render on the CPU – this is the simplest, just use the CPU to do all the maths needed to simulate each light beam.
2. Render using OpenGL – treat the scene like a game and render it using rasterisation. This gives more a more cartoon and game like feel and is really quick. All the previews are rendered this way.
3. Render using OpenCL (aka GPU Compute) – this uses the GPU in a different way. It uses the programmable shader inside the GPU to do ray tracing. The shaders are not very quick, but there are thousands of them, so they can accomplish lots of throughput when the problem is right.

On my iMac, i have been using OpenGL rendering when making preview videos etc, and then using CPU rendering when i want to have the high quality rendered output.

My iMac does support OpenCL rendering, but its really slow. By all accounts this is due to terrible drivers. I may install Linux on my iMac and see if that works better.

Samples and tile size.

With the raycasting options the main quality setting is the “sample” rate. In effect this is how many beams of light to use when simulating the scene.

There no “perfect” value. It’s always a trade off between quality and performance.

For example, my first experiments involved rendering some wallpapers for my iMac featuring Vincent one of the free blender assets. As this render is zoomed in close and Vincent has lots of detailed textures, it took around 600 to 1000 samples to look good. Below that the image is fuzzy / noisy.

However, for my animation experiments the sampling can be much much lower and it still looks good. My first rendering used 24 samples and was okay but a bit fuzzy. I have experiment around and 50 samples looks much better. At 100 samples I couldn’t really tell the difference anymore.

My animation is only 100 frames long. However, the difference in performance between 50 and 100 frames is astounding. The first frame at 50 samples took 11 minutes to render, and at 100 frames to 32 minutes.

With that in mind i am now re-rendering the scene at a sample rate of 50. It will look much better, and hopefully not to too long to render. To help speed things up i am also experimenting with parralism.

User a render node.

I have two Macs in my flat and they are connected together with a Thunderbolt 3 cable. Both Macs have modern quad core i7 processors.

Given i have the extra mac i have started experimenting with splitting up the rendering so it can be completed quicker.

I know Blender has a proper tool for this, but for now i am keeping it simple. I render the first 50 frames on my iMac, and the second 50 frames on my Mac mini.

I am going to explore these options further. I am sure as i experiment more with the tools i will need more render performance so being able to make the most of my hardware is essential.

Final thoughts.

It’s been fun to explore blender and cycles. I have a few future projects in mind but mostly i am just enjoying the new technology and learning. I have time in the evening and its fun to use to too play with new technology rather than just consume media.

Published: 27 April 2017 | Categories: , Permalink

Older Articles