Google’s always been in the awkward position of claiming that PageRank is algorithmic, not editorial, while also explaining that they’re constantly adjusting their algorithms to ensure that PageRank reflects editorial judgments of quality. Here’s a peek inside the machine.
Geographic Tweeting
twittervision and twittermap show new tweets wherever they appear on the map, TwitterWhere let’s you follow tweets at a specific location, and Ask500People has nothing to do with Twitter but does show you global opinion. Live. While you watch (so they say, anyway).
WordPress 2.5 Offers Built-In Gravatar Support
Nobody doubted that full Gravatar support would make it into WordPress eventually. Weblog Tools Collection shows what they look like, how they’re managed, and how theme designers can implement them.
BuddyPress: The WordPress Of Social Networks?
Andy Peatling, who developed a WordPress MU-based social network and then released the code as BuddyPress has just joined Automattic, where they seem to have big plans for it. I’d been predicting something like this since Automattic acquired Gravatar:
It’s clear that the future is social. Connections are key. WordPress MU is a platform which has shown itself to be able to operate at Internet-scale and with BuddyPress we can make it friendlier. Someday, perhaps, the world will have a truly Free and Open Source alternative to the walled gardens and open-only-in-API platforms that currently dominate our social landscape.
Parse HTML And Traverse DOM In PHP?
I spoke of this the other day, but now I’ve learned of PHP’s DOM functions, including loadHTML(). Use it in combination with simplexml_import_dom like this:
```
$dom = new domDocument;
$dom->loadHTML('
); if($dom){ $xml = simplexml_import_dom($dom); print_r($xml); } e>
|
Parse HTML And Traverse DOM In PHP?
I love how easily I can traverse an HTML document with jQuery, and I’d love to be able to do it in PHP. There are a few classes, but the PHP binding for Tidy seems to be where it’s at. The Zend dev pages make it look that way, anyway.
Movable Type To WordPress
Scot Hacker (yes, that’s really his name) posted a story about migrating China Digital Times (published by Berkeley School of Journalism) from Movable Type to WordPress:
We’ve launched with a lovely new design, reduced story publishing times from by orders of magnitude, been able to re-enable a bunch of features we’d previously had to disable for load reasons, and added new features that were never possible before. The team of authors and editors is in heaven, and I’m considering bringing the site back onto the main J-School server. It’s been a good week.
Web Design Frameworks?
I’m a fan of the Sandbox WordPress theme because it does so much to separate application logic from design, and a few small changes to the CSS can make huge changes to the look of the site. I think that’s the idea behind Yahoo! Developer Network’s Grids CSS library. That is, well structured HTML allows very sophisticated styling. All you have to do is plug in your content. To wit:
The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns. The 4kb file provides over 1000 page layout combinations.
That got Alister Cameron excited; he’s building a Sandbox-inspired, Yahoo! CSS-based WordPress theme he’s codenamed Vanilla.
Give Up Your Civil Rights (and your laptop and hard drives) At The Border
Can the Feds take your laptop? Yep. Be prepared to give up your civil rights and your laptop at the border, says a recent article in the Washington Post. This came to the attention of music fans earlier, when MTV news reported that a hard drive seized at the border contained studio recordings for Chris Walla’s (guitarist for Death Cab For Cutie) latest album. There was some suggestion that it was all a publicity stunt, but the Post story suggests that it’s a real and not uncommon problem.
Changes To WordPress Object Caching In 2.5
Jacob Santos‘ FuncDoc notes: The WordPress Object Cache changed in WordPress 2.5 and removed a lot of file support from the code. This means that the Object Cache in WordPress 2.5 is completely dependent on memory and will not be saved to disk for retrieval later. The constant WP_CACHE also changed its meaning. I’ve just […] » about 200 words
iPhone Strobe Light
Strobe Light is clearly the perfect app for your new 16GB iPhone. » about 100 words
MySQL On Multi-Core Machines
The DevShed technical tour explains that MySQL can spawn new threads, each of which can execute on a different processor/core. What it doesn’t say is that a single thread can only execute on a single core, and if that thread locks a table, then no other threads that need that table can execute until the locking thread/query is complete. Short answer: MySQL works well on multi-core machines until you lock a table.
Microsoft Threatens To Buy Yahoo!
I like Yahoo!. I really hope the shareholders decline Microsoft’s offer. Blech, MS has wanted a piece of Yahoo! for a while.
Forget Time Capsule, I want a Space Ship
Apple’s Time Capsule is great. Seriously. When has backup been easier? But I need more. The MacBook Air‘s small storage highlights a problem I’ve been suffering for some time: there’s never enough storage. The slower processor and limited RAM expansion are sufferable, but storage isn’t. The 120GB drive in my MacBook Pro now is stuffed […] » about 500 words
Apache, MySQL, and PHP on MacOS X
p0ps Harlow tweeted something about trying to get an AMP environment running on his Mac. Conversation followed, and eventually I sent along an email that look sorta like this: If you’re running 10.4 (I doubt it, but it’s worth mentioning because I’m most familiar with it), here’s how I’ve setup dozens of machines for web […] » about 300 words
WordPress to_ping Query Optimization
The WordPress team has taken up the issue of performance optimization pretty seriously, and I look forward to the fruits of their efforts, but I’m also casting a critical eye on my own code. Thanks to caching and a hugely optimized query architecture, Scriblio is now performing better than ever, and I’m now looking at […] » about 400 words
Signs Of User-Centric Shift At CES?
Doc Searls in Linux Journal compares previous CES expos to 2008 and finds a shift from talk of “broadcasters and rights-holders extending their franchise” to a Web 2.0 enlightened user-centricity.
At every CES up to this one, I always felt that both open source and user-in-charge were swimming upstream against a tide of proprietary “solutions” and user lock-in strategies. This year I can feel the tide shift. Lots of small things point toward increased user autonomy, originality, invention and engagement. The story isn’t just about What Big Companies Are Doing For You any more. It’s what you’re doing for yourself, and for whomever you like.
Introducing Phonepedia, a Voice-Activated Wikipedia Mashup
The Phonepedia concept is simple: take Wikipedia’s rich content and add voice recognition. It’s as easy as calling a number and asking your question, the answer will be returned via SMS and email. Go ahead and try it for yourself. The voice recognition is powered by Jott, and thanks are due to Heidi for writing […] » about 400 words
Google Pumps OpenID Too
Following news that Yahoo! is joining the OpenID fray, it appears Google is dipping a toe in too. While those two giants work out their implementations, others are raising the temperature of the debate on IDM solutions. Stefan Brands is among the OpenID naysayers (<a href=“http://daveman692.livejournal.com/310578.html" title=“David Recordon’s Blog - Stefan Chooses to Take the “Fox News” Approach to OpenID Blogging”>David Recordon’s response), while Scott Gillbertson sees a bright future. Let’s watch the OpenID Directory to see how fast it grows now (count on January 19 2008: 446).
WordPress + Invalid URLs = Extra Database Queries
After reporting weirdness last week I finally sat down with a completely clean and virgin install of WordPress 2.3.2 and traced what happens when you make a permalink request for a non-existent URL. Here are two sets of URLs to use as examples and context: These are valid URLs: http://site.org/archives/101 http://site.org/page-name These are _not_ valid […] » about 400 words
Yahoo! Pumps OpenID
Ars notes that Yahoo! supports OpenID. Yeah, that OpenID.
Is Facebook Really The Point?
A post to Web4lib alerted me to this U Mich survey about libraries in social networks (blog post) that finds 77% of students don’t care for or want libraries in Facebook or MySpace. the biggest reason being that they feel the current methods (in-person, email, IM) are more than sufficient. 14% said no because they […] » about 500 words
Fancy Up Your Website With Web Clip Icons
Aaron Schmidt alerted me to this how to sweetening up your site with fancy iPhone web clip icons.
Bits Of MySQL Query Syntax I’ve Learned This Week
Watching the WordPress hacker list this week, a couple messages related to selecting information about users schooled me on MySQL syntax. I obviously knew the following would work, but I’d previously used the UNION syntax in similar situations and somehow hadn’t thought of writing it this way:
| ``` SELECT (SELECT meta_value FROM wp_usermeta WHERE meta_key = 'first_name' AND user_id = 2) AS FIRST, (SELECT meta_value FROM wp_usermeta WHERE meta_key = 'last_name' AND user_id = 2) AS LAST, wp_users.* FROM wp_users WHERE wp_users.ID = 2 ``` |
That’s much cleaner to my thinking, though I’ve no idea which is more optimal. When somebody replied asking for a solution that would work in pre-MySQL 5, this was the response:
| ``` SELECT ID, user_login, FIRST.meta_value AS fname, LAST.meta_value AS lname FROM wp_users LEFT JOIN wp_usermeta AS FIRST ON (wp_users.ID = FIRST.user_id AND FIRST.meta_key = 'first_name') LEFT JOIN wp_usermeta AS LAST ON (wp_users.ID = LAST.user_id AND LAST.meta_key = 'last_name') ``` |
And the lesson to me here is that I didn’t realize the syntax allowed us to match multiple conditions for the JOIN. Makes sense, but I just hadn’t thought of it. Thanks go to Phil Williams and Otto for tipping me to these.
Getting Ready For The Stevenote
I can’t go to the parties Laughing Squid names, and World of Apple’s live video coverage seems about as likely as a Kucinich becoming president, but The Unofficial Apple Weblog‘s keynote predictions are out, Ars’ keynote bingo is set, and half the blogaverse will likely offer some updates about the action, some of them live. The Stevenote is coming, and at the end of the day, or at least later that day, it’s likely that Apple will broadcast the recorded event in QuickTime (judging from this URL, you might find it here).