I seem to have settled into a reasonable work flow with my photography and Lightroom.
I have multiple memory cards for each camera. Two 2 gb cards for the Canon SD700 IS - shooting jpeg gives me about 700 photos per card or about 15 min. of video at the highest quality (640x480, 30fps). I can't remember the last time I filled up one of these cards. I have four 4 gb cards for the Pentax K10D - shooting DNG (raw) I get about 240 photos per card and I do fill these up sometimes. For the Pentax I always carry at least one spare memory card and a spare battery.
I have spare batteries for both cameras but seldom need them. The last a long time and most of the time it's easy to recharge them. The exception is in more remote locations where power isn't readily available.
When traveling I usually download/import once a day to Lightroom on my MacBook. I take advantage of Lightroom's option to make a backup as it imports, to an external hard drive. I also have Lightroom set to back up its catalog to the external drive daily. When I fly I keep the MacBook and the external drive separate to improve my chances of not losing both!
I also separate the cameras (and their chargers and other accessories) so even if one bag gets lost I'll still have a usable camera. I worry as much about the chargers since they'd be impossible to replace in most places and without them the camera would soon become useless. In this respect I like the use of standard AA batteries in my Canon S3. I still use rechargeables but I can use readily available disposables in an emergency, and there's also a much better chance of replacing AA rechargeables and recharger.
After I download I do NOT erase the memory cards and I rotate them so I put in the least recently used card. That way the cards provide a third short term backup in case I mess up an import. I erase a card when I put it into the camera. The only drawback to this system is that occasionally I forget to erase the card when I put it in the camera. I then run out of space soon after I start shooting, but I can't erase the card at this point because I've put new pictures on it. At least Lightroom has an option to ignore already imported photos.
My primary Lightroom catalog and photos are on my desktop system at home. For each trip I start a new catalog on the MacBook just for that trip. When I get home I import that catalog into my main system. One minor drawback of this is that I start fresh with keyword tags and sometimes they don't match with the ones I'm using in my main catalog. But this is minor and easily fixed using Lightroom's ability to rename keyword tags.
I keep both the main and the MacBook catalog organized primarily by date with the yyyy/yyyy-mm-dd format. I rename as I import to yyyymmdd - filename. When I first starting using Lightroom I didn't rename but the straight camera generated file names aren't very helpful, and there's always the risk of duplicates. In my main catalog I add another level of folders for major trips e.g. 2008/2008 Baja/yyyy-mm-dd. This makes it easier to select all the photos for a trip e.g. to put together a slide show.
Some people keep their photos in folders by subject or type rather than date. To me recording subject or type is better done using tags. Otherwise you're continually faced with questions like which folder do I put a picture of a bird on a beach at sunset? In birds, beaches, or sunsets? That's the power of the ability to apply multiple tags, in this case birds, beaches, and sunsets. And it's just as easy to click on a birds tag as it is to click on a birds folder. Of course, this assumes you're inside Lightroom. Outside Lightroom you'd have no easy way to select the birds tag.
I'm not very systematic about my tagging. I'll do a little tagging when I first look at the photos. And I might go through and apply a tag (e.g. birds) if I want to make a selection of a certain type or subject. But lots of my photos aren't tagged at all, which makes it hard to find them later. I could do better in this area.
Another choice is whether to delete "bad" pictures e.g. badly exposed or out of focus. Personally, I don't delete, no matter how bad the photo is. I just flag it as "Rejected" and normally I filter rejected photos out of view. This is similar to Gmail's philosophy of keeping everything. Storage is cheap. It's not so much that you'll ever want a totally ruined photo, it's the time and mental effort needed to decide on the marginal cases. You can always change your mind about a Rejected photo, if you delete it, it's gone.
One case where I might be tempted to delete is when I'm bracketing exposures. Since they're more or less duplicates, why not just keep the best exposure? But again, it's not always clear which is "best". You might actually want to combine several exposures for a HDR image. And Lightroom's ability to "stack" photos avoids having to look at the "duplicates" most of the time.
I'm finding the K10D tends to overexpose bright scenes like snow or sand. I need to figure out when I need to override the exposure, by how much, and what the best way to do that is. I've been bracketing when I suspect there will be a problem. So far it looks like -1 stop does the trick. Lightroom's Recovery slider (and shooting raw) lets you fix a certain amount of overexposure, but it can't recover what really isn't there. This is where composing in the display in the small camera helps. I need to get in the habit of reviewing photos on the K10 and maybe even checking the histogram. Of course, that only works for static subjects where you have the option of another shot.
I also find that for certain shots e.g. closeups I need to manually focus the K10, especially when low light means a small depth of focus. The auto-focus is pretty good, but it can't read your mind and doesn't always pick the right thing to focus on.
On my main system I use Chronosync to automatically back up my photos and catalog to a network drive. And I also have TimeMachine running to an external drive. But currently I don't have a good offsite backup system. I keep a lot of my photos on my work computer, but I don't have a convenient (or automatic) way to do this so it's not too reliable. I've tried a few ways to sync my home and work computers (especially my photos and music), but it hasn't been too successful, partly because of the sheer volume of data to sync, especially at the start. An online internet backup is another option, but again, it's tough with the volume of data, again especially at the start. And not just at the start - when I come back from this trip I'll be adding 40 gb in one shot. That's a lot to transfer over the internet.
When traveling, I try to upload photos to the web every few days so my family and friends can keep up with me. So far I've been using Google Picasa Web Albums. Before Lightroom I was using Picassa to organize my photos, so it was natural to use it's web albums. It works well enough so I've just kept using it. And the Lightroom plugin to export directly to a web album makes it very easy. Now I keep thinking I should give Flickr a try.
I do a certain amount of tweaking of the photos I choose to post - mostly cropping and exposure. For this, and for general organizing, it's great to use the same software (Lightroom) traveling as well as at home.
You can check out some of the photos I've posted at : http://picasaweb.google.com/apmckinlay
Monday, March 31, 2008
Monday, March 24, 2008
Publishing Video
Everyone is posting their video these days, how hard can it be?
I shot some short video clips of a school of dolphins on my Canon SD700 IS.
The first hurdle was to combine them together. I fired up iMovie for the very first time and managed to put in the clips, crop them, and add transitions. So far so good.
I exported the movie and uploaded it to YouTube. The QuickTime mov file was about 100mb for 30 seconds so it took a long time (almost 2 hours) to upload it over the hotel DSL. It would be nice if you got some progress feedback - I started to wonder if it was working or not.
Finally I can play the YouTube video. Yuck. Shrunken down from 640x480 to YouTube size and highly compressed, it looked like crap.
I start looking for alternatives and I decide to try Google Video. One of the reasons is that it recommends 640x480. I try the Google Uploader this time. It still takes forever. And the Google Video version still looks like crap and it appears to have shrunk it even smaller than YouTube (pick "Original Size" on the pop up menu).
The most recommended format seemed to be mpeg4 so I started to look for a way to convert the file. One of the suggestions I found said to use iMovie. Sure enough, although it is far from obvious that iMovie can do this, there are instructions in the help. The key is to choose "Expert Settings". I guess only experts would want something other than QuickTime! It took some trial and error experimentation to get a file that looked decent. I ended up choosing Lan/Intranet, even though that isn't what I want. (I hate it when the "right" settings are obviously "wrong".) This mpeg4 file is under 6mb, a little better than the "default" QuickTime file.
Next I decided to try blip.tv only because I'd recently seen some videos published there. Their FAQ doesn't really say much about resolution or compression, but then again, neither do YouTube or Google Video. Their web upload gives good progress feedback - very nice. (And I'm at the coffee shop this time and the upload rate is better.) I watch the video and, eureka, it looks good. But it says it's still being processed (converted to Flash). When it finishes I watch the Flash version. But at least you can choose the format and if you pick the MPEG4 version the quality is better. I'm not sure if that's a limitation of the Flash format or if they just choose a higher compression. At least even the Flash version is the full 640x480 unlike YouTube and Google Video.
Google actually has a third option - uploading to Picasa Web Albums. But you have to use Picasa to upload video and they don't have a Mac version. I could have installed Picasa inside my Windows VM in Parallels but that seemed like too much hassle.
I'm a newbie at publishing video, and probably pickier than most people. But it seems like this technology is still pretty rough around the edges. Maybe there are ways to make YouTube or Google Video work better. Oh well, in the end I accomplished what I set out to.
I shot some short video clips of a school of dolphins on my Canon SD700 IS.
The first hurdle was to combine them together. I fired up iMovie for the very first time and managed to put in the clips, crop them, and add transitions. So far so good.
I exported the movie and uploaded it to YouTube. The QuickTime mov file was about 100mb for 30 seconds so it took a long time (almost 2 hours) to upload it over the hotel DSL. It would be nice if you got some progress feedback - I started to wonder if it was working or not.
Finally I can play the YouTube video. Yuck. Shrunken down from 640x480 to YouTube size and highly compressed, it looked like crap.
I start looking for alternatives and I decide to try Google Video. One of the reasons is that it recommends 640x480. I try the Google Uploader this time. It still takes forever. And the Google Video version still looks like crap and it appears to have shrunk it even smaller than YouTube (pick "Original Size" on the pop up menu).
The most recommended format seemed to be mpeg4 so I started to look for a way to convert the file. One of the suggestions I found said to use iMovie. Sure enough, although it is far from obvious that iMovie can do this, there are instructions in the help. The key is to choose "Expert Settings". I guess only experts would want something other than QuickTime! It took some trial and error experimentation to get a file that looked decent. I ended up choosing Lan/Intranet, even though that isn't what I want. (I hate it when the "right" settings are obviously "wrong".) This mpeg4 file is under 6mb, a little better than the "default" QuickTime file.
Next I decided to try blip.tv only because I'd recently seen some videos published there. Their FAQ doesn't really say much about resolution or compression, but then again, neither do YouTube or Google Video. Their web upload gives good progress feedback - very nice. (And I'm at the coffee shop this time and the upload rate is better.) I watch the video and, eureka, it looks good. But it says it's still being processed (converted to Flash). When it finishes I watch the Flash version. But at least you can choose the format and if you pick the MPEG4 version the quality is better. I'm not sure if that's a limitation of the Flash format or if they just choose a higher compression. At least even the Flash version is the full 640x480 unlike YouTube and Google Video.
Google actually has a third option - uploading to Picasa Web Albums. But you have to use Picasa to upload video and they don't have a Mac version. I could have installed Picasa inside my Windows VM in Parallels but that seemed like too much hassle.
I'm a newbie at publishing video, and probably pickier than most people. But it seems like this technology is still pretty rough around the edges. Maybe there are ways to make YouTube or Google Video work better. Oh well, in the end I accomplished what I set out to.
Remote Access with LogMeIn
I've been using LogMeIn to access my office computer while I'm traveling (to get access to things that are internal to the office). So far it's worked well, even accessing a Windows machine from my MacBook.
The only problem I've run into is that the Java file transfer doesn't work under Firefox - it locks up so you have to kill Firefox. This is mentioned on their support forum, but so far no solution. It works from Safari though, so it's not a big deal.
The basic version is free. I decided to pay for the Pro version since it was relatively cheap and I could use some of the Pro features.
There's a bit of a lag in typing, but that's not surprising considering I'm using wireless to dsl from Mexico to Canada. Occasionally it trips me up, but for my usage it's fine.
The only problem I've run into is that the Java file transfer doesn't work under Firefox - it locks up so you have to kill Firefox. This is mentioned on their support forum, but so far no solution. It works from Safari though, so it's not a big deal.
The basic version is free. I decided to pay for the Pro version since it was relatively cheap and I could use some of the Pro features.
There's a bit of a lag in typing, but that's not surprising considering I'm using wireless to dsl from Mexico to Canada. Occasionally it trips me up, but for my usage it's fine.
Thursday, March 20, 2008
First Time Skype
I finally got around to using Skype to talk to Shelley back in Saskatoon, Canada from Loreto, Baja Mexico where I am currently.
The first time we connected we couldn't hear each other, although we both heard the "ringing" in our headsets. At least we had the Chat facility to try to debug the problem. It was a little harder since I was on the Mac version and Shelley was on the Windows version, so the menu options are different. On the Windows version the settings are in a "Personalize" option - which seems like a rather odd choice of name. (On the Mac it's the standard Skype > Preferences)
Everything seemed ok so we tried again and this time it worked. Not sure why it didn't work the first time. The only thing I can think of was that Windows hadn't finished recognizing the USB headset (Shelley had only just plugged it in).
I could hear Shelley great. She said my sound quality wasn't so good. That might have been due to my bluetooth headset. The microphone is quite far from my mouth. And on top of that, I was outside on the deck (to reach the wireless) and there was a breeze and traffic noises. There's a definite lag time and you pretty much had to take turns talking, but it was definitely usable.
I wouldn't want to use it as my regular phone, but it beats dealing with long distance when I already have an internet connection.
Pretty amazing - bluetooth from headset to laptop, wireless from laptop, and then by internet across North America. And all for "free" :-) And more amazingly, given all the software involved, it works.
The first time we connected we couldn't hear each other, although we both heard the "ringing" in our headsets. At least we had the Chat facility to try to debug the problem. It was a little harder since I was on the Mac version and Shelley was on the Windows version, so the menu options are different. On the Windows version the settings are in a "Personalize" option - which seems like a rather odd choice of name. (On the Mac it's the standard Skype > Preferences)
Everything seemed ok so we tried again and this time it worked. Not sure why it didn't work the first time. The only thing I can think of was that Windows hadn't finished recognizing the USB headset (Shelley had only just plugged it in).
I could hear Shelley great. She said my sound quality wasn't so good. That might have been due to my bluetooth headset. The microphone is quite far from my mouth. And on top of that, I was outside on the deck (to reach the wireless) and there was a breeze and traffic noises. There's a definite lag time and you pretty much had to take turns talking, but it was definitely usable.
I wouldn't want to use it as my regular phone, but it beats dealing with long distance when I already have an internet connection.
Pretty amazing - bluetooth from headset to laptop, wireless from laptop, and then by internet across North America. And all for "free" :-) And more amazingly, given all the software involved, it works.
You Weren't Meant to Have a Boss
The latest essay by Paul Graham.
I've been my own boss for over 20 years now. And the only job I had before that was for a pretty small company where I had a lot of freedom. Nowadays, I can't imagine working for someone else - it's a frightening thought.
On the other hand, I've known lots of programmers (and other people) that want nothing more than to settle into a secure job in a large organization. To each his own, I guess.
I've been my own boss for over 20 years now. And the only job I had before that was for a pretty small company where I had a lot of freedom. Nowadays, I can't imagine working for someone else - it's a frightening thought.
On the other hand, I've known lots of programmers (and other people) that want nothing more than to settle into a secure job in a large organization. To each his own, I guess.
Sunday, March 16, 2008
Customer Service
I've been traveling recently. Travel gives you a great perspective on customer service. You're continually dealing with airlines, restaurants, hotels, etc. One of the things I've noticed lately is that you can divide people/companies into two types. One type wants to go by the book. If you ask them for something that doesn't fit into their predefined "boxes" their response is "sorry, can't help you". They might be really friendly about it, but they don't help you. The other type will look for a way to help you, even though you're asking for something unusual or something that isn't really their business.
For example, we go into several agencies and say we want to go out snorkeling to a different island than the usual one. Most of them give us the official response of "we don't go there" or "we don't have enough people who want to go there" and that's the end of it. But then we go to another agency and they say "sure, we can work something out, it may depend on the weather and what else we have booked, but we'll figure it out". That's the kind of service that brings me back for repeat business.
I just hope that my business is more like the second type. Obviously, you can't answer every single request but you can try to come up with something to offer. My staff will come to me and say "so and so wants xyz, what should I tell them". If possible, I'll say "give it to them". Lots of times it's not possible, and you can tell that the staff person just wants to say no. But often we can offer a partial solution or an alternative or a suggestion. It may or may not totally satisfy the customer, but at least you've tried.
Here's an interesting video from a customer service conference: (note: it's an hour long)
For example, we go into several agencies and say we want to go out snorkeling to a different island than the usual one. Most of them give us the official response of "we don't go there" or "we don't have enough people who want to go there" and that's the end of it. But then we go to another agency and they say "sure, we can work something out, it may depend on the weather and what else we have booked, but we'll figure it out". That's the kind of service that brings me back for repeat business.
I just hope that my business is more like the second type. Obviously, you can't answer every single request but you can try to come up with something to offer. My staff will come to me and say "so and so wants xyz, what should I tell them". If possible, I'll say "give it to them". Lots of times it's not possible, and you can tell that the staff person just wants to say no. But often we can offer a partial solution or an alternative or a suggestion. It may or may not totally satisfy the customer, but at least you've tried.
Here's an interesting video from a customer service conference: (note: it's an hour long)
Friday, March 07, 2008
Day 4 at Etech 2008
Started out with XO Laptop Hacks. I just got my OLPC XO not that long ago and I haven't had time to do much with it so it was interesting to hear more.
Next I went to the presentation on CouchDB. It's an interesting project - written in Erlang, primary interface JSON via HTTP, started by one guy on his own, but now IBM pays his salary.
I couldn't miss Jeff Jonas's talk on behind the scenes in Las Vegas - he's an entertaining presenter. His talk didn't have as much software content as last year, but it was still good.
Synthetic Neurobiology was largely on the theme of "body hacking". One of their more clever hacks was to introduce genes into neurons (via a virus) that make the cell sensitive to light. You can then trigger the neurons to fire (or suppress them from firing) using light. Wow.
The day (and the conference) ended with more keynotes. First by Alex Steffen of WorldChanging (who I was disappointed to see carrying a disposable plastic bottle of water!) Then a presentation on Twine - yet another social network app, but at least with some interesting semantic web aspects. A brief talk on Digital Democracy about the use of the web (and social networks, of course!) in politics.
And the final talk was by Timothy Ferriss of the (4-Hour Workweek). I'd seen Tim around during the conference, attending talks. My first impression was that he was short. A bit like seeing an famous actor and finding out how short they are. He also blended in pretty well carrying his backpack around, although without the ever present laptop of most people. But when he gave his talk he definitely had a bigger presence and charisma. Unlike every other speaker, he did not have any powerpoint slides - he just talked. If you've read his book and blog it was nothing new. Despite being a wing nut in many ways, I still find him "inspiring" if that's the right word. The gist of his message is that you don't have to be powerlessly overwhelmingly "busy". You can re-engineer your life to do what you want to do.
Next I went to the presentation on CouchDB. It's an interesting project - written in Erlang, primary interface JSON via HTTP, started by one guy on his own, but now IBM pays his salary.
I couldn't miss Jeff Jonas's talk on behind the scenes in Las Vegas - he's an entertaining presenter. His talk didn't have as much software content as last year, but it was still good.
Synthetic Neurobiology was largely on the theme of "body hacking". One of their more clever hacks was to introduce genes into neurons (via a virus) that make the cell sensitive to light. You can then trigger the neurons to fire (or suppress them from firing) using light. Wow.
The day (and the conference) ended with more keynotes. First by Alex Steffen of WorldChanging (who I was disappointed to see carrying a disposable plastic bottle of water!) Then a presentation on Twine - yet another social network app, but at least with some interesting semantic web aspects. A brief talk on Digital Democracy about the use of the web (and social networks, of course!) in politics.
And the final talk was by Timothy Ferriss of the (4-Hour Workweek). I'd seen Tim around during the conference, attending talks. My first impression was that he was short. A bit like seeing an famous actor and finding out how short they are. He also blended in pretty well carrying his backpack around, although without the ever present laptop of most people. But when he gave his talk he definitely had a bigger presence and charisma. Unlike every other speaker, he did not have any powerpoint slides - he just talked. If you've read his book and blog it was nothing new. Despite being a wing nut in many ways, I still find him "inspiring" if that's the right word. The gist of his message is that you don't have to be powerlessly overwhelmingly "busy". You can re-engineer your life to do what you want to do.
Wednesday, March 05, 2008
Day 3 at ETech 2008
When I saw the first speaker of the day was some old guy instead of the scheduled Kathy Sierra, I was a little disappointed. The "old guy" turned out to be John McCarthy, the inventor of Lisp and "artificial intelligence". To me it was a pleasant surprise to see someone like this along with all the "tech kiddies". Unfortunately, his talk moved really slowly and they had to cut him off. I felt bad for him.
Kathy Sierra did speak later. She talked about how we all want to be "good" at something and what it takes to do that. Surprisingly, natural ability counts less than sheer focus and concentration. Of course, that requires motivation and it's less clear how to get that. Lately I've been thinking about when I developed Suneido and my focus (perhaps fanaticism would be more accurate). I seldom achieve that kind of focus anymore and I miss it. I just haven't quite figured out how to get it back. Then again, do I want to get it back? Spending the majority of your waking moments working on something isn't exactly a balanced life, no matter how challenging/rewarding/addictive it is.
Looking at today's sessions it seemed like there wasn't that much that was attractive to me. But sometimes it's a good thing to be be forced to go to talks that I might otherwise have skipped. After all, the whole point of the conference (for me) is to get exposed to new ideas.
Brain Imaging and I Sing the Body Electric surprisingly turned out to have a lot of common ground. There's a definite feeling around that hacking humans is the next frontier. I've never been keen on the idea of "hacking" myself, maybe because I know how easy it is to screw up complex systems.
Hackers Built My Motorcycle started out by saying his talk had nothing to do with the title, and sure enough he never mentioned motorcycles. Maybe that was an example of "hacking" the conference schedule. Nevertheless, it was a fun talk. The problem with talks about security, like talks about the environment, is that they are somewhat depressing! He proceeded to explain how easy it is to hack into cell phones, web sites, house locks, RFID credit cards ... scary stuff.
The next talk, about technology in Cuba, had the potential to be quite interesting but the two speakers read a pre-written speech and that seldom works well. I've really found that a good presenter is worth going to regardless of the topic, and no matter how interesting the topic, a bad presenter will kill it.
My final session was on OpenCV, an open source computer vision library. I don't know much about this area but it was pretty amazing what's possible these days.
Kathy Sierra did speak later. She talked about how we all want to be "good" at something and what it takes to do that. Surprisingly, natural ability counts less than sheer focus and concentration. Of course, that requires motivation and it's less clear how to get that. Lately I've been thinking about when I developed Suneido and my focus (perhaps fanaticism would be more accurate). I seldom achieve that kind of focus anymore and I miss it. I just haven't quite figured out how to get it back. Then again, do I want to get it back? Spending the majority of your waking moments working on something isn't exactly a balanced life, no matter how challenging/rewarding/addictive it is.
Looking at today's sessions it seemed like there wasn't that much that was attractive to me. But sometimes it's a good thing to be be forced to go to talks that I might otherwise have skipped. After all, the whole point of the conference (for me) is to get exposed to new ideas.
Brain Imaging and I Sing the Body Electric surprisingly turned out to have a lot of common ground. There's a definite feeling around that hacking humans is the next frontier. I've never been keen on the idea of "hacking" myself, maybe because I know how easy it is to screw up complex systems.
Hackers Built My Motorcycle started out by saying his talk had nothing to do with the title, and sure enough he never mentioned motorcycles. Maybe that was an example of "hacking" the conference schedule. Nevertheless, it was a fun talk. The problem with talks about security, like talks about the environment, is that they are somewhat depressing! He proceeded to explain how easy it is to hack into cell phones, web sites, house locks, RFID credit cards ... scary stuff.
The next talk, about technology in Cuba, had the potential to be quite interesting but the two speakers read a pre-written speech and that seldom works well. I've really found that a good presenter is worth going to regardless of the topic, and no matter how interesting the topic, a bad presenter will kill it.
My final session was on OpenCV, an open source computer vision library. I don't know much about this area but it was pretty amazing what's possible these days.
Tuesday, March 04, 2008
Day 2 at ETech 2008
Saul Griffith's talk on Energy Literacy was well done but pretty depressing. I can't dredge up much optimism that a) people will massively reduce their energy use, and b) we'll shut down much of our fossil fuel energy production and replace it via a massive construction of new green energy sources. I can't see it happening. People won't take such drastic action until there's a crisis. So it was further depressing to hear that the time lag on carbon reduction affects can be hundreds of years. i.e. By the time there's a crisis it'll be way too late to do anything. Of course, it's a contentious subject. Someone at my lunch table argued that technology would save us. Hmmm ... maybe it'll save us humans (we're good at that) but what about the rest of our ecosystem? We don't have near as good a track record there.
The presentation by MegaPhone on Collaborative Gaming in Public Spaces was entertaining. The two presenters were the founders and looked to be still in their teens! They develop ways for people to interact with public video displays, primarily by cell phone. They ended up in the debugger on the big screen a few times, but it seemed to work in the end. I'm not sure how they got to be keynote speakers but it was refreshingly "innocent".
The session on the Future of Mind Hacks was pretty interesting. You always wonder if you've picked the right session, but when Timothy Ferriss is a couple of rows ahead and Tim O'Reilly is a couple of rows behind I figure I've picked a good one.
Two Microsoft employees were sitting beside me, one had a MacBook, the other an iPhone (and worked in the mobile division). Hmmm ... is that getting to know the competition?
After the keynotes I went to Tap is the New Click on gestural interfaces (e.g. the iPhone). It was ok, but not great, mostly just a dry overview.
At lunch I counted 10 tables with a single person at them (one of them was mine). Good to know I'm not the only anti-social geek. But most geeks must be more social electronically than me. One of the big topics is social applications. Frankly, I don't have enough friends to need an application to keep track of them. Then again, I don't even have a cell phone so I'm obviously abnormal.
After lunch I went to Green Nano by an HP researcher. I've been excited by nanotech since Eric Drexler's Engines of Creation so it was nice to hear about progress. But the talk seemed a little dry.
For some variety I next went to a talk on Digital Activism by Ethan Zuckerman. It turned out to be pretty interesting. It's good to hear about some "positive" uses of technology.
Then DIY Drones by Chris Anderson (of Long Tail fame) - fun.
And finally, Personal Productivity by Gina Trapani of LifeHacker, another good talk. (Of course, Timothy Ferriss was at this one as well.)
All in all, a pretty good day.
The presentation by MegaPhone on Collaborative Gaming in Public Spaces was entertaining. The two presenters were the founders and looked to be still in their teens! They develop ways for people to interact with public video displays, primarily by cell phone. They ended up in the debugger on the big screen a few times, but it seemed to work in the end. I'm not sure how they got to be keynote speakers but it was refreshingly "innocent".
The session on the Future of Mind Hacks was pretty interesting. You always wonder if you've picked the right session, but when Timothy Ferriss is a couple of rows ahead and Tim O'Reilly is a couple of rows behind I figure I've picked a good one.
Two Microsoft employees were sitting beside me, one had a MacBook, the other an iPhone (and worked in the mobile division). Hmmm ... is that getting to know the competition?
After the keynotes I went to Tap is the New Click on gestural interfaces (e.g. the iPhone). It was ok, but not great, mostly just a dry overview.
At lunch I counted 10 tables with a single person at them (one of them was mine). Good to know I'm not the only anti-social geek. But most geeks must be more social electronically than me. One of the big topics is social applications. Frankly, I don't have enough friends to need an application to keep track of them. Then again, I don't even have a cell phone so I'm obviously abnormal.
After lunch I went to Green Nano by an HP researcher. I've been excited by nanotech since Eric Drexler's Engines of Creation so it was nice to hear about progress. But the talk seemed a little dry.
For some variety I next went to a talk on Digital Activism by Ethan Zuckerman. It turned out to be pretty interesting. It's good to hear about some "positive" uses of technology.
Then DIY Drones by Chris Anderson (of Long Tail fame) - fun.
And finally, Personal Productivity by Gina Trapani of LifeHacker, another good talk. (Of course, Timothy Ferriss was at this one as well.)
All in all, a pretty good day.
Monday, March 03, 2008
Day 1 at ETech 2008
The first day at ETech is tutorials.
First up was Live, Vast and Deep: Web-native Information Visualization by Tom Carden of Stamen Design. Although it was pretty high level and didn't get into too many details, there were lots of thought provoking examples and links to things to investigate - and that's what I'm looking for.
It was a tough choice between this and Storyboarding for Nonfiction by Kathy Sierra (or Creating Passionate Users). I decided that I might get more useful ideas (for me) from visualization. But I bet Kathy's talk was good too.
In the afternoon I went to Debugging Hacks: What They Never Taught You About Solving Hard Bugs by Marc Hedlund of Wesabe. Nothing really new but a good talk on how to solve hard bugs. One point that resonated with me: "the goal is not to suppress the symptoms, it's to understand the problem". I have this discussion with my own programmers on occasion - removing an assert is not "solving" the problem! And conversely, adding the assert did not "cause" the problem.
First up was Live, Vast and Deep: Web-native Information Visualization by Tom Carden of Stamen Design. Although it was pretty high level and didn't get into too many details, there were lots of thought provoking examples and links to things to investigate - and that's what I'm looking for.
It was a tough choice between this and Storyboarding for Nonfiction by Kathy Sierra (or Creating Passionate Users). I decided that I might get more useful ideas (for me) from visualization. But I bet Kathy's talk was good too.
In the afternoon I went to Debugging Hacks: What They Never Taught You About Solving Hard Bugs by Marc Hedlund of Wesabe. Nothing really new but a good talk on how to solve hard bugs. One point that resonated with me: "the goal is not to suppress the symptoms, it's to understand the problem". I have this discussion with my own programmers on occasion - removing an assert is not "solving" the problem! And conversely, adding the assert did not "cause" the problem.
Saturday, March 01, 2008
San Diego ETech
I'll be in San Diego this week for ETech.
Drop me an email if you're in the area and interested in meeting up.
Drop me an email if you're in the area and interested in meeting up.
Wednesday, February 27, 2008
Keep it Simple
37signals response to an article about them in Wired.
I don't necessarily agree with all of 37signal's philosophy but it's nice to see someone fighting against complexity and for simplicity.
I don't necessarily agree with all of 37signal's philosophy but it's nice to see someone fighting against complexity and for simplicity.
Tuesday, February 26, 2008
The Future is Free?
An interesting article by Chris Anderson (also know for the "long tail") in Wired on how and why more and more things are "free".
Sunday, February 24, 2008
Skype, Headsets, and Bluetooth
I'm going to be spending some time away from home without Shelley so I thought I should set up Skype so we could talk. It was no problem to download and install the software on my MacBook and on Shelley's Windows XP PC.
I bought a USB headset for the PC but I wanted something smaller for the MacBook and since it has Bluetooth I figured I could get a Bluetooth headset. I couldn't find a computer specific bluetooth headset, only cell phone ones. But would they work with the Mac? I did some research on the web and read about lots of problems, but mostly old issues that were supposedly fixed with Leopard. I didn't even bother trying to ask a clerk at Staples which bluetooth headsets worked with Skype on OS X on a MacBook. Although I guess if you were lucky you might get some kid who was an expert on the issue.
I chose a Bluetrek Tattoo headset, more or less at random. I charged it up, and managed to pair it with the MacBook, but I couldn't get any sound in or out of it. I couldn't even tell if it was "on" or not. It was supposed to have a green light when it was switched on but I got no lights. I played around for a while but it just seemed to be dead. I took it back and picked a Motorola H800, again for no particular reason. This time it worked fine, no problems. I still don't know if the Tattoo is incompatible, or if I just got a dud.
So now I have Skype working. The sound quality of the "echo" test call wasn't great but it says it's going to the UK so that might be part of the reason.
Of course, what I paid for the two headsets would have paid for more than enough regular long distance phone calls, but what would be the fun in that!
I bought a USB headset for the PC but I wanted something smaller for the MacBook and since it has Bluetooth I figured I could get a Bluetooth headset. I couldn't find a computer specific bluetooth headset, only cell phone ones. But would they work with the Mac? I did some research on the web and read about lots of problems, but mostly old issues that were supposedly fixed with Leopard. I didn't even bother trying to ask a clerk at Staples which bluetooth headsets worked with Skype on OS X on a MacBook. Although I guess if you were lucky you might get some kid who was an expert on the issue.
I chose a Bluetrek Tattoo headset, more or less at random. I charged it up, and managed to pair it with the MacBook, but I couldn't get any sound in or out of it. I couldn't even tell if it was "on" or not. It was supposed to have a green light when it was switched on but I got no lights. I played around for a while but it just seemed to be dead. I took it back and picked a Motorola H800, again for no particular reason. This time it worked fine, no problems. I still don't know if the Tattoo is incompatible, or if I just got a dud.
So now I have Skype working. The sound quality of the "echo" test call wasn't great but it says it's going to the UK so that might be part of the reason.
Of course, what I paid for the two headsets would have paid for more than enough regular long distance phone calls, but what would be the fun in that!
Tuesday, February 19, 2008
Suneido Build Frustrations
I made a minor improvement to the Suneido source code this morning, ran make, no problems, built-in tests ran successfully.
But when I tried to use the new executable I got an obscure database error. What's going on?
I had built with MinGW so I switched to Visual C++. Exact same error!?
This was at home and my last builds had been at work but I can't see why that would matter.
Remove all the object files and build from scratch. No good, same problem.
Check version control to see what I'd changed lately - very little, and nothing that seemed related to the error.
The error is from the database btree code. Maybe the database is corrupted. But all the exe's, old and new, say the database is fine.
Try creating a new database with just the standard library. Now I get a different error related to the Scintilla source code editing component.
Build a MinGW debug version and run it under GDB. That gives me a clue to what query is leading to the error. It had appeared to be outputting to the database, which seemed odd for start up, but it was actually building a temporary index for a query that it was reading. Although that query in the old working executable doesn't require a temporary index.
Turn on the query tracing at the start of the standard library Init to see where the query is coming from. It's loading the plugins.
Aha, that's why the database with only stdlib gets a different error - because it only has to look for plugins in a single library and therefore no temporary index. Yeah, if I disable the plugin loading then I get the other error.
Two unresolved questions
- why the temporary index in the new builds but not the older build?
- why the later UI error?
And how are these two questions related? (assuming a single cause) It seems like it would have to be something low level, like the garbage collector, to affect such unrelated areas.
Of course, it could be something like an uninitialized variable that happens to get a different value on my home system. But it seems too consistent for that. And something like would likely have been encountered before now.
What is different between my work and home machines? I call the office and have them install LogMeIn on my work computer so I can access it. I try building with MinGW and it works fine. The exe is a different size though. Something is different.
Transfer the home exe to work to see if it's the environment. Same error message, so at least it's not because of my Vista on Parallels on Mac setup at home.
md5sum the files at work and at home and compare. The only real difference is the change I made this morning.
But ... that couldn't be the problem could it? Revert that file and build.
Oh no, this is really embarrassing! It works. The problem was the most obvious first place I should have looked - the change I just made.
I'm really tempted not to post this - it just makes me look stupid.
Why did I go off on a wild goose chase? I guess because the error seemed to be so totally unrelated to my change, and I hadn't built for a while so it seemed likely that there could be a problem. And the change I did seemed trivial so I didn't suspect it. And because it seemed trivial I didn't write any tests. (The bug was also obvious, once I looked for it.)
Ouch. There goes a few hours down the drain. Maybe I learned a lesson, but sadly it's one I should have learned a long time ago.
But when I tried to use the new executable I got an obscure database error. What's going on?
I had built with MinGW so I switched to Visual C++. Exact same error!?
This was at home and my last builds had been at work but I can't see why that would matter.
Remove all the object files and build from scratch. No good, same problem.
Check version control to see what I'd changed lately - very little, and nothing that seemed related to the error.
The error is from the database btree code. Maybe the database is corrupted. But all the exe's, old and new, say the database is fine.
Try creating a new database with just the standard library. Now I get a different error related to the Scintilla source code editing component.
Build a MinGW debug version and run it under GDB. That gives me a clue to what query is leading to the error. It had appeared to be outputting to the database, which seemed odd for start up, but it was actually building a temporary index for a query that it was reading. Although that query in the old working executable doesn't require a temporary index.
Turn on the query tracing at the start of the standard library Init to see where the query is coming from. It's loading the plugins.
Aha, that's why the database with only stdlib gets a different error - because it only has to look for plugins in a single library and therefore no temporary index. Yeah, if I disable the plugin loading then I get the other error.
Two unresolved questions
- why the temporary index in the new builds but not the older build?
- why the later UI error?
And how are these two questions related? (assuming a single cause) It seems like it would have to be something low level, like the garbage collector, to affect such unrelated areas.
Of course, it could be something like an uninitialized variable that happens to get a different value on my home system. But it seems too consistent for that. And something like would likely have been encountered before now.
What is different between my work and home machines? I call the office and have them install LogMeIn on my work computer so I can access it. I try building with MinGW and it works fine. The exe is a different size though. Something is different.
Transfer the home exe to work to see if it's the environment. Same error message, so at least it's not because of my Vista on Parallels on Mac setup at home.
md5sum the files at work and at home and compare. The only real difference is the change I made this morning.
But ... that couldn't be the problem could it? Revert that file and build.
Oh no, this is really embarrassing! It works. The problem was the most obvious first place I should have looked - the change I just made.
I'm really tempted not to post this - it just makes me look stupid.
Why did I go off on a wild goose chase? I guess because the error seemed to be so totally unrelated to my change, and I hadn't built for a while so it seemed likely that there could be a problem. And the change I did seemed trivial so I didn't suspect it. And because it seemed trivial I didn't write any tests. (The bug was also obvious, once I looked for it.)
Ouch. There goes a few hours down the drain. Maybe I learned a lesson, but sadly it's one I should have learned a long time ago.
Monday, February 18, 2008
ZENN and the art of slow progress
One of my recurring complaints is gadgets that are only available in the US. But at least it makes a certain amount of sense when they're made in the US. But here's an example where it's made in Canada and it's still only available in the US!
Saturday, February 16, 2008
Creating Passionate Users Video
From the O'Reilly Tools of Change for Publishing conference. I like Kathy Sierra's Head First computer books and was a fan of her blog.
Wednesday, February 13, 2008
VirtualBox
In Tim Bray's ongoing blog he mentions Sun's acquisition of Innotek, the developers of VirtualBox - virtualization software for Windows, Linux, and OS X. I haven't tried it, but it looks interesting - and free for personal use.
Saturday, February 09, 2008
Catching Up
I've been traveling in Ecuador for the last month and although I managed to check my email and update my personal blog periodically I haven't been keeping up on news in the computer world.
One big acquisition was Sun buying MySQL. Sun seems to have done ok with Open Office, hopefully things will work out ok with MySQL.
And Microsoft is trying to buy Yahoo. I find this a little scary. I wonder what would happen to things like Flickr. It seems unlikely that Microsoft could manage to stay "hands off".
I knew Apple would be announcing new stuff while I was gone and I kept meaning to check it out. It didn't turn out to be anything too exciting. A cool new smaller laptop, but since I bought a MacBook not that long ago, that makes me annoyed more than anything! They also announced movie rentals which is interesting. It makes an Apple TV more attractive.
Of course, then I found out movie rentals are US only. Argh! I guess I shouldn't complain. I have no desire to move to the US and Canada has better access to new technology than many/most countries. But this "US only" thing seems to be getting more common. I just heard that Bug Labs new product (that I've been waiting for) is also initially US only.
Sometimes I enjoy the relentless rush of new hi-tech products, other times it's annoying. I buy a MacBook, they announce the thinner, lighter MacBook Air. I buy a Pentax K10, they announce the K20. In most cases I don't need the new product, the old one doesn't suddenly stop working. But it's hard to stop yourself from thinking "if I'd just waited a few months". But you know that doesn't work, the treadmill doesn't stop. Of course, when you're waiting for a new product or feature then it seems to take forever to arrive.
My One Laptop Per Child OLPC XO arrived while I was gone.


It took me a while just to figure out how to open it. I was trying to use the latches on the bottom but they're for the battery. You have to open the antennas to unlatch it. It powered up ok but the user interface was pretty cryptic at first. I kept trying to click by tapping on the touch pad (like I'm used to on other laptops) but that doesn't work. My next problem was that the left "mouse" button is labeled with an "X" which I automatically associate with "close". So I kept trying to use the right button which is labeled with "O". I should have ignored the labels - the left and right buttons work like other systems. Once I got past these roadblocks it got easier.
The keyboard is too small to touch type on with adult hands but I was expecting that. The screen is nice and is quite readable in direct light with the backlight turned off - this saves power and also lets you use it in bright sunlight. I managed to connect to my home wireless network without too much trouble (had to pick hex and shared key) and was able to browse the internet and check my email. The built in camera seems to work fine.
The only real problem I've run into is that I get two CRC errors when I boot up. I'm guessing they're from the hard drive. So far they don't seem to be causing any trouble.
I don't have a particular use in mind for the XO, it's just interesting to see what they've come up with after hearing about the project for so long.
Also waiting for me were the new books by Christopher Alexander (of design patterns fame). Now I just have to find time to read four hefty volumes. Lots of pictures at least :-)
One big acquisition was Sun buying MySQL. Sun seems to have done ok with Open Office, hopefully things will work out ok with MySQL.
And Microsoft is trying to buy Yahoo. I find this a little scary. I wonder what would happen to things like Flickr. It seems unlikely that Microsoft could manage to stay "hands off".
I knew Apple would be announcing new stuff while I was gone and I kept meaning to check it out. It didn't turn out to be anything too exciting. A cool new smaller laptop, but since I bought a MacBook not that long ago, that makes me annoyed more than anything! They also announced movie rentals which is interesting. It makes an Apple TV more attractive.
Of course, then I found out movie rentals are US only. Argh! I guess I shouldn't complain. I have no desire to move to the US and Canada has better access to new technology than many/most countries. But this "US only" thing seems to be getting more common. I just heard that Bug Labs new product (that I've been waiting for) is also initially US only.
Sometimes I enjoy the relentless rush of new hi-tech products, other times it's annoying. I buy a MacBook, they announce the thinner, lighter MacBook Air. I buy a Pentax K10, they announce the K20. In most cases I don't need the new product, the old one doesn't suddenly stop working. But it's hard to stop yourself from thinking "if I'd just waited a few months". But you know that doesn't work, the treadmill doesn't stop. Of course, when you're waiting for a new product or feature then it seems to take forever to arrive.
My One Laptop Per Child OLPC XO arrived while I was gone.


It took me a while just to figure out how to open it. I was trying to use the latches on the bottom but they're for the battery. You have to open the antennas to unlatch it. It powered up ok but the user interface was pretty cryptic at first. I kept trying to click by tapping on the touch pad (like I'm used to on other laptops) but that doesn't work. My next problem was that the left "mouse" button is labeled with an "X" which I automatically associate with "close". So I kept trying to use the right button which is labeled with "O". I should have ignored the labels - the left and right buttons work like other systems. Once I got past these roadblocks it got easier.The keyboard is too small to touch type on with adult hands but I was expecting that. The screen is nice and is quite readable in direct light with the backlight turned off - this saves power and also lets you use it in bright sunlight. I managed to connect to my home wireless network without too much trouble (had to pick hex and shared key) and was able to browse the internet and check my email. The built in camera seems to work fine.
The only real problem I've run into is that I get two CRC errors when I boot up. I'm guessing they're from the hard drive. So far they don't seem to be causing any trouble.
I don't have a particular use in mind for the XO, it's just interesting to see what they've come up with after hearing about the project for so long.
Subscribe to:
Posts (Atom)