I was working on a project using Visual Studio 2008 IDE and all of a sudden the dock windows started behaving funny. It won’t obey you when you try to dock any window in the IDE. Usability is hampered because when you type a long line you will need to move around the floating windows and use the scroll bar to see hidden code etc.,

The fix is pretty quick, reset the IDE using “devenv.exe /resetsettings” by running the same in the Visual studio command prompt.

{ 1 comment }

Problem context

I had fallen in love with the Bugzilla v3.2 and upgraded hastily to the new version without realizing that it had broken my existing Scmbug integration. As an immediate impact, all of  the precious auto check-in comments via Scmbug for the past one week has gone in the air.

Why did I lose the comments? Scmbug is not compatible with the new version of Bugzilla.

I did some googling today and found out that no fix is available as yet. Please visit ScmBug’s bug tracking system here and the scmbug-users forum thread here to validate this for yourself. 

I am still checking to see how this can be fixed to contribute to Scmbug and help Kristis Makris (the original author who wrote this wonderful tool and still maintaing it) to support Bugzilla v3.2.

Solution (I would call this as a 100% hack)

I am sure all us will backup the Bugzilla folder added to the web server and Mysql database before upgrading as a best practice. With the assumption that you have the backed up the old Bugzilla folder as bugzilla.old under the web server path, we will move ahead and hack the system to get Scmbug working using the steps below:

1.Stop the Scmbug service. I use RHEL and use the command service scmbug-server stop.

2.Stop the Apache web server using service httpd stop.

3.Edit daemon.conf for scmbug. In RHEL it is under /etc/scmbug. Change the installation_directory setting to point to bugzilla-old path.

4.Start scmbug and httpd services. Do a test check-in and you should start seeing comments added by scmbug in Bugzilla for the check-in done.

Have a good one!

{ 0 comments }

How to setup a WordPress development environment

by BabuA on December 28, 2008

Introduction

I wanted a good PHP IDE which provides auto complete functionality, popup PHP documentation in the code view and seamless debugging experience for my WordPress development. I evaluated many tools for WordPress development and here is the list which has worked well for me:

1. XAMPP – ApacheFriends have built this excellent installer bundle which provides an installer to quickly install a pre bundled Apache web server, MySql, PHP, PHPMyAdmin and Control Panel in one go.

2. NetBeans IDE for PHP – NetBeans provides an excellent IDE for PHP which allows debugging even an existing WordPress installation.

WordPress Development Environment Setup

(Please note that I am providing environment setup for Windows environment but the high level details and steps will not vary much in a Linux environment)

1.Apache setup: One of the main problems encountered on Windows installed machines is that if IIS is installed and running then the apache port for both HTTP and HTTPS will need to be changed to a different one from 80 and 443 respectively. Refer this link for details on changing the apache port.

2. WordPress installation: Follow the WordPress installation documentation via this link. It is simpler to use PHPMyAdmin to create the MySql database required for WordPress installation. The WordPress documentation has details on this.

3. Netbeans IDE configuration: Debugging PHP code is not an out of the box experience via the IDE but require some settings for it to work properly. There are many questions in the NetBeans forum regarding PHP debugging issues and this problem has been resolved. I myself had to do a lot of digging around and googling to get this working.

Here is the recipe to get the debugging working:

(If you get this message “Waiting for connection (netbeans-xdebug)” in Netbeans while trying to debugging then follow the recipe below to get it fixed)

1.Download and install the latest version of XDebug (Debugger and profiler tool for PHP) from here. At the time of this writing, I used PHP_xdebug-2.0.3-5.2.5.dll. Add this file into the <<php installation>>\ext folder

2 .Zend engine has some compatibility with Xdebug and NetBeans IDE combination. Go to Apache bin folder and open php.ini. Comment out all of the items under section [Zend] and add the following under section [XDebug]

zend_extension_ts=”<<xdebuglib path>>\PHP_xdebug-2.0.3-5.2.5.dll”

xdebug.remote_enable=On

xdebug.remote_host=127.0.0.1

xdebug.remote_port=9000

xdebug.remote_handler=dbgp

3.Follow this link on the NetBeans WIKI for help on opening  an existing WordPress instance in NetBeans IDE.

4.Add a breakpoint to any of the PHP server side code and try debugging. The recipe should have worked!

Cheers and happy WordPress development :-)

{ 3 comments }

Let us set some context: 

1.You have a set of projects created using VS 2005 targetting .Net 2.0

2.You use Nant 0.85 as the build system and use NantContrib 0.85 for msbuild task. 

3.You also have a new bunch of projects which you are building on VS 2008 targeting 3.5

Now the problem:

How do I have just VS 2008 to build projects targeting .Net 3.5 framework as well as .Net framework 2.0 in conjunction with Nant?

The solution:

1.Replace Nant 0.85 with Nant 0.86 Beta 1. You might ask a question, why to use a beta version? Nant v0.85 only support targeting .Net framework 2.0 or lesser. Nant 0.86 supports targeting all of the .Net versions. Moreover in all our testing our dev environment, 0.86 beta 1 was much stabler and did its job well.

2.Retain the existing NantContrib 0.85 bin files. Nant v0.86 will enable NantContrib to pick the right MSBuild.exe. This is Nant magic!

3.Open your existing projects created using VS 2005 in VS 2008. Allow VS 2008 to convert the solution and project formats to be compatible with VS 2008. Post conversion, VS 2008 will target to .Net framework 2.0 automatically for all of the projects in the solution.

Now kick-off your Nant build tool to do its usual build and voila, the build is green without any issues!

Have a great weekend!

{ 1 comment }

DIY Thesis theme and WordPress 2.7 compatibility

by BabuA on December 16, 2008

I had upgraded a couple of days back to WordPress 2.7 and DIY Thesis theme worked pretty fine post upgrading to WordPress 2.7.  Today I just noticed that the Thesis admin panel items weren’t showing up properly.

Reading through the DIY Thesis forum, there were discussions on compatibility between Thesis and WordPress 2.7. I stumbled upon this quick fix from Rick Beckman here. Thank you Rick for this quick fix!

What do you think about the WordPress 2.7? I think it is great!

{ 0 comments }

DIY Thesis theme powering my blog now!

by BabuA on December 10, 2008

Just updated my blog to use thesis theme. I love this theme aka the user experience is very smooth and more importantly the designer admin screens are well thought out!

Still making some changes to the sidebar widgets to make the blog more lively.

Keep any eye on my blog :-)

{ 0 comments }

Laconica is a open source Microblogging tool which essentially is a clone of Twitter with almost all of its whistles and bells. Most importantly Laconica supports open Microblogging, OpenID authentication and Twitter compatible API which allows smoother integration with social software desktop clients to tweet and see notifications on the new messages. Identi-ca is one of the popular sites which run on Laconica microblogging software.

Twhirl is a social software desktop client built on Adobe AIR platform. Some of the Twhirl features are 1)connects to multiple Twitter, laconi.ca, Friendfeed and seesmic accounts. 2)shorten long URLs

Gotchas on installing Laconica:
Laconica can be installed both in Linux and Windows platforms. Current version is Laconica_0.6.3 released on 11/23/2008. The default microblog website requires some facelift but does it job well given that it has not reached 1.0. Refer http://laconi.ca/trac/browser/README and http://decafbad.com/blog/2008/07/03/getting-laconica-up-and-running for general instructions on installing Laconica. The latter is much more comprehensive in terms on installation steps.

PHP installation requires “mbstring” and “gettext” to successfully run Laconica. Configure PHP installation using “./configure –enable-mbstring –enable-gettext”. If you are trying to reconfigure an existing installation, you will need the find out the ./configure options used on the earlier install for proper installation of PHP, to do that create a test.php page as below

// Show all information, defaults to INFO_ALL
phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>

The above page when run will provide the ./configure option used in the prior installation.

I ran into a couple of issues getting the Twhirl to connect to Laconica. Twhirl only understands the Twitter compatible API aka openmicroblogging hence it is important to enable fancy URLs by setting up the following:
1.Set $config['site']['fancy'] = true; in config.php
2.URL rewrite will need to be enabled for web server for fancy(shorter) URLs to work. Assuming you use Apache 2.2.x, rename htaccess.sample to .htaccess and change the base path for “RewriteBase” to right Laconica installation path, usually you will set it as “/”. Remember that .htaccess should have been enabled using “AllowOverride All” in httpd.conf. mod_rewrite should have been enabled for Apache else URL rewrite will throw an internal server error when we start the web server. If are trying to make LAconica workon on an already installed Apache server then we will need to custom configure installation with ./configure –enable-rewrite. Make sure that add the required ./configure params else we will end up having more issues. I have used ./configure –enable-rewrite –enable-dav –enable-so –enable-dav=shared –enable-dav_fs=shared –with-apxs

Try to access the URL http://<>/api/statuses/public_timeline.xml on the installed Laconica website to test if the fancy URL is working. if you see a 404 error or internal servr error than URL rewrite is not working properly.

3.To integrate your Laconica instance with Twhirl, select laconi.ca from the Twhirl desktop client list and add the following as account <username>@<yourwebsite> if Laconica is hosted at yourwebsite.com/laconica and the username is xyz then use xyz@yourwebsite.com/laconica will be your account entry. Once you add the account, Twhirl will update the public timeline first.If you see any errors then it means that there is a problem with the Laconica installation or URL rewrite is not working fine as explained in 2.

To summarize, Laconica+Twhirl is an excellent combination which can easily replace Yammer as a microblog software. Also remember that all tweets are internal within the organization and does not get into a public server. We are currently using Laconica+Twhirl as an internal Microblog at work within our team to send general/status updates on a daily basis. We use tags to distinguish notification for different projects/chunks of work.

What are your thoughts on Laconica/Laconica+Twhirl?

{ 6 comments }

Windows Live Translator

by BabuA on October 21, 2008

I stumbled upon the Windows LiveTM Translator while checking Nicholos Allen’s Indigo blog. The user interface is exceptionally better than any other online translation services (like Google Translation or AltaVista BabelFish) for URL (read as any website) based translation. The user interface shows both the source and target pages side by side and the navigation of content in either source or target page is automatically highlighted in the other one as we navigate which enables you to relate to the translated content. Another interesting aspect about this translation service is that the translation happens in a staged manner with a progress bar in AJAX style and you will see the translation happening live before your eyes as opposed to providing a URL to a translation service and after a little longer pause you will see the translated page (most of the online translation services use this mechanism).

This service also provides a JavaScript based add-in (http://www.windowslivetranslator.com/AddIn.aspx) which will enable you to add the translator service in your blog or website. The Translation Bot (TBot) for Windows Live messenger seems like an interesting idea but the text based translation seems a little crappy and have to do a lot of catching up with other services.

Have a good one!

(By the way, I am experimenting with Word 2007 for blogging and this blog post is written and published via Word 2007)

{ 0 comments }

Interesting lecture on BigTable (video)

by BabuA on May 8, 2008

Google’s Jeff Dean discusses the Bigtable content storage system used in google’s backend. It is an old post but an eye opener to understand how different groups are approaching the distributed storage system problem. You can watch the video here

{ 0 comments }

A friend of mine pointed me to read about Eventual consistency from one of the blog posts by Werner Vogels named Eventually consistent and this was a follow up discussion to an earlier post by Werner Vogels regarding a job opening on distributed computing in Amazon named Job openings in my group. These 2 posts raised a curiosity within me to explore on distributing computing. The job opening blog post gives you a complete list of what you will need to read on distributed computing and systems.  I should thank my friend Mahesh for introducing me to this.

Amazon’s EC2 and S3 services have already solved the problem of Eventual Consistency. Read details here

So to start my exploration, I read about Paxos algorithm via these Microsoft Research papers written by Leslie Lamport namely Paxos made simple, Consensus on Transaction Commit and Paxos Commit

{ 0 comments }