Showing posts with label software. Show all posts
Showing posts with label software. Show all posts

Friday, February 22, 2008

Juggler v0.5: Wallpaper Changer for Windows Vista and XP (Update 2)

Even though the first basic version of Juggler pretty much did what it was supposed to do, there were few 'nice to have' things which were missing. So I updated it as soon as I got some free time. :)

Feature set:

Here is the list of features (existing+new) which are now included.

  • Its coded and unit tested to work on Vista and XP SP2 with .Net 3.5. It should work (not tested though) on Server 2008/2003 as they borrow UI code base from Vista/XP. No words for any other OS.
  • It runs in background and can be controlled from System Tray.

  • It can be configured to:
      • start with Windows.
      • look for wallpapers in multiple folders including/excluding sub-folders. Best results when used with matching resolution wallpapers.
      • change wallpaper once every preferred duration between 1 min and 500 hrs. It will understand "000 Hrs/Mins 000 Min" format. It can interpret M/Min/Mins/Minutes and H/Hr/Hrs/Hour as Minutes and Hours respectively.
      • confirm before changing wallpaper
      • adjust image positioning for odd size wallpapers.

  • You can also change wallpaper manually by clicking 'Juggle Now' menu or by double clicking the icon.
  • It allows only one instance at a time.
  • It also displays the last updated wallpaper and the time stamp when the next change will occur.
  • It displays a confirmation dialog before automatically changing wallpaper. Its configurable to show a confirmation dialog and for how long the message should be displayed.

  • "Active" option to enable/disable wallpaper juggling while program is running.
  • Last changed wallpaper is a clickable menu which opens the wallpaper in windows explorer.
  • You can download stunning wallpapers from interfaceLIFT.com using "Download Wallpapers" screen right within juggler.

Download:

This version uses .Net 3.5. Also, the downloads are posted at codeplex.com.

  1. Download and install .Net framework v3.5 if its not installed already.
  2. Navigate to Juggler release page at codeplex to download application and/or source code. The downloads are in Files section.

Implementation:

Most of the stuff is pretty straightforward. It uses Timer class to invoke code to change wallpaper. The invoked code then uses Win APIs to do the job. But there are few things which may interest you.

  1. There are all kind of anonymous method illustrations. You can also find basic as well as complex lambda expressions which, I think, are nothing but fancy anonymous methods invented for LINQ.
  2. It also demonstrates how to use System.Threading.Mutex to find and avoid if user is trying to run multiple instance of same application. This is the simplest and most accurate approach to create single instance application in C# (VB has some out of the box functionality). There is a catch in this approach which may disqualify this in certain cases.
  3. While implementing single instance functionality, I needed to warn user that the application is already running. Simplest way is to just display a message box. But I thought if the already running (first) instance can get a notification from second instance then it can show a balloon tip which will tell user where exactly the application is running. This may sound simple but its not.
    1. As both instance are separate processes, we are talking about inter process communication (IPC) here.
    2. There is no other way than remoting in .Net 1.0-2.0 for IPC. And opening a tcp(forget about http) port seems overkill to me in this situation.
    3. So I chose a self hosted simple wcf service with named pipe binding. May be I'll post about using named pipes in WCF for IPC later some time.

As always, please use it at your own risk. Feel free to rant in comments. :)

Enjoy!

Saturday, October 20, 2007

Running Ubuntu 7.10 on Vista using Virtual PC 2007

For all of us (including myself) who have never seen a world outside Windows, Ubuntu is one of the ZILLION available distributions of Linux. I thought of trying Unix or Linux couple of times but every time got lost in the long list of distributions and couldn't decide where to start. But believe or it not its a pretty amazing world out there.

Canonical Ltd. released Ubuntu 7.10 a couple of days ago and I decided to install whatever the case is. I didn't want to mess up the current configuration running Vista so the obvious choice was to add one more virtual machine to the pile in Virtual PC 2007.

Step by step installation process is described here.

I did run into an issue where Virtual PC was clipping the ubuntu desktop and left me with only 30% desktop visibility. It was quick to fix though by changing "Window Resizing" options in Display tab for Machine settings in Virtual PC.

image

Its a long a way to go for me to learn linux and for Ubuntu to establish itself as a competitor to Windows and Mac. Wait a min...., my display is all crippled after I restarted it to make changes effective so that it can allow me to choose higher resolutions. Damn it. Now I don't know how to fix this. OK, lets start from scratch again. And this time I'm going to make a base HDD and do all the experiments in differential HDD.

I wish it was more user friendly. When you compare it with Windows and Mac, the barrier of entry is very high. And the best part is, if someone asks anything on community forums, those xorg geeks start telling them terminal commands. I think this is one major part Linux is lacking at. :)

Still, I think its fun to use Ubuntu and it has tremendous possibilities. Being free and major community involvement for localization, I think it will really help bringing people (non-IT) towards computers in countries like mine.

Thursday, October 04, 2007

.NET Framework Source Code will be released with Orcas!

This is huge. Actually, not huge but still. :) Scott Guthrie today posted that Microsoft will be opening up the source code of some parts of .Net framework. And the plan is to keep doing it for rest of the libraries.

Its not like we can't browse through the .Net framework source code now but the really nice thing about this move is that you can step through the actual .Net code while debugging your source code.

image

So, you are on a breakpoint on .Net method call in your code and if you hit F11, you will land right inside the .Net framework code. I can't remember how many times I went back to Reflector to find what exactly was going on. This is going to help everyone, big time. Even Microsoft will gain something in this. I bet they will cut a lot on support calls. :)

Now, don't confuse this with Open-Source as lots of people are. This is NOT Open-Source. The source is released under Microsoft Reference License. As the name suggests, this is just for your reference to help you understand .Net better (if you opt to) and allow to step through .Net source while debugging.

Amazing decision. Development will be fun now. I mean, more fun. :P

Enjoy!

Friday, September 21, 2007

Juggler : Automatic Wallpaper Changer for Vista

By now you should already have a huge collection of wallpapers. If you don't, go to previous posts to get direct downloads and a tool to download high quality wallpapers.

Vladstudio Wallpaper Collection

Spectacular Wallpapers from InterfaceLIFT; Tool to download them all;

Now the next thing is to use these wallpapers. Going back to "Personalization" settings every time is really not something I'd prefer. So I, again, coded up a small and handy app which can do this for us.

  • It runs in background and can be controlled from System Tray.
  • It can be configured to
      • start with Windows.
      • look for wallpapers in a specific directory. Best way to use this is to dump all wallpapers matching your resolution in one folder and configure to use that folder.
      • change wallpaper once in half, one or two hrs.
  • You can also manually change wallpaper by using Juggle menu or double clicking the icon.
  • You've got the source. So, change it if you want more features. :)

Juggler

And that's pretty much it. I'm using it on Vista (1920x1200). It will NOT work on XP (or anything other than Vista for that matter) as XP doesn't support JPEG images as wallpapers and that's what I am using. I may update it later if I could spare some time. You can get a tool which may work with XP at Coding4Fun. And if you want you can always change the code [link below]. Updated to work with Vista and XP.

Remember, its not fully tested or final app. I just coded and left it when it started doing I wanted. So, no negative testing. :)

Juggler.exe.zip [Independent Executable]

Juggler.source.zip [Source Code, VS 2005]

Links disabled for outdated app. Follow the link below for updated links.

Enjoy!

UPDATE: I've updated this app with fixes and more features. Please navigate to the detailed post for description and download.

Wednesday, September 12, 2007

Spectacular Wallpapers from InterfaceLIFT; Tool to download them all;

Before I say anything else, I have to admit that InterfaceLIFT has the best high resolution wallpapers. There are handful of artists who post their work on this site. Look at the fabulous samples:

 image    image

 image    image

There are thousands of them like these and in all possible resolutions. So the next question is how to get them. I tried the traditional way (read browsing) but it was really difficult to click on each one of them and save manually.

I though it would be really great if I can automate this or some kind of tool that can do this for me. So yesterday night, without wasting anymore time, I decided to code one up. Here is how it looks:

Wallpaper Crawler

Its simple. Choose the resolution you want, choose the location to want to save images to and hit "Search and Download Wallpapers". You may also want to change the sorting to Ratings or Downloads to get community rated wallpapers first.

And here is how it works: On the website, interfacelift uses javascript to prepare the links for actual images. I checked the HTML source and thought I could exploit that approach.

  • It get the HTML markup for first page.
  • Search for javascript method calls and get the unique identifiers for wallpapers on current page and prepare a list of actual image names.
  • Loop through all images on current page.
  • Download one at a time and save to local disk.
  • Get markup for the the next page.
  • Go to step 2.
  • Keep doing this until user hits Stop or we run out of pages.

And that's it. Its pretty simple. I ran it on Vista and XP against .Net 2.0. You can download the independent executable and/or source (C#). See update below to download.

WallpaperCrawler.exe.zip [Independent Executable]

WallpaperCrawler.source.zip [Complete Source Code, VS 2005]

I know it can be enhanced or make more robust. But hey I just coded it in couple of hours for the functionality I needed. I haven't even tested it properly but it did what I was looking for.

Enjoy!

PS 1. If you find any issues with it, put your sleeves up and change the code. And yes, please don't forget to tell/send me the updates you made so that I can add them for others. :)

PS 2. By no means its a tested and final app. I don't take any responsibilities for the issues you may run into by using this.

Update: This program is now part of Juggler (another app I created for changing wallpapers). Please navigate to the description page to download the latest version.

Friday, September 07, 2007

Best gets Better : JavaScript Speed Tests

I thought it'd be good idea to share what I meant by saying Opera is the best browser. There are lots of factors which determine the superiority of a browser (and any piece of software for that matter).

There are few benchmarks out already for Opera 9.5 and one of them pointed to the JavaScript speed tests. Try it for yourself. The script which is executing is right there so you can see what exactly is going on.

I ran these tests on Opera, Safari for Windows, Firefox and IE 10 times and put it on a graph.

image

Now you see what I meant, don't you? Its obvious from the results that Opera kicks IE and Firefox's butt big time. :) Surprisingly, Safari is pretty close. This is just one test out of HTML rendering, startup , network speeds et all.

Click here to open the detailed browser speed comparisons (Opera 9.5 not included).

Adding to all these goodies, Opera is always fun to use. There are lots of features which you'll just love. Like the mouse gestures. And starting to download the file while you are still thinking where to save it. And shortcut to paste and go to the URL instead of pasting it and hitting return. And allowing the User Mode view. And really useful zoom. And Feed Reader. And mail client. And Speed Dial. And Widgets. And "Speak" which reads the selected text as humanly as possible. I can keep going for quite sometime but you get the idea. :)

Happy Browsing!

Thursday, September 06, 2007

Best gets Better : Opera 9.5 Alpha release

On Tuesday, Opera announced alpha release of opera browser. If you read some initial posts on this blog, you already know how much I love this browser. Even though a lot has been said about browsers (and will be), this is the best browser on the planet.

Everyone, yes I said everyone including MS and Apple, copied features which opera introduced. But you know Howard Aiken once said...

Don't worry about people stealing an idea. If it's original, you will have to ram it down their throats.

The best example is the zoom feature in IE which is almost useless if you compare with Opera. They totally copied it but couldn't make it as smooth as Opera. You zoom and it gets all scrollbars whereas Opera actually resizes the HTML elements to make it useful.

So, go on and follow the link. You'll never come back to IE unless the site is coded to work only with IE which, by the way, Opera takes care pretty well by allowing to open the current page in any browser on your PC.

Open With command in Opera

Opera Browser 9.5 Alpha release

image

PS: This is still in alpha.

Tuesday, July 24, 2007

TFS : The Real Picture

I have seen books which can tell you all the theory about TFS. And yes, what will happen if you click on a button on Branching dialog....that too. But if you really want to know what exactly is TFS, don't just download and forget this guide posted on CodePlex which describes how TFS should be used in real projects. Excerpts from the site:

"This guide shows you how to make the most of Team Foundation Server. It starts with the end in mind, but shows you how to incrementally adopt TFS for your organization. It's a collaborative effort between patterns & practices, Team System team members, and industry experts

Logical Workflow of Team Foundation Server

patterns & practices: Team Development with Visual Studio Team Foundation Server - Home

Thursday, July 12, 2007

Trigger Gotchas

I found these weird behaviors in SQL Server. Well, weird because I never expected it this way. And whoever I asked, even they thought its weird.

1. Let's say you have an INSERT statement something like this:

INSERT INTO SomeTable VALUES (Col1, Col2)

SELECT Val1, Val2 FROM SourceTable WHERE 1<>1

Now, the select statement is never going to return any row due to the where clause (always false) therefore, no new row in SomeTable table. So, if there is an AFTER INSERT trigger on SomeTable, what do you think about it. Should it fire? Remember, there is not going to be any insert.

If your answer is NO ( as it was mine and few others too), think again. Because it DOES fire. And that's why I call it weird.

2. Another situation. Lets have the same INSERT statement but without any WHERE clause. So the query will be something like this:

INSERT INTO SomeTable VALUES (Col1, Col2)

SELECT Val1, Val2 FROM SourceTable

Now, if SourceTable has, say, 100 records and there is an AFTER INSERT trigger, how many times that trigger should fire. Remember, there are going to be 100 new rows in SomeTable.

If you answer is 100 (as it was mine too, again), check Books Online once more. The trigger is going to fire ONLY once.

 

One thing to note in both situations is that the LOGICAL tables have the correct information. That said, INSERTED logical table is going to be empty in first example and it will have 100 rows in second one. So, these logical table are your best bet. This behavior is same for DELETE and UPDATE after trigger too. Means, if you execute a delete or update statement which will not affect any row, triggers will fire regardless and it will fire once per statement NOT per affected row.

Hope this will help you to avoid this trap. :)

Enjoy!

Friday, July 06, 2007

Windows Live Writer

Well, its being a long time since I posted anything here. One excuse for that can be the incompetent blogger.com UI for posting blogs. Those browser based text editors hardly work and blogger UI went one step further and provides WYSIWYG editor.

That was really an excuse. :) And reason you might be knowing already. Yeah, its the work. I really don't know where do people use those SDLC jargons in real life they used to fight on in university. I see it all the time that people just try to get things in production no matter how.

Anyway's, reason for this post is not that. You know how it feels when you see/use a piece of software that looks beautiful, integrates well and actually works. For me, it feels really good. I feel like computers are not meant just to scratch your head on crashes. Ok, the piece of software I am talking about is Windows Live Writer (like you didn't get it from post title, already).

I came across this here, downloaded, configured with blogger and that's it. I am posting from it. Hardly 3 mins to get the thing working as its suppose to work. Kudos to the team.

Give it a try. Its really good.

Enjoy!

Saturday, December 23, 2006

All your HDD needs!

As I said earlier (in last post), HDD spinning speed is one of the most important factors to increase PC throughput. But I have experienced that spinning speed is not the only factor when it comes to HDD. I guess there are three most important tasks related to HDD:

1. Preparing the HDD with appropriate partitions. This can be done with windows. But there is one thing which windows cannot do. It cannot resize the partitions with data persistence. So, if you have to resize or split a partition without losing data, you need a specialized app.

2. Backing up the HDD for an unwanted situation when something got messed up and now you have to re-install OS. Believe me on this that the situation will come even if you are playing extra safe because those spy wares and Trojans are one step ahead. By backing up your HDD, you can be back with stable PC within minutes after disaster. I remember those days when every now and then I used to spend nights in re-configuring windows. :(

3. Keeping the HDD de-fragmented. I know people don’t give it a shit but I have seen the results of keeping HDD de-fragmented. The inbuilt de-fragmenting tool in windows sucks and it sucks big time. It’s no different story even in Vista.

So, what are the available options? Well, let’s keep it to the solution instead of comparing products here. Lately, I have being using three applications for each of the tasks mentioned.

1. When it comes to HDD partitioning, Partition Magic is the first thing which comes in mind as it is being used vastly. But I have been using another better app than this, named Acronis Disk Director Suite. The UI is more sophisticated and this allows you to split even the system (read OS) partition.


2. When it comes to HDD backup and imaging, Ghost is the first thing which comes in mind. Here again, Acronis has a way better software than ghost named Acronis True Image. This works seamlessly. Click here if you want see the comparison of these two posted by someone used Ghost extensively.

Both of these applications can either be used from within the Windows, or used as standalone tool without any operating system. The standalone tools are built on top of a compact Linux kernel and provides comprehensive window based UI.

3. And finally, when it comes to HDD de-fragmenting, first and only thing which comes in mind is Diskeeper. This application is amazing. It keeps your HDD healthy by scheduled and background de-fragmentation. So you don't have to remember and run the good for nothing defragmenting tool manually. Don't forget to read the myths about fragmentation on Diskeeper site if you go there.


My experience with all three is excellent. I will highly recommend these. Go grab these super star HDD apps. All of them are $50 each but Newegg will give around 40-50% cheap. Heck, go to torrent sites if you don’t want to pay. Though Acronis apps are as per your needs, Diskeeper is a must have. Your HDD will thank you every time Diskeeper will arrange bits on that platter surface.

Tuesday, October 10, 2006

Notepad++

First thing first. Notepad sucks. It adds zero value to (read decreases) your productivity. There is only one reason to use it... its light.

I tried couple of options available but Notepad++ wins for sure. This is open source project, straight forward and easy to use. This can do whatever a normal editor is supposed to do. Adding to that, it supports syntax highlighting and syntax folding for C, C++, Java, C#, XML, HTML, PHP, JavaScript, makefile, ASCII art, doxygen, ASP, VB/VBScript, Unix Shell Script, BAT, SQL, Objective-C, CSS, Pascal, Perl, Python, Lua, Tcl, Assembler, Ruby, Lisp, Scheme, Smalltalk, PostScript, VHDL, FORTRAN, Ada, Caml, AutoIt, KiXtart, Matlab and Verilog. Couple of these I didn't even heard of :(.

It has rich set of features. Such as:

  • Syntax Highlighting and Syntax Folding
  • WYSIWYG
  • User Defined Syntax Highlighting
  • Auto-completion
  • Multi-Document
  • Multi-View
  • Regular Expression Search/Replace supported
  • Full Drag ‘N' Drop supported
  • Dynamic position of Views
  • File Status Auto-detection
  • Zoom in and zoom out
  • Multi-Language environment supported
  • Bookmark
  • Brace and Indent guideline Highlighting
  • Macro recording and playback

For me, the best use is when I say "View Source" from IE. To open source in notepad++, change your default program to open text files in notepad++ using Folder Options.

I know there are are more advanced editors than this. I haven't tried them all but most of them are kind of real resource hog or complex. If you haven't use it, give it a try. :)


All that said doesn't mean I am saying notepad++ is advanced editorthan Vim or Emacs. But I really can't think of a text editor for which I have to read tutorials. Really, tutorials for using a text editor. Am I missing something?

PS: There is a basic comparison of text editors at Wikipedia. If you can spare time, try as much as editors from the list. :)

Tuesday, August 22, 2006

Coder to Developer

I read something which was fun, reality and worth reading. Joel Spolsky wrote foreword to Mike Gunderloy's book, "Coder to Developer". Here it follows as is:


You know what drives me crazy?

“Everything?” you ask. Well, OK, some of you know me a bit too well by now.

But seriously, folks, what drives me crazy is that most software developers don’t realize just how little they know about software development.

Take, for example, me.

When I was a teenager, as soon as I finished reading Peter Norton’s famous guide to programming the IBM-PC in Assembler, I was convinced that I knew everything there was to know about software development in general. Heck, I was ready to start a software company to make a word processor, you see, and it was going to be really good. My imaginary software company was going to have coffee breaks with free donuts every hour. A lot of my daydreams in those days involved donuts.

When I got out of the army, I headed off to college and got a degree in Computer Science. Now I really knew everything. I knew more than everything, because I had learned a bunch of computer-scientific junk about linear algebra and NP completeness and frigging lambda calculus which was obviously useless, so I thought they must have run out of useful things to teach us and were scraping the bottom of the barrel.

Nope. At my first job I noticed how many things there are that many Computer Science departments are too snooty to actually teach you. Things like software teamwork. Practical advice about user interface design. Professional tools like source code control, bug tracking databases, debuggers and profilers. Business things. Computer Science departments in the most prestigious institutions just won’t teach you this stuff because they consider it “vocational,” not academic; the kind of thing that high school dropouts learn at the local technical institute so they can have a career as an auto mechanic, or an air-conditioner repairman, or a (holding nose between thumb and forefinger) “software developer.”

I can sort of understand that attitude. After all, many prestigious undergraduate institutions see their goal as preparing you for life, not teaching you a career, least of all a career in a field that changes so rapidly any technologies you learn now will be obsolete in a decade.

Over the next decade I proceeded to learn an incredible amount about software development and all the things it takes to produce software. I worked at Microsoft on the Excel team, at Viacom on the web team, and at Juno on their email client. And, you know what? At every point in the learning cycle, I was completely convinced that I knew everything there was to know about software development.

“Maybe you’re just an arrogant sod?” you ask, possibly using an even spicier word than “sod.” I beg your pardon: this is my foreword; if you want to be rude write your own damn foreword, tear mine out of the book, and put yours in instead.

There’s something weird about software development, some mystical quality, that makes all kinds of people think they know how to do it. I’ve worked at dotcom-type companies full of liberal arts majors with no software experience or training who nevertheless were convinced that they knew how to manage software teams and design user interfaces. This is weird, because nobody thinks they know how to remove a burst appendix, or rebuild a car engine, unless they actually know how to do it, but for some reason there are all these people floating around who think they know everything there is to know about software development.
Anyway, the responsibility is going to fall on your shoulders. You’re probably going to have to learn how to do software development on your own. If you’re really lucky, you’ve had some experience working directly with top notch software developers who can teach you this stuff, but most people don’t have that opportunity.


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
He praises the book here in one paragraph and then continues on the topic :).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Being a software developer means you can take a concept, build a team, set up state of the art development processes, design a software product, the right software product, and produce it. Not just any software product: a high quality software product that solves a problem and delights your users. With documentation. A web page. A setup program. Test cases. Norwegian versions. Bokmål and Nynorsk. Appetizers, dessert, and twenty seven eight-by-ten color glossy photographs with circles and arrows and a paragraph on the back of each one explaining what each one was. (Apologies to Arlo Guthrie.)

And then, one day, finally, perhaps when it’s too late, you’ll wake up and say, “Hmm. Maybe I really don’t know what it really takes to develop software.” And on that day only, and not one minute before, but on that day and from that day forward, you will have earned the right to call yourself a software developer. In the meantime, all is not lost: you still have my blessing if you want to eat donuts every hour.

Friday, August 11, 2006

Why most of the Microsoft Products suck?

I know what you are thinking after reading the title of this post. But believe me; the title came after suffering for quite a good time.

By now, its more than 30 years after Bill Gates stole the source of the "then famous operating system" (now Windows) from Apple. Everyone knows that it was a turning point in the way we live our lives and only a genius could have done this. Even after such a long time, the number of products from Microsoft can't be count on fingers as the number is quite big (including most products which are buyouts) while the number of non-vulnerable, bug free and stable products can be.

In the current project I am working on, we (all three consultants in the team including me) shown some courage and literally marketed the Visual Studio 2005, SQL Server 2005 and Team Foundation Server in front of our manager and the top management in the company to use these products for further application development. Now I feel that we did a BIG mistake. We put our self in a situation where there is nothing to give stable products. We are still trying our best to backing up whatever we said.

Why I am saying this? Because, VS 2005 crashes, freezes, deletes your code (specifically while using SSIS) and increases the development time instead of decreasing it. SQL Server 2005 drastically increases the time of execution for the SPs which were working fine in version 2000. And, TFS doesn't even install. It gives you the kind of errors for which even MS Devs doesn't have any solution. These are some of the issues we faced and the list is long. How can they release such unstable products . When I tried to discuss couple of the problems from these, the Devs from MS gave me the URL to post the bugs. But that's not going to help anyone. Asking the developers for posting bugs is not the solution. Rather, resolving the bugs before releasing a product really is.

Now, the real question, why all this is happening? Well, I am not really a geek who can think on this but answer is right there in between us. Let’s try to find out.

Start with putting your self in the scenario. If you start a project then you are concerned about the end product, you will really care about that. Thats what the path setters did either it was Ray Ozzie for Lotus or Steve Wozniak for a PC. But if you are just hired to code, you will just write the code and care a damn about the end product. Be honest and think over this. That's what I feel. Let’s put it in other words. We are just doing the job for the sake of doing it because we are paid for that.

Do we really care about the user when we develop a product or an application?

What I saw till date is that we just try to delivery the task assigned to us, one way or the other. It seems that this is what most of the devs and tests in MS are doing now a days. They don’t understand that they have a responsibility. So, the problem is not XYZ or ABC, problem is within us.

Am I making any sense here? If you answer ‘NO’, please leave a note. I would love to hear. But if its ‘Yes’, next time when you are developing and going to deliver some solution, I urge you to put you in the end users’ shoes. I know we have lots of constraints including those bull shit managers but it's not the manager who is responsible for making a user feel good. Its our responsibility to make the user feel good. I am not saying something new; it has been said many times earlier. I am just repeating that b'coz I feel we have forgotten this.

Adding to this, you may want to read writings from Joel Spolsky. I think he writes well and it really gonna make a difference in your attitude about software development. An article from him titled ‘My First BillG Review’ was fun to read out of lots of others. Just to note, the quote on the top of this blog comes from him. :)

Enjoy!

Monday, February 27, 2006

Browser Wars... the list is long.

In last post I said "the competition is on". Infact its not competition, it is a War. When I tried to analyse about the best performing browser, I got to know that there are around 30 web browsers [may be lot more than 30] with noticable user base. Navigate to List of web browsers at Wikipedia for complete listing.

There is one more article at Wikipedia showing Comparison of Browsers for general and technical features. This article doesn't give any comparison for the second most important feature, speed. [I'm considering security as first].

There is one more article written by Mark Wilton-Jones on browser speeds after putting them through a number of tests.

I personally feel that Opera out played every browser in the game. At least at Windows if not on Linux and other grounds. The only problem is the rendering problem we face while browsing the sites designed specific to IE.

I suggest Avant Browser for the guys like me who has to browse the sites designed for IE during to application development. This browser is a must have shell created over Trident layout engine. Trident is the layout engine for the Microsoft Windows version of Internet Explorer.

Though not related to this post, I would append one more fact to this post. This may be new to you too that even IE is not developed in Microsoft. Like lots of other applications, they bought the browser from ouside too.

For further reading:
Browser wars
Browser Wars II: The Saga Continues

Useful Link:
Opera 9.0 Preview 2 is now available for download

PS: Though I used Opera earlier, I thank Amit [my flat mate] for turning me back to this excellent browser.

Saturday, February 25, 2006

IE, Opera, Firefox...... or may be a new one

The competition is on. Everyone is trying to get maximum market share. Though IE is the leader right now, the others are putting all efforts to climb the ladder. Adding to the mess, there are people who'll come and update their blogs with some statistical data showing some specific browser is better than the other.

Recently I went through an article about Firefox Myths. You may find it Interesting.

Firefox Myths

Few days back there was some rumours that Microsoft is taking over Opera. One of them can be found at Microsoft Buys Out Opera. But we got the denial from Opera on the same day.

As IE 7.0 is already in Beta Preview, the browser market is some thing to watch for. I won't be surprized if IE 7.0 will be an application created after funnelling most of the good feature in other existing browsers. :)