I downloaded multiple instances of Firefox 3.0 to support Mozilla’s attempt to set a world record for the most number of downloads in a day!!. Their servers had some problems dealing with the flood of download requests but seem to have stabilized now..Help set the record, but downloading a copy of Firefox 3.0. I have only used it for a hour now, but it is faster when I use Gmail. And it has a ton of new features that I haven’t even started playing with…
Technology
Become part of a Guinness World Record
Have you always wanted to play a part in setting a Guinness World Record? You have the chance now by helping Mozilla Firefox in their attempt to become the most downloaded software in a day. Head over to http://www.spreadfirefox.com/en-US/worldrecord/ and help create the world record!!
HOW TO : Create dynamic pages in WordPress
I have decided to run the Chicago Marathon again this year. But this time, I am running it for a cause. I am raising money for the ASHA foundation, a non profit entity helping to educate the poor and needy in India. As part of the fundraising process, I wanted to share my training information with the folks that are donating for this cause and hence the need for this post.
I was looking into creating a dynamic page in wordpress (the software that powers this blog) that would list all the posts related to my training for the marathon. Google came to the rescue as usual and pointed me to the “InLine Posts” plugin by Aral Balkan.
You can do create a dynamic page by
1) Download the “InLine Posts” plugin from here : http://aralbalkan.com/wordpress
2) Unzip the file and upload the contents to the plugins folder in your wordpress install. It is located in the wp-content folder.
3) Activate the plugin by logging into the admin interface of your wordpress install.
4) Create a new page and add the number of the post you want displayed in the page by listing the post ID in the following format : [[POST_ID]]
Tools of the trade : IBM Page Detailer
I discovered IBM Page Detailer, a tool to analyze web traffic between a client and a server in a graphical format, while listening to the brilliant Steve Sounder’s lecture on “Even Faster Web Sites” from the Google I/O 2008 conference. And credit goes to Ray for posting the list of videos from the Google I/O conference.
Am still playing around with this tool, but it looks like there is a lot of potential here. Rather than acting as a proxy, like most of the HTTP analyzers do, this tool actually places a probe in the clients network stack. And not to mention that it is free to use :).
Tools of the trade : Java application management
We recently launched a new product at work and had to optimize a Java web application hosted in a JBoss application server for performance. The following tools came in rather handy to troubleshoot and analyze the application.
- Java core dump memory analyzer from SAP. This tool is better than the standard run of the mill heap analyzers since it can handle larger core dumps. The tool is available here.
- Messadmin : Session information tool by Cedrik Lime. This tool helps you to analyze the sessions on the application server in real time. We were able to install it on the application server without making any changes in our application, other than adding a couple of listners.. In essence, we copied the jar/war files to the application server and edited our application web.xml file to add the following listners
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml,classpath:applicationContext*.xml</param-value> </context-param> <filter> <!-- MessAdmin Servlet Filter --> <filter-name>MessAdminFilter</filter-name> <filter-class>clime.messadmin.filter.MessAdminFilter</filter-class> </filter> <filter-mapping> <filter-name>MessAdminFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <!-- MessAdmin listener --> <listener-class>clime.messadmin.core.MessAdminListener</listener-class> </listener>
HOW TO : Repair corrupted MYSQL Table
I recently came across a corrupted table in MySQL and was getting the following error, when I was trying to access a table.
“mysql ERROR 145 (HY000): Table ‘xxxxxxx’ is marked as crashed and should be repaired”
I repaired the table by
- Log into the mysql client using “mysql”
- Change to the required database by using “use DATABASE_NAME”
- Repair the table by using “repair table TABLE_NAME”
Love the simplicity of MySQL :).
New blogging tool : Windows Live Writer
WordPress (the software that powers this blog) has a good interface for posting blogs, but I have always been a fan of fat clients so that I can write the posts offline. Recently stumbled across a new blogging tool from Windows ( Windows Live Writer ). This is the first post from it :).
A case of reverse engineering
As I noted in my last post, I recently ran the Shamrock shuffle 8K. The official pictures for most of the races in US are taken by Marathonfoto. You can go to their website after the race, put in your Bib no and get a preview of the photos that can then be ordered from them. In previous years, I was happy with just taking the thumbnail of the picture and sharing it with my friends. Looks like the Marathonfoto folks decided to “beef” up their security this year and put a annoying “Proof” across the picture. When you log into the site, it shows a list of all the pictures they took of you.. the list looks like this

Clicking on any of the thumbnails brings up a popup looks like

Here’s what I did to get rid of the “Proof” text
- Checked the page source of the popup and figured that it was a flash application. Clever way of obfuscating the link to the source image..
- Knowing that the flash application would use generic HTTP connections in the background, I fired up “WireShark“, a traffic capture and analyzer tool, and clicked on the thumbnail again to fire up the popup.
- An analysis of the traffic showed that the flash app was calling out a particular URL to get the image. Here’s a screenshot of the analysis by Wireshark.

- Fire up a browser window and directly access the image with the URL from the traffic capture to get it without the “Proof” text :).. The original image looks like this.

YouTube : Funny error message
I was doing a query on youtube and ran across this funny “500 error message”. I like it how they call their engineers highly trained monkeys 🙂

HOW TO : Use grep to exclude a pattern
If you want to search a file and show all the lines that don’t match a particular pattern, you an use the following option in grep
grep -v "PATTERN" fileName
