David Sinclair's blog

BlogAssist 2.2.1 released

BlogAssist, my handy tool to add HTML tags to text via the clipboard, dragging to a floating window, or inline via the Services menu, has been updated to version 2.2.1:

  • Removed commas as a separator for repeating lists, to avoid problems with commas in paragraphs, and added bullet and vertical bar as alternatives (in addition to return, linefeed, and tab).
  • Fixed a bug that required a click before the output of the Services window would appear in the destination document.
  • Fixed an issue with the Preferences window, where edits might not be saved when quitting with the window still open (specifically when an edit is still active).
  • Updated the built-in Kagi purchasing tool to the latest version, which fixes some issues with Leopard.

This is a recommended update for everyone.

Download now!

Give Good Food to Your Mac

Macs are used by people with taste; the taste to know that the Mac is the best computing platform in the world!

So people with discerning tastes of course want only the best ingredients. Once again, the Give Good Food to Your Mac promotion is here to help.

You can select from a delicious range of quality Mac software, sampling each to find just the right items for you. Then construct a recipe of delights, receiving an increasing discount the more you purchase.

I am very pleased to be able to include Dejal Narrator to this elite selection. Narrator is an elegant speech synthesis application that has a unique feature: the ability to mix multiple voices in one document, e.g. to listen to an interview or read out a story with multiple characters. It also supports exporting to iTunes or sound files, so you can make your own synthesized voice podcasts.

So take a moment to browse through the ingredients and enjoy the savings on many fine specimens of Mac software!

Visit the Give Good Food to Your Mac site.

Macfilink 1.5 released: now free!

Macfilink, my affiliate link cloaking tool, has been updated to version 1.5, and released as freeware.

Yes, that's right: formerly a shareware product, Macfilink is now available to everyone at no cost. The license features have been removed, so it won't remind you to purchase or require entering a license.

If you're not familiar with Macfilink, it is a simple tool to take an affiliate URL and mask it so an affiliate page appears to be one of the pages on your site. You can see an example via the Time Out site for the third-party Rebuild Your Vision program. Notice how the web page address remains on my site, and it (optionally) includes a header linking back to the main Time Out page, with the third-party content below. If you look at the page source, the affiliate link isn't even visible there.

So why did I decide to release Macfilink as freeware? Put simply, because it does one task, and does it very well, but I can't think of any features I want to implement to enhance it. Also, being a very niche tool, it has never been a big seller, which means it isn't really possible to justify spending much time enhancing it, even if I did have some ideas.

Sure, I could keep charging for it, but in my view, if I'm not committing to ongoing enhancements, I shouldn't be charging for it.

I want to emphasize that I am not discontinuing Macfilink. If bugs turn up, I will do maintenance releases as needed. I just don't plan to add new features. It does everything it needs to do.

So download Macfilink and enjoy with my compliments!

Caboodle's new Security preferences

Completing the series on Caboodle 1.2, here's information from the updated Caboodle User Guide, describing the new Security preferences:

The Preferences window is displayed via the Caboodle > Preferences... menu item. This is the Security page. It includes options for the encryption features.

Default password: This password is one that can be offered in the encryption and decryption sheets, if there isn't a password in the keychain for the entry, or a previously-entered password. It is therefore mainly useful when you launch Caboodle, if you don't store passwords in the keychain. This default password is also stored in the keychain, to keep it safe. There is no default password initially.

The following checkboxes are grouped by encrypting and decrypting, so you can have different behaviors for each if you prefer. These are evaluated in this order, so a keychain password takes priority over a previously entered one or the default password:

Offer the password saved in the keychain for this entry, if any: If this checkbox is selected, Caboodle will look in the keychain for a password previously used for this entry. If there is one, it will be offered in the encryption/decryption sheet. This is on by default.

Offer the password previously entered for any entry, if any: If selected, Caboodle will offer whatever password you most recently used for any entry. For example, if you encrypt an entry then select another entry and ask to encrypt it too, Caboodle will offer the same password as a suggestion. You can of course type another one if you wish. This defaults to on.

Offer the default password: This checkbox indicates that you want to be offered the default password, as entered above, if there isn't a password in the keychain or a previously entered password. This defaults to on.

New view option for encrypted Caboodle entries

Continuing the theme of using Caboodle User Guide pages as blog posts, here's the updated info about the encryption feature, which was significantly enhanced in version 1.2:

The Encrypt Entry sheet. This sheet slides out from the main editor window when you choose the File > Encrypt Entry... menu item, or the Encrypt toolbar button. This operation is only available when one entry is selected.

Enter a password or phrase to use to encrypt the entry, and enter it again to confirm that you typed it correctly. The password will not be shown. Make sure that you remember the password — there is no way to access your entry if you forget it!

You can check the Remember this password in my keychain box to have Caboodle store the entered password in your keychain. If it is in the keychain, and the keychain is unlocked, the password will be offered automatically when you come to view or decrypt the entry.

A default password can be offered from one of three sources: an existing keychain item (e.g. from when this entry was previously encrypted; from the most recently entered password for any entry (so you can easily use the same password for several entries); or a default password, as set in the Security preferences. If none of those is available, the fields are blank. Regardless, you can of course type a new password whenever desired.

Once an entry is encrypted, it displays with a lock instead of the content, and the menu item and toolbar button change to Decrypt:

When you choose the File > Decrypt Entry... menu item or the Decrypt toolbar button, the following sheet is displayed:

Here you have two options:

  • You can click View to temporarily decrypt the entry for read-only viewing, while leaving it encrypted on disk. It will remain visible until you quit Caboodle.
  • Or you can click Decrypt to fully decrypt it, so it can be edited. If you decrypt it, you'll have to encrypt it again after editing if you want to keep it encrypted on disk.

Simply enter the correct password (again it won't be shown), click View or Decrypt, and the entry will be re-displayed as it was before encryption. If you don't enter the correct password, it will give you three more attempts, though you can always cancel and re-try if necessary.

As with the encryption sheet, you can save the entered password in the keychain, and it offers a password from one of the three sources: keychain, previous entry, or default password. It only offers a password if it is correct, so you can just click a button without entering anything if one is offered.

If just viewing the entry, the icon will remain as a lock, the fields will be disabled, and a reminder will appear on the dates line:

Getting Stuff Into Caboodle

I wrote the following for a new page of the Caboodle User Guide, but since nobody reads such guides :) I thought I'd post it to the Dejal Blog, too.

Caboodle is a versatile application, and a handy place for storing text, pictures, PDFs, and other kinds of documents.

The most obvious way to get stuff into Caboodle is to type text or paste content into an entry. Simply click the New Sibling toolbar button (or choose it from the File menu) to add a new entry a the same level as the selected one (or the top level if no selection), or the New Child option to create the new entry within the selected one. Read about the main Caboodle window for more information.

You can also drag documents into an entry. Create an entry as above, then press Cmd-Tab to switch to another application or the Finder and begin dragging the document (e.g. an image from a web browser, or PDF from the Finder). While the mouse button is still held down, press Cmd-Tab again to switch back to Caboodle, and drag into the text area. You then have a choice: you can copy the document into Caboodle, simply by releasing the mouse, or alias the original into Caboodle by holding the Control key while releasing the mouse button — the mouse pointer will change from a plus symbol to an alias symbol.

That sounds hard, but is actually really easy once you try it. But easy as that is, wouldn't it be nice if there were an even easier way to get stuff into Caboodle? You're in luck: we're not done yet!

Caboodle supports the Services menu, which is included in the application menu of most modern applications. Simply select some text in pretty much any application then choose the Services > Caboodle > Add Entry with Selection command. Caboodle will be launched if it isn't already running, a new entry will be added, and the text will be inserted in that entry. What's more, the Subject will be set to the first few words of the first line of text. If the selected entry has child entries when using this function, the new entry will be a child of that one, otherwise it will be a sibling.

(It's worth pointing out here that there's a second command in the Services menu: Selection From Entry. This command does the reverse of the above: it inserts the text from the current entry in Caboodle into another application at the current selection.)

But wait, there's more. You can even drag text or images onto the Caboodle application icon in the Dock to quickly add them in the same way as for the Services feature.

Finally, if you need to get lots of data into Caboodle, you can import it.

Mac Bundle Box 2 now available!

Mac Bundle Box

The second Mac Bundle Box, a collection of 10 great applications, is now available!

The bundle includes a Basic license for my own Simon, plus nine other excellent applications from independent developers, including several very popular titles:

  • Simon: normally $29.95
  • ShoveBox: normally $24.95
  • Invoice: normally $125.00
  • AppShelf: normally $7.00
  • GraphicConverter: normally $34.95
  • 1Password: normally $39.95 (and highly recommended!)
  • Process: normally $39.00
  • YummySoup: normally $20.00
  • Mental Case: normally $25.00
  • KavaMovies: normally $35.00

$341.80 worth of software for the low price of just $49.00! An amazing deal. If you want Simon Basic, and If there is even just one or two other apps in the bundle that you also want, you'll be saving lots of money.

You'll get a fully-functional copy of Simon Basic. If you need more tests, you can easily upgrade to Simon Standard via the Dejal Store at any point.

Visit the Mac Bundle Box site to take advantage of this great deal, while it lasts!

Caboodle 1.2 released

Caboodle, my handy app to store and organize snippets of text, images, PDFs, and other information, has been updated to version 1.2.

This release has a focus on the encryption features, with several significant and much-requested enhancements.

Perhaps the most significant of those is the addition of an option to view an encrypted entry without decrypting it on disk. When displaying the decryption sheet, you now have a choice between fully decrypting as before, or viewing the entry without decrypting it on disk. It is decrypted as a read-only view, so you can see the text etc until you quit Caboodle — no need to re-encrypt when you're done.

Other welcome enhancements are support for saving passwords in the keychain, and the ability to have Caboodle offer the most recently entered password and/or a default password. Great time-savers, that make using the encryption features much easier.

Caboodle's decryption sheet

This release also enhances the Services menu functions and when dropping text or images on Caboodle's Dock icon. Now it sets the Subject field based on the first line of text, and makes better decisions on where to add the entries.

No doubt many long-time users will be pleased to hear that this version also fixes a long-standing search indexing issue, too.

It also includes several other improvements and fixes; check out the release notes for full details.

One thing worth pointing out, for the 1% of people still on Mac OS X 10.3.9 (Panther): Caboodle now requires 10.4 (Tiger) as a minimum. So those people need to remain with version 1.1.4 until they're ready to upgrade their OS. (I've put a link to that version on the Caboodle product page, just in case.)

Download Caboodle 1.2 now!

MacBook Pro NVIDIA flaws

As you may have seen via one or more of several Mac news sites, Apple and NVIDIA have announced that several recent models of MacBook Pro and MacBook may have faulty video chips.

This seemed rather familiar to me, as I was recently without my main machine, a MacBook Pro 17", for a total of about three weeks, due to exactly the symptoms they list, among others.

My machine initially showed fairly minor symptoms. It wouldn't wake from sleep after unplugging it from my external 23" display, or would unexpectedly shut down. This continued for a few weeks (frustratingly during the Olympics, when I was using the MBP while watching, instead of on my desk as usual). I also saw some interference on the internal and external screens occasionally. Then it got worse: it started having kernel panics at random intervals. That quickly got worse, to the point where it was having kernel panics on every startup:

I tried the obvious diagnostic steps (disabled third-party stuff, boot into safe mode, reset the PRAM, reinstalled the OS, etc). Nothing helped.

So I took it into one of my local Apple Stores on September 1. The helpful Geniuses confirmed the problem, and took it away to repair. I used an old Mac mini in the meantime. A few days later, on September 5, I picked it up, along with a receipt for the hardware repair: they replaced the motherboard, for a total cost of $1,385.00. Fortunately, the computer was still covered by AppleCare (a great investment for laptops; I highly recommend it!), so I didn't have to pay anything.

Problem solved. All was well.

Or was it? About a week later, I couldn't wake up my Mac in the morning. At least, that's what I thought, but further investigation showed that it was awake (I could hear sounds, e.g. the volume adjustment clicks), but not showing any video. Not even on the external display. Again, I tried various things, to no avail.

So back to the Apple Store it went, on September 15. This time the repair wasn't so quick. Two weeks went by; apparently they wanted to try replacing the screen, but a replacement didn't turn up. Which tells me that they weren't aware of the NVIDIA issue at that point — a little over a week ago.

Eventually, they decided to just replace the motherboard again, and that seemed to fix it. I got my Mac back again on October 1, two weeks after taking it in. Along with another receipt for $1,385.00, covered by AppleCare.

So the first replacement must have also had a faulty NVIDIA chip. Hopefully the second replacement motherboard has a fixed one; I don't want to have to go without my main Mac again! Most of September was bad enough. I must say, though, that — although being without my machine was a major pain — the Apple Geniuses were very polite and helpful. I'm very glad they were available, so I didn't have to resort to more drastic measures like mailing the machine to some distant repair depot or something.

But it is somewhat gratifying that Apple has identified and announced the cause, and it isn't something specific to my machine. Perhaps my machine helped diagnose it, as another case proving a pattern? I'm glad other people experiencing this problem will have a more speedy repair — and a free repair, even if not covered by AppleCare.

If you have a MacBook or MacBook Pro exhibiting this behavior, check out Apple's support document for more information.

Simon, Caboodle & Narrator on MacUpdate Promo

Did you miss out on Dejal Simon on MacUpdate Promo recently? Never fear — I've agreed to list it at a great price in their extended deals section.

What's more, Caboodle, my handy app to keep snippets of text, images, PDFs, etc organized, and Narrator, my fun app to speak text in multiple voices, are also still available via MacUpdate Promo special deals, for a limited time:

Email back up

My email problem has been corrected. I'll catch up on the email backlog soon.

So you can email me (or use the feedback form) if desired. But the Dejal Forums is still the preferred way to get support, so my customers can help each other, and everyone can benefit from my and others answers. As I said, Simon notifies me when changes occur there, so I'm able to respond quickly.

My email is not working

Due to a technical problem at my web host, I can not currently receive incoming email. So feedback sent via either direct email or the Feedback form won't reach me until this is fixed.

In the meantime, please post support queries to the Dejal Forums. Simon will notify me when changes occur there, so I'll be able to respond quickly, as always. The forums are the preferred support channel anyway, so my customers can help each other, and everyone can benefit from my and others answers.

Purchases are not affected; they are handled fully automatically by my server.

Sorry for any inconvenience! Hopefully the issue will be resolved soon.

Caboodle 1.2b1 released

Caboodle has been updated with some much-requested new features!

  • Added a View button to the decryption sheet. If clicked, the entry is temporarily decrypted and displayed read-only until you quit, but remains encrypted on disk, so the next time you use Caboodle it will still be encrypted. To edit the entry or keep it decrypted, click the Decrypt button instead.
  • Added a checkbox to the encryption and decryption sheets to enable saving the entered password in the keychain. The state of the checkbox is remembered automatically.
  • Added a new Security preference page, where you can specify a default password to use for encrypting and decrypting entries, and options of whether to use that, the keychain, the previously-entered password, or nothing when encrypting and decrypting. The default password is stored in the keychain, for security.
  • When displaying the encryption sheet, if there is a password for this entry in the keychain (i.e. it had previously been encrypted and the password saved), it is defaulted into the password fields. Otherwise if you've previously entered a password or any entry, it is offered instead. Otherwise if there is a default password specified in the preferences, it is suggested. The source of the password is indicated below the fields. These are all dependent on the preferences. You can of course replace the suggestion with a new password, if desired.
  • Similarly when decrypting, it will pre-populate with the keychain, last-entered, or default password, if available and valid. It only offers the password if it is correct, so you can just click the View or Decrypt buttons without typing anything.
  • Using the Services > Caboodle > Add Entry with Selection command, or dropping text on Caboodle's Dock icon, will now set the Subject to the first few words of the first line of text. Also improved the entry creation decision: if the selected entry has child entries when using these functions, the new entry will be a child of that one, otherwise it will be a sibling.
  • Now correctly indexes new text, instead of requiring a re-launch before it is available for searches.
  • Fixed a crasher when adding a new entry if displaying the search results.
  • Fixed a crasher when using the New Sibling button with no selection.
  • Fixed an issue with the Preferences window, where edits might not be saved when quitting with the window still open (specifically when an edit is still active).
  • Fixed a cosmetic bug with the Check for Updates feature when using a general release and wanting only general releases, and a beta release is available.
  • Updated the built-in Kagi purchasing tool to the latest version, which fixes some issues with Leopard.
  • Caboodle now requires Mac OS X 10.4 (Tiger) or later.

Download Caboodle 1.2b1 now!

The iPhone App Store is broken

iPhone App StoreWell, maybe not broken, but definitely showing some cracks.

The iPhone App Store is a great concept. One central place to get all applications for the iPhone; everything is there, and only there, available right on your iPhone.

But is it everything? Of course, Apple rightly filters out malware and illegal applications... but they have caused some controversy of late by refusing entry to generally useful applications. Worse, they've rejected a couple of apps recently because they "duplicate existing functionality".

One such is a podcasting app, which they say duplicates the iPod app... but seems to have offered other benefits. Another is a Gmail reader, which apparently is more convenient than using Apple's Mail or Safari to access Gmail.

Notice something in common there? Both rejected apps would have competed with Apple's own apps. Yet Apple has no problem with dozens of flashlight and sudoku apps. So it seems to a plain-and-simple anti-competitive move on Apple's part. That is not playing nicely, and potentially illegal. Governments tend to frown on that kind of behavior.

Why do I care?

I haven't written any iPhone apps yet... but I'd like to, in due course. I've written up a rough design for one new app, and would likely want to write companions for some of my Mac apps, like Dejal Simon. However, episodes like these make me and many other developers hesitate to begin, or continue.

Writing software is hard; it can take months to write even a relatively small application properly. What if we come up with a great idea, spend months of time designing, developing and polishing it, then submit it to the App Store, only to have it rejected based on some unannounced policy, or whim? That would be a huge waste of time and effort, which makes developers like me concerned about whether it's worth starting.

What Apple needs to do is provide a clear, detailed description of the iPhone App Store policies, and stick with it. Perhaps offer a contact point for discussions early on, to ensure that an app concept is worth pursuing.

And preferably make the policies as open as possible — none of this anti-competitive behavior. If someone writes an alternative email app or web browser, let them release it. If it is superior to Apple's, it will flourish, and everyone will benefit (including Apple, via their sales cut). If it isn't any good, it'll fade into obscurity.

It's really in Apple's interest to do this, to ensure developers put the effort into building quality apps for the platform. Apple, the ball is in your court. Make it right.

Simon Basic on MacUpdate Promo

For the next 24 hours only, you can get Dejal Simon, my website and server monitoring tool, for half price — only via the MacUpdate Promo site.

The promotion is offering a Basic license, which allows up to seven active tests, for just $14.95 (normally $29.95). I'm practically giving it away!

Dejal Simon

Check out the MacUpdate Promo page now!

Narrator 2.0.3 released

Narrator, my fun text-to-speech app that allows mixing multiple voices in a document and exporting to iTunes, has been updated to version 2.0.3.

This release includes some important bug fixes, and is a recommended update for everyone:

  • Fixed an issue with the Export to iTunes feature, where the importing-into-iTunes phase could fail with a "parameter error" if exporting a lot of text.
  • The lyrics value in the Export to iTunes is now limited to a length of 20,000 characters, to avoid overloading the export mechanism.
  • Fixed an occasional crasher if the word highlighting is out-of-sync with the spoken text for some reason.
  • Disabled automatic emphasis in speech for non-Apple voices, to work around a bug in the Cepstral voices, where it gives a spurious exception regarding an unexpected emphasis close tag, when there is nothing wrong with the text.

Download now!

Simon 2.4.2 released

Dejal Simon has been updated to version 2.4.2.

This bug-fix release includes some important fixes in the Mount, Twitter and Port plug-ins, plus report improvements and other changes, as detailed in the release notes. It is a recommended update for everyone.

  • Updated the Mount service and notifier plug-in to work around an Apple bug that sometimes causes remote volumes to not unmount properly.
  • Updated the Twitter service and notifier plug-in to the latest version of the Twitter engine.
  • Now bundles the latest version of the iPhone report template; previously was bundling an older version that didn't work quite right.
  • Fixed an issue with the RSS Feed report template, where the pubDate value wouldn't validate in some RSS feed readers.
  • Fixed a bug in the Port helper that prevented it from working properly with slow servers.
  • Added more logging to the Port helper to help diagnose difficulties sending text to the remote server, that solved the above issue.
  • Added a hidden preference to output debug information from the helper for the Upload to Remote Server report plug-in. It can be activated by entering "defaults write com.dejal.simon2 RemoteWebDebugMode YES" in Terminal.
  • Fixed a bug with setting the TestLastRecoveryDate and TestLastRecoveryTime notifier variables that caused them to output the previous recovery date and time when a recovery occurs.
  • Improved the date variables to output "never" when appropriate (instead of a date in the distant past), e.g. if outputting the failure date when the test hasn't failed yet.
  • Fixed a bug in the Spanish localization that prevented the Check for Updates feature from working.

Download now!

Computer woes update

As previously mentioned, my main Mac is having issues. In the meantime, I've moved to another Mac, so I can answer emails again; I'm all caught up now ("Inbox Zero", as the productivity people say). But as always, I encourage you to use the Dejal Forums, so others can help and benefit from the answers.

By the way, watch out for a new Simon bug-fix release, due in a couple of days.

My main Mac is out of action

Just to let you know, I will be slow to respond to emails for the next day or so, as my main Mac (a 17" MacBook Pro) is having major kernel panic issues. I think it's a hardware problem, as I've seen interference when connecting a second screen, and even on the built-in screen.

I can continue to monitor the Dejal forums via the other machine on my desk, but email will have to wait till I get the machine operational again, or can switch to a temporary machine if I need to take the MBP in for repairs. So please use the forums for support queries. Purchase processing is all automatic, so won't be affected.


I recently came across an interesting new website: wakoopa.

Similar to iusethis.com, it tracks usage of applications. But it has an advantage: you can download a tracker application that will watch what applications you use, and report them to the server. Thus it automatically keeps track of the applications you actually use, rather than relying on you hunting them out to manually report them occasionally.

All of my products are listed, of course (plus some internal tools).

The site design is quite attractive, with some social-site features, to organize into "teams", post and read reviews of products, and suggest software that you might like, based on what you currently use:

Syndicate content