2006-11-30

Solar Hot Water in Hot Water?

It looks like there’s an endemic problem using solar hot water panels in Wellington—it would appear there’s too much salt in our air, which is corroding the panels.

Gary Moller has discovered and published findings in his blog:

http://healthandlifestyle.co.nz/solarpanel/

It’s hard to see through the glass, but this is what our Solahart Black Chrome XII looks like after 6 years:

Corroded Solar Panel

‘Corrosion’ should probably be in quotes, as the panel hasn’t been opened up to confirm this, and the dealer is still investigating.

Not having long-term monitoring in place it’s hard to pin down what effect this is having, but I estimate we’re losing 10–15° of solar heating.

At least Mander Plumbing organised a building certificate for our work (unlike some of Gary’s exhibits). They no longer deal in Solahart gear, so I’m taking this up with the new agent (Spinks Energy Systems).

I certainly don’t want to see the burgeoning solar hot water movement collapse, but feel it’s better the problem is raised now rather than later (can you say Leaky Building Syndrome).


Followup 2007-02-13:

We recently had our corroded Solahart panels replaced under warranty.

In the past (years ago) we used to regularly get over 60° during summer. Just prior to replacement this was never reached.

Since the panels have been replaced we're back to regularly achieving over 60°, some days as high as 75°.

i.e. The corrosion was causing a temperature drop of up to 15°.

(Temperature as measured on the remote readout in the cylinder.)

2006-06-23

Converting to FileMaker 8

ScreenshotI’ve recently finished moving a client from FileMaker 7 to a runtime deployment of FileMaker 8. I took the opportunity to rework the solution, which still had much of the pre-7 design.

This took around three weeks, with two weeks I thought reasonable to charge for. I’m very pleased with the result, and my client understands the need for a good infrastructure behind the scenes.

Main Work of the Conversion

  • Moved all tables into a single file. The relationship graph for this leads to a much better overview of the system.
  • Implemented menus and deployed as runtime solution. Gives the feel of a true application, and hides unneeded commands from the user.
  • By using the recently added [new window] script set, the current found set is now maintained when running a report. This new capability also makes saving and restoring found sets behind-the-scenes unnecessary.
  • I also rebuilt the interface which had the same look as when the system was implemented 10 years ago. The tabs (pictured) are based on the anthrazite look in ‘Apple Mac OS X Appearence Template 1’ [sic] by Martin Brunner.

Recommendations

  • Start at the bottom and work up: copy tables which other tables depend on first. Ditto for scripts. Keep the names the same until everything’s across. Define as many relationships as possible early—it will save broken fields and scripts.
  • Use the developer’s version: FileMaker Pro 8 Advanced. Being able to copy & paste tables and script steps was invaluable. The Script Debugger and Data Viewer saves having to insert those [display dialog] statements too.
  • Most scripts need modifying: some will be broken from the copying process, others break because the context is different in a single file.
  • I’ve always adhered to the KISS principle, and was grateful for it on a number of occasions: don’t make elaborate workarounds to force FileMaker to behave as you want, instead accept its (sometimes quirky) behaviour. The less complexity, the easier the solution is to manage.
  • If I wasn’t deploying a runtime solution, every script would be in a single menu—for both me and the user. This would have made consolidation into a single file problematic.
  • Expand those dialog boxes! Most can be stretched, and it really helps to see more at once. e.g. when specifying the script for a [perform script], as every script for your application is now in a single file.
  • I wish I had two screens (each running their own version of FM), so the old & new could be displayed side-by-side. So I got to know the Database Design report instead.

Wish List

  • When creating a runtime, that you could create it for both platforms (Mac and Win), not just the platform FMA is being run on (for a workaround, see my blog entry).
  • That runtimes could create PDFs (instead I’m using the schubec PS2PDF Plug-in, which has excellent user support).
  • A way to copy a layout in its entirety. Redefining the sections, margins, etc., for each one got old very fast (and time consuming).
  • The inbuilt tabs are a great idea but too limited for most serious use. They need to be able to switch between list & form mode, and need to be scriptable. A vertical orientation would be useful, and a nicer look would help too.
  • In layout mode, an easier way to navigate the now very long layout menu. Maybe subfolders. Having the menu start at the current layout (per a pop-up menu) would also help.
  • Script logic indentation on the Database Design report.

Misc.

Once again I’ve been very impressed with the reliability of FileMaker. I’ve been thrashing it for weeks and only had two glitches:
  • Occasionally there was a disconnect of some menu shortcuts: keyboard shortcuts (e.g. command-v) would flash the menu but otherwise be ignored. Restarting FM fixed this.
  • [if get(foundcount) > $var] was failing when there were 10 records in the found count and var was 9. Wrapping $var in asnumber() fixed it. Presumably FM was treating $var as character (‘1’ is not greater than ‘9’), but why is another matter—in a test file it worked fine.

Stats

Item
Before
After
Comment
Files131Some tables had already been consolidated into other files
Tables2121
Fields  Some saving with local variables replacing temporary globals
Layouts≈153≈120Savings from using [display custom dialog] instead of a layout, from files which were hidden from the user but needed navigation ‘just in case’, and some cleanup work
Scripts≈500≈200Scripts no longer need to call scripts in other files, they’re self-contained. No need for a set of navigation scripts in each file. Some combining of similar scripts and passing a parameter instead.

2006-06-05

Homepage Visualisation

My homepage as a graphicI received a link to a very cool web visualisation tool by Sala (although I used the version by Markavian which enables you to click on a dot to see the source tag): this Java applet represents a web page and its elements as coloured dots.

It’s a quick way to get a feel for the kind of HTML used (tables, or divs, etc.), the complexity of the page, number of images, and more.

My home page is pictured:

The black dot is the root node.

Going up from there we have a grey dot for the <head>tag, which is the parent for many other grey dots—the <title> and <meta> tags, etc.

Going down is the grey dot for the <body>.

On the right we have a red dot for my main menu which is a <ul> tag, with a large cluster of pink dots for the individual <li> elements, and blue dots for their respective links. Note the other two small groups for the submenus.

Going (mostly) down from the root we have a green dot for a <div> tag, which encloses the footer (the two orange dots for <p>).

On the left we have a green dot for the <main> section, immediately surrounded by paragraphs (orange), one of which links to the cowboy picture (violet).

The left most orange dot is the paragraph containing the icons (violet) at the bottom of the page. Each icon is inside a link tag (blue).

2006-05-09

Creating a Cross-Platform FileMaker Runtime

FileMaker Pro 8 Advanced can only create a runtime for the platform it’s running on. So on my Mac I can only create a Mac runtime, not a Windows one.

I think this is a shortcoming which FileMaker Inc. could have easily fixed, but thankfully after some initial work there’s an easy workaround:
  1. Find a Windows machine with FMPA.
  2. Create a database file. The name of this should be the permanent name of your solution.
  3. Bind it into a runtime. This bindkey will be the permanent key for your solution.
  4. Copy the whole solution directory back to the Mac.
The only file which needs to change between deployments is the database file!
  • This can either be edited directly by opening it from within FMPA, or
  • Create a Mac runtime (with the same name and bindkey) and copy the database file into the Windows directory.
You need to repeat this for each different solution name and/or bindkey.

If your development platform is a PC instead of a Mac, you should be able to swap the above, but I haven’t tested this.

Of course, you should still carry out testing on the opposite platform.

Interestingly FM doesn’t seem to mind working with a ‘bound’ file at all. I copied one out of a runtime, and was ⓐ able to bind it into a different runtime, ⓑ rename it to .fp7 and use as normal, plus ⓒ, as above, you can edit it in situ. This is a great as it means there’s only one copy of the file around.

Note if you own both a PC and Mac, paragraph 1⒟ of the FM license allows you to install it on both (for use only by yourself).

2006-04-01

Hide Google Searches from the Government

Even though in its recent demands the US Government only asked for aggregated data, and even though Google initially refused to supply it and the courts supported the privacy of Google’s users, it still made me think about Google tracking the IP address of every search we make.

Although there are anonymiser services available, here’s a different approach: simply have a program lay a false trail. If your search records at Google are ever examined, nobody will be able to tell what were genuine searches, and which ones were false trails.

Every x minutes, this OS Ⅹ AppleScript picks random words from the dictionary, and emulates a Google toolbar search being carried out from Safari on those words. If the dice rolls right, it selects the ‘I’m Feeling Lucky’ option to actually visit the random site. It also sleeps the same hours I do ;-)

It works fine from a user account which has been ‘switched out’ via FUS. No guarantees; second opinions and modifications welcome; and yes, I know I’m paranoid. There is one minor bug—sometimes Safari downloads a ‘dictionary’ page instead of displaying it.

Of course, you don’t need to run it all the time—just by having it on your machine you can claim searches were made by the program and not you!

property Linefeed : ASCII character 10 -- Unix
property web2 : alias (("" as Unicode text) & (path to startup disk) & "usr:share:dict:web2")


set DictWords to read web2 using delimiter {Linefeed}
set DictLength to length of DictWords

repeat
set SearchWords to ""
set NumberWords to random number from 1 to 5 -- Pick a number for words to search on

repeat with i from 1 to NumberWords -- Lookup the words and concatinate them in a search string
set ThisWord to item (random number from 1 to DictLength) of DictWords

if SearchWords = "" then
set SearchWords to ThisWord
else
set SearchWords to SearchWords & "+" & ThisWord
end if
end repeat

set FeelingLucky to (random number from 1 to 2) = 2 -- Decide if we’re going to use the ‘I’m Feeling Lucky’ option

if FeelingLucky then
set URLString to "http://www.google.co.nz/search?hl=en&q=" & SearchWords & "&btnI=I%27m+Feeling+Lucky&meta="
else
set URLString to "http://www.google.com/search?q=" & SearchWords & "&ie=UTF-8&oe=UTF-8"
end if

tell application "Safari"
open location URLString

repeat -- Wait here until the page has finished loading
delay 5
set WindowName to name of front window
if WindowName is not "Untitled" and WindowName does not start with "Loading “" then exit repeat -- Takes a few seconds to switch from Untitled to Loading
end repeat

close front window
end tell

if time of (current date) ≥ 79200 then delay 8 * hours -- If past 2200, sleep for 8 hours

delay (random number from 1 to 14400) -- Up to 4 hours, don’t set too low
end repeat

2006-03-29

‘Talking’ to a Computerised Help Desk: Technology Looking for a Purpose

I was on the phone this morning to my ISP trying to find out why the cable modem wasn’t responding (turned out there was a major outage).

I was able to reflect, once again, how much I hate speech recognition Interactive Voice Response compared to button pushing.

Comparison

Standard ‘button pushing’ IVR

Voice recognition IVR

Welcome to…Welcome to… I can help you…
It’s a computer. It’s not that smart. Let’s not try to pretend it is.
Press 1 for technical assistance, …
A quick button press. Can already be pressing the button while further options are being read out.
Would you like ‘technical assistance’, …
Forced to parrot back the required phrase. Have to wait until all options have been read out.
n/a — a button press can’t be mistakenI’m sorry, I didn’t understand that. Please state if you would like ‘technical assistance’, …
Again, wait until all the options have been read out. Took three goes for the system to recognise this simple phrase.

Disadvantages

  • Slower having to wait for all the options to be announced, slower to speak than hit a button, slower for the computer to inteprept speech than a button press.
  • Significantly more prone to input being un-interpretable
  • I don’t like having to parrot back phrases
  • It feels like an unnatural interaction. You push buttons on machines and talk to humans.
  • Can’t use automatic dialling to go through options
  • Can’t use while SO is still asleep!
Advantages? None!

2006-03-11

Customer Service: Shoe Clinic vs. Radfords

Another example of great vs. shocking customer service:

Today my partner bought a new pair of walking shoes from the Shoe Clinic (Willis Street, Wellington, New Zealand).

The sales person was obviously knowledgeable, and spent an hour measuring her foot, finding the right pair of shoes, and even cutting insoles to match her orthotics.

All just part of the service.

On the contrary, we have Radfords (also Wellington based). This has been a long drawn out saga, but basically they mis-measured some curtains we asked to have installed (I mean obviously mis-measured: when they came to install them they extended halfway over a bookshelf!)

We’ve received the absolute worst customer service from them: they wouldn’t return messages, tried to pass-the-buck, and even ignored a letter to the manager—while still sending us bills.

My partner finally got hold of the CEO after they sent another bill. For the first 5 minutes he tried to fob her off, first suggesting we’d changed our minds about the width; then saying the person who installed the curtains was a contractor, and we’d have to take it up with him (not the case under NZ law). After much arguing he finally relented, and took $200 off the $600 bill—only a small amount more than the extra material they’d mistakenly cut and billed us for.

Guess where we will and won’t be shopping in the future.

Here’s some interesting statistics from a Unisys Best Practice Study Tour (1999):

• Only 1% of customers who complain are systematically trying to cheat an organisation.
• Only 1 in 10 dissatisfied customer actually complains to the organisation.
• Dissatisfied customers tell twice as many of their friends, family and associates about a bad service experience when compared with satisfied customers.
• A complaint well handled can increase brand loyalty by 5–10%.

2006-02-26

Customer Service: CD Baby vs. Psyshop

I’ve made about 5 orders with CD Baby and received excellent service every time. I love their confirmation e-mail which (in part) reads:
A team of 50 employees inspected your CDs and polished them to make sure they were in the best possible condition before mailing.

Our packing specialist from Japan lit a candle and a hush fell over the crowd as he put your CDs into the finest gold-lined box that money can buy.

(I won’t spoil it by listing the whole receipt, but it continues in the same tone.)


Compare this to Psyshop. After placing an order I received this cryptic e-mail:
Dear Customer!
Sorry, but we were not able to process your order.

Reason: Invalid address or payment data.

Yeah, that really narrows it down! And what happened to live checking?

I e-mailed Rolf, and after a bit of back-and-forth due to the guy obviously having English as a second language, I heard no more from them.

I have no problem with English as a second language, but sometimes both sides need to work to understand each other. This guy just got short with me and wouldn’t answer any more e-mails. So much for customer service.

Pity, because I can’t find the CD anywhere else.