The star hack in IE8 and dynamic stylesheets

CSS hacks ⇓ skip if you already know about the star and underscore hacks For most CSS tasks, there are only two hacks that are straighforward to use, easy to spot and maintain (delete down the road), easy to understand. The star hack that targets IE6 and 7 and the underscore hack that targets IE6. […]

July 3rd, 2009
Tags: CSS, IE

Installing a bunch of PNG tools on the Mac

This is one of those note-to-self type of posts. Just went through the exercise of installing a number of PNG tools on the Mac and here are some notes. The instructions below should probably work on any unix box. AdvDef, AdvPng, … There is a number of Adv* tools (advdef, advpng, advmng, advzip) packed together […]

June 12th, 2009
Tags: images, performance

Book things

In the spirit of tooting one’s own horn…. Top 3 This morning I noticed my OOJS book is #3 in Amazon’s JavaScript category, wo-hoo! Then it dropped down but in the evening it’s up again. Nice company – OOJS, Doug Crockford’s book and David Flanagan’s giant Rhino JS book. Not that I’m obsessed with my […]

May 12th, 2009
Tags: News/personal, writing

Slides from JSConf

I’m back from the most excellent JSConf (JavaScript Conference) in Washington D.C. I’m tired and need sleep but the conference was, hands down, the best conference I’ve ever attended. It was all about the community, it was inexpensive, with parties all around, both speakers and attendees were treated exceptionally well, in fact there wasn’t a […]

April 28th, 2009
Tags: JavaScript, performance, speaking

MHTML – when you need data: URIs in IE7 and under

UPDATE: It’s very important to have a closing separator in the MHTML document, otherwise there are known issues in IE7 on Vista or Windows 7. The details are here. In the previous post I described what data: URIs are and how they are useful to reduce the number of HTTP requests. Now, the problem with […]

April 10th, 2009
Tags: CSS, IE, images, performance

data:urls – what are they and how to use them

If you follow this blog you already know the infamous website performance rule #1 – reduce the number of HTTP requests. Actually, to celebrate Earth Day and to jump the “go-green” wagon/jargon, my favourite performance mantra as of late is “Reduce, Reuse, Recycle” (the Recycle part is a wee fuzzy but, oh well) So to […]

April 10th, 2009
Tags: images, performance

Welcome SitePoint.com readers

Hope you liked my iPhone web dev article that went live on sitepoint.com today! Just a quick note that I actually have a blog about iPhone web development, called phonydev.com, you might find it interesting and browse it from your phone. Other than that… nice to have you and hope you stick around! Follow me […]

April 8th, 2009
Tags: News/personal

Relative to absolute links with JavaScript

I was toying with a completely different thing and specifically a Yahoo service that gives you the ability to use HTML as data and then lets you use xpath to query this data. I came up with a somewhat interesting idea (will post tomorrow, too late now), but all of a sudden I realized I […]

March 17th, 2009
Tags: JavaScript

FireEagle and geo-location fun

FireEagle is a newer service from Yahoo, it’s an API and service that stores your geo-location and lets other application read or update it. With your permission, of course. Now there’s a FireEagle Firefox extension, still marked experimental in Add-ons.Mozilla.org so you need a free AMO account in order to download it. Once you install […]

March 12th, 2009
Tags: JavaScript, yahoo

204 No Content

Sometimes you want to send an HTTP request and you don’t care about the response. This is often used for logging stuff on the server. Usually you request a 1×1 pixel GIF file and send a bunch of query parameters. E.g. htp://example.org/blank.gif?user=stoyan&browser=msie&creditcard=123JUSTKIDDING567 Such 1×1 gifs are often called “web bugs” or “beacons” and sometimes used […]

March 8th, 2009
Tags: performance

Installing PHP and Apache on Mac OSX – that was (pretty) easy

This posts is one of those “note to self” kinda posts. I just finished installing PHP and Apache on my Mac OS 10.5.6 and though I should document the experience should I (or you) need to do it again. It could already be there The default OS install came with goodies like ruby and php […]

March 7th, 2009
Tags: mac, php, tools

Picassa’s progressive photo rendering

If you’ve followed the series of image optimization posts on the YUIblog, you’ve probably seen the one about progressive JPEGs. In short, if a photo is over 10K it has a high probability of being smaller in file size when you use progressive JPEG. How do you turn a normal, baseline JPEG into a progressive […]

March 5th, 2009
Tags: images, performance

Content-to-markup ratio bookmarklet

When you care about performance, or SEO (or just doing a good job as web dev) an interesting data point is the ratio of page content vs. the markup used to present this content. Or… how much crap we put in HTML in order to present what the users want to see – the content. […]

March 5th, 2009
Tags: Ajax, bookmarklets, JavaScript, performance, SEO

The 5 Laws of the Website Anything

Via Eric Goldsmith, I found today this nice Web Performance 101 article, where the author, Alberto Savoia, states Top Four Laws of Web Site Performance. The article is as old as 2001 (heh, back then “website”, being a relatively newer concept was spelled “web site” 😉 ) and the topic is performance, but the “laws” […]

March 4th, 2009
Tags: Life and everything, performance, Usability

Replace the Home button with a script

Robert Ames commented on my previous post suggesting replacing the Home button with my little site search bookmarklet. I didn’t even know this was possible, but I found it pretty cool, so I just had to try. x-browser I tried this in Firefox/Mac and IE/Windows and it works just fine. ok, what is it? Well, […]

March 3rd, 2009
Tags: bookmarklets, browsers, JavaScript

Search site bookmarklet with YUI and BOSS

Ever wanted to search only the web site you’re currently on? Not the page, but the whole site. And only this site, not the rest of the web. This bookmarklet does just that. Install Right-click this link and add to your bookmarks/favorites. Or just drag to your bookmarks toolbar. search site Or if you don’t […]

February 21st, 2009
Tags: api, bookmarklets, BOSS, JavaScript, yahoo, yui

JSLint on Mac + TextMate integration

UPDATE: Ryan Grove has a better script to display the JSLint results. So basically follow the instructions here until you get to Step 2, point 5 (where you write the command to run JSLint). Then head over to Ryan’s blog post to get the better script. JSLint is an indispensable tool if you’re serious about […]

February 21st, 2009
Tags: JavaScript, mac, tools

Installing Rhino on Mac

To quote http://www.mozilla.org/rhino/: Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. Rhino allows you to use JavaScript: on the server-side, so you can ditch RoR, Perl, PH… well, keep PHP 🙂 … in favor of JavaScript on the command […]

February 20th, 2009
Tags: JavaScript, mac, tools

Blog-to-podcast with ffmpeg

ffmpeg is such an amazing tool, looks like it’s for video what ImageMagick is for images. An all-powerful all-formats wicked cool command-line tool. This blog post is an introduction to some of the MP3 capabilities of ffmpeg. I’ll use ffmpeg to transform a blog post into a podcast-ready mp3 file. If you continue to read […]

February 16th, 2009
Tags: ffmpeg, Music, tools

Hide broken images

I know, you don’t have broken images on your site, it’s unprofessional and ugly. But sometimes you may be loading images that you don’t control and you never know what’s going on on the other server you’re expecting to serve, but it may not feel up to the task. One nice and simple strategy to […]

February 16th, 2009
Tags: images

FTP on the command line

Since I switched to Mac I need to learn a bunch of stuff I was taking for granted for years. Recently I needed to upload a bigger file or two to my server and scp is not the tool for the job. So instead of starting a hunt for a decent free FTP client, I […]

February 16th, 2009
Tags: tools

OpenSearch-enabling your blog

Have you noticed when you visit some sites, there’s a bluish glow in the search engine field in Firefox. Like this: What does that even mean? Well, it means you can add this site’s search to the drop down list of search engines. This functionality is following the open search standard. The things are actually […]

January 30th, 2009
Tags: WordPress

>>> $$(selector)

Gotta love the Firebug console, how can anyone not love the Firebug console. It makes testing random pieces of JavaScript a breeze and best of all – you’re playing with the live page. Your page or any page for that matter. Two nice shortcuts you can use in the console are $ and $$. The […]

January 30th, 2009
Tags: CSS, firebug, JavaScript

Random MySQL date

Random date/time Need to generate a random date in MySQL? Here: mysql> SELECT FROM_UNIXTIME(RAND() * 2147483647) AS `rand`; +———————+ | rand | +———————+ | 1998-04-01 21:42:48 | +———————+ 1 row in set (0.00 sec) Let’s try once again and get a different random value: mysql> SELECT FROM_UNIXTIME(RAND() * 2147483647) AS `rand`; +———————+ | rand | […]

January 29th, 2009
Tags: mysql

Installing JPEGTRAN on a Mac or Unix/Linux

JPEGtran is cool because it lets you optimize JPEG images losslessly by: Stripping meta data (meta is sometimes bulky and useless for web display) Optimizing Huffman tables or Convert a JPEG to progressive encoding From my experience 1 is more important than 2 or 3 and 3 gives better results than 2 for images over […]

January 16th, 2009
Tags: images, performance, tools