Monday, July 30, 2007

Sieve benchmarks

After comparing the performance of Run Basic (Beta) and Liberty Basic 4.03 using the Sieve sample program, I wanted to expand the comparison to include a few other languages. I ported the Sieve program as directly as possible. Here are the test results sorted from low to high:

Find primes from 0 to 7000 (10-run average in milliseconds)
  • Visual Basic 6.0 (0.0)
  • Run Basic (28.8)
  • REBOL (35.9)
  • Runtime Revolution (63.7)
  • Liberty Basic 3.03 (146.8)
  • Liberty Basic 4.04 (170.3)
Find primes from 0 to 1000000 (10-run average in milliseconds)
  • Visual Basic 6.0 (273.5)
  • Run Basic (4164.4)
  • REBOL (4767.2)
  • Runtime Revolution (12421.5)
  • Liberty Basic 3.03 (20381.1)
  • Liberty Basic 4.04 (27732.9)
I ran the 0-1000000 benchmark to get VB off of zero milliseconds for a better comparison.

Friday, July 27, 2007

Run Basic much faster than Liberty Basic 4.03

Just for fun, I ran the sieve2.bas example that ships with LB4. I was a little shocked to find that Run Basic finished about 5-7 times faster than LB4 running on my 1-year-old Dell laptop.

The Run Basic time varied between 23-35ms -- and that's on a public server.

LB4 on my Dell Inspiron 9600 laptop varied between 156-172ms. The Dell is running XP and has an Intel Core Duo (T2300 @1.66GHz) with 1 gig of RAM.

I mentioned this on the Liberty Basic Community Forum and Carl had this to say:

"Run BASIC and LB5 are not only using a new development tool, but their design is fundamentally different than older versions."

Run Basic and LB5 will be worthwhile upgrades if only for the speed improvements.

Friday, July 20, 2007

Missing buttons in Add/Remove Programs applet

One day not too long ago, I started my Add/Remove Programs applet to uninstall an application. To my initial surprise and later horror, all of the buttons were gone. I could view the list of installed applications, but couldn't do anything with them -- no Remove button!

After spending most of the day searching on the web for a fix, I came to realize that many others had the same problem but there wasn't a definitive answer to fix the problem. The point of this post is to give the reader several options to fix the problem.

  • Q: Where did the buttons go?
  • A: It was a corruption of the registry. Keys were deleted. Windows could no longer find the uninstaller associated with the application. Programs like Registry Mechanic cannot fix this problem. I know because I tried.
There are four ways to fix the problem. They are ordered by increasing impact on your computer and possibly your life:
  1. If you have Windows XP, run System Restore. Slowly step backwards in time until the problem is fixed. System Restore keeps backups of your registry. This is what I did to fix the problem and it worked great. I did have to reinstall a few programs that were installed after the problem started.
  2. If you use some other utility to keep backups of your registry, restore it to a point before the problem started.
  3. If you use programs like Norton Ghost or Acronis True Image, restore a backup saved before the problem started. By restoring your disk image, you restore your registry.
  4. Reinstall Windows XP.
That last one could be really painful.

Wednesday, July 18, 2007

Resizable Run Basic code editor in Safari

Have you ever wanted to resize the Run Basic code editor in a way not allowed by the "small/medium/large" settings? For the "large" setting, I typically want it to be longer. The width is OK.

If you run Apple's Safari web browser on Windows or Macintosh, you can resize the code editor (or any text area) by just dragging the lower right hand corner. Very cool.

On Windows, however, Safari is still in Beta and needs a lot of work. Here's a screen shot of an oddly resized editor for demonstration purposes. Click on the image to zoom.

Friday, July 13, 2007

Moving forward

Compared to the rest of the computer world, Liberty Basic moves forward at a slow pace. Glacially slow. But it moves.

Since my last post almost two years ago, here are the most interesting developments:
  1. Liberty Basic 4.03 was released. Version 4.04 is in the works and will run better on Vista.
  2. Assist for Liberty Basic was released. This is an add-on to the IDE that adds profiling, version control, automatic formatting and a few other goodies for professional developers.
  3. Carl now has a partner who is also an active developer.
  4. The newsletter is finished. New content is now on a wiki (
  5. Run Basic is online ( It is a Liberty Basic dialect that runs in your web browser. In fact, it sports the new LB5 syntax. Speaking of that...
  6. Liberty Basic 5 is in development and is late due to problems with Carl's tool vendor.
  7. Finally, Alyce Watson has a new book: API's for Liberty Basic (
After looking over this list, maybe things are moving along faster than I thought.

I'm currently using Liberty Basic to experiment with the Windows Service Control Manager. More on that later.