Sara Cannon‘s talk on responsive web design (resizing the page to suit different client devices) was spot on. Her slides are below, but she also recommends this A List Apart article on the matter, as well as Less Framework and 1140 CSS Grid (especially as alternatives to 960.gs).
A post in a Y Combinator discussion thread: Mobile Safari parses websites as a big canvas and then pretends the screen is a window through which you’re looking at the canvas. What you think of as scrolling, the browser thinks of as moving the canvas around (or the window depending on point of view). Because […] » about 100 words
DoubleHappy, by Instinct, the same folks who make the GetShopped ecommerce plugin for WordPress, is an interesting game creation tool. All the game elements are stored in WordPress using custom post types and other advanced features, but it was their demo of the HTML5 editor that most amazed me. The games still play in Adobe […] » about 100 words
Twitter’s mobile site rocks on my iPhone. Especially worth noting: they’ve figured out how to pin their header to the top while scrolling the content in the middle. They’re also using pushState() and other cool tricks to make the experience feel very native, but the scroll behavior is rare among web apps on iOS. Kent […] » about 200 words
Idea: A simple way to improve load-time performance by lazy loading some of the content on the page. Answer: Wijax. The more content in the initial download of the page, the longer readers have to wait to see it. Some content is critical to each page load, but why make people wait for every last […] » about 300 words
Geotek‘s NetRenderer makes it possible for me to see how badly old versions of IE are mangling my web pages without actually having to run the malware on a box of my own. Unfortunately, the IE8 rendered returns errors and hasn’t worked in a while. » about 100 words
You can’t view a web page’s source, and you can’t Command+F to search for text on the page, but you sure can get a debugging console to see the errors on the page. Here’s how: Find and open the Settings app Select Safari Scroll down to find the Developer option at the bottom Turn on […] » about 200 words
Authentication Hacks My first talk was on User Authentication with MU in Existing Ecosystems, all about integrating WP with LDAP/AD/CAS and other directory authentication schemes, as well as the hacks I did to make that integration bi-directional and deliver new user features. My slides are online (.MOV / .PDF), and you can read earlier blog […] » about 200 words
Yelp…is…essentially a poster-child for semantic markup. This spring, Google’s introduction of rich snippets has allowed Yelp’s listings in the SERPs to stand out more, attracting consumers to click more due to the “bling” decorating the listings in the form of the star ratings.
There are now some very good reasons why sites with ratings and reviews should be adopting microformats, and it’s not that hard to do! For a more detailed explanation, read my recap on the subject, Why Use Microformats?
An amusing hacks-conference lightning talk-turned-blog post on web development: “Graceful Hacks” – UX, IA and interaction design tips for hack days. Martin Belam‘s talk at The Guardian’s July 2009 Hack Day must have been both funny and useful:
- Funny: “However, I am given to understand that this is now deprecated and has gone out of fashion.”
- Useful: “the Yahoo! Design Pattern Library is your friend.”
Automattic uses Lightspeed (for PHP), nginx (for static content), and Apache (for media uploads). For WordPress-generated content, all server options are approximately the same speed.
Automattic uses beta versions of APC, and provides a 3-5x performance increase. It’s tied closely to the PHP version, so Automattic recently switched from PHP 4 to PHP 5.
MySQL scales well and is easy enough to use that there’s little reason to consider other DBs for WordPress content. Other applications may have different needs. Note: FriendFeed uses MySQL to store schema-less data. Single-table key lookups in MySQL are faster than getting the data from Memcached.
HyperDB solves DB scaling problems.
User-data backed up every hour, if something changed. Every blog backed up every 12 hours. Dedicated MySQL slaves do LVM snapshots for backups.
Why BuddyPress? “Build passionate users around a specific niche.”
But, yo do get “BYOTOS: bring your own terms of service.” That is, you get to control content and interactions. And your service won’t be subject to the whims of a larger network like FaceBook (or vagaries of their service — think Ma.gnolia)
90% of WordPress blogs he sees are spam. But for those who aren’t spammers and want to do better in Google…. “WordPress automatically solves a ton of SEO issues…WordPress takes care of 80-90% of SEO.” Still, he recommends a few extra plugins: Akismet — reduce spam comments Cookies for Comments — reduce spam comments FeedBurner […] » about 400 words
It’s not WordCamp Paris (running on 7 February), but WordCamp Edu Northeast is today. I’m there to meet up with fellow WordPressies and talk about extending WordPress with Holladay Penick and Dave Lester. Squeezing the three of us into a single time slot requires quite a bit of cutting, especially if we hope to have […] » about 300 words
Timeline is a SIMILE project that uses Exhibit JSON (which you can create with Babel). » about 100 words
If you’re already building web apps, you might wonder why you should bother to build an iPhone native app. The short answer is that you might not need to, but you should still optimize the app for iPhones. Native-looking chrome Set these in the head: // set a custom icon for when a user bookmarks […] » about 600 words
[include post_id=”12897″ field=”post_content”]
This two year old post about Rasmus Lerdorf’s PHP scaling tips (slides) is interesting in the context of what we’ve learned since then. APC now seems common, and it’s supposedly built-in to PHP6. Still, I’d be interested in seeing an update. Are MySQL prepared statements still slow?
And that’s where Rasmus’ latest presentation comes in. We don’t learn anything about MySQL prepared statements, but we do learn how to find choke points in our applications using callgrind and other tools. In his examples, he can do a little over 600 transactions per second with both static HTML and simple PHP, but various frameworks — with many inclusions and function calls — can slow that to under 50 transactions per second (I suppose they’d explain that in a TPS report).
What I’ll need is an easy way to manipulate the contents of a simple array, and these JSON editors may give me a start.
The Braincast JSON editor was the first I found, but it doesn’t allow creation/expansion of the JSON. Katamari‘s JSON editor seems to work and has a lot of features and a post 2005-looking interface, but that doesn’t make it simple. Worse, I don’t think it’s available for me to re-use, modify, or extend in my projects. Thomas Frank‘s JSON editor, on the other hand, does have the features I need and a GPL license. That’s the place to start.
Extra: a JSON diff.
The huge problem with open source software is that there are no sales numbers to show how many people are using it. We know that WordPress.com hosts over three million blogs. We know EduBlogs powers nearly 200,000. But how many sites are hosted using the original, downloadable, self-installed and managed version of WordPress? Now, the […] » about 100 words
Hearing Steve Souders at WordCamp last week got me thinking about website performance, so I went looking for more. The slides from his WordCamp talk are online, but he gave a similar talk at Google I/O which got videotaped and posted richer detail than his slides alone will ever reveal.