Archive for the ‘General’ Category
Posted by Vikas Hazrati on Sunday, November 8, 2009
Many sites have good .flv video content that you would rather download and listen to when you are not connected to the internet. Firefox plugin called the Download helper makes it easy.
Just follow the steps
Not sure if it’s legal, but you can:
- with Firefox
- and DownloadHelper extension
- click Play once, so that DownloadHelper can see the video
- then download it with DownloadHelper
As soon as the download helper, sees the video, it would give you an option to download it!
Posted in General, Tip | Leave a Comment »
Posted by Vikas Hazrati on Sunday, September 20, 2009
After some struggle I did manage to finally embed the Vimeo video into my blog.
Note that the embed script given at the Vimeo video would not work. Just click on the video that you want to embed. For example the link would come as
http://vimeo.com/channels/osscamp#6532611
Now in order to embed this, there is a wordpress plugin, using which you can write this
[ vimeo vimeo.com/6532611 ]
Do not leave a space between [ and vimeo, I have left a space to show the syntax and avoid the video to get embedded here
i.e. the number of the video and you are done. Happy embedding!
Posted in General | Leave a Comment »
Posted by Vikas Hazrati on Tuesday, September 8, 2009

I was reserving this post since a long time. This is the 100th post on this blog and I would sincerely like to thank my dear colleague Balaji D Loganathan who is the co-founder of Spritle (pronounced Spritley) and my current organization Xebia for motivating me to start a blog. Balaji was always an avid blogger and a respected Java rancher. I learned a lot from him in terms of writing and approaching the industry through the publishing route. I still remember the day [April 28th' 2007] when Balaji proof read my first blog and suggested multiple changes. I put that blog post on the blog site of Xebia and my personal blog site. I still remember not having the courage to hit publish and Balaji literally pushed the button for me.
Xebia as an organization has always promoted people to blog, speak at conferences, dive into new technologies, challenge, be challenged and share your opinions. The combination of Balaji and Xebia provided the perfect catalyst for me to go on and do a lot of things that I would have never attempted.
It has been a fine journey so far with 100 posts on this blog. A few days back this blog counted its one millionth reader. It has been slasdotted once and dzoned a few times. I went on to do a few more publications and also became an InfoQ editor.
Following is a list of my publications so far
Thanks again Balaji and Xebia for being there.
Posted in General | 1 Comment »
Posted by Vikas Hazrati on Sunday, August 16, 2009
All right! So i got this shiny new iPhone 3GS from a friend of mine who wanted to know if it would work with a local carrier in India. There were a couple of problems
- 3GS is newer in India, though it is also quite new in the US
- The phone was not activated with the original AT&T carrier.
First, I did not understand what is the difference between Jailbreak and Unlock. So I googled and this is what I found. Jailbreak is when you would want to install external applications on the iPhone. Hence when you want to install Cydia on your iPhone then you need to Jailbreak it first. Unlock is the second step where you want to make the iPhone work with any carrier.
I followed the following steps in the order mentioned below.
Most of the steps that I followed were from this original post
- Updated the software version on the existing iPhone 3GS from 3.0 to 3.0.1 – Plugin your iPhone to the computer which has iTunes. iTunes would detect the iPhone and would tell you that there is a new version of software available and if you would like to upgrade. Upgrade!
- Next, download the 3.0 IPSW file, 3.0.0 (3GS): iPhone2,1_3.0_7A341_Restore.ipsw and save it to your desktop. Remember to download this with either FireFox or Chrome. IE converts it to a zip file which redsn0w fails to accept.
- Download redsn0w to jailbreak the software. http://blog.iphone-dev.org/post/1269…edsn0w-in-june. redsn0w would be available at the link below, follow the instructions and download the torrent for your OS. Next, use redsn0w to jailbreak it.The version of redsn0w is 0.8. Point redsn0w to the firmware that you have downloaded in the above step. Once it recognizes the firmware it would give you an option to install Cydia. Install Cydia.
- Follow the steps as shown by redsn0w.
- Once Jailbroken, we have to install ultrasn0w to unlock it. For installing ultrasn0w you have to go to Cydia which is installed on your iPhone now. We have to add a new repository to Cydia. For that visit the bottom icons and click “manage” then click “sources” then click “edit” on the right top, then hit “add” on the left top. Now, add the following repository http://repo666.ultrasn0w.com and install ultrasn0w. More information here http://blog.iphone-dev.org/post/128573459/ultras-now
- Once it has downoaded, hit reboot device.
- Plugin the new SIM and it should work!
I should be able to post some pics for the process soon. Till then I am sure you would be able to figure that out with the steps.
Posted in General | 26 Comments »
Posted by Vikas Hazrati on Tuesday, June 2, 2009
In our production environment we had to review and replicate all the CRON jobs running on one of the stacks to the other new stack. Since the stack consists of multiple nodes clustered together running Jboss and another cluster of tomcat nodes, we would have to collect the details from all the servers.
By definition CRON has a single-tier architecture. This means that it is running as a single process on a single machine without any agents or server to communicate with. It also means that each instance of CRON is isolated and a problem in one of the instances on one of the machines would not affect others. This prevents it from becoming a SPOF (Single point of failure) but increases the maintenance and data aggregation overhead. Any changes have to be installed on all the nodes instead of a central machine. Therefore, each scheduler must reside on its own machine and contain its own database. Since there is no integration between the schedulers on the various machines, it is not possible to transfer jobs from one machine to the other, even if one machine has a heavy workload.
To view all the cron jobs on a machine by a user use
- crontab -u exampleuser -l
You can create a cron job from that file as follows:
- crontab /tmp/my_cron_jobs.txt
(Or for exampleuser:
- crontab -u exampleuser /tmp/my_cron_jobs.txt
For more information on creating and editing a cron job refer this and this.
Control-M by BMC software, takes the scheduling and execution of jobs at a higher level of abstraction where in all the jbos can be defined on multiple nodes using a central console. The results would be available on the central dashboard and can be tracked. Alerts are generated from the central location. There is failover support too.
For more differences between Control-M and Cron, refer to this pdf.
Posted in General, linux | Leave a Comment »
Posted by Vikas Hazrati on Saturday, March 7, 2009
I happened to be in a demo last evening and that made me think that the world still needs to be reminded of how to do a good demo. I am not saying that I have conducted perfect demo’s all the time but then I have learned over time and these are my learning’s so far, feel free to add more and help

Learning’s so far -
Read the rest of this entry »
Posted in General | 1 Comment »
Posted by Vikas Hazrati on Monday, February 16, 2009
There have been numerous studies to show that multi-tasking is not efficient and the human brain cannot multi-task efficiently. If we say that it is then we are deluding.
- Multi-tasking is less efficient, due to the need to switch gears for each new task, and the switch back again. It involves a lot of context switching and thus less time to be effective.
- Multi-tasking is more complicated, and thus more prone to stress and errors.
- Multi-tasking can be crazy, and in this already chaotic world, we need to reign in the terror and find a little oasis of sanity and calm.
There are ways to be efficient and the rule # 1 is not to multi-task
So by now you would have agreed that multi-tasking is bad. Now let me introduce you to hell.
Read the rest of this entry »
Posted in Agile, Better Software, General | Leave a Comment »
Posted by Vikas Hazrati on Sunday, January 25, 2009
Chances are that you have struggled with a situation where the iPod Nano just hangs and does not take any input. One of the options is to let the battery drain.
The other option is to cold boot the iPod. For that
- Hold the Menu and Center key for approx 10 seconds.
- You should see the Apple logo appear and the iPod should re-start.
Enjoy!
Posted in General | Tagged: iPod does not work, iPod hang, iPod stuck | 1 Comment »
Posted by Vikas Hazrati on Sunday, January 25, 2009
For setting the HTTP proxy for SVN the regular setting of http_proxy environment variable would not work. i.e.
export http_proxy=http://my-proxy-server.com:8080/ would not work.
There is a “servers” file in svn which is present at the following location
Win : C:\Documents and Settings\hazrativ\Application Data\Subversion\servers
Linux: /etc/subversion/servers
Here you need to set the proxy server and port settings so that command line SVN can access the external world form the proxy. Uncomment and change the lines necessary
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-host = myproxy.us.com
http-proxy-port = 8080
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
# http-compression = no
# http-auth-types = basic;digest;negotiate
# No http-timeout, so just use the builtin default.
# No neon-debug-mask, so neon debugging is disabled.
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem
If you get something like
svn: C:\Documents and Settings\hazrativ\Application Data\Subversion\servers:73:
Option expected
then it means that you have a space at the start of the property which you have un-commented. Make sure that there is no space in the beginning of the property in the servers file.
Posted in General, Infrastructure | 1 Comment »
Posted by Vikas Hazrati on Thursday, January 15, 2009
I was having a discussion with my colleague this morning about the guarantee that Oracle GUID would be unique on multiple horizontal stacks that we are deploying our application to.
My understanding is that for generating Pseudo random numbers you need to have some seed to start with, I was wondering what seed does GUID use to ensure that it is mathematically unique. Following is the answer that I discovered on the net.
“A Globally Unique Identifier or GUID is a pseudo-random number used in software applications. Each generated GUID is “mathematically guaranteed” to be unique. This is based on the simple principal that the total number of unique keys (2^64) is so large that the possibility of the same number being generated twice is virtually zero.
SYS_GUID generates and returns a globally unique identifier (RAW value) made up of 16 bytes.
On most platforms the generated identifier consists of a
- host identifier,
- a process or thread identifier of the process or thread invoking the function,
- and a non-repeating value (sequence of bytes) for that process or thread.
Posted in Architecture, Database, General | Tagged: General, Oracle GUID | Leave a Comment »