New
The latest blog posts to take off on Hacker News. 4,615 posts.
Don’t use @import
In Chapter 5 of High Performance Web Sites , I briefly mention that @import has a negative impact on web page performance. I dug into this deeper for my talk at Web 2.0 Expo , creating several test pages and HTTP waterfall charts, all shown below. The bottomline is: use LINK instead of @import if you want stylesheets…
How to block the DiggBar
Digg now uses something they call the DiggBar, which serves as both a new interface for Digg and doubles as a URL shortening service, and which frames the content of the site they’re linking to. Here’s how to block it.
Beautiful Horizontally Centered Menus/Tabs/List. No CSS hacks. Full cross-browser.
A simple cross-browser method of centering tabbed menus with pure CSS and no hacks.
The problems with url shorteners
URL shortening services have been around for a number of years . Their original purpose was to prevent cumbersome URLs from getting fragmented by broken email clients that felt the need to wrap everything to an 80 column screen. Addendum: They're useful in print , too. But it's 2009 now, and this problem no longer…
Daring Fireball: Complex
Gall’s Law and the iPhone.
Patch to fix RSS feed for News.YC
I’m an avid reader of news.yc , but it’s annoyed me for some time that the RSS feed is rather broken. So, I decided to dust off my Lisp skills and give it a go. The biggest chunk was adding code to do conversion from UNIX timestamps to UTC in Arc. Significant stuff that works now:
Jakob Nielsen: Mega Drop-Down Navigation Menus Work Well
Large, rectangular menus group navigation options to eliminate scrolling and use typography, icons, and tooltips to explain users' choices.
Chrome Gets Plugins: How to Write a Chrome Extension in Three Easy Steps
I just installed a “hello world” Chrome extension from this Chrome Extension tutorial page. When you surf to www.google.com, the Google logo is replaced with a Lolcat: Here’s how …
Did You Know: BeautifulSoup's bits are rotting
The parser in version 3.1.0 of Beautiful Soup did significantly worse on real-world HTML than version 3.0.8 did. The most common problems were the incorrect handling of <script> tags, "malformed start tag" errors, and "bad end tag" errors.
Subdomains and subdirectories
Towards the tail end of PubCon, I noticed a spate of articles talking about subdomains and subdirectories in Google, and I wanted to talk more about this subject in case I was unclear. Historically…
Collaborative Map-Reduce in the browser
After immersing yourself into the field of distributed computing and large data sets you inevitably come to appreciate the elegance of Google's Map-Reduce framework . Both the generality and the simplicity of its map , emit , and reduce phases is what makes it such a powerful tool. However, while Google has made the…
JavaScript: The Good Parts
I found a really nice video lecture on JavaScript. I'm a JavaScript journeyman myself so I decided to review it to learn something new. I have written about JavaScript in the past -- the previous post on JavaScript was "Learning JavaScript through Video Lectures". This lecture is given by JavaScript guru Doug...
Thinking about using Facebook Connect on your site? Step one: Abandon your will to live.
Personal portfolio site showcasing projects in a horizontal scrolling gallery
Simple rule of thumb for measuring the perceived complexity of a user interface
A user interface rule of thumb: The fewer UI elements a user must deal with, the more appealing the interface.
Why HTTP?
The world doesn’t need another arbitrary binary protocol. Just use HTTP. Your life will be simpler. Originally this came up when scaling a gaggle of MySQL machines. I would have killed for a reliable proxy. It’s with this in mind that I’ve come up with my list of things that HTTP has that an arbitrary protocol will…
Fun With HTTP Headers
Like any good web developer, I have a tendency to poke around at people’s web sites to see if I can figure out how they’re implemented. After poking at enough sites, I started noticing that people were putting some weird and interesting stuff in their HTTP headers. So, a couple of weeks ago, I decided to actually go…
Rails versus Django
Stress free and easy shopping experience. Simple and speedy service.
What webhooks are and why you should care
Webhooks are user-defined HTTP callbacks. Here’s a common example: You go to github. There’s a textbox for their code post webhook. You drop in a URL. Now when you post your code to github, github will HTTP POST to your chosen URL with details about the code post. There is no simpler way to allow open ended…
John Resig Talk: Performance Improvements in Browsers
I gave a talk last week at Google (at the request of the excellent Steve Souders ) all about the performance improvements, and new APIs, that are coming in browsers. I cover the new browsers, their JavaScript engines, their JavaScript performance, and then do a whirlwind tour of their new DOM methods and some of their…
Recreating the button
Until some future version of HTML gives us new native controls to use in a browser, at Google, we’ve been playing and experimenting with controls we call “custom buttons” in our apps (among other custom controls). These buttons just launched…
Don't Blame CSS For Your Incompetence
I feel like shit, and have spent a proportion of the afternoon in bed so really shouldn’t be involving myself in this right now, but I can’t help it. Hacker News and Reddit have been bickering today…