Dengar's Blog Logo

Dengar's blog...
We will see what I post, probably will be some random tutorials

Thursday, 30 December 2010

GMote - Turns phone into remote

I don't have television, I got rid of it over two years ago and never missed it. The initial decision to get rid of it was made when my Virgin home broadband wouldn't work properly and Virigin wouldn't want to do anything about it. It was very frustrating...

Since I don't have an antenna and don't want to get a receiver box and, most importantly: I disagree with TV licensing, I got rid of television. Yes, I don't mind private channels, but the BBC can f*ck off and keep their rubbish programme to themselves.

Since then I lived on DVDs and content available through the internet.

While I do have a wireless mouse, I am really fond of Gmote:
it connects easily to the Java client that runs on any operating system that has also VLC installed. You can browse all video content files by simply selecting it and you then get a menu for forward, backward, volume up & down, pause of stop.



You can also use the screen of your phone like a touchpad to your PC and a keyboard mode allows you to send text to the computer too.


And to make Gmote even more brilliant: it allows you to stream video content from your computer to your phone.

NewsRob - best Google Reader client I found

Reading news and blogs while on the road is how I stay updated... I do have long commutes and a lot of it is underground. For this I do need a reader that downloads content to my phone in regular intervals and gets me all of the RSS content.



NewsRob does all this, has an icon sized widget for the Android homescreen that tells you the amount of unread articles (that you have synced) and easily syncs with the RSS you subscribe through Google Reader.

The only minor downside of it is that it sometimes takes a long time to download the content to my phone..

Another really likable feature of NewsRob is that it's got a nearly endless list of options. I like programmes with a lot of options, it means I can use the app as I want, not as the developer had envisaged. Making apps customisable is important!


When the official Google Android App came out earlier this month, I thought it might beat NewsRob in terms of service. But while a lot more articles are available and I never saw any lengthy download / syncing periods, the main problem with it is that it does not show you full articles, but downloads only a fraction of it.
It's not what I need when I'm out and about without the internet, so I stick to NewsRob.

Nimbuzz - Connecting to most IM networks

When I first tried to connect my old Sony Ericsson k750i to instant messengers, I came across fring. I later re-discovered fring when I had windows mobile devices and found it to be the best solution I came across so far. Then my friends started to have iPhones and I introduced the to more fring.

Eventually I got myself an Android, but there was no fring.

After searching for a viable replacement, I finally found Nimbuzz. Nimbuzz is like fring in the way that it connects to pretty much anything, that it has it's own chat protocol and that you can both type and voice chat.
The beauty of it was that it also connected to facebook chat, something I didn't see until then. I also found out that it has got a pretty cool online interface and you can manage your connections through that. In theory you can set it up online and then connect through your phone using your Nimbuzz username and password and everything populates itself automatically.
Having your instant messengers available while you are out and about is one of the most important features for me on a smartphone and it's difficult to find a better solution than Nimuzz.

Even as fring finally released their Android app, I was amongst the testers, I found Nimbuzz to be the superior app. Not only because of the many, many bugs in the beta version. Maybe it was because of it's online access, maybe because of the facebook protocol - I don't quite now anymore.

I still have both fring and Nimbuzz installed, mainly because I don't know if you can make voice calls to normal numbers using Skype over Nimbuzz. Something that definitely works now on fring. Also fring does look kinda nice, they certainly spend some time making it look other than the standard iPhone / Android apps.
For now, my vote for best Instant Messenger goes to Nimbuzz

Seesmic - Very functional and free Twitter client

You might like twitter or you might say it's total cr*p. Either way, I agree with you...

In my opinion twitter serves a need, the need to inform people through a short message about something you are doing, seeing, reading - in short: experiencing.  Unfortunately it doesn't fulfil this need very good, as you have 140 characters to express yourself.
Google's Buzz is the far superior product, in my opinion, but twitter came first and it looks like it's established a good foothold...

There are probably more clients for Twitter on the Android market, than for any other web application out there. Many of them are getting quite good, especially the ones that integrate with the rest of your phone. HTC and Sony Ericsson have, as far as I know, got some good clients factory build in.
My phone doesn't...


I tried many, many clients for Android, but ended up on using Seesmic. I had various requirements from my twitter app:
  1. Needs to be free
  2. Support multiple accounts and networks
  3. Everything should be customisable
  4. Should have a widget for the homescreen
The last point is where most clients fell short. Seemic too, that's why I was on TwyDroid for many months. It didn't have the widget neither, but it just seemed to be the better ad at the time. Now Seesmic has got the widget and I have migrated and I don't want to change anymore. 

But Seesmic does offer a lot: geo-tagging for example. This is now automatically added to my mobile tweets. You see pictures that were tweeted in the timeline (see above). Visit people's profiles and follow or unfollow, plus see the timeline of their tweets.
It even got it's own lightweight browser, so you can quickly follow links and return to the timeline without leaving the application.

Seesmic is my twitter client of choice.

Spotify for Android - More music on the go than you could ever listen too...

I think everyone is aware of Spotify by now and if you are not, you probably don't live in the UK, France or Scandinavia. Shame for you really, because Spotify is really part of the digitial music revolution.

Hosting an incredible 10 Million tracks and growing by about 10k songs every day, Spotify can really give any serious music collection a run for it's money. A subscription allows you to play songs on the go, download them on your device and listen to them offline for 3 month and stream from mobile devices. A subscription costs currently £10 a month, which is not much if you spend that much on CDs each month anyways.

Unfortunately Spotify is not yet ready to replace CDs. Not all artists are on Spotify, in fact I often find artists missing. Most notably Led Zeppelin and The Beatles to name just two of the big ones.
Nonetheless, you might not want to store music on your phone, you might not want to stream it from home or you just don't have the song you want to listen to at all, maybe you fancy something new and need a suggestion or you want to listen to the new album by your favourite artist... Spotify probably gets you what you crave and thus makes it on the list of my top ten Android apps.


The app itself as the typical Spotify look and feel. You can create playlists on the go, listen to playlist you have on your account and download these playlists to your Android. It runs pretty stable in the background and also scrobbles to Last.fm.
Do you need anything more?

Wednesday, 29 December 2010

Subsonic - Turn your home PC into a music streaming server and listen to it from anywhere

Having music on the go is important. I have an iPod and I also have Spotify, but Spotify costs money and I'm still thinking about cancelling my subscription if it wouldn't be so damn convenient while at work.

I came across Subsonic, a free software developed by Sindre Mehus, and I was instantly taken.

Well before Spotify made your songs available online, this sofware turned your home computer into a music streaming service. The application itself is Java based and needs you to run an instance of Tomcat, but you can simply install it through the provided installer.

There are now five applications for various devices out, but I would want to mention the Android app, as it's developed by Sindre Mehus himself. The Subsonic Android app supports streaming, downloading, playlists, album art and searching. For improved performance, music you have listened to is cached on the phone. An offline mode is also available for when you are outside 3G/Wi-Fi coverage.

  

All in all it's a great app when you happen to like music and you have got your entire music collection on one computer at home... Get it from the Android market and start listening to your favourites today...

Touchdown for Android - Easy and complete Outlook connectivity

I love free software, but I don't mind spending a bit of money on software that truly fulfills its pupose. Such a piece of software is Touchdown, by NitroDesk, probably the best MS Exchange Client there is for the Android.
In fact, I think that the software is so good, it easily compares it's features with the likes of Blackberry or Windows mobile for Exchange connectivity.

I know that you could fetch Exchange email via IMAP (if your system administrator allows it) or even via the email application included in Android these days, but there are reasons why you wouldn't want to do this.

My Android is my private phone, but I also use it for work. I do like to have an office and a private mode. I don't want my appointments to appear in each other's diary all of a sudden. I also want to keep my phone-book and that of works separate and you might have tasks and other features that just simply don't synchronise properly over Android's native software.


Touchdown has no problem with anything. See HTML emails and reply in HTML, you even see the picture of the person that you are corresponding with (provided you have the pictures available on your Outlook). 


Another important feature for me is booking meeting rooms and scheduling meetings while not in front of the computer. It all works very easy and is quite intuitive with NitroDesk's Touchdown for Outlook.


The beauty of the product is that it's completely customisable: choose how much of each email you want to download, choose your in office / out of office times, set signatures and how many days to synchronise. It syncs emails, calendars, contacts, tasks and notes - the complete package.

You can even search through your inbox or any folder that you have synchronised with.


It's a great app to have!
Get it from the Android market.

Transdroid - Add torrent files to your home PC from anywhere

I do use my home computer for various things while I'm out. The more important ones features for me are SSH / SFTP and Subsonic, but I also keep Transmission, the default ubuntu bitTorrent client, running throughout the day.
So it does happen, that files are being uploaded or downloaded, while I would like to use the available bandwidth otherwise.

Along comes Transdroid...
With transdroid you can control your torrent client remotely, set download limits, delete or pause and resume torrent down and uploads.

But it does one important other thing: it allows you to find and add torrent files. Search for some (if not all) the popular torrent search engines is already build in. All you need to do is select it.

If you are often away from your computer when you remember that you should actually be downloading something, or restrict downloading of a torrent, then this Android app will be of great valuable to you. Here is the QR code to download Transdroid from the Android market it right away:

Transport maps - never get lost on any public transport

You can't say that this is a bad concept for an app: Having all the worlds public transport maps on your fingertips....


Transport Maps does just that. Download from thousands of maps already available through the application. If it's not available, contribute to the ever growing database of transport maps by uploading yours here.

Download transport maps through the Android Market today.

Friday, 5 November 2010

Feng Office - Team Collaboration & Project Management software

Feng Office is the successor of a software called OpenGoo and probably one of the best pieces of free, open source software that I have come accross. It's really on par with MediaWiki and has become a real asset in the development of my site.

It combines a powerful project management and tracking system with a collaboration hub.


Using workspaces, you can conveniently manage multiple projects at the same time and handle resources accross the different projects. User rights prevent people from accessing locations that they are not meant to see.

Through a bit of customisation, you can set it up to not only track changes to all your online files, but also see who is working on which file at the moment. While someone is working on a file, and be this a PHP file or a letter to a supplier, it is marked as 'checked out'. This prevents two people modifying the file at the same time, thus eliminating one parties work...


It also has features for Notes, email, contacts and a calendar. It's a truly amazing piece of software and deserves the support fo the community...



Wednesday, 4 August 2010

A Retrospective of John Travolta's last decade

The past decade has not been kind to John Travolta. It began with Battlefield Earth, and ended with the movies about the middle-aged guys on motorcycles (Wild Hogs), the middle-aged adoptive fathers (Old Dogs), the middle-aged guy who found valuable dancing shoes (Gold Clogs), the middle-aged children's book author who runs at a medium pace (Roald Jogs), and the middle-aged guys who flip milk caps in a meat storage locker (Cold Pogs).

It may seem like Travolta has gotten a raw deal from movie-going audiences. Despite the fact that he hasn't had a hit in a long time, believes some crazy things about Thetans, and is starting to resemble the batty aunt you've never seen wear anything but a...

(from the Rifftrax newsletter)

Thursday, 22 July 2010

MySQL problems: Starting MySQL. ERROR! Manager of pid-file quit without updating file.

I stumbled across this error when I tried to import an InnoDB backup into my existing MySQL server.
I have one application that collects data that I need to tie to another set of data that is recorded on a different server through a different application.
It's been rather challenging, cause I had to work of an InnoDB backup and they aren't easily imported to another MySQL server, especially if you want to keep the data on that other server.

Okay, so what I tried, and ultimately prevented me from restarting MySQL was:

  1. changing all tables on the MySQL server to MyISAM
  2. killing MySQL (yes, I couldn't stop it)
  3. copying the files in the MySQL DataDir to a backup location
  4. Copying the InnoDB backup files that I want to import into my DataDir
  5. trying to restart MySQL
But this is were the trouble started. The files couldn't be imported and I had to roll back and use my backup files. But:
# sudo /etc/init.d/mysql start
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
So I deleted the pointer file in /var/lock/subsys/
# sudo rm -f /var/lock/subsys/mysql
# sudo /etc/init.d/mysql start
Starting MySQL. ERROR! Manager of pid-file quit without updating file.

This didn't work...
After long fiddling, I found out that the files in my DataDir have changed it's owner, since I copied them as root to the backup location and back. They were now owned by root. So after:

# sudo chown mysql:mysql *
# sudo chgrp mysql *
I could do:
# sudo /etc/init.d/mysql start
 Starting MySQL. SUCCESS!
Hope this helps you too!


Thursday, 15 April 2010

Spot The Badger

This was the first thing I ever produced in Java. Good times...

Click here to test your knowledge of badgers

Wednesday, 24 March 2010

Connecting your MySQL data with MS Excel

Excel is still the most popular product when it comes to working with spreadsheets or analysing data. I often analyse large spreadsheets with data I got from a database. 
While it's not too much effort to copy the data into the spreadsheet when you do need something ad hoc, it can be quite frustrating if you are preparing the same reports over and over again. It would be much easier to just integrate the query as a data source in Excel.

Excel has already got great features to tie into MSSQL, probably because they want to sell more of their own stuff, but I suppose it should be just as easy connecting it with MySQL...
  1. We will need a driver:
    MySQL provides a lot of connector files on their website, it's pretty easy to navigate and find what you are looking for, but, just  in case, here is the link to the ODBC files I will be using for an Windows XP conncetion: http://dev.mysql.com/downloads/connector/odbc/#downloads
  2. We will need the data source as a ODBC connection in Windoze:
    Go Start > Control Panel > Administrative Tools > Data Sources (ODBC) > Add...
    and find the newly installed MySQL driver. Then it will ask you to enter your details and you should be half way there already...

  3. It's already time to use Excel:
    so start Excel... There are now different ways of getting data into Excel. I want to use my own query, so I'm going to use the 'From Microsoft Query', as it recognises the existing ODBC connection we established.


    Then I'm going to connect to the 'localhost' connection I previously created:

    To get further, I need to select at least one field from the database. It doesn't matter if it's a relevant field, because a query tool will appear at the end of the dialogue.

    It comes in form of a question, and you select the lower radio button:

    Finally, you can add your own query (SQL button).
    And the result:
It will take a while when you enter your own query, very much depended on how complex your query is, but I hope for you it takes under five minutes to run :D

Let me know if that works for you or if you have any breaking points. 

Friday, 12 February 2010

Android as remote control (mobile as computer remote)

I found the Android application gmote on the Android Market and thought I'll check it out. I have a big screen TV that is used as a display for the computer. Like most I run VLC Movie Player.

The installation of the host is pretty straight forward. Works all OS too, get the Gmote > Server deamon.

Once you run the file, you will be asked which directory the client should connect to. Afterwards the computer should operate as a host.

And indeed the phone application found the computer running Ubuntu. I could use the browse to navigate through my folders and it was pretty easy to start something. All the keys (start, stop, pause, volume, mute, forward and backward, as well as off) worked well and surprisingly responsive.

Use the browse to load a movie and off you go.

Interesting benefit: there is a beta to play mp3 and mp4 and I did try to play a video, but the video would not load on my phone. Maybe the mp4 was way too big and complex to buffer? I don't know...
Maybe I will try a smaller one some time.

Installing Office 2007 on Ubuntu

This evening I thought I finally give installing Office 2007 another go. Not that I don't like OpenOffice, but I often deal with files that have more than 65k lines...

I am no fan of Microsoft, but I must admit that the Office suite was always great. Probably that's why it's the only non native software that's made it to the Mac...
I also got quite used to using the ribbon and it's visually very pretty to work with MS.

So, I read that you should use an older wine version, namely 1.1.14, but I also read on the wine site that everything above 1.1.3 should also be suitable, so I will get the latest wine version Synaptic can find (which is 1.1.38). I will also install wine-gecko and I know we will need cabextract... The package manager thinks it's wise to install a few other packages to, so here we go!

Good news: so far so good..
it starts the installation and asks for product key...
off to choose the programmes...
and the installation proceeds... (the installation is anything but quick...)

For the next step we need winetricks:
Get it by:
sudo wget www.kegel.com/wine/winetricks

So now we should be able to install a few windows repositories:
sh winetricks corefonts tahoma vcrun2005sp1 wsh56js

This will ask you a few time if it's OK to install certain things and once completed, you need to configure wine:
winecfg

Find the libaries tab and add to new overrides:
riched20 & usp10
both will need the 'Native (Windows)' button ticked.

And off we go!
It installed in fine and it runs fine. Here is a screenshot:

Thursday, 7 January 2010

Why does ... (or the problem of predictive search)

found this when I started typing 'why does...'




I think most search engines would rank the results according to popularity, rather than results or relevancy. So it's shocking to know what people really want to know about themselves and their dogs. Funny though

(Google Predictive Search)
FYI: I wanted to search for 'Why does it hurt when I pee' (not for myself, but the popular Frank Zappa song. I assure you, everything is fine!)

Monday, 4 January 2010

Joke of the Koala and the Crocodile...

I shared the PDF of the Koala joke.

Java & MySQL select query to return a two dimensional array of results

(vector of arrays actually)

When I started to do some Java again, I noticed that Java doesn't really have an easy way of getting an array from a query, if you don't always want to declare how many columns and rows you expect. To circumvent this problem I have a class in my toolkit that contains a method that returns a vector of result lines and each element contains an array of results...

This makes it really easy then to just write a query, like
Vector  myResultVector = selectQuery("select * from customerdetails");
, and get the Vector of arrays back.

To illustrate, here is the method:

public Vector selectQuery(String query) throws SQLException {
  Statement st = connection.createStatement();
  ResultSet res = stat.executeQuery(query);
  
  ResultSetMetaData rsmd = result.getMetaData();
  numCols = rsmd.getColumnCount();
  
                // Optional print out:
  //System.out.println("The query was executed. The number of columns returned is: " + numCols);

         //We don't return this here in the same method, but this variable is declared earlier and can be returned through a different method.
  for (int i=1; i<=numCols; i++) {
            columnNames.add(i-1, rsmd.getColumnName(i));
           // System.out.println(columnNames.elementAt(i-1));
  }

  while (result.next()) {
   String[] arr1 = new String[numCols];
   for (int t=1; t <=numCols; t++) {
    arr1[t-1] = result.getString(t);
    //System.out.println(arr1[t-1]);
   }
   results.add(arr1);
  }
  return results;
 }

In the constructor of the actual class, I have the database connection, looking something like this:
 public mysqlConnector() {
  
  try {
   String userName = "YOURUSER";
   String passWord = "YOURPASSWORD";
   String url = "jdbc:mysql://YOURSERVER/YOURSCHEMA";
   Class.forName ("com.mysql.jdbc.Driver").newInstance ();
            connection = DriverManager.getConnection (url, userName, passWord);
            System.out.println ("Database connection established!");
  }
  catch (Exception err1) {
   System.err.println ("Cannot connect to database server!");
   err1.printStackTrace();
  }
 }

Maybe worth mentioning the global variables that I declare in this class:

 public Vector results = new Vector ();
 public Vector  columnNames = new Vector  ();
 public int numCols  = 0;
The results, because there are other methods that are using the same Vector, the columnNames and the numCols, because there is a method that returns them when I need them:
public Vector  getColumnHeaders(){
  return columnNames;
 }
 
 public int getColumnNumber(){
  return numCols;
 }
It might also be good to close the database connection when you don't need it anymore:

 public void disconnectionNotice() {
  if (connection != null) {
   try {
    connection.close ();
    System.out.println("Connection to DB closed!");
   }
   catch (Exception err2) {
    //err2.printStackTrace();
   }
  }
 }
Hope this helps some of you that might have struggled with the same problem. Email me if this isn't all clear to you... Happy to help.

Saturday, 2 January 2010

Installing the Google debian / ubuntu repository (chrome / picasa)

I have found it difficult to find the line what exactly the line is that I need add to my /etc/apt/sources.list ... I finally found it on the Google site here.

But to spell it out:

# Google software repository
deb http://dl.google.com/linux/deb/ stable non-free main

If you are using the GUI, you can simply go to


Software Sources > Other Software > Add

and add the repositories this way. This should then also automatically provoke an update of the software sources...

There might get a warning saying that the package is unsigned. I haven't tried, but from what I can see, there is a link on the Google page.