K-9 Mail 2.400 for Android

4 min read

It gives me great pleasure to announce K-9 Mail 2.400.  This release represents a significant improvement on K-9 Mail 2.000, released in early December.

K-9 Mail is an open-source email client for Android-powered devices. Originally based on the client shipped with Android 1.0, K-9 Mail has seen extensive development by a community of developers around the world over the past 15 months.

Major new features in this release include full-text search of mail, "starring" of messages, the ability to perform actions on multiple messages at once, a much more robust and efficient IMAP push mail implementation, significant performance improvements and a new icon designed by Vincent Lum.

You can download K-9 Mail 2.400 from k9mail.googlecode.com or from the Android Market.

Other user-visible changes include:

  * Guess mime type (when not specified) of attachments of received messages using file name extension so that we can open them - baolongnt

  * Headers in Accounts, Folder List and Message List now show unread count and background processing activity -- danapple0

  * Added a new "touch friendly" style with message previews - jessev

  * Made it possible to enable or disable "stars" for flagged messages - jessev

  * Added swipe-to-select for operations on multiple messages - jessev

  * There is now an Expunge action in the option menu. - danapple0

  * A new "Batch ops" option menu in Message List.  Provides star/unstar, mark as read/unread and delete and select/deselect all.  Move and copy are partially implemented, but disabled. -danapple0

  * The "Sort by..." menu now toggles ascending/descending when the currently selected sort mode is clicked. -danapple0

  * Eliminate carriage returns from reply and forward text.  (Fixes Issue 518) - danapple0

  * Add a global preference for enabling animations, beyond those that are necessary.  Defaults to "enabled." -danapple0

  * 250, 500 and 1000 messages may now be synced per folder. - jessev

  * Allow user to set a limit on the number of folders to be handled with push technology. - danapple0

  * Initial implementation of CRAM-MD5 support for IMAP and SMTP. (Patch contributed by Russ Weeks ) - jessev

  * For IMAP accounts, it is now possible to disable the copying of deleted messages to the Trash folder, by setting the Trash folder to -NONE-. - danapple0

  * Each IMAP account can be set to expunge messages in a folder as soon as a move or delete is performed on the folder ("immediately"), each time the folder is polled, or only when executed manually. - danapple0

  * For WebDAV accounts, the user can now choose the server-side equivalents of the special folders, just like for IMAP. - danapple0

  * Implemented delete intent broadcast using a modified patch from stephane.lajeunesse - baolongnt

  * Implementation of a Receiver and Service to provide for the capability to accept control from other Android applications.  Allows for changing both Account-level and global settings.  Account-level settings can be applied to a single Account or to all Accounts. - danapple0

  * Overhaul our setup wizard to have a more reasonable bottom bar and to reuse that layout code where possible; standardize the id of the 'next' button - jessev

  * "Starred" messages in MessageList and Message views - jessev

  * Bulk-star, delete and "mark as read" for messages - baolongnt,danapple0,jessev

  * Implement References/In-Reply-To/X-User-Agent headers. Patch from e.w.stemle - jessev

  * You can now "swipe" left or right in the Message view to go to the previous or next message, respectively - jessev

  * First pass at stopping the "Sending messages" notification when there's nothing to send. - jessev

  * fix the header background color to not ignore theme in horizontal mode - jessev

  * Add double-tap at top or bottom of a message to jump to the top or bottom of the message - jessev

  * Improvements to render quality of plaintext messages. - jessev

  * Added a message-flip animation. - jessev

  * New sort-by and reverse-sort icons by Vincent Lum - jessev

  * Deleting messages in messageView now preserves the direction the user was "travelling" in before the delete - jessev

  * Provide additional date format display options in Preferences - danapple0

For a full set of release notes, please visit:

    http://code.google.com/p/k9mail/wiki/ReleaseNotes

Learn from my misery: Don't buy a nook.

13 min read

The short version

Barnes & Noble have, without a doubt, the worst customer service of any company I have dealt with in the past decade.

They've made repeated promises to me that they've failed to keep and told me that it's my fault. They've put out _press releases_ about how generously they were taking care of the customers whose nooks failed to arrive for Christmas and then turned around and flatly refused to honor that promise.

If you want a hackable linux-based ebook reader with a great user experience and great customer support, buy a Kindle.

Update - January 26: It took the Internet four days to do what B&N never managed - Y'all have bought enough stuff from amazon after clicking that "buy a kindle" link above to net me $100 in referral fees (That's 3 kindles and some assorted other stuff.) Thank you! In turn, I'll be making a $100 donation to the EFF.

Update - Feb 2: Last Monday, around lunchtime, I got voicemail from Melanie at B&N.  We didn't manage to actually connect on the phone until Wednesday. She was friendly and apologetic.  Somewhat differently than all my previous interactions, she told me that the reason I didn't the promised compensation was that she had denied the request. And that she and made a mistake. She said she was sorry. The gift card showed up a few hours later and the shipping charges were refunded on Friday. All told, still not exactly the smoothest shopping experience. But it's over.

The long, ranty version

On November 9th, I ordered a nook from Barnes & Noble. It promised to be the most awesomest ebook-reading experience ever. With Wifi and 3G connectivity, it was clearly going to be better than the Kindle I had to hack to network overseas. With native support for ePub and PDF, I wasn't going to need to go and gain root on the device and then spend weeks creating document conversion software like I did for the Kindle. Best of all, it was going to run Android, so I'd be able to write custom software for it with relative ease.

When I placed my order on November 9th, Barnes & Noble promised me a ship date of December 11th. Oof. I waited patiently...

On December 11th, no nook arrived. Instead, I got email from Barnes & Noble:

From: Barnes & Noble 
To: jesse@fsck.com
Subject: Here Comes Your nook
This is to confirm that your nook is about to ship. Although your
shipment has been slightly delayed, we've upgraded you to overnight
shipping to ensure you'll receive your nook by December 18.

On December 13th, I was warned that accessories might hold up my order and that if I really wanted my nook, I should cancel the light and warranty I'd ordered along with my nook. In reply to my clicks, I got email from Barnes & Noble confirming that I had cancelled the booklight and warranty they sold me and that my nook had already entered the shipping process and was not cancelled.

On December 17th, I spoke to Barnes & Noble customer service. They confirmed that my nook had not shipped yet and that I would not receive it on the 18th. In fact, she told me that it would ship on December 21st and that it hadn't been upgraded to overnight shipping - that it would show up on Christmas Eve. This was somewhat frustrating to me as this was now the _second_ missed ship date for my order. I wrote to customer service that night. Their autoreply told me they'd get back to me within 48 hours. They didn't.

On December 21st, I called up Barnes & Noble to ask when my nook might ship. The first tier customer service rep was....actively hostile until after he put me on hold and read through my order. When he came back on the line, he said "Oh. You're on a third delay. Hold please." I believe that it was at this point that I was first told that if they blew their December 24th delivery date, they were going to give me a $100 gift card.

Later in the day on December 21st, I got this mail from Barnes & Noble:

From: service 
To: jesse 
Subject: Re: Help! multiple nook delays and broken promises
Dear Customer,
We apologize for any confusion. You are set to receive the order on
12/24.

On December 24th, I got this mail from Barnes & Noble:

Date: Thu, 24 Dec 2009 10:34:23 -0500 (EST)
From: service 
To: jesse 
Subject: Re: Help! multiple nook delays and broken promises
Dear Jesse Vincent,
Thank you for shopping with us.
Despite our efforts, we are unable to ship your order  in the
expected timeframe. We sincerely apologize for the multiple delays with
you item. We see that you have made contact with our customer service
center and you have been provided of the steps we are taking with your
order. We thank you for your patience and appreciate you working with us
in this matter.

The "steps" the customer service rep alluded to were, of course, the promise made by Barnes & Noble the previous day - If I didn't get my nook by Christmas, they were going to give me a $100 gift card.

I replied to this mail within a few hours and heard nothing back by email for a week.

On December 28th, while waiting for a flight from Boston to San Francisco, I called Barnes & Noble's customer service line again to ask when I might, you know, see my nook and the $100 they'd promised me. I was immediately transferred to a supervisor. The supervisor was friendly and apologetic. (Everyone I've spoken to at Barnes & Noble has been personally friendly and apologetic. Their call-center staff have _excellent_ empathy training.) The supervisor put me on hold and read over my order. When he came back on the line, he apologized again and confirmed that yes, something was wrong and that yes, Barnes & Noble owed me $100. He told me that I would receive email with a $100 Barnes & Noble gift card within 24 hours and that he was personally starting an inquiry into what the heck happened to my nook. He promised I'd get email back from him within a day. At that point, I was pretty happy that someone was finally being responsive and that this was basically all sorted out.

About 6 hours later, I got off the plane at SFO and checked my email. I had mail from Barnes & Noble! It was not the mail I expected:

Dear jesse vincent ,
As you requested, your order  been canceled.

At this point, Barnes & Noble customer service was closed for the night. Some friends joked that perhaps Barnes & Noble felt so bad about how badly they'd jerked me around that they'd cancelled the order because they were sending me a free nook. That would have been nice. Sadly, it was not what had happened.

I called the next day (December 29) and related the newly updated tale of woe. I was put on hold and transferred to a supervisor. The supervisor was friendly and apologetic. She told me that the only thing she could do was to start an inquiry into my order with operations and that it would take up to three business days. Someone would get back to me before those three days were out and tell me what happened.

Three business days came and went. No call from Barnes & Noble.

Meanwhile, on January 1st, I got email back from Barnes & Noble in reply to the email I sent them on December 24th. It read:

Dear Customer,
Thank you for your e-mail.
We recently received an email from you. However, the email did not
include a text message. Kindly re-send your inquiry with a text message
so that we may respond to your request.

...followed by the full text of the message I'd sent them.

A day later, on January 2nd, they sent me another reply to the same message:

Dear Customer,
Thank you for inquiring about your order with BarnesandNoble.com. We've
changed our order inquiry policy to futher strengthen the privacy and
security needs of our customers.
To respond to your request, we must ask you to provide your order
number, which you can find in the subject line of your order
confirmation email or shipping confirmation email.

...followed by the full text of the mail I'd sent them, including the exchange I'd had with Barnes & Noble customer service staff dating back to December 21st. This included the ticket number we'd been corresponding on throughout this time, as well as my name, address, phone number, email address and, of course, the order number.

On January 3rd, I called up Barnes & Noble customer service again. Once I provided my order number and an abbreviated sob story, I was transferred to Regillio, a supervisor. He was polite and apologetic. He put me on hold and read through the notes on my order. When he got back on the phone, he told me that he was going to have to research this issue and get back to me.

On January 4th, he called me back. The man deserves a medal. He told me that yes, something had cancelled my order, but that it was clearly in error. Unfortunately, there was no way to resurrect the order. He could, however, enter a new order and bump it to the front of the queue. Regillio did assure me that he was waiving the shipping charges on this new order and that I should ignore any shipping charges on the invoice. With shipping and tax, the order totalled out at $278.19.

On January 5th, my nook shipped...via some sort of process that involved an off-brand delivery service from New Jersey shipping my nook to a USPS depot in Massachusetts and then having the postal service deliver my nook. It took 3 or 4 days to arrive. No, they didn't honor their previous promise to upgrade my order to overnight shipping. It was only a few more days of delay, but it was another broken promise.

As of January 22nd, my credit card statement shows that Barnes & Noble charged me $278.19. No, Barnes & Noble did't refund the shipping charges like they'd promised. It's not a lot of money in the grand scheme of things, but it was yet another broken promise.

On January 7th, Angie from Barnes & Noble emailed me to say they needed another 24-48 hours before they could tell me what happened to my gift card.

On January 15th, I called up Barnes & Noble's customer service line to see if they'd managed to figure out why they hadn't yet sent me the gift card they'd promised or called me back to explain what had gone wrong. I read my order number to the first-tier customer service rep. She told me that she was transferring me to a supervisor. The supervisor, Wendy, was polite and apologetic. She told me that my order's notes showed that Barnes & Noble corporate had rescinded their promise to send me a $100 gift card because I'd cancelled my order. She then commented that this must clearly be in error because the notes also indicated that for weeks after I'd purportedly cancelled my order I'd been told, every several days, that my nook would ship in several days. She told me that she would petition management to un-rescind their promise to me. She promised to get back to me by the end of the day or the following Monday.

Nobody called me on Monday, January 18th.

On January 20th, I called Barnes & Noble to ask what had ever happened to that $100 they promised me. The first-tier customer service rep spent a few minutes reading the notes on my order before telling me that "oh, yeah. I see here we said we'd get back to you by Monday. And I don't see any notation that we ever got back to you." I waited on hold for a supervisor for 15 or so minutes. The supervisor was friendly and apologetic. She told me that they would investigate what happened and get back to me in 3 business days. I explained to her (politely, I promise!) why that wasn't going to be ok. She transferred me to her supervisor, Tiffany. Tiffany was even more friendly and even more apologetic. Tiffany promised to call me back on Friday to tell me what had really happened and how Barnes & Noble was going to fix it.

Today is January 22nd. Tiffany called me back about an hour ago and told me that Melanie, a Vice President of Customer Care had instructed her to tell me that, despite repeated assurances to the contrary, Barnes & Noble wasn't going to be able to honor their promise to me because their computers showed that my order had been cancelled.

Where do I go from here?

At this point, I have little hope of ever seeing any sort of compensation from Barnes & Noble. They've strung me out past the limit of their 14-day return policy, so I couldn't even return the device.

I don't really know what's next for me and the nook. I can tell you that Barnes & Noble are never getting another dime of my money. I hope you think twice before giving them any of yours.

Somewhat coincidentally, Amazon announced the Official Kindle SDK this week. If you want a hackable linux-based ebook reader with a great user experience and great customer support, buy a Kindle. (Yes, I make money if you click that link. Actually, if just four people buy Kindles because of this post, I end up with the $100 Barnes & Noble stiffed me.)

Update - January 26: It took the Internet four days to do what B&N never managed - Y'all have bought enough stuff from amazon after clicking that "buy a kindle" link above to net me $100 in referral fees. (That's 3 kindles and some assorted other stuff.) Thank you! In turn, I'll be making a $100 donation to the EFF.

Update - Feb 2: Last Monday, around lunchtime, I got voicemail from Melanie at B&N.  We didn't manage to actually connect on the phone until Wednesday. She was friendly and apologetic.  Somewhat differently than all my previous interactions, she told me that the reason I didn't the promised compensation was that she had denied the request. And that she and made a mistake. She said she was sorry. The gift card showed up a few hours later and the shipping charges were refunded on Friday. All told, still not exactly the smoothest shopping experience. But it's over.

Tentative 2009 travel

1 min read

Exceedingly tentative 2009 travel schedule.

Initial estimate: 75736 miles

Current total estimate: 82264

Miles flown to date: 36228

NYE at 23i

1 min read

Hi!

As we get ever-better at just-in-time party planning, we're able to defer planning, announcing or even inviting people to parties until the last minute. This year, we've managed a new record - New Year's Eve is less than a week away and this is the first you're hearing about our party. That doesn't mean we don't want to see you, just that we're VERY good at procrastination.

If you find yourself in the Western hemisphere on December 31, we'd love to see you.

We'll have the requisite snacks, booze and non-booze. We also have a limited amount of crash space. If you know you'll want a place to sleep, please don't hesitate to ask.

[address removed in 2015]

Untitled

4 min read

Say -- I'm going in a swimming, I am. Don't you wish you could? But of
course you'd druther work -- wouldn't you? Course you would!"
Tom contemplated the boy a bit, and said: "What do you call work?"
"Why ain't that work?"
Tom resumed his whitewashing, and answered carelessly: "Well, maybe it
is, and maybe it aint. All I know, is, it suits Tom Sawyer."
"Oh come, now, you don't mean to let on that you like it?"
The brush continued to move. "Like it? Well I don't see why I oughtn't
to like it. Does a boy get a chance to whitewash a fence every day?"
That put the thing in a new light. Ben stopped nibbling his apple. Tom
swept his brush daintily back and forth—stepped back to note the effect
-- added a touch here and there-criticised the effect again -- Ben
watching every move and getting more and more interested, more and more
absorbed. Presently he said: "Say, Tom, let me whitewash a little."

Mark Twain, The Adventures of Tom Sawyer

It gives me great pleasure to announce the release of Perl 5.11.3.

This is the fourth DEVELOPMENT release in the 5.11.x series leading to a stable release of Perl 5.12.0. You can find a list of high-profile changes in this release in the file "perl5113delta.pod" inside the distribution.

Perl 5.11.3 is, hopefully, the last release of Perl 5.11.x before code freeze for Perl 5.12.0. At that point, we will only make changes which fix regressions from previous released versions of Perl or which resolve issues we believe would make a stable release of Perl 5.12.0 inadvisable.

You can (or will shortly be able to) download the 5.11.3 release from:

http://search.cpan.org/~jesse/perl-5.11.3/

The release's SHA1 signatures are:
MD5: 0051020f8ae2a89c9d624e01ed56b02c perl-5.11.3.tar.bz2 SHA1: 7fe87005437002f0b515d983429d0bfba36398ac perl-5.11.3.tar.bz2

This release corresponds to commit 9c3f2640bc in Perl's git repository. It is tagged as 'v5.11.3'.

We welcome your feedback on this release. If you discover issues with Perl 5.11.3, please use the 'perlbug' tool included in this distribution to report them. If Perl 5.11.3 works well for you, please use the 'perlthanks' tool included with this distribution to tell the all-volunteer development team how much you appreciate their work.

If you write software in Perl, it is particularly important that you test your software against development releases. While we strive to maintain source compatibility with prior stable versions of Perl wherever possible, it is always possible that a well-intentioned change can have unexpected consequences. If you spot a change in a development version which breaks your code, it's much more likely that we will be able to fix it before the next stable release. If you only test your code against stable releases of Perl, it may not be possible to undo a backwards-incompatible change which breaks your code.

Perl 5.11.3 represents approximately one month of development since Perl 5.11.2 and contains 61407 lines of changes across 396 files from 40 authors and committers:

Abigail, Alex Davies, Alexandr Ciornii, Andrew Rodland, Andy Dougherty, Bram, brian d foy, Chip Salzenberg, Chris Williams, Craig A. Berry, Daniel Frederick Crisman, David Golden, Dennis Kaarsemaker, Eric Brine, Father Chrysostomos, Gene Sullivan, Gerard Goossen, H. Merijn Brand, Hugo van der Sanden, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Jim Cromie, Karl Williamson, Leon Brocard, Max Maischein, Michael Breen, Moritz Lenz, Nicholas Clark, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Stepan Kasal, Steve Hay, Steve Peters, Tim Bunce, Tony Cook, Vincent Pit and Zefram.

Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.

Notable changes in this release:

  • Perl is shipped with Unicode version 5.2, itself released in October 2009.
  • Perl can now handle every Unicode character property.
  • The experimental 'legacy' pragma, introduced with Perl 5.11.2 has been removed. Its functionality has been replaced with the 'feature' pragma.
  • Numerous CPAN "toolchain" modules have been updated to what we hope are the final release versions for Perl 5.12.0.
  • Many crashing bugs or regressions from earlier releases of Perl were fixed for this release.

Development versions of Perl are released monthly on or about the 20th of the month by a monthly "release manager". You can expect following upcoming releases:

  • January 20 - Ricardo Signes
  • February 20 - Steve Hay
  • March 20 - Ask Bjørn Hansen

Buy for Free?

4 min read

I got to play with a nook today.

At lunch, I called the local B&N-operated college book store and asked if they had a nook. They confirmed that they had one and that I could take a bit of time to play with it.

Showing up, I saw a nook on its stand and second nook just headed off into the back room with a manager.  The display nook was just powering up. 

Boot time felt a little longer than the Kindle, but I didn't have mine around for comparison.

First up. The UI.  Aside from paging, all your interaction takes place on the touch display...and it's a little weird. In about 20 minutes of playing around, I didn't feel like I "got" the user interaction paradigm. Sometimes scrolling lists were in the UI. Sometimes they were on the eInk display.  I found myself really missing the Kindle's joystick.

Wifi bookstore browsing was a little spotty. I didn't get a good feel for how the experience is "supposed" to feel.

I decided to try to "share" one of the books that the demo nook had "bought" with myself. Adding contacts is really easy. You just type in a username and an email address on the touchscreen.  I didn't make a single typo. The keyboard isn't quite the standard Android keyboard - there's actually _less_ visual feedback. But it worked pretty well.

When I couldn't find any way to "loan" me one of the demo unit's books, I asked the B&N staffer. He told me that for now, "only a very limited number of books are actually available to loan."  We tried to find one we could loan me. We couldn't.

It was at about this time that I casually asked if it might be possible to "try one of the ebooks from my laptop."  I was dispatched to the Information Desk to ask permission.  The local staff weren't aware of a policy, but decided that it was too risky for now and told me to check back in a day or two after they talk to corporate.

So, dear readers, no "adb logtrace" output for you...yet. 

While I was there, a couple 20-something guys came in and chatted up the B&N staffer for a bit. One of them said to the other - "Man, when my girlfriend gets hers, I' am so hacking it." They went on to mention that it looked like it would be a lot easier to hack than the Kindle.  I kept my mouth shut.

Next, the PDF reader.  It came as a surprise to the B&N staffer that there were already a couple PDFs on the Nook.  The good news: Reflow is there. Font size and typeface are user-selectable.  The bad news - Zoom and Pan-n-Scan were nowhere to be found.

Random tidbits:  the back is removable. The B&N staffer claimed that nooks will come with several covers in different hues.  I wasn't allowed to see the user-changeable battery.  Every nook has an email address @nook.com - Presumably that works the same way as Amazon's "mail your docs here" service. 

The B&N staffer kept trying to push me to coverflow mode and away from "list the titles and authors of your books on the big, easily readable screen" mode.  I'm not really a fan of the coverflow UI for "pick between my 10 books."

The book-buying experience was pretty seamless, though it felt like there was less discoverability in the bookstore compared to Amazon's on-device store.  Maybe I was just doing it wrong.  I did find and download several free books that came from Google Books.  They warned that they were uncorrected scans, but the quality was pretty reasonable.  They contained a mix of text and images and were quite readable.  The weirdest bit was trying to download a free book from the Google Books corpus: I had to click a big "Buy for free?" button and then confirm that I really wanted the book.

K-9 Mail 2.000 for Android

6 min read

I'm pleased to announce the release of K-9 Mail version 2.000. This release represents several months of development and about 7000 lines of code changes.

The biggest "exciting new thing" in this release is Dan Applebaum's work to bring us true Push Mail using IMAP IDLE. I've been using it for about a month now and can no longer live without it. On top of that, we've closed about 50 bugs across all aspects of the application.  I've included a list of bugs known to be resolved, as well as an abbreviated change list below. 


You can download K-9 2.0 from the Android market. (There's a good chance that you're already using a 2.0 release candidate if you've been regularly updating K-9 from the market.)


As always, we welcome your feedback. The best place to report issues is at http://k9mail.googlecode.com. The best place to discuss K-9 is the k-9-mail mailinglist at http://groups.google.com/group/k-9-mail


Changes in K-9 2.000 (since 1.011)


    * *Push mail for IMAP accounts* using IMAP IDLE - danapple0

    * Accelerated message list loading using pipelined architecture - danapple0

    * More efficient background queue processing - danapple0

    * Improved unread-count tracking - danapple0

    * Improved threading model in MessagingController for higher efficiency and better responsiveness - danapple0

    * Disable polling and pushing when no network is available - danapple0

    * Provide explicit menu items to send messages from the Outbox - danapple0

    * Restore operation of hot keys and zoom when viewing a message - danapple0

    * Restore detection of hard keyboard to control display of navigation buttons when viewing a message - danapple0

    * Persist a copy of the message list when rotating for faster response - danapple0

    * Better deletion of IMAP messages and logging when deletion failures occur - danapple0

    * WebDAV / MS Exchange improvements: move, copy, delete and mark as unread now work. - danapple0

    * Fixes for WebDAV connection problems. - danapple0

    * Fixed bug where wrong messages is displayed after screen rotation (issue 556) - baolongnt

    * Respect global 'Background data' preference and provide ability to turn of all synchronization. - danapple0

    * Fixes for running on Android 2.0 - danapple0, jessev

    * SMTP and IMAP protocol fixes - danapple0

    * "Delete from server" is now the default for IMAP andxzz WebDAV accounts - danapple0

    * New sort-by and reverse-sort icons by Vincent Lum

    * Made the date column a bit wider to fully view time timestamp and view more of the date in landscape mode - baolongnt

    * We now accept all mime types when handling the android.intent.action.SEND intent - baolongnt

    * Normalize padding in setup widgets; turn off "fading edges" in setup widgets - jessev

    * Added content-type detection using file name extension (This adds better integration with OI File Manager which implements the ACTION_GET_CONTENT intent) - baolongnt

    * Remove duplicated "make this account the default" option during setup - jessev

    * Give the user the choice of whether to enable Push as they create a new IMAP account. - jessev

    * Make the status messages for folders that are being synced with push a bit prettier - jessev

    * Don't show folder choosers before we have a working account -jessev

    * Reorganize the Account Settings page, regrouping options by "what a reasonable user might want to change at the same time" - jessev

    * Make our use of email/mail consistent. It's "mail" except for "Email address" - jessev

    * Rephrase a number of unclear or oddly phrased messages (many dating from AOSP) - jessev

    * Slightly better MessageView fit-to-screen and scrollbar flow - jessev

    * First pass attempt at fixing the "Android 2.0 breaks contacts lookup" issue

    * K-9 now targets Android 1.6 (with 1.5 support) to support QVGA devices - jessev    

    * K-9 now  provides 2 - 24 poll check periods - danapple0

    * Account setup UI overhaul - jessev 

    * Record permanent failures into K9mail-errors -danapple0

    * K-9 now detects "Aw:" as being the same as "Re:" - jessev

    * Enable fast scroll in message view, list view and "pick a folder" dialogs -jessev

    * Sort the "NONE" folder to the top of the "auto-expand folder" list -jessev

    * All our layouts now use dip instead of px, for great weird-resolution weird-screen-size justice - jessev

    * Better italian translation - tauromenion

    * Fixed issue with reply icon in subject in message view screen not being set properly when navigating around using up and down arrows - baolongnt

    * Displays a warning and allows K-9 to continue in some situations that otherwise cause a crash.  -danapple0

    * Eliminate secret debug preferences activity.  Add debug preferences to global preferences. - danapple0

    * WebDAV: Automatically add / separators if not supplied by user.  -danapple0

    * WebDAV: Set authentication header for downloading and sending messages, so that those functions work with sites using Basic authentication. -danapple0

    * WebDAV: Don't swallow log Exceptions.  Instead, allow Exceptions to percolate up to higher levels so that they can be logged into K9mail-errors. - danapple0

    * WebDAV: Provide appendMessages function, so that Drafts get stored on the server - danapple0

    * Prevent a crash and put up a Toast when invalid data is entered early in the new-account setup workflow - danapple0

    * MessageListener.synchronizeMailboxNewMessage() does not requires a context to be passed anymore. -baolongnt

    * We use the application as context when broadcasting message received intents - baolongnt

    * Refactored intent constant classes - baolongnt

    * Better icon for the About menu item - baolongnt

    * Added intent for viewing individial messages - baolongnt

    * Issues fixed in since 1.0x:

      * Issue 4 - danapple0

      * Issue 44 - baolongnt

      * Issue 59 - danapple0

      * Issue 133 - danapple0

      * Issue 290 - danapple0

      * Issue 448 - danapple0

      * Issue 482 - danapple0

      * Issue 538 - danapple0

      * Issue 551 - danapple0

      * Issue 556 - baolongnt

      * Issue 573 - mpredo
sin

      * Issue 574 - danapple0

      * Issue 577 - danapple0

      * Issue 587 - danapple0

      * Issue 587 - danapple0

      * Issue 589 - baolongnt

      * Issue 589 - baolongnt

      * Issue 606 - mark.himsley

      * Issue 607 - baolongnt

      * Issue 628 - danapple0

      * Issue 650 - danapple0

      * Issue 651 - danapple0

      * Issue 654 - danapple0

      * Issue 656 - danapple0

      * Issue 657 - danapple0

      * Issue 668 - danapple0

      * Issue 673 - danapple0

      * Issue 675 - danapple0

      * Issue 682 - danapple0

      * Issue 696 - danapple0

      * Issue 708 - themaninthesuitcase (updated by danapple0)

      * Issue 710 - baolongnt

      * Issue 712 - danapple0

      * Issue 722 - danapple0

      * Issue 733 - danapple0

      * Issue 737 - danapple0

      * Issue 738 - danapple0

      * Issue 742 - danapple0

      * Issue 742 - danapple0

      * Issue 744 - jesse

      * Issue 747 - danapple0

      * Issue 752 - danapple0

      * Issue 753 - baolongnt

      * Issue 761 - baolongnt

      * Issue 762 - baolongnt

Kindle 2 users - HEADS UP!

1 min read

Today, Amazon shipped an update for your Kindle 2 (and for the DX and The Kindle 2 International). It adds PDF support. With reflow.  This is awesome and obsoletes a big part of what I was trying to do with savory.

Now for the bad news. It looks like today's firmware update locks down your device such that it will only take signed firmware updates.  I'm sure some enterprising haxx0r over at mobileread.com will homebrew up an alternate version of the updater that doesn't screw you over. But you might want to leave your wireless turned off if the latest update hasn't already been pushed on you.

Odds and ends

2 min read

It's been a while since I've blogged about Kindle stuff. I just pushed up the little bit of custom code from my cobbled together Ubuntu/X11 on Kindle hack.  You can find it at http://code.google.com/p/savory/source/browse/trunk/x11-on-kindle/

Making use of that is still a bit of work. You need to install a copy of Jaunty Jackalope (or possibly Karmic) for ARM into a QEmu emulator. Then grab that ext2 filesystem image, copy it over to your kindle (2, DX, etc) and mount it somewhere locally and then chroot into it.  From there, you can use the x.org patch at the google code link above to build a copy of x.org that will actually work on the Kindle's display (and doesn't depend on having a tty).  The various support scripts I used for my various demos are all up there as well.  This isn't nearly as polished as Savory, but, well, it's not really an end-user thing at this point ;)

I don't think I'm going to spend a whole lot more time on this, but you never know.

I've been spending a bunch of my time on this "Perl" thing of late. Apparently, I volunteered myself to get Perl 5.12 out. Now I'm responsible for it or something.

-j

Oops! I did it again - Perl 5.11.1

4 min read

Milo had been caught red-handed in the act of plundering his countrymen, and, as a result, his stock had never been higher. He proved good as his word when a rawboned major from Minnesota curled his lip in rebellious disavowal and demanded his share of the syndicate Milo kept saying everybody owned. Milo met the challenge by writing the words "A Share" on the nearest scrap of paper and handing it away with a virtuous disdain that won the envy and admiration of almost everyone who knew him. His glory was at a peak, and Colonel Cathcart, who knew and admired his war record, was astonished by the deferential humility with which Milo presented himself at Group Headquarters and made his fantastic appeal for more hazardous assignment.


- Joseph Heller, Catch-22 

 

It gives me great pleasure to announce the release of Perl 5.11.1.

This is the second DEVELOPMENT release in the 5.11.x series leading to a stable release of Perl 5.12.0. You can find a list of high-profile changes in this release in the file "perl5111delta.pod" inside the distribution.

You can (or will shortly be able to) download the 5.11.1 release from:

http://search.cpan.org/~jesse/perl-5.11.1/

The release's SHA1 signatures are:

4eb796d28849ea21466166cea0b580d98163564f  perl-5.11.1.tar.bz2

aa4ca3b0cffa1bbcbcdb09e81c6ece759112ce14  perl-5.11.1.tar.gz

We welcome your feedback on this release. If you discover issues with Perl 5.11.1, please use the 'perlbug' tool included in this distribution to report them. If Perl 5.11.1 works well for you, please use the 'perlthanks' tool included with this distribution to tell the all-volunteer development team how much you appreciate their work.

If you write software in Perl, it is particularly important that you test your software against development releases. While we strive to maintain source compatibility with prior stable versions of Perl wherever possible, it is always possible that a well-intentioned change can have unexpected consequences. If you spot a change in a development version which breaks your code, it's much more likely that we will be able to fix it before the next stable release. If you only test your code against stable releases of Perl, it may not be possible to undo a backwards-incompatible change which breaks your code.

In the release announcement for 5.11.0, I asked readers to test the new version of Perl with their in-house applications and CPAN modules.  Among other things, that testing turned up previously undiscovered issues in a change to Perl's Regular Expression semantics which we were able to defang in time for 5.11.1.

\Notable changes in this release:

  • Package declarations can now include a version number. 
  • suidperl is no longer available as part of perl. If your code depends on suidperl, you need to find an alternate solution. (This was actually true as of 5.11.0)
  • Over the years a number of language constructs and interpreter features have been deprecated and will eventually be removed. As of this release, Perl enables deprecation warnings by default.
  • Perl's tests are now aware of (and work around) a bug in Mac OS X 10.6 locales.
  • Support for Windows 95, 98, ME and NT4 has officially ended. 

This release represents approximately 3 weeks development since Perl 5.11.0, containing 22,000 lines of changes across 396 files from 26 authors and committers:

Abigail, Alex Vandiver, brian d foy, Chris Williams, Craig A. Berry, David Fifield, David Golden, demerphq, Eric Brine, Geoffrey T. Dairiki, George Greer, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Josh ben Jore, Max Maischein, Nicholas Clark, Rafael Garcia-Suarez, Simon Schubert, Sisyphus, Smylers, Steve Hay, Steve Peters, Vincent Pit and Yves Orton.

Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.


Yves Orton will release Perl 5.11.2 on November 20, 2009.

Leon Brocard will release Perl 5.11.3 on December 20, 2009.

Ricardo Signes will release Perl 5.11.4 on January 20, 2010.