Monday, February 27, 2006

Never ever "GO" with GoDaddy

In the past few years I have used many webhosts but the most pathetic of all has to be GoDaddy. Never ever buy the GoDaddy webhosting. If you want an over restrictive account where you cannot do anything please go with it, otherwise stay clear of it no matter what. I have an ASP hosting and a Linux hosting account.

I could not load any application on the webhost and at last I had to load wordpress to host my website. I would have been happy if PHP worked without errors, but it took me days to get wordpress up on the website. After going through many forums on wordpress and godaddy I finally figured out the hacks to install it on GoDaddy.

I would still be content if all this worked but no plugins can be loaded in wordpress 'cause of the over restrictive hosting policy. Then to top it all after every few pages you will see mysql errors on the website, 'cause the connection to the mysql server gets lost every now and then. All this when there is not much load on the website.

Once the site got slashdotted and all I could see was "Service not avaliable" and that too within the first hour of being slashdotted. And that was when I was using plain HTML around 3 months back. Had I got the PHP based scripts I doubt it could stand more than 100 people and most visitors would be reporting the now famous "mysql server error" which is normally caused by overoad.

The control panel on GoDaddy has to be the worst of all the webhosts I have used so far. It seems to timeout after every two minutes. It looks as if it was designed about 10 years back and never updated after that. I have been trying to create a subdomain and its already been 30 minutes since I started it. To add a subdomain you need to click atleast 10 times. After every option it has to confirm "Please review your sub domain information. If everything looks OK, click Add to add the sub domain to your hosting account." And the best part the domain is not created the moment you confirm but it becomes a "Pending Setup".

After all this frustration I finally shifted to dreamhost and so far the account is really good. Right now I only have one website there, I will soon shift the others when I get some free time.

Technorati Tags: ,

Sunday, February 26, 2006

And the Microsoft Oragami project is..

I still don't know what it is but as far as the story that is developing it seems like a tablet. Something like the Nokia 770. It could very easily be a small little device just like the Nokia 770. It does make sense for Microsoft to develop such a device, but then again it is just plain speculation and the real device could turn out to be something different.

So far the my next best guess has to be a device similar to Nokia 770 which runs a modified version of Win CE, with Wifi  and all the cool stuff you can think of. But then again it could also be a device like the Sony PSP. The reason to come into these markets seems like a good idea. Since they are still not fully developed it makes sense to put your money into these markets. But again this is pure speculation.

Technorati Tags: , , ,, ,

Saturday, February 25, 2006

What is the Microsoft Oragami Project?

My best guess is that Oragami would be a Blackberry like device or I could be horribly wrong, but I guess we would have to wait till march to know what actually this Oragami project turns out to be. Right now all you see is a flash presentation on the website.

Technorati Tags: , ,

Thursday, February 23, 2006

And another year comes to an end

Today has been just another normal day. I guess I don't feel anything different just the same old me but another year added to my life. Somehow this birthday has been like any other day of my life, the same old usual stuff nothing beyond the ordinary.

Google Pages first look

I just made a webpage on googlepages. For people who have no idea about HTML and want to make a webpage it might seem like a good place. What I hate about google is there simple color scheme. It looked fine for a while but now it sucks. It almost reminds me of AWT in java. The only reason why Java failed badly on the desktop was 'cause of AWT. By the time they launched Swing the boat had already sailed. The same goes for google, they are trying to build more and more tools with the stupid looking color scheme. Most of their tools look really cool when they are launched but soon loose there fizz after a few days.

Google has some very good products in its kitty but the only one google has actually developed and the one I like is GMail and search and sometimes googlenews. The other products just seem to be concepts which are cool but very few people actually use them more than once. I like there services like Google Earth and Blogger, but the truth is that they have bought it and not developed it.

With so many people who are capable of creating magic working for Google I just hope they are creating something that has not been seen so far. Guess with the money and the talent pool they have, google can create magical things. But still waiting for those killer applications.

Technorati Tags: , ,

Monday, February 20, 2006

Deltree in Windows XP

If you are like me and sometimes still use the command line to delete stuff and you miss the deltree command here is a batch file which does the same.

Save the contents in your %WINDOWS% directory and name it as deltree.bat
@echo off
del /s %1
rd /s %1
You can also use del /s /y if you do not want the prompt, but that could be a little dangerous.

The other problem I seem to face nearly everyday is the LS command. Since there is no inbuild LS in Windows XP here is a simple LS for windows.
@echo off
dir %1
These are batch files I use normally and I know its not something out of the world but it makes things simpler for me. So I thought I would share it.

Really cool concepts in WebSite design

I was surfing along today when I found these two amazing websites. You need to check them out. The first one is this is a really cool concept. You need to try it out to believe me. It lets you vandalise any site you want.

The other site is basically a desktop inside your browser. I mean the guy has developed a complete desktop inside the browser. Though this site is made for IE only you still need to give it a shot. Just click and enjoy. It even crashes like the real windows.

Saturday, February 18, 2006

Somewhat unusual day today

I finally finised one of the projects. It is a really good feeling to do that. This is a pic of mine when I was a kiddo. I was playing around with my camera and clicked this picture from a photo frame in my parents room. This was taken in Shimla in 1989 after my winter vacation. If I remember correctly I had to go back to hostel after this pic. I have certainly changed since those days. Just being nostalgic. Also I have really started liking the DOM. And just figured out that nearly every language has a DOM library. I had downloaded these libraries around 3 years back but never used them as I thought it was a waste of time and I was better off using my own library. My own library was never this good but it was easy to use.

If there is a flavour of BASIC around I would have used it at some point of time. I was surfing the net and came across Rapid-Q. It is a basic compiler that, okay I know compiler is the wrong word for it but it was one of the few things after which I started EzBasic. Also went over to RealBasic, they are the guys who bought over rapidq in 2001. They also seem to have a new version of their cross compiler.

In the past few years I have worked on many languages but somehow I always seem to come back to BASIC. Most people who "consider" themselves to be on a higher level would not touch BASIC with a barge pole. But the best part of BASIC has to be the way it handles strings. It might be slow but the ease of using it is beyond anything I have used. Doing the same stuff in C/C++ is a real pain in the backside. The newer languages and frameworks seem to have learned it and have a string as a datatype. On the topic of strings one of the longest and the toughest class to implement in EzBasic has to be the string class. Just have a look at the code and you will be amazed at how things are managed inside when you use the string datatype in .Net of Java.

Friday, February 17, 2006

Frontpage will not be a part of Office 2007

Frontpage will not be included in Office 2007 when it is launched. This does not come as a surprise as they have launched express editions of Visual Studio which takes care of the web programmers. They are also launching expression studio for the web designers.

Anything and everything about CSS

If there is one thing which has taken time for me to get into my head it has to be CSS. The problem in this case had to be tables. Let me explain it in a little more detail. When I would design web pages earlier on, all I could think of was a table and pages would be laid out using tables. The only problem there was that tables were never meant to postion things on a webpage.

If you have used tables to postion things in the past it is really tough to unlearn so much stuff. Only once you let go of whatever you have learned and think from scratch that you can use CSS. All I can say is that once you start thinking beyond tables you can make really good looking and functional sites that can work across platforms and devices. If you've never used tables or you are just starting out CSS would not be all that daunting.

If you plan to learn CSS here are a few sources you need to check out.
  1. A List Apart: This is a site for people who make websites :) stole there tagline. Anyhow really cool samples and also ways to get over the tables hangover. The tables hangover is a realy tough one to get over with.
  2. Sitepoint: Another great site with great tips and tricks. Has some of the web designers who write for them. Great articles.
  3. CSS Play: This is a personal website but has great samples in a very clear and neat manner. The samples are simple and beautiful.
  4. CSS Zen Garden: This the one site which really started it all for me. You really need to see what designers are capable of using CSS. I do check this site often to see the crazy stuff designers are capable of.
  5. Quirks Mode: This is a personal website but this guy writes great stuff. CSS/JS and nearly everthing and anything to deal with web designing.
  6. Dean Edwards: This is again a personal website but this guy also writes a lot about CSS and again really cool stuff.
This are many others that I seem to be missing out right now. Will add them as and when I remember.

Technorati Tags: ,

Thursday, February 16, 2006

Office 12 will be 2007 Microsoft Office System

When the next version of Microsoft Office is released it will be know as 2007 Microsoft Office System. The year has been brought in front :), guess after launching Microsoft Office Live which after thinking a lot and reading a lot I finally figured out that it had nothing much to do with 2007 Microsoft Office System. Even though both of them seem to have a similar sounding name but they are totally different products.

The new Microsoft Office Live is meant for small business which have less than 10 employes. This service basically allows them to design there own website and also get email address with there domain name. Even google seems to be going that way when they launched a service to integrate your domain name to their email service, plus they also seem to be designing an AJAX enabled webpage editor.

As for the 2007 Microsoft Office System it is the Microsoft Office people have been using. In addition to the regular Word, Powerpoint etc. they are adding two new applications.

Technorati Tags: ,

Wednesday, February 15, 2006

Never ever forget the ContentType header when using POST

I have been working on this project that involves sending content from the client to a web server. Actually there are two different projects which were hung up because of one simple ContentType header. Here is the line of code that I was missing out which was causing so much problems for the past few days.
m_WebRequest.ContentType = "application/x-www-form-urlencoded"

I had to document it or else I would forget it as time passes by. This is a project but the same mistake can cause problems in an AJAX scenario when you are trying to post data. If for some wierd reason you feel that your post data is giving you trouble while it works fine in the web browser set the ContentType header.
Technorati Tags: , ,

Submitting a form while automating IE using

If you are planning to automate IE using and you have previously used WebBrowser control as an ActiveX control you could very well be surprised. You just might feel restricted using the System.Windows.Forms.WebBrowser control compared to the ActiveX Control. The first and the biggest problem you might face is that the System.Windows.Forms.WebBrowser is very strongly type checked, which makes things like in the example below impossible to achive.
AxWebBrowser1.Document.forms(0).q.value = "foxpose"
Using the newer managed control you need to use the example given below.
WebBrowser1.Document.All("q").SetAttribute("value", "foxpose")
This took quite a lot of my time yesterday. I hope this code somehow helps someone out when they are programming the new managed control in .NET 2.0 Incase you want a more detailed example just leave a comment and I will modify the post to include a more detailed example.

Technorati Tags: , ,

Tuesday, February 14, 2006

MSXML Using MSHTML and IPersistStreamInit to load documents from memory

The basic code to load any string and convert it into a DOM tree which you can easily manipulate using or C#. Once you load the HTML code you can use getElementById and other functions to manipulate the document.This code can be used to parse a HTML document in

Private Function LoadHTML(ByVal value As String) As MSHTML.HTMLDocument
Dim clsDocument As New MSHTML.HTMLDocument
clsDocument.createDocumentFromUrl("about:blank", vbNullString)
DirectCast(clsDocument, IPersistStreamInit).InitNew()
Dim ptrValue As IntPtr = System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(value)
Dim clsStream As System.Runtime.InteropServices.ComTypes.IStream = Nothing
CreateStreamOnHGlobal(ptrValue, True, clsStream)
' load the content into the browser..
DirectCast(clsDocument, IPersistStreamInit).Load(clsStream)
Return clsDocument
End Function

You also need to add the following code to the class you are going to use LoadHTML function.

Import System.Runtime.InteropServices
Public Enum HRESULT
S_OK = 0
E_NOTIMPL = &H80004001
E_INVALIDARG = &H80070057
E_NOINTERFACE = &H80004002
E_FAIL = &H80004005
End Enum
<ComVisible(True), ComImport(), Guid("7FD52380-4E07-101B-AE2D-08002B2EC713"), _
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IPersistStreamInit : Inherits IPersist
Shadows Sub GetClassID(ByRef pClassID As Guid)
<PreserveSig()> Function IsDirty() As Integer
<PreserveSig()> Function Load(ByVal pstm As ComTypes.IStream) As HRESULT
<PreserveSig()> Function Save(ByVal pstm As ComTypes.IStream, _
<MarshalAs(UnmanagedType.Bool)> ByVal fClearDirty As Boolean) As HRESULT
<PreserveSig()> Function GetSizeMax(<InAttribute(), Out(), _
MarshalAs(UnmanagedType.U8)> ByRef pcbSize As Long) As HRESULT
<PreserveSig()> Function InitNew() As HRESULT
End Interface

<ComVisible(True), ComImport(), Guid("0000010c-0000-0000-C000-000000000046"), _
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IPersist
Sub GetClassID(ByRef pClassID As Guid)
End Interface

Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As IntPtr, ByVal fDeleteOnRelease As Boolean, ByRef ppstm As UCOMIStream) As Long

I got the basic idea from Balaji's blog which he got inturn from sp!ke. This code has been slightly modified to work in Visual Studio 2005.

Technorati Tags: ,

EzBasic the project that could be

In a way I have forgotten a lot about EzBasic. I have spent around a good 3-4 years on getting the concept right. But with so many things happening I left it in between. The project still has a lot of potential but again like XUL since there are little or no examples no one has been able to see the real potential of the project.

I have always wished to get a working edition of EzBasic on linux using wine but without putting in some more time that is not really possible. I was also planning a XUL like language for EzBasic. But I guess this whole project will stagnate as I will never be able to devote the kind of time the project requires. I am still not saying that the project is dead but I will try to revive it as and when possible.

These days most of my effort is in designing and developing web based projects and EzBasic is not web based in any sense. It needs a few tweaks and EzBasic can be ready for primetime. The amount of memory that EzBasic takes makes designing applications like uTorrent possible without too much effort. Though I need to clarify that uTorrent is not made using EzBasic. I am just taking it as an example of a really tiny little application that just works.

I wish I had more time and I was a little less lazy :). I would certainly like to float a couple of samples that show the real power of EzBasic + JS + XUL. I just hope I can do it sometime. But incase something like this comes up it would really be mind blowing. The ability to design complex GUI's using simple to use tools.

I will only take up this project once I am done with the work I have currently in my hands.

Nothing great about today

When I left my job, the first thing I had decided was that I would keep a log of whatever I was doing. That is exactly where this blog fits. I had planned of writing down whatever happened during the day. Any special site I have visited or any event of that day. Guess with time I forgot all that and got busy with a lot of things.

At the end of all this I still fell that even though I never ever have time I am not getting much out of life. So I guess I really do need to document whatever I do with a greater detail as and when possible. So from today (i was going to write tomorrow) onwards I will document every tiny little detail of whatever I do.

These days I am creating a few plugings to convert POP3 into an Atom feed. Not only POP3, but you will be able to generate Atom feeds out of hotmail and yahoo accounts. I choose Atom as Gmail already has a Atom feed so makes it simpler to use it.

I wanted to write more about the inner workings of this project but I guess that would be for another day. I have not been able to work much on my own projects. Be it dotbeta, forum software or a couple of other software I am developing. I have my hands in way too many things and the end result is that I am not getting much. I need to concentrate on one project and complete it. Once a project is finished it is kind of fulfilling.

Most of the projects I am doing pay little or nothing but I guess the amount of things I am learning is quite immense. I am really hopeful of XUL as a platform. Somehow if it’s cleverly marketed and is presented in a manner a normal programmer can understand, it can hit big time. But the problem right now is the kinds of examples that can make people take notice of it are really small in number. I really wanted to create the XUL based backend that could be as an example for what the real power of XUL is. I need to finish of my pending projects before I can jump into it. Just wish some of the projects could come to a logical end.

This post is purely about the random thoughts as they come to my mind. So if by any chance you are reading about it all I can say is that I am surprised that someone could take the time to read all this.

Monday, February 13, 2006

Run IE7 Beta 2 Standalone in 5 easy steps

The IE7 Standalone mode is not offically supported so try this at your own risk. Use this only if you are a web designer and wish to see how your pages will render in IE7. If you want the full features of IE7 the best option is to install it without using this hack.

1) Download IE7 Beta2
2) Rename the file IE7B2P-WindowsXP-x86-enu.exe to
3) Open the file using WinZip or WinRar and extract the contents to any directory eg: c:\IE7
4) Create a new file IE7.vbs and copy the code given below into it. Save it into the directory where you extracted the files and save it as IE7.vbs

Option Explicit

Dim objFSO, objReg, objShell, tf, obj

const HKEY_CLASSES_ROOT = &H80000000
const HKEY_CURRENT_USER = &H80000001
const HKEY_LOCAL_MACHINE = &H80000002
const HKEY_USERS = &H80000003

Sub DeleteRegistryKey(LNGHKEY, strSubkey)
    Dim reg, aSubkeys, s
    Set reg = _
    reg.EnumKey LNGHKEY, strSubkey, aSubkeys
    If Not IsNull(aSubkeys) Then
        For Each s In aSubkeys
            Call DeleteRegistryKey(LNGHKEY, strSubKey & "\" & s)
    End If
    On Error Resume Next
        reg.DeleteKey LNGHKEY, strSubKey
    On Error GoTo 0
End Sub

Set objReg   = _
Set objShell = CreateObject("WScript.Shell")
Set objFSO   = CreateObject("Scripting.FileSystemObject")

Call DeleteRegistryKey(HKEY_CLASSES_ROOT, _
Call DeleteRegistryKey(HKEY_CLASSES_ROOT, _

objReg.SetStringValue HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Internet Explorer\Version Vector","IE","7.0000"


Set tf = objFSO.CreateTextFile("IEXPLORE.exe.local", True)
tf.Write (" ")

objShell.Run ".\iexplore.exe about:blank"  ',, true
WScript.Sleep 7000


objReg.SetStringValue HKEY_LOCAL_MACHINE, _
"SOFTWARE\Microsoft\Internet Explorer\Version Vector","IE",""
Call DeleteRegistryKey(HKEY_CLASSES_ROOT, _
Call DeleteRegistryKey(HKEY_CLASSES_ROOT, _

5) Now double click IE7.vbs to use IE7. You can also create a shortcut for IE7.vbs

If you want to use a batch file instead of a VBScript file you can try this out. I take no credit for this script. I just converted the batch file into a VB Script, for more information check this out . The main reason for using a VB Script file was that when you use the batch file a console window remains open till IE7 is being executed. The other reason is that when IE7 is being extecuted IE6 will not work. If you use the VB Script you can use IE6 and IE7 at the same time.

Technorati Tags: ,

Thursday, February 09, 2006

New theme and colors

I junked the old theme and made this theme from scratch. The good thing about this theme is that it has no tables. It uses CSS to position all the elements on this page. If I was told to make a 3 column layout about an year back I would have used tables no matter what. This time I stuck to the basics and used no tables at all. I am no designer but I still like the simple design that it has turned out to be.

I have used a single font for the complete site. Plus the biggest reason for changing the theme was that the older design was fixed. Most designs that are fixed are designed for 800x600 resoution. This design is designed for any resolution and it can be easily handled by most handheld devices. I forgot to post this in the last post, but the other reason to junk was that most of the themes there are fixed which makes everything look so cramped.

In the earlier theme I had just pasted the adwords code, but this time around I have made sure that all the colors match, and the adwords look like a part of the site. On most sites adwords look more like an alien space ship on the site and less like a part of the site.

Technorati Tags: ,

Wordpress Vs Blogger

After remaining stuck with the old boring theme for around 1 year. I made the current theme from scratch. I had to decide between wordpress and this current blog. I tried to change the theme there but the maximum I could do with wordpress was to change a few themes and not design my own. I have used wordpress on viamatic and I use it more as a cms and less as a blog. But the account that they are giving at is nothing compared to the real thing.

If you want to build your own blog and wish to configure it the way you want blogger is somehow the right tool.

Technorati Tags: ,

Wednesday, February 08, 2006

XUL & AJAX a match made to last

I have talked about it earlier but never got the time to make it happen. In the next few days I will start the project once I launch dotbeta. I had worked on a site eastern serenity around 2 years ago. We had implemented a shopping cart a lot of other things from scratch. But in todays context the site is a little dated. It uses tables and it is not very well optimised for SEO. I will try to convert it into a table less website and also lets see how far my SEO tip and tricks work on that site. Currently it has a PR of 4. The site has a lot of very good content but very bad SEO. Lets see how far I go on with this project.

That is one part of the project, the other part is to convert the admin area into XUL based web application. It would be a showcase of how a web application can be converted to XUL and why it is productive. I will setup a domain where you could play around with the sample admin area completely developed using XUL and AJAX. Stay tuned using the Atom Feed

Technorati Tags: , ,

Stylish is a really cool extension

I guess you will be hearing about this extension sooner or later. I mean this extension seriously kicks ass. Will try and post something here or on viamatic maybe a stylesheet. I have heard so many people who have wanted it to happen but were never able to do. I hope I can get it out before I launch dotbeta. Its really sad and bad that I have still not launched dotbeta and nor put up content on viamatic.

Technorati Tags: , ,

Deepest Sender a cool blogging utility and Stylish umm..

Today was quite a long day. Its 2:30 AM in the morning. So it is definately loooong. Just got a free day pass on . I checked it out later that everyone was getting a free day pass. I was thinking of developing two extensions. One was a blogging utility but I found something very similar to what I was wishing for "Deepest Sender".

The other extension I was thinking of was a skinning extension. I found stylish and that was one of the cool little extension I wanted to develop. This extension is almost perfect. Even though I develop extensions but I don't use more than 3-4 but these two are a must have extension no matter what.

I hope to change the look and feel of my blog. Add a little more spice to the blog. I guess I will be blogging more now as I have finally found what I was looking for "Deepest Sender". Sounds like a U2 song. :)

Technorati Tags: , , ,

Monday, February 06, 2006

This is my pic

I was testing out blogger today. Wanted to see how I could upload a picture. If you see my picture here I was able to do what I wanted.

Technorati Tags: , ,

PR 6 to PR 0 and back again

I was a little shocked to see some of the pages on my site dropping from PR 6 to PR 0 in a day. I don't use any crazy methods to increase my PR. So last night I wasted nearly 2-3 hours to figure out the reason for the change in PR. Did quite a lot a research and was a little shocked to see such a drastic change. The page rank of this blog was down to 0 from 4.

When I woke up today I saw my page ranks restored to the original values. So I guess it was a temperory glich that was causing the problem.

Technorati Tags: , , , ,

Its 2:30 AM and I am awake

I just hope I can get dotbeta up and running as soon as possible. I hope I can get it up by tonight. A little wishfull thinking :)

Thursday, February 02, 2006

The rise and fall of foXpose

Before I talk about anything else I need to clarify a few things. foXpose != Expose nor is foXpose a copy of Quick Tabs.

foXpose was started in August '05 and finally saw the light of day sometime in November. It started out when we laid our hands on DeerPark and the new canvas component in it. We developed an extension which shows thumbnails in tabs and also another extension that would allow you to view all the tabs on a single page.

We named the thumbnails in a tab as Thumb Tab. No one liked the name and finally we had to change it to TabNail. Viamatic foXpose was another extension we had developed but never released as we thought that no one would use foXpose if they were using TabNail. Reluctantly we released foXpose as there was very little response to TabNail. Even today I feel TabNail is a much better concept than foXpose, and I still use TabNail more than foXpose.

The thing with TabNail is that it requires time to get used to, while foXpose runs without changing the way you work. It’s more on demand and less in your face. The other problem with TabNail is that it does not work with other popular tab extensions like TabMix Plus etc.

Internally foXpose was named as Xpose because it exposes hidden tabs. But we finally named it foXpose as it would be used with firefox. So the final question would be is it a copy of Expose. The simple answer NO. I have not used OSX till date. Earlier on its release we were going to name it EzTabs but had we named it EzTabs then we would be blamed that it is an exact copy of Quick Tabs. It is defiantly a funny world 

Technorati Tags: , ,