Blog with ecto

I thought about another improvement for BwE today. It really only occurred to me when I created a new blog for nanowriwo 2004. When a new folder is created, I wonder if it is possible to add a folder action (of the same folder action script) to the created folder. This way I could just attach the script to the .Blogs folder, and then when I create special purpose blogs, I only have to create a folder on the Palm with the right name. I also wondered if I should use the “Journal Entry” feature of Agendus for blogging. Must look into this. I placed a Blogger bug report about post times not being respected by the server, but haven’t heard back. At least they fixed up the timezone error. Update: I’ve updated the script so that when a new folder is created, a “Blog with ecto” Folder Action Script is automatically added to the sub-folder. The latest version, as always, can be found at Blog with ecto.scpt. Thought: I should also tell ecto to update the account cache, but I need to know the server details, I think.

Palm Blogging via ecto

Well, using my limited AppleScript skills, I’ve created a system for blogging via ecto from my palm. Using the MacNoteTaker Conduit, and a Folder Action Script, ecto creates & posts a new post for each new file in the monitored folder. Now all I need to do is ‘fix’ the Conduit so it handles deleted files a bit better. However, since the Conduit was written for a different development environment, I’ll have to get the original working first. Oh, and this post was done directly from my Palm. Well, the paragraph above was, anyway. Bugs to get rid of:

  • Doesn’t do much parsing of the data. Paragraphs don’t seem to exist. Fixed: Used property body text instead of entry body.
  • Use an alternate form of getting the date. MacNoteTaker date-stamps all new files. I’ll use this. Done.
  • Parse the first line to get the post title. Done.

Updated Blog with ecto.scpt

I went through a couple of revisions of Blog with ecto the other night. I’ve now added the following feature:

  • Allows posting to multiple blogs, where the closest match to the folder name is used as the blog name.

There is a small issue - the date I set (using set entry_date to date date_stamp) doesn’t seem to be respected by ecto when it posts. I’ll do a bit more testing, and possibly issue a bug report. Anyway, the link for it is Blog with ecto.scpt.

Books Killer

I have downloaded Books, but only entered about one section of my library into the program. Entering ISBN codes is just too much fun. Now, watch out for Delicious Library. iSight barcode scanning. iPod Sync support (hopefully with PalmOS as well as iPod - I’ll put in a feature request!). Finally, a chance to totally catalog all of my books. Instead of doing real work! GRIN.

Writing Style under different conditions.

I seem to write differently lying on the couch using my Palm to how I do typing at the keyboard. I wonder if anyone could read the novel and work out which bits were written on Palm, and which on Mac.

512Mb SD Card

I just went shopping for SD cards, expecting to have to pay around $90 for a 256Mb one. My Zire 31 has an SD slot, and I thought I might need more than the measley 16Mb internal RAM it comes with. Anyway, after spending an hour or so searching through every shop in Rundle Mall, I went into Diamond’s, on Rundle Street. The girl behind the camera said “Oh, about $105 for the 512, and about $70 for the 256”. That put the price as 74 less than a 256 from DJs, for a card with twice the memory. So, I went out, checked out Ted’s ($119) and returned. The guy who served me said the computer showed $130ish, but she had quoted me at $105. Since he’d kept me waiting for about 10 min while he dealt with a customer on the phone, he knocked it down to a round $100. Woo-hoo!

Graffiti 2

Letters & Symbols I keep getting wrong on my Palm. Comma - becomes a J, or S, or even a CR or BS, but mainly a J. D - often becomes an A. T - either an F followed by a space, or an L followed by a <menu swipe>. 2 - 7. ( or ) - 1. E - Q. (If slack!) I also run into problems on words ending with L, or when 5 is followed by a 1. (I’ve changed the $ setting in Graffiti Prefs.) And every now and then, H doesn’t appear.

txt2pml.py

I found a heap of Palm TEXt REAd documents, but I don’t like the way they appear as (Doc) in PalmReader. So I wrote a script to convert them to PML, the format used by DropBook to make PNRd PPrs documents.

Basically, I found that on OS X the translation of txt2pdbdoc -d (decode back into text) wasn’t so good; a heap of characters needed to be changed.

I did have them all listed here, but if I edit them, ecto fucks up the encoding!

I also changed the === to an 80% horizontal line.

The [[[ - ]]] blocks were indented, and a footer line [* <Text>] is indented also.

I assumed the only use of a / was for italics, and _ for underlining.

I also assume the first non-empty, non === line is the Title, and the Author line starts with By. I use this info to create a ‘Title Page’.

The tricky bit was getting the Chapter Heading sorted, I needed to break the text into a list of strings to do this, and scan through. This slows the script down a lot, but it still works okay. I might profile it a bit and see where the slowdown is.

Anyway, here’s the latest version I’ve uploaded: txt2pml.py

I plan to make a version to process Project Gutenberg texts, but that’s on the back burner.

Welcome to the Mobile World

I bought a Palm the other day. I remember when they were still called Palm Pilots, and I really wanted one then. I was in Officeworks, looking, as I do, through the ‘Soiled & Damaged’ section. I got some half-price DVD+R discs the other day, just because someone had opened the packet and used one. Anyway, I digress. There was a Palm Zire 21 for sale at about 33% off, and I just couldn’t resist. I went home and checked that it would sync well with iCal and Address Book, and became aware of the ‘Mobile Phone’ issue (apparently data loss can occur when a nearby phone rings), but decided to buy it anyway. I’m pretty keen to do some developing on it - I’ve got Python on there, but I want to code a nice database front-end for all of my Touch stuff, that interacts with the Address Book details, and another for Roll marking and Marks Book keeping at school. So, I’m currently funnelling a whole lot of stuff, and will spend a bit of the next holidays coding, I hope.

Don't Break My Data!

I was excited about the update to Missing Sync for Palm OS. Finally, it promised to link up Palm and iCal categories. This to me was a big reason to upgrade, since I seem to spend lots of time manually updating calendar items to be in the right category. It also promised better Address Book support. Including multiple addresses, birthdays, and support for Address Book groups. And that’s where it falls down. Multiple addresses are fine, as are birthdays. And groups work, kind of. The big issue is that it’s possible in Address Book for a contact to belong to multiple groups. In fact, I have contacts that are in about 6 groups. When one of these contacts is synched to the Palm, it chooses one of the groups, and assigns it to this. That’s okay, I have no issues with that. What shits me is that when it is brought back into Address Book, it now only belongs to this group. All of my hard work making sure all contacts are in the right groups is wasted. There’s a large difference between a one-to-one and a one-to-many or many-to-one correspondence. And contact vs. groups can clearly be a one-to-many. Obviously, in iCal, the behaviour is simpler, as an event can only belong to one calendar. And another thing. When I have an email address on iCal, I want it to be an email address on the Palm. Otherwise, when I try to IR it to my phone, it only takes the number part of the email address. ie: luser88@hotmail.com -> 88 in the phone. I think I understand why Mark/Space have set this up: PalmOS doesn’t distinguish between phone numbers and email addresses (other than email addresses get E-mail as their field name), so the simplest way to match up Work email and Home email is to just classify them as work and home, and parse the data on the reverse sync looking for the @ sign. Of course, this doesn’t help me a helluva lot.