Wednesday, December 31, 2008

New Java Interest

OK, call me a hypocrite or whatever you want...I'm starting to change my mind about the Java programming language. Recently I've made many comments to many people about the inefficiency and poor semantics of the Java programming language but I'm starting to retract those comments the more I learn about Java. I don't think I'm alone in being confused when I first saw code that looks like the following...

public static void main() {
EventQueue.invokeLater(new Runnable() {
void run() {
// Do some stuff here
}
});
}


Java's implementation of anonymous classes and inner-classes are pretty slick and they're starting to grow on me. I'm thinking that I'm going to make a few more basic posts when I run across some better examples. I've got a couple in mind...in particular using the ActionAdapter class when you would rather use an anonymous class for trapping events and you need more than one control to use the event handler (vs. using the Action interface directly which doesn't contain default implemetations of methods).

I'll post more later. I just wanted to get in a quicky before I forgot to post again.

Happy New Year All!

Saturday, July 12, 2008

Changing Gears

Things haven't exactly been easy lately so I haven't had very much time to program at all. My son just had a heart cath. done two days ago but it went smoothly this time so it wasn't much of a problem. We're also planning on moving within the next month so that's taking up a big of my time. To top it off work has been a bitch lately since they don't seem to act like they're much interested in keeping me on the job. In a way it's been good though because it's spurred me on to study new programming languages that are a little more in demand in the current market. The latest one is Java which I've actually programmed in before but never too the time to "really" learn it. So far I've got some opinions...

Pro's:

1. Quick and easy to get a lot done with the right tools. (Netbeans, Eclipse, etc)
2. Easy syntax
3. Well documented and popular on the web

Con's:

1. Handles ALL! variables as references which can be awkward. I'm still trying to keep myself in line with having to "clone" my mutable objects when returning them from my classes.
2. Very dirty in places. Someone at Sun definitely need to go through and clean up some classes/make more field data final, etc.
3. Lots of details to learn. There are a ton of small details and quirks about java that need to be learned. I'm wondering if this is inherent to its design?!

Anyways, I'm going to learn it along with finish the CMDEV II exam over the last part of this year. I'm thinking I'll go ahead and program my latest open-source project (Open IS Trouble Ticketing System - SourceForge) in Java instead of C++ probably using Qt Jambi. We'll have to see how it goes.

Come to think of it I also need to learn to use the MySQL JDBC driver for Java. Maybe that'll be a topic of my next blog.

I'd post another Qt research idea today but I haven't written code for my last question yet so I'll hold off. Maybe in the next day or so :P

L8r all,

Chris

Tuesday, June 24, 2008

Early Linux Software Release Opinions

I don't have a lot of time for this post because I'm on my lunch break but I had to throw this one out there. This comes from a conversation on Qt Forum that just boggled my mind. The conversation was in regards to the Monkey Studio 2.0 release that they just came out with and people are already complaining about bugs in starting the application. I have a few comments about this...

1. It would do the open-source community soooooo much good if even a small percentage of the open-source community would ask themselves one question before releasing to the public
"Is this product production quality?"
Unfortunately the answer to this question is usually no but people push their software out there anyways.

2. Another question I have is how in the world would anyone expect to market a product like Monkey Studio for Qt when the Eclipse IDE with the Qt4 plugin is everything and more that you could possibly want? I've been using it for several months now and with the latest Java I have no complaints. Even with jre6 update 6 the program was tolerable (the code completion was a bit slow). With jre6 update 10 the code completion is instantaneous on my system.

Ok, I gotta cut this short...ran out of time.

Chris

Wednesday, June 18, 2008

Sourceforge Open Source Project

Well, I've been struggling with ideas for a project to work on because, quite frankly, I'm extremely bored with what I'm working on at work. There's something about the monotony of seeing EDI all day that really doesn't do much for me.

So anyway, a while back I submitted an idea for an open source trouble ticketing system written in none other than Qt4/C++. The idea is to have a distributed client application that is cross-platform and will connect back to a MySQL database. This idea actually came from work since we didn't have a ticket system at the time...and really the one we have now is pretty "hokey!" I'm just now getting into the design stages of this project again so maybe I'll post the MySQL table creation scripts and some of my other design ideas after I get a chance to work them over.

I also had another idea that I'm just going to put out there for anyone who might be reading this and is interested in learning more about Qt4 and C++. I'm going to post a learning challenge each time I make a post for the reader to look up and/or learn about online in his/her spare time. I believe it's extemely important to constantly learn about new technologies to stay sharp and ahead of the curve. So, without further delay...

Research Challenge #1
One of the most basic and fundamental objects in the Qt library is the QApplication object. Start off by reading the basic documentation for the QApplication object. Then challenge yourself to use at least 5 member functions in some sample code (asigned from QApplication::quit() and it's constructor!) to see what you can come up with. Some ideas might be using it to retrieve a complete list of widgets in the current application or experiementing with how the system handles keyboard input. Feel free to post comments and even code if you come up with something you didn't know before.

Happy Coding!

Chris

Sunday, June 15, 2008

Introduction

Hello All!

Well, I'm new to this blogging thing but I needed a place to get my comments and ideas on programming out of my head so this is where I ended up. I'm not even sure anyone will read this thing but just in case you have that much time to waste here's a bit about me.

First and foremost, I'm dad and husband. I have two awesome children (Adrianna Lee 6 f , Carter Isaac 1 m) and a wonderful wife that somehow manages to keep them under control. She's the reason I have enough quiet time to do this in the first place.

Secondly, I'm a programmer. It's my job and quite frankly what I love to do whenever I get time away from the kids (which can be a challenge in itself!). On the job I'm a C++/Python programmer developing cross-platform EDI applications with Qt3, Qt4 and PyQT. I've recently become a huge fan of the Eclipse IDE with the latest Qt4 extensions. I'm kind of impartial to the C++ programming language and really believe that Python is for the idiots and lazy people that won't take the time to learn how a real programming language works. It makes no sense to me that you would create an entirely new language that only takes features away from another language. If you've programmed in both languages then you know what I mean.

I also have a strong background in network administration with an emphasis on Cisco equipment. My latest obsession has become database administration, specifically the MySQL database. I guess the administration of the database isn't really my interest. The thing that got my attention the most is the MySQL API. I'm also trying to learn the MySQL++ API which is really just a C++ wrapper for the old MySQL API.

Last but not least I just took the Certified MySQL Developer I test and passed with a 53 (needed 43 to pass!) I was pretty pleased with that and am hoping to take the CMDEV-II test within the next couple of months.

My other opinions include the following...
1. Microsoft Sucks! Ok, they don't suck completely. Some of their products actually have good functionality. Their entire business philosophy just completely pisses me off though. You'd think they could find something constructive to do with all that dough laying around. The way they mock the Open Source movement by pretending to give some things to the community really irritates me.
2. Open Source is fantastic! Donate all the time you can to help people and open source projects. This is for the benefit of everyone! It's also a great way to get your name out there. I know I try to help anyone out that has questions for me so please do the same for others. I try to pay a visit or two a week to http://www.qtforum.org to try to answer a few questions (username bolt18_80) so check that place out if you have qt questions.
3. Linux is the way of the future. All it's going to take is a few more empty niches in the applications community to get filled before companies stop paying Micro$uck to suck their blood. The gaming market is also lacking on Linux. It's going to take everyone to get there but I really believe it will happen (10 years maybe??)

That about it about me. I'm hoping to make a post once or twice a week pertaining to programming and projects that I'm working on. Maybe even discuss some code snippets and/or design ideas. I'm not sure if this thing allows comments from other users but if it does please do so. I'd love to swap ideas with other programmers.

L8r!

C. S.