Sunday, June 26, 2011

Fixed - Calendar events disappearing from Android handset

This seems to be a bit of a common problem out there in Androidland, but I haven't run across it before.

Today - or sometime yesterday, more likely - all of the calendar data disappeared from my handset.  The events were still on my Google calendar, but the handset had no data whatsoever (past, present, or future).

Rebooting, the de facto first step for all debugging, did not help.  Manually changing something on the Google calendar would refresh that single event on my handset, but no others.

What I didn't see was a way to force a synchronization between my Xperia X10i and my Google calendar.  (Why they couldn't have had a "sync now" option like the email app is beyond me.)

The fix is documented in many places, but the best description of the solution I found was over at XperiaX10.net.  Here it is, reproduced verbatim from contributor "rookwise":
  • Goto settings/applications/manage applications.
  • Press the menu button and select Filter and then All.
  • Scroll down until you find the Calendar storage application. Select it and clear the data and then select Force Close.
  • Next go back to the standby screen and remove the calendar widget (if you use one)
  • Next goto the calendar app and open it. The phone will sync the calendar. Press the back button and then re enter the calendar app again.
  • Everything should be back as normal.

This worked for me and for many others.  The step missing in most of the descriptions available was the "filter" step, which by default hides the Calendar Storage app on the X10, making the solution appear impossible to execute.

Tuesday, June 21, 2011

Making Automate 4.5 work under Win 7 x64 with Altium Designer 6

As I think I posted earlier, my favorite application in the universe - Automate 4.5 - failed to operate properly on my new Win7 x64 machine.

The problem was mostly that Automate was unable to send keystrokes to some applications.  Most notably, Altium Designer, which is my electronic CAD tool of choice.

I spend hours on Altium daily.  For anyone unfamiliar with professional CAD software, "professional" does not always mean "efficient".  While keyboard support is second to none in Altium, Altium has scores of features locked away behind clumsy UI.  If you use it a lot, it eats time.

Every PCB layout professional I know has invested in an X-keys, Logitech gamepad, or other such programmable device to help automate the repetitive tasks - I've just gone one better and used macros too.

Over the years I have built up an impressive array of Automate macros for Altium, as well as Excel, Word, and several others.  Automate fills in the gap by killing adware windows and unfixable prompts, automating repetitive data formatting in Excel, expanding text in Word, filling in save directories in Irfanview, and much more.

But I found out quickly, and to my dismay, that Automate macros failed with Altium.  It could trigger, and focus the windows, but keystrokes simply went nowhere.

Automate acted as though nothing was wrong, and Altium acted as though nothing was going on.  Not terribly helpful.

An upgrade to Automate 6 did not fix the problem, and I couldn't find anything meaningful on the Automate forums.  So I went looking for another solution, and happened across Macro Recorder 12.  And gee - same problem!  Damn!

However, MS12 had something that Automate did not - a solution posted in the forum.

Seems that there is a rights feature under Win7 that may prevent any program from interacting with any other program.  This includes Automate and Macro Scheduler.

The key to recognizing this occurs when running the target program.  Every time I run Altium, Win7 asks me if it is OK to let Altium make changes to my PC.  As no changes were evident, I chalked this up to typical Altium weirdness and ignored it.

Well, it turns out that prompt is the sign of a program that is running under Administrator privileges.  If a program asks to change on every invocation, it's running as Admin, and if a program is running as Admin, "regular" non-admin-rights user-run programs simply can't talk to it. 

And that was the problem.  Re-running Automate 4.5 as administrator put both programs back on a level playing field and re-enabled correct functionality on all of my Altium macros.  In fact, I didn't have to make any changes at all!

So I spent all this time looking for a new program when, in fact, I was running afoul of a new "feature" in Win7.  Thank you, Marcus Tettmar!

I have no doubt that this fix will work on Automate 6, Macro Scheduler 12, or other programs that need to interact with other programs.

Given this, I really should buy Macro Scheduler 12, just to say thank you to Marcus, but I will stick with Automate 4.5.  It works, it's fast, I'm used to it, and it works.  And despite being 'old' it still does things that other programs do not do.

However, Macro Scheduler12 does support the biggie feature - triggering on a window appearing.  With Automate 8 costing nearly $2,000, Macro Scheduler 12 is a hell of a lot more reasonable.  I've never used it, so try the 30-day trial first to see if it's for you.