Archives For Category 'Technology'Archives For Category 'Technology' Home » Blog » Category » Technology » Page 2
You are browsing lesterchan.net blog archives page by category 'Technology'.
Friday, 3rd June 2011Friday, 3rd June 2011
Posted by Lester Chan at 13:15 in Technology

If you are into computer engineering, this video is for you. Watch the full video (52:41). It is definitely worth your time!

Snippet

Every work day Facebook is safely updated with hundreds of changes including bug fixes, new features, and product improvements. Given hundreds of engineers, thousands of changes every week and hundreds of millions of users we have worldwide, this task seems like it should be impossible. In this tech talk, Chuck Rossi will dig into the tools and processes built by our Release Engineering team that make it possible to push daily updates to the site.

Summary

  • They cut from trunk to RC on Sunday 6pm
  • Tuesday 4pm is where they push it live
  • They uses SVN for their central repo and git for development
  • They do releases every weekday
    • Monday – Small daily pushes
    • Tuesday – Release push
    • Wednesday – Larger daily push
    • Thursday – Regular daily push
    • Friday – Careful daily push (mentioned that developers always slack on a Friday aka Friday you are most likely drunk)
  • Facebook has slow traffic on Friday, but lots of traffic on Sat/Sun
  • Facebook has 500 core engineers divided into 15 teams
  • All users who works in Facebook does testing. When employees within the company type “http://facebook.com” they will be redirected to “http://latest.facebook.com“. Latest is defined as the merge between current Facebook production and what is going up on Tuesday
  • Facebook does bug filing via email as well. If you send an email to a pre-defined address, it will be tracked by the bug tracker
  • There is a Facebook Bugs Groups which all employee is a member (Similar to ours)
  • Facebook.com is not a sandbox, strictly no testing on production
  • Only 3 core release engineers
  • 60 engineers on standby when a release takes place
  • 3 phrases of pushing
    • A1: http://inyour.facebook.com aka staging, last chance to check what you are pushing. Looks good, moving on to A2
    • A2: Small % of machines, a couple of 1000 machines
    • A3: All
  • Every developer, either develop against mock datasource or production database. Yes, you heard me right- Production DB. (And they have an army of DB admins to take care of that)
  • Staging a.k.a. inyour.facebook.com and latest.facebook.com point to production database
  • Facebook has oncall engineers for different teams with regards of different aspect of the website like Like Button, Feeds, Search, etc
  • Automated infrastructure
    • IRC bots
      • They communicate via IRC about 300 to 500 people and 3 release engineers
      • They don’t talk to people, rather they ask people to talk to bots
        • Are we pushing today?
        • Can I get revision been merged?
        • When is my revision going out?
      • All this questions above can be answered by bots
        • /msg request_bot rt
    • Test automation
      • Test engineering team
      • Test console
        • Unit Test
        • Water Test
    • Shadow branch
      • Shadowing the production branch + changes that is requested
    • Error tracking
      • Per PHP error
      • Stack trace
      • SVN Blame
      • 1 button file as bug to the person and to the person who reviewed the code
      • How often the error occurs (like Google Analytics but for errors)
    • Gatekeeper
      • Console to change who can see the feature
      • Conditional statements within the code itself
      • Able to filter via Employees, US East Coast, US West Coast, Datacenter, Age, IP White/Black List. Able to bump to show only to 1% public then slowly increasing
    • Push Karma
      • General request page
      • How many files, LOC is being changed, risk ratings
      • Abstraction of discussions, call for changes are all being pulled
      • Magic Push Karma
        • Everyone starts with 4 stars
        • From there you go down
        • Private shaming
    • Perflab
      • Every SVN checkin is being plotted to a graph
        • Difference between production trunk and production+release trunk
        • Eg: A fix is make in trunk but did not get to release
    • HipHop
      • Everyone hates PHP, it is crappy and slow
      • They compiled PHP
      • Transformation Process
        • Parser -> Static Analyzer -> Pre-Optimizer -> Type Interface Engine -> Post Optimizer -> Code Generator -> G++
        • 1 GB binary is Facebook.com. Static, web resources, everything
        • Takes 8 to 10 minutes to build
        • faster by compiling PHP
    • BitTorrent
      • 1GB of binary file push to thousands and thousands of servers using torrent
      • Push 1GB of binary to all servers within 15 minutes
  • Tools alone won’t save you, you need the right company, right people and right culture
  • From Q&A
    • Robust backup and recovery system just in case someone did something stupid
    • Must be backward compatible, they might be a chance a few hundred machines does not have the new code in
    • While pushing to A3, automated test are still being run on A1 and A2 to detect potential problem
    • You write your test for your code
  • phabricator – Phabricator is the Open Source release of Facebook’s internal tools for code review, repository browsing and change management. It contains two major applications: Differential, a code review tool, and Diffusion, a repository browser
  • HipHop – HipHop for PHP transforms PHP source code into highly optimized C++. It was developed by Facebook and was released as open source in early 2010

Video: Push: Tech Talk – May 26, 2011 [HQ]
Facebook: Facebook Engineering

Thursday, 2nd June 2011Thursday, 2nd June 2011
Posted by Lester Chan at 22:35 in Technology

A nice article by Business Week on Stephen Elop, CEO of Nokia. “Market share dwindling, stock cratering, persistent takeover talk. How the CEO is trying to lead Nokia past its epic fail”.

Worth a read =)

Much of what Elop had to say wasn’t news to his audience, but it was still distressing. In his measured telling, Apple and Google (GOOG) had changed the industry from handset-focused to software-focused. Symbian had fallen too far behind to have any hope of catching up. Worse, the company’s great hope for the future—a software platform created with chipmaker Intel (INTC), called MeeGo—wasn’t ready to pick up the slack. He tried to negotiate a deal with Google to run Android, but Google refused to give the world’s biggest phonemaker any advantages over its smaller partners, meaning Nokia’s corps of 11,600 engineers would have next to no ability to add their own innovations to Google’s software. “It just didn’t feel right,” Elop says to the crowd. “We’d be just another company distributing Android. That’s not Nokia! We need to fight!”

Silence.

For a moment, Elop, 47, lays into the complacency he sees settling over the company. When he asks how many people in the crowd use an iPhone or Android device, few hands go up. “That upsets me—not because some of you are using iPhones, but because only a small number of people are using iPhones. I’d rather people have the intellectual curiosity to understand what we’re up against.”

Full Article: Stephen Elop’s Nokia Adventure

Thursday, 31st March 2011Thursday, 31st March 2011
Posted by Lester Chan at 08:24 in Technology

Google +1 reminds me of Hardware Zone Forums where sometimes people will just post “+1″ to increase their post count!

What is +1

The +1 button is shorthand for “this is pretty cool” or “you should check this out.”

Click +1 to publicly give something your stamp of approval. Your +1′s can help friends, contacts, and others on the web find the best stuff when they search.

See +1′s

Sometimes it’s easier to find exactly what you’re looking for when someone you know already found it. Get recommendations for the things that interest you, right when you want them, in your search results.

The next time you’re trying to remember that bed and breakfast your buddy was raving about, or find a great charity to support, a +1 could help you out. Just make sure you’re signed in to your Google Account.

Show +1′s

In order to +1 things, you first need a public Google profile. This helps people see who recommended that tasty recipe or great campsite. When you create a profile, it’s visible to anyone and connections with your email address can easily find it.

Your +1′s are stored in a new tab on your Google profile. You can show your +1′s tab to the world, or keep it private and just use it to personally manage the ever-expanding record of things you love around the web.

Trying Google +1: Google Labs
Learn More: Google +1 Button

Sunday, 27th February 2011Sunday, 27th February 2011
Posted by Lester Chan at 21:23 in Technology

kaypo.me is an interesting service created by my fellow NUS SoC graduate, Kent Nguyen. It allows you to update your Facebook status via SMS. Not many people are on smart phones with data plan but almost everyone has a mobile plan that comes with at least 300 free SMSes per month. Even feature phones will work with this service as well.

Currently receiving or replying status’ comments via SMS is in beta, hopefully it will be available for the public soon.

KPo /kay po/ is a service to bridge the existing gap that allow Facebook users to update their status via SMS. The service is not only meant for non-smartphone users, it does benefit smartphone users as it offers a very quick way to update status without having to wait for the Facebook app to launch. Not only the service will do updating from mobile to Facebook, the receiving and replying to status comment feature is soon to be released.

What’s different between KPo and many other services is that KPo’s philosophy is to keep it simple, we want to give mobile users the most intuitive experience via the primitive yet effective SMS channel. On top of that KPo runs on very low cost yet stable systems and we do have a sustainable business model in place for the long run.

This reminds me of TweetSG some time back where you can send a tweet via SMS. But unfortunately due to the high traffic (and thus high cost), they couldn’t survive as a free service and eventually they sort of become inactive. Let’s hope kaypo.me will be more successful than TweetSG.

Wednesday, 16th February 2011Wednesday, 16th February 2011
Posted by Lester Chan at 14:45 in Press Release, Technology

Cool, didn’t know Edelman is the PR agency for Facebook Singapore. Personally I prefer Facebook Check-In than Foursquare for unknown reasons.

Singapore, 16 February 2011 – Facebook today announced the launch of Facebook Places in Singapore. Already available in some countries, Facebook Places allows you to “check-in” and share with your friends where you are and who you’re with, find friends who are nearby and discover new places your friends like – all in real time.

Facebook Places is available to users in Singapore with mobile access to the Facebook application for iPhone, Android, Blackberry, HP webOS, and Windows Phone 7, or to touch.facebook.com. When you use Places, you’ll be able to see if any of your friends are currently checked in nearby and connect with them easily. You can also check into nearby Places to tell your friends where you are, tag your friends in the Places you visit together, and view comments your friends have made about the Places you visit.

How to use Facebook Places?

  • Go to the “Places” icon within the Facebook mobile applications or touch.facebook.com, then tap the “Check In” button, which will pull up a list of places near you.
  • Choose the place that matches where you are. If there isn’t one already in the list, users can search for it or create a new one.
  • Tap the “Check in” button to share that you are at the place. Users can also add comments and tag friends.

With Places, users are in control of what they share and with whom they share. They choose whether or not to share their location when they check in at a place, and only friends can see when they do, unless users choose to set their privacy setting otherwise. When users check in, they can tag friends who are with them but only if their settings allow it. When they are tagged, they are always notified.

Places is currently available in the United States, Japan, Australia, Canada, the United Kingdom, France, Spain, Italy, Germany, Switzerland, Denmark, Norway and Sweden.

For more information, check out: http://www.facebook.com/places/

Page 2 of 512345