Thursday, April 27, 2006

RoboRally on Linux

RoboRally is a board game where you program a robot to manuver a factory floor to touch flags while avoiding hazards and other robots. It is a lot of fun. We have played it after most every developer meetings since I got it for my birthday in October of 2005, and about half the people I play it with run out and buy their own copy. Both my wife and my 8 year old son really enjoy playing it. Most others whom I have spoken with also say their kids and spouses enjoy playing it.

When programmers play it, inevitablly someone talks about wanting to have a multi-player networked version for playing on the computer. Quite often someone in the group has started programming it, or is about to start working on writing it.

Bots 'n' Scouts ScreenshotWell, thanks to Bots 'n' Scounts you don't need to worry about writing a program so you can play it on the PC any more! I know that is both good news and bad news (sometimes writing the program is half the fun!) That's right, you can now play RoboRally on your computer, but only if you are running Linux. It isn't a perfect clone, there are no upgrade cards for example, and it looks like the boards are different, but the idea is the same. This looks like a really good reason to install Linux, and quick!

I guess there is still space for someone to port the game to MS Windows.

Thanks Matt for the link!

Subject Tags: [] [] [] [] [] [] [] []

Wednesday, April 19, 2006

Where is XP SP3?

I ended-up creating a new XP image in my Virtual Machine today. I used an XP SP2 CD image. After installing VMWare Tools the first thing I did was run windows update. Not only did Windows Update need updating (I think 3 downloads), which required a reboot, but then there were 41 Critical Updates to download.

With Vista's release date still slipping I believe it would be good of Microsoft to provide an 3rd service pack for XP. Although Microsoft will most likely not provide one since they want to start moving people off of XP and onto Vista as soon as possible.

I know a few people that refuse to upgrade because of the invasive DRM (Digital Rights Management) that Microsoft has announced will be part of Vista. There was a document they released a while ago that said all the video communication over the bus must be encrypted, even if it means dropped frames. That is just crazy.

I was sitting in the LAX airport after PDC and talking with a Microsoft employee and he confessed that most people at Microsoft were not too keen on the DRM either, but the company felt it was a good idea strategically to get on the good side of Hollywood and the record companies.

Subject Tags: [] [] [] [] [] [] [] []

Friday, April 14, 2006

When to Learn a New Language or Tool

On our mailing list Jake said he didn't see any reason to learn Ruby on Rails (RoR) since he's strength is in ColdFusion, which does most everything that RoR does. I told him that since he is a "web software engineer" it is even more important that he learn RoR. Not that he is going to jump ship from ColdFusion to RoR, but it improves his credibility with ColdFusion.

Knowing ColdFusion and the competing RoR allows him to intelligently say why a project would be better implemented in ColdFusion over RoR. The reverse may also be true from time to time, and when RoR is a better solution he can work on that as well.

When we don't have a knowledge of a competing technology then when we suggest using our favored technology it is assumed that the basis of our recommendation is our ignorance of the alternatives. When we are knowledgable on two or more competing technologies, then we can point out the specific reasons one is more sutiable, plus we are credible in that we are happy to do the project in either technology, but from experience we recommend a specific technology.

Learning C# has given me a better understanding of when Delphi is the best solution, while at the same time giving me the ability to work on a C# application when it is precieved as a better solution.

Subject Tags: [] [] [] [] [] [] [] [] []

Thursday, April 13, 2006

Software Engineer is Best Job

A few months back I was talking with Jason Grundy from Treetop Tech about how the software development industry is constantly changing and there is always something new to learn. He responded that was the reason this is the best industry to be in. I, of course, agree.

Well, now Money Magazine agrees with us and has announced to the world what we all already knew. They surveyed 166 jobs based on income, stress, creativity, barriers to entry and a number of other factors. The choose Software Engineer as the Best Job in America.

They rated it as a B for stress, B for flexibility (citing telecommuting as a great plus), A for creativity and C for ease of entry. They estimate a 10 year growth of 46% (making it second highest, right behind physician's assistant), with an average of 44,800 annual job openings. Average salary? $80,500.

They acknowledge that working for a large company was one of the uncool aspects. Also outsourcing is a concern, as well as avoiding eye, back, wrist and hand strain/problems.

So, beyond making us all feel good about our jobs, what will the implications of this be? I suspect we will see a large influx of people wanting to be Software Engineers again. Hopefully they are right about the growth rate, and offshoring doesn't become a larger threat, or we might be looking at too many software engineers and not enough jobs again.

Subject Tags: [] [] [] [] [] [] [] [] [] [] []

Tuesday, April 11, 2006

O'Reilly's Where 2.0 Conference

O'Reilly's Where 2.0 Conference

O'Reilly has yet another really cool and relevant conference coming up. Maps and geographic based applications are everywhere. We have GPS functionality in our cellphones, maps in our cars, geotagging, and the competing AJAX mapping web sites. It would appear we are obsesed with location and Where everything is.

Enter the O'Reilly Where 2.o conference. Find out about all the cool location based technologies and how to use them on the web. Then take it to the next level with mashups that combine other data with location information.

It looks like Web 2.0 is location based, and Where 2.0 is the place to be!

Subject Tags: [] [] [] [] [] [] []

Sunday, April 09, 2006

More on Process by Judy Bamberger of Process Solutions

Some words of wisdom on process, process management and process improvement. These are not my words, they are Judy Bamberger's words. She shared them on the CxAdvocates list on March 4th, 2006. I am reprinting them with her permission. Thanks Judy!

(1) "You don't have to adopt Continuous Improvement: Survival is not compulsory." [W Edwards Deming]

(2) Pick one - any one - quality framework or model or standard or method or ... pick one and embrace it; follow it, learn from it, improve it ...

(3) There is no way to achieve #1 without #2 ...

(4) There is no way to achieve #1, #2, or #3 without good people and switched-on brains (heads) and bodies (hands) and feelings (hearts) ...

(5) The *ONLY* reason to have a process - any process - is to produce products and services that attract, satisfy, and delight customers.

(6) CMM/CMMI are "quality frameworks"; ISO is a "quality standard"; Agile is a "method" ... of course, GRINS, I know people who would make the case for each one of these that it is a religion and the *only* way to solve world peace ... GRINS ... Each (framework, standard, method) have their appropriate place and time; all three can be used together as appropriate.

None of the three - or any other - can be used without heads and hands and hearts all engaged. (see #5)

(7) I don't know anybody worth their mettle who truly believes "turn on process; turn off brain" ... If you believe that someone is selling that line, run and run FAST and AWAY from that person ...

(8) I have never seen any empirical proof that shows me that there is a definitive cause/effect relationship between CMM/CMMI maturity levels and a "guarantee" of quality (per any measures of quality). So-called "level 5" organizations can optimize their production of concrete parachutes ... or of products that truly delight their customers.

If someone is asserting that level-anything is a guarantee of anything else, again - run and away and fast.

(9) There is a world of difference between having one or more processes under statistical control and demonstrating what one can and cannot do (e.g., per CMM/CMMI Level 5) toward achieving a specific customer requirement in a specific domain within a specific part of the organization.

"Caveat emptor" - buyer beware - if I do not ask sensible questions and demand relevant data and references, than it is *I* who am guilty of making an inappropriate partnering decision. It is not the fault of "them" or of "CMMI/ISO/etc" ... It is my professional responsibility to select appropriate sub-contractors or out-sourcers or partners. No "certificate on the wall" or "magic maturity number" replaces hard data from relevant related experience.

(10) There is - and has been - so much competition for high maturity levels, that there has been/is/will be a well-known cadre of "easy appraisers/assessors." As long as people focus on "level for the sake of level," this will always be the case.

The same is true for ISO 9000 auditors/registrars.

(11) I just had cancer surgery. YOU BETCHA I wanted each member of my medical team to follow process; to have been trained and skilled and educated and practiced and apprenticed and reviewed and coached and improved and etc ... YOU BETCHA I wanted PROCESS involved. I wanted those people so trained and imbued and instilled with process that it was truly second nature to them.

*AND* YOU BETCHA I wanted my medical team to know when to follow process and when to recognize special circumstances that require a deviation from "standard process" - and knowing what are acceptable alternatives because of other processes and data and etc.

I saw process and quality checks and documentation "up the wazoo" the two times I presented to emergency room - one of which was, truly, life saving. And at each and every chemotherapy and radiation therapy session (of which there were far too many). I valued each form and each quality check and double check; each written record and each peer review before they put deadly poisons and chemicals into my veins. Before they fried my body with radiation.

My whole treatment was/is/will be managed because of process and metrics and closed-loop improvement ... and, grins, I cannot think of anything more life- and safety-critical than what I am goin' through right now.

...

A colleague of mine (Jim Hook, Oregon Graduate Institute) put it brilliantly:

The purpose of defined processes is to take common sense and make it common knowledge, and to take common knowledge and to make it common practice.

I add to that: with the goal to deliver products and services that attract and retain customers, so "we" can remain in business and do no harm.

...

As someone who knows a little bit about software engineering and quality models and standards and frameworks and methods, I hope we can stop "bashing" and "blaming" those inanimate frameworks, models, standards, and methods for poor business decisions we make.

It's time we human beings recognized our responsibility and took responsibility for making bad business decisions - and give ourselves credit for making good ones, too.

Peace, Judy

Judy Bamberger Process Solutions 10 Hobbs Street O'Connor ACT 2602 AUSTRALIA

Naturally I formatted this and corrected a couple spelling mistakes (through the help of a spell checker). I also formatted it and added emphasis. I am just a little compulsive that way. So any errors or confusion introduced are my fault.

CxAdvocates is a mailing list run by Construx Software.

I've quoted Judy before, which was actually taken from this essay. If you are looking for contact information for Judy let me know. I just didn't want to post it here for the spam spiders to find it.

Subject Tags: [] [] [] [] [] [] [] [] [] [] [] []

Friday, April 07, 2006

Oracle Password Cracker

I was actually looking for one of these a while back, but couldn't find one. I looked at writing my own. I ended up not needing it though. My good friend Matt just sent me this one. I haven't tried it yet, but it looks promising.

orabf uses a dictionary and a brute force attack against Oracle hashes. It has fairly good speed of about a million tries per second for short unsernames.

Subject Tags:[] [] [] [] [] []

Wednesday, April 05, 2006

The Battle for TObject

It would appear Borland felt some need to hold onto TObject and not let it leave with their development tool spin off. That seems like a really odd move. What can TObject mean outside a development reference?

I would guess they have a trademark on it and thought the trademark had some intrinsic value. The clue would be that Allen mentioned the trademarks "Webvolutionary" and "Living la vida Linux". My understanding of trademarks is that if they don't keep using it then they loose it. Since after the spin off they would no longer have an products that made use of TObject they would loose the trademark anyway. How odd.

I thought I would pop out to the US PTO web site and see if there is a registered trademark on TObject. I couldn't find any. I did however find that trademark on Webvolutionaries was registered by Inprise (now known as Borland) is abandond and dead!

Thanks to Allen Bauer the battle was won and the new spun off "DevCo" will keep TObject. As it should be! Thanks Allen!

I know Borland had a battle with Microsoft over IUnknown a while ago. Thus the birth of IInterface (which Borland may be trying to hold onto as well!) Go get'em Allen! BTW, neither IUnknown or IInterface have a registered trademark.

Of course being that the post was on April 1st, it could all be an April Fooks joke!

Subject Tags: [] [] [] [] [] [] [] [] [] [][]

Sunday, April 02, 2006

SWAG Letters: Finding One's Way

I get a lot of emails about the SWAG archive I host. Most of them are about the same, someone typed their name into Google and was surprised to find some code they wrote over 10 years ago. I recently got this one from Chad Moore that I thought was really worth sharing. I asked Chad if I could and he gave his ok. So now I offer you the first SWAG Letter.

I am writing to thank you for hosting the old SWAG distributions. My name is Chad Moore, and nearly ten years ago I made a single contribution. I contributed ANSI_IO.PAS, a library to interpret escape sequences independent of the operating system's ANSI.SYS. This was one of my greatest programming achievements to date, and at the time I was only 17 years old.

I learned to program when I was roughly 11, an older fiend of mine introduced me to Turbo Pascal 6.0. I absorbed the information like a sponge, and the WWW was the greatest programming resource of all time. My skills were unheard of for my age, but I had failed to enter the industry. Even in high school I won a mail-in software design contest held at Gannon University. Unfortunately, after high school I hung it up to pursue other interests.

I like to say that I "hadn't found my way, yet." But after my reckless years astray from technology, working in warehouse and manufacturing environments, I decided to go to ITT Technical Institute.

My vivid knowledge of Pascal (and inline Assembly), helped me to exceed in my studies. I didn't achieve a 4.0, but my 3.98 is as close as it comes. I am back on track, and it warms my heart to know that I can Google "ANSI_IO" or "SWAG" and my source code is STILL available. There is a section within my portfolio dedicated to that project, honored by the SWAG, and still being distributed to date.

I have been accepted into Robert Morris University for Software Engineering, and I am sure I will blow my instructors out of the water. This will be my next stepping-stone between where I am, and where I am sure to be.

If all goes well, I will apply to Carnegie Mellon University for my masters. Every step of the way, I'll be explaining the BBS subculture--the home of ANSI graphics.

Once again, thank you for hosting such an invaluable archive of peoples achievements. The possibilities are endless.

I hope you will join me in wishing Chad the best of luck as he finishes his journey he started 10 years ago. We are happiest when we are doing what we love and what we are really good at. Godspeed Chad! Keep us in the loop as you reach your goal!

Subject Tags: [] [] [] [] [] []