RSS

That’s interesting…

We had a storm a few months ago and before the storm a number of lightnings struck the area close to where I live. I recorder a video of the lightnings and I noticed something weird…

The first image shows the view from our house. The second and third images show two lightnings. The third image is quite interesting, because the closest building on that image is around 20 meters away from where I was standing; and the lightning trajectory appears all the way to the bottom of the picture. It’s been ages since I last studied physics, so even if I knew how to explain how this happened, I have now forgotten! My thoughts so far:

  • either the lightning struck less than 20 meters away from where I was. It doesn’t seem likely, because I assume I would have felt it striking so close. Moreover the clouds where the lightning started its trip [sic] appear to be far away close to the mountains.
  • or the camera was able to capture the trajectory of the lightning behind the trees and buildings!
  • or…
Image1

Image1

Image2

Image2

Image3

Image3

…?


Exception using XMLConfiguration

I tried using the Apache XMLConfiguration to save the settings of an application I am developing to XML format. When I used it with Java 1.5 it all worked perfectly; however if I tried using it with Java 1.6 I was getting the following exception.


Exception in thread "main" java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at org.apache.commons.configuration.XMLConfiguration.save(XMLConfiguration.java:880)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate.save(AbstractHierarchicalFileConfiguration.java:454)
at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:546)
at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:513)
at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:491)
at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:403)
at org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.save(AbstractHierarchicalFileConfiguration.java:199)

After doing some search on google I found that this can be a problem with the xerces XML library (xercesImpl.jar). Checking the 3rd party libraries I am using in my project, I found a library that was using and distributing an earlier version of xercesImpl.jar.

I downloaded the latest version (2.91) of xercesImpl.jar from the Apache xerces project (http://xerces.apache.org/mirrors.cgi#binary) and replaced in the 3rd party library I was using the xercesImpl.jar file with the one I downloaded. Now everything seems to work fine, even in Java 1.6.  :-)


YAP(Yet Another Post) on iPhone Annoyances

YAP (Yet Another Post) on iPhone Annoyances

A couple of months ago I decided to become the proud owner of an iphone. The one I got is the UK version with the 1.1.4 firmware. I am also still using my old (really old) nokia 6210, which is an (almost) 8-year old phone. I became annoyed that my 8-year old phone has certain simple features the iphone doesn’t have. So:

Things nokia 6210 can do, but the current version of Iphone (firmware 1.1.4) can’t (at least without installing any additional packages):

  1. View how many characters you have typed in your SMS message. This is really important.. Read the rest of this entry »

What the deuce do you want?

I recently went back home for a few days. A neighbour’s cat had given birth to four little kittens. Once I woke them up and one of them was really pissed off. I have never seen so much anger and a look of annoyance in a cat before! (S)He looks like he is saying: “why did you wake me up you*&%$?”. By the way, from another picture, it seems that this particular kitten has a mustache!


So much for AI

For the past 3 hours I have been cleaning up my desk and sorting out the papers I had printed out (yes, when I talk about spring cleaning, I really mean it)! Anyway, I was listening to last.fm, while cleaning up. I asked it to play similar artists to Mikis Theodorakis, who is an excellent Greek composer of hmmmm… “metasymphonic music” (the term is borrowed from Wikipedia). After a couple of songs of similar to Miki’s music, last.fm decided to play a necromantia song! Necromantia is a Greek black metal group. What is the similarity between “metasymphonic music” and black metal? Well both artists are Greek, but apart from that.. none I would dare to say!Last.fm FAQ on the “similar artists” functionality says:

The list of artists which you may see on an artist page as being “similar” is based exactly on our user’s listening habits. If a lot of users listen to Artist X, but also Artist Y and Z – Y and Z artists will become similar to X.

With a few added constants and other functions thrown into the equation to help make it more accurate, you’ll find that’s how Similar Artists are made.

The screencap follows:

Theodorakis_Necromantia


Hard disk spring cleaning

It is time for spring cleaning my hard disk at home. I am sorting/deleting files that I no longer use. I will post here files that I do not need now, but might need in the future.

So… I found a small linux shell script  that individually compiles every java file in a directory and all its subdirectories. The code is:

#!/bin/bash

for d in `ls`
do
javac $d/*.java > $d/compile.txt

done

The text file can be found here:  batchcompile


A simple program for subversion statistics (subvstats)

Today I finished a beta version of a simple java program that collects the statistics from a subversion repository. I have created a website for the program: http://www.freewebs.com/subvstats/

It currently works by checking the whole history of the repository, finding how many lines have been added/removed in each file by using the “svn diff” command and creating an HTML report.
A sample of the report can be found here: http://www.freewebs.com/subvstats/samplereport.html

The program should work for relatively small repositories. As soon as I have time I will document it more and generate more statistics. And yes, I am thinking of making it opensource, but not in its current state. I first need to find some time to document the code properly and have a stable version.

Keywords: Subversion, statistics, package, tool, program, software, java, subvstats.


Weird files (advertismen.com and pushowXX.dll)

Last night I found on a P2P network an exe file that was supposed to be a screensaver. Well…yes I did double click! It gave me a usual “do you want to proceed with the installation?” window and I said yes! Well… that was it! It finished the installation, but I could not find any new screen saver on the control panel or anywhere else. Weird isn’t it?

Now, I downloaded a trial version of Ashampoo Uninstaller platinum to see the changes the installation made to my system. I installed Ashampoo and run the “screensaver” installer again. This time I noticed that somewhere in the text of the terms and conditions a company named “ADVERTISMEN.COM” appeared. Tried to google it but wasn’t lucky. I also did a DSN lookup of the url and found out that the domain name was registered on the 5th of April of 2006. Is it a new spyware?

Well, after the installation was finished, Ashampoo generated a log file, which showed that the install.exe had installed two files in the windows/system32 folder. The files were called pushow67.dll and pushow55.dll. I used DLL Export Viewer to find out that they exposed one interface called “Uninstall”. It also created a registry key under: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ called “UninstallString” with value: rundll32.exe C:\WINNT\system32\pushow55.dll Uninstall

It also created another key under: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows called AppInit_DLLs. The value was pushow55.dll.

All this is weird! I deleted the files and the registry entries, run ad-aware and spybot and they didn’t find anything. Finally I logged to my online banking system (didn’t enter my real credentials though) running Etheral. After inspecting the packets I didn’t find anything alarming.

Well… I am not sure if it is a new spyware, Trojan or something, but I know I should have thought twice before running that bloody exe file. Now I just hope I have cleaned my system from whatever it was!


At last a new monitor!

Well… I am so excited! It’s 9:00 am and I am typing into my blog. I got a new 19” monitor, which I am now using as an external monitor for my laptop.

My laptop’s lcd screen got completely screwed up over the last days. It’s full of blank horizontal lines. After a quick market research it seems that a new one (even a used one) would have cost me around £200, which is quite a lot for a 15” lcd screen. So… I decided to get a new external 19” monitor to use with my laptop for £175.

I got a Yusmart 198QP LCD monitor. It’s… big! It’s a wonder how both the monitor and the laptop fit on my tiny desk. I got two pictures, one of the desk and one of the monitor. The quality of the picture is acceptable and I can now have 1280×1024 resolution, which means I can see more text while I type (or program).

At last I can now work from home! (Well… the desk is still too small and the house does not inspire me to study, but I have that option when I want to program, check or type emails etc).


My desk with both the monitor and the laptop.

The new monitor!

The only problem I am having is that it has around 20 cm depth, which means that it’s too close to my eyes when I sit on the chair to type. I will see if I find a solution to that problem soon.Regarding the rest of the news these days… I will post an update!



Wow!!

Things back home are getting a bit rough! They had two 6R earthquakes (one at 8:45 in the morning and another one at around noon), but I just read on naftemporiki that a possible bird flu incident has appeared at Aignousa. I suppose it’s a bit too much news for a day.

Yesterday we were supposed to play basketball for the IMS league but the medics did not even show up, so we just trained for a while! It was really fun!

I also established a rough timetable for each day of the week and try to follow it. It seemed to work well today, though I had a rather big break after 16:00. Tomorrow the whole day is assigned to demonstrating tasks. We have a meeting at 10 in the morning and then lab sessions. I am planning to go to the city centre to watch Panathinaikos against Barcelona. It should be a nice game and if we lose by less than 5 goals… I am happy!

Researchwise I have started writing rigorous transformation rules from OCL to Alloy in the ATL language. I am going to define the rules for a very small subset of OCL initially and then implement them to a tool. Right now I am just too tired to write about anything! Going home to relax.