A little about me

I took an interest in programming at a young age, initially learning to use Basic on a Sinclair ZX Spectrum +2A. During my teens I took an evening course in Pascal which was the second computer language. Unfortunately at that age I was more concerned with finding a job than going to college, which resulted in me not doing any kind of coding for some years.

By my mid twenties I felt frustrated at the lack of opportunities in my profession and made the decision to return to education. In 2007 I started studying full-time whilst also working as many hours as possible. Being a mature student, I naturally had commitments besides my studies which meant it was a constant struggle to keep on top of the coursework. I was fortunate enough to find work as a Support Engineer for a hosting company in Leeds during my final year. This was great help as previously my work history did not include any IT roles and I needed something to get my foot in the door. In 2010 the hard work paid off. I graduated with a 2:1 honours degree and within a few weeks of finishing the course I was employed by a software company called Adaptavist, where I worked until early 2012.

I'm now working on applications for Android mobile devices, some of which can be found on this site. This year I've also been doing a little PHP and front-end web development, but Java is my main area. I try to set aside some time each week to work with a language other than Java, recently this has been C++, JavaScript and Python. Some of my other web profiles can be found below:

Author Archive for samael

WTFilter Confluence plugin getting new features

The WTFilter Confluence plugin has been mostly unchanged since it was initially written in 2010. This weekend saw the first commit that actually introduces new features. Although work is still in progress, the next release of WTFilter is shaping up to be a much better product.

Here are a few of the changes that will be coming in the next release:

  • Display users that have been detected posting unwanted content (admin panel)
  • The option to choose whether unwanted text should be replaced or to simply report the user
  • The option for an email notification to be sent when unwanted content has been detected
  • An overhaul of the Admin screen to make it more user friendly and improve performance

Due to limited time the new version will be targeted for the latest versions of Confluence only, currently v5.5 and above.

Call Location updated for Android 5.0.1 (Lollipop)

The Android Call Location app was originally made for Android 2.2 (froyo). A lot has changed since then, so the code base was in dire need of an update. Over the course of the week I made the necessary changes to build against the latest API using the most recent build tools. When Google first made Android Studio available as a pre-release back in 2013, I started using it straight away. Using Gradle for the build process is much better than relying on an IDE and I’ve always preferred Intellij to Eclipse anyway. Now that Android Studio has a stable release I decided it was about time to change the project structure to the default that is used by the Gradle’s Android plugin: convention over configuration.

It’s not just project structure and build configurations that have changed. There were a number of changes that were required to get the app working again, most notably with the map view. I’m now making use of the newer Google Maps API which has changed significantly since version 1. There was some clean up work needed in the ListActivity that is used to display calls. In the main Activity there is a menu which used to be accessed via the handsets menu button. This has been deprecated since Android 3.0 in favour of having the menu button within the layout of the app itself, situated within the action bar. This was a problem for the Call Location app as the custom theme inherited from the base “android:Theme” which doesn’t include the action bar. This was easily fixed by setting the parent to “android:Theme.Holo“, not a big problem to fix but it would certainly be a problem to users if overlooked.

There are still some considerable changes that I’d like to make. Requests for results from the database should be using a CursorLoader and where a call is from a number that is stored within the phones contacts, the contact name should be displayed. The existing UI looks pretty old fashioned and is not in-line with Google’s Design Principles. If you’re interested in taking a more detailed look at the changes then please visit the repository.

the all new singingbush site is live

It’s taken a little longer than expected but singingbush.com is now back with a new server and all new content. My Linux experience came very handy as the machine had to be setup from scratch with nothing more than an SSH connection. It was a great way for me to brush up on the old sysadmin skills.

The new site will showcase a sample of the projects I’ve worked on, such as the WTFilter. There’s also a few pages for some of the Android work I’ve been doing: