Tag Archive | Worldwide Lighthouses

Changing Opinions – Why I Can No Longer Stand PHP

You can see my C# education has rubbed off a bit on my PHP programming, for example the use of Libraries and more comments than I would have previously used

My first experiance of programming was making dynamic web pages for Worldwide Lighthouses Version 2. Essentially all my project did was provide an uploader for images and data, which was then input to a database, and several different types of pages used to display information about different types of aids to navigation by pulling information from the database and formatting it in a specific way.

At the time I thought the language I was using to do this — PHP — was great, the syntax was simple and there was plenty of documentation avaliable online for free. I hadn’t had any formal tutoring, nor did I need it in order to get on with what I was doing, I taught myself and things worked… most of the time. Of course having no formal tuition I didn’t work under best practices and everything was absolutely linear, I had no concept of Object Orientation. These were the days when I loved PHP.

In fact, when I first started learning C# I thought it was downright stupid that you had to declare what type a variable contained, “Why can’t the stupid thing work out that ‘2’ is a number?” is a choice quote from myself.

Recently I’ve had to go back to PHP for a few projects, including 5Hives. I cannot stand it. Compared to C#, PHP is massively inconsistant — heres some examples:

  • Built in Methods – Some use Under_Score() naming, some use camelCase, some use number2syntax, some use numberToSyntax. This means you can never guess what a method you need might be called, especially annoying when dreamweaver and expression web don’t have very good intellisense.
  • Sometimes it prints errors to the browser, sometimes it puts them in an error log. Oh, and it doesn’t tell you where said error log is.
  • Some functions return null if they failed, some throw an exception causing the program to stop, some print errors… etc etc
  •  If you forget the $ sign before a variable, rather than telling you it uses the name of the variable as if it was a string
  • Don’t even get me started on sessions…

There are so many reasons that PHP isnt the nice “work place” that C# is that I cannot sum them all up — I’ll leave that to this much more in depth post, which I enjoyed reading and agreed with on the whole.

Just the other day Nick was saying how everyone loves the first language they learn, be that prolog, python or VB (ok, maybe not VB ;)) but I cannot count myself among this group. I can program in PHP quite well, I can tolerate it and I know there are some situations where it is one of the best tools to use (simple upload forms are still a joy to make in PHP) but I cannot say I’m its biggest fan.


Easter Projects Update

Finally users can see Scottish Lighthouses

Worldwide Lighthouses

Earlier in the holidays I posted a blog post about what I was intending to get up to. One of the things I needed to get round to doing was fixing my brothers website, Worldwide Lighthouses. After a data loss last year and a loss of back-ups we had to start from scratch, many of the features that users — and my brother — loved on the site we’re lost as was most of the actual content.

Now, things are back on track. I’ve spent a portion of the last week or so fixing issues with the Custom-built content management system and now, finally Michael can upload information about Lighthouses outside of England and users can view them. I’ve also stopped most of the deadlinks returning 404’s and instead they now show a coming soon message, which is slightly better for SEO in the long run. I’m currently working on the module of the CMS which works on Lightships, after that will come fog signals, daymarks and finally the glossary.


Another project I wrote about was 5Hives, a website for a local bee keeper who wants to start his online presence in an affordable manner, but be able to update his website with new products and information without the need to constantly refer back to his webmaster. This is therefore the second Custom Content Management System I’ve created this week.

5 Hives Progress

5 Hives Progress

It’s not the best-looking website in the world at the moment, but the basic Database input and output works. I’m gonna put all my effort  into making it pretty over the next week whilst we wait for the http://www.5hives.co.uk domain to transfer from 123-reg to Fatcow hosting.

Sweepy Cleaner

Over the holidays I’ve been rewriting sweepy cleaner, its been going well and my code is now much more tidy, more managable and easier to understand, all of which are good things! Today, thanks to Mr Shane Gravestock, I added in a game sound track — to accompany the menu sound track — as well as a new sound effect for when the hoover dies — i.e. when you hit some furniture or the sides of the screen.

I’m going to upload a pre-release version of Sweepy Cleaner to the marketplace tonight, come back here to get the URL to be able to download and play it later.

Meta blogger App

I’ve been working hard on my other projects, but I’ve still made time for the metablogger app. I now have a fairly solid user-interface. I hope to have the app complete and submitted to the Windows Phone Marketplace sometime next week.

Thats all for now,

Easter Projects

Here’s a badly taken photo of Hull’s Paragon Interchange Station, taken whilst waiting for my train home

Friday was our final day at University and consisted of a Lab session and a Tutorial in which we talked about the coursework for ACW 2 for Programming 2 — A.K.A. Sweepy Cleaner. Almost as soon as the Tutorial was over I was on my way to the station to head home for two weeks off, well deserved after a busy term.

In an attempt to keep on top of work and hone my skills as a Software Engineer I have lined up a few projects for myself, to be completed over Easter.

The first of my Projects is to design and develop a custom website front-end and back-end content management system for a local bee keeper who offers Bee Keeping courses, bees for sale, honey products and a range of soaps and lotions. The system will need to allow the customers to edit their product ranges and content on their pages, it will also need to provide an attractive interface to customers and be SEO friendly in order to rank well on Google Searches for Bee related terms.

The Content Management System will be a fair bit of work, but fortunately I can use my previous experiences on projects such as Worldwide Lighthouses in order produce a better system, I also enjoy making user interfaces — particularly for the web, so I’m looking forward to working on this project and hopefully making my customers happy.

My second project is to complete Worldwide Lighthouses, a website run by my brother which uses a custom made CMS (Content Management System). Due to a data loss around Christmas a lot of the workings of the site remain unfinished, hopefully by the end of  Easter all functionality of the previous website will have been restored and even improved upon.

My third project is for my lecturer, Rob Miles, and is to produce an application for the Windows Phone 7 platform which uses the MetaBlogger API to allow people with blogs on blogger and other services to upload, view and edit posts on the go.

My fourth and final project is to create an Augmented reality game. It’s based off of my original proposal for three thing game —  a Tower Defence game which turns into an First Person Shooter once the enemy reaches the end of its route.

My aim is to have the “map” for the tower defence section of the game to be the actual location of the player, complete with enemies actually following the real roads to get to them,  I will do all this using the Bing Maps API. The FPS section will use the image produced by the back-facing camera as the background and the user will have to occasionally point their phone to the sky to fight back helicopters, and point it straight forward to take on Soldiers and Tanks. I think its an interesting concept, will be fun to play and is certainly technically interesting and possibly challenging to produce.

Expect to hear more about these projects soon!


Final Days…

Today is my final Wednesday in Dunstable for a few months, and possibly the last wednesday where dunstable is my perminant residence. This is both exciting and unnerving, a relief and a worry. Though I’ve moved house once before I’ve always lived in Dunstable so this will be one of the biggest changes I’ve ever gone through. As well as change of location I’m moving away from my Family, Girlfriend and Friends — all of whom are incredibly important to me.

The last two years of my life have certainly been the best so far, I’ve made some incredible (hopefully lifelong) friends, met my girlfriend and generally had a great time, so moving on without these people with me is daunting, however I can’t wait to meet new friends and discover more about what it is to be an independent adult – as well as have great fun and learn more about Computer Science.

So, I have two days and nights left before I leave at 7am (ish, depending on my ability to wake up) Saturday morning and I intend to make the most of them, spending lots of time with those dearest to me (even though a lot of my close friends moved away last weekend).

This all sounds gloomy, even though it is in reality the start of possibly the 4 most exciting years of my life! So in other good news I spoke to the bee keeper man again today and provided him with some examples of my previous work — namely http://www.semiskinned.co.uk and http://www.worldwidelighthouses.com Hopefully he’ll get back to me either tonight or tomorrow and ask me to carry on with the project, which will be great news!

Thats all for now – thanks for reading,