Raf's Lab

Friday Mar 16, 2012

SMS Bug in Android 2.2.2 wipes all SMS messages

Just had the wonderful new Android feature of having all of your SMS messages wiped for no reason. Now call me cynical but spy agencies, hacking groups and kiddy fiddlers might like this feature, but in my case, coming out of a meeting to be presented with an empty SMS message queue did cause me some alarm. That worry was confounded by finding out that Google has had this "problem" for 3 years Yikes and that there is no way to retrieve those messages.

So if you have changed your mobile number recently, it may be worth sending me a message so that I can have yiur number again. Other than that, you may think I'm just ignoring you..

I've also started a twitter hashtag of #androidsmsbug to get some movement on getting the bug fixed.

Friday Jan 06, 2012

Sal's Surprise 40th Birthday Party

As some of you may know, I've been trying to organise Salma's 40th Birthday Party without her knowing

Since she never visits this site, it's a good place to let you know what is happening and also if you use twitter, please
to get the latest on what's happening as well as her location and Estimated Time of Arrival.

As a birthday present, I organised for Sal to go on a writing course at the Arvon Foundation, but this was also a ruse to get her out of the way, so that planning and preparation could take place without her knowledge.

The course takes place from Monday 9th Jan to Saturday 14th Jan, and she is due to finish at 10am. As I've booked train tickets for her, as well as a massage and spa for her on the way back in Birmingham, and she'll need picking up, we should hopefully be in a position to control her arrival time

The current details are such:

Address:
Kingscroft
2/a Lincoln Street
Kingsthorpe
Northampton
NN2 6NR

Google Map

Date: Saturday 14th January 2012

Guest arrival: 17:30

Sal arrival: 18:00 - 18:30

As I do not know all of Sal's friends or their contact details, if you do know someone that might want to say happy birthday to her, please post them in this direction and ask them to get in touch.

If you are coming, please could you let me know:
1) Name and Contact number
2) How many Adults/Kids
3) Special Dietary requirements - as all of the food will be done by me, I'll try my best to cater for everyone.
4) You are more than welcome to bring a dish, but please don't feel you have to. I probably need all the catering help I can muster - as I normally leave that all to Sal, so if you do please label trays/bowls so I don't lose anybody's.

My mobile is 07553 409 566 and I'll be updating both this blog and my twitter account
with updates, as/when they happen. You can also e-mail me on rafez(at)gazelle.net

Wednesday Dec 21, 2011

Kingsthorpe Jets YFC

I spend a vast amount of my time on helping run Kingsthorpe Jets Youth FC, a local youth football team, in which my son Aden also plays. We run 12 football teams from U6 to U15, and are always looking for players, both boys and girls to join the team.

As well as being the Secretary for the club, the Club Welfare Officer and Club Development Officer, I also look after two teams - the U6 Comets (who play friendlies) and the U8 Raptors (who play in the NDYAL league)

If you would like to know more about the Jets, why not visit the website at www.kjyfc.org.uk

Saturday Dec 17, 2011

Giff-Gaff

Having messed around with many different Pay-As-You-Go providers (PAYG) over the last few years, I've finally managed to find one that doesn't rip you off, and provides a decent level of service. Everything worked off the bat

I liked it so much that I've decided to put a link to it from this website, so you can have a go if you like. I know it may seem a bit strange for me to promote a commercial product, but the unlimited internet saved my bacon when I missed the second flight out to Morocco in Dec 2011. You don't need to use the Internet on the phone, I use it to provide Wifi access for my laptop and managed to book coach & airplane tickets and work out a route to get to Fez from the middle of Heathrow airport T4 departures!!

Get a free Giffgaff Sim

Wednesday Sep 08, 2010

About Me

Hello and firstly welcome to my space on the internet.A wonderful family I must say

I'm Rafez Noorullah, a sometime IT bod, but maintime dad of 3 monsters and a lovely monster tamer, Salma. My days are spent moonlighting as the Managing Director (and sole employee, now) of a company called Gazelle Informatics Ltd, based in glorious Northampton within the lovely part of the UK called Northamptonshire (between Oxford and Cambridge for those geographically challenged)


In our heyday, yes we had one at the height of the DotCom bubble (maybe we were to blame!!), we were specialists in primarily Domino and Sun Solaris systems, but now the company is mainly a hobby, with just myself to look after and entertain.

With a former client list consisting of mainly Blue Chip companies, such as British Telecom, Hilton Hotels, HSBC, Amnesty International, Johnson Diversey, I now find myself focusing almost exclusively for Warwickshire County Council in the capacity of a Domino and Open Source Architect, seeing how two of the most mould breaking technologies can be used for the benefit of the public. Challenging at times, the role has taught me that a closed mouth sometimes says more than the loudest voice...

The pages you see are mine and mine alone and just for fun - so don't take it too seriously. All credit probably belongs to somebody else, but if I miss an acknowledgement, please let me know and I'll see if I can fix it.

Wednesday Jun 02, 2010

Spring Source Roo and missing com.sun:tools:jar:1.4.2

If you are trying to get the latest version of SpringSource ROO working, with an x64 Java JDK, such as the latest JDK 1.6 update 20, there is unfortunately a missing tools.jar from the default lib\ directory of the JDK (tut tut tut Sun/Oracle). This will prevent Roo from working and therefore prevent Maven compilation. You would probably see an error similar to this:

Error message: Missing:
----------
1) com.sun:tools:jar:1.4.2

Try downloading the file manually from the project website.

Then, install it using the command:
mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

----------
1 required artifact is missing.


To correct this error, install an additional x86 JDK, repoint the JAVA_HOME and the PATH to the new JDK and restart the mvn process

Tuesday Jun 01, 2010

Forcing Eclipse to use a different JVM

Eclipse, under windows, uses the Java Control panel located Java Virtual Machine by default. It does not obey nor look at the

JAVA_HOME

To force eclipse to use a different JVM set the following in the eclipse.ini
-vm
E:/dev/java/jdk-jre/jdk1.6.20-i586/jre/bin

Alternatively, if you are using Windows, you can force Eclipse to load a different JVM from the properties box for the eclipse.exe executable 

Thursday May 27, 2010

Achieving Log Rotate for Apache access files

If you would like to apply some form of date nomenclature to your Apache HTTPd log files (Apache Tomcat already includes decent filenames which include dates) and also apply a LogRotate, there is a very different approach from Apache 1.3 to Apache 2.2.
Apache 1.3 used to use the mod_logs_rotate module, but this has now been hived off into a separate application.
To achieve the same result use the following in your httpd.conf

CustomLog "|bin/rotatelogs access-logs.%Y-%m-%d-%H_%M_%S.log 5M" combined

If you look at the first portion, we have a | (pipe) to the binary application rotatelogs which should tell the program to send all output to the rotatelogs application (this is installed by default with an Apache HTTPd install). The last bit about 5M, tells Apache to ensure that the log files are maintained at 5 Mb and then rotated.
Further information can be found here http://httpd.apache.org/docs/2.0/programs/rotatelogs.html

w3c RDF Validator - single packaged WAR

The w3c provides an RDF Validator, but unfortunately, as with all public facing sites, you cannot validate internal non-public data using the validator. The w3c do provide the source for the RDF validator http://dev.w3.org/cvsweb/java/classes/org/w3c/rdf/examples/ARPServlet.java, but it is only available via CVS and does seem to be very specific to the w3c, including hardlinked URLs in the code!!
Having modified the code, html files and images, I made it available as a convenience to others that may find this a timesaver as a single packaged WAR file. All you need to do is place it into the Webapps directory of your favourite servlet server, and it should auto-extract with the correct paths and files. I've also included all additional libraries needed for it, including the correct version of Jena. All of the software has separate open source licence conditions, which I do not have the time to state, but will post later if asked.
Right click and Save As File the following link


Roller: maximum configured size exceeded

As sone of you may have realised, I am using Apache Roller http://roller.apache.org for this blog. It's fast and plugs very quickly into a J2EE/Servlet environment and above all else is Free.
However if you are trying to upload large files to it, even by increasing the maximum files uploadable settings within the server-wide settings, this will still fail, and you will most likely be presented with
To get around this, edit your

webapps/<roller-app-directory>/WEB-INF/classes/struts.properties

and add/change the following line
struts.multipart.maxSize=<max-file-size-in-bytes>

Ensuring you enter the maximum size you would like in bytes. Restart your Tomcat server
e.g
struts.multipart.maxSize=20000000
would set the max file upload size to 20Mb

This is a reported bug in https://issues.apache.org/jira/browse/ROL-1631

Blog now moved to Apache httpd with Tomcat being Reverse Proxied

This is just a notice to let all users know that the previous URL to access this site of http://raflab.gazelle.net:8080/roller will now be removed completely. It has been replaced with an Apache HTTPD carrying out Reverse Proxy, which allows you to access the Appache Tomcat without having to repoint to a different port.
Consequently it will allow web search engines to crawl this site, and allow link management tools to not fail. The url to use is now http://raflab.gazelle.net/roller

Wednesday May 19, 2010

Making XML look pretty

One of the main issues with pasting XML into a blogging tool or web page, is that the resulting HTML can become very difficult to read e.g.

<xsl:stylesheet xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://earth.google.com/kml/2.0" exclude-result-prefixes="ws" version="2.0">



<xsl:template match="/">

        
<mini>

                
<xsl:apply-templates />

        
</mini>

</xsl:template>



<xsl:template match="event/postcode">

    
<xsl:variable name="gglResponses">

            
<xsl:copy-of select="document( 'http://maps.google.com/maps/api/geocode/xml?address=CV344SA,UK&amp;sensor=false' )" />

    
</xsl:variable>

    

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lat" />

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lng" />

</xsl:template>

</xsl:stylesheet>



As compared to

<xsl:stylesheet xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://earth.google.com/kml/2.0" exclude-result-prefixes="ws" version="2.0">



<xsl:template match="/">

        
<mini>

                
<xsl:apply-templates />

        
</mini>

</xsl:template>



<xsl:template match="event/postcode">

    
<xsl:variable name="gglResponses">

            
<xsl:copy-of select="document( 'http://maps.google.com/maps/api/geocode/xml?address=CV344SA,UK&amp;sensor=false' )" />

    
</xsl:variable>

    

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lat" />

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lng" />

</xsl:template>

</xsl:stylesheet>

By making use of the XSLT transformation taken from http://www2.informatik.hu-berlin.de/~obecker/XSLT we can prettify our XML and make it much easier to read.

Regex: Removing class attributes from XML/XHTML

If you have ever needed to remove class attributes from xml/xhtml, then the following regex might save you some time


find: ( class="[\w-^"]*")
replace:

Please note that [\w^"] will fail, as the "-" dash character is not included, something I spent a little time on :O)

Tuesday May 18, 2010

Calling Web Services from XSLT

One of the little known features of XML and XSLT functions is the document() function, which allows a remote document to be loaded and its tree to be navigable as well as the main document. This allows the ability to call remote Web Services and automatically iterate through the result XML returned
e.g. Using the below Google GeoCoding Service allows us to send a Web Service call to Google and place their resultant result back into the document

<xsl:stylesheet xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://earth.google.com/kml/2.0" exclude-result-prefixes="ws" version="2.0">



<xsl:template match="/">

        
<mini>

                
<xsl:apply-templates />

        
</mini>

</xsl:template>



<xsl:template match="event/postcode">

    
<xsl:variable name="gglResponses">

            
<xsl:copy-of select="document( 'http://maps.google.com/maps/api/geocode/xml?address=CV344SA,UK&amp;sensor=false' )" />

    
</xsl:variable>

    

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lat" />

        
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lng" />

</xsl:template>

</xsl:stylesheet>



This obviously only works with Web Services that are GET based, and therefore wouldn't work on POST based requests, such as SOAP

Friday May 14, 2010

Additional WCC Open Dataset - Warwick District Council Meetings

Live in or around Warwick? Interested in finding out what Council meetings are taking place? You could import this iCal file into Outlook or Google Mail with new entries automatically being added to your calendar.


http://raflab.gazelle.net/wdc-committee-meet-ics.ics

Calendar

Search

Twitter

Feeds

Links

Navigation

Referrers