Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 WEB


  Why hasn't Facebook migrated away from PHP?

The reason Facebook hasn't migrated away from PHP is because it has incumbent inertia (it's what's there) and Facebook's engineers have managed to work around many of its flaws through a combination of patches at all levels of the stack and excellent internal discipline via code convention and style - the worst attributes of the language are avoided and coding style is rigidly enforced through a fairly tight culture of code review (failing to adhere to the style and "going cowboy" by writing sloppy code results in pitiless mockery by one's peers).  Engineering management has never had to ...

7,393 0       PHP FACEBOOK MIGRATION BAD FEATURE CODEBASE


  A Javascript When Function

function when(conditionFunc, execFunc, interval){ if (conditionFunc()){ execFunc(); }else{ setTimeout(function(){ when(conditionFunc, execFunc, interval);}, interval); }}You have some code which should only execute when a condition is true. E.g. You have code which relies on a javascript library but can't be sure the library has loaded yet and don't want the code to execute until it has. This is common if you have a bookmarklet which injects more than one <script> tag or you have code which should only execute when an image or other asynchronously loaded element is...

3,710 0       JAVASCRIPT IMPLEMENTATION WHEN WHEN FUNCTION


  Are You a Zen Coder or Distraction-Junkie?

What you do when compiling can ruin your life. And not just when compiling, but when waiting for any short computer operation to finish.That time is ridiculously tiny compared to the rest of your workday, yet it can have a huge impact on your productivity and well-being overall. Yes, that’s a big fat claim.And by the way, this article is not just about coders or programmers. It’s about any smart people working with computers. And there will be pictures! Let’s rock and roll -Why am I writing thisI recently started implementing certain time management techniques into my work...

3,068 0       ASP.NET PLATFORM PROGRAMMING.NET


  Valid JavaScript variable names

Did you know var π = Math.PI; is syntactically valid JavaScript? I thought this was pretty cool, so I decided to look into which Unicode glyphs are allowed in JavaScript variable names, or identifiers as the ECMAScript specification calls them. Reserved words The ECMAScript 5.1 spec says: An Identifier is an IdentifierName that is not a ReservedWord. The spec describes four groups of reserved words: keywords, future reserved words, null literals and boolean literals. Keywords are tokens that have special meaning in JavaScript: break, case, catch, continue, debugger,...

9,076 0       JAVASCRIPT STANDARD NAME CONVENTION


  Building the new AJAX mail UI part 2: Better than templates, building highly dynamic web pages

This is part 2 of a series of technical posts documenting some of the interesting work and technologies we’ve used to power the new interface (see also part 1, Instant notifications of new emails via eventsource/server-sent events). Regular users can skip these posts, but we hope technical users find them interesting.As dynamic websites constructed entirely on the client side become de rigueur, there are a number of templating languages battling it out to become the One True Way™ of rendering your page. All follow essentially the same style: introduce extra control tags to intersp...

2,876 0       AJAX UI WEB DESIGN DYNAMIC


  Learn from Haskell - Functional, Reusable JavaScript

Learn You a Haskell: For Great Good?For the last couple months I have been learning Haskell. Because there are so many unfamiliar concepts, it feels like learning to program all over again. At i.TV, we write a lot of JavaScript (node.js and front end). While many functional/haskell paradigms don’t translate, there are a few techniques that JS can benefit from. There are Haskell library functions for everything. At first I thought this was just because it was mature, but then I noticed that these functions could be applied to a wider variety of problems than in other languages. This make...

2,234 0       JAVASCRIPT HASKELL FUNCTIONAL REUSABILITY FEATURE


  the Performance Golden Rule

Yesterday I did a workshop at Google Ventures for some of their portfolio companies. I didn’t know how much performance background the audience would have, so I did an overview of everything performance-related starting with my first presentations back in 2007. It was very nostalgic. It has been years since I talked about the best practices from High Performance Web Sites. I reviewed some of those early tips, like Make Fewer HTTP Requests, Add an Expires Header, and Gzip Components.But I needed to go back even further. Thinking back to before Velocity and WPO existed, I thought I might ...

2,986 0       WEB DESIGN GOLDEN RULE PERFORMANCE


  Building a Modern Web Stack for the Real-time Web

The web is evolving. After a few years of iteration the WebSockets spec is finally here (RFC 6455), and as of late 2011 both Chrome and Firefox are SPDY capable. These additions are much more than just "enhancing AJAX", as we now have true real-time communication in the browser: stream multiplexing, flow control, framing, and significant latency and performance improvements. Now, we just need to drag our "back office" - our web frontends, app servers, and everything in between into this century to enable us to take advantage of these new capabilities.We're optimized for "Yesterday's Web"Modern...

2,404 0       WEB DESIGN REAL-TIME WEB WEB STACK