Where’s the best place to buy cross-country skis?

Crosscountryskis

Photo by Påsketur

Liz has been teaching me to cross-country ski, and we decided it was time we bought our own equipment. No stores in LA had them stocked, and we didn't want to order online since we needed help finding the right type and sizes. As it happened, we had an upcoming family visit to Liz's home town of Hayward, Wisconsin, home of the Birkie and the US capital of Nordic skiing.

We headed to the New Moon ski and bike store once we arrived, and were greeted by Joel Harrison. Like me he fell for a Hayward siren, and moved from Idaho to join her, and has a lot of cross-country experience. He was very knowledgeable and helpful, spending a lot of time helping us pick out the right equipment. We tend to prefer ungroomed but not too gnarly trails, so he steered us toward some intermediate skis that would still fit in groomed tracks, but still had enough width to float in wilder snow.

Once we'd picked, New Moon runs a thriving mail-order business, and was able to post them off, so we didn't have to struggle with them on the plane. Joel couldn't have been more helpful, their customer service was top-notch. Even if you can't make it to Wisconsin, I'd recommend buying online from them.

How to check PHP syntax from a shell script

Shells

Photo by 500CPM

I really like the philosophy of making small incremental investments by solving frequent problems, and Eric Ries' article on the five whys inspired me to look at my development process afresh.

I edit my PHP code on my MacBook, and then upload it to my EC2 server to test, since there's a lot of data I can't replicate locally. Often there will be a typo in my code, but I don't find out about it until I have uploaded all the files, refreshed the browser, and then checked the server error log. Catching simple typos early would save me a lot of time, so I looked around for an automated solution.

The shell script below is what I ended up with. It runs php -l on all my source files to look for syntax errors, and then runs the upload process if that check passes. I've only tested it on OS X, and you'll need PHP installed locally. You can either cut and paste the code, or download it here.

#!/bin/sh
#
# Pete- Script to upload the PHP source code to the server, checking for syntax errors first
#

# Insert the path to your source directory here
SOURCE_DIRECTORY=
# The path to your ssh key. If you don't have one, remove the -i argument to ssh
SSH_KEY=~/.ec2/id_rsa-pstam-keypair
# Put the username, domain name and path to the remote server's folder
SERVER_PATH=user@yourserver.com:/www/html/

SYNTAX_RE='No syntax errors*'
PHP_FILES=$SOURCE_DIRECTORY/*.php

echo "**Checking PHP syntax**"

ls $PHP_FILES  1>/dev/null  2>/dev/null
case $? in
0)
   set `ls $PHP_FILES`
   for args
    do
     SYNTAX_OUTPUT=`php -l $args`
     if [[ "$SYNTAX_OUTPUT" != $SYNTAX_RE ]]
     then echo "$SYNTAX_OUTPUT"
     exit 1
     fi
    done
    ;;
* ) echo "No files found"
    ;;
esac

echo "**Uploading files**"

scp -i $SSH_KEY $PHP_FILES $SERVER_PATH

Staring into the Goretex vortex

Athlete

Photo by Finneye

I'm considering a move to Boulder, and I'm thankful to Stan James for pointing me to this Outside magazine article for mental preparation. No matter how hard I'm training, there's always some friend who runs 67 miles through the mountains in a day. Out here that's just a warm-up.

On that topic, me and Stan are planning to stretch our flabby sea-level lungs with a hike near Boulder on Sunday. We'll probably tackle part of the Eldorado Canyon trail that heads up toward Walker Ranch, scene of my near-death biking experience a few months back. Drop me a mail or add a comment if you're interested.

If you like this blog, you’ll love…

Fogwalk

Photo by mdezemery

Startup Lessons Learned. Eric Ries only started blogging a few months ago, but he's already written some cracking posts, like SEM for $5 a day, using the 5 whys to focus your development investment, and when not to listen to your users. These are all obviously tales from the trenches. He's able to dig into the subtleties of tricky topics like agile programming and give advice based on experience.

His focus on building a lean startup is especially useful these days, and I love his focus on the engineering nitty-gritty, I can relate to The Engineering Manager's Lament especially. Go subscribe and make sure he keeps up the good work!

Oblong now means ‘blog on’, not ‘no blog’

Oblonglogo

I'm extremely happy that my friends over at Oblong have finally decloaked and publicly revealed what they're up to. I was introduced to Kwin and John several years ago, and was instantly blown away by the potential of their technology, their infectious enthusiasm, and their scarily large brains. It's wonderful to see them reach this milestone.

Check out their videos to see for yourself, but they're offering a seductively easy but powerful new way of interacting with computers. They're building a system capable of precisely capturing mid-air hand gestures, with no data-gloves needed. Use it once and you'll be hooked.

On a personal level, they've been incredibly supportive of my own startup dreams, even though that's left me less time than I'd like to help them technically. At every step of the way, they've been cheering me on, they are utter mensches, and I'll be cheering them right back as g-speak conquers the world!

Has Microsoft really opened up?

Nowopen

Photo by Mag3737

I've been closely following Microsoft's Open Specification initiative. A lot of people were sceptical, based on MS's long history of using its closed platform to block competitors and the fact that the move was driven by EU legal action. I had hope, mostly because the company has superb third-party developer support in its DNA. Since July I've been actively using the Exchange and Outlook documentation, and it has lived up to its promise. There's been errors and oddities, but no big gaps or censorship that I could detect.

I've only been scratching at the surface though, in comparison the folks on Samba have been battling the Beast of Redmond for secret API information for over a decade. That makes Andrew Bartlett's description of their team's week-long visit to the Microsoft campus all the more astonishing:


We were very surprised by the extraordinary degree of effort that
Microsoft put into this single vendor plug fest. We were given direct
access to the Active Directory product team in Microsoft, plus we had
a team of 6 Microsoft engineers working with us full time for the
whole week

They knew the protocols in great detail, and were extremely
helpful in working through test cases (both in their own test suites
and ours) and suggesting testing and debugging strategies.


Some of the Microsoft engineers have been actively working with the
Samba code base, particularly our test tools, and had prepared for the
plug fest by doing extensive testing of Microsoft tools against
development versions of Samba4

Microsoft's motivations may not be pure, but this is still massive news. They're offering serious help to any third-party developers who need to interact with their server products. This makes a whole set of products suddenly move from engineering fantasy land to a real possibility. If you've ever had an idea that could benefit from working closely Exchange or Active Directory, dig it out from the back of the drawer and re-examine it. You might find it's more feasible than you think.

Why VCs don’t trust you

Hucksters

Photo by Shazz Mack

I'm a trusting person at heart. That's meant I've had to work hard on the second part of 'trust but verify' to make sure I don't get ripped off. It's also made me (possibly too) sensitive to anything that seems like sharp practice. I ripped into Rick Segal when he joked about a trick question he'd throw at entrepreneurs. I'd overreacted, apologized, and noted that VCs have a tough job dealing with hundreds of people a year wanting money and figuring out who's genuine.

It didn't sink in quite how tough until I saw Rick's last post. He received an unsolicited email with a deck attached. The email was an obvious spammed form letter, but what was really mind-blowing was the extra slides at the end of the powerpoint presentation. Clearly intended to be used only for live talks, they were entirely different versions of the business plan for different audiences, with completely different facts about the team, market sizes and objectives. Dealing with a constant barrage of similar folks queuing up to deceive you would be enough to make Gandi turn cynical.

I often feel like a country cousin when I wander around the Valley, not really understanding how the game should be played. There was a Gaping Void I can't find that had a VC and founder; "What's your business model?" – "You are, rich boy". I like money as much as the next guy, but a startup seems a really hard route to riches unless you're strangely obsessed with building a company. If there's one silver lining to the current funding crunch, I'm hoping it will at least cut down the number of hucksters like these sucking up the investment oxygen.

How to connect to Exchange from Linux

Change

Photo by Bellah

The OpenChange project has produced libmapi, a framework to allow Linux developers to connect to Exchange using the same MAPI/RPC protocol that Outlook uses. This potentially gives you access to the full range of data held on an Exchange server, so I've been experimenting with it for Mailana.

It's very much still in development, so you'll likely have to build it yourself from source, along with Samba which it heavily relies on. That Samba dependence also means any code you link libmapi against also has to be released under the full GPL. In practice, you'll probably want to build a simple command-line tool or some other thin interface to hide the MAPI nastiness anyway, so the rest of your system doesn't have to go GNU.

Initially I downloaded the April 08 'phaser' stable release of the code, but subsequently moved to the top-of-tree to get some of the calls that have been added recently. A new stable release is due within a few days, the code is frozen and waiting for the official release of the Samba version it relies on.

The best place to get started is to browse a few of the example utilities included. If you're interested in mail messages, openchangeclient and exchange2mbox are good demonstrations. For appointments and meetings, check out exchange2ical. There's definitely still parts remaining to be implemented, but in my tests it worked flawlessly grabbing the basic information for all messages on an Exchange server. There were some bugs I had to work around, like the recipient's email addresses and display names showing up in the wrong members of a structure, but overall it was very impressive.

I'm going to keep hacking on libmapi, putting together some issue reports and hopefully finding some possible fixes. Julien Kerihuel and the other developers deserve a lot of credit for tackling such a painful API, I'm looking forward to seeing a lot of interesting projects taking advantage of their work.

How OneRiot could be the foundation of social search

Riotpolice

Photo by Danny Hammontree

I'm convinced that the next wave of innovation will be about breaking open data silos that are currently off-limits, and applying some of the lessons we've learnt from the web to build new tools. My focus is on email, but another area full of promise is users' browsing history. We all have the equivalent of a local neighborhood of websites that we frequently visit, and our visits demonstrate that we trust them. Having the option to weight those sites more highly when we're searching could give results personalized to our interests. If you trust your friends judgment too, and use visits from your social network in the weighting, then that adds another level of filtering.

The reason nobody's implemented this approach is that the data isn't easily available. To get the full browsing history you need users to install a plugin, and I know from my own experience that's a high barrier. It's also a network problem, you need a critical mass of friends before the social aspect becomes useful. Me.dium came the closest to jumping this gap with their alpha search service, so I was excited to try out their launch of OneRiot.

They're taking browsing data from their existing 2 million user base, and applying the popularity of a site to its ranking in the results. So as news stories and articles start to spread, they'll instantly appear in the rankings. Google's trying to speed up its indexing, but users are going to find interesting pages more quickly than any robot. This topicality makes OneRiot immediately distinctive, and I can see myself using it to search for breaking news and political stories.

Under the hood, they're offering the PulseChecker plugin as a toolbar to help drive the results, but I like the focus on giving the user something they can use immediately without installation. Persuading people to use an add-in is a tough nut to crack, but it will be a lot easier if the target is already a regular user of your service.

OneRiot are tackling a mammoth problem, but they're starting to build the critical mass of browsing data they need, and I'll be eagerly following their progress.

Tacit acquired by Oracle

Cash

Photo by Johnny Vulkan

I just heard that the technology behind Tacit's expert location system has been bought by Oracle. I've heard a lot of good things from users of their product, and they were true pioneers in pulling information from large email stores.

This seems like a smart move by Oracle. Their Beehive collaboration suite integrates email, IM and document management, so it's a perfect environment for a service that relies on data mining. They're still struggling to convince the market that they're a contender, and Tacit adds a unique feature to their system. With Microsoft boasting that Sharepoint is the fastest-growing product ever in the history of the company, this is obviously a space they want a piece of.

I must admit I'm disappointed that Tacit's no longer an independent company, I was hoping to see them blazing a trail for email data mining. After this and Contact Networks' acquisition by Thompson, there's not many standalone businesses left in this field.