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. […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]
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” […]
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, […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 | […]
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 […]