Inspirated

 
 

September 21, 2008

Fixing WordPress fGallery plugin

Filed under: Blog — krkhan @ 9:22 pm

For the past two years, I have been using Fredrick Fahlstad’s fGallery plugin for managing images in my WordPress blog. Unfortunately, this excellent piece of software was left unmaintained with the last stable release taking place way back in 2006. For a while now, I’ve had my gripes with some of the things in fGallery. The two options I had were to either (A) fix what was broken or to (B) use another plugin from WordPress Extend.

(B) seemed like too much trouble so I decided to go for the former option and get my hands wet with PHP again. Here’s a list of stuff that I modified in the original 2.4.1 release:

  • Fixed output of special HTML characters in album and image titles to conform with XHTML standards.
  • Modified to send HTTP response “Status:200 OK” back to the client in fim_photos.php. Without this, all of my fGallery pages were returning 404 error code for nice URLs even though they were working in the browser.
  • Fixed an SQL injection vulnerability in fim_rss.php.
  • Fixed image order on album pages and RSS feeds. Without using the table name in the ORDER queries, images were being returned in random order.
  • Fixed date issues in album RSS feeds.
  • Images are now shown in their original sizes in case their width is smaller than 600 pixels. In case they overflow this limit, they are shown in a 600 pixels wide frame with an option to click them for viewing in original size. This was to prevent larger image from messing up blog themes.

Here’s a diff file with the mentioned changes, which should be applied to the 2.4.1 release. I’ve also uploaded a modified zip archive for convenience of those who don’t have access to the patch command.

Tags: , , , , , , , , ,

September 12, 2008

Facebook’s contemporary face

Filed under: Blog — krkhan @ 12:43 am

Facebook Design War

Here are the facts:

  • Facebook introduced a complete makeover of its website design some seven weeks ago. The new design relies heavily on AJAX. Which is the technology that makes webpages “dynamic”, i.e., information on these pages changes without requiring a complete reload, just like in Gmail.
  • Currently, users are being given a choice to choose between the old and the new designs. But this liberty is set to be scrapped soon.
  • Inertia of the masses, desire to preserve status quo, confusion over the new interface; for whatever possible reason, quite a lot of people (close to a million according to BBC — 1% of the entire user base — even though I couldn’t find any such group myself) are really p***** off about the new design.
  • The new design itself can be summed up in two words: buggy & promising.

When Orkut did something similar a few months back, I was visibly annoyed. This time, I actually think the change can be for good as Facebook actually improved their experience with AJAX. Orkut’s redesign was merely the old one loading dynamically. To the end user, the difference was largely unnoticeable (evident from the fact that no one even bothered to complain about it). Facebook’s redesign, on the other hand, is a complete revamp of the end-user experience. Here’s a list of stuff that was refined as I see it:

  • The profiles are less bloated now because of the clutter being divided into separate tabs now. I unreservedly despise profiles which contain 200 applications. Obtuse folks like this … :

    Facebook Apps

    “I have so many applications I can make you feel like you’re living in the 90’s despite being on broadband. If you’re on dialup, go kill yourself. And oh, by the way, I need to get a life.”

    … are properly taken care of in the new interface. On a side note, it is entirely plausible that decent profiles is exactly what makes some people react against the new Facebook.

  • The comments on Wall posts appear instantaneously when you click the Post button. This is in contrast with Orkut’s AJAX-ified interface where you still have to wait for the whole page to reload.
  • And if you are so insistent on checking all the tabs of a profile, again, it won’t require a full reload of the page.

The interface is still buggy, yesterday night I couldn’t navigate as all the links started mysteriously appending to my current address in the address bar. In preliminary days of the new design, even basic stuff like tabs didn’t work properly. Nevertheless, the initial premises are, as I said before, promising. The bugs are getting fixed and at least they got the basic idea of an AJAX-ified interface right.

“Everything is in a state of flux, including the status quo.” — Robert Byrne

Tags: , , , , , , ,

September 11, 2008

Thanks, but I don’t want to try out Google Chrome (yet)

Filed under: Blog — krkhan @ 4:36 am

Alright, Google finally releases the Chrome browser, along with a certain comic detailing features of their product. I check out the comic and the feature-list, I decide that there isn’t any compelling reason for me to switch to Windows and run the beta. I also decide never to blog about it unless I deem it important enough for a try out. So far, so good.

But hey, I have violated the unimpeachable moral obligation of going along with the current buzzword by declining to be a part of the Chromosphere. In the past week, at least seven different people have tried to persuade me to believe Chrome is going to take over the world. In fact, that is the inherent problem with Google and Apple fanboys. They equate anything remotely new from their favorite corporation with the second coming of Christ, and then try to convince other people over it. I do happen to be a fan of both as well, but I still don’t see why products like 3G iPhone or Google Chrome deserve the applauds lauded by these people. Here’s a list of arguments Chrome fans presented to me:

  • Chrome is Google’s attempt to blur the line between desktop and web, and it is the future Operating System
    Bullocks. The line between desktop and web shall never be blurred. Are you trying to tell me that you’ll be installing your printer or screen drivers to web one day? Will a browser ever be capable of doing even half of the stuff that operating systems do, e.g., implement the POSIX specification or host other processes?
    No? I didn’t think so either. Yes? You do not have any idea what an operating system is.
  • Chrome isn’t a memory hog like Firefox
    Firefox’s memory-usage has steadily improved over the released and I have yet to encounter someone who had any serious memory troubles with the former that were solved by the latter.
  • Chrome’s Javascript runs faster
    The only worthwhile feature of Chrome is its Javascript engine. Nevertheless, milliseconds of speed improvement won’t even be noticeable by me. The AJAXed Facebook or Gmail run on my Firefox extremely well and I don’t think my productivity with either would increase by switching to Chrome.
  • Chrome’s rendering engine (WebKit) is new whereas Firefox’s rendering engine (Gecko) is outdated
    Wrong. Totally wrong. Gecko might be bloated, but Mozilla does a more than reasonable job of making it perform well. Gecko is huge — WebKit comparatively isn’t — but it is still frequently updated and properly maintained. The huge codebase is an issue for the developers rather than the users and as long as developers are delivering stable final products using that codebase, it’s certainly not an issue for me. WebKit is great for new applications like Chrome, but Mozilla has already settled with Gecko so it isn’t a bother for them.
  • Chrome uses separate processes for each tab
    And this was the only “visible” feature Google was able to highlight in their comics. This is nifty behavior, but with frequency of my browser crashes reduced to almost once a month, this isn’t enough to convert me over.

On the other hand, consider the mammoth developer base Mozilla already has for its Firefox extensions. Google isn’t going to replicate that as well as bundle Chrome with killer feature(s) anytime soon, if ever. What Google perhaps aimed to do was to get other browsers to adopt Javascript enhancements that they’re going to introduce with Chrome. More than that, I don’t think Chrome shall ever compete in user share against Safari, let alone against the big guns.

Tags: , , , , , , , ,

September 8, 2008

Forking the blog

Filed under: Blog — krkhan @ 11:00 pm

Totti Autograph

Ever since I began writing this blog, my posts have been targeting two prime areas of interest: Open Source and Soccer. Even to the most unobservant of readers, this isn’t a particularly analogous choice of topics. Now, after 21 months of Technology & Sports mishmash writing, I have been given a chance to author a blog totally focused on Football. Melius tarde, quam nunquam.

And this is where The Offside comes into the picture. It is a portal containing blogs about certain clubs, players, leagues and national teams. For anyone who has ever known me, it wouldn’t take him more than 0.001 seconds to guess which blog I was given the responsibility to write for. Welcome to totti.theoffside.com :-) . Of freaking course, what else would I prefer having to write about than the person who has been the sole reason for my continued interest in Football over the past decade. For the neophytes on my blog, here’s what I wrote in my Orkut profile’s sports section:

Over the course of years, I’ve realized that nothing can invoke emotions as powerfully and beautifully as Football does. There’s nothing more passionate than seeing Totti’s name on that red and yellow #10 shirt. Nothing is more breathtaking than the impeccable moments such as Amantino’s back-heel of God against Lazio and Er Pupone’s spoon against Inter Milan. There is nothing more sensational than the moment when fate of a nation’s dreams was lying in the right boot of Francseco; and nothing more glorious than the way he slotted it to perfection. No feeling of betrayal is as intense as Cassano back-stabbing Roma, and no feeling of admiration is as vehement as seeing De Rossi & Aquilani decline interests of bigger clubs and commit their careers to La Magica. There’s no courtship as invoking as Totti running over to the camera and turning it around to film the crowd after scoring in Derby della Capitale.

He isn’t only a player. Roma isn’t only a club. Football … isn’t only a sport.

Tags: , , ,

September 7, 2008

Flash-back

Filed under: Blog — krkhan @ 1:04 am

Once upon a time (or, “in before times, long long ago” according to South Park speak), I used to be a Flash developer. I even developed a half-useful extension called “External Text MX” circa 2003, which got a little bit popular too. I loved Flash and even found ActionScript to be an intriguing language for a learning programmer.

And then, slowly and gradually, I realized that Flash isn’t worth 10% of the hype it usually gets. I’m in no way trying to debunk the wonderful art produced by Flash developers. It’s wonderful. My realization was a direct consequence of the troubles I had with Flash as a user rather than as a developer. Flash, for all the great things it embodies on a particular version on a particular platform, is still a proprietary technology steered by an enterprise giant. I started using different architectures and operating systems than simply 32-bit Windozes and most of the time I felt like the efforts needed to get Flash running aren’t worth all the animations and sounds. The mere idea of something as vendor-specific as Flash “driving” the “next-generation” of something as general as Web was enough to make me scowl.

Flash fans usually try to argue that it did become a driving force behind Web 2.0 afterall, and come up with YouTube as the example supporting their claim. Actually though, I had been using major Web 2.0 sites (YouTube, Facebook, Slashdot) for about 2 years now without any Flash support. YouTube videos can easily be viewed without Flash plugin and other websites are careful enough not to rely on Flash for their business. During this period, I treated Flash plugin with contempt simply because Adobe have been epically unsuccessful for providing a working version for 64-bit Linux. I was aware of a method which allowed usage of the 32-bit plugin to work with the 64-bit platforms, but it turned out to be highly unstable and resource intensive with my initial efforts. This method involved installing a “wrapper” plugin named NSpluginwrapper in Firefox. My verdict: “totally not worth it”; up until just a few weeks ago, when I retried the NSpluginwrapper with Firefox 3 and the official Adobe Flash Player 9.0 r124 plugin. The result? Finally the PITA vs. worth ratio has been reduced significantly enough to guarantee its continued existence on my laptop. YouTube works wonders and even the sound gets played through PulseAudio like a charm. Too many animations do tend to crash my X.org server every once a while but I’m willing to spare this much for now.

Not to mention, I still immediately close any website which starts with a Flash-y intro ;-) .

Tags: , , , , , , , , , , ,