Note: This blog has been moved to

Saturday, May 27, 2006

[GMail]Dotty Dotty Addresses....

Well, I'm writing about something else, but I guess I just can't wait to post this. Here's a neat trick that works for GMail Addresses... Well, it looks like GMail removes dots[.] from the address! Well, this means you can give out an address like, and it'll correctly deliver the mail to! Well, I've tested this, and it works. You can put as many dots as you can, and it won't complain as long as the dots are not after the last character of your username. So, got it ? Happy Emailing, and I'll want all your comments:D

Wednesday, May 17, 2006

[Tech]Aha! The Long awaited one...

Well, I've been really really hoping that Microsoft comes up with a killer. No, GotDotNet killed itself. It was plain pathetic. A case study of what not to do.

Well, now we have Well, it's still in Beta, has a good number of bugs, and returns less than 3 Pages of Search Results at Google. What this means is that very few people know of it's existence. Infact, Microsoft plans to unveil it in Late June or Early July...

 There are only 19 Projects there, all Microsoft Projects, which says something... But, you just can't go and register a new project there right now: That's why it is called Beta. But, it runs on Team Server, which is awesome. So, this means I get good integrated Source Control. Amen:D

Right now, the Major one there is IronPython, the Python Implementation for .NET. It's not yet moved from GotDotNet, but I betcha that anybody will ever wish GotDotNet back alive....

And, for me, I'm moving Rayo to CodePlex when CodePlex moves to Production. Well, maybe because I'm a Microsoft Fanboy. Or, maybe because I like Green color:D

Sunday, May 14, 2006

Yikes! First Anniversary!

Yikes! I made it. Today, and this minute, marks the first Anniversary of me starting Blogging. It seemed a pretty short time, but one year has already been over. And, what a Year has it been! I've started blogging, Got a Brodband Connection, started and abandoned numerous blogs, started using Avant, predicted, unwittingly and unknowingly, that the Apple Mac OS X will run on a PC, [Scroll down to the End], became a Microsoft Student Champ, went for my First trip outisde of Home/School/Couple of other Places, got myself a Green Karate Belt, Got myself a 1 GB USB Pen in a Move I never thought I can do, made my Predictions for 2006, which are 100% true, even now, drooled over Vista, Changed my Blog Title, had a Really RTOFL experiance doing Tech Support, Tried Linux, Didn't like it the first Time, Ranted over Stupid Programs, Tried Ubuntu and saw it ruin my System, Tagged, and Got Tagged, Cried over Herlequin Icthyosis, Moved over to GMail, Talked with a Spammer, Got myself 80 CDs of Linux, Started a lot of writing Tech Posts, Finished my Public Exams, Tried NetBeans, Wrote a Complete Interpreter, and most of all, confused myself with a lot of things and gained a lot of Experiences.

Thanks fly out to Sudar, Aswin, Sunil, Saurabh, Sharath, Sab, Ammu, Dad and everyone whom I know and do not know. Thanks people! You've made my life (Infinity)x better. Thanks.

Well, that's it. It's been lots of Hyperlinking around, and I've been having a great time. And, thanks to lots of people, I hope I will continue having a great time. And, that reminds me, that I have my Public Exam Results due out next month first week[Shudder].

Technorati Tags: , , ,

Wednesday, May 10, 2006


Hi people. I'ven't blogged for about 2 days now. That's because I'm busy teaching Saki. Well, Saki ? Well, Sunil's friend is Amigo, and mine is Saki:D Well, in an area, she's less powerful than Amigo, and in some more. Like, Amigo is 64 Bit, but Saki is only 32 Bit, and doesn't have HT. But, she's quicker than Amigo, since She's got 1280 MB of Memory, over Amigo's 1024 MB. And, she can store more, because she's got a 240 GB Storage, over 200 GB of Amigo:D And, she has a really awesome nVidia GeForce Grafix card.

But then, she's all White and a bit blue, but I haven't taken care of her looks lately, so she's a bit dusty in places. But, her only chink in her armor is her 7 Year Old 14 inch Monitor, which looks like it won't be replaced till it disappears in a puff of smoke. But then again, she's like me, and doesn't care about looks, so does not complain:D Oh, and did I mention that she can watch TV as well, with her TV Capture card ?

She runs on XP SP2, but doesn't look anything like XP : Though she doesn't care about her outside looks, she does care about her Inside : Yesterday she was looking like that sexy diva Mac OS X Tiger, and today, she's filled with Dragonz. And, she just runs anything and everything fine, and her buttons and Tabs are really coool looking. I just love those Tabs, and had a nice fight with Aswin over why Swing didn't support her Crazy Looking Tabs:D

Well, I don't have a pic, because I don't have a cam, because the 10th Exam results are not yet out, because it's not yet June:D And, If I get School first [Probability:0.1], then I'll get a cam... Till then, Saki will not do Modelling:D

So, I just named my PC, as I always wanted to after Sunil named his PC. Stay tuned, I've got more Tech Posts coming...

If you've managed to read till here without nausea, schizoperania and boredom, leave a comment:D

Technorati Tags: , , ,

Sunday, May 07, 2006

[Tech]VB.NET Scripting

Hi guys. Lately, I've been into a number of Late Bound, Dynamically Typed Languages. But, the .NET Framework itself ships with two Dynamic Languages. One is easy to spot, in the form of JScript.NET. But, the other one is much more mainstream and harder to spot: It's VB.NET. Yes, VB.NET can be turned into a Dynamic Language with just TWO Lines of Code. Well, I know many VBers know this, but for those who don't here are those 2 lines:

Option Strict Off
Option Explicit Off

Well, I know turning them on is considered a good practice, and they are on by default. But, setting them to off lets you do some pretty amazing things, like :

d= 100
console.writeline(d.GetType) 'Prints System.int32

d = 123123123123123
console.writeline(d.GetType) 'Prints System.int64

d = "Hello Guys!"
console.writeline(d.GetType) 'Prints System.String

d = new System.Diagnostics.Process
d.Start("cmd.exe") 'This ACTUALLY starts a new a new Command Window
Console.Writeline(d.GetType) 'Prints System.Diagnostics.Process

So, the type actually changes every time you assign something to it! Well, that's not amazing, since you can just do the same in C#. But, it's elegant, without casts[which I absolutely hate]. So, this is called
Late Binding

And, variable d is not declared before. Well, what's the advantage of this ? Well, nothing. Although some people will say that Boxing and Unboxing along with Late Binding will slow down performance, I don't think that will be very noticable unless you're doing some very deep recursion or nesting.

Only catch is, as of now, VS won't offer you complete Intellisense, and Late Binding uses Reflection, which is quite a bit slower. But, VB9 actually goes a really long way into solving these problems. Have a look at the VB Future section at MSDN for some more cools tuff about VB9.

And, what is the use of it ? Well, with this, VB.NET is the most powerful Scripting Language I Know
. How ? Well, the .NET Framework is all encompassing, and I can always call into the Win32 API if I want something not there. And, mostly, whatever I want to do, .NET offers it. So, why learn something new, when I can use a powerful language as my Scripting Language ? And, that too, a language I love:D

So, here's a small script I wrote, using my previous snippet to get thumbnails of images, to convert a folder of photos into 800x600 size, enough to reduce size without compromizing quality:

Dim s As String = "C:\School Pics\100OLYMP\Edited"

d = New IO.DirectoryInfo(s)
i =Drawing.Image
Console.writeline (d.FullName )
For Each f In d.GetFiles

If f.Extension.ToUpper.Contains("JPG") Then
Console.WriteLine ("Processing : " & f.FullName)
i = drawing.Image.FromFile(f.FullName)
i.GetThumbnailImage(800,600, Nothing, System.IntPtr.Zero).save _
(d.FullName & "\Thumb" & f.Name & ".jpeg", _
End If

Prefix that with a Module and Sub Declaration, and you've got a little neat script that runs fast, and converts everything in the folder I specified to my Size of 800x600. Well, try doing that in, huh, Batch Files, and see the pain....:D

Well, I'm investigating how latebound calls are translated to IL, and I'll post something about it very soon....

Till then, keep coming, and keep commenting:D

And, thanks for reading this rather long article...

Technorati Tags: , , , , , ,

[NetBeans]First Start...

Now, previously, I've written about my First Experiences with Installing Netbeans. I came out with a not-so-favourable Impression, but Aswin reminded me that It actually required a min of 384 MB of RAM. So, I'm not complaining. But, Still, I don't know why, Visual Studio 2005, which is far more bigger, is much faster on my system. Maybe, it'll change tomorrow, for reasons I'll post tomorrow:D

So, I started it up. Well, it took exactly 4 mins 25 seconds for the Window to show up, invalidated. Then, it took 3 minutes 13 seconds more for the contents to show up. Well, but then was my Complete Dismay : My Desktop is not a standard WinXP Desktop. Two days before, my System would've looked like OS X. Today, it's profused with Dragonz. So, I customize my Desktop a lot, and it Net beans doesn't even reflect my setting! My Tabs look different in NetBeans than in any other app. Well well well, what can I say? Nothing. I don't know anything about Swing, so I can't say anything about it....

But then, when I tried to create an empty project, it took some 3 or 4 mins to finish up. And, then, It took some 10 or 20 secs for a single CLICK TO REGISTER!...

Well, I thought the Minimum Requirement label was like how it was in VS 2005 : You can easily ignore it:D But, turns out to be otherwise... So, I'm giving up Netbeans right now, but not for long:D

Friday, May 05, 2006

[Tech]My First, No-Bugs Interpreter!

#Region "Marketing blah-blah"

Well, that Idea came to me yesterday. I've previously read about the HQ9+ Language, and I consider it to be the easiest to learn and teach language EVER. Like, I can teach it in 2 mins to ANYONE and they'll learn to use it to it's full Capacity! And, however hard yout ry, you just cannot make a Syntax Error! It's case-insensitive, just as I like it.

Well, I didn't design the Language. It was designed by Cliff L. Biffle, a Google Employee. Well, I can't find any decent Interpreters for it, so I forgot it....

Yesterday night, while deseperately trying to sleep, I just got that Idea : Our own HQ9+ Interpreter! So, first thing in the morning[Well, not exactly the first], I started up VS 2005 and started it. It was complete, with testing and debugging, in just 15 min!

It has some really great productivity featuers. Some programming tasks that take many lines and hours of code in other languages can be accomplished with a single character in HQ9+!

It's a revolution in Enterprise RAD! It helps to create added Enterprise Value to ehancing the productivity of your Enterprise! It is blah blah blah blah blah blah blah blah blah blah blah blah blah blah.

Download the code here, and the executable here, and be on your way to increaseing your Productivity Manyfold using our market-leading HQ9+ Interpreter!
#End Region

#Region "Truth"

Well, that's for Marketing. Real truth is, HQ9+ is an Esoteric Programming Language! Well, Esoteric Programming Languages are the perfect examples of Nobodyware as described by Eric Sink : The Developer creates it, but Nobody uses it:D So, the sole reason for it's existance is for the pleasure of the Creator...

Well, HQ9+ is pretty much the simplest Esoteric Language, so I implemented it.

Well, a small intro :

  • It has 4 Instructions
  • H, which prints "Hello World!"
  • Q, which prints the entire source of the program. Try doing this in C# or VB.NET, and you'll see how hard it gets:D
  • 9, which prints the Lyrics of the 99 Bottles of Beer Song. Note that since I'm creating an interpreter which must conform to the standards, I'm using this song.
  • +, which increments an internal accumulator. And, in consistent with standard Data Hiding Practices, there is no way to access that accumulator....:D
  • Everything else is a comment! This has the side effect that ANY English Text is a valid HQ9+ Program! This post is a Program! Heck, even the Shakespeare wrote a HQ9+ Program when he wrote A Merchant of Venice:D
So, here are some example programs :


This one prints Hello World! Twice...


This on prints the Lyrics of the Song 99 Bottles of Beer twice...


This stores the value 10 in the accumulator, and prints Hello World!


This prints Hello World Twice, then prints the program, hhQ9++h, once, then prints the lyrics of the song 99 Bottles of beer, increments the accumulator twice, and the n prints Helllo World again. Pretty simple, huh! :D

Well, I'll be writing more Examples after some time, since reading that Marketing Hoopla Section just made my mind swim....;)

#End Region

Anyway, just try it:D It's quite well commented, though no rocket science in that code...

Thanks, and keep the comments coming....

Technorati Tags: , , , ,

Thursday, May 04, 2006


Hi people. Now, I'm finally trying to learn Java, at the advice of Aswin and Sudar. Aswin reccommended Netbeans 5.0. Since I'm a download junkie, I had it already in my HDD, so I started the Install...

Not, such a good first Impression. The install options were simple. The Buttons looked almost real. But, I ran into lots of problems, though none of them resolvable by me..

First, the interval between me clicking the executable and the Install Window showing up was 6 minutes of intense Hard Disk activity. That's OK with me. Heck, VS 2005 took 15 mins for the main window to show up. But, it showed me a progress window. Well, I guess I should stop complaining...

The Install Program was good. Very Simple. Except that it tried to install the Sun Server in a non-standard path out of the Program Files Folder, which I had to fix. I was able to start the actual installation in about 15 secs....

But then started my Problems... The setup app spawned a java.exe process, which

  1. made 100% CPU Utilization
  2. Grew to over 150 MB!
  3. And, Invalidated all other Windows!
I can live with 1, I can live with 2, but I can't  live with 3.

#Region "Skip This If you don't like Theory"

Well, let me tell you about Windows invalidation. I do not know if it is the correct term, but I'll call it that anyway. I think you would have experienced this frequently : The Window turns white and the Title bar remains correct. Usually, this happens if the Window is so busy doing something that it does not respond immediately to the WM_PAINT Message. So, the Window is not painted, so it's all White. So, that window is invalidated. It mostly occurs when the app is doing some heavy processing, like in a very big and complex loop... Got it?

#End Region

So, what actually happened was, EVERY WINDOW GOT INVALIDATED! So, I can't do any work in any app until this half an hour Install finishes! They're all White, and they don't respond to clicks. If they do respond, they do so after, huh, 10 or 20 secs......  I do not know what is the cause of this, but I've heard that WindowsForms v1.0 used to cause this, but it's fixed in v2.0. Maybe, Swing too has the same problem.... I've gotta ask someone who actually knows Java about this:D

Anyway, so It's Installed in there. I've not yet started it. I'm looking for a good Java tutorial for, huh, let's say Dummies:D So, I'm writing a Series on how I'm doing with NetBeans....

So, thanks, and keep the comments coming.... I'd like some Java expert to tell me something about that Invalidation Problem....

Technorati Tags: , , ,

Monday, May 01, 2006

Why I am not using Captchas....

Well, recently, Aswin and logic said I should enable captchas. Well, I'm not going to, unless some things change, and change dramatically...

It's a matter of Scale. I get around 2 pieces of comment spam a week. And, it takes me 3 clicks to remove them. So, on an average, in one week, I'm spending 6 extra clicks on comment spam...

On an average, I get 7 comments a week. So, assuming an average CAPTCHA length of 6 chars, thats 6 x 7 = 42 Keystrokes! And, not to mention that a single mistyped keystroke will mean a new captcha...

So, at the current Scale and rate of Comment SPAM, it's 7 times more expensive on the average to enable Captchas! So, I'm not enabling them.... And, to anyone who's getting fewer than 4 pieces of Comment SPAM a week, I encourage you to disable Captchas and enable Anonymous Commenting.....

P.S. Well, maybe I'm reading too much Eric Sink and Joel Spolsky:D

Technorati Tags: , , ,

First Download in Rayo!

Yikes! I just got my First Download through Rayo! And, I interrupted it 6 times! But, the URL is hardcoded, but I think It's not going to remain the same for any long time....