Author: Matt Croydon

  • Darwin Calendar Server

    As soon as Gruber pointed out Darwin Calendar Server I felt like I had to check it out. I’ve played with Darwin Streaming Server in the past and love me some Webkit. I was pleasantly suprised to find that Darwin Calendar Server runs on top of Python and Twisted.

    So away I went. I checked out the source and began to poke around. I managed to check out the source before the README was added so I did a fair amount of head scratching and wheel spinning, but it turns out that getting up and running is pretty easy: ./run -s

    That sets up the server, downloading and building some prereqs as it goes. I already had some prereqs installed system wide so I can’t guarantee that this works, but I’m pretty sure that it has worked for others. I should take a second to qualify that I’m running OS X 10.4 with Python 2.4 installed. From there I copied over the sample config file (cp ./conf/repository-static.xml ./conf/repository-dev.xml) and immediately started troubleshooting SSL errors. First I installed PyOpenSSL and created a self-signed certificate. That yielded a brand new error: OpenSSL.SSL.Error: [('PEM routines', 'PEM_read_bio', 'no start line'), ('SSL routines', 'SSL_CTX_use_PrivateKey_file', 'PEM lib')]

    After doing that and getting some guidance from the folks in #collaboration on freenode I decided to hack away at the plist and disable SSL for now (change SSLEnable to false instead of true). From there I could run the server (./run) and bring up a directory listing my pointing to 127.0.0.1:8008.

    Darwin Calendar Server Chandler Setup

    From there I subscribed to the example payday calendar and the holiday calendar. It appears that iCal won’t do two-way CalDAV until Leopard, but in the meantime I was able to successfully set up and test Chandler.

    This is some absolutely amazing tech in its infancy. I can’t wait to see where this goes and I’m excited that it’s built with tools that I’m familiar with (Python, Twisted, SQLite, iCal). It seems to me like this open source app is but the tip of the iceberg of collaboration features that will be baked in to OS X 10.5 desktop and server.  I would also kill for a mobile device that spoke CalDAV natively so that I can replace my duct taped google calendar to iCal to iSync to 6682 workflow.

  • VMWare Virtual Appliances

    Server graphic from openclipart.org by Oliver BoyerA few weeks ago I downloaded the free version of VMWare Server to try out a few operating systems on my testbed Ubuntu box. Installation went quite well (even though it felt like I was building something from CPAN) and it even handled building some modules for the Linux kernel I had installed quite gracefully.

    What I stumbled upon and have been thinking about off and on for the last few weeks is the selection of virtual appliances available for download. There are two pretty big things that you can do with this wide assortment of preconfigured images.

    First, these virtual appliances are killer for evaluating applications, servers, and software stacks. If you’re evaluating mail platforms you can download the Open-Xchange appliance and run it with VMWare Player, testing it in a lab or with your existing infrastructure. If you’ve used SQL Server for years but want to see what else is out there you can experiment with PostgreSQL or MySQL appliances within a virtual sandbox.

    The other killer feature of virtual appliances is that you can cram the functionality of several little pastic boxes in one relatively inexpensive box running Linux and VMWare Server. Load up a box with a couple of network cards and run a firewall, network attached storage, CRM software, and a PBX on it. This is the aspect of virtual appliances that VMWare is marketing well but I still think it’s a huge deal.

    Many of these appliances take up very little disk space and othe resources which means you can pack them in pretty tight. You can replace several different servers or appliances with one physical box and operate multiple appliances for virtually zero additional cost. It’s also nice that there are a ton of virtual appliances from companies and hobbyists alike.

    To be honest I’m not quite sure how VMWare isn’t loosing their shirt on this. Free appliances running with free (as in beer) software doesn’t bring in any money. They are however showing lots of people exactly how good their software is. Hopefully someone who loves VMWare server and player would be more likely to purchase a datacenter-quality product from VMWare over another vendor.

  • Acknowledging the Mobile Web with Django

    KTKA breaking news homepageI was reading up on HowToProvideAlternateViewsForMobileDevices on the Rails wiki this morning and couldn’t help but notice how much easier it is to set up a mobile version of a Django site. At World Online we have stripped-down barebones no frills “all we want are the facts ma’am” versions of all of our sites. They prove extremely useful during KU basketball games or when you’re in downtown lawrence and want to know what restaurants are open. Since our mobile sites are just alternate templates on the same views, setup goes something like this:

    In main_site.settings:

    TEMPLATE_DIRS = (
    '/path/to/templates/mainsite.com/',
    '/path/to/templates/default/',
    )

    In mobile_site.settings:

    from main_site.settings import *
    TEMPLATE_DIRS = (
    '/path/to/templates/mobile.mainsite.com/',
    '/path/to/templates/default/'
    ) 

    The first line imports all of the settings from your main site. We then overwrite the TEMPLATE_DIRS setting to point to the mobile version of our templates (and fall back to default templates if there isn’t a mobile specific version). Because every app that we write also gets a default template we can have a complete mobile site up and running by creating just one or two mobile base templates.

    While Django can’t help you debate internally the “one web” versus “two webs” philosophies, it can definitely help you produce lightweight mobile-friendly content with minimum effort.

  • Gizmo for the 770!

    Gizmo 770

    Gizmo Project for the 770 dropped today.  I found out when Russ called my mobile from his 770.  The voice quality wasn’t as good as a landline to landline or landline to mobile but it was definitely better than the quick test I did with Jeff 770 to 770 using GTalk.  I was also pleasantly suprised to notice that Gizmo’s calling within the USA is down to a penny a minute and prices to a couple of places in Europe are under 3 cents a minute.

  • PyS60 1.3.8 Released

    Python for S60 version 1.3.8, released specifically for S60 3rd Edition is now available for download. See the release notes for more information. Special thanks to Jukka and everyone else for pushing this release out the door just before Finland shuts down for the summer.

  • Symbian: Quietly outperforming RAZRs and iPods

    Earlier this evening I was reading this Fortune article on the success of the Motorola RAZR. While skimming the article I couldn’t help but look at the graphic to the right and say “that’s it?” My fellow Mobitopians and I have been watching the total number of Symbian phones shipped quietly and spectacularly increase. Here’s a quick breakdown:

    It’s been really amazing watching these quarterly reports over the years. The total number of units shipped per quarter continues to rise, and per usual, Symbian is quietly outselling RAZRs and iPods alike.

    So congratulations, Apple and Motorola, you’ve shipped a lot of units. It’s time to get back to work though, you have some catching up to do.

    Update: The Symbian numbers are indeed cumulative.  I quoted cumulative units shipped because that’s what the chart from Fortune depicts.  For further analysis, check out this post on techtype.

  • Internet Tablet OS 2006 FINAL Drops

    It’s not on the official Nokia software download page yet, but I just flashed my Nokia 770 to the final release of Internet Tablet OS 2006 from the Maemo download page.

    I can’t wait to play with the gizmo 770 client.

    The OS ships with links to tableteer.nokia.com, which looks really sweet on the 770 (see more screenshots here):

    Nokia Tableteer

    The application manager also includes http://catalogue.tableteer.nokia.com/certified/ and http://catalogue.tableteer.nokia.com/non-certified/ as default repositories. These currently only contain themes and a game, but there is tons of potential here. This is a great way to deploy new software for the 770 without requiring a flash. I would love it if the gizmo client or other official third-party apps end up in the certified repos and it would be great if Nokia made it easy for open source developers to get their software included in the non-certified repository.

  • Internet Tablet OS 2006 BETA Application Repositories

    Update: I have moved this list over to the maemo wiki which will contain the most up to date list of repositories.
    I’ve been loving every minute of the release of the 2006 OS beta for my Nokia 770. Everything is just that much zippier and there are more built-in features including contact management, jabber/jingle support, and a boatload of other things.

    One of the new features that I absolutely love is the new application manager. The 770 is built on a custom Debian build, so package management is done via APT. In the 2005 edition you had to point the package manager at individual .debs, handle dependencies yourself, and all that not-so-fun stuff. The 2006 OS ships with an enhanced package manager that you can point at repositories to handle everything for you.

    Here’s a quick list of the repositories on my 770:

    Maemo repository
    Web address: http://repository.maemo.org/
    Distribution: mistral-beta
    Components: free
    Applications: Maemopad

    Maemo Mapper
    Web address: http://gnuite.com:8080/nokia770/
    Distribution: mistral
    Components: user
    Applications: Maemo Mapper

    FBReader
    Web address: http://only.mawhrin.net/fbreader/maemo/
    Distribution: mistral
    Components: user
    Applications: FBReader

    Kernel Concepts
    Web address: http://www.kernelconcepts.de/~fuchs/nokia770/ex_2006/
    Distribution: ./
    Components: (blank)
    Applications: GPE Calendar, GPE Contacts, GPE Todo

    Maemo Hackers
    Web address: http://maemo-hackers.org/apt/
    Distribution: mistral
    Components: main
    Applications: maemo-gaim, osso-xterm, osso-statusbar, xchat

    Python Repository
    Web address: http://maemo.org.br/platform/apt/
    Distribution: python
    Components: python
    Applications: Python and related bindings

    To add new repositories to your 770 running the 2006 beta, hit Tools -> Application Manager, then hit the title bar or menu key, select Tools -> Application catalog… and away you go.

    Update: Two new repositories ship by default with the final version of Internet Tablet OS 2006:

    Nokia Tableteer
    Web address: http://catalogue.tableteer.nokia.com/certified/
    Distribution: mistral
    Components: user
    Applications: Maemo-blocks, themes

    Nokia Tableteer
    Web address: http://catalogue.tableteer.nokia.com/non-certified/
    Distribution: mistral
    Components: user
    Applications: Hello world app, Maemo development examples

  • Where 2.0: Madmen or Pure Genius?

    While drooling over the O’Reilly Where 2.0 conference schedule a week or so ago I noticed that except for a few keynotes, panels, and lightning talks, every talk at the conference is exactly 15 minutes long. At first I thought that O’Reilly was off their rocker, but if I had to play the odds, I’d have to bet that they’re on to something.

    So almost all presentations are 15 minutes long. That means that there’s a good chance that I can figure out what each person is going to talk about by reading their blurb and possibly googling their name or (more often than not) heading over to their blog.

    That’s the motivation for me to attend if I can pretty accurately guess what each person is going to talk about? Actually, I’m not. Don’t get me wrong, I’d love to go (and I’d give my left kidney to attend the Google Geo developer day), but I just can’t justify $1500 plus travel and lodging. To be fair it would have been $400 less if I had hopped on the early bird special but it still would have cost more than I can afford to blow on a conference.

    Per usual, this conference will have an insanely high concentration of really smart geo geeks, so there’s lots of hanging out to be done between conference sessions. I also really like the idea of having lots of 15 minute presentations in a single place rather than “tracking” sessions in several locations. Invariably I miss something really cool at a conference because there’s something else I want to catch at the same time.

    I’m not sure how proven this conference format is, but I hope that it works. Except for the price tag, Where 2.0 almost has an “unconference” feel to it.

  • GCALSYNC: Operator Lockdown Strikes Again?

    I was catching up on reddit this morning and stumbled upon a link to GCALSYNC, a j2me app still in its early stages that allows you to sync your mobile phone’s calendar with your google calendar. I immediately got excited and went to try it out as a replacement for my current iCal/iSync setup.
    I navigated over to wap.gcalsync.com using Opera on my Nokia 6682.

    While I’m on the subject of Opera, if you’re using Opera for S60, run don’t walk to the 8.60 upgrade, it’s really amazing!

    I downloaded the GCALSYNC jad, the installer launched, and I went through the usual “this is untrusted, install anyway?” dialog. This is something I’m used to, but I wasn’t ready for the “Authorization Failed” popup to end my install process.

    I’m not sure if the install is failing because of a problem with the JAD/JAR or if the phone is refusing to install it because it uses the calendar API (or possibly another security API). My gut is telling me that it’s the latter because of an entry under known bugs on the GCALSYNC web page:

    SecurityException: On Cingular (US mobile operator), the phone calendar is not available due to Cingular security restrictions. “Test” fails with a SecurityException whne testing phone calendar if you have this problem.

    The workaround (if you ever manage to install it) is to bypass login information and link to your private calendar address, only allowing GCALSYNC to download information from your calendar, not upload information to it.

    So what gives? Is the phone that I paid a decent chunk of change for (on contract) so locked down that I can’t use this compelling J2ME app on it? Is there any way that I (as an end user) or the developers of GCALSYNC can get around it?

    I sure hope so, because this app looks totally awesome.

    Update:

    After catching up with me in the comments section of the GCALSYNC reddit post, Thomas has released an updated version which asks “pretty please” for permission to do something.  With that modification GCALSYNC now installs on my phone.  Thanks to Cingular’s lockdown though, I can only get at my calendars via the private feed which still means read-only data.

  • XTech Papers and Slides

    I’ve been watching Planet XTech from Kansas just dying to read slides and papers. I spotted Simon’s slides and notes the other day but didn’t notice the full papers on the XTech site until last night. More for my sanity than anything else I’ve compiled a list of papers and slides from XTech. Let me know if I’ve missed something.

    Slides and notes (off-site):

    Full papers (from the XTech site):

  • Xgl

    XGL thumbnail

    A week or so ago I managed to get Xgl working on a box at home using these instructions wtih an aging Nvidia card. I previously had issues getting it to work with an ATI card, but I think that had more to do with flgx and my rather old Radeon than anything else.

    I was completely blown away when I started up XGL and enabled compiz for the first time. It brought an extra level of polish to the already amazing Dapper Drake. By default it enables several effects and features. Some are more whizzy than useful, but the alt-tab preview pane and expose-like features are quite useful. Less useful but still pretty are true transparency and the waving effect that happens when you drag a window.

    Unfortunately running Xgl and compiz meant that things like emacs didn’t run at all, and other apps like Evolution behaved unpredictably.

    That’s to be expected though. Xgl is still very much unstable and bleeding edge. Even if it’s not usable (for me) day in and day out, I think it’s a glimpse in to the future of desktop linux. The packages are available in the Universe repository for Dapper, but there are big warnings everywhere about their experimental nature.

    I really hope that over the next six months Xgl matures and that by the time Edgy Eft is born Xgl will be ready for prime time, if not in the default install.

  • My OSX Development Environment

    My work powerbook was out at Apple for a week or so getting a tan, a new motherboard, memory, and processor. While it was out of town I settled in to a Linux development environment focused around Ubuntu Dapper, Emacs 22 + XFT (pretty anti-aliased fonts), and whatever else I needed. Ubuntu (and other apt-based systems) are great for hitting the ground running because you just install whatever you need on the fly only when you need it. I also got pretty in to emacs and all of the stuff that’s there by default with a source build of the development snapshot. My co-worker James helped me get through some of the newbie bumps of my emacs immersion program.

    When the powerbook came back I decided it was time to reboot my development environment, so I started from scratch. Here’s what I installed, in the order that I installed it:

    • Updates. Oh. My. Goodness. I rebooted that thing so many times I started looking for a green start button.
    • Quicksilver (freeware): I use it all the time to get at stuff I need.
    • Transmit (commercial, $30): Worth every penny.
    • Firefox (open source): My browser of choice, though I really dig Safari’s rendering engine.
    • Textmate (commercial, 39 euro): I spend all day in this text editor and it rocks, though I do miss emacs.
    • Then I disabled capslock. I never hit it on purpose, it’s always getting in the way. I should really map a modifier key to it, but I’m not sure which one and I don’t know if I can convince my pinkey to hit it on purpose.
    • Xcode: A man has to have a compiler.
    • Subversion (open source): I used the Metissian installer since it has treated me well in the past, and I often have flashbacks of building subversion pre-1.0 from source.
    • Django (open source): I checked out trunk, .91, and magic-removal from svn.
    • Ellington (commercial, starting at $10-15k): I checked out ellington and other work stuff from our private repository.
    • Firebug: Essential for web development.
    • Python 2.4 (open source): I’m not a big fan of the Python 2.3 that ships with OSX.
    • Python Imaging Library (open source): It’d be really nice if this made its way in to the standard Python distro.
    • ElementTree (open source): I usually use either ElementTree or Sax for parsing XML documents.
    • GNU Wget (open source): It’s what I use to download stuff from the commandline.
    • PostgreSQL (open source): It probably hogs resources to always have this running in the background, but I use it often enough.
    • PostgreSQL startup item from entropy.ch
    • mxDateTime (open source): I’ve never really used it directly, but psycopg does.
    • Psycopg 1.x (open source): Django uses this to talk to Postgres.
    • Colloquy (open source): A really nice IRC client for OSX. I’m also rather fond of Irssi and screen over SSH.
    • Growl (open source): It’s not work critical but I like it.
    • Pearl Crescent Page Saver (freeware): I find it indispensable for taking screenshots of entire web pages.
    • Session Saver for Firefox: I hate looking at 15 different forum threads to find the latest version of this, but I love what it does for me.
    • Adium (open source): Best darned IM client for OSX that talks just about any protocol.

    While I may have missed an app or two, I think that just about covers my OSX development and living environment. I find the Ubuntu desktop useful enough that it’s still humming under my desk at work. The work LCD has both analog and DVI inputs so I’m able to switch between my two-screened powerbook and a one-screened Linux desktop in a pseudo-KVM kind of way.

    I can’t say enough how impressed I was with Dapper, and how productive it kept me. Aside from my emacs learning curve, I felt at home and had the command line and any app that I wanted to install at my disposal.

    I hope that this laundry list is helpful, if nothing else it’ll be a place for me to start the next time I’m looking for a clean slate.

  • Reader Submitted Content: Everybody Wins

    LJW hail coverage photoI was enthralled to see a reader submitted photo on the front page of The Lawrence Journal-World this morning. It was located just below the fold and part of a followup story about hail damage from the storm on Sunday.

    Reader submitted photos rounded out the coverage done by our awesome staff of photographers. In fact, reader submitted photos and those taken by our readers appeared side by side in the same online gallery.

    While this might make some people a little uneasy, I think it’s perfect. There’s no way that we could produce a paper with the quality that our readers expect without our photographers. At the same time our photographers can’t be everywhere at once and it’s great to be able to expand our coverage with the help of our readers.

    My co-worker David reminds me that we’re also changing the photo credit that runs in print from “Special to the Journal-World” to “Submitted online by” which should help spread the world and generate more content online that might see its way to print.

    It’s a two-way street and everybody wins. We’re better because our readers submit content to us and we’re able to provide better coverage to them because of it.

  • Where’s Matt?

    Holux 236I’ve wanted a Bluetooth GPS device for a long time now. I know it’s a totally geeky thing, but there are so many things that I’ve wanted to do that involve getting a hard lat/long reading. Don’t get me wrong, cel tower information is nice, but nothing is better than knowing *exactly* where you are.

    I decided to spend some tax return money on a nice (but inexpensive) Bluetooth GPS unit. Jim Ley was kind enough to share what he knew about them with me in #mobitopia. After talking to Jim and examining my options, it sounded like I had to choose between feature sets in my price range. I could either have the SiRF III chipset, which by all accounts rocks, is small, low power, and extremely accurate, or I could do on-device logging.

    My decision quickly came down to either the DeLorme Bluelogger with on-device logging but a previous generation SiRFStar IIe chipset or the Holux GPSlim 236 which has the newer chip but no on-device logging.

    I ended up snagging a Holux 236 and a USB data cable for a little over a hundred bucks after shipping on ebay. I’ve since been tinkering with hooking up the GPS to both Meaning and ZoneTag to geocode my flickr photos. They’re the ones filed under geotagged. I’ve also been having fun with the NMEA info python app, Christopher Schmidt’s GPSDisplay, Microsoft Streets and Trips on my wife’s PDA, and GPSDrive on the Nokia 770.

    Now that I’ve had a chance to use it a little, it would be nice to be able to do on-device logging. It’s not the end of the world but in hindsight it would have been nice to log my path on the device and download it later rather than haiving to keep a bluetooth connection open on a second device. I’m still glad to have the latest and greatest chipset though.
    The Holux 236 has been one of the most hassle-free bluetooth devices I’ve used. It doesn’t require explicit pairing before use and getting it to work with various platforms and applications has been a breeze. I do have some trouble getting a fix to transfer from time to time, but it’s extremely well behaved by Bluetooth device standards.

    I hope to play around with this some more but also do some real stuff with it too. I can’t wait to poke at it from within Python for S60 and an open street map of Lawrence would rule. Speaking of Lawrence, you should definitely check out where Tim Hibbard is. He’s been geolocating himself around town with a nice Google Maps interface for some time now.

  • Den Archeology

    I spent part of yesterday cleaning up and organizing the den (the last holdout of the rebel packing box forces) and found quite a few things along the way. Among old papers, reciepts, notes, and general crap there were some interesting stuff. Here is a sampling:

    • 5/31/2000: Invoice for my AMD Athlon 750 CPU. That CPU in an Abit KA7-100 motherboard treated me quite well.
    • 8/05/2000: A packing slip for several Billy Pilgrim albums from the (long gone) MP3.com. I wish that I had snagged a few more before MP3.com went under.
    • 1/3/2002: Registration confirmation to watch a Steve Jobs keynote via satellite at Apple’s Northern Virginia campus.
    • 7/5/2002: My reciept for Radio Userland 8.0.8. That’s also the day that I switched my tech content from LiveJournal to my Radio blog.
    • 7/20/2002: A printout of my Amazon Web Services developer token.
    • 8/26/2002: Windows Beta product key for ITX (.NET Server RC)
    • 10/12/2002: An Airtran bording pass from BWI to Boston for the Web Services DevCon East.
    • 2/28/2003: packing slip for my newly ebay‘d Intel ISP 1100 1U server. I also found reciepts for the processor, memory, and hard drive that I stuck in it.
    • 10/03: In the margin of class notes I wrote down some thoughts on mobile wikis and mobile FOAF.
    • 11/03: Some notes on weathermob, a mobile webapp that I’ve thought about off and on again for years but have never done anything with.

    Per usual, I spent way too much time looking at stuff and not enough time actually cleaning. A trip down geeky memory lane is quite nice every once in awhile though.

  • Don’t Be Complacent

    News Designer:

    The new free Baltimore Examiner tab dropped Wednesday, with a bigger circulation than the Baltimore Sun.

    How awful must it be to wake up one morning and have your paper suddenly and abruptly be #2? It could happen to anyone, any time, and with little or no warning.

    We do our best to be painfully aware of that at the Journal-World. Dolph Simons Jr., Chairman of The World Company is quick to remind us, “No one can afford to be complacent as there always is someone who can come into town and beat you at your own business if you do not remain alert and strong.” That quote is on our about us page, though he echoes similar statements in a recent interview with The Kansan, KU‘s newspaper.

    Still, this gutsy move by The Examiner should remind the entire industry to keep on its toes.

  • Wishlist 2.0

    I’ve been contemplating writing a wishlist app off and on for a few months now but have never gotten around to doing so. While I have an Amazon wishlist, there’s a lot of stuff that I’d love to have that Amazon doesn’t sell. After finding myself keeping a seperate list and periodically e-mailing it to my wife, I though tit would be cool to be able to put together a wishlist using any item that has a URL.

    I waited too long and it looks like gifttagging has done at least 80% of what I was hoping to do. It has the web 2.0 look and feel and a tag cloud on the front page and everything. I have a feeling that I won’t actually use the service but it definitely does almost all of what I was planning to do, so if I tried to pull it off it’d be something of an also-ran.

    A couple of weeks ago I brainstormed the concept (in a rather conversational tone) with the hope of motivating myself to get started on it. That obviously didn’t happen so I thought perhaps I’d share the brainstorming session in case it’s useful to someone.

    So you have an amazon wishlist, and a wishlist with this other site, and you want some stuff that you can’t put on a wishlist. Wouldn’t it be nice if you could put all of this wishlist stuff in one spot? Cue wishlist 2.0 (or whatever it’s called). It gives you one URL you can send to your friends who want to know what you want. Of course it does stuff like pull in (and keep in synch) your Amazon wishlist, but it also works for so much more, like that doodad you want from whatsit.com. It lets you set priorities, keep notes about particular items, and it’s really easy to share with your friends. They can subscribe to an RSS/Atom feed of the stuff you want, you can send them an email linking to your wishlist, they can leave comments and OMG you can tag stuff too.

    So lets get down to some details. You sign up. Confirm your email address, cause you have to have a valid email address (even if it’s mailinator.com). After you confirm you’re sent to your “dashboard” screen. You know, the one you get every time you log in. It lists your wishlist items in whatever order you prefer (but you can reorder them). Since it’s your first time there’s a little bit at the top asking if you’d like a tour of the place, or if you’d rather, just import your shit from amazon.

    The import process is pretty painless. We’re up front about needing some information about you in order to get your wishlist from Amazon. So we get that info from you say “hang on a sec” and go grab your info using Amazon’s APIs. We come back with “Hey, so you’re John Whatshisname from Austin, TX, right? You want this, that, and the other thing. That’s you, right?”

    After we confirm that we’re not pulling in some other dude’s wishlist, we prepopulate your wishlist with the stuff from Amazon. Your quantities and ranking come over, plus everything gets tagged with “amazon”.

    If you don’t have anything to import from amazon, we take you in the other way and show you how easy it is to add items to your wishlist. All stuff needs is a URL in order for you to add it. We’ll do our best to guess what it is, but you can always override that. It gets your default “want it” value unless you override that, plus you can tag it with whatever you want “del.icio.us-style”.

    From there we can point out that “hey, your wishlist has an RSS feed. Or an Atom feed, if that’s how you roll.” You can also do other stuff like tell your friends, browse stuff from other peoples’ wishlists, or access your wishlist from a mobile phone.

    I guess the browsing and social aspect could be fleshed out a bit. Each wishlist item could be able to tell you what other people that want this want. You know, if you want a pink RAZR you might also want a fashionable bluetooth headset. Stuff like that. You can also look at the latest stuff that everyone is wishing for. If you’re on somebody elses wishlist page and you see something that they want that you also want, you can just click “I want this too” and you can add it to your wishlist.

  • Tags are for the Community, not for you

    I’m reminded of this every time I try to retrieve a bookmark from del.icio.us: tags are for the community, not for you.

    No really. Every time I go looking for a link from a few months back I search a tag that I *know* I must have tagged it with. A tag that I always tag stuff like that with.

    Nine times out of ten I forgot to use that tag, whatever it was. They’re really usless for information retireval. But they sure do help out the community.

  • S3 Service Outage

    Yesterday Amazon’s new S3 service served up nothing but service unavailable messages for nearly 7 hours.

    I give Amazon full credit for hopping on their user forums last night and letting us know that they were working on it and letting us know when it was fixed. At the same time I’m a little frustrated that such an outage occured so early on in the history of the service. The whole point of S3 is to treat storage like a utility, metered in gigabyte-hours and gigabytes of data transfered, much like you would treat your water or electricity service.

    How mad would you be if the power company turned off your power for several hours without warning, or if you woke up in the morning to find that you couldn’t take a shower? Pretty mad I imagine. I was just a little bit annoyed last night because my flickr backup wasn’t working. I couldn’t have retrieved anything from S3 if I had wanted to, but thankfully I didn’t need (or want) to.

    What if I were building out a Carson-style startup using S3 for storage? That would have been 7 hours of downtime for my app too. Hopefully the beta testers weren’t too pissed off. Hopefully I wasn’t showing a demo of it to anyone.

    Now might be a good time to read the Amazon Web Services Licensing Agreement and specifically the section on Amazon S3. You’ll note that there aren’t any guarantees about availability or uptime. You can’t count the nines in their SLA.

    I know that Amazon strives to keep S3 and their other web services up as much as possible, and over time they have done an extellent job at it. S3 is still very young and I’m sure that they’re tweaking and improving the service on the fly all the time.

    This incident is by means an indication of long term stability. Just remember that there are no guarantees.

    Update: Amazon continues to keep communication channels open and are taking strides to make sure that this doesn’t happen again. David Barth writes:

    A short note to let you know that we are taking the outage this weekend very seriously, and that once things calm down here we will post something to this thread letting you know what steps we will be taking in the future to ensure this doesn’t happen again.

    Update: David Barth gives us a more detailed update:

    We were taking the low-load Saturday as an opportunity to perform some maintenance on the storage system, specifically on some very large (>100 million objects) buckets in order to obtain better load-balancing characteristics. Normally this procedure is entirely transparent to users and bucket owners. In this case, the re-balancing caused an internal transit link to become flooded, this cascaded into other network problems, and the system was made unavailable.

    Read the full post for more on what Amazon is doing to prevert further outages.