Ubercode News Archive (2005)


Website update (1 December 2005)

Happy Christmas everyone! I hope you all have a relaxing holiday and that next year brings peace and prosperity. Here is the postie bringing copies of Ubercode.

Penguin with toboggan full of copies of Ubercode

Changes over the last two months include:

  • In addition to the packaged version (CD and manual in a box), Ubercode can be purchased as a downloadable version. This version does not require manuals or CDs to be printed, and its price has been reduced. The downloadable versions have also reduced the cost of the Professional Pack below the $100 barrier. So buy now and learn Ubercode programming ready for the new year!
  • There is a new example program, based on the Moon-lander game originally written in Basic. In the game, you take the part of the captain of a space craft as it makes its landing on the surface of the moon. The challenge is to slow your descent so you land with a gentle bump, without using up all your fuel (or propellant, to be exact). It's over 30 years since mankind landed on the moon, so in the updated Ubercode version you can choose whether to land on Mars, the Moon or the Earth, just by changing constants at the top of the program.
  • To try the game, download the Trial Pack and look for the Lander example. The download is available free of charge, and no registration or internet activation is required.
  • Other changes - the website was modified to prevent Internet Explorer v6 popping up a warning about active content. This change required all Javascript to be removed from the website (this site made minimal use of Javascript before the change so the change was relatively simple).
  • Updated the links page and removed old and outdated links.

Website update (1 November 2005)

Changes over the last month include:

  • The website has been updated and the pages have been made clearer. This includes lots of small changes to fonts, page layout, page names etc.
  • A new download of the Trial Pack is ready. This is available free of charge, and no registration or internet activation is required.
  • A beta version of Visual Fred has been added to the website. This is an experimental version of a language intended to be partly compatible with classic VB.

New trial pack (4 September 2005)

The core software is now working reliably without any problems. This month's changes include:

  • A new download of the Trial Pack is ready. This is available free of charge, and no registration or internet activation is required.
  • Added a new library function Filecreateshortcut() which (surprise surprise!) creates Windows short-cut files and works under any version of Windows.
  • Added a new example program which shows how to call up the short-cut function. Ubercode is unique in that it's the only Developer Environment that lets you open and run example programs from within the IDE itself by clicking a single button. If you don't believe me, download the Trial Pack, start the Developer Environment and use the File - Open Examples menu command. Then you're one mouse-click away from running the examples.
  • Added a new download containing an article about the makelink program. This is documentation and source code for the code that implements Filecreateshortcut().
  • Started work on a Linux port by setting up a Linux workstsation on the local LAN. I plan to use a surplus Pentium with 128MB memory, a 40GB hard disk and the Ubuntu distribution (this choice was suggested by Jeremy White from Codeweavers.com). Ubercode is written to the Windows API so I plan to use the Windows compatibility libraries under Linux for the port.

New trial pack (2 August 2005)

This month's changes are internal run time library improvements having no outward effect (yet). Also I've done some preliminary work to make it possible to call COM objects from Ubercode programs. The full list includes:

  • Added a new internal library file comlib which contains interfaces to COM objects. At the moment I have added IShellLib and IPersistFile, the idea being to make it possible to create links (short cuts) using standard Ubercode functions.
  • Minor usability changes. In the Professional Pack Developer Environment, if you go into the Tools - Options - Customize Program Version dialog, the compiler settings are automatically set to ensure the creation of the version information.
  • The Professional Pack has built-in support for an installer. All you have to do is choose where the files in your program are installed to, choose a name and a few other details, then a self- installing EXE file is automatically created.
  • Submitted the Ubercode package to the installer challenge to see if Ubercode can be made to install under Wine (a Windows compatibility library for Linux). This is a first step to making Ubercode more cross-platform.

Website move (3 July 2005)

The major task for the last month has been moving the website to www.ubercode.com (its new home), also changing the pages so they have the new name and changing the screenshots. I have also written an article about finding a web host which discusses the problems I found. The complete list of changes includes:

  • Relocated website, re-arranged files and fixed up cross-links.
  • Improvements to the Professional Pack, which now creates an installer that can be distributed easily to other Windows PCs.
  • Released a new Trial Pack for free download.

Version 1.0 arrives! (18 June 2005)

Well it seems hardly possible, but at long last v1.0 of Ubercode is ready! Ubercode has survived a name change, several moves, development under two different operating systems and over a thousand downloads. So visit the online store, get your own copy now and enjoy stress-free programming!

Tranquil picture of footbridge and plants

Here is the full list of changes:

  • Version 1.0 released as described above. This is the result of many hours of work and much useful feedback from beta testers and trial-pack users over several years.
  • The website has been moved to a new web host. My original host (65535.net) was excellent, however they merged into another business some time ago, and more recently the other business split off their shared hosting, and my email didn't survive the change.
  • Changed the name to Ubercode since the old name was widely used by different businesses.
  • Updated the purchasing page with details of the credit card processor (Northstar solutions) and with the correct charges for shipping and insurance.

New update! (6 June 2005)

Deep in the code thickets, things are a-stirring...

Lots and lots of willow bushes

Real Soon Now, I will be changing the product name and website and making Ubercode ready for release (I really mean it this time). In the meantime a new download is ready. This includes the following changes and improvements:

  • A new example has been created to show splash screens. In Ubercode you can display a splash screen with just a few function calls. This includes splash text, bitmaps, timers, sounds and more. The example is splash.cls and is accessed using File - Open Examples on the menu.
  • Another new example shows Zeller's Congruence for finding the day of week from a date. This uses the time utilities added in the previous release. The example is time1.cls and is accessed using File - Open Examples on the menu.
  • A bug was found in the part of the compiler that handles structured expressions - numeric type conversions were being handled wrongly. This has been fixed.
  • Re-ran the code and error validation tests to check they worked after changes to the compiler.
  • Unfortunately the email service for this website has become unreliable. My original webhost (65535.net) was merged into another business, this other business later split up, and the new webhosts are not forwarding email properly. So over the next week I will relocate the entire site. I apologize to anyone who has not had a response to email - normally I respond to all emails within one business day.
  • Ubercode now makes it extremely easy to open example programs. You can copy examples from the help files by clicking a single button. You can browse examples using the File - Open Examples menu command, and each example has a brief description, a list of files and an icon. And, all examples are guaranteed to compile and run properly. If you use Ubercode, you never need look at a makefile ever again.

Liberation day update (8 May 2005)

The latest release of Ubercode includes a backup / restore feature. As you make changes to a file, the editor saves the changes to backup files which include a timestamp. The Tools-Options-Editor dialog has options that let you choose how often the backups are made:

Dialog that automates backups!

If you want to undo any changes, the Edit-Undo menu command shows a list of all the backups - you can choose any one and restore to this point. This is better than normal Edit-Undo as you can "undo" a file to the state it had several days (or even weeks) ago. This is not possible with normal Undo. Also the automatic backups can be turned off for those curmudgeonly types who don't want it.

This month's changes also include:

  • Automatic backup / restore as described. The Restore option is activated by Edit-Undo which shows all the restore points.
  • Control arrays of Menuitems have been improved to include all the menuitems in a single popup menu. This makes them more consistent.
  • Extra utilities have been added in Timeutil.cls to help with dates and times. A useful function has been added called Zeller's Congruence which works out the day of week from a given date. Did you ever want to know what day of the week 1600-01-01 fell on? (probably not...)
  • The select statement has been improved to allow ranges of menuitem objects as case labels. This makes it easier to handle menu selections based on popup menus.
  • When using the Developer Environment to add or remove functions from the code window, functions in the code window were sometimes not found. This occured if functions had characters in common at the end of their name, for example MyFunction and SomeFunction. This has now been fixed.
  • The output of the Systeminfo function has been made clearer. For example when run under Windows XP it shows "Windows XP" v5.1 instead of "Windows NT" v5.1.
  • A bug was found in SetCaption - if the caption of a Menuitem was changed, the menuitem would be re-enabled and un-checked. This has been fixed, and the previous checked (MF_CHECKED) or disabled (MF_GRAYED) state is kept.
  • Finally it's Liberation Day in Jersey - it was 60 years ago today the British army liberated the channel islands after German occupation. Time to go and celebrate...

New update! (3 April 2005)

A new version of the Ubercode Trial Pack is ready, with the following improvements:

  • The maximum size of a single linear memory block has been increased to about 4MB. Larger structures are possible using multiply allocated descriptors.
  • As a result of the memory block increase, the maximum number of lines in a class where the debugger can place a breakpoint was increased to 8000. This is the internal MAX_LINES constant.
  • As another result of the memory block increase, Redim was enhanced to allow a Redim Preserve option. This makes large resizable arrays more efficient, since the existing data does not require deallocation.
  • Updated the Technical support database.
  • Found a bug where the manifest file was not included in the list of files when packaging files for re-distribution. This has been fixed.
  • Improved the compiler to detect an obscure error. If a function is declared using a prototype, then called, then fully declared with pre and/or postconditions, the function call should not be allowed because the pre / postcondition is unknown at that point (to fix the error the pre/postcond should be moved to the prototype).
  • Split the news page (this page) so previous years are on different pages. Jump to the end and you'll see what I mean.
  • Finally I have not forgotten about the v1.0 release - I am doing some final tidying up and making the code editor auto-save backup files during editing. Also I am looking into SQL lite as a simple and effective database to integrate into the Professional Pack and the Enterprise Pack.

Spiffy new feature! (2 March 2005)

In days gone by it was easy to copy a program to another computer - you just copied an EXE file and maybe a few extras and that was it. Nowadays it's a major mission to copy a program, even if you wrote it. It involves different run-times, or VB DLL's, or Java environments, or .NET frameworks. And what works on one computer doesn't necessarily work on a different version of Windows. So to make life easier, the Ubercode Developer Environment can package the files for you, by pressing a single button.

Now you can copy Ubercode programs to floppy disk(s), a local folder, a folder on a network, or to a zip file. Then you just copy the files onto another computer and off you go!

This month's improvements include:

  • Added Program - Copy EXE File command as shown above. Please note the Standard Pack and Professional Pack are intended for writing programs for distribution. The Trial Pack is for evaluation and testing - programs created using it still run on other computers, but with a message showing they were written with trial software.
  • Ubercode Software changed its phone number - please see the new number on the bottom of the Sales page.
  • Fixed up minor bugs in the Dialog1 and Dbfiles1 examples that caused them to fail to find icons and files.
  • Renamed most of the bitmaps used by classes so they are prefixed with the class name. For example bitmaps used by the Dbedit class are named dbedit_file1.bmp etc.
  • Improved the program editor so that if it tries to open a main class on a read-only drive (eg a CD-ROM) it returns a useful error message.
  • Fixed an obscure compiler bug that prevented a class compiling if a private function used preconditions or postconditions with user-defined types.
  • Re-ran all code and error validation tests to check they worked after the compiler changes.

New update! (1 February 2005)

More changes and improvements:

  • Checked the links page and removed dead and out-dated links.
  • Found an obscure bug in the dialog editor. If control objects used relative paths to specify files used with the Picture property (eg Picture = dir\file.bmp) the pictures were not shown properly when using the Tools - Test Dialog command or (in some cases) when the program was run. This has been fixed.
  • Improved the compiler to report an error if programs use dialogs with non-existent bitmaps.
  • The v1.0 release is still having some last minute changes, basically making it possible to distribute Standard Pack EXE files to other computers. Version 1.0 will be ready real soon now!
  • Found a real word which is not indexed by google (addentellation) - the word means 'toothing stone' and is used at the end of Chapter 2 of Machiavelli's book The Prince.

New update! (12 January 2005)

More changes and improvements:

  • The Standard Pack and Professional Pack will be available for purchase very soon now, after some final improvements. Also a new Trial Pack is available for free download!
  • A new example program has been added to show the different control types available with Ubercode. The example is Controls1.cls and you can browse the examples using File - Open Examples from the Ubercode Developer Environment.
  • The example browser is very easy to use now. All you have to do is choose the example you want and click the Run button - that's it!
  • The Learning Ubercode manual has been simplified, re-checked and made slightly smaller so it sits properly in the DVD cases.
  • The startup screens in all Ubercode Packages has been made clearer. You can now see the package description, and the use-by date in the case of the Trial Pack. The Trial Pack also includes buttons for updating to a regular copy.
  • The Help - About command in the Developer Environment shows the details of the computer it's being used on, and includes a Copy Info button for copying the details to the Windows clipboard. This is useful when contacting Ubercode technical support.
  • A bug was found (shame!) in the Dialog font handling code when graphics and control objects were mixed in the same window. If the drawing font was changed, this would change the control font causing the controls to be redrawn using the SYSTEM_FONT. This has now been fixed - the fonts used with Drawtext are independent from the control font.
  • Another bug was found in the dialog editor. If the Property editor was used to delete the Fontname property of the dialog, the Developer Environment would halt with ERR_WIN_FONT (712). This has been fixed by defaulting an empty Fontname string back to the default "Microsoft Sans Serif" font.
  • The common dialogs have been tidied up by the addition of two new ones. OpenFileDialog prompts for one or more files, and OpenFolderDialog prompts for a folder.
  • A bug was found in the compiler. In some situations the 3rd pair of bounds of a 3 dimensional array were not being fully checked - this would have caused some invalid array bounds to be detected as a run time error instead of a compile time error. This has been fixed.