Thursday, January 27, 2005

How Can You Hate Oracle?

I guess Chris wants to join the I-Hate-Oracle club. What about the "At least it is better then Microsoft SQL Server Club"? When I was at the introducing Microsoft SQL Server 2005 shindig, when they would introduce a new feature I would wonder to myself "You mean it can't already do that? Oracle has had that for years!" It is annoying that the company and every product they have is named Oracle, but at least that is a more creative name the SQL server. Talk about generic. When ever someone refers to SQL Server I always ask them which one, they are all SQL servers. What is really bad is when they say "My SQL Server". This is worse then calling a Disk Operating System DOS or a Windowing operating system Windows. Actually Microsoft couldn't get a trademark on any of their generic product names without the word Microsoft in front of it.

Sun Responds with 1,600 Patents

It would appear that Sun has picked up IBM's gauntlet and released more than 1,600 patents for free use in open source programs.

Tuesday, January 25, 2005

Google's Watching TV

Today Google announced their Google Video service. This allow you to search the close captioning of select TV stations since December 2004. Then you can view still frames from that video along with the surrounding close captioning.

TV Eyes is an existing company that has been providing a similar service for quite some time now. They cover more stations, have more archives, and also cover radio. They also provide streaming video clips and notifications.

Google's strength has always been their page rank system which brings relevant hits to the top based on link referrals. For this product they will be playing catch up with TVEyes, and their page rank system is not really much of a help. Their main resources is their powerful clusters and networks, very talented staff and their very deep pockets after the IPO.

What will be interesting is when Google combines all their search services - Catalogs, Directory, News, Usenet & Groups, Gmail, Web, Books (via A9), Scholar, TV, Froogal, Desktop, etc. - together in an intelligent single interface. Maybe with color coding to show the source. It would be interesting if the results could be displayed in a 3D view with clustering based on source and subtopics.

It would be important to still have specific searches. When Google combined their Usenet and "GoogleGroups" search (Google's answer to Yahoo! Groups) and no longer made them easily searchable individually that was a disservice to the searching public in my opinion.

Update: Yahoo! also offers Video Search. I haven't looked at it yet, so form your own opinion.

Richard Hundhausen's new book on Team System

Richard's new book Introducing Microsoft® Visual Studio® 2005 Team System Beta Edition is up on Microsoft's web site. Due for release on May 25th.

Team System is Microsoft's answer to IBM's Rational and Borland's Caliber / StarTeam / Together combination. Microsoft made a bid to buy Rational, but lost to IBM. There was a rumor that they would buy Borland since Borland recently added ALM through acquisitions.

It is about time Microsoft upgraded from Visual Source Safe. I always found it amusing, but understandable, that they didn't actually use Visual Source Safe internally. I guess Team System is at least similar to their internal tools.

Sunday, January 23, 2005

Delphi Compiler Optimizations

Danny Thorpe (notice his new blog home at blogs.borland.com/dcc) made a guest appearance in borland.public.delphi.non-technical. Thanks to John Kaster for the tip.

Danny spelled out all the details about the optimizations used by the Delphi compiler. Really juicy stuff, especially if your applications really need that last bit of speed.

Really noteworthy quotes:

  • "The Delphi compiler is a one-pass, top-down parser with incremental code generation."
  • "The codegen phase is multi-pass intermediate node tree traversals and pruning. We just do it many times faster than the more traditional compiler models thatwere originally concieved for batch processing of punched cards."
  • "It could be said that Delphi is fast enough to lead some folks to believe it should be the best at every computational scenario. Delphi's objective is to be the most productive software development tool for a very broad audience of developers. The compiler is one small part of that."
Check out the post of all the juicy details.

Finally a Reason to Memorize Unicode!

Scott Swigar shared an interesting comment on Tech Blender in regards to my post on Comega.

Note: Now that programming languages are apparently including non-keyboard characters in their name, such as "ω", you can impress your friends by memorizing the unicode tables for these. Then, enter by typing in the code (such as 03c9), and pressing ALT+X

I didn't have any luck producing the "ω" using the method he described. I was able to produce one using the special character codes in HTML. For example using "ω" for "ω" (but don't forget to use "&" for "&" when that is what you want to display.)

Thursday, January 20, 2005

Quantum Encryption

When I was flying last weekend I saw a Scientific American magazine with a cover story claiming that advances in commercially available quantum encryption might obsolete the existing factorization-based solutions: "The National Security Agency or one of the Federal Reserve banks can now buy a quantum-cryptographic system from two small companies - and more products are on the way. This new method of encryption represents the first major commercial implementation for what has become known as quantum information science, which blends quantum mechanics and information theory. The ultimate technology to emerge from the field may be a quantum computer so powerful that the only way to protect against its prodigious code-breaking capability may be to deploy quantum-cryptographic techniques."

Introducing Comega

ComegaAfter Whidbey comes Comega aka C# 3. XML.com has an Introduction to Comega by Dare Obasanjo. There was a Channel 9 interview with Anders Hejlsberg back in June of 2004 about it.

The big change is that Comega will combine C#, XPath and SQL to allow mixing data and objects simply. With a database you have the concept of null for any value, while you usually don't with an integer in an object oriented language.

A Cω compiler preview is now available for download [does NOT require Visual Studio .NET 2003]. You can also browse the documentation online.

What the hack!

Summer 2005 will feature the next incarnation of the ultimate Hackers Gathering, WhatTheHack. For those unfamiliar with WhatTheHack or one of its predecessors (HAL, HEU, HIP), please visit whatthehack.org. As with previous nerd events the Hacktrain will be available to pick you up and deliver you at the camping grounds. And this year it's better than before, with a new train, more space, more power, an Internet connection, internal LAN and more to make your travel more fun! For more information, including the registration form, please visit hacktrain.de/en/.

Wednesday, January 19, 2005

Need Delphi Speed? Checkout the Fastcode Project

I was not aware of the Fastcode project until Hallvard's post about their 2004 New Year's Speech. This looks like the place to go if you need some speed in Delphi. I wonder if Borland plans to incorporate any of this code into future Delphi releases. Granted this code is for Win32 only.

Some details adapted from Fastcode's site:

The Fastcode project provides highly optimized functions for the Delphi community. Functions are faster versions of Delphi runtime library functions, VCL functions or functions meant as extensions for these. The project is running on a volunteer basis.

Functions are written in assembler and use all the modern instruction sets, MMX, SSE, SSE2, SSE3, 3DNOW and 3DNOW+ and are optimized for all modern processors and also versions that will run at all older processors. On the library page there are units available with all functions (currently more than 300) to download for free.

Jump in and speed up your Delphi projects, or maybe even compete in the challenges.

Previously my only trick for getting a speed boost in Delphi was pulling out FastStrings by Droopy Eye Software. I love their name and logo, I can so relate to it. It will be nice to have more tools in my toolbox.

Avalon Preview for XP

For those that want to play with a preview release of Avalon (the November Community Technology Preview) and the WinFX SDK fire up your browser download the preview for XP. Will also run on Server 2003.

Be warned, it weighs in at 261450 KB and is guaranteed to be buggy and unstable. I suggest installing it in a VMWare session.

Hopefully that will help tide you over for the long wait for Longhorn. The latest news puts a beta of Avalon and the first beta of Longhorn due next summer. The final versions of Longhorn and Avalon are expected in the second half of 2006. It was originally scheduled for last year and the feature list has been reduced since then.

Monday, January 17, 2005

IBM Opens Their Patent Portfolio to Open Source

Another reason to develop open source: IBM Opens Their Patent Portfolio to Open Source. This is really significant when you realize that IBM is the largest holder of software related patents, and they are also the largest collector of patent royalties for in the computer industry. They still make money from every computer sold. Chances are if you develop software you may be infringing on one of IBM's patents.

For more information on this and other open source news check out SourceLicense.

Oracle's .NET Developer Center

Thanks to Richard for the pointer to Oracle's .NET Developer Center on OTN.

From Richard's post:

Also, Oracle will soon introduce new developer tools integrated directly into Visual Studio .NET that will improve developer productivity. These tools allow you to browse your Oracle schema, launch designers and wizards to create and alter schema objects, and drag and drop schema objects onto your form to automatically generate code. Additionally, the tools contain a PL/SQL editor and integrated context sensitive online help, including the Oracle SQL and PL/SQL Users Guides. And with the Oracle Data Window you won't have to leave the Visual Studio environment for routine database tasks like inserting and updating Oracle data or testing stored procedures!

Empty Dataset?

Nick hodges has a post on when is a dataset truly empty in .Net. The code he has in Delphi for .Net goes as follows:

function DatasetIsEmpty(const aDataset: Dataset): Boolean;
var
 TempTable: DataTable;
begin
 Result := (aDataset = nil) or (aDataset.Tables.Count = 0);
  if Result then
  begin
   for TempTable in aDataset.Tables do
   begin
    Result := Result and (TempTable.Rows.Count = 0);
   end;
  end;
end;

Unfortunately it looks to me the if statement has the logic incorrect (thus my placing it in red). Result will be true if aDataset is nil (or null for you non-Delphi types). Running this with a nil dataset will result in:

Encountered unhandled exception class System.NullReferenceException with message 'Object reference not set to an instance of an object.'.

Change it to if not Result then and I you will be good. If you want it to be more efficient on datasets with a lot of tables then you might change it like this:

function DatasetIsEmpty(const aDataset: Dataset): Boolean;
var
TempTable: DataTable;
begin
Result := (aDataset = nil) or (aDataset.Tables.Count = 0);
  if not Result then
  begin
  for TempTable in aDataset.Tables do
  begin
    Result := (TempTable.Rows.Count = 0);
    if not Result then
    begin
      break;
    end;
  end;
  end;
end;

This way if ever find a populated table it stops immediately.

Don't do Delphi? Here is a version of the code for C#

public bool DatasetIsEmpty ( System.Data.DataSet aDataset )
{
 bool Result = ( aDataset == null ) || ( aDataset.Tables.Count == 0 );

 if ( !Result )
 {
   foreach ( DataTable TempTable in aDataset.Tables )
   {
     Result = ( TempTable.Rows.Count == 0 );
     if ( !Result )
     {
       break;
     }
   }
 }

 return ( Result );
}

Wednesday, January 12, 2005

Free Software Magazine

Free Software Magazine is free magazine for the free software, its culture and world. It is available in both electronic and good old fassion paper formats.

Head over and pick up a copy of the first issue and learn more about free software.

Tuesday, January 11, 2005

Free as in Speech and Beer

This is just too funny, I had to share. Now you have your "free speech" and your "free beer" at the same time. Vores Øl version 1.0 would appear to be the first open source beer! It is available under the Creative Commons Attribution-ShareAlike 2.0. So check out their recipe and have your freedom, but please enjoy it responsibly.

CodeCon 2005

The program for CodeCon 2005 has been announced. CodeCon is the premier showcase of cutting edge software development. All presentations include working demonstrations, ideally accompanied by source code. Presentations are done by one of the active developers of the code in question and are of working code.

A very wide variety of topics are covered: Encryption (privacy), RSS, chat, Blogs, web development, etc. Check out the list and maybe I will see you there. It is being held in San Francisco CA from February 11th to the 13th, 2005 with the price being $80 at the door.

The program chair is Bram Cohen, the creator of BitTorrent.

Monday, January 10, 2005

Comment SPAM

Well, it finally happened. I guess it was inevitable. There were 3 postings of comment spam. I deleted them and turned off anonymous posting. Sorry for any inconvenience. If you want to leave a comment then I guess you will need to sign up for a Blogger account to leave comments, or use the contact link to send me a message directly.

Requiring a login isn't as bad as disabling them completely as I understand that Typepad recently had to because comment spam was getting out of hand. I guess the spammers have migrated to Blogger blogs now.

Friday, January 07, 2005

Longhorn Wins Wired News' Vaporware Award

Longhorn Wins Wired News' Vaporware Award. Longhorn is the next OS from Microsoft. Originally scheduled for release in 2004 the ship date and features continue to slip. It is suggested that they might bundle it with Duke Nukem Forever, one of the other recurring winners.

Thursday, January 06, 2005

The Gang Of Four Design Patterns in Delphi

Felix Colibri has converted the code examples from the Gang Of Four Design Patterns to the Delphi programming language. It sounds like he has done all the code samples, but specifically focused on the design patterns. Since it is just the code samples they don't do much good unless you have the book too. The examples were originally written in SmallTalk and C++.

Wednesday, January 05, 2005

4 hours of Yukon love. . .

Turns out you can get a double helping of developer group goodness on Thursday, January 6th (Tomorrow).

As you all know we have our usual first Thursday meeting at 7 PM. We will discuss our reading from Design Patterns Explained, have a couple Delphi component demos and maybe a demo of CodeSmith by Randy. In addition I just found out about an opportunity to take an in-depth look at SQL Server 2005 - Yukon from 1:00pm to 5:00pm. So that will give you enough time to eat and still make it to our meeting (you might think we planned it that way).

The staff at ExecuTrain is hosting local Microsoft SQL Server expert and Microsoft Regional Director Richard Hundhausen to present this 1/2 day technology seminar on SQL Server 2005. The Idaho DBA Association welcomes all members and associates to this excellent learning opportunity. Event registration and details to follow. The event will be held at the ExecuTrain facility on Maple Grove by Emerald.

I spoke with Richard briefly about the event. The way he describes it is "4 hours of Yukon love ... from a developer's point of view."

Admission is free. For more information visit www.idahodba.org, or just show up.

Tuesday, January 04, 2005

The one-minute risk assessment tool

ACM Queue have an article on The one-minute risk assessment tool where they discuss an analysis of risks in software development, using data from senior IT managers, and the surprising results it produced.

Interestingly the number one reason for software project to fail was the use of an inappropriate methodology. The second reason was no surprise to me and that is lack of customer involvement - if your customers don't tell you what they want, then it is hard to deliver it.