Sunday 15 December 2013

Add An Existing Local Git To Github.com

Git is a great way to manage different versions of your code during development. I use it on my local machine when developing on my own but occasionally need to start working with others. This is a step-by-step description of how to upload a local git repository to github.com for sharing and collaborating.

Useful Git Commands

I've made several posts about git as I was learning to use it. This is a list of all the useful commands I found in the form of a cheat sheet.

Sunday 10 November 2013

Intro to Git Version Control

This is a simple story to illustrate how to do basic revision control with Git. I've had a couple of nightmares with Git repositories - it has been a bit of a git getting my head around how it works.


If you don't know what Git is, it's distributed revision control and source code management (SCM) system.  It's widely used to share open source code and is great for managing your code base with speed and, if you pay at github.com private.

Monday 4 November 2013

Uninstalling Linux Packages

Advanced Package Tool (Apt) is one of the programmes that make Linux such an awesome operating system.  It allows you to install any of 1000s of libraries, commands, tools and applications and Sourceforge have a good introduction for this.  However there is little info about how to uninstall anything and clean up properly. Vast amounts of hard-drive space can be taken up by files left over after an uninstall.  This post gives you the information to thoroughly uninstall programmes and any extra dependencies that came with them. Keep your Linux machine as clean as Mr. Clean!

Tuesday 29 October 2013

Raspberry Pi Motion Detection Security Camera

We have weekly deliveries of meat or vegetables to our home that are left outside our house if we are not there to receive them.  Although they are only there for a few hours and hidden behind some planters someone noticed them and started stealing them. I decided to catch them by using a Raspberry Pi to make a really cheap security camera.

Thursday 17 October 2013

Raspberry Pi Download Git

This is a quick post on how to download a git repository to a *nix machine - in this case a Raspberry Pi. I did it to get some cool code that my colleague had interneted/clouded to download to my Raspberry Pi.

Thursday 10 October 2013

Get Python IDLE to work on your Mac

An out of the box Mac comes with Python and a development environment called IDLE. Unfortunately it doesn't work very well e.g. raw_input() command causes it to hang and there are some other serious problems. Here's an alternative and a quick solution...

Tuesday 24 September 2013

Mac Image Batch Processing with terminal

Have you got a pile of images you want to rotate or resize? You can do this really quickly on your Mac using built-in command line aka The Terminal in seconds.

Tuesday 10 September 2013

Get started with Git: Cloning

Git is a software version control system.  It is good because you can use it in a distributed way keeping local and remote repositories kept in sync, with multiple developers strong project history and conflict resolution.

This post describes how to 'git going' with an existing project assuming you have already Set Up Git.  We create a local version of a project on github, make a small change and bounce that back to the github master.

Sunday 8 September 2013

Unhide Android Developer Options

I recently bought a Samsung Galaxy S4 Mini with Android 4.2.2/Jellybean. I routinely use my phone for development purposes requiring access to Android Developer settings. Out of the box these options are hidden and you need to know how to reveal the options.

Go to Settings, More..., About Device. Tap on Build number 7 times.  You will get a little toast popup window letting you know developer options are enabled.  They can be accessed from the More... menu.

Friday 9 August 2013

Secrets of bit.ly

I always thought the all those bit.ly shortened URLs were used to reduce the number of characters for tweets.  It turns out that using bit.ly does a lot more for you.

Thursday 1 August 2013

Accessing JSON Stored in NSDictionary

I'm still learning to be a developer... and probably always will be.  It helps me to write blogs about code that I manage to get working. I've written an app that uses OAuth to access a JSON input from the web and parse it. This post describes some of the new stuff I learnt on the way, specifically about parsing JSON and accessing NSDictionary.

Wednesday 31 July 2013

Worldwide Reach

I've been writing this blog off and on for a while but really getting going around February 2013. I am astounded but (by July 2013) it has been viewed in 131 countries which according to the map below is most of them.  It's easy to forget that the internet is international and social media can go anywhere.

Country Views of WorkingMatt's Blog

Sunday 28 July 2013

Leap Motion Special Applications Restricted in SDK T&Cs

In the post about my #FirstLeap with the Leap Motion 3D Motion Controller I thought there would bparticularly interesting applications in point of sale kiosks, controls for video DJs/lighting at live events and corporate presentations/collaboration.  The Terms and Conditions of using Leap Motion's SDK require a special agreement for these types of use; I hope that this doesn't stop the use of Leap Motion through overcharging or excessive red tape.


Thursday 25 July 2013

Useful Unix Commands

This is a list of basic linux commands which I find useful.  If you have any suggestions please let me know in the comments.

Wednesday 24 July 2013

Leap Motion 3D Motion Controller

The new Leap Motion controller arrived on 24th July 2013 a couple of days after launch after months of waiting.  I was pretty excited by what this 3D Motion Control device could do.  This is a record of my first couple of hours of life with Leap Motion.

Monday 10 June 2013

Twitter OAuth Cocoa

Twitter require OAuth1.0a authorisation for any access to their API as of June 2013.  Mark in Oregon's blog post is a really easy introduction to the horror of OAuth.  This post describes how I added this facility to an OSX application written in Objective-C using XCode.

Saturday 8 June 2013

Add another HDD to Ubuntu Server

Setting up a home server running Ubuntu Server operating system provided a foundation for lots of cool stuff like setting up a web server.  I wrote about this experience in a previous post Playing Around With Linux A Server.  This post is about adding another harddisk to the server under Ubuntu Server using the command line.  No easy GUI here!

Thursday 6 June 2013

Useful Resources for New Mac Users

A member of my family asked me for some advice on buying a Mac.  Here's some information and resources they found particularly useful:

Twitter API Changes

Twitter are gently rolling out a number of changes as they move from API v1.0 to v1.1.  I use the Twitter API in my social media display application 'Chrysanthemum'.  This blog gives an overview of Twitter's changes in moving to Twitter API v1.1 and considers how it will affect my Chrysanthemum application (Moderated Twitter Feed for Live Events).

Wednesday 29 May 2013

Using Drush to sync live and dev Drupal websites

This post describes how to use Drush to synchronise a live drupal website with a local development copy and vice versa, to synchronise an updated dev site back to the server version.  Following on from previous posts about Drupal this blog assumes that both a live server-based and a local drupal website are in place.

Part 1: Local Drupal7 on Mac OSX Lion
Part 2: Set-up Multisite Drupal 7
Part 3: Using Drush to sync live and dev Drupal websites

Friday 24 May 2013

Set-up Multisite Drupal 7

In order to develop my website using Drupal I wanted a local version to work on off-line and a live version to periodically update with releases.  This post continues to tell how I achieved that by describing how to create a multi-site drupal installation having completed setting up Drupal 7 and AMP on my Mac OSX Lion.
Part 1: Local Drupal7 on Mac OSX Lion
Part 2: Set-up Multisite Drupal 7
Part 3: Using Drush to sync live and dev Drupal websites

Thursday 23 May 2013

Local Drupal7 on Mac OSX Lion

Having set up a website on a live server using Drupal I wanted to set up a local copy for development without risking stuffing up the live version.  This post describes how I set up Drupal 7 on my Mac OSX Lion/10.7.

Part 1: Local Drupal7 on Mac OSX Lion
Part 2: Set-up Multisite Drupal 7
Part 3: Using Drush to sync live and dev Drupal websites

Wednesday 8 May 2013

Install Drupal Zen Theme

Now that I've installed Drupal, I decided to install the most popular and 'award winning' theme. That is Zen.  This is how you get Zen and get Zen working for you.

Tuesday 7 May 2013

Raspberry Pi - play videos on your TV over home network

XBian is free software to turn your Raspberry Pi into a full function media center. This is my experience of installing XBian Media Center (XBMC) described in simple steps to follow yourself. I have updated this post as XBian becomes a more polished product. Once setup there's no faffing around or technical stuff to do. The major steps are
1) Install the XBMC Software
2) Configure Xbian/XBMC

Friday 3 May 2013

Clean Up your Dirty URLs in Drupal

Having installed Drupal, the website building Content Management System (CMS), on a cloud server I had some issues getting Clean URLs to work.  This post describes how I got rid of my dirty URLs for Drupal hosted websites.

Dirty URLs


Default URLs for a Drupal hosted site include ?q= e.g. www.yoursite.com/?q=node/366 because it triggers a database query for what's after the ?q=.  Removing these characters, or at least not displaying them in the URL makes search engines friendlier towards your site and may increase your page's rankings.  A further step is to add aliases to pages so there is a human readable name instead of an id e.g. www.yoursite.com/barbie-girl instead of www.yoursite.com/?q=node/366.

Drupal basic concepts

Oh wow - Drupal as expected has a steep learning curve!  Once I'd installed it on a cloud server, here's what I first learned while clambering up the learning curve.  I've also written posts about specific (and general) stuff I've done with drupal.

Thursday 2 May 2013

Installing Drupal CMS

Now that I have started a business I need to have a professional looking webpage.  I also wanted to learn how to set this up myself using Linux as this skill may be useful in the future.  This post describes how I did that using a cloud Linux server and Drupal.

Thursday 25 April 2013

London's Technology Scene and Local Community

Social media is transforming London's underground society.  My experience of using meetup.com to build a community around shared interest in technology demonstrates both the impact of social media and the ground swell of technology in London's underground society.

Wednesday 10 April 2013

Using Raspberry Pi GPIO Interface

I have a Raspberry Pi - this post is about beginning to explore it's control capabilities using the General Purpose Input Output (GPIO) port and is aimed at total beginners assuming that you have already got your Raspberry Pi up and running as described in my earlier post Fire up your Raspberry Pi.

Tuesday 9 April 2013

Fire up your Raspberry Pi

I was loaned a Raspberry Pi.  It was brand new and still in its box when I got it.  This post is about how I breathed life into it. There are two main jobs to do: preparing an SD Card to be the Raspberry Pi's hard-drive and complete the initial setup.

I used my MacBook Air to do this so the process is Mac specific in some areas i.e. using Terminal.

Friday 5 April 2013

Pibow: The Raspberry Pi Case

I didn't like having my much prized Raspberry Pi (loaned to me by a good friend) resting on a cardboard box looking cool but vulnerable to my quite regular drink spills and clumsy dropping of heavy and/or pointy items.  I wanted a box to put it in - so I got one.


Thursday 4 April 2013

Self-employed poacher?

Poaching is where you 'steal' work from your employer by going direct to the client.  This is good because you get more work; this is bad because you annoy those that employed you and kills off opportunities for future work with them.

I am self-employed but only for a very short time - I have learnt so much during this first year. One of the most difficult things to get to grips with was not poaching work from others while proactively seeking much needed work.  I'm still not sure I got it right.

Saturday 30 March 2013

Set up Android SDK and NDK

This describes how I got the tools required to develop an Android application written in Java with a portion of 'native' C code. It's only really worth using native code when you have existing libraries written in C you wish to use without rewriting them in Java

Friday 29 March 2013

Playing Around with a Linux Server

This post describes how to install Linux and set it up as a home webserver from scratch.

Monday 4 March 2013

Replacing Android Tablet Touchscreen

My niece cracked the front of her Vimicro Flytouch Android Tablet.  The tablet still booted up, the screen still worked but the touchscreen was broken.  This post is about how I replaced the broken touchscreen.

Friday 1 March 2013

Mobile World Congress 2013

I received a call from Visionmill in mid-November 2012 about a job to create a video wall out of mobile phones for Mobile World Congress 2013 in Barcelona.  This work was officially confirmed as a World Record by Guiness in March 2013.