Saturday, September 27, 2008

qSslChat v1.1 Released

New qSslChat version :)

Changelog:

-Integrated link recognizing patch by Sydney Troz.Now it automatically recognizes links

and opens them (when clicked) in the default browser.

-Improved OpenSSL handshake options.Certificate errors are reported but ignored.

-Fixed a bug in the anticipating mechanism.

-Now the file-send dialog closes when the file is successfully sent.

Saturday, September 13, 2008

Eclipse RCP - First impressions

So here I am again :).
I have finished rewriting qOrganizer's database handling function.I cleaned up most of the saving/loading mechanism.It still needs some optimizations though, but it works and it is a lot faster.But don't get your hopes up.I didn't even dare to commit it to CVS yet.It's still really far from release.

I got a nice qSslChat patch from Sydney Troz, a user.Now qSslChat automatically recognizes and opens links.
I also received a Polish translation for qOrganizer.I fixed a huge bug that caused memory consumption to go wild when running qOrganizer on 64 bit systems.
I silently updated the release not long ago.The current version is 3.1-4.
qOrganizer is now on the verge of getting into Debian Lenny unstable.

During the last two days I decided to give Eclipse a try.I heard about it's famous Rich Client Platform and since it was constantly praised I thought I should seriously look into it.
The main atraction towards Eclipse RCP consists of the fact that it has a bussiness friendly license.Many small businesses use it to develop their own applications.Businesses which otherwise couldn't afford a .NET or a Qt license.
Eclipse was originally developed by IBM after which it was handed over to the Eclipse organization.I really like everything IBM :).Lotus Notes uses Eclipse RCP too.
It's good enough for NASA too.They used it in an application that processed data sent by the Spirit Mars rover.

About a year ago I already started to learn Eclipse RCP but I wasn't really motivated (since that was when I learned Qt too and I found it a lot more interesting) and the tutorial I found wasn't the best so I kind of gave up on it.But now I decided to look into it again.
I do like it very much.Every application is based on plugins.It's a very extensible and flexible framework.It gives code reusability paramount importance.Another big advantage is that it uses SWT, so everything looks native everywhere in sharp contrast with other UI toolkits like Swing.
Last time I programmed in Java I remembered it being slow and very memory intensive.
Too my surprise Eclipse is really fast and responsive.The Eclipse IDE makes it a joy to develop plugins.Code almost writes itself.It supports autocompletion and reference documentation is easily accessible within it.
So it left me with a very good first impression although it has a really slow learning curve and it takes some time to familiarize yourself with eclipse specific concepts I think it has huge potential.
So here is a screenshot comparing a BMI (Body Mass Index) calculator application written in Qt (the one on the bottom), Swing (the one on the right, you can't miss it) and Eclipse RCP (the one on the left).
The one thing I really miss is the signal-slot mechanism from Qt.Event listeners are a lot more painful.




Since the LHC went online I read a lot about it and about space in general.
I found this really cool wallpaper featuring our galaxy, The Milky Way.

It's a really fascinating sight :)

Anyway, school starts Monday so I'll be really busy, but I'll try to free up some time to keep up with my projects.

Thursday, September 4, 2008

qSslChat v1.0 Beta released

So today I released qSslChat v1.0 Beta.
It's still a little buggy but I guess it's usable.
The project got accepted on SourceForge and I made a webpage for it.
Here it is:

http://qsslchat.sourceforge.net

Give it a try.If you bump into bugs please report them.Enjoy everyone. :)

Sunday, August 31, 2008

Summary of summer 2008

So here we are, two weeks left out of the vacation.This summer was really short.I had big plans but it didn't quite work out the way I planned.Still, many things happened and I reckon that it's about time I wrote a blog post.
When summer began I had plans for qOrganizer.These involved optimizing the database handling and removing the option of storing all data in text files.The database needed optimization because qOrganizer was my first project and I was quite a noob.I made many mistakes and if I want to continue this project I have to clean up that mess.But people can't use data so I have to write an importer tool to convert data into the new database format.
I did write that.It uses threads and it's quite a nice piece of code.I call it DBConvert module.
It makes efficient use of inheritence.But database optimization is one of those things that don't require too much creativity.Frankly it's quite boring and I would have someone else do it if I could.So I left it half incorporated, and haven't touched the code ever since.
I still have my plans though, like implementing a nice plugin system to enable third parties to write extensions for it.Among other things I would have liked to do a nice statistics module.
Lets face it, people are lazy.I'm lazy too.I'm too lazy to write every event on every day and keep my stuff organized.It's too much for me.So I want qOrganizer to count recurring events, to search for a pattern and present me with a list of the most frequent events so I can just click them and focus on writing only new events.This is one of the small things that separate something good from something great.But none of this is implemented yet, these are still plans.

My summer was very busy.My main aim, which I did acomplish, was to get my drivers license.
I'm 18 now.And this summer was the only time where I had the time to learn how to drive and learn the legislation and everything else.I was right, it took me a while.I started it on June 17, on the first day of vacation, and got my license in august.I'm still glad to be over it, some of my friends still couldn't pass the exams.It's really not easy that easy to get a driver's license in Romania.It's mostly because of the new examination system.Now we have touchscreens and cameras staring at us.The new questions are harder and they do differ from a lot from the things we learned.Anyway, this is done.Thank God.

Among other things I did, I spent a wonderfull week at the shores of the Balaton in Hungary.
Lasting friendships have developed there.The only one I missed was my girlfriend.
Yes, I'm defying a stereotype.Open source developers do have girlfriends.I'm in this relationship for 2 and a half years now.And it's ok.Altough she does have a hard time understanding how important coding is to me.

I titled this blog "The place where I coredump when my brain segfaults", yet all I did was write articles about coding, so I reckon it's about time I get a bit more personal.This won't change the main topic of this blog though.
I know a lot of open source developers and many people ask us why we do what we do,why write code for free and make it accessible to everyone, why bother, we don't get paid for it.
I had a donate link on my site for almost a year now but I didn't even get 1 Euro from it.
I did win a contest in Hungary with qOrganizer and I got a 400GB sata hard drive out of it, but other than that it's not a really profitable bussiness.Of course I'm not disapointed by this fact, it was never ment to be that way.I wouldn't have it any other way and neighter would my friends.
But in this cutthroat capitalist world we live in outsiders find it hard to understand why anyone would ever do anything for free.That's the reason why many people attributed Linux with communism, although this is very far stretched.
I had the rare opportunity to meet someone with poetic inclinations, someone who writes poems and makes them available for other poets and literature lovers to see, on the Internet.
So I was curious.Me, an outsider to poetry, asked this person about the reason for writing, just like outsiders ask us why we code for free.
I was told that writing poems is something that comes from the hearth, it is an uncontrolable urge to express one's feelings in this form of art, to exploit one's creativity.
I was also told that this person wants to print a book someday and the reason for that was not making profit out of it, it was to reach a bigger audience.
So, I feel like poetry is a lot like writing code.My friends and all the developers I know have this curiosity about how things work, how ideas can be implemented.It's something that also comes from the hearth, it's a natural consequence of ones personality.And in my opinion it is an art form, just like poetry,scultpure and painting.
At first this seems like a bit of an absurd affirmation, code seems to have the same logic, the same structure, no matter who writes it.Every ftp client has a method of connecting to the server.Every word processor has a function to save files.It seems like writing code leaves no space for self expression and creativity.Well nothing could be further from the truth.
Every developer has an unique style of coding.Everyone thinks differently.Every code is different, even if it does the same.It contains the fingerprint of it's author.It's like there are many surrealistic paintings but every painter has his own style.
Altough, many problems follow a pattern.I recently looked into implementing design patterns.
I'm not really good at following the rules.I like to have the freedom of making my own rules, I like to think outside the box, but if an existing solution has obvious benefits when comparred to my own idea, I'm happily willing to compromise.It's the only way to learn.

Another important event of this summer was that I started a new project.
I was talking to a friend one day, and I had a nice little story to tell, one that happened to me when I'm was 16, but it just wasn't the same when I wrote it down, I had to tell it in person, and I knew that.So here I was messing with my friend, his curiosity grew bigger by every minute, he was wandering what secret I had, that I wasn't willing to let it pass the yahoo servers.Of course it wasn't a secret or anything big in fact, it was just one of those nice stories one tells to make time pass faster.But it raised an interesting point.Secure chat.We started talking about security.
What can one trust to be sure of his privacy?Well the answer was obvious for me.Encryption.
Banks use it, companies use it.What better option do we have? Oh, of course.Direct connection, we don't want our messages to pass one centralized server where who knows what happens to them.One centralized server owned by big company.We joked about the guys at yahoo having good laughs at our stories.So I started searching the net for a little utility.Something that lets you connect directly and uses SSL to encrypt all data.To my surprise I couldn't find one I was happy with.I don't like java, I don't like .net.I want it to work under linux too.I couldn't find one written in Qt.So I decided to write one, I figured it would be nice and I eagerly awaited seeing what kind of code I would write, having all the experience I had with qOrganizer.So I looked into the use of QSslSocket and QTcpServer.And started writing my new program, cleverly and creatively entitled qSslChat :)).At least I gave it a name that would give a great hint to what the program does.And yes.Here I am.It works.It also has smileys, file sending everything to cover our chatting needs.I would call it beta quality.Today I filled the form at SourceForge to host it.
So maybe tomorrow the code will reach the CVS repository.
Anyway it's a nice project.I'm really enjoying it.I learned a lot.And the code is pretty readable too.

So now the summer is on it's last legs.I guess it was ok, but I do regret not doing more.
The biggest cause of this regret is that now school will start.This is my last year of highschool so it will be even worse than the other ones.And by worse I mean that it will require even more dedication.My school is pretty Spartan and takes things really seriously.I'm not familiar with the notion of free time during school.The Romanian education system is harsh enough but my school takes it to whole new levels.And since coding is art, I require it to be the only thing on my mind to do it right, so I can't really do a lot of coding during school.Anyway, I'll try my best in making things work out.

I think this concludes this long and boring blogpost no one will ever read.I figure that at this point I could write anything, because no one ever reads this far.
Take care everyone.

Wednesday, October 24, 2007

Just to let you guys know why I don't write new posts.
I'm really busy at school, learning and stuff sucks up all my time.
I'm currently trying to learn (besides doing homework for every day) some algorithms and methods for some competitions. I'm trying to polish up my knowledge of Dynamic programming and stuff like that, so I'm quite busy ;)

Saturday, October 6, 2007

New website for qOrganizer is now available!

I just finished qOrganizers new website. It contains information about how to use the program, and answers to some important questions.
Hope you like it:

http://qorganizer.sf.net

Friday, September 7, 2007

Added two new icons for the toolbar.

I added two new, modded nuvoX icons to the toolbar, now the toolbar is officially full.
One saves the current tables into the SQLite database, the other to MySQL, and there is also one for text files but the one for the current storring mode is not displayed.
Also added an option to the setting dialog, so these can be turned off.

Also I had my time with QMap, and added the ability to assign dates to marks, the date is updated when the current cell changes in the table with marks, it's in a QDateEdit next to the averages.
This is a new sweet feature too.

After long hot days now it's really cold, and I'm kind of sick.
School is almost here, but I feel that I can release before school starts (here on September 17).