Mistakes exposed by Google - O2's mms2legacy privacy

July 19, 2008
Google and other search engines are quite handy for all kind of background checks. Newsgroup postings, old home pages etc of individuals can be found easily. For companies the internet presence is not just their own site but everything coming up after searching with their name. Adding 'problems', 'bad service' or 'horrible' after company name and searching with that might bring up good amount of ranting from unhappy customers.

But there are also more interesting cases from companies. Some time ago I was looking for a job and checking company background info for my interview. By accident I found complete source code for one of their products. It was exposed due some mistakes with WebDAV setup and robots file. At least I had much better idea what that company was doing.

Today I just read from one user group mailing that O2's mms2legacy service is cached by Google. Searching with inurl:mms2legacy seems to bring a lot of pages MMS messages with photos and phone numbers. I could imagine that senders of those messages did not intend them to be available like that. Maybe O2 should add a disclaimer that they take no responsibility whatsoever of the visibility of the content.

Edit: O2 pulled the plug fast, so fast that they left navigation menu items leading to 404 pages.

Harnessing Hibernate review available

June 24, 2008
Actually it has been done for some time now but I forgot to post the link here. Feel free to comment as usually.

iReport 3 experiences

June 11, 2008
During last couple days I have been working with iReport 3.0.0. I was creating a multipage PDF report for a customer to review data from online forms. I have to say that iReport saved plenty of nerd sweat but it also caused some headache. I did not have the printed documentation (The Definitive Guide to iReport) so I ended up searching forums and other sites.

Getting started was pretty easy but I ran into my first problem when I tried to figure out how to display numerous key-value data pairs on a single page. Creating a subreport and passing the key value to it was the solution and luckily there was a screencast explaining it. So, soon my page was filled with values and the next dilemma was ready.

Creating a multipage report was a bit awkward because it required to have a subreport for each page. And each page was using a subreport already. The trick to get this working was to pass the subreport directory from root to all subreports. After this the report expanded over 8 pages and my creative colleague was ready to modify its layout. It was rather easy for him to start using iReport even he had no previous experience with it.

But he wasn't totally happy with iReport's responsiveness and it was definitely sluggish on his workstation. It turned out that there was something wrong with the new page I created by copying existing page's .jrxml file. This caused the report preview to hang without any errors and eventually he was running several stuck preview processes at the same time. This was solved by simply restarting iReport and creating that new page from scratch.

Meanwhile I was experimenting with other features of iReport and I decided to try out it with a data set which required pivoting. Each row in the database had key-value pair with grouping time stamp. The requirement was to create a table having those keys as a column headers. The database was a bit older Oracle and it did not support pivoting as well as newer versions. The solution was to use iReport's crosstab function which turned out to be quite handy.

It will be interesting to see how iReport will evolve in the future. I have the feeling that there is some demand to improve its multipage handling among some other annoyances. But even with its current status it turned out to be a valuable tool.

Harnessing Hibernate

June 05, 2008
I have been reading this relatively new book for couple weeks now and it seems to be a good material for Hibernate beginners. There will be a proper review but I will post it to Java User Group Scotland's site when the review is ready. But as an early comment I could recommend Harnessing Hibernate.

Hibernate presentation and the power of live coding

May 24, 2008
It was time to have my first technical presentation in my current workplace. I have experience with Hibernate and the company's technical lead has interest in it. Also the first project based on Hibernate and Spring in this company went live without disasters so the topic was clear.

The Hibernate Core is rather large and going through all the features was out of question. Instead of hundreds of slides I simply explained its main features, benefits and usage with couple plain slides. And then it was time for a demo.

The presentation room's computer did not have Eclipse or other development tools installed but remote access solved that problem. I had everything ready set up on my new workstation (no longer lousy Dell XPS 210) and I could start explaining Hibernate usage with live database and bunch of JUnit tests.

Hibernate's lazy loading is much easier to understand when audience sees different SQL queries created by Hibernate in practice while stepping through the code in Eclipse's debug mode. Same applies to Hibernate Tools. I created new table in Oracle SQL Developer and new Hibernate mappings with generated POJOs were available right after a couple mouse clicks.

I have to admit that this time I was a bit lucky because I did not spend that much time testing that setup. Compared to my very first live coding presentation in my previous work place everything went super smooth without embarrassing typos or brain-locks. There was plenty of discussion afterwards and I have a feeling that I will see more projects being implemented in combination of Hibernate and Spring.

Updating Ubuntu to 8.04 and broken VMware Tools

May 01, 2008
I was running Ubuntu 7.10 inside VMware player and Ubunu's updater offered update to 8.04. I checked Ubuntu website and everything seemed to be fine so I proceeded with update. But after update I noticed that shared folders were not visible for the guest OS anymore and also other features were not working properly.

Reinstalling VMware Tools did not help because installation failed. After some searching I found a good blog entry by Peter Cooper. Despite the topic the described steps work very well also on VMware Player.

Vodafone mobile broadband content block and bad image quality

April 15, 2008
My current internet connection is Vodafone's mobile broadband and it seems to work better than Three's. Unfortunately it is also more expensive. However, there are some technical issues.

I noticed many forums missing photos from their posting. It turned out that Vodafone uses content control which blocks access to the websites. For example flickr.com and imageshack.us are blocked. It is possible to remove this block but the web interface for this tries to send SMS containing password to the client settings. And Mac mobile connect software does not support SMS. So, switch SIM card from the dongle to mobile and back, visit Vodafone store or call their customer service.

Another problem is with those images which are actually visible. Vodafone uses a transparent proxy to downsize image files. The result is rather ugly as the compression is set to maximum. But this case is easier to solve. The latest Windows software has a feature for this so some smart Mac programmers observed what is happening with the network traffic and created a small application to disable compression. It is available at http://aitne.com/, it is donation ware and it works fine.

Bad example of new banking application introduction

March 27, 2008
Finnish Sampo bank switched over to Danske Bank's information systems. This merge took over 14 months with over 3100 persons. And results was rather embarrassing.

Their online customer pages have numerous XSS vulnerabilities. In practice this means that malicious content can be injected on the web page while user sees the original domain on the URL field. There are many example floating around internet. Here is a screenshot.

The online banking is implemented with Java applet and some native code. The purpose of this native code is unknown but curious minds have already analyzed applet. Here is one wikipage.

Because there are also other problems with their banking systems the online banking has been working badly and customers have experienced bizarre issues. Balance is not matching reality, some functionality is not available and also normal ATM withdraw transactions have failed with some Sampo customer. The latest and also pretty severe problem happened to a poor customer whose mortgage payment was taken twice.

No wonder Sampo-Danske bank customers are angry and changing bank. As soon as their system is back online.

Frustration with Windows and lack of my favorite tools

March 15, 2008
Recently I got a task to setup up Tomcat running on a Windows 2000 server vmware image and configure some web applications to run on it. It had already SQL Server (version 8 or so) running on it. Yea, not really the most modern software and definitely not my favorites...

Restoring the database from a file was not that complicated but took some time to figure out how to refresh the view. Setting up tomcat was a bit trickier as I missed one setting in its configuration. But the most frustrating thing was that the setup lacked all the tools I would have used on a unix platform.

Actually the list of my every day command line tools is not too long. Couple consoles with cd, mv/cp, grep, vi and tail are usually enough for setup and config tasks. But now I was doing endless clicking around and the progress was a bit slow. If I have to touch that again I'd better gather my own toolset for Windows or hire my own outsourced setup monkey.

Java User Group for Scotland - JUGS

February 26, 2008
I think I found out about this new Java User Group from some website, maybe it was in Scottish Developers event list. Anyways, I am about to check it out because it might be a good way to get to know other developers and share Java related knowledge. Naturally I will post some comments after their first meeting - which happens to be tomorrow.

Vodafone Mobile Connect and Mac OS X 10.4 update

February 22, 2008
I was helping my mother to fix her mobile Internet connection yesterday evening. The problem was that Vodafone Mobile Connect application did not start. Its icon just kept bouncing and that was all. Updating to the latest version of VMC 2.08.05 did not help.

Most likely OS X 10.4 update broke something because I found some discussion pointing to that direction. Unfortunately I was not able to establish VNC connection this time so I had to do everything via chat. Eventually the problem was fixed by uninstalling Vodafone Mobile Connect application and also removing 'nova media' and 'Vodafone' folders from /Library/Application Support/. After that and installation of the latest version everything worked fine.

My mind hurts

February 14, 2008
I have same feeling as being in the left-hand traffic for the first time. Everything seems to be normal but it just goes totally opposite. After some nervous times you learn to look right directions before crossing the street and if you don't then darwinism will take care of it.

My mind is boggling because I have been playing with OpenLaszlo after several months pause. Theoretically you can achieve impressive results with it without need to learn Flex/ActionScript. But with OpenLaszlo you end up writing spiced up JavaScript... Maybe I should bite the bullet and try out Flex as well.

Finally stabile Ubuntu and Eclipse environment

February 05, 2008
After posting a bug report to Eclipse bugzilla I got some replies to it. It turned out that something got corrupted during my installation and I suspect it was due overheating hard drive. The machine I have been working on is a compact Dell XPS 210 desktop and I was shocked when I saw its hard drive temperature. It was 82 C degrees which is quite a lot for a desktop drive. Well, if you take a look at its internals you will see that it is not really a layout for a proper work station.

With some searching I found i8kutils which is meant for Dell laptop but I managed to force the case fan to run with full blast with it. This dropped temperature somewhere around 60. I have no clue how long that has been going on as the machine was used by other developers before me. SMART status was not showing any error so I hope the drive is still usable.

To solve the problem with crashing Eclipse I decided to try out reinstalling gnome packages. I basically did that to all installed gnome packages and surprisingly Eclipse was stable after that. And that took me only couple working days... apparently I have become system administrator in addition to my existing Java developer title.

Ubuntu 7.1 and really unstable Eclipse

February 04, 2008
I installed Kubuntu 7.1 aka Gutsy Gibbon on my workstation to replace Windows XP. Installation was not trouble free and it took some time to get it right. But problems did not stop. While being a Java developer I need to use Eclipse.

The combination of Eclipse 3.3 and Ubuntu 7.1 turned out to be really unstable. File search, long tree lists in navigator etc... They all cause Eclipse to crash. After searching around it seems that it is a known problem but there is no known solution - at least that would work on my machine...

Back from BarCamp

February 03, 2008
I just came back home from BarCamp Scotland 2008 and I have to admit that I had a great day.

When I first heard the name I thought something about fighting your way from pub to another. Bar = place to drink, Camp = camping or Kampf = fight. But it turned out to be pretty nice way to share and present ideas and views.

I knew that I should present something there as that is part of the idea of a BarCamp. I ended up choosing Code Camp to be my topic because the names match a bit and I find idea of a Code Camp interesting. In case you do not know what Code Camp is about you might want to check this article about it. So, during the day I wrote couple slides, wrote my name on the time slot and enjoyed other presentations. (HyberNumbers, FusionCharts, Dave Murray-Rust's Multi-touch Table and
A.nnotate plus many more)

Before I had mine the previous presenter had his interesting presentation with plenty of questions coming from the audience and he exceeded his time a little bit but that was just perfect for me. I prepared to present my topic rather fast without explaining every detail and aspect so I knew that half an hour would be almost too much. I was a bit nervous as I did not talk about that topic too much previously but there were some good questions from audience so I was happy. And in any case, it was valuable practice for me.

Between the presentations and after the official event I had numerous discussions with different participants. Topics varied a lot and from those conversations I learnt dozens of small pieces of more or less valuable knowledge.

So, as a conclusion I can recommend this type of event to anyone who is interested in all kind of new ideas and concepts.