luis is a co-founder and social software architect at SyndeoLabs, and a director at Exist Global. he likes building small web toys a whole lot. More ...

quick links to the good stuff

  • 25 First Dates 25 May 2009
  • True Crime: Confessions of a Criminal Mastermind 17 Feb 2009
  • Finding Your Soul Mate: A Statistical Analysis 27 Jan 2009
  • Sex and Schrodinger's Cat 07 January 2009
  • An Extended Rant on Heroes 26 September 2008
  • Zero Barrier 05 May 2008
  • Sweatshop Blogging Economics 08 April 2008
  • The Doomsday Singularity 25 February 2008
  • Piracy and Its Impact on Philippine Music 21 January 2008
  • The Manila Pen-etration by the Hotelier Antonio Trillanes 29 November 2007
  • Journey of a Thousand Heroes 17 December 2006
  • Shake, Rattle & LOL 30 December 2005

    elsewhere online

    • Last.FM
    • Del.icio.us
    • Flickr
    • Plurk
    • Multiply
    • Stumbleupon

    guttervomit

    • 17

      Eraserheads Reunion Concert

      31 Aug 2008

      Everyone already knows how the big Eraserheads Reunion Concert ended last night, so no point rehashing the gory details.

      I had a lot of issues with how the concert at the Fort was organized and run. The venue layout was pretty terrible, and the idea of having two hierarchical layers of Important People (VIP and SVIP, in front of the people who actually paid to get in) is, in my mind, totally at odds with what Eraserheads music stood for. When Rage Against the Machine reunited 2 years ago, the people who were in front were fans, not celebrities. People who waited for hours in the heat to see their favorite band onstage again, not people who arrived in chauffeured vehicles at the last minute and were served refreshments while they waited. Granted, I’m sure there are quite a few celebrities out there that really are Eraserheads fans, but the idea of segregating them because they’re better than us bugs the living crap out of me.

      And if that sounds like overstating the issue, it really isn’t. What other reason would there be to have an SVIP section? Like the mysterious Radiohead Media company that threw this concert together at the last minute, that term seems to have sprung into existence out of nowhere. There were some hardcore fans who won VIP tickets via radio contests or whatever, but you had to be _invited_ to get into the SVIP section. And what the fuck kind of acronym is SVIP anyway. But I digress.

      I guess it’s a testament to how much I love this band that even with all the crap these organizers pulled and the really spotty production values, it was still a wonderful listening experience. There was something magical about being squeezed in with all these sweaty, smelly people I didn’t know, and yet knew every single line of lyric of my favorite songs. These were _our_ songs after all. It was the soundtrack of our young adult lives. The stuff we’d make mixtapes out of, or tap our feet to in jeepneys. The stuff we’d sneak into class with and listen to when the teacher got boring. The stuff we’d play when life served us up some things we couldn’t quite handle yet. The stuff we’d celebrate with, or grieve with. Ultimately what matters is that for seventy-five minutes on August 30, 2008, ten thousand people were collectively transported back in time to remember exactly what that was like.

      Posted in Uncategorized | 17 Comments »

    • 4

      The Hunt for Mobility

      24 Aug 2008

      So yeah, I bought an Air yesterday. Blame five beers at the BarCamp, then two more at Cafe Agogo afterwards, just to round things out. Also blame Liteware’s rather enticing cash-only deal. Also blame the grand experiment I’ve been carrying out over the past 3.5 years, i.e., the search for total work mobility. (Yeah, I’m big on blaming everything except myself.) I’ve been using laptops exclusively since 2005, and the Air represents my fifth attempt at finding The Perfect Mobile Machine.

      The whole idea started back in 2005 when I bought the TC1100, HP’s second-generation TabletPC clunker that tried (and mostly failed) to fuse a pen-based form-factor with the Windows operating system. Bad idea all around, and the thing moved like a dog most of the time. About the only thing good about it was that it weighed less than 4 pounds, and was only about 11 inches across. Great for throwing into some random bag at a moment’s notice. However, the act of actually bringing it out and working with it was a total annoyance. It took over 10 seconds to wake up from sleep, and was sluggish for the succeeding 30 seconds. (This would not be such a big deal if the whole TabletPC concept weren’t all about having something to take quick notes with.) It bears mentioning though, that the TabletPC is the only machine I’ve ever used that I could work comfortably with for more than 5 minutes while in a standing position.

      After about a year of suffering through that, I decided that I had had enough of Microsoft in general and splurged for a second-gen Macbook Pro. At the time (this was late 2006), 2gb of RAM seemed like a ridiculous excess. Without throwing too many fanboy superlatives around—Mac OS is the single best computing experience out there right now, no contest. The amount of care and detail that has gone into polishing every aspect of the interface is just unparalleled. It also helps that the length of time it takes to resume from sleep is roughly equivalent to how long it takes you to open the lid fully.

      That said, the Macbook Pro is more of a desktop replacement than a real mobile machine. It weighs a little over 5.5 pounds, and traveling around with the charger and a full complement of cabling and accessories was not fun. It’s built like a tank, and although extremely svelte for its class, is still pretty darned bulky. Also (and this was a well-documented flaw), it got uncomfortably warm on your lap, which made it a lot less flexible in the “work-anywhere” department.

      So after about a year of that, I started reading about ASUS’ new ultra-mobile/ultra-affordable solution and decided I’d like to give that a shot. People who know me personally have heard me rant eloquently many a time about my problems with the EeePC. Don’t get me wrong: it has extremely reasonable specs for the amount of money I paid (less than PhP17,000, spread out over 6 months—that’s cheaper than my phone!). However, I feel that it missed the mark on too many areas, not the least of which is the fact that it can’t sleep for shit. And by that I mean, if you leave it in sleep mode for several hours, you’ll most likely come back to a dead EeePC. Maybe there’s a software fix somewhere out there for this issue, but I never found one and mostly lost interest after awhile. (And in case you think that’s standard behaviour, it isn’t. It’d take a couple of days to run down your average Macbook’s battery in sleep mode.)

      Typing was a pain in the ass as well, and the fact that it was so modest in the processor department meant that running multiple applications was like dragging icons through molasses. I like the fact that it came pre-installed with practically a lot of good software, and I certainly liked the weight and size of it. Less than 3 pounds and 8 inches across. This is still the only machine I can carry around in my (ahem) man-purse.

      6 months passed after the EeePC purchase, and it was about time to upgrade the old Macbook Pro. The line had been revamped twice since I bought my first, and the current series had faster processors, better video chipsets and twice the storage. syndeo::media managed to purchase a bunch of machines at a discounted price, so I actually saved a little bit of money this time around. (The money I did save just ended up going to directly to RAM; I had my rig bumped up to 4gb as soon as I got it.)

      Granted, the MBP was still really a desktop replacement, and had a total traveling weight of about 10 pounds (including peripherals and whatnot). It’s good exercise I suppose.

      So finally we arrive at the Air, which I’ve spent a total of about 48 hours with as of this writing. : about three pounds and thin enough to slip into a manila envelope. (When I bought it, they actually gave me a faux manila-envelope to carry it around in, which I happily did for several hours until I realized that I was acting like a total twat, and that if I weren’t me, I’d hate me.) The keyboard is full-size, the battery lasts over 4 hours if you know how to conserve it, and although it’s the slowest Mac in the family it’s optimized enough for the sort of thing I need to do that you don’t notice it all that much. I’ve had quite a bit of experience with various entries in the Apple line over the years, and the fit and finish on this thing up close is still hard to believe.

      It’s too early to tell if I’ve finally found the perfect mobile machine here. I do know that my hunt over the past few years has allowed me to discover some unexpected uses for the other machines I’ve tried. The TabletPC mostly hangs around near my bed these days; its size and form factor make it the perfect ebook reader. The EeePC fits in my glove compartment, so I ended up with an “emergency” computer in the car. I got around the inherent power issues the EeePC has by keeping a Belkin Power Inverter in the vehicle at all times. And of course the MBP is where all the heavy-duty work gets done. The Air is going to be an interesting beast, as it can comfortably do half of my daily tasks – project management, client communication and some light engineering work. I don’t think it’d be up to the other half though, which involves working with Creative Studio and other heavy duty applications.

      It turns out that at the heart of the whole concept of work mobility is the singular question: how much can you shed in terms of features and functionality, and still be able to do your work properly? The Air makes a ton of sacrifices in the functionality department (no DVD-ROM drive, no Ethernet, etc), but some people are willing to live without those things for a smaller, lighter overall package. Personally, the only time I ever use a DVD-ROM drive these days is when I’m reinstalling Mac OS X, which has happened to me exactly once (when I sold my old unit and needed to reset the whole system). And I can’t remember the last time I needed to use an Ethernet jack to get online. For some people, those things would be show-stoppers, so your own mileage will almost certainly vary.

      I’ve set up the MobileMe service so that the MBP and the Air can synchronize Documents and other PIM data automatically. All of our work is stored in remote online repositories already, so I don’t have to worry about syncing code. My plan over the next few weeks is to leave the MBP at home (which is where most of the real work gets done these days), and bring the Air around when I meet the rest of syndeo team or go to various appointments. It means I can get away with carrying a much lighter backpack with me. Also, the fact that it’s insufferably good-looking is a pleasant bonus.

      Posted in Uncategorized | 4 Comments »

    • 0

      Welcome to the Lab

      20 Aug 2008

      SyndeoLabs.com logo

      There’s this saying about the profession of writing, that for every young writer, there is a phase where his work is so heavily influenced by his favorite authors that he may as well have just copied whole sentences and swapped out some of the words. It isn’t plagiarism so much as the inevitable by-product of learning a complex craft. When you’re starting out, having something solid to build off of is invaluable. (In the software world, I would argue that we have something similar — we call them APIs. And we call the stuff we build with them mashups.)

      SyndeoLabs.com is a compendium of our team’s collective journey towards Software Zen. Within its pages we’ll talk about the new technologies that we’re playing around with, the new ideas we’re developing, and of course, the shiny new web toys that we build. There are 9 people on the team as I write this, each with their own field of expertise, experience and interests. You can check out our individual profiles here.

      In keeping with tradition, we’re using quite a bit of third-party technology for our Lab. Most of the blog entries you read here will be an aggregation of our individual blogs, a process which we streamlined and automated using the Feed Normalizer RubyGem. We’re also aggregating the team’s , which will be collected into a single blog entry once every 24 hours. (We used Twitter4r, the Twitter RubyGem to get that working.) Our avatar images are via the Gravatar service, which turned out to be trivial to integrate with a Rails application and gives us a consistent identity when commenting on our peers’ blogs. Our single javascript dependency (Prototype) is hosted externally as well, via . Lastly, the screenshots for each of our projects were created using Webthumb, which provides us with an easy way to display pseudo-real-time images of our various products.

      Other things we’re working to add include using Dapper and to consolidate our various social network profiles, and adding development histories on each of our projects (possibly tied into our versioning software). The former depends on some legal implications, while the latter depends on audience interest.

      If there’s anything you can take away from having read this far down the page, it’s that we like sharing new ideas and trying new things out. The consequence of this reckless experimentation is, of course, that not everything works exactly as expected all of the time. Hopefully, you’ll bear with us during those moments, and just enjoy the unpredictability of the ride ahead.

      Posted in Uncategorized | No Comments »

    • 1

      Death Cab for Cutie, Singapore

      14 Aug 2008

      Just enough time for some media updates:

      Naumi Hotel's Infinity Pool at Night

      i.e., photos from Naumi Hotel in Singapore, where Charlie and I stayed for 3 days.

      Also, I’ve got , i.e., the reason why we were in Singapore.

      Clickie:

      Posted in Uncategorized | 1 Comment »

    • 7

      Infinitube Part Deux

      9 Aug 2008

      So I updated my pet project last Friday, after deciding that I had been dragging my feet on it for long enough. The Infinitube revamp was essentially brought on by Two Major Issues. The First Issue was that the site was getting 120,000 average pageviews per day over the past week and was getting noticeably slow. (On the day I started rewriting it, it peaked at 230,000 pageviews, i.e., more than 3 pages per second over a 24-hour period. If that wasn’t a motivation to start rethinking the architecture, I don’t know what is.) The Second Issue meanwhile was that I still hadn’t addressed one of the really important specs I listed down back when I first launched this thing in mid-July, i.e., having full-screen viewing.

      With those two things firmly in mind, I set about putting together the 2nd version of Infinitube on Thursday the 7th. The first issue was whether the whole 120,000-daily-pageviews thing was even really warranted. I mean, it’s a nice number to bandy around and all, but if there were a way to maintain or improve the Infinitube user experience while generating fewer pages (thus reducing the overall load on Morph’s servers), then that would be the better strategy overall. Remember that we were running the cheapest Morph package ($1/day) to host this thing, and it looked like the two mongrels handling the site were getting the shit kicked out of them. But I digress.

      The first question we needed to answer was: why were the pageview numbers so bloated anyway?

      Let’s break the problem down further. At this point in time, Infinitube still hadn’t broken more than 3,500 unique visitors per day. Except for that one weekend when we were massively Stumbled, my daily numbers were always within 2,500 - 3,000 uniques. So if you’ve only got 3,500 visitors on any given day, generating 150,000 pages for them seemed a bit excessive. Even on an active community site like Highfiber, the pageview-to-visitor ratio is usually only about 10:1. Here, we were talking more like 30:1, on a site that had near-zero interaction.

      Of course, the site concept itself, coupled with my initial architecture, were the real culprits here. You probably already know by now that Infinitube’s concept is essentially “unattended Youtube viewing,” so interactivity is pretty minimal. The problem was that in order to keep new videos constantly streaming to the browser, my solution was to refresh the page to replace the previous video with the new one. It was this architectural approach that was causing the massive bloat in terms of pageviews, because if you happened to leave your browser on Infinitube for an entire day, you’d probably rack up literally hundreds of pageviews all by yourself.

      This page-refreshing silliness was largely unnecessary from a technological standpoint, and as it turns out, my solution for the Second Issue (full-screen viewing) ended up solving this First one. I reasoned that if you could feed a list of Youtube video URLs to a generic Flash player, you wouldn’t need to refresh your page at all. The player would simply take the next URL on the list, load it up, and play it. The tradeoff is that now you’ve off-loaded all of your navigational logic to a Flash player that you may or may not know how to fix. Or for that matter, build.

      Thankfully, a little bit of research showed that many open-source Flash players like this already exist on the web. The one I eventually went with was Jeroen Wijering’s JW Player, which had everything I needed, and then some. Fullscreen mode, playlist mode, extensive API, skinnable interface, the works. (Yes, I paid a small commercial license for it. Considering that he saved me probably a week’s worth of futzing around in ActionScript, it seemed only proper that I gave him some money for it.)

      Armed with my new Flash player, all that was left for me to do was figure out how to feed it a list of Youtube videos. JW supports a whole boatload of playlist formats, so I really only needed to pick the one I liked. I was just about to start rendering my search-results in the RSS format when I discovered this Youtube/GData announcement from late last year. It turns out that Google was already generating dynamic RSS feeds for any Youtube-related keyword or search-method you could think of. You didn’t even need a developer key to access it. All I had to do was forward the visitor’s search terms to the appropriate GData url, and it would come back with a nice, JW-compatible RSS feed.

      At that point, both of my Major Issues were pretty much solved. I had no more processor-intensive searching to think about, the database was freed up from having to sort hundreds of thousands of cached video records, and I had the improved Flash functionality that I didn’t have access to with Youtube’s official player. There were a few minor bits that still needed to be figured out though — there’s really no such thing as a free lunch with these things — but they were nothing that a little reading didn’t solve quickly enough. (How to catch errors from outside the JW player was one of my primary concerns; it’s still only partially there at the moment.)

      So what’s left to do on Infinitube? Within the next month, I’m planning on adding user accounts so visitors can squeeze some more lazy automation out of the app. Essentially, I want you to be able to go to http://infinitube.net and have a video start playing automatically. It would, of course, match whatever you previously searched for. Ideally, it would even pick up where you previously left off. (To a certain extent, I can pull this off right now just by tracking session data, but it wouldn’t work if you had multiple machines.)

      I also want to see if there’s any way to pre-load data so that the transition from video to video is shorter. I’d also like to have some way to download the videos that I happen to like. That’s potentially a very expensive operation though, so unless users are willing to pay for the service of encoding, I doubt I could pull that one off. And of course, I’m pretty sure I’d be breaking some kinda Youtube/Google terms of service by doing that. (Although, what exactly? Worth looking at, at the very least.)

      Lastly, keyboard shortcuts in combination with iRed Lite would allow me to control Infinitube using my Apple Remote. That would be crazy awesome.

      Posted in Uncategorized | 7 Comments »

    • 7

      On Building Stuff

      4 Aug 2008

      I’ve been reading this past week, and came across a gem of a passage last night that I wanted to share.

      ” [...] when you find something at which you are talented, you do it (whatever it is) until your fingers bleed or your eyes are ready to fall out of your head. Even when no one is listening (or reading, or watching), every outing is a bravura performance, because you as the creator are happy. Perhaps even ecstatic.”

      I love that. It justifies the ever-increasing amount of time I spend pounding away at our modest cache of web toys every night, or during the weekends. Or in my sleep, even. Your chances of becoming really good at your craft are directly proportionate to how much time you spend at it, I daresay. And unless you’re Mark Zuckerberg, there are no shortcuts for this either.

      One other thing: I take issue with the term “workaholic,” which I’ve been hearing a lot from people these days. In the first place, this isn’t “work.” Work is what you do to put food on the table and pay bills. This is something else entirely; I do this because
      otherwise I’ll go insane.

      Posted in Uncategorized | 7 Comments »

     

    categories

    • Home
    • No categories

    archives

    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • August 2010
    • May 2010
    • April 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
    • August 2005
    • July 2005
    • June 2005
    • May 2005
    • April 2005
    • March 2005
    • February 2005
    • January 2005
    • December 2004
    • November 2004
    • October 2004
    • September 2004
    • August 2004
    • July 2004
    • June 2004
    • May 2004
    • April 2004
    • March 2004
    • February 2004
    • January 2004
    • December 2003
    • November 2003
    • October 2003
    • September 2003
    • August 2003
    • July 2003
    • June 2003
    • May 2003
    • April 2003
    • March 2003
    • February 2003
    • January 2003
    • December 2002
    • November 2002
    • October 2002
    • September 2002
    • July 2002
    • May 2002
    • April 2002
    • February 2002
    • January 2002
    • December 2001
    • November 2001
    • October 2001

    friends

    • Dementia
    • Gabby
    • Gail
    • Gibbs
    • Helga
    • Ia
    • Ina
    • Jason
    • Kaye
    • Lauren
    • Lizz
    • Luna
    • Mae
    • Migs
    • Mike
    • Ryan
    • Sacha
    • Vicky
    • Vida
    • Yuga

    search

    notes

    Guttervomit v3 went online in January, 2008. It uses Wordpress for publishing, and was built largely with Adobe Illustrator and Textmate. Logotype and navigation is set with Interstate.