Category Archives: Personal

Announcing OLC ShowCase 2017



The fantastic community developing around the YouTube channel are in fact, creating programs! Great!

I thought it would be interesting to get the community to submit code/videos/anything that demonstrates their projects, and I’d create a special video towards the end of the year as a show case for all of my subscribers. I’ll be honest, I’m not expecting many submissions, but I know of a few who’ll contribute something.

The only rule is, the viewer’s project must have something to do with the content produced this year by me. Submissions are by email:

By submitting you grant me the right to show the code/material in my video, which I will NOT monetise, and I’ll reference you by a handle of your choice.


Post-511 Subscriber Thoughts


Well, my special “Programming The Matrix” video for celebrating 511 subscribers went really well. I was quite nervous at first, but there were viewers, and there were questions. At one point I had 33 concurrent viewers, so thanks to the actual 6 of you, and the 27 spam bots that were keen on learning how to re-program the matrix, for obvious reasons. By a strange coincidence, and just as I went live, one of my videos got dropped on Reddit, twice. This fortunate and pleasing event has provoked quite a jump in my subscriber count, which is already at 812 right now.

Retro Arcade Racing Game – Programming from Scratch (Quick and Simple C++) from programming

Code-It-Yourself! Retro Arcade Racing Game – Programming from Scratch (Quick and Simple C++) from coding

I see Reddit as the holy grail for this sort of stuff so long as you don’t post it yourself. Regardless, I don’t consider myself a subscriber chaser, but it’s rewarding to see people seem to be enjoying the videos.

So it won’t be much longer before we’re celebrating 0x3FF subscribers. I hoped I’d have some more time to prepare something. I’ve been hammering the videos this week to give me a bit of a buffer so I can get a couple of weekends off. In case you’re interested I usually spend about 10 hours coding and testing the program during the week, and film and edit it on Sunday, which can be another 10 hours. If I do no face-to-camera work, then I may record a video on a weekday evening. I’m also due to do a silly video, but I’ve not thought about this yet either.

Coding Live was quite a challenge, and in fact I missed a bit from my notes out 🙁 but I’m sure nobody will notice the difference between the video and the source.


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…


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
  • 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.


Why are YouTube comments so… nice?


A nice old fashioned written post for a change! At the time of writing, my YouTube channel has had 1838 views, and I’ve got 45 subscribers. I’m really pleased with the progress. On average, my videos get around 35 views each. But, something strange has started to happen – I’m developing a returning audience! And they seem to be a thoroughly pleasant bunch too. This is a bragging post that’s for sure, but I thought it would be nice to archive some of the fantastic comments. I make an effort to reply to each comment, which can be a bit fiddly through the Android Phone App, so apologies to any I’ve messed up!

In response to my “Packing for the holidays” video:

“Are you really going on holiday? Have a good one :)”

“Have a nice holiday !”

“have a good one dude xx”

Glad to see someone is finding the content useful – that’s my sole motivation – I’ve no intention of monetizing this thing!

“Thank you a lot, great video, Lambda function syntax was mystery for me for a long time.”

And some genuine content love! Thanks guys 😀

“About to finish you channel marathon and suddenly, another great video here! Oh dear…”

“You sir, deserve more views, subscribers and likes. I’m pretty sure this channel is going to be way more popular in the next couple of months or years.”

“I’ll be disappointed if your channel doesn’t end up pretty big. If it isn’t, that only reflects today’s lazy hobbyists. I’m driven by the thing itself, and only part of the motivation is directed toward my videos, but I can see you’re really trying with the video production.”

And yes, these are people I don’t know. I must confess at first I thought it may be a buddy or family member just trying to support the channel, but they are legitimate. Except for the SPAM comments! I don’t get many and oddly they’re always from strange music channels.

Anyway, I’ll finish this post off with a link to someone else video. I must confess, I never considered this sort of thing when I started out in January – Of course, I’ll return the favor!!!


What Is Assembly Language?


I had never considered that there could be legitimate, professional programmers out there, that did not know what assembly language was, until I met one. A programmer I respect, and who is a professional in the user interface and web industry simply had no need for it, and thus was never trained nor had the drive to find out. There will be many programming professions like this.
I, on the other hand, work in a field where there may not even be a compiler for the device you wish to use! So I though a quick video on the nature of assembly language and some examples was in order.

I’ve also taken a little self-indulgent couple of minutes (well it’s my blog after all) to reflect on the tragic events in Manchester recently. I’m very close to that city in more than just location, and it felt like a bomb had been detonated in my back garden.