Vacation

We’re on vacation. I really like the sound of that. I’m sitting on a couch in the living room of our rented townhouse on the beach on the Oregon coast, watching the fog slowly lighten as the sun begins to come up and listening to the waves roll in, as Li and Deb sleep off the effects of 800+ miles in the car.

Eastern Oregon

Eastern Oregon @ 65mph: I had forgotten how pretty this part of the state can be...

This is our first real vacation since we got Li, and she traveled far better than we might have hoped: she did great in the car and although she took quite a bit longer to fall asleep, it lacked much of the drama of our “travels” the past few years. We stopped briefly in Boise to leave a huge bag of peaches for Deb’s folks and then made it as far as Ontario. We left Ontario after breakfast; I was reminded again of how pretty eastern Oregon (after Ontario) actually is. The rain started at The Dalles — intermittent rain, thankfully — but let up long enough for us just to get misted on at Multnomah Falls (pix coming). Heavy rain and heavy traffic through Portland (where “heavy” probably really means “light”, but you have to consider the source), and steady rain all the way to “home” on the coast.

Li saw and felt the Pacific Ocean yesterday evening for the first time. After a day and a half in the car, we grabbed a bite for dinner, found what passes for a grocery store in a tiny Oregon coast town, and then Li and I headed down to the water. It had rained all afternoon as we drove and was actually still raining when we arrived, but by the time we were done with dinner the rain had stopped and the fog had started rolling in… but we were determined we were going to the beach. Early evening, fog, surf, seagulls, and the two of us… and she laughed and giggled and ran from the waves and laughed when they caught us and washed the sand from under her feet as they slid back out.

“How big is it, Dad?” “Really big, Li; it goes all the way to China.” “Wow…”

Amazon is going to miss the mark

I want to be excited about the idea of Amazon bringing an Android-based tablet to market. I really do… and I realize that much at this point is still speculation, and that reacting to speculation is potentially a waste of energy. The more I read, though, about Amazon’s approach with their initial foray into the tablet landscape, the more it seems there’s more to be concerned about than excited. Amazon is probably one of the few companies that can realistically stand a chance at competing with Apple and the iPad in bringing an appealing alternative tablet to market, but their initial approach just simply seems to have too many strikes against it for it to succeed…

  1. Size: A 7″ tablet is the wrong size: too close to a phone and too small for almost anything I would want a tablet for. I’ve used an iPad; that’s the right size. At 7″, this is not really a competitor for the iPad. Further…
  2. Hardware limitations: Reportedly based on just a two-finger multi-touch display (versus the iPad’s 10-finger interface), with just 6GB of storage, a single-core processor, and no camera, all of this adds up to an even stronger argument that not only can this device not compete with the iPad, it really can’t compete with other 7″ tablets on much other than price.
  3. Forked Android: This may or may not be a good idea. I recognize that it gets Amazon more control over the OS. My concern here is they have taken themselves out of the mainstream for OS updates and features. They may also have taken themselves out of the mainstream with respect to app developers and the additional work needed to port apps to Amazon’s fork. Which takes me to my next point…
  4. No Android Market: This not only makes it harder for app developers to get their apps to this device, it eliminates a huge eco-system of existing apps, including (according to TechCrunch) all of the Google apps. Without the Google Apps, I question whether this Android-based device will have any of the tight integration with the Google services I so enjoy on my Android phone (mail, calendar, contacts, docs, reader, Google+, voice, talk). What about other relatively mainstream apps like Evernote, Twitter, and Facebook? This also raises questions about owners of other Android devices now having to purchase multiple copies of apps for multiple devices if they even are available. Amazon also reportedly has a less-than-stellar track record with app developers. This feels like a particularly limiting choice.
  5. It is not a “Kindle”: TechCrunch has indicated it will be branded as just the “Amazon Kindle”, but I think that’s a mis-step as well. Amazon has been relatively successful in marketing their e-ink-based readers. I have one and love it. This is not an e-book reader and, while some people may choose to use it as such, this is the wrong screen for that application. This is a fundamentally different device, and if it fails to take off, that’s a black mark against the name as well as this particular product.
  6. Questions about hackability: At $250, Amazon may not really be subsidizing the cost of the hardware, but they likely aren’t making much profit on these. That’s even more the case if the rumors that the purchase price includes free Amazon Prime (currently $79/year) end up being true. Couple that with forked OS and the absence of the Android Market, and I have to wonder how easy it will be to hack/mod these to run “real” Android. Clearly, it is not in Amazon’s best interest to make it easy for people to do that if they are planning on making most of their profit via these device’s tight integration with Amazon’s universe of services: as soon as that integration is gone when someone roots it and moves it to a different OS, Amazon’s profit stream on any such device just disappeared.
  7. Tentative first step: Everything I’ve read indicates Amazon will take a wait-and-see approach to releasing a 10″ version of the device, possibly with better specs. That’s the device that likely comes closer to being attractive to me, but Amazon’s choices here with this first version may so cripple this entry that the much more attractive device never gets a chance to compete. This is a case where Amazon needs to go big or go (stay, perhaps in this case?) home.

So with all of that, what have they done right? About the only thing I can come up with is the price. At $250, this is probably at the upper edge of that price region where people may just buy one to try it, particularly when most of the similarly-sized tablets are more expensive (significantly so in some cases) — but I think it probably is still in that range. That’s even more the case if the rumors about the price including Amazon Prime play out as truth.

The recent circus around the HP webOS tablet $99 fire sale — a clearance sale on a device that by all accounts was a complete failure — show that there clearly is a market for an appropriately-priced tablet. I simply question whether this device coupled with Amazon’s reported choices in their approach has too many hurdles to overcome in order to succeed.

Convince me I’m wrong. Please.

Yeah, it looks a little different

Observant readers will note that things look a little different around here, and there is actually more at work here than just a new coat of paint: new version of WordPress, new theme, new version of PHP under the hood. I’m not quite done reworking all of the plumbing and I still need to hang some pictures. Ping me via the comment-stream if you find breakage as I continue tweaking and tuning.

Solarized Color Schemes for Komodo

Partial screenshot showing CFML rendered in Komodo using Solarized-Dark

Solarized-Dark color scheme for Komodo

AsĀ promised, I’ve added a dark version of my color scheme for ActiveState’s Komodo (IDE and Edit) platform based on Ethan Schoonover’s Solarized palette. All of the same caveats apply fromĀ my previous post when I announced the light version. You are welcome to use and abuse these as you see fit. If you see problems with them, by all means let me know.

Download: Solarized-Dark.ksf
Download: Solarized-Light.ksf

Komodo-CFML v0.2.0 Preview

For the past six months or so, I’ve been working on a new version of my CFML extension for ActiveState’s Komodo Edit and Komodo IDE language editors. Late last fall, I’d reached a point in the development of Komodo-CFML where it became fairly obvious to me that I was going to need to take a different approach to the extension in order to achieve one of my original goals related to supporting CFML: language intelligence. So I started over… “started over” as in a complete re-write. (This actually marks the fourth time I’ve started over on this project since I took this on.)

Komodo-CFML tag intelligence: tags

CFML tag list for Komodo-CFML v0.2.0

What I have at this point is a reasonably complete preview (with the emphasis on “reasonably”) version of Komodo-CFML that achieves most of what is present in what I still think of as the “real” version and adds one big item: language intelligence for CFML tags. If you are interested in trying this new preview out, you are welcome to download and install it. You’ll definitely want to take a quick skim through at least the installation notes below and the list of things that, at this early venture, are not yet complete or close to maturity so that you know what you’re getting into.

Komodo-CFML tag intelligence: attributes

Attribute list for CFML tags in Komodo-CFML v0.2.0

That being said, I’ve been using this version exclusively since mid-January and I’ve had three or four brave souls I work with doing the same — despite some rough areas that still exist, it has proven to be very functional and the benefits of the language intelligence seem to outweigh those other areas. It’s also worth noting that this version should install and function on either Komodo Edit or Komodo IDE v6 or later (including the alphas of v7 ActiveState have released earlier this spring).

Before jumping in, please note there are some areas where I still have work to do:

  • Language intelligence is based on Adobe’s ColdFusion 9.01 version of the language, and is limited to tags: The editor will now attempt to provide (as shown above) lists of known tags and their attributes. At some point in the (distant?) future, I will work on extending this to include function arguments. In the near future, I will broaden coverage to include at least Railo’s version of the CFML tagset. It is also based on HTML 5; I may or may not ever provide these capabilities based on other dialects of HTML. Further, I’m still working on the content model within my HTML + CFML DTD, so there will be times when you are mixing CFML tags within HTML where the CFML tags won’t appear in the list of “valid” tags (note though that the attribute-completion will still work once you have the CFML tag started in these contexts).
  • Language-specific help: Komodo provides the ability to support language-specific help, and at present this works only for CFML functions via the excellent CFQuickDocs site. I’m hoping to find a way to make this also work for CFML tags, but based on implementing CFML as an extension of HTML (in order to get the tag intelligence working) it does not currently work.
  • CFSCRIPT-only components: I’ve not yet refactored this capability in the language parsing portion of the extension. This is one of my next tasks.
  • Miscellaneous rough edges: there are still some rough edges in various portions of the CFSCRIPT and CFML support related to tag matching, auto-indenting, and smart matching of characters that typically come in pairs (quotes, crunches, braces, parens, etc.). Some of those are fairly subtle; others, no so much.

Some things you will want to note as you install this new version of the Komodo-CFML extension:

  1. You can’t have both the “real” v0.1.8 extension and this new version installed simultaneously. If you are interested in trying this preview version, I’d recommend uninstalling the previous version and restarting Komodo before installing the preview version. (Related to this point: if you decide you really don’t want to use this preview version, switching back is as simple as uninstalling this version, restarting, and reinstalling the other version.)
  2. In order to turn on the tag-related language intelligence, you will need to select the appropriate default DOCTYPE for HTML files within Komodo’s preferences. Go to “Preferences > Languages > HTML” and select the “-//WE3GEEKS//DTD HTML 5 + CFML (Adobe ColdFusion 9.01)//EN” entry way down toward the bottom for the “Default HTML Document Type” setting.
  3. If you’ve not tried Komodo-CFML in the past, you’ll also want to install the CFML-specific HTML-Tidy configuration file as described on the Komodo-CFML page.

So, have at it and please let me know via comments below if you stumble into things that just don’t make sense or seem to be broken. I’m still working on those rough areas noted above, and will continue to make previews of this version available as I resolve problems and push this closer to “finished” (whatever that is.).

Finally, a word of thanks to the Eric and Todd at ActiveState for a great platform in Komodo and their occasional support as I’ve asked questions and asked for help. Also a word of thanks to my team at work for their patience and feedback on this project, and their willingness to bravely step into the breach and test this in a production environment. This would never have reached this state without their help.

Download: Komodo-CFML v0.2.0 preview