Weekdays I get HTML5/JS stuff done and play with crayons at Lightbox.
Weekends I'm fiddling with PicFog quick image search and StartupCharts.
Have a look around and contact me if you need stuff.
(Looking for Bubble Trouble? Really?)
We started Lightbox because we were excited about creating new services built primarily for mobile, especially for the Android and HTML5 platforms, and we’re honored that millions of you have downloaded the Lightbox Photos app and shared your experiences with the Lightbox community.
Today, we’re happy to announce that the Lightbox team is joining Facebook, where we’ll have the opportunity to build amazing products for Facebook’s 500+ million mobile users.
This means we’re no longer accepting new signups. If you’re an existing user, you can continue to use Lightbox.com until June 15 and you can download your photos from here.
Facebook is not acquiring the company or any of the user data hosted on Lightbox.com. In the coming weeks, we will be open sourcing portions of the code we’ve written for Lightbox and posting them to our Github repository.
We’d like to thank the Lightbox community, our investors, and our families for supporting us during this journey.
Thai Tran & Nilesh Patel
Co-founders, Lightbox
Elling (2001)
director: Petter Næss
“How different people are. Some people ski solo to the South Pole, - while I have to summon all my courage to cross a restaurant floor.”
I know that Douglas Crockford and many others will disagree with this, but from my point of view, there are only three “bad” parts to javascript.
- How does
thiswork?- How does prototypical inheritance work?
- Named Function Expression? Function Declaration? Hoisting?
Once a developer understands these three things in Javascript, they’re solidly on their way to rolling their eyes when they’re asked if they are a ninja at cocktail parties. It is these three concepts, in my opinion, that trip up most developers as they start to build applications larger than jQuery spaghetti.
There’s a much longer list in Javascript:The Good Parts and even more in our hearts. But I don’t think that these actually trip us up in daily development. When was the last time that you had a really hard time using the
voidkeyword or were foiled by type coersion? All of these issues, we learn once, and almost immediately understand. Either that, or developers don’t encounter these because the libraries that they use, and learn from, don’t use any (anti-)features either.Not only are issues like
withandevalnot often encountered, but also, tools like jshint/lint, remove any accidental uses. Chances are, as long as a developer l/hints their code, they’ll be making a conscious decision to use the potentially dangerous parts of the language. It isn’t so with these three concepts. Without this understanding, it is very difficult to become productive in javascript.Other than these three concepts, I’d argue that Javascript is no more “bad” than any other mainstream programming language, like PHP or even Java. There are gotchas in every language and at least JS has most of them described very well in The Good Parts and online documentation.
I could give you my own explanations here, but so many others have done a much better job than I could. There are a lot of options. If you still feel confused after reading one, just go on to the next one. If you still feel confused after reading every single one. Find me or someone else in ##javascript on freenode.
How doesthiswork?How does prototypical inheritance work?
- PPK’s “this” blog post (from the DOM perspective)
- Understanding JavaScript Function Invocation and “this”
- Understanding JavaScript’s this keyword
- How
thisis resolvedThe key here is to first learn about prototypical inheritance using
Object.createand then come back to trying to understand what the new operator is doing. Most tutorials mess this up, by explaining it the “classical” way first, and subsequently lead to much confusion about following the prototype chain and this and that.Named Function Expression? Function Declaration? Hosting?
- Prototypes: The Short(est Possible) Story
- Understanding JavaScript OOP
- Eloquent Javascript: Object Oriented Programming
- Named function expressions demystified
- Immediately-Invoked Function Expression (IIFE)
- JavaScript Scoping and Hoisting
- Function Hoisting
- Quick Tip: JavaScript Hoisting Explained
Do you have more examples or blog posts? Let me know on twitter and I’ll add them to this list.
I’m really happy with this one I’m into stitching with my cottons lately rather than doing the whole sculpture reverse appliqued, i don’t think my favorite technique will ever be replaced though I’m too obsessed
Suggested by: Sam
Life is a circle!
Check out the live stream on Lightbox - it shows currently popular photos in a never-ending stream.
correct, correct, correct.
Business Insider on January 6, 2011 after OMGPOP’s $10 million Series B:
IS HE NUTS? This Guy Thinks He Can Beat A $5.5 Billion Company With A $10 Million Funding Round
Business Insider today after OMGPOP was purchased for about $200 million by aforementioned $5.5 billion (now public) company, Zynga:
“OMGPop Sold Way Too Early — They Left $800 Million On The Table”
You literally cannot win.
If they had turned down the offer, the headline would have been:
OMG: OMGPOP Nuts To Turn Down Zynga’s $200 Million Offer
Until a year from now when the follow-up headline would have been:
NUTS: OMGPOP Takes Zynga’s Billion Dollar Offer But Should Have Held Out A Year To Buy Zynga
Being right doesn’t matter. Only saying something, anything matters.