Home Web Server on Raspberry Pi Zero

One of my favourites things to fiddle with are home web servers. In fact the oldest post from this site (ported from previous websites) was about this very subject. This has always been a “minimal cost” hobby, in that I have tried to use old hardware I already have, and free services for things like domain names. The only thing I wasn’t getting for free with these setups was the electricity. So I wondered, by accepting a small initial outlay, whether it was possible to create a server with zero ongoing running costs.

Just recently I purchased a Raspberry Pi Zero and used it to create my latest web server. At the moment it is running from the mains electricity, but I am planning in the near future to try and run the thing on solar power alone. Anyway, I will probably write more about the project on the site being run by the Raspberry Pi at some point. You can check out the site here.


Bitcoin Prices

After playing around with Bitcoin exchange rate APIs today, I’ve created a website that displays exchange rate information from blockchain.info. I still need to add some more functionality to the site so it provides all the information I typically need relating to Bitcoin prices in one place. The site can be found here.


Free Code Camp

Over the last few years I’ve tried a number of online training sites like Code School and Codecademy and various MOOC courses at edX and Coursera.

Just recently I was introduced to Free Code Camp and have started on their path to Full Stack Development Certification.

The great thing about Free Code Camp is that, towards the end of your certification, it gives you the opportunity to work on real projects for nonprofit organisations. This clear path to applying your studies to real world situations is a great motivation and something a lot of other online courses do not offer.

I’m currently whizzing through the first batch of tutorials, which cover things I’m already familiar with. You can check out my progress here.



I had been thinking about rebranding for a while, as my old domain name was far from unique. A quick Google search showed I shared my name with, amongst others, a large Pakistani bank and a Viennese band that describe their genre as “funk funk funk”.

So after nearly a year of using a different domain, I have changed to johnskdev.com. Whilst it doesn’t exactly roll of the tongue, it is descriptive and more importantly it was not taken as a username on any of the major social networks or forums I frequent. This meant I could have one consistent name across all these sites.

It was particularly satisfying to Google my new name, shortly after I had registered the domain:

Screenshot from 2014-11-07 17:22:57

That’s about as unique as you can get!

Of course, I needed to move my WordPress installation from my old domain. I had transferred WordPress sites between servers before (keeping the same name), but not moved to a new domain. It turned out to be fairly straightforward, however, and WordPress themselves provide a useful guide on this subject.

I have retrospectively changed names in previous blog posts to try to ensure consistency, but you may find the odd reference to the previous domain on here.


.NET on johnskdev

As I explained in my last post, I am currently learning all there is to know about the .NET Framework.

I can get a bit bored creating test sites on my local machine and much prefer to see things working and live on the internet. As such I’ve created a new sub-domain, net.johnskdev.com, that points to an Amazon server where I have deployed a test MVC 5 site.

This is going to be my testbed for everything I’m learning in .NET, so don’t expect it to look like a polished website. In due course, a lot of examples and experiments will appear here, but at the time of writing this, the site is just the default one you get when you create a new MVC project.

I would write a guide on how I set this up, but I don’t think I could improve on this great article that takes you through all the steps, from setting up an EC2 instance to uploading your .NET project. The only problem I encountered was that Web Deploy didn’t seem to install correctly on my server, so I would suggest also reading through this IIS article on installing and configuring Web Deploy. It’s written for IIS 7, but it worked fine with IIS 8.


Where I Have Been

When I last wrote back in July, I had just finished my second Android course and was due to start the third and final part of a MOOC specialisation on Mobile Cloud Computing with Android.  Things have changed quite a bit since then, so I thought I’d just explain what has been happening.

At the end of July I started working at a startup in Sydney as a Web Developer. This role involved working with, amongst other things, .NET, MVC 5, C#, LINQ, Entity Framework and the Razor View Engine. I didn’t have very much experience in these areas but was very keen to learn, so I basically put a hold on my current MOOC courses so I could focus fully on my new role. I’m really pleased to say that the firm I’m working at recently offered me a permanent position, so for the foreseeable future I’m going to be learning more about C# the .NET framework.


Second Android Course Passed With Distinction

I just received my email today confirming that I have passed the MOOC course Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems. As I mentioned in my previous posts, Coursera doesn’t currently let you link to your Statement of Accomplishment (unless you pay), so here is a screenshot of my confirmation page:

POSA Course Passed

This is the second course in a three part specialisation on Mobile Cloud Computing with Android. The third part, Programming Cloud Services for Android Handheld Systems, started last week.


Five Minimalist WordPress Themes

I’m a big fan of minimalist web design. Here are five of my favourite free WordPress themes that have a clean, minimalistic look. They don’t rely on big photos to make an impact (although most look good with photos too) and so are ideally suited to individual blogs that have a lot of text.



Spring Theming

When I started this site I wanted a clean, simple, flat design which, of course, also had to be responsive.  I picked Tiny Theme as it fitted this criteria and looked great on mobile devices. The only real gripe I had with it was that on a full size computer screen, it looked a bit too simple.