Wednesday, June 23, 2004

Guess I am not going to Comdex

I was actually planning to go to Comdex this year. I found a place to stay and even had a couple of friends who were going to go down with me. We were going to split the expenses. Well, looks like I won't be going since Comdex 2004 was canceled.

Usually I don't like real big events, with lots of lines and crowds. I figured with the technology and economy downturn that now would be the ideal time to go. Less people in attendance means shorter lines. I guess there were going to be too few people in attendance. So if I did still go then there would be no lines at all. And the Olympic committee was worried the Olympics would be canceled.

Hopefully Comdex doesn't loose its steam and have this be the first in a series of cancellations eventually leading to its demise. I would hate to think that I've missed my opportunity to attend the geek Mecca.

Tuesday, June 22, 2004

Fuzzier Systems

We are all familiar with Binary, or at least I hope we are. Binary is consisting of two parts or states- True or False, On or Off, 1 or 0. This is the basic unit of computers - bits and Boolean logic. All computer data breaks down into bits (see table) and all Boolean evaluations result in either true or false.

Unit   Number of Bits
bit   1 bit
crumb   2 bits
nybble   4 bits
nickle   5 bits
byte   8 bits
deckle   10 bits
word   16, 32 or 64 bits
Italics for really obscure.

In the real world things are not always black and white (binary).  This is where fuzzy logic comes in.  In fuzzy logic could be simply described as giving things a possibility of being a certain state (now a fuzzy logic expert might disagree with me on that, so do some research of your own if you are stickler for the truth).  So it has a 75% chance of being true, and a 53.7% chance of being false.  This makes more sense in more complicated examples.  Take color fuchsia.  I might say it has a 75% chance of being red, a 50% chance of being blue and 0% chance of being green.  The interesting thing is someone else might give it a different rating. 

Now these variable ratings are nice, but what if I don't want something so complicated, but more flexible then true and false? 

I got to thinking, what would you call three states? At first I thought Trinary, which is in fact a word, that means "Consisting of three parts", but it appears that Ternary is preferred.  I personally prefer Trinary, but I guess I will use Ternary since it appears preferred.  For those of you who do much database development this concept should be pretty straight forward since you have to deal with null values, where the value is unknown.  So you have true, false and unknown.

How about four states? I guessed Quadranary, which Google finds hits for but no definition.  It suggests Quaternary, which has the definition of "Consisting of four; in fours."  That sounds like what I am looking for.  So what would these four states be?  How about Unknown, True, False and Maybe.  You could argue that Unknown should be Unlikely since that would be opposite of Maybe, but I like Unknown better.

So if you want to include Unlikely then you need five states.  First I tried Pentanary which returned 84 hits, but no definition.  Looking at some of the hits it is used to mean five parts or elements.  It is even used in conjunction with Ternary and Quaternary, which looks promising!  Then I tried Quintenary which returned 126 hits and no definition.  It is used with Tertiary and Quaternary to mean fifth level and there is also a reference to base-5.  I like Pentanary better since it is less likely to be confused with Quaternary.  I think 5 states is a very useful base system since you have Unknown, Likely, True, False and Unlikely.  Any more levels then this and you would be very fuzy.

To summarize:

System   States
Binary/Boolean   True & False
Ternary   Unknown, True, False
Quaternary   Unknown, True, False, Maybe
Pentanary   Unknown, Likely, True, False, Unlikely

Would you suggest a system for six or more states?  What would those states be?  I think odd numbered systems would be better then even numbered systems since you would have an Unknown state, but maybe you might argue against that.  I am interested in your comments on this!  If you know Latin and would like to extend this system feel free to do so.

Monday, June 14, 2004

IBM Software Development Platform Technical Briefing

In an economy that requires us to do more with less, this FREE educational overview will look at industry best practices in software development.

  • Iterative development
  • Use of component architectures
  • Requirements management
  • Visual modeling
  • Pervasive quality controls
  • Unified change management
Attendees will:
  • Learn how to implement software using the practical application of industry best practices
  • Understand how tool automation can ease the adoption of new processes
  • Get the most out of your current tools and processes
Attendees will also be exposed to an easy to follow full lifecycle demonstration from inception through transition.

This technical briefing will include:

  • Rational Unified Process
  • RequisitePro
  • ClearQuest
  • ClearCase
  • WebSphere Studio Application Developer
  • XDE Developer Plus
  • XDE Functional Tester for Java and Web
  • Test Manager
  • PurifyPlus

Whether you are using your own tools, tools from IBM, or no tools at all, see how integration can help deliver software projects on time, within budget and that meets your customer's real needs.

When
Thursday, June 24, 9:00 am to 12:00 pm
(registration starts at 8:15)
Where
The Grove Hotel
245 South Capital Blvd.
Boise, ID 83702
(208) 333-8000

To register for this event, please contact Clark Ritchie at clarkritchie [at] us.ibm.com or by calling (503) 578-2575.

Please include your name, organization, your contact information and the number of attendees.

Please register by Monday June 21, 2004.

Ed Retuta
Senior Software Sales Specialist
Rational Software
IBM Software Group
18880 Homestead Rd
Cupertino, CA 95014
Phone:(800) 728-1212 x39158
Fax#: 845-491-7552
Email: etretuta [at] us.ibm.com
Web: www.rational.com

Tuesday, June 08, 2004

Measure Twice

Dave referred to this article during the June meeting:

Magazine:
eWeek
Date:
May 17 Issue
Author:
Peter Coffee
Title:
Measure Twice
Subtitle:
Setting the Programmer-Error Record Straight

Connection Strings

Every database has a slightly different way to format the connection string, and then there can be variations based on the driver used. www.ConnectionStrings.com provides a great reference for looking this information up quickly. Looks like most every database I can think of, with the addition of Microsoft Access. A great reference. Thanks Dave!

Can software replace a programmer?

Bad news for Visual Basic 6, Java/EJB, JSP, Cold Fusion and .NET developers. Spain-based Care Technologies (site is really slow today) says it has a program that can replace you, or at least 12 to 47 of your fellow programmers. Tom's Hard news covers their press release [PDF] and results of Gartners study.

The system is called OlivaNova Model Execution. The idea is a human designs the system using modeling. That model is then converted to software quicker and with less errors then if a human were writing the code. The idea is that no coding is required and you can go from model to finished application. Is this a true Fifth-generation programming language?

Too many times I have been working on programming projects that as I am developing I add some of my creative input to improve on the original design. Also, I rarely implement things the same way twice (excluding code re-use). I am always improving the process and methods.

Personally I am not too worried about my career. Sure, it may eliminate a lot of business application development needs, but that is hardly the most exciting type of software to be developed anyway.

It might not be a bad idea to brush up on our software modeling skills though.

Thursday, June 03, 2004

BabelCode C# to Delphi code converter

Borland has a beta research project called BabelCode available. It is an experimental code conversion utility which uses their CodeDOM's to convert C# to Delphi code.

Also check out John Kaster's article on how it works, how it was created, and creating clients for the web service.

Quantum Cryptography Network

Interesting cryptography / security news, "BBN Tech Unveils World's First Quantum Cryptography Network" For those that don't know the security is obtained in a quantum network because the keys are transmitted as single photons of light. If anyone attempts to measure or observe these photons then their actions will change the photons, and their attempts will be detected. (See also the Heisenberg uncertainty principle)

Quantum Cryptography has been the "Holy Grail" of cryptography for some time now. The flip side is quantum computing, which in theory will render all other existing cryptography inadequate because of it the computing power it will unleash. It is good that an alternative to existing cryptography was developed before the Achilles Heel. Feel free to insert your own conspiracy theories here.

The article does point out that their protocols are patented. That will be interesting to see how that pans out in permitting adoption of their protocols as standards. It also notes that they were working with DARPA. Working with government agencies can have ramifications on intellectual property, especially patents, that result for the collaboration.

BBM Technologies (FKA Bolt, Beranek and Newman) originally developed ARPANET and the first router. They are pioneers in networking infrastructure.

See also:

Free subscription to Software Test & Performance


You can get a free subscription to the new Software Test & Performance magazine. You can use the offer code S45251, but I don't know if that is necessary.

Glancing through my issue I see articles on Java, Unit Testing, .NET and Use Cases. Looks interesting. Hope to dive into it more later.

Wednesday, June 02, 2004

Now with Google Groups

The group mailing list will now be hosted with Google Groups.

Subscribe to BSDG
Email:
Browse Archives at groups-beta.google.com