Saturday, 18 May 2013

Open Jog Alpha

I'm launching a new project in order to get me fit. It's called OpenJog although the name is pending review. It's a HTML5, Jquery Mobile Application to help joggers and other athletes stick to their training schedule. In particular it's helping me complete couch to 5k at the moment. The major features at the moment :


  • Display of workouts which change as activities are completed
  • Sound alerts for when you should switch activities
  • Many more to come ....
It's all open source(MIT Licensed) and up on github. An example can be seen here.


I'll be working out it for the next little while as I want to release it for firefox OS. If anyone finds any bugs or other issues with it please let me know on the github issues page.


Monday, 1 April 2013

Android App Transaltion

Android has quite a nice system to allow translation and localization of apps. You store all your strings in an xml file abstracted from your code called strings.xml. You can then provide a different strings.xml for each language you want to support by storing the new strings.xml in a separate values folder. For example, if I translated an app to Irish, I would add a new values folder values-ga as ga is the two letter language code for Irish. Then I would place my new translated strings.xml into that folder.

Here's an example of how I added Irish language support to my Jupiter Broadcasting app
https://github.com/ShaneQful/Jupiter-Broadcasting-Android-App/commit/ff2d82609839f44915652bd9c98a49ab889e5bc5

As you may have noticed from some of my earlier posts. I'm a great believer in providing software, especially opensource software to users in their own language so I have created a form to allow users to easily translate the JB app to their native tongue.

https://docs.google.com/forms/d/1m7tkmIxdvCA9effm-_BAH1azW-EtwZWElOx7qlecchE/viewform

I also encourage anyone who would like to have a slightly more impressive Github profile to copy my example commit and send me a pull request with a strings.xml in a language which you know well*.

Another way to get involved in open source translation is to create a launchpad account and start translating your favourite project on launchpad. I myself have helped with the translation of Ubuntu's Unity and MojoSetup, an opensource cross-platform installer used by many Humble Bundle games, to the Irish language.



* Please don't just use Google translate I want the experience to be as good as possible for users.

Monday, 11 February 2013

KDE is awesome because it can be other DEs


KDE 4.10 was released a few days ago so I decided to tell people why KDE is my favorite desktop environment (DE). I was a Gnome 2 user. I loved Gnome 2.32, the last Gnome 2 release I used, it was fast configurable and generally pretty bad ass. These are the same reasons I like KDE except KDE is better because :
  • It doesn't need compiz for fancy effects they're built in. 
  • It's the fastest desktop for gaming, even faster than xfce and lxde. 
  • You can basically make any of the other desktops using KDE. 
  • It is generally more polished than any of the other environments eg. you don't need to use the extra plugins like in Gnome3 but even if you want to they are built in to the menus in KDE. There's no need to go to a random website to download them.
In my personal setup, I have an activity for regular KDE setup, a Gnome2 like activity and a Unity like activity. I even installed the app menu runner for krunner because I like Unity's HUD but that's the only thing that I use that isn't included in KDE from Kubuntu to get all the setups seen below.

KDE 4 Default:



Gnome 2:


Unity:



Wednesday, 6 February 2013

Diary Down, Diary Software based on Markdown

I have been writing diary entries for the last year as part of my project and for other projects. It's a great way of not forgetting anything and I highly recommend it if nothing else other than to keep you sane on larger projects. I have been doing this in markdown, which is an amazing little language to write in that converts to html.

I had my diary in a git repo & scp'd the resulting html to a server every time I was finished writing so I could access the info anywhere. Eventually I wanted to index the entries so I wrote a little ruby script to generate a table of contents for me which worked great until I decided to over engineer the crap out of it now it's really awesome. In any case due to it's usefulness for me I decided to open source it so that it may be useful for others.

It requires:
markdown & ruby & a unix box (It probably won't work on windows)

Here's
An Example Diary
The Github for the project

The README on the github show's you how to use the diary. The git & scp stuff have been commented out but they are still in the code if anyone  wants to use the features. Play around with the example, re-size the windows, use the key board shortcuts & hopefully you'll see this can be useful for you too.


Monday, 14 January 2013

Quick Command Line Tip

This is really just for me in case I forget but it should be helpful to others. The 'notify-send' can be used to send desktop notifications when your program has finished running. This is quite handy for long running commands that you might forget about like dding images or what not.


Friday, 11 January 2013

My Raspberry Pi Cluster :)

So my final year project is to make a cluster of raspberry pi micro computers to crack encrypted office documents and here is my pi cluster :)


The distributed document cracker is based on John the Ripper which I've already started to contribute to
I have a prototype for distributing John already built and while its not ready for public release everything made as part of this project will be open source once I feel the code is ready. (Probably under the MIT license)

Below is a gallery of how it got to this state. Sorry about the blurry images, I'm not a great photographer.