Archive for January, 2016


Laravel vs. AngularJS

I have been spending some time keeping my PHP skills sharp, and have been dabbling with rewriting/updating a front end for my personal home-hosted websites.

I started off with Laravel, and was pleasantly surprised with how quick and easy it was to get off up and running  (manipulating data with CRUD), thanks to the excellent docs, and my forays into PHP MVC stuff (the yii framework) in the past.

Part way through however, I chanced upon this youtube video, and such was the simplicity demonstrated in the examples, I was inspired to go knock together a quick proof of concept.

After one PHP script (less than 50 lines) to spit out all the data I wanted as json, I had a tabulated data viewer with powerful live filtering.

Next on my list is to evaluate how easy it is to implement the search/filtering with the Laravel side, and compare my options for implementing a CRUD system on the single page AngularJS site.

An interesting exercise – I don’t feel like my time has been wasted by doubling up on the work.


Creating Word documents programmatically

I have spent much of this week creating software to generate electrical certification documents in word based on data filled in on a mobile application in the field.

I must say that the Novacode DocX library has made the whole thing quick and painless, and what’s more, the whole thing is free to use.

Great stuff.


Marketing yourself as a developer

I was listening to this podcast last night on Software Engineering radio, and there were a couple of points that really hit home – particularly at this time of year where traditionally resolutions are made:

  • Developers typically do not like to market themselves or their ideas.
    • A developer can write the best code in the world, but if nobody knows about it then it is all a bit pointless – no users will ever benefit.
    • Demonstrating the communication skills and commitment to document projects you are working on is highly attractive to prospective clients and/or employers, and could also earn you a following with among your peers.
  • Developers engage in traditional ‘Networking’ only in short and sustained bursts, usually at the time they are looking for a new job.
    • This needs to be an ongoing process, such that a strong network of connections is built and maintained.

The key to both of these is consistent commitment.

It only takes 10 minutes to write a blog post about something interesting done over the past week.

It is easy to take a few minutes to chat with member of your professional network.

I for one will try my best to put these principles into practice throughout 2016.




Force a favicon onto a webpage – 2016 update

Back in 2011 I wrote this article about supporting multiple sites on shared hosting, and forcing each site to have it’s own favicon.

Modern browsers require image files, and it is just older browsers (and IE) that require the .ico files:

<link rel="icon" type="image/png" href="">
<!--[if IE]><link rel="shortcut icon"href=""/><![endif]-->