Blog Posts by Philip Tellis

  • MySQL High Availability at Yahoo!

    One of the reasons that I like working at Yahoo!, and the primary reason I've been here six years, is the scale at which we operate. It's not so much the number of users or pages, but the hamsters running behind the scenes to power those pages.

    It's also how we manage to always stay on even when something goes wrong. We've had several outages in the past. There was once a squirrel that took out an entire data center in a suicide mision, but we managed to keep the site up.

    For this we have to thank Service Engineering and some pretty smart Business Continuity Planning (BCP) policies.

    Last Thursday, Michael Christian, Chris Westin, and I spoke about high availability at Yahoo! — slides available here (infrastructure resiliency), here (MySQL business continuity planning), and here (application resiliency).

    Laptop problems notwithstanding, we had quite a bit of fun speaking and minglng with attendees afterwards. However, Yahoo!'s real MySQL High Availability guru, Jay Janssen, wasn't

    Read More »from MySQL High Availability at Yahoo!
  • Boomerang and the WebTiming API

    The WebTiming spec — proposed by Google to the W3C — is an important step forward in measuring a Web page's round-trip time (the time between a user requesting a page and the page becoming usable).

    In the past, we've had to either approximate the value by putting a timer at the start of our document, or use a cookie to store the time when the previous page's onbeforeunload* event fired. Both approaches have their problems.

    In the first case, the time measured tends to ignore the time it takes for the browser to do DNS lookups, open TCP connections, deal with TCP slowstart, and deal with latency introduced by the server-side application.

    The second case excludes any traffic that either had no onbeforeunload event (such as bookmarks or non-web clients) or had an onbeforeunload event that we couldn't control (such as links from sites outside our domain).

    When developing boomerang, we chose the latter approach. Even though we get fewer data points, the data is more representative of what

    Read More »from Boomerang and the WebTiming API
  • Performance testing with Boomerang

    Several years ago, we released a little FireBug plugin called YSlow. This tool allows you to analyze your Web pages for performance problems. Among the things that YSlow can do includes measuring page-load time, and beaconing its results back to a home server.

    Since then, the front-end performance discipline has grown significantly with page-speed and page-test tools, and also services that trend the results of these tests over time.

    One thing's been missing though. While these tools let us measure our pages in the lab (that is, your dev box), what the end user actually experienced was, for the most part, unknown. With the number of variations in operating systems, browsers, plugins, ISPs, network configurations, geography, and microwave ovens, it's impossible to simulate all possible combinations that a visitor to your site might have.

    To fill this gap, we're releasing a tool called Boomerang.

    Boomerang is a piece of JavaScript that you add to the bottom of your Web pages, where

    Read More »from Performance testing with Boomerang
  • International PHP Conference: Spring Edition, Berlin

    logoThis year's Spring edition of the International PHP Conference ran from May 30 to June 2, at the Maritim proArte hotel and conference centre in the heart of Berlin. The weather wasn't great, but the talks more than made up for it. With a mix of talks in German and English, and running concurrently with the RailsWay and Webinale conferences, there was something here for all sorts of web geeks.

    May 30 was workshop day. There were two in German and two in English. Sebastian Bergmann (@s_bergmann) covered continuous inspection and integration, which set the tone for most of the conference. Johann-Peter Hartmann's (@johannhartmann) Softwarearchitektur mit PHP — a shorter version of which he did as his day 2 keynote in English — covered different types of application architecture.

    The main conference started on May 31, with more talks on architecture, Agile development, continuous integration, and frameworks touching on the good, the bad, and the nasty. The Cloud also had fair

    Read More »from International PHP Conference: Spring Edition, Berlin
  • Sun, surf, and web geeks down under

    Bondi beach in Sydney, Australia, isn't your typical Web developer conference venue. You're more likely to find surfers out on the waves than on the Web, yet that's exactly where this year's webDU conference was held.

    The conference was on May 6 and 7, but the action started late on the night of the May 5th with code wars. Teams battled it out algorithmically with their favorite text editors and environments.

    webDU attendeesThe conference was split into five tracks: two on Web development, one on user experience (UX) and project management, one on Flex and Flash, and one on ColdFusion.

    Tom Hughes-Croucher and I had talks in the Web track. My talk on day 1 covered the current state of bandwidth and latency on the internet. During Day 2's keynote, Tom wowed his audience with server-side YUI using NodeJS. Later that day he also did a session on YQL that never ceases to interest audiences.

    The conference was pretty awesome. The UX track was informative for me, and it included a lot of new

    Read More »from Sun, surf, and web geeks down under
  • Can a website crash your RHEL5 desktop?

    On Ajaxian, Chris Heilmann recently wrote about a piece of JavaScript to crash Internet Explorer 6 (IE6). That's not something I worry about because I'm a geek and I've used a Linux-based operating system as my primary desktop for the last 10 years. I've kept my system up to date with all patches, never log in as root, and have a short timeout on sudo. I've believed that while a malicious website could possibly affect my browser (Firefox), it was unlikely to affect my OS. That was up until a few months ago, when I upgraded to Firefox 3.5.

    I started noticing that a few websites would consistently cause my system to freeze and the bottom part of the screen would show pixmaps from all over the place. The system would stay this way for a few seconds, and then I'd be thrown off to the login screen. My error log showed that had been killed by a segfault. At times the system would completely freeze and the only way to get it back was a hard reboot (yes, I tried pinging and sshing

    Read More »from Can a website crash your RHEL5 desktop?
  • Report from FOSDEM 2010

    Last weekend I was at FOSDEM (the Free and Open Source Developers European Meeting) in Brussels, Belgium and it was a great experience. The thing that hit me as soon as I got there was the energy. That, and the scent of French fries, better known locally as frites.

    The conference was huge, with over 300 talks on the 6th and 7th of February. It was set at the Université Libre de Bruxelles (or ULB for short) and entrance was free.

    Packed houseThe conference was organised around tracks for different projects or areas of technology. The two big desktop environments — Gnome and KDE each had their own track. There were also tracks on XMPP, Databases, ODF & Openoffice, Java, JavaScript, Drupal, and so much more that it was impossible to pick a set of talks to attend.

    My talk on YUI-Flot was part of the JavaScript track along with Dylan Schiemann's talk on Dojo and Christoph Pojer's talk on Mootools. These were hard acts to follow and I hope I did justice to the chance. My talk also ran in parallel

    Read More »from Report from FOSDEM 2010
  • Notes from FOSS.IN/2009

    I spent most of last week at FOSS.IN/2009 in Bangalore, India. I've been to this conference every year since 2003, and have been speaking there every year since 2004. It is, with good reason, one of my favourite developer conferences, with a lot packed into five days.

    FOSS.IN/2009 Kernel Workout SessionOne of the best things about FOSS.IN are the workouts. The thing about FOSS projects is that developers are often located around the world and seldom meet each other. Conferences are where you get that face time, and sometimes that's the best time to fix those nasty bugs that need many eyeballs. That's what the project workouts aim to enable. Projects from around the world get space, time and bandwidth to hack. It's also a good time to draft new developers onto the team and give them the initial hand-holding to turn into full-fledged devs. I don't have the actual numbers, but there were an astounding number of people hacking at FOSS.IN/2009. When they ran out of table space, I saw several groups just sit on the

    Read More »from Notes from FOSS.IN/2009
  • Matt Snider’s YUI Storage utility @ YUIConf 2009

    At the YUI conference last week,'s Matt Snider spoke about the client-side storage utility that he wrote for YUI 2.8.0.

    Matt Snider @ YUIConf 2009

    The first thing that struck me during the talk was how easy it is to use this utility. The storage utility allows web developers to store far more data on the client side than is possible through the use of cookies and it cleanly abstracts out the details of the specific storage engine used. It currently supports HTML5, Google Gears, and Flash storage engines, but is easily extensible to handle more engines in future.

    The talk started out with a summary of what the storage utility is, and what problem it solved and then went into the details of how to use it. Matt covered the pros and cons of each engine type and spoke a bit about the security of data stored using the utility. The talk was fairly technical and went down well with the entirely dev audience.

    Photo by Eric Miraglia

    Philip Tellis
    Performance Yahoo

    Read More »from Matt Snider’s YUI Storage utility @ YUIConf 2009
  • W-W-WebDU

    WebDU happened last week, and it was a blast. Web developers from all over Australia, and from much of the world dropped in to Sydney to speak and learn about the latest web technologies and practices. The conference was divided into five tracks — one each for Flash and Cold Fusion, two for general web development, and one for usability. All tracks had some very interesting talks.

    There was good speaker representation from the big players and smaller internet companies alike. I know that I learnt a lot from the talks I attended.

    I thought the usability track was particularly interesting, covering many topics that developers seldom think about. Simon Reid's Digital Art of Pencil & Paper had a good 7 point workflow for designing a user experience, while Formulate's Jessica Enders ran through form design. Lisa Herrod gets it spot on when she says that the user experience is now the responsibility of the entire team and not just the usability specialist. More developers need to

    Read More »from W-W-WebDU


(12 Stories)