Pain free Tables of Contents in most word processors

In this post I will show you how to make a pain-free table of contents for your documents. I will be using Google Docs but the exact same techniques apply to Microsoft Word, Pages, and Libre Office, with just some things being labelled differently.  If you prefer to follow along with a video, you can watch that here:

This is a very simple operation but a lot of people seem to miss it, and try to build their table of contents manually. This might work ok if you’re working on a short document, but if you’re writing anything longer it very quickly becomes a mess. And even if you manage to nail it down, you add an image or change the font size, and boom, you have to renumber all the entries.

Continue reading “Pain free Tables of Contents in most word processors”

3D Scanning at home

I used to think that 3d scanning was something that had to be done in a lab or using some very expensive equipment, but thanks to Steve from CG Geek, I learnt that it can be done with some awesome free software and equipment I already have.

In his tutorial, Steve demonstrates how you can capture a large object, and I highly recommend watching it because he explains the process very well. What I’ll be discussing in this post is capturing a small object using a slightly different technique which should be easier for this size. If you prefer to follow along with a video, I got you covered:

Continue reading “3D Scanning at home”

Playing with bit masks

With storage and bandwidth being easily available, compressing data for general use is less of a concern today than it was 20 years ago. However neither is free or unlimited, and with large scale applications a few bits can get multiplied over a few million connections; similarly, we may be talking to a client living on a smart toaster which doesn’t have much in the way of storage space. In both situations, reducing the size of the data we are storing or sending may be technically necessary, and save on operational costs.

One way to do this is to use bit operations to reduce a state to a single number. This is nothing new; anyone who has ever used flags knows how it works. The catch is that you cannot crunch detailed information in this way; it only works for boolean values. Even so, depending on the structure of your data you should be able to leverage it rather easily.

For these examples we’ll use JavaScript; however the concepts apply to any language. Continue reading “Playing with bit masks”

Templating a WordPress theme with Twig

Well, that wasn’t as painful as I thought it would be. Some googling and a couple of experiments went a long way, and now I have a partial, unstyled, Twig-based theme happily running on WordPress.

Twig is a templating engine for php. It has more than enough features to get me going, setting it up is as easy as falling off a tree, and I haven’t used it much, which makes it a good candidate for me. Continue reading “Templating a WordPress theme with Twig”

The blog refactoring of 2013

While I was writing the last few posts, the messiness of the blog’s code base started grating. A while back I’d rebuilt the template from scratch so I wouldn’t have pieces of page all over – I hate having elements opening in one file and closing in another – but even so, the structure of the scripts and styles isn’t all that great. Today I started reorganizing stuff so I can bring it up to shape with shiny new toys. And this time, I’ll try to do it in a more organized way; writing about it helps, as I have to get my thoughts in order to do that – and I can’t write text and code at the same time. The pauses will be handy.

Continue reading “The blog refactoring of 2013”

Canvas Animation using interpolation

While drawing things on the canvas and scooting around them is nice, it gets old very fast. Instantaneously, if you’re an end user (unless you’re on a page for looking at things, in which case, no foul). On the other hand, there are far more efficient ways of rendering porn and/or amusing pictures of cats, so I’m going to go ahead and assume that we want to liven things up with some animation.

Continue reading “Canvas Animation using interpolation”