Archive for the ‘reviews’ Category

what I like about Firefox2

September 7th, 2006

Firefox 2 is in beta currently, beta2 release candidate 2. So that means it's going to be some weeks before v2.0 goes gold for public consumption. I was a little hesitant about installing the beta, knowing that in the past upgrading Firefox has brought with it bugs and certainly shut off popular extensions.

What most attracted me to it was whispers that the memory leaks have been greatly reduced, and performance improved. Firefox (originally Phoenix) started out as a nice stripped down version of Mozilla. Then gradually, it accepted so many features that it became rather heavy, especially on slower machines. It is a good thing that performance is being addressed continually, even though I doubt Firefox will ever match up to Opera in that regard. I haven't run any benchmarks to verify, but the new Firefox does seem a little faster. Noticeably, scrolling is faster.

A welcome new addition is a built-in session saver. I have been using the SessionSaver extension since the dawn of man basically, finally it is a built-in feature. When you close Firefox (or it crashes), it will restore your tabs and pages opened in them (new option in the settings).

Tab handling has improved. Every tab has a close icon, but you can also close tabs by middle-clicking on them. I thought this was a bug to begin with, I accidentally closed a window while filling in a form, but it's just a quick way of closing tabs. If you do close a tab accidentally, use History > Recently Closed Tabs to bring it back.

A new feature is a built-in spell checker (supporting a range of languages) for all form input. It highlights typos as you write, with the familiar red underline. While this isn't something I consider a major breakthrough, I'm sure a lot of people will love it.

Finally, a bug fix. in Firefox1.5, when you have the bookmarks drop-down menu open and you scroll with the mouse wheel, it will cycle between tabs. In Firefox2, it does the logical thing - scrolls the drop-down menu.

Extension wise, Adblock and Flashblock both work, Dictionary lookup doesn't yet.

a first look at c#

June 29th, 2006

The first I heard of c#, Microsoft's flagship new language for seamless software development from 2000, one of the first reviews of c# came from some higher-up in the Java hierarchy of Sun. His conclusion paraphrased here for your convenience, was "c# is basically a botched ripoff off java". He was saying that what java had done right, c# had changed for the worse, otherwise it was pretty much the same.

As I got my first introduction to c# recently, I wouldn't entirely agree with that. I'd say c# is (as announced), indeed a hybrid java/c++ combo. At first sight, it looks like java, but certain things are basically ripped right out of c++:

  • pass by reference for primitive types
  • virtual methods
  • operator overloading
  • user defined copy constructors
  • namespace declarations

And some things are completely new and wacky:

  • properties defined implicitly with accessors (not unlike ruby)
  • overriding base class constructors in derived classes (what does this say of encapsulation? hm)
  • sealed (non-derivable) classes
  • structs (from c) as lightweight alternative to classes
  • foreach statement (similar to php)
  • delegates (a bit like function pointers in c++)

In a way it looks like c# went completely java, but they couldn't bare to leave behind certain features of c++. And that's reasonable, it becomes some sort of superset of the two and with a rich library. My impression so far is that it seems to be java without some of the pain.

give it up for scons

May 19th, 2006

Isn't it nice when you have an idea of something that would improve your life (and possibly the lives of many others) and you think to yourself "well if I were to do it, it would take me lots of time and hassle, someone should do it" and then you discover no less that someone has already?

A while back I was praising ant for being an improvement over make. And it is, it's smoother, it's nicer, it's more suited to the needs we have from a build tool today, make is ancient afterall. But then ant has it's problems.. the xml configuration scripts are a bit cumbersome and unnecessarily complicated (I mean who actually enjoys writing xml?) aaaand it's java based. Nice for portability, bad for speed. If you're building eclipse and you set up ant to do it, big deal, it takes forever anyway, the overhead in a java build tool won't bother you. But if you have a dozen java source files and you're working on some small project, you could still use a build tool to keep building more streamlined and organized, but ant won't feel like such a great choice anymore. Because making one small change in a source file will launch ant to rebuild that class. And even though compiling java doesn't take that long, launching ant itself probably takes longer. So there's a tangible overhead. Launching the vm itself takes a little while.

So if I'm writing a java application, I'll still use ant (probably), because it's a java environment anyway. But if I want to automize building latex documents or conceivably anything that could use the power of a build tool, I'm going back to make, it's quicker both to write the script and at every launch. But since make is far from ideal, how about a python based build tool? Python is quick and powerful. The first time I thought of that must have been a few months ago. Fast forward to today and....

Enter scons. scons is a python build tool, just like I conceived. As I started looking at the manual, it seemed very c-centric (with java support as well). But, it turns out that scons ships with build definitions for many languages and compilers, including jar, qt, latex, tar, swig.. well you get the idea. Not only that, build definitions are just simple python files which are easy to write. So the next time I need a build tool, I'll definitely see how far I can get with scons.

ant is the light

September 5th, 2005

Java may be doom and gloom much of the time, but there are moments when we see the light. One such moment is ant. Where the standard java build system sucks, ant is the light. Ant is elegant, easy and efficient. Shockingly, ant is yet another open source project, to java's commercial patronage.

Way to go, Joel!

July 9th, 2005

Twice before I've come across the blog called Joel on software, both times I enjoyed the entry I was reading, which I found as a link from some other site. Yesterday, on closer inspection, Joel's archives are considerable and he's also written a couple of books, one of which is available online and deals with usability interface design. As I started reading it, I'm going on chapter 9 and simply cannot stop reading. It is fantastic writing, in fact, Joel knows what needs to be said and how to say it. Needless to say, I'm going to keep an eye on that blog, it is also added to the list of links for your convenience.