Home
entries friends calendar user info Goode Trouble Previous Previous
I Am My Avatar
Big Warm Fuzzy Public Heart
Add to Memories
Tell a Friend
Eleanor reinvented MacPaint today.

Tags: , , , , , ,

Add to Memories
Tell a Friend
Somebody made a music video about the PNG image format.

[Sound of Tom's ego exceeding the capacity of the core containment field]

Crazy.

Tags: , ,

Add to Memories
Tell a Friend
Hi folks,

I've provided web hosting for some of you over the years.

As I notified everyone in an email a few minutes ago, I am exiting the web hosting business effective March 1st.

I've enjoyed providing web hosting, but it doesn't make economic sense for me anymore, nor do I have the time to provide the high quality hosting I think everyone deserves.

Of course boutell.com (and Boutell.Com, Inc.) aren't going anywhere, but the site will be migrating to a managed virtual private server provider, and it will not be hosting other people's pages, email, or websites.

I recommend ServerGrove to anyone who is looking for hosting, whether you are moving from boutell.com or not. They provide VPS (Virtual Private Server) hosting for $19/month, and their VPSes come preconfigured for seriously great PHP work. You really can't beat that price in combination with professional support. I'll likely be moving www.boutell.com to one of their bigger VPS packages.

If you know someone who uses my hosting service, please do us both a favor by tapping them on the shoulder and saying "hey did you read Tom's email? You know you need to move your website by March 1st or else, right?"

It's been a blast, and I'll miss playing host and sysadmin for many. But I've moved on to other challenges and, well, it's time. Many thanks to the hosting customers who have stood by me through the years!

Tags: , , , , ,

Add to Memories
Tell a Friend
Okay not really. But you know how it goes: you come up with a great-but-vague idea, you register a domain, the idea never comes together... you squat on the domain for years... someone else out there is shaking his fist at you, wondering why he can't have it.

I'm guilty of squatting on pallish.com for several years now. It's a great name. It's expiring on Christmas. Originally I was gonna do a social network for people who are skeptical of social networks, but it's kinda late.

I only just realized that palish.com is probably better anyway.

Any thoughts on what pallish.com should be before I set it free?

Tags: , ,

Add to Memories
Tell a Friend
'Google Wave in a nutshell, so far: a seamless transition between IM and email. If you want to send a full-blown email message as your response, you go ahead and do that. If you want to keep going back and forth with quick quips, you do that. The mechanisms are there to fully support both a long near-real-time email exchange and a quick chat, with robust support for groups, not just pairs of people.

A rough English translation of Google Wave:

wave = thread (or a particular chat session, if you like, but it acts more like an email thread)
blip = message (an individual email message or chat statement)

To better enable this seamless transition between chat and email, Google Wave has minimize-and-maximize controls that extend the usual window management metaphor: maximize a Wave and it presents more like an email exchange. Minimize it and it's a little chat-style window. You get to decide how to perceive it.

Everything else feels like a decoration of the above, so far. At least, it does if you've been using GMail and Google Chat for a long time. GMail already supported search of your chat history, and delivery by email if the other person logs off. And YouTube links already offered an inline player in Google Chat. So the multimedia-ness is less of an event if that's what you're already accustomed to.

What's new here is the seamlessness, the certainty that you're using the right medium regardless of the length of what you have to say or the time you want to take saying it. While Google Chat was searchable, it wasn't right in the same thread with email, and the transition between them was a little awkward.

Now, something I'm not crazy about is the "looky look you can see what I'm typing as I type it" factor. Seriously: if I wanted to worry about getting chewed out for my first choice of words, I'd call you.

Still, I think this feature might be worth it because it balances the weirdness of wondering whether you should wait while someone decides to compose a lengthy email-like response instead of a chat-style quip. I'm thinking about it. I'll make up my mind when it gets me fired or saves me from writing War and Peace in response to the wrong question, whichever comes first.

* * *


Okay, that was my very firstest impression, before I cheated and went peekin' at detailed overviews of Wave. Glad I got that down honestly before doing too much homework and drinking too much kool-aid.

That having been said, some interesting things I missed:

People are saying it is "wiki-like." That's because you can edit other people's "blips" (aka messages... whether they be little chatty ones or long email-y ones). This is downright weird the first time you do it. "Really? I can just click Edit and change things so that John says he's a monkey and he owes me $50?"

Yeah, you can, but then the blip is attributed to "you and John," not just John. So don't get too excited about the sabotage potential. Though I definitely see confusion arising here.

Related to that is the ability to embed an entire Wave in a web page. I'm not yet certain how that works in practice.

The email-like-ness of Wave introduces other new concepts from a chat perspective. You can have a quick little chat in which twenty things are said, and go back tomorrow and reply to the third thing the other guy said, just as you could do in an email or forum conversation.

One of the biggest differences: you can introduce new people to a wave at any time. And when you do my understanding is that they have access to the complete history of the wave, including the ability to walk through the whole thing in chronological order, bringing themselves up to date with the spirit of the thing as they might in a forum or blog thread. This solves a number of common problems with group chats and emails, but also poses new challenges: how do you integrate people without making them privy to the embarrassing details of your decision to bring them aboard? So far I don't think you really can. You can delete your own blips, but it would take a great deal of coordination to clean up a slightly dicey conversation for a newcomer's consumption. I think you'd be forced to start another wave in that situation.

Chat and email are the most obvious metaphors for what Google Wave provides, but Wave has other features as well, things whose best analogies are in forums, livejournal and the like. You can easily add a simple poll to a Wave ("do you like this? Yes / No / Maybe") to gather opinions from participants.

All of these features, coupled with the sheer usability of the thing, are apt to make it a popular tool once a critical mass of users have access to it. Facebook was much the same way: they built a core feature set that was actually useful and not annoying for communicating with your people, and people came.

But that leads me to one important difference between Wave's rollout and that of Facebook: Facebook was consciously rolled out to entire intact communities, like high schools and colleges. That guaranteed that even before the whole world was on Facebook, you had someone to talk to about meaningful things (um... more meaningful than MySpace, anyway).

So far I'm not seeing that on Wave. I know a few people who have access to it, but with the exception of one coworker, most of us don't have cause for such a high level of collaboration. We're occasional emailers, occasional chatters, old friends flung about the planet. Will we really use Wave to its full potential? Only by conscious effort. Heck, right now Wave doesn't even email me to remind me that things are happening, something Facebook has always done.

I think Google should concentrate on making Wave available to intact groups, or else provide members with a significant number of invitations to give out in a single burst so that they can make a decision to bring their real-life professional circle or personal circle aboard at one pop and really use this puppy. If that means that fewer invites can be given out to individuals not yet part of the puzzle, then slow that process down. More important to grow the number of people who are truly getting the point.

* * *

Another notable feature: support for third-party widgets. Anyone can write a widget that integrates into Wave, and any user with access to the site hosting it can insert that widget into waves as they see fit. This clearly has tremendous potential, as waves will soon be able to carry business data like live sales and inventory, emergency notifications, source code commits and warnings to order more coffee beans.

And that leads to the last and hopefully most important feature: open source. Google has promised to release the code to their implementation, and they have already made good on significant parts of that promise. And Google says Wave is intended to support federation between different hosts. In other words, if Microsoft and Yahoo want to host Google Wave servers of their own, they are welcome to do that, and their users will be able to share waves with Google users.

I get the distinct impression Google feels they have hit on something so big and potentially universal, yet so critically dependent on user goodwill for its growth, that it would be a mistake to try to lock it down. Better to let the appetite for Wave grow without the distraction of worrying about vendor lock-in and arguing about competing incompatible implementations of the idea now that the crucial notions are out there in the ether. From what I've seen so far, I hope they're right.

(P.S. Thanks for the invite Art)

Tags: , , , ,

Add to Memories
Tell a Friend
If so, please contact me at tommybgoode@gmail.com. Thanks!

Tags: , , ,

Add to Memories
Tell a Friend
I like making custom one-off birthday cards and other greeting cards for people. Not e-cards... please... that crap is tacky. I'm talking about real actual physical things that folks can display and admire and line their catboxes with.

Of course, I can't draw worth a damn, so I generally do this with software like The Gimp or OpenOffice Draw. Which works great until I want to print and fold the damn thing.

Then I find out that the "pages" don't line up right, or I've rotated the pages wrong.

Aggravation is the mother of invention. Thus I give you: Real Cards Win. A dead-simple site on which you upload up to four images, one for each page... and you get back a lovely ready-to-print PDF. Each "page" has been correctly scaled, rotated and placed; everything lines up beautifully. All you have to do is print that sucker and fold it.

Real Cards Win

While I'm at it, a quick unsolicited plug for ServerGrove. These guys offer virtual private servers starting at $19/month, which is insanely great. Especially when they come preloaded with PHP 5.2.11, correctly configured for high performance with the APC cache... heaven for folks who really know their PHP and are not willing to expose their work to the utter insecurity of shared hosting. I'm using them exclusively instead of my usual boutell.com server for new Symfony-and-PHP-based sites like isitrainingout.com and realcardswin.

Tags: , , ,

Add to Memories
Tell a Friend
I launched my first single-serving website today! Whee! isitrainingout.com

Tags: , , ,

Add to Memories
Tell a Friend
Question from a friend: "oh crap my PC and TV were fried by a lightning strike. Is my data in data heaven?"

Answer: your computer might not be fried at all. It could just be the power supply that is fried. If this PC isn't a laptop your chances of an inexpensive fix are pretty good.

If it's a somewhat typical non-laptop PC you could just pick up a new PC power supply— or take one out of a discarded PC on the curb— open up your case, take out the old power supply (all you have to do is disconnect the obvious connectors and unbolt it and take it out, don't ever open a power supply, capacitors = dangerous) and then attach the new one and give it a shot.

If that boots your PC and gives you access to your data, take the trouble to bolt the power supply in properly and you've got a PC again, hoo rah. Definitely time for a backup though, it could be less sturdy than it used to be.

If this doesn't work out, or you're just ready for a new PC, take the drive out and pop it in an external USB hard drive cage, or just use a universal adapter like this one ($17). Then you can hook it up to the USB port of any PC and see if you have a good drive or not. If you do, copy stuff off to your heart's content.

That universal adapter may also fit a laptop hard drive, but removing them is much trickier.

Be sure to ground yourself before working inside your PC (touching a pipe is one simple way to do it). Don't work on carpet.

Hope this is helpful!

Tags: , ,

Add to Memories
Tell a Friend
Hey Unix geeks,

Let's say I have a folder like this:

/users/fred/catproject/cache

Inside the cache folder, which is completely world-readable, writagle and executable, there will be world-writable, world-readable, world-executable files. Worse, those files are .php files. This is Very Bad because there are other users on the system who could therefore overwrite those files with PHP code of their own and wreak havoc.

The good news is that the "fred" folder is not world-readable, writable and executable. Neither is "catproject." So bad guys have to guess the "catproject" part of the full path before they can cause trouble. Unfortunately, "catproject" is supposed to be a friendly project name, so it is not very hard to guess.

However, what if the project lived here:

/users/fred/23098420398423094/catproject/cache

Where that big number is a randomly generated value with a cryptographically reasonable number of digits so that it's statistically impossible to guess it?

Then the system seems to be safe... there's no way for an outsider to ever figure out the name of the vulnerable cache folder... provided of course that no error message or readable log file ever, ever, ever leaks out the path information.

Am I missing anything here or is this true as far as it goes?

Obviously it is better to use virtual machines, chroot jails, dedicated servers, etc. But for sticker-shock reasons it is not always realistic to present those options to a client. At the same time I can't give them a trivially insecure system.

Thanks.

Tags: ,

profile
Tom Boutell
User: [info]boutell
Name: Tom Boutell
Website: Goode Trouble
calendar
Back December 2009
12345
6789101112
13141516171819
20212223242526
2728293031
page summary
tags