Coffee and Code

Website News


I've now finished moving over to my new site:

I will no longer be writing new articles here at Neocities. However, I will continue to use Neocities as my media server for images, videos etc.

The server is NOWHERE NEAR finished - but I will try to keep updating/improving the experience over the coming months.

Once I get around to it I will be upgrading my Heroku Dynos to handle SSL, so eventually you'll be able to connect using HTTPS protocol.


You can try out a very primitive version of the new website software here:

When I say primitive I am not exaggerating, but the basics are there.

Most importantly I can now handle GFM code blocks without issues - or at least I fixed the issues with escaping that had been very problematic:

I also just added support for images too. Images are hosted on Neocities! Note however one of the design requirements was that you should be able to read the source (with images working) in GitHub and that objective has also been achieved!

If you've not tried it, Neocities features a command line tool that easily allows you to upload images to a neocities site. Works like a charm:

After some reservations with my design I think Tutubi will work quite nicely for my new website (not sure yet about other applications). I'm sure I will run into more issues (there have been many) but it will get there if I keep plugging away.

Sadly, I have a long list of new articles (yes actual content) that I've not been making progress on as I've been focusing on Tutubi code in my spare time. I have made some progress on pieces about app configuration, JSON, and another in my series on financial calculations. Getting there slowly. Hang in there please - I am hoping this new content will be available on the new site next month!

Just a heads up - the URL for the new site will be: but it's not live yet!


I got the initial versions of the Tutubi server and client up and running a couple of weeks ago. They were rough, but basically did what was intended. I then got very busy with work, and then was very busy working in the house. Over this last weekend for example I put together five large pieces of furniture from Ikea, with more on the way! However, I did finally manage to look into Heroku as I need to know more about that for work - I am planning to get my Nexmo event logger/proxy up there at some point - that is going to be really useful for testing my Nexmo apps. The end result, I was able to get the Tutubi server up and running on Heroku. Being new to Heroku there were a few gotchas, but that just makes for more content on this site! I also have a couple of articles in the pipeline, but will probably publish those on the new site - stay tuned for more info in the coming weeks. Thanks for hanging in there!


In case you've not being watching the articles page or subscribed to my Atom feed (and according to Inoreader there are three people subscribed!) you may have missed my recent flurry of articles (OK perhaps flurry is over-egging it a bit). The one I've had a fair bit of feedback on is the John Wick one. If you've watched the second installment in the franchise you'll get the idea of what I was trying to do there.

In other exciting news (and yes, I hope you are sitting down for this) I have started, at long last, to write the next installment of the software to run this site. The beginnings of the code are up in my GitHub, the project is called Tutubi (pronounced 2-2-bee). You can read more about it there. Well I thought that was exciting news, so there.


First blood. The first article of 2019 is finally up. Sorry it took so long.


Happy New Year! I hope you all had a relaxing festive period!

A quick look back over 2018

It was a hell of a year which saw me start by spending a month in the Philippines and then take on a new job at Nexmo. I had to hit the ground running at Nexmo, but luckily I've had some experience of doing that over the years. As well as doing a ton of work on the Nexmo Developer Platform, I also moved house! In summary 2018 was a lot of hard work, but worth it. I also managed to put out 21 articles on this website. Website traffic has exceeded my expectations for such a remote corner of the web - I checked this morning and a few days ago I was getting around 150 unique visitors a day. That's far more than I had anticipated. In terms of content, my target is 24 articles a year, and I didn't quite hit that, although I did write a couple of additional articles for the Nexmo blog. One would always like to write more, and I had no shortage of ideas, but time was just not on my side - if you have ever moved house while holding down a full-time job you'll understand!

Where are we going in 2019?

As far as this website is concerned I expect things to tick along as they have been. As I learn interesting (to me) technical topics I will add notes here. I am keeping my article target at 24 - if I can hit that I'll be doing well I think!

All the best for 2019 and thanks for reading!


I added an article on the Doom Zone Memory Manager.

I also managed to put together a festive piece using Nexmo and Python for the Nexmo blog.


Fixed Emacs article. New config works fine both in Terminal and Desktop on Mac.


A few new articles added recently, including a really bad one about Emacs config. Sorry about that. Anyway, I updated my Contact page as well so please send your complaints in!


So good news and bad news. I have recently published a couple of articles - that's the good news. The bad news is for some reason I can't yet figure out, the syntax colouring I used seems to be broken but only for a few pages. I will look into this over the new day or two. In the meantime enjoy the new articles. UPDATE: Now fixed. Highlight JS does not like code blocks without a class specifier. Quick fix is to always specify a language in the Markdown codeblock. If you have one codeblock that does not have the language/class specified, it seems to prevent highlighting for all other codeblocks on the page.


It's not happening is it! July was the last time I wrote some articles. I have though been extremely busy. I did manage to put together a piece on using Nexmo's Audit API with Python in addition to rewriting our Messages and Dispatch API docs and doing a bunch of other work. If you are fairly new to Python or Nexmo you can probably learn something from it I hope.


Another month gone! Wow!

I did manage to get a couple of pieces published this month. I also updated my about page. The material on Philippines was a little out of place so I removed it. Timmy, bless him, got edited too. The blog was originally meant to cover various topics, but seems to have defaulted to a "yet another boring tech blog", so the About page now reflects that.

The big plans to actually push the blog to the next level have not materialized sadly. I have been very busy with work and "real life". I do hope to get a couple more pieces published in August - we will see.


Well I did not manage to get out any articles last month, although I have a few in the draft state. I have been incredibly busy at work, and also had a trip to NYC in there too. Plus I am going through the pain of buying a house. Still I did publish double my quota in May so I don't feel completely horrible.

This month I hope to get a couple of those draft/idea pieces brushed up and published. We will see. The numbers continue to be quite strong (much to my surprise) with about 21,000 page views to date. Not huge, but more than my expectations.

I have now more or less completely switched from Emacs to VS Code and am loving it. I still use Emacs from time to time on the command line. VS Code continues to impress and let's hope things stay that way.

In other news I am looking forward to Fabien Sanglard's Doom book. I am especially looking forward to seeing how Fabien handles the Doom Zone memory allocator, although I expect most people will be more interested in the rendering chapter.


I was pleased to see I managed to exceed my target quota of articles for last month, despite being incredibly busy with my new job. I expect to perhaps do as many as five articles this month, but we will see.

Sometime early this morning I wrote the very first lines of what will be the new website. I think this news probably warrants an article in its own right. I can reveal a few things. It will be a Flask web app. It will use Markdown as the source file format, and it will most likely be hosted on Heroku. There will be new features such as tags, comments, and a better design. Actually the core design - a pipeline of processing stages on the Markdown and HTML source will stay. Those Bash shell scripts really have to go though!

The other shocking news is I've been edging away from using Emacs/Magit and have been using Visual Studio Code a lot more. It has proved suprisingly wonderful to use. Surely that deserves an article! Still, Emacs will still be my go to editor for the smaller tasks and when I log into my test servers.

The stats for the site continue to climb ever upward. Thank you for your support, and I'm glad some of you find my ramblings of some interest.


Well after just short of a month in the Philippines I am back. It was a great holiday although we did get hit by typhoon Basyang. The typhoon season is supposed to end in November, so we hadn't been expecting that! It is also something of a shock to come back from 30C to colder climes - it was MINUS 7C out there this morning! Watch out for new articles AND new photos (check Updates below for details)!


Happy New Year! It's been a little quiet here as I have been working through some Udemy courses. I have also been prepping for my upcoming Philippines trip. I really am excited to be attending PyCon Philippines this year. However, I do expect things to pick up on my return, starting with a review of some of the courses I have been doing and also a review of the PyCon Philippines event. I also have some exciting new projects in mind! Stay tuned!