After I posted the last video I realized that they were not being posted as full HD as I had anticipated. So I have made some changes and uploaded a full HD version of the video.

It is exactly the same as the first one, the only difference is that it's full HD resolution (1920x1080). Make sure that you set the video player to use 1080HD (click the little gearwheel in the bottom control bar in the player) Enjoy:)

Arnor Baldvinsson

I have made a new video available on Youtube. This video is about 15 minutes and covers how to use the Progress Class from the Icetips Utilities. Here are some examples on how to use the progress class that you may want to review along with the video.

There will be another video about the Progress Class to show how you can use timer loops to get rid of the tight loops and make the process easier to control.

So far we have had 98 views of the video that we posted yesterday which is better than I dared to hope - thank you all so much:) I hope you appreciate this video as well and please let me know if you have ideas for tutorials for me to do!

Arnor Baldvinsson

HTML5 has been in the news a lot this summer!

When Windows 8 was announced by Microsoft in May 2011, there was a very strong reaction from the developer community. The reason was that the announcement talked about using HTML5 and JavaScript to create applications for Windows 8. Many developers saw their world crumble. And predictions of doom were everywhere. They said Microsoft was going to abandon .NET and no legacy Win32 applications would be able to run on Windows 8, everything would have to be re-learned and re-written. What was missed was that while HTML5 and JavaScript can be used to develop new applications for Windows 8 - they are not necessarily a requirement!

I was a bit skeptical about the overwhelming visions of doom! I found it very unlikely that Microsoft would throw away millions of man-years of work invested in the .NET platform and support for Win32 applications. It simply didn't sound like a good business move. While Microsoft has certainly developed technology in the past that didn't last long and was soon overtaken by something else they invented, a lot of their stuff has stuck around for a long time. In the Clarion world we have come to love and hate DDE, which dates all the way back to Windows 2 which was released in 1987! It is still used in parts of the Windows Shell - I believe also in Windows 7, not sure about Windows 8. ODBC is another old technology that Microsoft used and while they were not the developers of it, without Windows supporting it, there wouldn't have been much ODBC going around for us:)

As Windows 8 progresses, it is getting clear that HTML5 and JavaScript are the new kids on the block - if you can call JavaScript new as it was developed by Netscape in 1995, then called LiveScript. You will still be able to create applications using your trusty development tools and they will still run on Windows 8. But if you want to get into the new Metro look and all the new fancy stuff in Windows 8, you need to take a good look at the development tools that Microsoft is already putting out.

Two days ago I blogged about Windows 8. There I included a link to the Windows 8 download page where you can download the latest Windows Developer Preview, which includes Visual Studio 11 Express. Visual Studio 11 is designed to create Windows 8 applications. Couple of days ago, Microsoft put up a page with First look at Visual Studio 11 Express. This page includes links to various other places, but for clarity I'm going to duplicate them here:

Tour of the IDE for JavaScript developers
Tour of the IDE for C#/C++/Visual Basic developers
Using the JavaScript project and item templates
What's New in Visual Studio 11
Getting started with Windows Metro style app development

One of the nice things about VS11 is that projects and solutions are backward compatible with VS2010. What I find interesting is that VS11 has quite a number of new features for C++. My personal guess is that C++ is still very much the core of Windows and some of those changes, such as AMP (Accelerated Massive Parallelism) was a feature added to help make touch as smooth as possible. It seems to be designed to speed up the data transfers between the CPU and the GPU using parallel data transfers.

But I'm getting sidetracked! I was talking about HTML5. You can now download Internet Explorer 10 with the Developer Preview and start playing with it. I suggest you check out Microsoft's Internet Explorer Blog as it has all sorts of information about Internet Explorer.

IE10 looks quite different from IE9. It doesn't even have an address bar! This allows the browser to become more of a website reader than a website navigator as we are used to in earlier IE versions.

I haven't had a chance to play with Windows 8, VS11 or IE10 yet. Had to work on a top-priority report for a Clarion client so I haven't had a chance to take a look but I plan on taking some time this week and load a virtual machine in VirtualBox and see how it works. I'm excited about all this new stuff, to see how we can help our customers move forward. Clarion will be our primary development tool for a long time to come, but if you have any questions or suggestions about our products and Windows 8, please let me know!

Arnor Baldvinsson

I'm sure you have heard that Windows 8 is in town. I have downloaded the full 64 bit Windows Developer Preview with Developer tools as well as the 32bit Windows Developer Preview without the developer tools to be able to check out both 64 and 32 bit as well as the developer tools.
The Developer tools edition includes Visual Studio 11 Express, Expression Blend 5 Developer Preview and 28 Metro style apps, including the apps from the BUILD conference.

You should stop by and watch the videos posted from the BUILD conference in Anaheim, California, where Windows 8 is being presented. This one shows nicely how the Metro interface works in a 93 minute presentation

You can download Windows 8 from http://msdn.microsoft.com/en-us/windows/apps/br229516 The downloads are ISO DVD images and the one for the full install with the Developer Tools requires a DVD-9 format, i.e. dual-layer DVD. So if you want to burn it to a DVD you need software and burner that can handle burning a dual-layer DVD.

In order to run Windows 8 it would be advisable to install it on a virtual machine rather than mess with creating separate partitions to install it on. VMWare users need to upgrade to VMWare Workstation version 8 in order to be able to install Windows 8. However, there is an alternative, an open source project called Virtual Box from Oracle. You can download it from http://www.virtualbox.org/wiki/Downloads I have been using VMWare 6.5 for almost 3 years now and not had much complain about it, but VirtualBox has got some nice reviews, particularly about being noticeably faster than VMWare - I welcome any speed increase I can get! I plan to do some testing of VirtualBox and see how it holds up - expect a review or some posts about it soon.

PCWorld has put together a short tutorial on how to install Windows 8 Developer Preview on Virtual Box I plan to play with this a little bit over the weekend and get a feel for both VirtualBox and Windows 8. Can't wait to see how Windows 8 holds up.

Arnor Baldvinsson

Out of milk is one of those apps that you can't understand how you lived without!!! It was one of the first apps that I got for my phone. Now I don't know how I could function without it! One of my favorite features is the ability to use the camera in the phone to scan bar codes on products to get them into the shopping list. So far it has pulled about 90 percent out of its database. It also has a to-do list and a pantry list, but I haven't used either of those much so I can't comment on those features. But I would strongly recommend that you check it out for yourself:-)
At $ 4.99 it's not free, but to me it has been worth every single cent!

Arnor Baldvinsson

During a skype discussion this application, PC Monitor, came up and I thought I would share this with you. Please visit http://www.mobilepcmonitor.com/ for the product website.

PC Monitor is a an application for your iPhone, Android or Windows Phone 7, that can monitor computers running Windows, Linux or Mac OS. It is free for up to 5 computers and for more than 5 computers you can buy annual subscriptions that start at US$ 49.95 for up to 10 computers and US$299 for up to 100 computers.

If you monitor or manage computers, then this is definitely an app you should take a look at. I can also see this app used as a safety device to monitor computers in an office or at home when you are not at the same location as the computers.

You can also send commands to the computers you monitor and get notifications when something happens on the computer, such as when the computer is rebooted, low on battery, when user logs in or out, etc.

Arnor Baldvinsson

Every now and then I do a "File | Save as" in C6 to clean out the gunk that Clarion collects in the apps from time to time. Been working on a fairly large app with a lot of browses and forms in it and today after adding a browse/form to it and doing some work the IDE crashed. Been working in this VM for probably 2 weeks or more without rebooting it (and Clarion 6.3 has been running that whole time) and decided it was time to do this trick again. The app file went from 7.8MB to 5.8MB! Now it loads much faster and generates faster also:) I don't know if this still applies in C7/C8 but wouldn't be surprised if it did. If you are not doing this regularly or semi-regularly to apps that you are working on a lot, your apps are collecting gunk that does nothing but slow Clarion - and you - down! It's simple:

1. Open your app

2. Use "File | Save As" to save it to a new name (I use appnameX.app)

3. CLOSE the app. This is an important step I have found.

4. Move the original app (appname.app) out of the folder for
backup IN CASE something fails (it has never failed for me, but you never know!)

5. Open the appnameX.app

6. Use "File | Save As" to save it back to the original name.

7. Keep going:)

I try to do this like once a month or so, depending on how much I work in the apps. After I posted this I received word from one guy who did this to his app and it went from 15MB to 1MB!!!)

Ever since we took over the PowerOffice tools in December of 2008 there has been a bug in the PowerToolbar that I had just about given up on ever finding. It was to a point that I have been considering pulling the product off the market if I couldn't find and fix this bug, because this was becoming more and more of an issue.

The problem would only manifest on Vista, Windows Server 2008 and Windows 7 machines. The code that themes the menus is different for XP and older operating systems and there is no problem. What happens in Vista and newer operating systems is that some menus were not themed at all and this would offset the settings so that icons would be out of sequence, some items wouldn't be themed correctly, menu items would disappear, text was missing etc.

Last week I decided to take this week and dig into this and either find it and fix it or basically give up on it and throw in the towel. This was the fourth time I dedicated a week or so of work to try to find this. I couldn't get going on this for real until Wednesday and spent Wednesday and Thursday tracking things. Yesterday, Friday, I had isolated the problem to what appeared to be the WM_DRAWITEM message not firing for some of the menu items and by last night I was completely confused. It made no sense that messages that fire when a menu item is drawn were not firing. No sense at all! So I decided to do the sensible thing and sleep on it!

When I got up this morning I had formed a bit of a battle plan and decided to start from the other end of things. Write code to track down the handles of the menus and then duplicate the steps that PowerToolbar takes in order to gather information about the menus and see if something went missing. My thought was that perhaps there was something in the menus that caused them not to be traversed by the API calls made to gather information about the menus, items and sub-menus.

I wrote a simple class that looped through the controls on the appframe window and put the menus and menu items into a queue. I then used GetMenuItemCount() to get the number of items in each menu as well as the handle (PROP:Handle) for each menu. I used OutputDebugString, my favorite method of debugging, to output the information into DebugView and then checked out each menu and the information. I started noticing a trend! Every menu that was not themed correctly had a negative value for the handle. I was on to something, but what?

After a lot of experimenting it was obvious that something was preventing the code from detecting the menus with negative handles and thus not theming them, setting everything off. I checked a couple of methods that gather information about the menus and menu items and also set the menu to be owner drawn. It didn't take long for one particular API to stand out: GetSubMenu(). It retrieves the handle of sub-menu from a menu handle and thus makes it possible to "walk" the menu structure using API calls.

But it wasn't the actual call to GetSubMenu() that was interesting, rather the check that came after it:

hSubMenu = PTB:GetSubMenu(hMenu, Pos-1)
If hSubMenu > 0 Then SELF.GetMenuInfo(hSubMenu, Feq).

Looks good to me! But when I carefully read the information about GetMenuInfo on MSDN I realized that the function returns 0 ONLY if it fails or if the handle is not returned. The handle can be negative and now everything came together in my head and I realized this was why it couldn't handle the negative handles - it would only recurse if the menu handle was a positive number greater than zero!.

The bottom line was that I had to add the "<" character in two places and the problem was solved. I changed the code above to:

hSubMenu = PTB:GetSubMenu(hMenu, Pos-1)
If hSubMenu <> 0 Then SELF.GetMenuInfo(hSubMenu, Feq).

in two places and the problem disappeared! This is already out for beta testing and I hope to release this early next week! I feel very good about finally finding this and figuring out the fix.

I use Skype quite a bit for all kinds of contact with clients and programmers and it has become part of my life. I just found out that it has been down all day, at least for me and millions of other users. Click here to read more about this problem on the Skype blog.

Here are couple of other links that have some more information:

http://blogs.wsj.com/digits/2010/12/22/skype-down-for-millions-of-users/

http://blog.tmcnet.com/blog/tom-keating/skype/skype-down.asp

Hopefully they will get it back up again soon:)

Arnor Baldvinsson