Archive for the ‘Tech’ category

Tipro MID Keybaod Pinouts

July 18th, 2015

Tipro MID Keyboard Pinouts (Diagram)Over time I have ended up with a couple of customisable Tipro MID keyboards without the custom lead to connect them to a PS2 port. These leads are no longer available for sale so I decided to figure out the pinouts. This is a quick summery of that work.

As the keyboards have a pass-though port for other PS2 devices and were unlikely to have a common ground and 5V line I could use a multimeter to check what was the “Gnd” and “Vcc” easily. This worked and I had those figured out after a few minutes.

Now I had the power sorted I just had the clock and the data pins to figure out. I realised that there were only 30 possible combinations and the keyboard were already programmed so would behave like, well, a keyboard when a button was pressed. Rather than mess bout I decided to just try all combinations and to wee what one worked. There was a remote change this could damage the hardware but that was very very unlikely and I had little to loose. As luck would have it it worked on the 3rd attempt.

So now we have the results. The layout is not dissimilar to that of a a PS2 connector albeit mirrored. Hopefully this will be of use to at least someone and save some hardware from the skip.

Tipro MID Keyboard Pinouts (Photograph)

My next challenge is to reconfigure them. The configuration utilities (MIDWIN and MIDDOS) are still available from the Tipro drivers archive although it is recommended you use Windows 95, 98 or 2000. Wish me luck.

What version of Ubuntu am I on?

November 12th, 2014

This is a question that I ask myself a lot and keep having to look up almost every time. Sometimes I am not certain what distribution I am actually using. Here is the summery version that hopefully will save me having to look the command up each time, and perhaps help you as well.

To find out all the version information about the Linux kernel you are running run the command…

uname --all

To find out the OS release (such as the Ubuntu version) have a look in the os-release file…

more /etc/os-release

…and on most systems you can look at that same information neatly formatted using…


Spectrum Emulator (full screen) on the Raspberry Pi

August 10th, 2014

As part of my ZX Keyboard project I wanted to run a Spectrum emulator in full screen on the Raspberry Pi.

Fuse Spectrum emulator running on the Raspberry PiThe good news is the Spectrum emulator Fuse has already been ported to the Raspberry Pi and is easy to install if you are using Raspbian. The bad nest is that all the guides I found were to install the “GTK” version that runs under X windows, and I wanted to run in full screen on an old CRT TV. To install the Fuse “SDL” version (that will run in full screen from the command lane) just log in and from the command line run the following command…

sudo apt-get install fuse-emulator-common fuse-emulator-sdl fuse-emulator-utils spectrum-roms

Next we should make it start in full screen. From the console type in “fuse-sdl” and the emulator will start. Next press F1 (yes, sorry, the ZX keyboard does not have an F1 key so you will need to use another keyboard for now), select “Options”, and “Full Screen”. To make this the default press F1 and select “Options” again, then select “Save”. To exit use the F10 key.

Now I think we will need a good old game to play. The best place to look for Spectrum games that are distributed legally is at . The simple way to load a game using the ZX Keyboard is from the command line. For example we can load Manic Miner (assuming we downloaded the game and extracted it to the working directory) with the following command.

fuse-sdl –tape “Manic Miner.tzx”

Annoyingly I have come across one problem with Fuse and the ZX Keyboard. Fuse maps each key to a Spectrum key, letter to letter, number to number, shift becomes Caps Shift, and Ctrl become Symbol Shift. All other keys are ignored. This is a problem as we are interpreting and translating the symbols already. For example the Symbol Shift P as a double quote (a shifted 2), but the emulator treats this as the Caps Lock being pressed. We could make the ZX Keyboard work flawlessly by turning off our translation, but we would lose compatibility with PC software. I might look at building in a way to changing modes but we will have to cope with this for now.

ZX Keyboard

July 31st, 2014
A ZX Spectrum converted in to a USB keyboard on show at Manchester Mini Maker faire.

The ZX Keyboard, a USB keyboard made from an old ZX Spectrum on show at Manchester Mini Maker Faire.

Several year ago I decided that I wanted to make an old ZX Spectrum keyboard work with an emulator and ended up making one in to a USB keyboard. This is the rather waffly history of the project with a few tips and links for building your own. I have also created a Hack a Day page for the basic build instructions and a GitHub repository for the files.

Although I have never owned a working rubber keyed ZX Spectrum (mine was a Spectrum+ with a more solid tactile keyboard) I was given a broken rubber keyed one many many years ago. It was in a bit bashed up and did not work, and I have used a few of it’s components to fix other machines, but surprisingly the keyboard was okay.

Back in the start of 2012 I wanted to mount a soon to be released Raspberry Pi inside and emulate a full ZX Spectrum, as well as a Commodore 64 just to mess with people’s heads. I waited until the Model B was Pi eventually available but it would not fit without making more modifications than I wanted, and the smaller Model A was a long way off becoming a reality. I then decided that instead of mounting the Pi inside I should turn it in to a USB keyboard so I could use it with a Pi or a normal desktop PC. Naturally I then forgot about it for another couple of years, until for some reason just now.

Several people have asked why I did not use Bluetooth (some more criticising that asking, but whatever) and there was a Kickstarter making new Bluetooth ZX Spectrum style keyboards, but the project was to use an original ketboard, get it working with the Pi, and to do it myself.

Anyway, the build…

The hardware was surprisingly easy with the big unknown being the USB communication to which I considered a few solutions. Lots of projects use  a Arduino Leonardo that can natively emulate a USB keyboard, or reprogramme the Arduino Uno’s serial controller that requires zero extra hardware, but will prevent the Arduino from being programmed via the USB port. I was keen to use a low cost (the one used cost £1.30) Arduino Pro Mini clone and a small number of basic components.

Having decided on the Arduino Pro Mini (yes, I have my cart pull the horse for pet projects) the easy solution (for me because of prior knowledge) was to get the Arduino to emulate a PS2 keyboard and use a cheap PS2 to USB converter. If it was a one off commercial project, or I was against the clock then this is what I would do as it is the quick and easy solution that adds pennies to to cost of the project. This however is a daft pet project that is an ideal excuse to use as a learning experience, so I decided to play with the V-USB library from Objective Development.  In the end I found the VUSB for Arduino library that had done a lot of the porting work for me, although I am bypassing the top levels of the library to increase compatibility and allow multiple keys to pressed. Now I have thins knowledge my default may well be to opt for USB for future projects.

Connecting to the keyboard hardware was easy enough as I reused the original connectors from the old motherboard that already had components missing. The flat cable from the membrane was very tarnished and had cracks across the connections but I chopped an inch off the end and this solved the problem. The connections have been well documented by hobbyists over the years so there was no backwards engineering required. The way it is wired to the Arduino is not just to make things look neat mind. I will also help the software. Instead of having to check each button of each column at a time it is arranged so multiple values can be read in an operation.

The key mapping took a lot of thought and I have tried to make the keyboard usable for normal operations while keeping full compatibility for Spectrum Emulators. I think I have managed that and have written a little about how it works on the hackaday page mentioned at the top of this post.

So that is it. I will be taking the keyboard to future hack days, Bar Camps, and Mini Maker Fairs if you would like to see it. I hope you are inspired to have a go at building one, perhaps a better one than mine. Do let me know if you do. If you want one but don’t have the time or skills to convert your old ZX Spectrum (or any other machine for that matter) then I am happy to do it for a few quid so get in touch.

Update: It appears that the latest Arduino IDE (version 1.6) will not compile the VUSB library because of an old big in it. A quick work around is to install an older version of the Arduino IDE. It works for me with version 1.0.5.

Scratch Bikes Data

July 13th, 2014

Scratch Bikes in Newcastle

In this post I reveal a little secret about Newcastle’s now defunct cycle hire scheme and make the cycle location data collated over two years available.

Until the end of 2013 Newcastle had a cycle hire scheme called Scratch Bikes operated by Grand Scheme (formally both WhipBikes Ltd and Scratchbikes Ltd). Back in 2011 I decided to use the cycle location information on the Scratch Bikes web site to make an amazing animation like the animation done using data from the Boris Bikes in London. Sadly I found that the data was anything but live so I could not.

When I pointed out the web site and phone app were inaccurate Scratch Bikes were quite honest and came clean that the numbers were in fact entered manually when the bicycles were checked at the start of the day. I did offer to help link the systems together but sadly they did not respond to my offer. They did however try and hire a friend instead but I guess they had their reasons.

So the data…. In 2011 I set up a server intermittently checking the Scratch Bikes web site to find out how many cycles were at each station. As mentioned the data only changed once a day and was not enough for my needs, but I had already coded up the scraper to discover this so decided to leave it running just in case it was useful. This ran continually for 2 years. I do not know if it is useful.

You can download the Scratch Bikes Usage Data here. The time stamp is from the site and appears to be the time when the data was entered on to there system. There is a separate table with the location information in. One note is that I do not have the official data for Malcolm Street and Cuthbert House (presumed to be 3400 and 3405) so I have made a best guess. If you can fill in the blanks then please get in touch. Please take the data and do cool things with it, and let me know what you do with it.

I will just close by saying that reimplementing the phone service and building a web service is not hard for someone like me to do. In fact I can have it up and running within a couple of weeks, the web site and app will be live and accurate, and you would be able to book out cycles by text, voice, from a smart phone, and a PC as well. If someone wants to team up make this happen again in Newcastle then get in touch.

Where are the comments?

February 16th, 2014

Recently this blog has been the target of a silly amount of spam comments and I am having trouble keeping it up because of that, so I have disabled comments for now.

4 years ago my blog received about 200 spam comments a month caused me to install Akismet. The spam continued to increase slowly until it got to an average of 2,000 comments a month. Even with this number Akismet was doing a good job and blocking almost all of it, leaving just a handful of comments for me to moderate manually.

Annoyingly things have rocketed now and last month I received 68,897 spam comments. That is around 90 spam comments every hour. This I could still cope with easily, but they tend to come in short waves and I am having trouble keeping my site responsive when that happens. If you have experienced an unexpected wait for up to 20 seconds and them the site just works again, then this is why. Ironically it is using Akismet that is causing the delay, but not using something like this would be clearly be impractical.

The truth be told I do not blog as much as I did, and that most people interact with my blog externally on Twitter and Facebook instead of the comments, so I have just disabled all comments for now. I am considering using nginx instead of Apache to better cope with this kind of traffic, or using a service such as Cloud Flare, but for now I hope disabling comments will keep the site fully responsive all the time.

Update: I am experimenting with some WordPress plugins to block some bot nets before Akismet is called. Fingers crossed this will reduce the spam to a level that my server and Akismet can cope with again. Very few users should be blocked in error but if they are then they can click back, wait a minute, and try again.

Upgrading to Ubuntu 12.04 LTS and the MATE Desktop

November 12th, 2013

I have had a lightweight “nettop” computer on my desk running Ubuntu 10.04 LTS for quite some time. I use this almost exclusively for accessing the web with Chrome, and doing some admin tasks that are just more simple to do on a Linux machine. Unfortunately Ubuntu 10.04 LTS has not been fully supported since earlier in the year, and more recently Google stopped updating Chrome for it so I decided it was time to move on to something more modern.

One reason I have not updated yet is that the desktop has changed from Gnome 2 to Unity that is like moving from Windows XP to Windows 7. I don’t dislike the new interface like many, but it does take up more memory and processing power, and this little machine does not have much of either. I was originally intending to migrate it to Linux Mint using the MATE desktop but decided to give Ubuntu 12.04 LTS a try first as it was a simple auto upgrade. Granted it took a few hours in the end but did mention this machine is low on processing power.

The update went smoothly but needed a lot of confirmations over the process so needed checking on frequently. Unfortunately it was a little laggy as predicted and used a large percentage of the small machine’s memory.

I then had the mad idea of trying to install the MATE desktop on top of the Ubuntu installation I already had instead of a complete reinstall. I followed the install instructions on the MATE web site and it all went very smoothly. My exact script is below but I would recommend checking back to the original web site in case the distribution changes.

sudo add-apt-repository "deb precise main"
sudo apt-get update
# Ignore the error. We were expecting it.
# The following line will fix it but we needed to do the update first.
sudo apt-get --yes --quiet --allow-unauthenticated install mate-archive-keyring
sudo apt-get update
sudo apt-get install mate-core
sudo apt-get install mate-desktop-environment

After logging out I needed to select MATE from the cog icon by my name before logging in again, and then I was up and running with MATE. I did need to change almost all the desktop colour settings to be able to read all the text, but most of the other menu setup has been brought across from the old setup. I still need to tweak the font settings to improve the general look and feel further, and some of the apps still have colour settings so there is some tweaking to be done, but all this is a lot less hassle than a complete reinstall.

Also most importantly it did the trick with only 230MB RAM being used (approximately the same as before give or take a few meg) and the boot time is only a little slower at 100 seconds. Shutdown is about the same at 15 seconds. Chrome also works as well as it did and that is what I was after.

Granted it is annoying to have to do this at all, but to keep the security patches coming I needed to do something, and I would find it tricky to argue that it would have been sensible for anyone to support such old systems. If you are in the same position then give it some thought and I hope this proves useful.

Off road points on the new Google Maps mobile apps

September 1st, 2013

A few years ago I blogged about locating on off road point on Google Maps. This apparently proved quite useful to a number of Geocachers and ramblers. Recently the Google Maps apps has change on most (or perhaps all) platforms and this hack will not longer work on mobile devices. :-(

The only solution I have found to date is to use the original hack on the Google Earth app instead. Other than using more battery this works well for me. You can turn on roads to simulate the hybrid mode, and I have started saving locations to a map on My Maps and then they are shown automatically on the mobile. I hope this helps (again). If you can figure out a better way then please let me know.

Update: It appears that searching for Lat Long coordinates on there own (without the original hack) will now drop a marker on that exact spot. This is working on the old and new maps online, and the iPhone app, so I presume it will work on all platforms. Let’s hope this continues working from now on.

Goodbye Posterous, Goodbye Dopplr

February 20th, 2013

This month I am saying goodbye to a couple of services that I have been using for a while.

First Posterous. At the end of last week it was announced that the micro blogging platform Posterous will be closing down at the end of April 2013. This has been anticipated for a while since Twitter bought it in March last year and assured users that they will not close down without notice and will create an official data backup path.

I started using Posterous when I moved my “Vox Blog” to it (actually migrating to TypePad and then Posterous as it was easer) after Vox was closed at the end of September 2010.

As this is a second blog of “silly stuff” that I do not upload much to it nowadays I have decided to just kill it off. I did consider moving it to another service such at Tumblr but it is not simple to get the archive in there and I have other things to do that are more important. I will however place a full copy of my Posterious blog on my web site and redirect from the original URL so the content will not vanish from the Internet.

There is a small bug in the export where the original Import from Vox is listed backwards, and the Image URLs are mashed, but I fixed the URLs with a little .htaccess hacking. If you need help to do the same please do ask.

Next is Dopplr. Dopplr is a service where you log where you will be travelling to and it allows you to see if your friends are going to the same location. When you attend a lot of events like I do it can actually be useful. The service has been running unchanged since it was bought by Nokia in September 2009. I give it a lot of credit for running apparently untouched for almost 3½ years. Sadly it has just started to play up by not allowing trips to be created, edited, or deleted. It is clearly not being maintained and about to die.

Rather than move to another system (I only know of Tripit and it is not quite the same) I have imported my last Dopplr backup in to my Google Calender. Clearly this is not going to duplicate Dopplr’s social element, but will help with my planning and this is what I have mostly used it for in recent times.

So that is two services gone and I suspect there will be more going before the end of the month. The Internet is always exciting because of the constant flow of new and exciting things on it, but most will eventually vanish or be swallowed up by other services regardless if they are successful or not. It is sad but the way it is.

UKHost4U caught posting fake positive comments

December 18th, 2012

In 2007 my company had a bad experience with the company ukhost4u and I blogged about it. In summery I needed a service, called them to check if they included that service in there package, they said it did, after signing up it turned out they did not actually supply that service, and then they refused to refund the subscription. I blogged about it to warn other and them wrote the money off as one of those things.

After the original post I was getting a lot of comments on it. At first negative and then a few positive. Now as I have pointed out in the past a blog post about a negative experience tends to attract a lot of negative comments from users in the same situation. Satisfied customers will rarely be searching for the words that list such a blog post and hence will not get the chance to comment. I for one remember this when reading negative posts and comments. On my post however there were a few positive posts that struck me as odd.

Anyway, time passes and last Thursday a gentleman called David Eadie posted a comment on my blog post. It was a bit strong and I don’t wish for any company to be made bankrupt but I can understand how Mr Eadie feels.

Then, less than 25 minutes later I receive the following comment in my moderation queue….

I have been nothing but happy with the service provided by UKHost4u. They have always been very friendly and have actually taken the time to fix issues with my web site code which would have normally have cost money and a developers time.

Unlike other providers I have used the telephone calls are answered and most emails that I have sent in have had a reply within 1hr which is much better than the 48hrs that my last provider took to even advise me that it had been assigned to support.

I understand some people here don’t seem to have been happy with them, but I think they will find a lot of much worse providers and when you go with someone with NO telephone support, 48hrs email reply times and 80% MAX up time you will be more than happy to use UKHost4u.

Now, it is odd to get this kind of post because of the afore mentioned reasons, it does sound a bit like marketing spiel, and the web site they entered is for sale. I really do like comments of multiple views on my blog but I also don’t want to be a patsy delivering a fake review for a service I feel is bad. As a result I contact the poster via the gmail address they gave and asked if they can provide a link to there Facebook, LinkedIn, or other profile to help convince me they were a real person. I did not get a reply.

Then I decided that I might as well call the owner of the domain and they were kind enough to take my call and confirmed that they are the owner of the domain and they had not posted the comment. So now I have confirmation the details entered were fake, and logic dictates that is was posted by UKHost4u or an agent acting on there behalf, but there is no proof yet.

So, next on to the access logs for the site. It turns out that the post came from, and guess what, it is a UKHost4u IP address. In fact it appears to be the address used by the UKHost4u server.

I have contacted UKHost4u to give them a chance to comment and perhaps even apologise. They replied and implied it would have been one of there customers using an IP address registered to them. I sent the information they requested and stated I did not believe a customer of theirs would create a fake persona. I have not has a new response.

So, if you are looking for a new ISP and read a positive review of UKHost4u online from someone you don’t know and respect then I would take it with a pinch of salt.

If you are from UKHost4u, and I suspect you will be reading this, then there are a couple of lessons here. First being that putting so much effort in to scraping a few quid from your customers is not only bad customer service but will give a justified bad image online. Second that you are not as anonymous as you think so being dishonest will eventually come back and bite you. If you want to work with me to fix your ways and change your company attitude and image than I am available to help, but I suspect you are more interested in diminishing what I have said than actually fixing your problems.