This is my 100th blog post and to celebrate I thought I'd do what all great TV shows do for milestones episodes, a cheesy clip show. So I'm going to go through a couple of my favourite posts along with my most popular ones.
My attempt at OpenGL seems to be a good place to start. I wanted to take the timetables from all our public transport providers and calculate a transit time map for Brisbane. This would make it easy to visualise what parts of the city were over and under serviced. To do this I needed a way to visualise the raw data and the results, so I thought I'd write my own viewer. It used a custom set of tiles from the Open Street Map project I rendered myself and with c++ and openGL it was able to swap in and out tiles with appropriate resolution depending upon the users location in the map. The project didn't get much further than the results below, I underestimated the scale of the task and overestimated my abilities. To top it off I lost the project due to a corrupt file, but I was proud of the results nonetheless. Before this I'd never used OpenGL and had only toyed around with c++. I also learnt the value of backing up projects.
Off Axis Magnetic Field of a Circular Current Loop
Next up is my second most popular post and the one I'm proudest of. I wanted to work out the off axis magnetic field of a circular current loop so I could simulate the effect of a magnetic lens on an electron beam. Not only was the maths difficult, but speaking isn't really my thing. From memory, the 10 minutes of video took around 200 takes at recording the audio. If it wasn't me getting tongue tied, it was a noise from outside or something like that.
The video itself was done by combining images created with asymptote. One drawing was made with a parameter I could change, Linux scripting was then used to render images with different values for the parameter. That in itself was a nightmare. The best thing about this post is that I've had a couple comments from people that said it was useful.
Surface Mount Circuit Board
Now for my first surface mount circuit board. I'd been involved in designing a couple of PCB's for university team projects, but this was the first one I'd designed entirely by myself. It was also the first time I'd used surface mount parts. Up until this point I was terrified of them, but after this project I wouldn't use anything else. The circuit wasn't anything fantastic it was just a breakout board for an MCP9808 temperature sensor and a reason to design a PCB.
|PCB with parts in position|
Vacuum Pick Up Tool
This project follows on from designing my first PCB. I wanted a way to place SMT components. I'd had reasonable success using tweezers but I wanted to try a vacuum pick up tool. It works for pick and place machines why not me? So I made my own tool to see what the advantages and disadvantages were. I learnt a lot in the process, particularly silver soldering. I was so happy with my soldering results I polished up the hand piece until it looked like something you'd buy in a jewellery store. If I were to go back and do it again there are a few things I would change, but it works reasonably well.
|Vacuum pick-up tool hand piece|
Flaring the End of a PVC Pipe
The popularity of my next post was a bit of a surprise. I was building a chicken coop for my sister and was short on content so I was just documenting what I was doing during the build. When it came time to put the down pipe on the gutter I had to flare the end of the PVC pipe so I thought I'd show how I did it. To date, this post is my most popular and has had almost twice as many hits as my next most popular one, and it's only been up about half as long. To top it off it took about 20 minutes to photograph and post, my second most popular post was the culmination of about six months of on and off work.
|Flaring a PVC pipe|
Harmonic Elimination Pulse Width Modulation
This is one of the posts I'm quite proud of as well. Years before I started this site I came across the concept of harmonic elimination PWM. It allows a designer to alter the switching times of a PWM signal to control or eliminate certain harmonics in the output waveform. At the time I worked out the equations, scribbled them down on paper and put them away for later. That's not much use to anyone, I eventually got around to putting them up so they could be useful to others. There's lots of information about HEPWM out there, but it's rather high level. I wanted to give people a starting point with some code to generate the switching waveforms. There are plenty of ways to slightly alter the design for different requirements, but having an understandable starting point to branch off from is helpful for others.
Octave Code For Generating Harmonic Elimination PWM Waveforms
Fourier Series Of Harmonic Elimination PWM Waveforms
Fourier Series of a Quarter-Wave Symmetric Pulsed Waveform
Harmonic Elimination PWM Comparison and Uses
|HEPWM example spectrum|
Now it wouldn't be a proper post without me doing something new. I decided to grab a screen shot of each post including this one and assemble them into a single image. I thought it would be a nice way to visualise my output over the past three years. Usually I'd try to use some clever trick to accomplish this, but in this case I just brute forced it. I took screen shots with the awesome screen shot add-on for chrome. The images were then batch processed with ImageMagick and Irfanview. The assembly was done manually.
|100 blog posts assembled into one image|
So where to now for the blog? I'd like to do more video, but that's unlikely at this point, so I'll just keep doing what I'm doing. Writing for the site is a motivator for me, committing to writing a post every 11 days gives me a reason to learn new things and in general keep busy. Without it, I don't really have a reason to do half the stuff I do. The blog also has an ulterior motive, it's a bit of a showcase of my abilities. For someone with no formal qualifications I need all the help I can get to get a job that doesn't bore me to death. If need be I can use this to prove I'm not just a pretty face :-).
The main reason I keep blogging, apart from innate curiosity, is the occasional bit of feedback I get from people that tell me my posts have helped them. It's a good feeling that people all over the world have benefited from my work in some way.