Friday, March 20, 2009

Applications meme

I usually don't take part in these kind of meme games (actually I have never) but this time I thought I could make an exception. Not that this meme is less silly or less absolutely useless than others but for some strange and unexplained reason I found it interesting to try and answer those questions about software I use. So here it is:

1. Which desktop manager do you use more often ?
I use Gnome just because it is the default in Ubuntu and experience has taught me to keep the defaults otherwise trouble is lurking in the shadows.

2. Which desktop application you would not like to see implemented again on linux? And why?
Normally, I wouldn't answer this one because I couldn't care less. At the very last moment though I remembered how annoying it is to have 4 or 5 different media players on my linux machine, each one designated to play a certain type of files. Plz don't create another one. Instead try to make one of the existing ones play everything.

3. Which desktop application you definitely would like to see implemented on linux? Describe it briefly or point out to a similar application.

A decent application for synchronizing my mobile device (phone or other) with evolution or the google calendar.

4. Write the name of the last project (not the very best, the last!) that made you wish to thank their developers so you can thank them now!

The scrobble function in MediaPortal :-) I know it 's a windows application but the question doesn't say it has to be linux.

5. (Optional) Link the blogs of 1-3 people you’d like to take part to this meme. (no more than three). you can skip this question if you like.

What? You mean the others were mandatory?

Friday, March 13, 2009

The case of the WrongClassException

Yesterday, one client reported a strange bug in his application. It was an org.hibernate.WrongClassException during loading of some pojos from the database. I should mention here that the application is EJB3-JPA based with SmartGWT for the front-end. The exception was thrown when trying to load a specific object of class A and hibernate reported that the object was already loaded in the session but it was of the wrong class (class B). After playing around the database and the pojos annotations I saw that the two classes were subclasses of a common class and that the @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) annotation has been used on the parent, meaning that the two subclasses were mapped onto separate tables. I luckily remembered that in that case the primary keys have to be unique among the two tables even though we are talking about separate tables, otherwise hibernate will get confused when an object from table A is already loaded and it tries to load an object from table B with the same id. It thinks that the object is already loaded but it is of the wrong class. The odd thing in my case was that the two tables actually had different keys!!! What had happened as I discovered later was that the client had added some lines in one of the tables without caring about the key uniqueness between the two tables, thus leading to the WrongClassException problem.

Conclusion: Never allow the client touching the database!!!

Thursday, November 27, 2008

FireStatus 1.5 meets Del.icio.us

FireStatus 1.5 is out and it supports saving bookmarks on delicious. If you select the delicious checkbox a second text line will appear to enter tags for the bookmark. You don't have to select the "include url" checkbox for delicious unless you want to send an update to the other supported services. Delicious support also includes receiving bookmarks from your friends on del.icio.us in the usual way with popup notifications.



In the preferences, you have to give your delicious credentials and set the interval for polling for bookmarks from your friends. Be careful not to set interval to less than 30 minutes because you risk being temporarily throttled by the service.



The future
The next feature to be implemented is a list of all updates received from all enabled networks. Popup notifications are popular but if you miss one there is no way to see it, so the plan is to have a list (a sidebar maybe) with the past notifications (maybe the last 50?).

After that the most ambitious feature will be to create a post in your blog with your daily activity on the firestatus supported networks. Blogger will be the first to be supported (I use blogger. That 's why :-))

Download here and more info here.

Wednesday, October 15, 2008

FireStatus meets urlBorg

The next release (1.2) of FireStatus supports more than TinyURL for url shortening. The new option is urlBorg created by Panagiotis Vryonis a Greek programmer, so we (Greeks as well) felt obliged to add support for his child :-)

The preferences window has been changed to accomodate a new section for url shortening services.For the time, tinyUrl and urlBorg are supported but we plan to add more in the future as well as a fallback mechanism if the selected service fails. Thanks for all the positive comments and don't forget to leave a review :-)


Reblog this post [with Zemanta]

Monday, October 13, 2008

Minor changes ...

Notice the new items on the sidebar of this blog. Newcomers are the Followers widget which display my only follower and FireStatus co-creator and the Blogs I read. I hope the followers list gets longer over time and the blogs I read gets shorter :-) So if you read this blog add it to your following list and I promise I add yours to mine.

Monday, September 29, 2008

Meet Firestatus

... a status update utility for multiple social networks. So, what 's this all about? The story goes like this: You see a cool page on the net and you 'd like to share it with your friends or you just want to update your status, the "Good morning, I just woke up" kind of twit. But your friends don't seem to have reached a consensus about THE social network. So, some of them use facebook, some other use twitter, some use friendfeed and you go on and on and on. What do you do to share the cool link with all of your friends (assuming that you have accounts in all of their networks)? You go to each and every social network page and write the same text again and again ? No. You need a client that can communicate with as many networks as possible and send the update to all. I certainly had that need. However the few clients I had seen didn't do the job exactly as I had imagined. My main problem is that even with multi-network clients I have to write the update and send it separately to each network. Why can't I write the text once and send it to all networks with just one click ? It can't be that difficult. Why don't we create such a client as a firefox extension (we are top engineers after all) ? So I discussed the idea with my friends, XUL and Javascript experts, Panagiotis and Dionysios (the best way to solve a problem is to find the people to solve it for you :-)) and here it is. It took us several weeks because we couldn't dedicate much time to the project but in the process we added friendfeed (instead of only twitter and facebook) and Panagiotis added the notification functionality (it 's a good thing to see what your friends are doing on twitter :-). So now we are waiting for your feedback and we are open to suggestions. We plan to add features like the unread notifications list and of course more networks like linkedin, del.icio.us, etc. Every network with a public API is a candidate. And don't forget to leave a (positive :-)) review here.

Tuesday, September 23, 2008

What I read and liked on 2008-09-23

Why Isn’t Facebook Making More Money? (Hint: Advertiser Value and User Value Are Not Aligned) - Publishing 2.0
Apart from finding some old friends from high school, I couldn't find any real value to facebook.