May 2, 2007

Putting the zing back in sting …

Recently, I’ve been running across a supposedly new compression format over and over again. The format? WinZix or rather, .ZIX files. The name and the extension seems to indicate that they are trying to capitalize on WinZip’s popularity and market share. Their website claims that they have the "ultimate compression". The truth? Now that’s a bit more tricky :p

When I first heard about WinZix, being the software junkie that I am, I was tempted to download it and try it out. However, the name and the way it was branded made me hesitate. I decided to check it out first. There wasn’t much online about WinZix though. There were people claiming that it contained trojans and that it messed up their systems. There were others claiming that it didn’t compress any files at all and in fact, it increased the size of a file that was compressed with it. However, these were all claims made on the Net and you know how that goes :p

So, I downloaded a .ZIX file myself – not the program but a file supposedly compressed with WinZix. I then opened the file in a hex editor and noticed that it had a file header which identified it as a WinZix file. But what was more interesting was to see a ZIP file header a few bytes further in from the WinZix file header 🙂

Now, most files contain a file header (or a signature) which identifies the file type and allows the corresponding program to determine whether it’s a file format that the program works with. I knew the ZIP signature since I’d worked with ZIP files before. Being paranoid by nature, a thought flashed into my mind at this point – what if the WinZix folks weren’t actually compressing files but taking standard Zip files and wrapping it with a new header so that WinZip (or any other program working with Zip files) will not see it as a Zip file?

I decided to test out this theory. I deleted the first six or seven bytes from the WinZix file, removing the WinZix header but leaving the ZIP header/signature intact. I then tried to open the file in WinRAR (which supports ZIP format) and it opened up fine and I was able to extract the contents of the ZIP file.

So there you have it 🙂 WinZix is really a phoney. It doesn’t actually compress any files and certainly might have trojans or backdoor programs or viruses embedded in. Or it might simply be a way to cash in on people’s gullibility and make some cash since apparently they do say that they include adware in their EULA. Whatever else it might be, a compression program it is not :p

Tags: , , ,
Posted by Fahim at 7:10 am  |  15 Comments

December 24, 2006

Railing at .NET

At around the same time I began developing an interest in the .NET 3.0 framework, my friend Nigel contacted me regarding a Ruby project that he was involved in named Hobo 🙂 I had looked at Ruby several times before (just as I had looked at Python and a few other languages of that ilk :p) but the fact of the matter is, I’m a desktop developer mainly. While I do enjoy coding for the sake of coding, what gets me going most of the time is to be able to develop a completely new UI that just rocks and to be able to tie in functionality to that UI that makes it not just a pretty face 🙂 I just can’t do that kind of thing with web apps. They are just too stable, too boring – at least for me 🙂 So I save the web apps for when I get paid to do work and I do most of my development work in my spare time for the desktop.

Now that’s not to say that I don’t do web apps development. On several occasions, I’ve developed web apps to fill a need that I had. But most of the time, my personal needs are more for desktop apps than for web apps. However, in the course of our discussions, Nige said something interesting – or at least, something that got me thinking and something which prompted this post 🙂 He said that "desktop apps were going the way of the Dodo". Of course, it’s possible that he was just being facetious but the remark struck me the same way Larry Ellison‘s championing of the thin client a long time ago (in computing terms that is) did 🙂

Just like desktops are not going away any time soon to be replaced by thin clients (or network computers), desktop apps are not going to be suddenly supplanted by web apps. There is a place under the sun for both. There are times when a server-based solution would work for you better than a desktop one and then there are other instances, that it would just be plain foolish to go for a web-based solution just because you thought web-apps were the greatest thing since sliced bread :p For instance, I know that a lot of people think highly of services like Writely (now renamed to Google Docs & Spreadsheets) because you can have your document online, share it with anybody and be able to access it from anywhere. Call me paranoid but I don’t like online services for document editing – at least not as my primary access point for said document. I’d rather have it on my own hard disk where I can take the damn computer to a technician if the thing breaks down, or I can simply login and copy the data even if my Internet access is down.

Of course, the flip side of the coin is that Google probably has better backups and better disaster recovery in place than I do 🙂 But on the other hand, Google might not be the best case to argue the scenario of web-apps vs. desktop apps. What about the roll-your-own type of web app? You deploy it on your webserver (hosted elsewhere) and put your data on it. Are you going to be completely sanguine in the belief that your data will be safe and accessible from anywhere, any time you want? I know I won’t be – but then again, as I said before, I’m probably more paranoid than others :p

In the end, I guess whether you go desktop or web-based, the decision will depend to an extent on personal choices and other factors. But I don’t believe either web-apps or desktop ones will die away anytime soon 🙂

Tags: , ,
Posted by Fahim at 6:46 am  |  No Comments

December 23, 2006

To .NET or not .NET

I come from a coding background where we always tried to keep application sizes down and memory utilization low. So, if I can create an application which results in a 1-2MB download, I’m really happy. Even my biggest application is probably under 5MB. Sure, I realize that in today’s world of multi-gigabyte game and application downloads, that is an anachronism but I still like keeping my application sizes small 🙂

Because of this obsessive-compulsive desire (or rather, need) to keep application sizes small, I have not looked at .NET as a possible development platform for my personal projects. Sure, I’ve done .NET development when I worked for different companies. Since internal deployment was via the network, the 20MB or so download for the core framework wasn’t that big a deal. However, when you distribute software (and freeware at that) over the Internet, I really feel bad when I have to ask somebody to download a hefty runtime before they can run my app.

So what has changed? In a sense, nothing? .NET 3.0 is out and the framework now stand at around 50MB and the basic situation is the same. If you don’t have the .NET 3.0 framework installed, you still have to go through a 50MB download. But what’s new is what the framework offers. The possibilities are (while not endless) quite interesting 🙂 I love what the framework promises with the 3.0 iteration and the ease with which much of it can be done. Being a software junkie, I’m allured by the new UI elements and what they can do for my own application. In fact, I’m definitely considering shifting to .NET 3.0 at least for some of my applications.

Of course, there are issues. The aforementioned hefty download being but one issue. The other is deployment of web apps. Sure, .NET 3.0 offers beguiling promises for web applications – the possibility to have a really nice web interface for your applications. But as far as I understand, in order to develop and run web applications using .NET 3.0, you still need a Windows server running IIS. And how stable are Windows servers? Personally, I haven’t had much luck with Windows as a web server and I really wouldn’t want all of my critical sites on a Windows server. So that makes .NET 3.0 web apps, (at least for me) something nice to play with but not something I’d want to use on a production basis. But that is just based on my own personal requirements and situation. Your mileage will certainly vary 🙂

Tags: , , ,
Posted by Fahim at 7:13 am  |  No Comments

September 25, 2006

Slinky links

On the track of deleting traces of my old Vista install and re-installing Windows XP, I ran into some interesting information. It appears that Vista (and XP before that) has the ability to create symbolic links, or, as they are more commonly known in Linux circles, symlinks 🙂 No, I don’t mean those dreary old shortcuts, I mean real symlinks which are tied to the file system :p

Here’s how it all came about. I started deleting all the dreck left over from my Vista upgrade install prior to installing XP. In the process, I ran into certain folders which just would not delete – even when I had assigned all permissions/ownerships to my user account. I was completely puzzled but left the issue till later and went ahead with my XP install. However, once XP was up, I went back to trying to delete these odd folders and they still wouldn’t delete. Somewhere in there, in between pulling my hair out in frustration and doing a gazillion Google searches for the answer, I happened to do a directory listing in DOS and it listed these strange, non-deletable folders as junctions instead of directories. The light suddenly went on as the clue-dart hit me squarely between the eyes :p

Now I had known about NTFS streams (another really nifty but way underused file system feature), way back when they were introduced. But I had not known that NTFS had the capability to add junction points even though the ability had been there in both Windows 2000 and XP! Further reading led me to the Systinternals tool named Junction, which allows you to create and delete junction points. I used the tool to delete most of the junction points which were giving me trouble and was finally able to get rid of all the extra folders left over from the previous Vista installation. I later discovered a few other shell extensions which let me do the same thing from within Windows Explorer itself – NTFS Link Shellextension, Junction Link Magic and NTFS Link.

But what’s the use of all this extra stuff when Windows itself doesn’t support it, would be the question, right? 🙂 Well, I came up with one use almost immediately. I normally have all my data on a separate partition so that I can wipe the OS partition and reinstall everything without losing any data. But one thing which bites me all the time is the fact that most of my account specific data goes in C:\Documents and Settings – especially the My Documents folder. Sure, I can use TweakUI and set the My Documents folder to a different location. In fact, that’s how I used to do it till now :p But the issue with that is that sometimes, certain apps will still go to C:\Documents and Settings\Fahim\My Documents (or wherevere your documents folder is) instead of going to where My Documents has now been re-pointed to (usually on D drive). With junction points, I can simply set up the C:\Documents and Settings\Fahim\My Documents to point to my D:\My Documents folder and everything would go to the correct place! And that’s exactly what I did. Ah, the joys of discovering something new :p

September 23, 2006

Vista wins and wobbles

Yes, I know, I was supposed to write this one about a fresh install of Vista but I was prevented from doing so by Vista itself :p The actual fresh install, which I did several days ago, went really fast. The fabled 20 minute install was (almost) true. The copying, extraction and installation took about 15-20 minutes but then there were several reboots while Vista did all of the other configuration and customization stuff and that took about half an hour or so. Still, it did feel much, much faster than an update install.

Most of the issues that I’d faced with my upgrade install of Vista were gone but there were new issues to replace them :p I could run Explorer fine now but I had to re-install most of the programs that I use again before I discovered that a couple of ones that are really important to me would not work correctly or would have issues. Then, FireFox started showing erratic behaviour – I lost bookmarks and settings and had to restore and then toolbar customizations and window positions would not be saved. I am not absolutely certain that this was all due to Windows Vista but I had enough troubles to make using Visa a bit of an issue.

Now don’t get me wrong, there are lots neat features to Vista that I really want. The alternate clocks are one thing – you can add two extra clocks so that when you hover your mouse pointer over the system clock, you can see the time at two other locations. I used to have to use a third-party application to do that in the past. Then there is the Vista start up, it starts up fast and feels very responsive – none of the sluggishness you experience with XP when you first start up and have all your start-up items starting at once :p

However, I had so many issues with Vista, that I was forced to go back to XP. And that was a story in itself because it took me about a day to get all the Vista stuff off my partition and to put XP back in :p Sure, I could have simply formatted the partition but I didn’t want to and so, most of that time was spent struggling with all the folders that Vista had added and setting the permissions on them back so that I could actually delete the folders. One thing Vista seems to do right is to set good security permissions – the bad part is that even the XP installer cannot overcome the security to overwrite existing Windows files :p Anyway, after a day of struggling, installing SP2 and then all the patches and so on, I’m back in XP. I still have my new Vista install on my machine but I’m not sure I will be booting into it anytime soon. Maybe when Vista goes gold and more of my apps actually work there …

Tags: , ,
Posted by Fahim at 6:35 am  |  No Comments

September 20, 2006

Vista woes

Yes, I know, I’ve been silent for a while. It’s mostly because I’ve been struggling with my system. The cause? Windows Vista :p But let me begin at the beginning …

I’ve been a participant in the Microsoft Customer Preview Program (CPP) for Windows Vista. But though I did get a copy of Vista Beta 2, running it under VMWare wasn’t good enough due to the fact that the OS wasn’t getting a full workout that way – I just don’t use VMWare or dual-boot installations that much becuase I’m busily using my main Windows installation all the time :p So, when Vista RC1 was announced, I decided that I would put Vista through its paces and also try out the upgrade feature in Vista by upgrading my production machine to Vista RC1.

"Big mistake", I hear you saying. Well, yes and no 🙂 The actual upgrade (which I ran about 7-8 times at least) takes anywhere from one and a half hours to two hours. I had to run it multiple times because the upgrade would crap out at some point and roll back to the previous installation. And I have to say this about the rollback – it was flawless … I’m impressed 🙂 After figuring out all the little glitch points in the upgrade (for instance, when it reboots after launching the upgrade from XP, you I had to boot into Safe Mode if I didn’t want it crashing out), I finally got the upgrade to complete successfully.

Everything was good. Everything looked good. All my installed software appeared to work – even stuff that I couldn’t get installed from a clean installation of Vista when I was using beta 2. Then I found the problem – there has to be one, right? Windows Explorer just would not work. Sure, the Explorer instance acting as the shell worked fine but I couldn’t launch any other Explorer instances in Normal mode. So no Windows Update, no Network Settings, no Control Panel and basically, no changes to the system. The funny thing is that I could run Explorer fine if I booted into Safe Mode :p

I tried everything I could think of – I uninstalled any programs which installed shell-extensions and so might be interfering with Explorer, I used Autoruns and disabled any non-Windows DLLs which were being loaded by Explorer, I tried disabling the Aero interface and went to classic mode – no luck. The weirdest thing was that Explorer would not crash – it would simply pop up for a second and then close with no error message. I tried loading WinDBG and finding out what cause the crash but all I learnt was that it crashed from ntdll.dll (I think ….) I finally found out that if I clicked on something in the Explorer window when it flashed up for a second, that I could get it to pop up a C++ error dialog which didn’t say anything helpful. When I did that though, it did send an error report to Microsoft 🙂

I tried contacting a few Microsoft managers in the shell division but have yet to hear back from any of them :p I posted in the Microsoft newsgroups but didn’t get any feedback – not even somebody telling me how to log Explorer crashes to see what is causing them (and that’s something that I’d still like to find out – whether there is a commandline switch to enable logging for Windows Explorer). I finally chalked this up to a bug that nobody else has seen before and since it looks as if I won’t hear anything from MS (at least not soon), I decided to do a fresh install of Vista 🙂 I’m actually writing this from that fresh install but I’ll write all about that tomorrow …

Tags: , ,
Posted by Fahim at 6:46 am  |  No Comments

June 17, 2006

Breaking the partitions

Yesterday was my day off and I thought, "What would be a fun thing to do today?" and decided to install Mac OS X for Intel on one of the computers … just for kicks :p OK, I exaggerate. I had been planning on trying out OS X and yesterday was the first chance I got to give it a whirl.

The first machine I tried would not get beyond the boot up stage. But then again, that one’s about two years old. So I decided to try the newest machine we have in the house – my work machine. Yes, bad idea :p But you know how it is, when you really want something badly, you gotta go ahead and do the best you can … or something like that 🙂

Anyway, I had about 20GB free on an extra partition that I’d used to install Windows Vista on. I had heard so much about how Mac OS X would not install in a partition but needed a drive of its own that I wasn’t sure that this was going to work the way things were set up. But I wanted to see for myself and so I booted up with the OS X disk and what do you know? It came up fine but had no destination disk selected. However, on nosing around a bit, I found a utility which would allow me to browse my disks, create partitions, format them etc. I discovered that all I had to do was actually format an existing partition into HPFS+ and I could install OS X on that. And that’s what I did.

It took about two hours to complete the installation and once it was complete, I ran into my first hurdle. The new OS X installation would not boot up. It would boot fine with the installation CD but not into the OS X installation on the hard disk. After some nosing around, I figured out how to get things to boot into the OS X installation but then I hit my second hurdle – there was no dual booting and so I was unable to boot back into my Windows install on the same machine!

I spent about three hours booting via a Windows XP installation CD into the recovery console and trying various disk fixing methods but nothing worked. I knew what had to be done – just set the Windows partition as the active one so that the computer would boot into XP. But there was no fdisk in the recovery console and diskpart did not seem to have the option to set an active partition 🙁 I also spent quite a bit of time trying to get a USB thumb drive bootable so that I could boot via the USB stick and use fdisk but that didn’t work either. Finally, I remembered that I had an old LiveCD of Mandrake Move (or Mandriva Move as it is now known). I booted into Linux using that CD, ran fdisk and set the Windows partition as the active one and was finally able to boot into Windows 🙂 (And the interesting thing was that soon after that, I was able to get my machine to boot using the USB stick as well. Then again, that’s how it always goes, isn’t it?)

Tags: , ,
Posted by Fahim at 5:36 pm  |  1 Comment

June 11, 2006

My first view of Vista :p

OK, fine, this is not my first view of Vista but the title sounded nice :p I’ve been reading up all that has come out regarding the new features and improvements in Windows Vista and was itching to get my hands on beta 2 when it was announced. Of course, I had to wait till the public beta 2 build was available via the Vista CPP (Customer Preview Program) 🙂

It took about one and a half days to download the 3.2 GB ISO for Vista and then I had to burn a new DVD copy of it. My first few installation attempts (on a two year old Acer Ferrari notebook) failed completely. I then decided to throw caution to the wind (somewhat) and try installing it on my new, Windows Vista Capable certified, Acer Aspire 🙂 Of course, I wasn’t foolish enough to wipe my production machine and install Vista – instead, I wanted to set up the system as a dual-boot machine.

The first snag? When you install Vista via an existing install of Windows, it doesn’t seem to allow you to do any hard disk maintenance (or maybe I missed the option). The space I wanted to utilize was not allocated to a drive and so I had to exit the Vista installer, setup the disk space as a new drive, re-launch the installer and then get going on the installation. About three hours later, I finally was able to dual-boot into Vista 🙂

First impressions? It feels speed? There is none of the application sluggishness that I’ve seen with XP but maybe it’s just early days yet :p I do like some of the customizations and UI tweaks that they’ve done but hate some of the other stuff. (I’ll probably write more on this in another post – either here or elsewhere). I don’t like the fact that some of the familiar power-user options are now hidden away. I like the breadcrumb trail in Explorer (something I loved in IRIX) but don’t like the new explorer overall. It feel kludgy and there aren’t enough customization options. For instance, I don’t believe there is a list view like in XP and I hate having to scroll through screens and screens of details (or big icons) to get to the file I want.

A lot of people say that Vista is not very stable and it should not be run on a production machine. So far, I haven’t had any stability issues at all. I will grant you that it should not be run on a production machine but that’s mostly because quite a bit of your software will not run under it :p So far, I’ve had about 80% success rate with my standard apps. Some refuse to work outright and some have certain UI quirks. But I think I’m going to use Vista more and more in the coming weeks just because it feels so much more smoother for some reason 🙂

Tags: , ,
Posted by Fahim at 10:04 am  |  No Comments

May 20, 2006

Days of meandering …

Yesterday was a tiring and hectic day :p No, we didn’t move, we just spent most of the day out shopping since Laurie’s sister was here on a sort of a flying visit 🙂 We were out most of the day and by the time we got home, I was totally and utterly tired.

In the process of all that shopping, comparing, gazing etc. I came across a few things worth a mention. For instance, I think I have just switched my preferences for my next phone :p I had wanted to get the Sony Ericsson P990i as my next phone since it had all the features that I wanted. However, I have been increasingly aware of the fact that Symbian OS phones don’t seem to have all the apps that I’d like to see being available for them and that developing for a Symbian OS phone isn’t as easy as it would be developing for say a Pocket PC phone. At least, that’s how it has looked from where I stand.

Then, I came across the HP iPaq hw6500, which is both a handheld PC and a mobile phone! Now this device has all the capabilities that I can think of using (except for Wi-Fi and 3G) and it uses a variant of the Windows CE OS which makes development fairly easy! So, for instance, if I wanted a way to transfer my DVD database over to my phone so that I can carry it around on shopping trips, I probably will be able to do so much more easily on this device than I would on a Symbian OS based phone since I would be able to code the functionality in myself. So, I’m looking very hard at the HP iPaq hw6500 as an option but the lack of Wi-Fi access bothers me. I’ve looked at a couple of other similar handheld PC/phone combo devices but some of them lack a keyboard and others have those bulky (and annoying) antennas sticking out of them. So I guess I must continue to look if I want to find the ultimate phone device … or go with the HP iPaq hw6500 :p

Tags: , ,
Posted by Fahim at 6:54 am  |  2 Comments

May 13, 2006

Wiki, wiki, wow!

I mentioned yesterday how I was looking for an new note-taker/information manager utility which had keywords. Well, since yesterday was my day off, I decided to devote the full day to my search 🙂

First, I went through page after page of Google searches and came up with a couple of possibilities – TexNotes Pro and TaoNotes 3D Pro. They both had keyword-based searching of notes but the UI of each app itself turned out to be the problem :p In the case of TexNotes Pro, each note is opened in a new tab and there is no easy way to close tabs quickly. So, given that I go through dozens of notes in a given work day, I’m going to end up with a really cluttered UI pretty soon with TexNotes. I believe TexNotes is meant for somebody who has multiple large notes. Not somebody like me, who has tons of tiny notes 🙂 The issue with TaoNotes was similar – I didn’t like the UI or the way it was laid out. It seemed way too clunky :p

At this point, I had another idea. Keywords was what I had been looking for up till then but what about tags? Tagging has been pretty big lately and there had to be somebody who thought of combining information management and tagging? I found that there were a lot of people who talked about the "concept" (mostly with regards to web 2.0) but there didn’t appear to be any actual desktop apps around (at least ones that I could find via a Google search) that did what I wanted. Then I had another idea – what about a wiki? Or rather, a personal wiki?

This led me to a list of desktop Wiki software at Wikipedia which in turn led to several possible candidates. The most likely looking were Notebook, WikiPad and TiddlyWiki – though I actually found TiddlyWiki elsewhere and later saw it listed in the Wikipedia list under a different section :p Notebook was a straightforward note taking app which behaved like a wiki. WikiPad had an automatic treeview created from the wiki entries but it didn’t have tags and it used non-wiki syntax to format the entries, as did Notebook. So the sole contender left was TiddlyWiki. (Actually, that’s not quite how it went down – I found TiddlyWiki before I found the other two but it reads better this way :p)

Now TiddlyWiki deserves a paragraph to itself because it’s quite the marvel 🙂 First of all, there is no installation. Secondly, it’s just one simple (OK, maybe not quite simple …) HTML file. Yes, that’s all there is to TiddlyWiki! You download the HTML file, load it in your browser and you have a wiki. I really like this solution. There is no complicated installation. No software to lug around. And no proprietary file formats to deal with. All my information is in one HTML file which lets me access the information I want, the way I want! And it supports tagging! What more could you ask for? (I don’t yet know what more I can ask for but for the moment, I’m using TiddlyWiki as my new information storage/management engine …)

Tags: , ,
Posted by Fahim at 7:15 am  |  6 Comments

« Previous PageNext Page »