Monkey see, monkey do; occasionally monkey learn.
TwitterRSS Feed

Monkey see, monkey do; occasionally monkey learn.

random posts from a semi-sentient simian (heroku)

ghost

Using Ghost as a headless CMS

In a previous post I described how I investigated hosting ghost for free using Heroku and how this will allow me to potentially pull data from Ghost and build it into a static site which I can also get hosted for free (or at least a lot cheaper than what I am currently paying). I did spend some time investigating various site scrapers that would pull the ghost content directly and build a static site and though I could get these (mostly) working locally I couldn't find anyway to run them simply/
Shaun Wilde
Shaun Wilde
1 min read
ghost, heroku

Hosting Ghost For Free

I've been running my blog on a paid Ghost [https://github.com/TryGhost/Ghost] platform now for several years now but as I rarely blog I sort of chafe at the hosting cost, especially as this is now the only bit of hosting that is actually costing me. I've toyed with the idea of a static site and as there are a number of static site generators out there that support Ghost, I can potentially use these one of generators to push the site to an AWS S3 bucket for static web site hosting [https://docs.
Shaun Wilde
Shaun Wilde
3 min read
agile

What is this "waterfall" thing of which you speak?

> I'm going to describe my personal views about managing large software developments. I have had various assignments during the past nine years, mostly concerned with the development of software packages for spacecraft mission planning, commanding and post-flight analysis. In these assignments I have experienced different degrees of success with respect to arriving at an operational state, on-time, and within costs. I have become prejudiced by my experiences and I am going to relate some of thes
Shaun Wilde
Shaun Wilde
3 min read
microservices

Debugging NuGet Packages

Have you ever noticed that now we have embraced the micro-services architecture of doing things, instead of one big monolithic repository of code we have it all broken into smaller repositories of single/reduced responsibility... To share these little bits of wisdom we package them up into little parcels that we can import into 100s of other projects distributed across our services. Then, something goes wrong and we can't debug what is going on inside these little gems and we wonder why we did
Shaun Wilde
Shaun Wilde
5 min read
ghost

Adding a tags page to a Ghost blog

An odd thing about Ghost is though it allows you to tag your posts it doesn't provide an out-of-the-box way to access all the tags as a single view. It is relatively easy to set one up yourself and give it a reasonably consistent look and feel to the main blog. To start you need to enable the host public API, you'll find this in the Labs section of your ghost admin. Then, you need to create a static page with a post url of tags. Now we have to create a special theme file called page-tags.h
Shaun Wilde
Shaun Wilde
2 min read
open cover

Not dead yet...

So it has been a while but I am glad to finally say I have released another version of OpenCover - 4.7.922. The release candidate has been out for a few weeks now with no issues reported so I decided to bite the bullet and get the latest release out; the releases, as always, can be found on Nuget [https://www.nuget.org/packages/OpenCover/], Chocolatey [https://chocolatey.org/packages/OpenCover/4.7.922] and Github [https://github.com/OpenCover/opencover/releases/tag/4.7.922]. I'd say most of
Shaun Wilde
Shaun Wilde
1 min read
open source

A spike on `robust` JSON handling in .NET

When working with JSON formatted data in .NET I have always found it frustrating that I am losing something valuable if I want to use some form of contract to help reason about the code and improve understanding about the entities being worked upon. What did I just receive? The first issue I often come across is that after I have deserialized the data I simply can't tell the difference between null and undefined (or missing/absent) e.g. if we had the following entity public class User { str
Shaun Wilde
Shaun Wilde
3 min read
rhok, volunteer, agile, cloud

A weekend at Random Hacks of Kindness

Random Hacks of Kindness [http://www.rhokaustralia.org/#rhok-home] (or RHoK for short) is a hacking event that I've been involved with on and off over the past four or five years. Since we have just had a recent RHoK event in Melbourne (Nov 2017) I thought I should write down what my own personal involvement was this time so that others may get a feel of what it is like to become involved in RHoK or other similar hacking events. RHoK is not a competitive hacking event with big prizes up for g
Shaun Wilde
Shaun Wilde
9 min read
volunteer

Can you give something back?

Why does it seem, to me at least, that the vast body of developers will actively use software that has been contributed through open source efforts but will do nothing to add to that wealth and instead continue to rely on the efforts of others? How can we try to change that behaviour and get more developers contributing in some way? I wrote about a similar topic [/how_do_we_get_users_out_of_open_source_welfare_/] some years ago and I referred to it as a type of welfare. Perhaps it was a bit har
Shaun Wilde
Shaun Wilde
5 min read

Aw shucks, thank you!

I just received this today and it really made my day and I thought I should share. > Hiya Shaun, > Just wanted to drop a quick email of emphatic thanks for your many years of work with OpenCover. I was tasked with the job just recently of introducing unit + service tests, along with things to ensure quality outcomes are being achieved with this (i.e., measurable outputs)... OpenCover was such a simple drop-in tool. > Having never used it, I was up and going in under 2 hrs, complete with HTM
Shaun Wilde
Shaun Wilde
1 min read

The importance of canary builds.

So now that Visual Studio 2017 [https://www.visualstudio.com/downloads/] is officially out I thought I would use the long Easter weekend to upgrade the OpenCover project to this new version and tackle any issues that I normally encounter when this upgrade time comes around. However before I can start this upgrade process I first need to tackle the bit rot that has recently set in. > Bit rot (or software rot [https://en.wikipedia.org/wiki/Software_rot]) is when your code just starts failing due
Shaun Wilde
Shaun Wilde
2 min read

Keep your development workspace tidy

A big issue I find when working in today's modern development environment is the ever increasing number of git repositories we now have to maintain. With each repository comes a number of branches that we create, push and pull as we progress the development of each service and over time they just start to build up like driftwood on a beach; not the pretty driftwood of photos and art-pieces but junk useless wood that have long served their purpose. Just recently I counted that in the space of a
Shaun Wilde
Shaun Wilde
2 min read