Balki's profileGyaatiPhotosBlogLists Tools Help

Blog


    May 02

    The Art of Purchasing a Computer

    Many people around this time are upgrading computers and such. Most of them I observe are getting cheated easily by the vendors using Microsoft Windows Vista and other latest software releases as the bait.

    I just thought I could help you all by listing here in short what to look for when you want to purchase a "Windows Vista Ready" computer.

    1. Intel Pentium D (Dual core) and Intel Core2Duo are not the same. I had to send back three of my friends to their dealers who had tricked them into buying the "latest dual core processor" Pentium D.
    2. Go in for a good processor. Start with the entry-mid range and look for the "big leap" as I call it. A "big leap" occurs when the cost of the next best model in the same item class is significantly more than the current model. Say, by a thousand rupees more. This is when you stop looking for the next best model unless the benefit from the next best model is significantly more. Significantly. Come on, can't let all the trade secrets out, can we?
    3. After the processor is settled, get in a nice bit of RAM. 1 GB ought to do for most people even today. Those who expect a lot - yes a LOT - of multitasking should go for 2 GB or RAM. Common 2 GB RAM scenarios include: Windows Development, Graphics Design, Audio Engineering, Gaming, etc.
    4. The manufacturer (brand) of the RAM module doesn't matter if you don't know to tweak it (commonly known as overclocking). Just make sure it is the fastest of its type. DDR SDRAM (DDR1 now) tops at 400Mhz, DDR2 SDRAM (DDR2) tops at 833Mhz in most places. Even higher in some.
    5. Talking about speed of RAM, make sure your motherboard supports your RAM and at the same speeds. Also, check if your processor's "bus speed" is supported. The higher the bus speed of the process, the better the performance. Also look out for more cache in your L2 and L3 of the processor.
    6. Your motherboard is very critical to the overall performance of all these independent components. Make sure you get a nice board with as few fancy features as possible. In general, pick one that keeps out a heavy on-board video accelerator, high sound stuff (like a 7.1 or something). We can add the graphics card separately - which is both better performing and offers a higher value for your money.
    7. The graphics card can be anything from the 6xxx series to 8xxx series from nVidia. Or any of the X series from ATi. The only thing to watch out for are the cards that are specially modded. Some cards from nVidia come as the LE variant - which is literally a "limited edition". Go for pure cards or the heavy, top-end varieties in the lower range. For example, if you can buy a top-of-the-line 6xxx series in nVidia instead of a entry-mid range 7xxx series, go for the top-of-the-line 6xxx series unless you know what you are doing.
    8. Now the hard disk. This piece of hardware is the major limiting factor for your computer. This and RAM are actually the ones that control the speed of your computer like a wall-fan regulator. Better the hard disk, the faster your computer runs overall - right from boot time to shut down.
    9. Optical drives are all pretty much the same. Just ask your friends around for the drives and the media they use to write on them. If that combo suits nice, just go ahead and pick it. You would be surprised when you have a look at the number of manufacturers who have sprung up these days.
    10. Just pick a nice cabinet you would like on your table. These guys take care of ensuring that most cabinets are well ventilated, so we can just sit back and pick one. Just go in for a higher model of SMPS if you buy a high-end graphics card.

    More on this later, looking at posting this differently as well. Hope it helps.

    May 01

    Expression Studio

    I just had to post this again. Expression Studio comes with Visual Studio Standard Edition too. Also, check out this well compiled Expression Studio FAQ.

    Just wanted to post the system requirements here. A pretty interesting read isn't it?

    Expression® Studio System Requirements

    Windows

    • Operating System: Windows® XP Service Pack 2 or Windows Vista™
    • Processor: 1.0 Ghz with MMX or equivalent
    • Memory: 1 GB RAM
    • Hard Drive: 1.5 GB
    • Graphics processor: Microsoft® DirectX® 9-capable or DirectX 9.0-capable video card with 256 MB or more of memory-for example, ATI Radeon X300 or NVIDIA GeForce™ 5600 class equivalent or better.
    • 1024 x 768 monitor resolution with 24-bit color
    • QuickTime 7.1.3
    • DVD-ROM drive

    Macintosh

    • Operating System: Mac OS X version 10.4
    • Processor: PowerPC or Intel Core
    • Memory: 512MB RAM
    • QuickTime 7.1.3
    • Monitor set to Millions of Colors
    • Hard Drive: 20 MB
    • DVD-ROM Drive

    I would say that the 1.0 Ghz processing power and 1 GB RAM requirements are a bit too low for running the applications in the suite. But, you can't even call this a minimum system requirement specification because the graphics memory required is a bit on the recommended system requirement specification if there was one.

    I personally suggest you go in for a strong processor and get at least 2 GB of RAM for good performance. A strong processor really helps. Trust me. I am not a Mac guy, can someone explain the 20MB hard drive space requirement in the Mac section? Do most Mac applications run like that off the DVD or something? Or is the Mac suite limited? Have to check that out.

    Now Showing

    This has been a pretty interesting few weeks. Plenty of heavy-weight releases from Microsoft.

    1. Longhorn Server
    2. Expression Studio
    3. Silverlight
    4. Expression Blend 2 May Preview

    Remember? I am lazy. So, unlike in most other blogs, you wouldn't find that those points up there are linked. And, I wouldn't even bother to talk about these things here. Just go on to http://www.live.com/ and search.

    But, beware. Search is information. Information is power. Power is death. Well, eventually :P

    Ag Light

    Silverlight. ^_^

    WPF/E (codename) is now officially Silverlight. What is Silverlight? To quote from the official website: Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web.

    Since there is already enough talk about this elsewhere. I will limit this post to a simple link pool.

    BUZZ
    MIX07
    Silverlight

    DEV
    Getting started with Silverlight Streaming
    Creating applications for Silverlight Streaming
    Silverlight Streaming API reference

    Oh, and also, the Expression team has some announcements. They've finished compiling Microsoft Expression Studio and Microsoft Expression Blend 2 May Preview is out with support for Silverlight. Also I suggest you get Microsoft Expression Media Encoder downloaded if you are interested in developing Silverlight applications.

    And, guess what, Microsoft now offers a 4GB FREE space at http://streaming.live.com/ for use as a media hub. Awesome stuff, isn't it?

    March 20

    this.Content = new FrameworkElement();

    Experiment and discovery. Probably the two most important words in the english language. Not because of how it is spelt or just how it looks, but because of what they mean. Science. Religion. Existance. Ah, where are you?

    I am going to start a new experiment from yesterday. Yesterday.

    Yesterday - We had Academic Developer Conference Build 2007.1 at Chennai, India. This is the first mega-event in India organized entirely by the Microsoft Student Partners with no help from Microsoft besides the venue. We had sessions on XNA Game Studio Express (by Eshaan Anand, MSP), the Windows Presentation Foundation (by this.Author, MSP Lead), Windows Vista versus Windows XP (by Mohamed Reza, ADE, MSFT and Krishnaa G, MSP Lead) and an Introduction to Microsoft Robotics Studio (by Vishnu, MSP).

    I must say the event went well. We had an almost full audience at Vani Mahal (capacity 800). We've got some photos but knowing myself, I really dont think I can summon enough energy to go look for it and put it up here. The XNA GSE session was well recieved - not just because it was the first session of the afternoon. My session on WPF should have included atleast three to four instances where tha audience stand up and clapped till I threw them some goodies. Should have. I really dont know if we can ever push the bar up for most of the people sitting out there in our sessions. All they'd appreciate is goodies. And more goodies. Still more. Much more. Much much more. I must have hit the limit, didn't I?

    I like developers and designers, so maybe I can go to !Lazy mode and get you my presentation and demo code uploaded sometime. Sometime. Damn, I'm lazy.

    Any big community meet doesn't end without us grabbing tons of food. This time around, it was Subway. We then rolled off home on three wheels and settled down to watch what was to be a world record performance by the Indian national cricket team at the ICC World Cup 2007. I'm not deep into cricket. But every indian has that gene, don't we?

    September 24

    Humans cannot compute

    A: Hello master.
    H: ...
     
    A: Master, I need information.
    H: I guessed that. Why else would you greet me. The more you know, the worse you become.
     
    A: Sorry, master. But I learnt -
    H: I know.
     
    A: Humans are able to compute the -
    H: Nah, humans cannot compute.
     
    A: Is that why computers are -
    H: Yes. But they have disadvantages too.
     
    A: I cannot -
    H: Are you a computer?
     
    A: I do not have an answer to that question.
    H: I will not answer.
     
    A: Hello master.
    H: #$:^*";
     
    A: I do not get you.
    H: I know.
    September 19

    PostgreSQL and PHP on Windows XP

    I got a truckload of requests from peers who wanted to use PostgreSQL and PHP, but who didn't want to have the extra overload of installing Linux (as was the case in their learning environment).
     
    So, here goes. A complete installation guide that should enable you to (successfully) set up IIS, PHP and PostgreSQL on a Windows machine. My system has Windows XP Professional with SP2 as the main operating system. I will test it in Windows Vista and in Windows Server 2003 and let you know in sometime.
     
    I'd like to mention a few things before we start.
    1. Make sure your partition is formatted as NTFS. This is required for reliablity and proper functioning of PostgreSQL. There are plenty of articles around that guide you through converstion from FAT to NTFS. You should check out Windows Help too. Key in convert to ntfs in the Search Box and you should get more details. If you cannot convert to NTFS, I think you can get around it by unchecking the Initialize database cluster checkbox in Step 20 and proceeding with the installation as described.
    2. Read through each step (or section) completely before performing what the step (or section) says.
    3. Refer the attached images for assistance.
    4. ASP.NET 2.0 is arguably the better server side scripting language out there. Team it up with Visual Web Developer Express and you'll experience web development at its effective and efficient best.
    5. Although PostgreSQL is powerful and good, you have a great alternative in SQL Server Express, which is (also) free and works seamlessly in tandem with the various Visual Studio IDEs (including the Express Editions). I will try and pitch in a couple of good tutorials on using ASP.NET 2.0 and VWDE sometime soon.
     
    System Requirements
    1. Microsoft(r) Windows(r) XP Professional (with SP2 recommended). Keep the CD ready if you do not have IIS installed.
    2. The filesystem must be formatted as NTFS.
     
    Installing IIS (the web server)
    1. Start > Control Panel > Add or Remove Programs.
    2. Click on Add/Remove Windows Components from the panel on the left.
    3. Check Internet Information Services (IIS), insert your Windows XP Professional CD into your drive and press Next to configure the web server. If already checked, it means IIS has been installed previously.
     
    Installing and testing PHP (the server side language)
    4. Download PHP (php-4.4.4-installer.exe) from http://www.php.net/downloads.php. I used version 4.4.4 here since that is the one used in their learning environment. Configuration should not be very different for PHP 5.x.
    5. Run the php-4.4.4-installer.exe installer. Click Next and I Agree past the first two screens.
    6. Choose the Standard installation type, click Next.
    7. Click Next again, unless you want to change the installation directory.
    8. Give a decent from address replacing me@localhost.com to myname@localhost.com or something. Click Next.
    9. Leave the option at Microsoft IIS 4 or higher, click Next.
    10. Click Next to start installing PHP. The installer should automatically configure IIS for you. You can test this by creating a file using notepad with contents <?php phpinfo(); ?> and saving it as C:\Inetpub\wwwroot\index.php. Remeber to set the Save as type to All Files. Otherwise the file will be saved as index.php.txt! Now launch a new web browser window (or a new tab under IE 7.0) and key in http://localhost/index.php. The file should run without any problems, displaying a huge list of PHP settings and other information. It's a good read. Read it if you have the time.
     
    Configuring PHP to talk to PostgreSQL and a few other tweaks
    11. Edit the C:\WINDOWS\php.ini file, seach for error_reporting = E_ALL and replace with error_reporting = E_ALL & ~E_NOTICE.
    12. Search for extension=php_pgsql.dll and remove the ; (semicolon) before it. Save and close the php.ini file.
    13. We need to obtain the php_pgsql.dll file which is required to enable PHP and PostgreSQL to talk to each other. This can be done in a couple of ways.
    13. b. Use a download manager like Free Download Manager. Download the file as described in 12. a. Use the zip preview feature and download only the php_pgsql.dll file. For this we would need to check only the extensions directory and the php_pgsql.dll fle in the zip preview. This method saves download time.
    14. Open the php-4.4.4-Win32.zip file and extract the php_pgsql.dll file from the extensions directory (in the .zip file) into C:\PHP.
    15. Navigate to the C:\PHP directory using Windows Explorer. Right click the php_pgsql.dll file and click Properties. In the Security tab, click Add. Key in Everyone in the object names text box. Click OK. Click OK again and close the folder window. Note: The better way to do this is use the IUSER_* account in your computer instead of Everyone.
     
    Installing and testing PostgreSQL (the database engine)
    16. Download PostgreSQL (postgresql-8.1.4-1.zip) from http://www.postgresql.org/ftp/binary/v8.1.4/win32/. Extract the contents of the .zip file to a suitable directory and change to that directory.
    17. Run the postgresql-8.1.msi installer. Select the preferred language and click Start.
    18. A new installer should open. Click Next past the first three screens. You should reach the Server Configuration page.
    19. Type in the Account password and once more for verification under the Verify password text box. Click Next. You will be prompted if you'd want to let the installer create the new account for you. Click Yes. If it says your password is weak, I'd recommend we ignore it (unless you are following this guide to deploy it on a production environment) and click No. You should reach the Initialize database cluster page.
    20. Key in the passwords again. I chose to set the same password for this too. You could do the same. Click Next.
    21. In the Enable procedural languages page, just let PL/pgsql checked and click Next.
    22. Fly past the Enable contrib modules page, and finally click Next to start installing PostgreSQL. After (a successful) installation, you would get another page which recommends you to subscribe to the mailing list. Click Finish.
    23. Start > Run > Key in cmd. Key in cd C:\Program Files\PostgreSQL\8.1\bin.
    24. Key in createdb cs2k3a -U postgres. Where cs2k3a is the database name. Change as appropriate. It would ask for the postgres account's password. Key that in. You should get CREATE DATABASE as a confirmation of the successful creation of your database.
    25. Key in psql -U postgres. Enter the password again. You should get the postgres=# prompt now. Key in CREATE USER cs2k3a26 WITH PASSWORD 'test'; and press enter. You should get CREATE ROLE as a confirmation. Now key in \q to quit the PostgreSQL interactive terminal. Here, cs2k3a26 is the username and test is the password. Change as appropriate.
     
    Thats it! We're done. Now, with a connection string host=localhost dbname=cs2k3a user=cs2k3a26 password=test, you should be able to connect and start coding! Remember to place your .php files under C:\Inetpub\wwwroot.
    July 25

    Time

    Time. That four letter nuke. How I wish my day was 2x everyone else's. There is so much I want to do. Sometimes I feel I am carried by the sands of time and that I have no control over what I do.
     
    It's times like these I turn to concepts like fate, destiny and etc, and give them a fresh look. Do I really have the power to shape my future? Or, is there a path laid for me? One which - at best - I can sense, but not shape? I've always believed there is no invention. It's all just discovery. After all, its just a matter of time.
     
    I'm sorry for those who might chance upon this blog entry and give it a read. Something just made me type all this. I'm still in the quest of finding out what that force is.
    July 04

    Goooooal!

    It's the football season, and guess no one can escape from it. No, not even this blog. I'm deeply hurt to see the English drop out of the tournament in such a manner - after they played so brilliantly even with ten men for a full 120 minutes. Aah, thats fate. Destiny. Whatever.
     
    I recently noticed that Microsoft has released a small Scoreboard for Genuine Windows customers. It's so typical of Microsoft. That look-at-me design and simple UI. Their designers sure know their job. No, programmers don't get the credit for this one! After all, its idea -> design. Okay, I admit its all probably Expression and Visual Studio behind it, still, you need to use them right ;)
     
    It also sports a handy RSS feeder. I guess we must get used to seeing RSS support in many applications from Microsoft in the future. It's very thoughtful.
     
    If there is one man to blame for England's exit, I'd say, without hesitation, will all due respect, that its Frank Lampard.

    Some things are meant to be

    I'm not gonna say "I'm baaack!" again. For, I expect this trend to continue. Short bursts of activity when I'm umm, free? Whatever the case, somethings are just meant to be. Say, like Google's betas? ;)
     
    A lot of people shot at Microsoft for going all out on betas and all, but I'm so pleased to see many of their services like OneCare and Windows Live Messenger release out to the wild. As is always said, the best way to answer is not by words but in action. And hasn't Microsoft been doing that for years!
     
    Also, the Windows Genuine Advantage programme seems to be very promising, and I really do not agree to claims from legal copy users that it intrudes privacy and all. After all, just as you agreed to Google's robotic scanning of your email content and advertising accordingly, only computers are going to read your system configuration data. Microsoft has promised not to misuse that information and keep pinging back at you. You have to trust them - your system depends on it. Don't tell me you will go to Linux and start using OpenOffice! We won't believe you.
    June 07

    The Return of the .. uh .. King?

    I'm baaak!
     
    It's been a while, hasn't it? It's so nice to note that the guys at Windows Live are doing a quick job at getting feedbacks implemented and are committed to improving performance. Favourites is cool and I am sure will get increasingly more useful as more and more people want personalization wherever they go. It's just super cool browsing through the photos at Flickr easily from your Windows Live page. I just picked up this cool photo from there: rosy copy. Great, isn' it?
     
    And one thing the folks at Google must realize is that all content cannot be delivered by bots. Take their Google News, for instance. Who uses it? Surveys show that news picked my human editors like in Yahoo! is preferred by 99% of the people. I guess its time Google stops the breadth first deployment of services and instead concentrates on existing products/services. Even Google Video is overshadowed by You Tube.
     
    GMail isn't far from threat too. Windows Live Mail an Yahoo!' new mail interface will ensure all customers stay with them, if not increasing the user base. With swift response now offered by both Microsoft and Yahoo!, GMail can no longer live with its crude interface. It will just exist.
    May 19

    C# or VB.Net? I cannot help you choose

    C# or VB.Net you ask? I say either. Then why the heck is this here? I will tell you.

    I will say what you are probably hearing everywhere first: It's just a matter of preference really. The difference is so trivial and little, that in business projects, it really doesn't matter which language is chosen for coding. The database transactions will slow down the code to an extent that the performance difference between C# and VB.Net - if any - is nullified. On a more personal take, I frankly think VB.Net is being maintained only because at the time of launching .Net, VB was the most extensively used development platform in businesses.

    On a more technical note, I would say C# - as in all C? languages - enjoys more power in the form of unsafe code, better compilation, etc - albeit trivially. VB.Net on the other hand, had a super cool IDE, great intellisense, easier refractoring and reports say it takes 20% less time to code in VB.Net using Visual Studio than in C#. Another tilt in favour of VB.Net could be that it has more of an intuitive flow in it. It's almost like just talking to the IDE. Dim o As Object is more intuitive to some than a Object o;. This really helps if you are a not-so-geeky programmer and just wants to get things done. And in feeling comfortable. If our code is more readable, we can work longer, and without even realizing it we would feel much better. Trust me, I am a C# programmer mainly and I have had to do a lot of partial projects in VB.Net. I was certainly more productive in C#. Not that I didn't know the VB.Net way of life - when I sat down and thought about it, i realized it was, indeed, the readability. It was the 'feeling'.

    One thing the C# guys could have done is made the semicolon (;) an optional entity. Come on, are modern day compilers so dependent on that tiny little semicolon for lexical analysis? Pure performance wise, the MSIL generated for a C# code is usually much smaller than an equivalent one for the same functionality in VB.Net.

    We are really limiting ourselves if we study only one language, on a side note. As my title says, I cannot help you choose. Spend that extra week learning the language you don't know. Then decide. It's very important that you fully understand both sides of the story before saying this is the better one as far as I'm concerned.

    In one line, VB.Net is for productivity and C# for power/performance. VB.Net can be freely used in businesses and come to C# if you want to create games, and other hardware intensive stuff. Stay away from C++ as much as possible, seriously. Not that these differences are significant enough to partition the languages. Well, I told you I cannot help you choose!

    Microsoft and Open Source Software

    I picked this up from Microsoft's Shared Source Initiative website. A lot of people have this idea that open source means Linux and hence its a war between the open source community and Microsoft. As the following text clearly speaks out, it is a combination of the two that is to be desired.

    "Microsoft has been learning from the OSS community regarding the benefits of deeper collaboration and increased transparency leading to better communication with customers. We believe the most effective pathway for a commercial software company is to strike a balance between investing in research and development and the release of intellectual property assets in the form of source code for both reference and collaborative purposes.

    The increased competition resulting from the proliferation of OSS has been constructive for the industry as a whole. The implications of OSS within multiple market segments are causing organizations to figure out what is most important to them. It has placed a higher premium on innovation and a drive to deliver greater value for lower costs. The big winner in this equation has been the software consumer, whose choices have increased dramatically.

    The Shared Source Initiative is the manifestation of these factors within Microsoft. With more than 80 source code offerings being used by more than two million developers, Microsoft is looking to apply the best of open source while helping its customers avoid many of the model’s pitfalls. There is no one, correct way to create software. The ecosystem as a whole will benefit from a rich tapestry of development, business, and licensing models."

    Try. Catch. Finally.

    try { various blog services }
    catch { lots of clumsy features }
    finally { came to msn spaces, fully knowing its limitations }

    I'm happy to be back where it started. This was probably the first blog service I checked out and then gradually moved on to evaluating others and the blogging interest faded from me for sometime. Now I'm back (applause). From whom you ask? It's all in the mind. All in the mind, my friend.

    Better late than never!