.comment-link {margin-left:.6em;}

I Hate Linux

Friday, August 26, 2005


Woot! This morning I successfully passed 70-315, aka Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET.

One more test (70-320) and I will have my MCAD, something I think I'll have complete by the end of the year.

Following up on my question from earlier in the summer over the actual differences between the 70-306 and 70-316 tests, I ran into similar oddities this time around. The prep books I was working with were less database centric than the VB ones I used in past, however the actual test was more database centric than I had expected.

Monday, August 22, 2005

Death of the CRT

We’ve been hearing about it for years, how new LCD and plasma displays will eventually replace the trusty CRT for most display purposes and recently I felt it my time to join in this change as I’d been having some problems with my 2.5 year old 19” ViewSonic so I decided to take the plunge and buy an LCD.

Based on reviews online, as well as prices I opted to go with a Samsung SyncMaster 930B from my local Best Buy.

After spending the weekend with it and lots of programming and Battlefield 2... I became more and more disappointed. Don’t get me wrong, it’s a beautiful display and in many ways puts my CRT to shame, however I did find it lacking in many ways.

I quickly discovered that despite the claimed 160 degree horizontal and vertical viewing angles, the in order to see it at its best you needed to view it from slightly below center vertically. This required either elevating the monitor to ridicules heights, or tilting it back to the point that the physical angle of the monitor made me uncomfortable.

All of this has all left me concerned which really began long ago when LCD monitors began to become more and more popular and my never being quite impressed with their quality and ability to perform as well (if not better) than trusty old CRT’s that they were/are intended to replace.

Of course, my views on the subject are not the majority it seems as CRT’s seem to be a dying breed, at least in retail. Go to a place like Best Buy or another brick and mortar store that sells PC monitors and you will find countless more LCD than CRT displays.

If the Samsung sitting on my desk at home is one of the better ones out there in that price and size range... then I am quite disappointed with the majority of those being sold today.

Saturday, August 20, 2005

ICMP how I missed thee

Last night I made a wonderful discovery, at long last my ISP (Midcontinent Communications) has re-enabled ICMP traffic on their network.

Nearly two years ago due to their issues with some viruses and their not being able to adequately secure their networks against external attacks took the drastic step of disabling ALL ICMP traffic across their network. Sure, this protected them against external attack, but it also prevented their own customers from running a simple outgoing ping.

Looks like they finally got their act together and have secured their systems... I hope, because it was a long two years to not be able to use such a basic network utility.

Tuesday, August 16, 2005

Visual Studio 2005 has ruined me

Over the last couple of months, but especially in the last 10 days I spent a lot of time in Beta 2 of Visual Studio .NET 2005 working on my entry for the previously mentioned contest.

Especially in the last week I wrote far more code at home in 2005 than I did at work in 2003 (more debugging and minor tweaks at work), and now as I work on some new code in 2003 I find myself coding far far slower than I was in 2005.

Is it the lack of excitement of a contest? No.
Is it the old look of the old IDE? No.

What then?

Improved Intellisense, or lack there of.

In Visual Studio for some time, when you type out a symbol and type a . (dot), -> or a :: (depending on the language and context of the symbol), you would often be greeted with a list of the members and functions available to be called on that object.

In Visual Studio 2005, the moment you start typing Intellisense kicks in and puts forth the most likely options based on what is valid for the location and the text you have typed so far.

If I want to create a new string, I simply type 'str', because by the time I’ve hit those first three characters, it has narrowed it down to what I want.

You can of course do this in older versions of VS.NET, provided you know the namespace of the class of what you want to deal with exists in, or by prefixing lines with this.

With 2005’s release date set for November, I feel it is going to be quite a long wait for me, but then that assumes that I can convince my bosses to buy 2005 for me not long after it came out, heck, I only got them to get me 2003 back in December of 04.

Thursday, August 11, 2005

Code'n My Way to the PDC - Brendan's Security Cam

Following up on my recent vow of No Fun Til It’s Done... I am pleased to announce... IT’S DONE!

That’s right; after a couple of months of on and off coding and a week of obsessive coding and testing, Brendan’s Security Cam is ready to be unleashed on the masses... or at least this functional late beta version is.

Head on over to my contest entry page on Channel 9 for full details.

And now... for a couple of obligatory screenshots:

Part of the Splash Screen

Main Window

In case you are wondering, no, the person featured in those pictures is not I, but instead Dan Abbott of the Daniel Abbott Terrorist Experience. A month ago I had him come by and pretend to rob my house a few times so I could get some shots of it for later use... and of course I could not use such pictures for good.

Monday, August 08, 2005

Product Warnings

My weekend of no fun helped me get a lot done, in fact, other than some integration with the Shareware Starter Kit and a couple of other minor things, I am nearly done. It was after realizing this last night that I did some polishing with the addition of an About window that links to a product warning which says:

Women who are pregnant or may become pregnant should not use this product. This product has been shown to cause cancer in laboratory animals. This product may cause drowsiness, congenital birth defects, delusions of grandeur, street rioting, weight gain, headaches, insomnia, depression, communist ideals, body odor, memory fragmentation, plague, feelings of inadequacy, homelessness, psychotic breakdown, or famine.

Do not attempt to use software as door stop, sexual aid, shotgun target, club, body armor, home protection system, nesting for animals, contraceptive, hat, or air traffic control system.

This product is not to be used as an offensive or defensive device against ninjas, thugs, gangster wannabe’s, Nazi’s, Ku Klux Klansmen or any other person or persons who wish you bodily harm.

After a full weekend of non stop coding I decided it was time for a small bit of fun, but only the sort related to the app.

Saturday, August 06, 2005

No Fun Til It's Done!

A couple of months ago Channel 9 announced a couple of contests, Code'n my way to the PDC and Blog'n my way to the PDC, and I like many began to ponder what sort of entries I should make for both, hoping to win my very own ticket and accommodations for a free trip to the 2005 Microsoft Professional Develpers Conference (PDC).

I was especially interested in the coding competition where the ultimate goal is to make something kick-ass with Visual Studio 2005 Beta 2, so I began working on something. Unfortunately, I was never spending the sort of time on it that I needed to to get it done with any speed. Heck, 2 months ago when I was in Minneapolis for a wedding, family reunion and baptism I tried to devote some time to sitting at my mothers dining room table (who I was staying with for the weekend) with the laptop banging out some quality code... of course, things did not go as planned and I never got a real opportunity to do so... so I would work on my entry at rare times over the last couple of months.

Well that ends today, Saturday August 6, 2005.


Because the contest ends of Friday!

On the plus side... most of my backend systems work fine (albeit slower than I'd like), so all I really need to do is get the UI looking better, integrate it with the Shareware Starter Kit, build the server side of the application (the easy part (in theory)), and probably support ClickOnce.

With that all done will come the joyous fun of testing, but that will be later, for now, I declare this time to be" No Fun Til It's Done!"

Until I get my entry done, I am not going to be playing anymore Battlefield 2, which has been the cause over the last month of my not coding enough.

Lets hope Dogbert and the BF2 case (which is containing the DVD once again) will be sufficient motivation to finish in time.

Just in case they aren't... add to list, no movies, hanging out with friends, shooting at the range, other PC games, the rare bar time or anything else for that matter that could take me away from coding which shouldn't be.

Of course, before this all begins I do need to run a few errands so actual coding today will probably not be starting for a couple of hours, but watch this space for updates, as well as the main entry forum where, depending on my fortitude you will see my entry by Friday at midnight (hopefully much sooner).

Tuesday, August 02, 2005

Does Google not like me?

I recently discovered an oddity with regards to this blogs placement on Google.

To test this, lets try the following:

  1. Do a search on MSN for 'I hate linux' and note the result. (#1 at the time of this writing)

  2. Do a search on Yahoo for 'I hate linux' and note the result. (#1 at the time of this writing)

  3. Do a search on Google for 'I hate linux' and note the result. (No where to be found in top 10, nor top 100)

After a bit of filtering, you can find my blog in the Google results... midway down on page #4 of the results.

Pointing this out to a friend he did a modified search, for 'I hate linux' on blogspot.com, where I can be found around #15.

If I derived any profit from my blog or was hoping to have it show up highly for searches of 'I hate linux' I might care a bit more, but given the sorts of hits I get from rather obscure obscure Google searches, I don't think I need to worry too much.

Still a rather odd discrepancy none the less, especially when the Google toolbar constantly reports my PageRank as 6/10.

Battlefield 2 - Death Clutch

Over the last few weeks I have been playing Battlefield 2 more and more at home and have come to appreciate many of it's finer details (other than the cheats of course).

In my time, I have found that C4 is perhaps the most evil weapon ever.

It is of course quite entertaining to plant one or two on a helicopter and let an enemy get in. Wait for it... Seconds later, the craft begins to take off. Wait for it... A moment later, the helicopter begins to pitch forward to fly away. Kaboom!

In the area of an APC or other armored vehicle without any sort of projective anti-tank weapon? Simply throw a couple of C4 packs on it, stand back, press the button and watch the fireworks.

Of course, now and then I will have some fun with a manned armored vehicle who I have mined. Standing back, I'll wait for it to turn towards me and give the driver the momentary thought that he might get an easy kill, only to disappoint him with a Kaboom!

With all of the fun one can have with C4, there is a problem I see which needs to be addressed, how many times have any of the following happened to you:

  • Moments after you've planted some C4 on a stationary manned tank, it turns a few degrees and the slight impact against your body kills you. No Boom.

  • Sneaking up from behind, you have successfully planted a couple of charges on the rear of an armored vehicle which suddenly begins to back up, running you over. No Boom.

  • After planting a few charges on some strategic targets (radar, command center, artillery, etc) you quickly put some distance between you and them (~10 meters) and just as you press the trigger to, you find that you have been shot dead. No Boom.

The solution my co-worker Brandon and I see to this issue is what we call Death Clutch, one should have a way, with their last ounce of strength and breath, to press the detonator button, taking out those targets that they so willingly gave their life to destroy. One wonders how such a reaction could be adequately and fairly simulated within the game.

The more time I play the more I think this necessary as I cannot tell you how many times I have screamed in agony as was a fraction of a second away from detonating a tank, APC, or other target.

That reminds me, it is a shame that there is no way (as far as I know) to detonate a C4 pack after the layer of it has died without exploding it. Oh the evil that could be wrought if a Special Ops class soldiers could take possession/control of another C4 pack.

This of course would make things a little more interesting in my book as C4 would become less of a plant and use later weapon, instead a user would need to be more attentive to know the status of the area they are about to lay waste to. Heck, just imagine re-wiring a C4 pack and using it against the initial layer of it should they return to the area.

This gives me another idea... what if someone could move an already laid C4 pack. This of course would have two purposes. 1st, an attentive solider would be able to clear an area while the owner of said C4 isn't paying attention. 2nd, a more devious soldier could reposition C4 and use them against the enemy. Imagine, taking your opponent's C4 and putting it on the tank of a teammate.

Two birds, one stone, and one team kill.

Monday, August 01, 2005

So Unclean

While trying to debug a little problem at work today I ran a quick test and in doing so, used a coding construct that I haven’t used since high school. Never in my 2 years of professional coding, nor in the 5 years of college before had I used it. Not since my first programming classes in high school using Microsoft QuickBasic on the Macintosh has it been seen in my code.

What is this horrible construct?


Of course, being the great software engineer I am... I don’t think it should be my fault... maybe it’s the environment, or the API, maybe even an adding issue in the CPU that caused it.

Is it Microsoft’s fault for including it in the C# language? No.

Is it the fault of Edsger Dijkstra who was never successful in his goal (as outlined in ‘Go To Statement Considered Harmful’) of having it left out of all higher level languages? No

Yes, I know that there are uses for it, I just am angry at myself for using it after such a long time without and have only myself to blame, and now... I must find a way to do penance (can you tell that I used to be a Catholic?).

Perhaps I should make a pilgrimage to the grave of Dijkstra and seek his forgiveness.