When the new myLifetime community launched we wanted to focus on performance, and one trick was to minimize HTTP requests by using the CSS sprites technique. For a great run down of this technique and examples of other major sites using this, check out this resource on Smashing Magazine.
Double checking this implementation with YSlow! everything was working great.
Well almost. Then we tried IE6. I hate IE6.
Then I discovered this excellent post detailing IE6 and its BackgroundImageCache usage.
After trying that JS trick, we noticed the page was significantly faster & smoother in IE6. With heavy CSS sprite usage this was a necessary fix. And with future sites in the works with this same technique, seems like a reoccurring fix.
To Drupal-ize & jQuery-ize this fix for resuability, I wrote this simple behavior below that works with Drupal 6. You can see in action on the myLifetime community.
May this code save you a few hours/days of head banging!
Recently, the new myLifetime Community launched and it has been an overwhelming success. With members joining at such a fast rate, it’ll soon be surging past 100,000 registered members.
This site is separate from the main myLifetime site (which also is Drupal) and was built to be powered by the MothersClick community platform which Lifetime acquired last year. This new community website was built upon the new version of our community platform, which now has Drupal 6 at it’s core.
While we’ve been quietly working on this new platform, we’ve been brewing up and improving some great APIs in the Drupal community, all of which we consider to be necessities for building rich, online communities with Drupal. Without further ado, here’s a top sampling of where our efforts have been focused:
Almost exactly 1 year ago I redesigned this blog and today, I unveil yet another new design. This time, it’s running Drupal 6 and all that goodness. I’ve enhanced the contrast on the design quite a bit and really improved the readability on posts and comments, along with using the GeSHi code filter for much better display of code snippets. This theme was built on top of the Drupal Blueprint theme, which I maintain, and also made theming this site quick and simple.
MothersClick.com and the rest of the ParentsClick Network have been acquired by Lifetime Entertainment.
I’ve been working on this site and with Dietrich (CEO & founder) for over 2 years now. Through the ups and the downs we stuck to it, determined to succeed, and I’m delighted that finally after these years, we will have all the resources behind us now to really build out the company and network of sites to how we both envision it. The coming years are going to be exciting!
An article for Drupal.org further outlines things from a technical perspective.
UPDATE: Earl comments below how this is already built in. Two different ways to achieve a similar result, each with their own pros/cons.
Hats off to Earl Miles and the rest the views developers they have done a tremendous job with Views 2. While the interface is entirely different from that of Views 1, it is so much more intuitive that within a few minutes I had quickly forgotten my bewildered “oh no, I know nothing” look :)
From reading all of the docs and quietly watching development commits, I knew Views 2 was going to eliminate a lot of the Views 1 helper modules and open up a whole new world of awesomeness. While I haven’t seen many blog posts detailing just which functionality/modules have been replaced with Views 2, I wanted to kickstart things with my own discovery as I played around with Views 2 quite thoroughly this afternoon.
With Views 1, to build an alpha pager you would use the views alpha pager module in conjunction with your view. But what about Views 2?
Getting Drupal to play nice with your CDN can be a bit of a hassle. You have to make sure your assets (like JS, CSS, and image files) work not only on your webserver but when copied to the CDN, are served from there instead of your webserver. There is one Drupal module, the CDN module that attempts to make this a bit easier but right now, it’s not in production, and in my opinion, is a bit too complicated. There is a slightly easier way :)
How do you keep an Apple Macbook cool? Simple: ice.
Seriously.
I have a first generation Macbook Pro that is known for it's overheating and fan issues. My laptop is no longer under warranty and I don't want to shell out a lot of $ to replace the motherboard and fans.
Initially, not much of a problem. A fantastic program, smcFanControl allows you to adjust the fan speed based on your computer temperature. A manual process but my laptop is still usable.
That is, till the right fan completely dies. Running one fan at full speed is not enough for this Macbook -- this sucker gets really hot. Continue reading to see how I built my own solution...
My brother wrote an excellent article on how to connect Drupal and Silverlight. This is pretty indepth and shows what needs to be done on the Silverlight side to work with a simple XML-RPC Drupal module. Definitely worth checking out, great job bro!
Last week we were in upstate Michigan and went to see the Paulding Light just outside of Watersmeet, MI. This is a mysterious phenomenon of blinking lights, that almost looks like a mini star.
You can read more about the Paulding Light here and also find directions and other theories that try to explain where this light comes from.
When we saw it, there was a pathway that followed the power lines that looked like you could walk closer to the light. We walked a bit but the light never appeared larger. Some other folks there that night walked considerably closer and they said they never saw the light at all—despite us saying we saw it a few times as they walked! So it disappears as you get closer, crazy!
Below is a short movie I made putting together clips from our cameras that we had. Can’t wait to go back next year with some more equipment to explore!
The .htaccess file included with Drupal tells Apache to send all 404 requests to Drupal to handle. While this is great in some cases, the performance degradation can have a huge impact on a site that has millions of users.
When Drupal processes a 404, it has to bootstrap Drupal, which includes Apache loading up the PHP process, gathering all of the Drupal PHP files, connecting to the database, and running some queries. This is quite expensive when Apache can be told to simply say “Page not found” without having to incur any of that overhead.
Now you might say your site doesn’t have any broken URLs as you haven’t changed any. Well that’s great, but as your site grows, it is going to be a target for spammers and hackers. They are going to start requesting all sorts of file to see if they can find an exploit. Instead of bootstrapping Drupal each time to tell them that DLL file doesn’t exist, it would be much better if Apache could just say that, to save resources for your real users.
So, what can you do? How can you stop Drupal from handling 404s but not break modules like imagecache?