Saturday, December 17, 2005

Thursday, December 15, 2005

Triporama Launches

I've been pretty busy lately, if the infrequency of my posts is any indicator, but it's paid off: Triporama officially launched yesterday. We sent out some 300 emails and then immediately left to go to the bar. Fortunately, the site held up, with only one serious bug so far, which I fixed last night.

Not that I can slack off now...we've got a mile-long list of features we'd like to implement. It's great to finally get it out there, though.

Interesting Links

This:

Top 10 Innovative Web 2.0 Applications of 2005

led me to this:

TagCloud

which let me to this:

Term Extraction Documentation for Yahoo! Search Web Services

Now to just figure out some cool things to do with it.

Wednesday, November 23, 2005

Good Reading

Clay Shirky has a great piece about ontologies, categorization, and how they don't really make sense for most of the Web today: Ontology is Overrated

Paul Graham's new essay tries to make some sense of everyone's favorite buzzword: Web 2.0

Happy Thanksgiving!

Wednesday, November 2, 2005

Utter Insanity

Video of Dan Osman speed-soloing up Bear's Reach at Lover's Leap (near South Lake Tahoe, CA). Need I say don't try this at home? http://www.ebaumsworld.com/video/watch/1220/

Dan Osman dyno on Bear's Reach

(I've done this route, but it took me more like 2 hours--not 4 minutes and 25 seconds.)

I'm not sure when this video was shot, but I think it was not long before his death on November 23, 1998. He was always a huge risk-taker, and one of his hobbies was taking very long falls on climbing ropes. He died attempting a 925-foot fall on rigging that he had left up in Yosemite in the rain and snow for over a month. Pretty stupid.

Here's a good article about Dan:
http://outside.away.com/magazine/0499/9904terminal.html

Thursday, October 20, 2005

Flock

I'm posting this entry from within Flock, a new browser based on Mozilla, the codebase which underlies Firefox. You might think the world needs a new browser like it needs a hole in the head, and I more or less agree with you, but Flock has some really cool features:

  • You can link your bookmarks to your del.icio.us account so that they're always available when you move between computers.
  • It integrates with a number of blogging services and software to let you blog directly from the browser. You can even highlight a chunk of text on the page, right-click on it and select "Blog This", and it opens up a blog post window with the text inserted and quoted, and the site name linked. (I'm finding that its blogging editor is incredibly annoying when you're trying to do bulleted lists)
  • flickr integration, which seems to me to be a bit gratuitous, but it is kind of cool to get access to your photos in a toolbar (sorry, "topbar").
  • Integrated RSS feed reader, which right now has a really clunky interface. But this is just a developer preview release, so I'm sure that will improve.
  • "The Shelf"...kind of a clipboard for web content. You can drag-and-drop links, chunks of text, or pictures on to it and later drag-and-drop them into your blog posts (it seems to be made pretty specifically for blogging; you can't double-click on items in your Shelf to open them up, and although you can drop them onto any application that accepts clipboard data, what you get is an HTML-wrapped version of your content).

All in all, very impressive. I hope that some of these features (especially the social bookmarking integration) make their way over to Firefox, but I'll be keeping an eye on Flock's progress.

Wednesday, October 12, 2005

The Future of Video

Apple just released a new video-capable iPod, as was expected. You can also download music videos from the iTunes Music Store, at $1.99 a shot. That's cool. Yawn.



But wait...what's really interesting is that you can also download episodes from some TV shows, like Lost or Desperate Housewives--also for $1.99. This is the start of a major paradigm shift. I'm not a huge TV watcher, but there are a few good shows out there that we've gotten hooked on (Lost, Smallville, Arrested Development, Battlestar Galactica). Not having cable and Tivo, though, I can't always catch my shows. I've always said I'd be happy to pay a small fee ($1.99 is about right) to be able to download an episode legally (it's not hard to find and download them "illegally" online). Now I can do that. Go Apple. The networks certainly weren't going to get their shit together to do it themselves.



It's still got a long way to go. Only a few shows are apparently available. Actually, I don't know exactly what's available because the only links to videos on their "Music" store home page are for "Music Videos" and a big "Lost" graphic. Is it so hard to just have a separate video section in your store? I'm guessing that Apple tried to push this out the door quickly, before properly redesigning their store interface to support the videos. Or maybe not. It's not that hard to do. Regardless, I'm sure they'll sort it out soon enough.



They're going to have to rename the Music Store, though. Media Store? Actually, my guess is that once they pad out their offerings a bit, they'll have a separate Video Store.



An Apple Video Store will be huge for everyone involved. The networks will be able to squeeze new money out of shows that have long since been written off. You'll be able to relive your youth by downloading some Miami Vice episodes or "owning" your own copy (as much as Apple's DRM lets you own) of the classic "Master of my Domain" Seinfeld episode, not to mention getting access to all kinds of old shows that will never make it to DVD. And of course Apple get its cut.



Go Apple.

Tuesday, October 11, 2005

Shot of the Week

Link Roundup

In lieu of anything else interesting to post, I'll clear out some of the links I've been saving:



Writeboard
I haven't had the opportunity to really use this yet, but it looks like a pretty cool collaboration tool. No more sending Word docs back and forth. It's also packaged with their equally cool Backpack app.



Aurgasm
I'm a bit late in the game here, but I've just started discovering the wonderful world of MP3 blogs. All sorts of great, eclectic music, for free. There are more MP3 blogs out there than you can shake your booty at, but this is one of my favorites.



Improving Link Display for Print
Absolutely ingenious. Using CSS & Javascript, you can automatically list all links on the print version of your web page as footnotes. I'm going to have to give it a shot on this site.



Fog Creek Copilot
For anyone who is, like I am, the person family and friends turn to when they have computer problems, this looks like a godsend for those trickier issues. Yes, computer remote control software is nothing new, but the really ingenious thing here is how easy it is to get someone set up. You just sign up with the site and give the person you're helping a code. They go to the site, enter the code, download the necessary software, and you're connected.

Tuesday, September 27, 2005

CSS Layouts: I Give Up

The ScreamWe're in the middle of a fairly major site redesign at Triporama, and I was doing my best to have the layout be as purely CSS as possible, replacing the previous table-heavy layout. It's turned out to be a major headache, and I'm taking a step back now and reimplementing parts of the layout with tables.



One problem with CSS today is that every different browser has different levels of support for the different versions of CSS, whereas tables have been around for so long that most browsers in use today handle them fairly similarly. The really big problem with CSS, though, is IE. Internet Explorer is a CSS bug fest. It would be great to say "fuck IE," (actually, I say that almost every day) but it is unfortunately still the most widely used browser.



Yes, I know--tables aren't meant to be used for layout; they're not "semantic", they're slower (not sure about that one--maybe if you have many levels of nested tables). And yes, clever designers have come up with all sorts of tricks to get CSS layouts to work across different browsers. But you end up spending hours or days getting your layout to work on various browsers and what you have in the end is a confusing morass of fragile code. It's just not worth it. I'll wait for IE 7 plus a few years (although my parents will probably still be using AOL 8.0 on a dialup line) before attempting a pure-CSS site again.



So, to summarize my new web design philosophy: use CSS for various individual elements/components on the site, but if you're doing a multi-column layout, use a table for the main layout (actually, I still have my header and footer positioned with CSS, as I spent far too long figuring out how to get the footer to stay glued to the bottom of the page if you have less than a page worth of content, but to flow after the main content if you have more...and the solution I found seems to work on all modern browsers). The layout for the whole site is in a single file, so making site-wide changes (another argument for using CSS) is still easy.

Monday, September 19, 2005

Slowlight

Spotlight was a great addition to OS X, and it works great for finding things buried in your filesystem. But for anyone used to Quicksilver or LaunchBar, it is painfully slow as an application launcher, which is really all I need most of the time. I recently reinstalled Quicksilver and I don't think I've touched Spotlight since then.

Link Roundup

Some random interesting stories/links I've run across in the last week or so:

Photos from this year's Burning Man in the form of a graphic novel. Very nicely done.



With an audio recording of you typing away at your computer for 10 minutes, it's possible to figure out everything you typed. (via Crypto-Gram)



Tongue-eating bug found in fish. So gross, but so cool. (via Boing-Boing)



Word Pads, a very addictive word game. My high score so far is only around 5000 18575.



I didn't really discover this in the last week, but it's too cool not to get a mention: the Gmaps Pedometer (the link centers on a more interesting location than the default of Hoboken, NJ). It's a testament to the brilliance of the Google folks that people have been able to come up with great hacks like this.



Finally, I'm going to try to play in the upcoming Ultimate Frisbee regionals, despite not having played since last winter, mostly due to my crappy back. I think I can hold it together for a weekend. Or at least a day. But this has inspired me: a 67-year old man comes out of retirement to play for his soccer team in their time of need. (via Fark)

Saturday, September 17, 2005

LINQ

I'm not a C#/.Net programmer, but LINQ is too cool. You can basically use SQL-like querying on just about any collection, whether it be an array in memory, a database, and XML structure. This is one of those "why didn't anyone think of this before?" things. Yes, there have been similar tools for querying objects for a long time, but nothing this elegant. Watch the video for a quick (well, 30 minute) intro, or, if you prefer text, read the overview document.

Thursday, September 1, 2005

New Pics

Finally got off my butt and posted some more pics to Flickr.



Tuesday, August 30, 2005

Spam Filtering Idea

I share a hosted server with a few friends. We host a number of sites (including this one) and our own email. We have SpamAssassin set up and tuned pretty nicely (thanks, Jelo). Unfortunately, it's killing our server. SpamAssassin can suck up a lot of resources. Ideally we'd have a server dedicated to processing mail, but we can't afford that.



So here's my idea: a spam filtering cluster. Have a bunch of [trusted] home-based servers set up with SpamAssassin and dynamic DNS. A mail comes into the main mailserver and if it isn't on a whitelist, it gets shipped out to one of the filter machines. The filter machine runs SA on it and lets the main server know the result (it doesn't need to sent the mail back, so no worries about low upload speeds). Emails over a certain size would probably just be processed on the main server to avoid the bandwidth and time required to send it out (large emails are rarely spam anyway). Finally, in order for the Bayesian filtering to function correctly, you'd have to periodically sync the data from the Bayesian learner out to the filter machines.



I've looked at SpamAssassin a bit and I think it wouldn't be too hard. SA comes with a client and a server, spamc and spamd. Incoming mail gets piped through spamc, which takes care of shipping it off to spamd for processing. Spamd can live on any other host. It can also just report back whether the email was spam or not, rather than returning the entire email. So the only two things left to do are:



  1. Write a small client (spamb?) that maintains a list of hosts running spamd. When a message comes in, pick the next hostname in the list, and pass it on to spamc. Spamc sends it to the appropriate spamd host, and receives the response--either yes/no or in our case, the full SA report, which gets attached to the message headers. If we get the full message back, that means that spamc timed out trying to contact that spamd host. In this case, mark that host as being down, along with a timestamp, and take it out of the rotation for a certain period of time.

  2. A way to distribute the users' bayesian data files and prefs to the remote systems. Apparently spamd can read user from a SQL database, although I haven't looked into it to see if the bayesian learner data can be stored in a database. If so, that's an easy solution to the problem. Otherwise, you could just write a script that checks for changes in any of the user files and if it sees them, rsyncs them to each of the hosts.



I'll let you know what happens if I get around to trying this out.

Sunday, August 28, 2005

Ruby on Rails Problem with OS X

I've been playing around with Ruby and Ruby on Rails lately. I'm not that far into it yet, but they both look interesting. I'll write more about my experiences later.



In the meantime, if you're setting this up on a Mac (running Tiger) like I am, do yourself a favor and before you start getting into any of the Rails tutorials (like Rolling With Ruby on Rails), go here first:



Ruby On Rails, Mysql, and OSX Tiger Woes



Do what it says (including the fix it mentions), and you'll save yourself a lot of grief. Note that as one of the commentors mentions, it works just fine with mysql-ruby-2.7 also.



Back to my tutorial...

Friday, August 26, 2005

What do ants smell like?

Just got an appointment reminder from Kaiser. Must remember not to put on my Parfum de la Fourmi.


kaiser sm

Wednesday, August 24, 2005

Sage Advice of the Day

Some insight to be gleaned here:



10 Steps to a Hugely Successful Web 2.0 Company



I don't completely agree with all of his "steps", particularly the examples he provides. Take #7--Get people hooked on free--for example. Yes, free will always win you fans, and a large user base has intrinsic value, but if you're providing a service that people are willing to pay for, by all means let them pay. (Regarding his Thefacebook vs. Match.com example--which one is actually making money?) Still, there are some good ones. My favorite: 6. Be mindnumbingly simple. Then again, this is a pretty age-old design mantra.

Monday, August 15, 2005

Useful Sites of the Week

I've had my web designer hat on lately. I've always been a much better judge of good design than a creator of good design, so I need all the help I can get. One thing that can make a huge difference in the quality of your site is color selection. Here are some sites I've been going to lately for chromatic inspiration.



The Return of Design - Web Color Schemes
A slew of pre-packaged palettes, all using web-safe colors (i.e. 256-color palette), each with a number of variations.



ColorBlender
Pick your starting color and ColorBlender will show you a 6-color palette for that color, and allow you to easily play with variations or customize them. You can also save them [to a cookie] so you have your personal blends available to you whenever you visit the site. You can also email direct links to your blend. Very cool.



Color Scheme Generator 2
The ultimate color-generating tool. If you can't come up with a color scheme you like with this tool, you really are a lost cause. You can even see how your scheme looks to people with any one of eight different types of colorblindness.

Monday, August 8, 2005

CSS Not Working? Don't Forget Your Doctype

I just spend *hours* trying to get some CSS working only to discover that the reason it wasn't working was because I didn't have the DOCTYPE declared at the top of my html:




< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">

Thursday, August 4, 2005

The Butler in the Pantry with the Candlestick

Today's diversion: Whose Fish?



Took me about 45-50 minutes, the first 30 minutes of which were spent on a false start. After starting over with a better system for keeping track of everything, it wasn't that bad.



I really doubt that this was Einstein's puzzle, and certainly the 2% figure is pulled out of someone's ass, but it's still good for some brain calisthenics.

Secret to cheaper flights?

Last night Jacqueline was looking around online for flights to Seattle. She ended up falling asleep before she could book anything, but when she went to check again in the morning, she found that the same flights were about $30 cheaper.


Perhaps it was just a coincidence, but my theory is that people/agents put holds on flights throughout the day, and those holds are released at the end of the day (assumedly midnight, although I don't know which timezone), freeing up seats and thus reducing prices. Has anyone else seen this? Or is this common knowledge and I've just been clueless?

Tuesday, August 2, 2005

Netflix

I finally caved in and signed up for Netflix, as you'll see if you look on the bottom of the sidebar. I've been a bit of Luddite, preferring to get my movies from one of the great local video stores. But we recently moved and now our closest video store is about a mile away--as opposed to about 200 feet away--so our movie-watching has dropped dramatically (while our watching of mind-numbing reality shows has increased accordingly).


It seems to me that the queue is the key feature of Netflix. I can't count the number of times we've seen a preview for a movie and thought "We should rent that." Then you get to the video store and you spend half an hour walking up and down the Recent Releases trying to figure out what to get. Then again, sometimes you're in the mood for a particular kind of movie, and it might not be what's next in your queue.


Hmmm...here's a business idea to help out all those struggling video stores in the new Netflix world: make an online service (let's call it FooFlix) where people can browse movies, get recommendations, and add movies to a queue, much like Netflix. But then install terminals in video stores and tie member's FooFlix accounts to their video store account. Then they scan/swipe/enter their store card/code in the terminal and it brings up the movies in their queue and highlights the ones that the video store has available. The stores would also be able to see what their customers (or an aggregate of all FooFlix customers) have in their queues, so they know what they should be ordering.


As for a revenue model, you probably couldn't get away with charging customers for the service, but you could charge video stores to rent the terminal, and perhaps for customer queue data. You could probably do some pretty targeted advertising on the site, too.


Probably not going to make me a billionare. If anyone steals the idea, at least send me a postcard or something.

Saturday, July 30, 2005

Wednesday, July 27, 2005

ISO Good-enough Idea

Joel Spolsky's latest article is largely a rehash of one of his earliest articles, whereby he expounds on his belief (which I share) that there's no substitute for top-notch programmers. The thing that got me thinking was his "shaky claim that most people are wrong in thinking you need an idea to make a successful software company," and this chart:
















Best Working Conditions → Best Programmers → Best Software → Profit!


The problem I have with this is that you still need a pretty good idea to start with, or you're never going to get the best programmers in the first place. Great programmers aren't in it for the money; they want to work on stuff that interests them. Cool stuff. Sexy stuff. Having a great working environment with lots of other great programmers around is a big draw too, but how are you going to achieve that without the great idea in the first place?



This hits a chord with me because I know a lot of great programmers with whom I would love to start a company, but I've been waiting for the perfect idea to come along and it hasn't. But perhaps the trick is to just come up with a good-enough idea -- good enough to get one or two other great programmers to dive into it with you -- and just take it from there.



So...who's got a good-enough idea?

Tuesday, July 26, 2005

New Climbing Pics

Added some new climbing photos to the gallery, from our recent trips up to Tuolumne and Tahoe. No captions as of yet...soon.
Jacqueline


Tuolumne was amazing. It was our first time climbing there, despite having gone to Yosemite Valley many times. We went up with Tori and Chris, the couple we met at Cortright on July 4th weekend. We didn't have a campsite reserved, so we poached camping at a trailhead parking lot just outside of the park. The next morning we got up and got in line at the Tuolumne Meadows campsite and had no trouble getting a place for that night.



JoshThe climbing was great, the only downsides being the heat (about 80-85, but at 9000+ feet, the sun is pretty scorching) and the mosquitos. We'll definitely be heading back later in the season when things cool off a bit.



At Tahoe we spent a day climbing at Donner (Snowshed and Black Walls), and then a day at Big Chief. It was also hot there, so we did our best to climb in the shade. Most of the climbing was short sport or toprope routes--not our favorite kind of climbing (we'd much rather be doing long multi-pitch trad). But it was good to check out another area.


Ok, I think I've written enough so the text wraps around the images.

Friday, July 22, 2005

There's Sex In My Violence!

Another great column by Mark Morford. Complaining about a bit of hidden sex in a game that glorifies sex, drugs, and violence does seem a bit misguided. Yeah, Puritan roots!

Wednesday, July 13, 2005

Falling

Cool and a bit disturbing, and strangely addictive. Use your mouse to move her around. Pretty nice bit of programming.

Embrace Your Geekness

Somebody has deemed today Embrace Your Geekness Day. So what better way to celebrate than post to my blog.

I searched around for information about the origins of this holiday, but found nothing other than lists of other obscure days (July 15th is Respect Canada Day!). How does one get a day proclaimed anyway? There are some openings left; one calendar I looked at had the 29th and 31st of this month still open. How about a Wear Flip-Flops to Work Day? (Googling for that came up with a single hit.)

Monday, July 11, 2005

Belated Happy Birthday

The July 4th New Yorker cover was classic:

New Yorker   July 4 2005  Small

Saturday, July 9, 2005

Scrumptions Muffins

From a cookbook by the Ladies Auxillary of some hospital in Rhode Island:

Scrumptions Muffins

1 cup softened vanilla ice cream
1 cup sifted self-rising flour

Mix well. Pour into a muffin tin lined with paper cups, about 3/4 full. Bake at 350 F for 20 min.

You know you want to make them. I know I will.

Update: Made them. I had to improvise a bit, as I didn't have self-rising flour. I added about 1/2 tsp. of baking powder instead. They were pretty bad. Very dense. Must have been the flour.

Friday, July 8, 2005

Always check your logs

Brad's #1 rule of debugging web apps: always check your log files. All of them.

A friend of mine just ran into a problem where a php file upload script that had been working fine for months suddenly started barfing on large files. He was getting a "partial upload" error. I told him to check his web server error logs and his system message log. He did the former, and after hours of pounding his head against the wall, I finally went in and poked around myself. I actually found the problem before looking in the log files, but there it was in /var/log/messages:

Jul 7 15:27:42 xxxx /kernel: pid 46891 (httpd), uid 80 on /var: file system full
Jul 7 15:30:02 xxxx /kernel: pid 46875 (httpd), uid 80 on /var: file system full
Jul 7 15:49:07 xxxx /kernel: pid 46872 (httpd), uid 80 on /var: file system full

The temp directory that php was using for file uploads was /var/tmp, and /var only had 216K left. This is why small file uploads were working, but larger ones weren't. (As an aside, be careful of what you're storing in /var. On some systems, log files are kept in /var/log, and /var is often set up as a separate partition, and often relatively small at that. In his case, the whole partition was only 252M, and /var/log was eating up 195M of that...and growing. We moved /var/log to /usr/var/log and created a symlink.)