Technology and Lent

filed under: , , , , , , , , , , , , , , , , ,

1462 days ago

This website

The plugin that provided the email notification feature for this website broke with a recent update to my blog software, and it’s not going to be easy to fix. So I’m not going to fix it.

Of course, that means that the affected people aren’t going to hear that they’re affected. Sorry about that! (I’ll tell personally the few I know.)

In fact, I’m likely to switch to ikiwiki …eventually. Textpattern seems to have lost its mojo, and there have been some long-standing issues with it (like no native tagging support!) that seem unlikely to ever get fixed. And I’m hip to the cool technologies now, so a more infrastructure-like framework (i.e. ikiwiki, with git) for my blog feels like a better answer. And schmonz volunteered to do most of the work :)

That also means I’ll probably abandon tru_tags …more than I already have. There hasn’t been anything to do with it in a long while, at least not that I felt was worthwhile to be done. Most of the features that remain to be implemented require a major refactoring of the core Textpattern code, and that just seems very unlikely to happen (by me or anybody else) any time soon. So hopefully it will remain useful to the people who still use it.

This year’s Lent

I have utterly failed at this year’s Lent give-up. I have been better at going to bed at a reasonable hour, sometimes for days at a time. But I simply can’t do everything I need/want to do in my life with the few hours that leaves me between work, kids, and chores. So sleep will continue to lose to projects – although less-so than it used to. There are some nice perks to getting more sleep – I’m much more on-the-ball and willing to take on mental tasks that otherwise seem hard. But that extra value doesn’t offset the lost value from just not being able to do all the things I need to do.

Vegetarianism

Speaking of Lent, I also broke a 5-year streak of vegetarianism a week or so ago. Benjamin, Liam, and I had some extremely delicious tilapia, also breaking both boys’ life-long vegetarian streaks. Kristina chose not to participate.

We had a bunch of reasons for deciding to do it. And a bunch of reasons to not do it (i.e. to stay vegetarian). I may blog about all the tradeoffs some day soon, but for now, suffice it to say that it was a very close decision, and I’m not sure what’s next.

I made a web app!

If you recall, I started using SmugMug for my online gallery a few years ago. But when I made the switch, I left behind an old gallery site (on Menalto Gallery 1) that I’ve been meaning to clean up for a long time. It broke a while ago, motivating me to finally migrate off that old software – to ZenPhoto, which had been my long-standing plan. It took a few days getting ZenPhoto to work (when it should have been easy!), but I got it there, and I shut off the old site.

I also started this exchange with the ZenPhoto dev in which I start by being too grumpy and then he finished by insisting that his software simply must be unsupportable for him to support it. Net effect: I had to get off ZenPhoto.

But I had no alternate destination for self-hosting my images. My long-term goal is to migrate the images to SmugMug, but I want to filter them down from “every picture I took during that time period” to “just the best ones, tagged and rated” (like all the other pictures I post to SmugMug). And it will take Nathan-weeks of work to get that done, so it keeps getting put off. So in the short term I just needed a new self-hosting product, and there just aren’t any good alternatives. They’re all either old or ugly or badly designed or some combination of those three.

So I made one myself. I’ve never made a web app from scratch before, but I am quite comfortable in perl, had used Catalyst from a prior job, and I’d heard then that Mojolicious is better. So I tried it.

And wow, was it easy. Probably 8 hours total from “install mojolicious” to “the gallery is up and running on the new software”. That’s only just a little more than I spent trying to get ZenPhoto to work. Many kudos to Mojolicious, perl, and pkgsrc.

Now… ZenPhoto does way more stuff. (TONS more… too much, actually.) And this new software isn’t really ready for someone else to use it. And it has no tests. And it only does one extremely simple thing (i.e. serve nested directories of images, in name-sorted order, with no metadata).

But the code is small, easy to read, and easy to modify. (Roughly 300 lines of code, 115 lines of CSS, and 80 lines of HTML template.) The site looks really good (in my opinion). And it doesn’t require a database – just a directory full of images. And with some app-level caching and the help of Mojolicious’s preforking web server and great documentation for setting it up under apache mod_proxy, it’s about as fast is it could possibly be on my old host and slow network connection.

So ZenPhoto is out and my home-grown software is in. Here’s hoping it doesn’t need maintenance!

Add a comment [1]

How I manage my inbox

filed under: ,

1698 days ago

It turns out that other people don’t use email the same way I do. And it turns out that some people think my email use patterns might have some useful ideas. It also happens to be the case that I’m well-known for being good at keeping track of things, and my inbox is basically the way I do that, so maybe explaining my inbox will help people get better at keeping track of things. So here it is :)

First rule: the only things in the inbox are things that are still underway, in real life. Once something is done, the email gets deleted, archived, or filed in a folder.

Second rule: only have a single inbox that receives messages that might result in a to-do for you. Mail rules that filter email lists and such into folders is fine – as long as that email list is passive-only. (And in the rare case where something from the list generates a to-do, move that email to the inbox.)

Third rule: the inbox has three statuses:

  1. New / unread – the things that you haven’t seen yet, or that you need to deal with in the short term (today or tomorrow, ideally). Example: an email from your mother with a question about her TV.
  2. Flagged / starred – the things that you need to deal with in the longer term (3 days – a few weeks). Example: an email reminding you to blog about your inbox usage rules.
  3. Read / not-flagged – things where someone else is responsible for taking the next step, but which you want to keep tracking. Example: a shipping notice from Amazon.com, for an item that hasn’t arrived yet.

Fourth rule: everything that I have to keep track of (i.e. my to-do list) goes into my inbox. I am constantly sending myself little one-line emails, because that’s how I manage my to-do list.

Some secondary rules:

  • If something sits in the “flagged / starred” category long enough, give up and archive/delete/file it.
  • Periodically review the entire inbox, cleaning out things that aren’t going to get done, and following up on things that have stalled.
  • The entire inbox (all three categories) should always be relatively short. I can gauge how overworked I am by whether my inbox has 5 things in it (ideal!) or 50 (WAY too many). I typically run at about 20. Looking at my (personal) inbox now, I have 6 unread, 8 starred, and 4 read.

Some notes about how this works in Outlook / corporate email:

  • I use flags for the long-term to-do items, and unread for the “new” status. I’ve tried setting flag reminder dates, or using different-color flags, and neither adds much value (for me) compared to the time spent managing them.
  • I delete most email once it’s handled, but I don’t have Outlook remove things from the Deleted folder until it’s a month old.
  • I keep all my sent mail. (Have it be locally archived if your company restricts mailbox size on the server.)
  • I keep a few key folders for explicitly filing things – but not many. It’s easier to search than it is to manually file and then try to guess where I filed something. It’s also very freeing to just accept that deleting email is OK.
  • I usually have a few project-specific folders under my Inbox, where I stash things I might need to reference later for a specific project. Once the project is done, I delete the folder.
  • I also keep a single “Save” folder that catches most things I think I might want to get back to someday, and then usually I have a few sub-folders for specific topics (like “sales” or “people”) – but I keep it to just a few folders.

Some notes about how this works in Gmail:

  • I use Gmail’s priority inbox because it is designed for me. It effectively (automatically) splits the “new” category into “email I need to see soon” and “everything else”, and then gives me a split view of my three categories, so the most urgent stuff is at the top, and the least urgent at the bottom. It’s perfect.
  • I archive every email, no matter how unimportant, once I’m done with it. No sorting or (manual) tagging – search is the answer here. And by archiving everything, I don’t have to pause and make a decision about whether to archive or delete. Sometimes I’ll forward an email to myself just to add keywords to it, so I can find it more easily later, but that’s it.
  • I do make use of Gmail’s automatic filters, to automatically tag emails. Most of that’s for shopping stuff (like Amazon) so I can spot it easily and mark it read (until the item arrives, when I archive it). Sometimes I’ll make a manual tag for temporary topic management (like “holiday planning”), but that’s rare.

Add a comment [2]

I picked a bag: Tumi T-Tech Presidio Filbert T-Pass Organizer Laptop Briefcase

filed under: , , , , , ,

1763 days ago

(See my previous post for context.)

What? Seriously? Tumi T-Tech Presidio Filbert T-Pass Organizer Laptop Briefcase? Let’s break that name down:

  • Tumi: The company who makes the bag. Well known for making quality, well-designed bags.
  • T-Tech: The “collection” (i.e. all the bags in the T-Tech line share key features and styling).
  • Presidio: Uh… an even more narrowly-defined “collection”.
  • Filbert: The model name of the bag. (Really, Filbert? Someone thought that was a good name? As my wife says, this bag is royalty!)
  • T-Pass: The brand name they use for their “checkpoint friendly” feature.
  • Organizer: It has dividers for paper.
  • Laptop: It is designed to hold a laptop.
  • Briefcase: It is carried by handles and/or a shoulder strap, and doesn’t have a flap over the top (in which case it would be called “Messenger”).

So yeah, their marketing department needs to be sacked. What I bought was the Tumi Filbert Laptop Bag. But apparently that wasn’t confusing enough.

On the other hand, their product design department seems quite healthy – this is a great bag. Let’s review the criteria:

Read more...

Laptop bag 4.0, backlogs, and story form

filed under: , , , , , , , ,

1771 days ago

Laptop bag 2.0

Somewhere out there is a laptop bag just waiting for me to find it. But first, I have to spec it out.

Like Rands, I recently got laptop bag religion and I spent an excessive amount of time cogitating about features, price, tradeoffs, where to buy, and features again.

Then I got serious about it.

I haven’t yet found the bag, but in the meantime, I’ve written this blog post, because it provided the excuse I needed to really go batshit insane do a thorough job of my analysis. Not only does this post include a detailed list of requirements for my perfect laptop bag, but it also includes a glance into what I do in my life as a Product Manager. Hopefully one or the other of those is interesting enough to keep your attention :)

Read more...

Pivotal Tracker

filed under: , , , ,

2336 days ago

I just sent this note to Pivotal Labs:

Thanks, guys.

In a world where everybody talks about “agile” but hardly anybody knows what they are talking about, and where it is very rare to see an agile team (by which I mean a group of people who are actually a “team” and are actually “agile”), and where product managers usually struggle to even maintain control over prioritization, let alone actually manage it well – it seems very unlikely that any software would exist that is designed to work in well-functioning agile teams.

And it seems impossible that that such software, produced for such a tiny market, would be brilliantly designed, brilliantly executed, and just always there when you need it. For free.

So I don’t know how or why you do it, or what the world did to deserve it, or why I was lucky enough to find it. But THANK YOU, THANK YOU, THANK YOU, for Pivotal Tracker.

Add a comment

Perfectionism, pragmatism, and progress

filed under: , , , , , , , ,

2585 days ago

As I mentioned in the announcement, I have a temporary photo gallery set up with some early pictures of Benjamin in it. But I password protected that gallery, not because of any particular security or privacy concerns, but simply because the gallery is not in its final home, and I don’t want to publish the gallery to the wider internet until it has reached said destination. Recently, a friend asked about the delay in posting more pictures, and offered to help resolve any problems that might be impeding progress. I wrote a very long reply, which I have quoted (mostly) below.

It is, I think, and interesting way to both reveal why I haven’t opened up the gallery, and to allow my readership to understand more about me. Because in this email, it is clear how my perfectionism and my pragmatism do battle, and how I usually seek to resolve such conflicts.

And if you do take the time to read all the way to the end, please feel free to provide any suggestions!

Let me explain the root problem(s):

I plan to switch my pictures from gallery.rainskit.com (which uses Menalto Gallery) over to use SmugMug, and in fact have already paid SmugMug for a year of service which has already elapsed. (I signed up over a year ago.)

I don’t want to start dumping Benjamin pictures into Menalto; I have numerous other albums (like Thanksgiving from last year) that I haven’t uploaded to Menalto because I told myself that I was going to force a hard stop on using Menalto, to encourage me to finish my switch to SmugMug. So I don’t want to break that rule for Benjamin, and I also don’t want to publish one URL for Benjamin pictures and then change it to another URL later.

I don’t expect to be able to use gallery.rainskit.com for my SmugMug site, because I have other users of my Menalto gallery who won’t want to have the URL change out from under them. So I’ll have to leave Menalto at the old URL, and come up with a new URL for SmugMug.

When I tried to convert my gallery over to SmugMug, I discovered a (frustrating!) limitation of SmugMug wherein it doesn’t allow infinite nesting of albums. Specifically, it forces me to organize my pictures in a particular hierarchy, either:

Category -> Album -> Image
or
Category -> Subcategory -> Album -> Image

So some of my Menalto albums are nested 5 or 6 layers deep, which won’t fit into SmugMug’s paradigm. Also, some of my Menalto albums have both images and sub-albums, which won’t fit into SmugMug’s paradigm.

So a long time ago (April of ’09) I started work on Smuganizer, a tool to help me convert my Menalto gallery over to SmugMug. That tool has grown into a fairly awesome product, but it isn’t quite done yet – mostly because it has a few important missing features, and the documentation is out of date (and misleading!). Note, however, that SmugMug has given me a free Pro account for as long as I continue to maintain Smuganizer, so I don’t currently have to pay for my SmugMug account.

And I’ve been using my SmugMug site as the test database for Smuganizer, largely because I don’t have any other available SmugMug account. So my current SmugMug site (which is entirely password-protected) is filled with random test data, and in unsuitable for public consumption.

Concurrently with all of this, I discovered Windows Live Photo Gallery, a free app from Microsoft that (finally!) just works the way photo gallery apps always should have worked. Really. I have always hated photo management apps, up until this now. Now, I tell people that they should use it. (It does have some major flaws/gaps, but they are not sufficient to keep me from loving it anyway.)

One of the major features of WLPG is that you can tag people in pictures (like Facebook) and/or add arbitrary tags to images and/or give ratings (1-5 stars) to images, and then instantly browse your whole library by those elements (plus by date). They also make it really easy to publish selected photos to arbitrary photo sites, like SmugMug. So suddenly I have a really strong desktop app for managing my pictures, and I find myself caring much less about putting my entire photo library online.

So I modified my plan about converting from Menalto to SmugMug, such that I have decided instead to download all my Menalto pictures to my computer, tag and rate them all there, store them there primarily, and only upload the best ones to SmugMug. In other words, use SmugMug much like a normal human would use a photo gallery.

Problem is, that takes a lot of time. I’m only about half way through my existing pictures. And I’ve been working on it for 6 months or more.

Note that this also makes Smuganizer largely irrelevant to my current needs :) (Except that Smuganizer can also be used to upload pictures from my computer, and to manage the pictures once they are on SmugMug, so it does still have value to me.)

Note that this also means I won’t have an off-site backup for my entire gallery any more (like I had when you were hosting my gallery). To solve that problem, I signed up for Carbonite.

Net effect, I have a bunch of things that theoretically need to be resolved before I start posting more Benjamin pictures to SmugMug:

a) Finish tagging my existing photos
b) Finish and publish Smuganizer
c) Delete all the existing stuff out of SmugMug
d) Figure out how to organize my SmugMug gallery
e) Get SmugMug set up on its permanent URL
f) Upload my ‘featured’ pictures to SmugMug
g) Upload the new Benjamin pictures to wherever they fit in that structure

Of course, I recognize that this will take a year or more, and that Benjamin pictures can’t wait that long. So I figure I have a number of options:

1) Abandon Smuganizer, don’t worry about the other pictures, and just clear out SmugMug and upload Benjamin pictures for now. That would only require steps © (d) (e) and (g) and could probably be done in a few hours.

2) Try to split my SmugMug gallery into a few “Testing” categories and then “everything else” and just password protect the “Testing” categories. Go ahead and upload the Benjamin pictures into their final home, while concurrently working on everything else.

3) Some other option I haven’t thought of yet.

4) Follow the original plan and just wait until it is all done before publishing more Benjamin pictures.

5) Publish the Benjamin pictures on the Menalto gallery.

So I figure you can help in a few possible ways:

i) Talk me out of the tree and just convince me to do (5)
ii) Help me with (d) so I can do option (2)
iii) Come up with an idea for (3)
iv) Talk me into (1) (Note that this is probably impossible)

So you can see my dilemma :)

Add a comment [8]

The misunderstanding of IQ

filed under: , , , , ,

2699 days ago

Bloom's Taxonomy

There are many people in my industry who are “smart” but are often unable to actually be effective. I have numerous examples: developers who can’t balance perfection and progress, entrepreneurs who can’t see that their idea is useless, executives who can’t see the inevitable failure of their plan, and people who just can’t figure out how to turn their great idea into something real. I run into such people, in varying degrees, nearly every day.

In fact, I have struggled with this myself. When I first started my career as a developer, I had a hard time balancing the intellectual purity of an idea against the “messy” path to actually bringing that idea to implementation. It’s hard to accept that the perfect idea really isn’t feasible, and instead opt for something less-perfect in order to actually get something done. But I have learned this lesson (repeatedly!), and much of my success in business has come from learning to understand and accept that some progress toward a slightly better place is much better than no progress toward a perfect place. In fact, I’m now more often a proponent of the other side of the coin – I’d much rather just do something (useful) than try to engineer a perfect solution. So long as smart, capable people are involved in the doing, the end product is usually awesome.

So I am very intimately aware that “high IQ” is not the same as “highly effective.” I’ve known it for a long time, but I’ve never been able to clearly understand exactly why that is. Well, Keith Stanovich figured it out for me. He studied this issue, and learned something relatively obvious – that IQ is a measure of intellectual capacity, but capacity is not the same as ability to use it. (Size doesn’t matter, right?) He uses the term “rational thinking” to describe the ability to use intelligence to solve problems, and this article at New Scientist covers the topic very well.

Go read that article. It will hopefully help you understand that IQ is only somewhat related to success, and that rational thinking is more important. And rational thinking can be learned, and improved on, relatively easily. So there’s hope for all of us, to actually learn to be effective!

Having read that article, I am pleased to have sorted out an intellectual conundrum, but I’m also somewhat embarrassed – I’ve been teaching people this idea for years now, and I just didn’t realize it. See, when I teach people what to look for when interviewing, I refer them to Bloom’s Taxonomy, specifically to the six levels of cognitive skills:

  1. Knowledge
  2. Comprehension
  3. Application
  4. Analysis
  5. Synthesis
  6. Evaluation

To be successful in the roles I’m usually hiring for (Analyst, Project Manager, or similar), the person needs to be highly capable in the top three levels – analysis, synthesis, and evaluation. There are good ways to try to evaluate those things in an interview, and I have a very specific set of interview questions and activities that try to draw them out. (This idea has worked very well, by the way – I’ve been very successful at interviewing and hiring, using this approach.)

So it seems to me, now that I’ve thought through the idea of rational thinking, that Bloom’s Taxonomy isn’t really about intelligence at all. Instead, it is focused on the skills required to apply intelligence effectively. That is corroborated by the fact that the Taxonomy is often used in education as a way to judge how well a student is learning fundamental skills, and not as a way to judge their intelligence.

So the embarrassing part is that I’ve been using Bloom’s Taxonomy (and teaching it to others!) as a way to evaluate people’s effectiveness, all the while trying to understand why high-IQ people aren’t always effective. If I had just once put the two ideas next to each other, I probably would have figured out the answer for myself. Huh.

Maybe that’s just proof that I still need to work on both, myself ;)

P.S. – I also owe a big debt of gratitude to the late Mrs. Lilly, the teacher who taught me about Bloom’s Taxonomy in elementary school, and who I know was responsible for accelerating my early development in analysis, synthesis, and evaluation. Thank you, Mrs. Lilly!

The image of Bloom’s Taxonomy was reused (from Wikimedia Commons) under the Creative Commons Attribution ShareAlike 3.0 license

Add a comment [4]