Wednesday, June 17, 2009

Air France 447

First, may the victims rest in peace

What worries me (and HAS to be worrying Airbus) - Have you looked at the photos of the wreckage? A nice ripped off vertical stabilizer floating on the water. Now where have we seen that before?

Oh yeah - American Flight 587 which crashed in the Rockaways when the vertical stabilizer ripped off an Airbus A300

Normally, when you look at plane crashes, you'll see that the "tail feathers" (Vertical and Horizontal Stabs, rudder, elevator etc) stay together, as that section of the airplane is fairly "beefy"

Another thing that worries me - from what I gather, Airbus and Boeing have VERY different ways of looking at "fly by wire" - I gather that with Airbus, the software will do what it wants, no matter what you want, with Boeing, you can override the software

Why is this relevant? Having actually read the AA-587 crash report, they blame the crash on the pilot making excessive rudder inputs, and ripping the VS off the plane, when he got stuck in turbulence. I don't buy it. We have a few pilots here - if you were stuck in an emergency/rough turbulence - you going to be doing much with the rudder? Ailerons make you turn, the rudder makes it pretty. I still believe that the VS was already parting ways with the A300 and the pilot was trying to compensate - that the turbulence of the previous flight was causing the plane to come apart

Now we have an A320, in turbulence, over the Atlantic that comes apart.. I'll bet that Airbus hopes they never find those black boxes

Tuesday, June 16, 2009

Dix Hills Soccer Tournament this weekend

This weekend is the 2009 Ken Graff Jr. Memorial Father's Day Tournament. My son HUgh will be playing with the U-8s from Jigs Soccer. Should be fun.

Bencher BY-1 Paddle Mod

I had some ham radio fun this weekend. For a while, I've been thinking of modifying my old Bencher BY-1 paddles to use a 1/8" mini-jack instead of a cable. Makes things a bit easier to swap in and out. I'll modify my Kent paddles next.

Take a look

Monday, June 15, 2009

Wow, didn't realize it's been this long

Sorry about the gap, but I've been twittering, and facebooking

The good news - last time I went to the MD, I got my A1C down to 6.0, not half bad, but recently (last 10 days or so), my blood glucose has been high - can't figure it out

The last week - 10 days, the gym has been lagging due to work and not feeling great.

I'll have some ham radio posts SOON - have done some interesting things in the shop, some Ham releated and some shooting sports related

Wednesday, March 25, 2009

Good Workout - and watch out for those carbs

Good workout today. I went to the gym expecting problems, as my left ankle was really bothering me, plus my left bicep was sore, but I had no problem.

One interesting thing, I've been going to the gym less than 1 week, and I had been doing some aerobic exercise at physical therapy, but my peak as well as average heart rates for the same treadmill workout has already fallen 10 BPM! Not bad.

Yesterday, I got home, to Hugh to soccer, and Anna to dance, then checked my BG levels - and they were higher than I would like (around 130). I was really confused, until I started really looking at the nutrition information for what I ate yesterday. First, the Sugar Free Lifesavers are NOT zero carb - arrghhh. There are sugar free candy that is, so I'll have to go get some. The other "Interesting" one was the soup at lunch. When you buy canned soup, Campbell's Tomato is one of the lower carb soups out there. At the company cafeteria, it turns out NOT to be the case, in fact, the other 2 options (Italian Wedding and Chicken Noodle) have about 2/3rd the carbs as the "Old fashioned Tomato" Who'd have guessed?

Tuesday, March 24, 2009

Been a while

Been a while since I blogged, and a LOT has gone on. Besides the usual Holiday stuff in Decemeber, I just wasn't feeling right.

On Jan 6th, I woke up with HORRID abdominal pain - I mean BAD. I had my wife take me to the emergency rooom at North Shore LIJ Manhasset. I was admitted to the hospital with acute pancreatitis. I was there until Jan 20th (aka 2 weeks).

It seems that this was caused by an extremely high triglyceride level (14000 - yes that is the right number of zeros)

While I was in the hospital, they also discovered that I am a Type II diabetic. They DID manage to get rid of the infection in my leg wound, and I'd say it's about 70% healed now.

About 1-2 weeks after I got home, I started physical therapy, as I was extremely weak. That went very well, and I "graduated" on March 16th, in other words, when they did my reevaluation, I was too well to continue.

I finally got back to work on March 18th (yes, I was out 10 weeks)

When I got back to work, I joined the Reebok Gym across the street from work. So far I really like the place. I met with my personal trainer Spencer yesterday, and we setup a good routine. Today was the first weekday I missed going to the gym because my leg wound (remember that other 30%) was really aching. I may try to go at lunch.

Wednesday, November 12, 2008

Project Valour-IT

Guys (and Gals)
What I think is one of the BEST charities out there is a group called "Project Valour-IT". They supply voice activated laptops to wounded service members (any service) - They are related to Soldiers Angels. Please give - and in the spirt of froendly competition, you can give with credit going to "your team"

Wednesday, October 01, 2008

APRS-SCS

Last week, the developer of APRS-SCS, John - KB2SCS announced that he was dropping all support for APRS-SCS, as it is written in VB6, which is no longer supported by "the boys from Redmond", aka Microsoft. At that time, John put the source code up on his Web Site.

I started to talk with John (he lives close by, and I really have to get together with him), and I think I'm going to take a crack at porting the program over to VB.NET.

This is NOT going to be a trivial port, and in fact, I've had a bear just getting the development environment up to the point I can compile the existing source (I'm there now - if you need hints, email me)

Anyway, John as agreed that I can "open source" the program.

I'm thinking that I'll put this up on Sourceforge (gasp - a windows app on Sourceforge!), and anyone who wants to contribute can.

The first issues that MUST be taken care of

1)The application uses what are called "old controls". These are .OCXs that Microsoft shipped with VB4 and 5, that were basically replaced by native controls in VB6, but were still available for download, but non supported. There is an "interesting" problem with the "Old controls" - they will not work in the VB6 development environment under Vista. (an aside, the VB6 IDE does not work in Vista64, but IS supported under Vista32)

2)The application uses a 3rd party OCX called "Socketwrench". There was a free version of this control, but there no longer is. Under .NET, we don't need it, the stream reader/writer classes can handle this for us

3)The VB6 and .NET graphics systems are totally different, and this will probably be the biggest part of the port

Anyway, I'd like to hear what you think, and many hands make light work. I'll need testers, reviewers, and even a few developers to help.

Anyone game?

Wednesday, June 25, 2008

Sorry Bloggings been light

Sorry blogging has been light. My Dad passed away just over a week ago, and was in bad shape before that. Obviously Dad took precidence over the blog, and just about anything else.

RIP Dad - Bah, another old WWII vet gone

Friday, May 23, 2008

Memorial Day

This Monday is Memorial Day.

It is the day we are supposed to honor those who gave all in the service of our country.

Fly your flag (half mast till noon, then full staff)
Thank a Vet
Remember those who gave their all.

Taps is played at 2 times during the day in the military. At night, signaling the end of the day, and during the day - signaling the end of someone's days here on earth.

Taps:

Day is done, gone the sun,
From the hills, from the lake,
From the sky.
All is well, safely rest,
God is nigh.

Friday, May 09, 2008

Not The Post but... Visual Studio on a Mac?

I still have not gotten my deep thought post written, the brain just has not been into it (hey, the leg has been bothering me, so..)

Anyway, I've been thinking about getting a new Laptop (the current 'personal' laptop is a PIII based unit...)

I've heard some good things about Macbook pros laptops runing Vista under either Parallels or VMWare. Have any of you had any experience running Vista/Visual Studio 2008 (and in particular VB.NET) on a Macbook pro?

Comments?

Monday, May 05, 2008

Bloggings Been Light

Hi Gang (I know I've got at least 3-4 readers out there, hey, that puts me well above average)

Blogging has been light, because I've been seriously thinking about a post. Last week, a bunch of different blogs posted about working alone and Agile/XP/TDD. I found it interesting, because this is for all intents the situation I'm in (department has 15 programmers, but mostly, we work alone - dumb, but)

Tuesday, April 22, 2008

AAArrrggghhh Legacy Code

Recently, I've been working on what is probably the "Ultimate" legacy/Brownfield application. It's a VERY important application for our business, or WAS, but the users are starting to find other ways to do their job. The problem is that the application in question is VERY hard to maintain, and management does not want to risk making any "non critical" changes. It's the classic "Big Ball of Mud" design.

Now no matter HOW many time's I've read Michael Feather's Working Effectively with Legacy Code, I can can never quite figure out how to make it work in this case. There are almost no seams to exploit. We have numerious routines that have a Maintenance Complexity in the 2000 to 3000 range. Of course these routines have no REASON to be that complex, it's just that previous programmers had a tendency to lump all sorts of things together that had nothing in common except that they needed to execute at the same time.

DRY? They never heard of it
The classes are just mirrors of database tables, and if a calculation needs to be done on a class or collection, the routine is usually inline in a form event, with "other" code mixed in.

I do find RefactorPro! to be a very useful tool, but even with automated tools, I have to take huge risks, just to get the code to the point I can start putting test harnesses on it.

Anyone else have to maintain a probram like this? The goal here is to get the application maintainable enough that I can start to add features to retain/regain our internal user base

Friday, April 18, 2008

Bummed

About 15 years ago, Mary and I went on vacation to New Mexico, and stayed at a place called Starhill Inn. It was the BEST vacation we ever went on. We always said that when the kids got old enough, we would go back. Last week, we decided "This summer is the time"

I just called them. They are closing June 30th. No more Starhill Inn. I'm seriously bummed. I was REALLY looking forward to it.

Oh well. Now comes the question. Do we want it to be a "Northeastern New Mexico" Vacation, or an "Astronomy" vacation? Any readers have any good ideas?

Wednesday, April 16, 2008

Vista SP1 out..

I see that Vista SP1 is offically out. I guess all those folks who said "I'll wait until SP1 to try it" can now go out and well, Try it.

Want MY Honest opinion of Vista? By now, you've probably seen my posts. I LIKE Vista, BUT you have to do things "The Vista Way". If you try and do things the "XP Way" you will often end up in a "Boy is Vista Annoying" mode.

BTW It turns out Vista was designed to be annoying to try and force small software vendors to change their software to work with Vista. That backfired on Microsoft, and folks complain about Vista instead of the small programs. I think this is because > 50% of the small vendor programs become 'naggy', and people blame Vista instead of the program running under Vista - fair enough. I won't go into the reason WHY Microsoft wants these changes (see previous posts), but...

Tuesday, April 15, 2008

A Basic Class Design Lesson

Hi Gang,
I'm going through some OLD code today, probably written before classes, but looking at it, I realized it might be a good class design lesson for those not used to writing classes.

The code was in a form, and was actually used multiple times - which by itself says the code should be in a function - code has been changed slightly to obscure the exact nature for my blog, and is in Visual Basic 6.0, but the lesson works for any Object based language


If Left(instanceOfClass.pollclose, 2) > 12 Then
objGrid.Text = (CInt(Left(instanceOfClass.closingTime, 2)) - 12) & ":" & Right(instanceOfClass.closingTime, 2)
Else
objGrid.Text = Left(instanceOfClass.closingTime, 2) & ":" & Right(instanceOfClass.closingTime, 2)
End If


OK (again, VB6 syntax) you could say:

Private Function formatClosingTime(byval theTime as string) as string
If Left(theTime, 2) > 12 Then
formatClosingTime = (CInt(Left(theTime, 2)) - 12) & ":" & Right(theTime, 2)
Else
formatClosingTime = Left(theTime, 2) & ":" & Right(theTime, 2)
End If
end Function


and put that in the form

Which would make the call in the form

objGrid.Text = formatClosingTime(instanceOfClass.closingTime)

- it's ok, and a heck of a LOT better than it was (remember, it's used multiple places - the Don't Repeat Yourself (DRY) concept comes in here)

BUT - that's NOT where the function should really be. What we do is add a Property to the class

Public Function formattedClosingTime() as string
If Left(me.closingTime, 2) > 12 Then
formattedClosingTime = (CInt(Left(me.closingTime, 2)) - 12) & ":" & Right(me.closingTime, 2)
Else
formattedClosingTime = Left(me.closingTime, 2) & ":" & Right(me.closingTime, 2)
End If
End Function


Now, this reduces the code in the form to:

objGrid.Text = instanceOfClass.formattedClosingTime

Isn't that better? The class is taking care of itself. Ahhhh

Thursday, April 10, 2008

Agile/XP programming and the OODA loop

Today, over at Inc.Com, Joel Spolsky of Pragmatic Programmer had an article called Fire and Motion, where he talks about getting your competition responding to YOU. It's a really good post that I think you should read.

When I was reading it, I was reminded of

John Boyd's OODA Loop, and all of a sudden, I realized WHY Agile/XP works. It's NOT the Agile Manifesto. It's NOT Pair Programming, or any of the OTHER tools. Agile/XP is a Tool to speed up your development teams OODA loop massively. One of the tenants of the OODA loop is that a GOOD decision, quickly implemented, beats a PERFECT solution delivered later.

Let's think of what XP/Agile has you do - Short iterations. Observe at what the client needs, and quickly fill that need. Not necessarily with a perfect answer, but something. Then ask the client "OK, Now decide how it needs to change", and then add that. Quick loops

Why I never thought of Agile/XP in terms of OODA before, I don't know, but it was a light bulb going off

Tuesday, April 08, 2008

How to Compress Virtual PC Hard Disks

As more and more of us use Virtual Hard Drives to test/develop different software, here is a great HowTo: Compress Virtual PC Virtual Hard Disks over at Kurt Shintaku's Blog - HT to Kirk Allen Evans - via Jason Haley

Tuesday, April 01, 2008

ALT.NET Leadership to suppliment the traditional .NET leadership

Jeremy Miller has (as usual) and interesting post on The need ALT.NET to supplement the traditional >NET leadership

I can't agree more. Right now, I think some of the best REAL WORLD developemnt stuff is coming out of ALT.NET. It seems Microsoft IS listening to a point (Unit tests in VS2008 etc) but...