511 Subscriber Live Stream Prep


So beyond my wildest expectations (I estimated about 50 subscribers by the end of 2017) I’ve hit 511. To celebrate I thought I’d do a live stream of some sort. I’ve done live streaming before with games on Twitch, but not on YouTube. Also I don’t expect anybody to watch on Twitch! But there’s a chance some regular channel viewers may come along and hang out.

This makes me quite nervous. I’m going to code something, live, on stream in front of the internet. I know what it is I’m coding, but I’ve not coded it yet! That is to say I’ve planned it, I know how to tackle the problem, but I’m unsure if the end result will be any good. Also, knowing just how many takes and edits go into the videos, I’ll be exposing all the mistakes I make! Then there’s the unexpected. Will I have technical difficulties? What if someone asks awkward questions? What if I get swatted? Well, I’ll be honest, I don’t anticipate more than a handful of viewers so it’ll all be OK, probably.

I’m more concerned that the subject matter just won’t be what people have come to expect from the channel. I’ve picked something reasonably quick and simple to do, as I’d like to get the whole thing done in an hour – that way it could still be used as a regular video.

511 seems a bit of an odd number to celebrate, but it’s a nerd thing. In binary its 0000000111111111. Its similar to watching a counter get to a nice round number, except its when the counter has a long uninterrupted string of ‘1’s in it.

Being new to the YouTube way of doing things, I expected that when I created the event that all of my subscribers would be notified. They were not. So I hurriedly put together a short teaser video to announce it, knowing that for some of the subscribers, they will be notified.

I liked this video. I only wanted to spend 10 minutes doing it, but then I wanted it to look and sound right. I particularly like the sound building up then cutting off just before the end.

It would seem the video has had the effect I wanted. Within 24 hours it had had 150 views. Being less than a minute long, I expect most watched it until the end. At the end, it delivers a link to the location where the live stream will take place, and lo and behold, people had left a few messages of support there.

I’m frequently humbled by the attention of my audience. It takes effort to say nice things to people on the internet, and the feeling of satisfaction from a nice comment never goes away.

Anyway, I’m live in 5 hours…



OneLoneCoder ManCave Layout

After a few, frankly odd, requests to know what gear I’m using, I thought I’d show it off. Up front – I earned this setup, and when my wife and I bought our home, this room was designed to accommodate a sophisticated digital creation space.

  1. Neewer Portable Soft Light (for when the window is not enough)
  2. Canon Legria HF G40 video camera. 2x Class10 64GB SD cards.
  3. Small Lamp with very warm bulb to balance the overhead lights
  4. Samsung Chronos Series 7 Laptop (for in the field video making/coding)
  5. Roland DM-2100 studio monitors (2.1, sub under desk)
  6. Roland QuadCapture USB Audio ADC/DAC
  7. Logitech G13 Single hand keyboard (video editing/gaming)
  8. The “Man Switch”. This is connected to 11 and switches everything on or off – saves power, no fire risk.
  9. Neewer NW-700 condenser mic with boom. For the price, i’m well impressed.
  10. SteelSeries APEX350 keyboard
  11. Power distribution – 4×6 socket extensions with individual on/off buttons mounted under desk to keep wires off floor leaving tangle free room for my legs – I’m 6’2″.
  12. 32-inch LG HDTV (primary screen)
  13. Microsoft LifeCam Studio HD webcam (with nice optics)
  14. Tea. Arguably the most important item. Twinings English Breakfast in a 1-pint mug.
  15. Anker USB3 4-port HUB. This thing is great, and connected directly to motherboard.
  16. Customised IKEA desk shelf thing.
  17. Anker Optical Vertical Mouse (wired)
  18. WACOM Intuos4 tablet. This is really nice.
  19. 21-inch HD Acer Monitor (secondary screen)
  20. 21-inch HD Acer Monitor (tertiary screen)
  21. Philips TV Computer  Monitor (16-inch CRT capable of component input) Used with old consoles and computers
  22. Sanyo 14-inch CRT used with old consoles
  23. Sony PlayStation 1
  24. Sony PlayStation 2
  25. Sony PlayStation 3
  26. Super Nintendo
  27. More customised IKEA shelves, with holes cut for cabling
  28. The Computer
    1. Intel Core i7-6700K @ 4GHz
    2. 32GB Corsair RAM
    3. 1TB HDD, 256GB SSD
    4. 2x nVidea Geforce GTX 980 Ti
    5. Windows 10 Home, 64-bit
    6. AverMedia Live Game Extreme Capture Card

There are also loads of other bits and pieces not on show, original NES is setup, mixing desk for audio hobbies, Roland 20XL Cube Amp, Marshall AS100D acoustic amp, Guitar FX pedals, and boxes and boxes and boxes of wires.

Also, and MOST IMPORTANTLY, only items 4 and 14 are required to code and learn…


Wavy Lines and Bendy Things


I really like splines. They can add a very natural feel to otherwise rigid environment. Therefore, I think all programmers should have an appreciation of splines.

You never know where you might need them. Graphics is the obvious choice, but then you can also consider UI, trajectories, function approximations, general curves, and plotting.

This video is part 1 where I introduce Catmull-Rom splines. Part 2 will show how to navigate splines in a consistent manner.


Recording the good times


Thought I’d have a little post just to record some of the cool stuff that’s been happening with the YouTube Channel!

  • You can now access the channel with a friendly link http://www.youtube.com/javidx9
  • Thanks to Yehoshua D. Stone (YouTube) who has had a go at porting the olcConsoleGameEngine to Linux (GitHub)
  • Thanks to Rene Kjellerup (GitHub) for converting the olcConsoleGameEngine to use SDL
  • Thanks to Brek Martin (YouTube) for porting over the Retro Racing Arcade Game to the PlayStation Portable (!)
  • Thanks to @Rraccd for a very flattering blog post regarding the Code-It-Yourself Tetris video. That project looks cool and I wish you the best of luck!

And of course thanks to the many viewers and subscribers for your really kind words in the comments. I set out to make some videos about code, and if people found them useful it was a bonus. Guess what? Some of them have!


Wow…150 Subscribers



When I started this blog six months ago, I didn’t really intend it to be a useful or entertaining resource, it was really just for me to record some programming ideas. Some of you may know why I started. During my academic and professional career I’ve mentored many young people, and frankly their coding skills suck. There are lots of reasons for this, but I believe the most important one is the quality of the programming resources available. Programming resources targeted at the aspiring programmer are mostly terrible. Books are boring, tutorials are baffling, videos are patronising and everyone who thinks they can code puts you down at every opportunity. The growing “maker” programming community believes you can get by with drag and drop coding, and cut & paste scripts – these offer a solution, but don’t teach anything.

My videos try to be a bit different, and I try to take the time to explain the algorithms and why they work. I don’t need to present the topics that are not important to this – GUIs, graphics libraries, off-the-shelf game engines. But you still need methods to display and accept input. So it appears I’ve carved a little niche with my “command line” approach. It also happens that this is a really low barrier to entry. I try to keep my programs to <300 lines. This is not some arrogant “look how great I am” thing, rather, it focuses me to produce only relevant, functional and clear code. Also humans can cope with about 300 lines, it’s easy to navigate and remember.

So I’ve been a little overwhelmed recently by the fact the YouTube Channel has just hit 150 subscribers, and I’d like to thank them all for taking an interest. It really does make it all worth while and I hope people are learning from the videos. I know they can be a bit geeky, a little dull, look a bit rough, but I’m made up with it. I’ve been surprised by just how much effort is required to make a good video and I know there are many video creators that can put me to shame, but the late nights, rows, frustration and coders-block have all been worth it, and I’m proud of the results so far.


Retro Arcade Racing (at the command prompt of course)



A colourful looking one this week. I like it when a game can be reduced to a really mundane set of rules. Check out my Games Are Boring post. In this video I create a retro looking arcade racer. Its only a couple hundred lines of code, but the end result is quite compelling.

In other news, I seemed to have jumped 20 subscribers in two days. I hope they’re not spam accounts, but I’m wondering what the source of it was.