We ran into an interesting issue at work recently. Documenting the solution for my records..
BACKGROUND : We had a table in one of our databases that served as a “hopping” point for some jobs. Data was inserted into this table and at jobs get kicked off at periodic intervals to “process” the data and delete it.
CURRENT METHOD : Launch multiple jobs to process the data and delete the rows as soon as the data is processed. This is causing locks on the table because there are multiple delete operations occurring at the same time. Which in turn means that the jobs cannot complete processing the data causing the table to grow in size.
PROPOSED METHOD : Add a new column to the table called “PROCESSED_STATE” and modify the “processing” jobs to set a flag “Y” in this column as soon as the data is processed. Create a new job that will be launched periodically, which checks the PROCESSED_STATE column and if the flag is set to “Y”, deletes the row.
Morale of the story.. .. Multiple deletes on a table are bad. Better way is to have multiple updates and one delete.
Jhanvi and I spent the weekend with friends at the 2010 Andersonville Midsommarfest where I got to see Funkadesi live (for the second time). And they were rocking as usual . I got to get some snaps with the artists and also record some video (apologize for the poor quality).
Things have been a bit crazy at work recently, so I didn’t get a chance to fix the site as soon as it went down (due to an error I still haven’t figured out). And as a result, the traffic to the site dropped.
I finally took the chance to move the site to a dedicated server running on the RackSpace Cloud services. Am putting together a post on how I handled this migration and will publish it soon.
The bad news is that I have lost traffic to the site that I have built over a period of time.. the good news is that I am the master of my own house (website) at last .
I don’t have a Facebook or twitter account and that surprises a lot of my friends since I am such a geek . And the reason I keep (kept) giving was that I want to be in control of my destiny. In this case, destiny being content. While Facebook and Twitter provide you with a easy way to connect with friends/relatives/stalkers etc, I believe it gives a lot of leeway on control over the content for the companies running these applications. I have all the means and ways to communicate with my friends and advertise what I need to world. How I do that? That is a blog post that I have been “drafting” for the last couple of months ..Hope to publish it soon. And looks like the wider audience is finally waking up to it.
Another article on the same website, speaks about a study by the Advanced Institute of Science and Technology in Korea, which shows that Twitter is really not a social networking site, but more of a medium to broadcast your content (http://www.readwriteweb.com/archives/study_twitter_isnt_very_social.php). Doesn’t really support the argument I made earlier that Twitter is not going to make it..but it certainly supports the notion that once the hype is gone the influence of twitter as a medium will decrease.
I am sure a lot of people shop on express.com , but I probably get the credits for being the first blogger to post that express.com has not been responding to DNS queries since ~7:00 PM CST (4/26). Looks like Qwest is hosting DNS for Express. The name servers (most probably global load balancers) are not responding to DNS requests.
Here’s what I get, when I queried for www.express.com
Nameserver trace for www.express.com:
Looking for who is responsible for root zone and followed h.root-servers.net.
Looking for who is responsible for com and followed h.gtld-servers.net.
Looking for who is responsible for express.com and followed dca-ans-01.inet.qwest.net.
Nameservers for www.express.com:
dca-ans-01.inet.qwest.net returned (NORECORDS)
svl-ans-01.inet.qwest.net returned (NORECORDS)
I feel for the poor ops team scrambling around to bring up the service . Another reason, you want diversity in your DNS hosting.
Instructions for configuring the mime type mappings in Jboss. Mime types essentially tells the application processing the content (typically a browser), what the content is. More information here (http://en.wikipedia.org/wiki/Internet_media_type).
Locate the web.xml file for your Jboss instance. It is usually in $JBOSS_HOME/server/INSTANCE/deploy/jboss-web.deployer/conf/web.xml
Locate the setting <mime-mapping> and make the required edits. For example, the code for defining the mime type for javascript looks like this
As I was channel browsing yesterday, I happened to run across an episode of NOW on my local PBS station. It featured a Harvard educated man that decided to run for the mayor of a rundown steel belt town (Braddock, PA). Besides being impressed and humbled by Mr.John Fetterman, I thought he displayed all the characteristics of a true leader (IMHO).
Having a Vision
Committing to the Vision
Thinking out of the box to implement vision
Thinking objectively
Highly recommend watching the video, if you have the time
ARI : Availability Rate Inventory. Any transaction that is querying/updating these three items is terms as ARI updates.
REVPAR : Revenue Per Available Room. This is the revenue the hotel makes per room in the hotel.
Total Pricing : The total price a customer has to pay to book a room in a hotel. It kinda sounds obvious..but when you understand that the total price depends on
The price the hotel wants to charge (which again depends on who is selling the room)
The tax at the city/state level
The price of additions (services like Internet access, breakfast etc)
I kicked off the 2010 running season with the Shamrock shuffle held on March 21st. Jhanvi was going to run it with me, but was not able to due to health restrictions. She is planning on joining me for a couple of half marathons this year . Hopefully, she won’t beat me as she did last year .
I finished the 8K (5.1 miles) a couple seconds short of 1 hour . Official chip time was 0:59:51. Results are published here. Looks like I am going to settle in the 12min/mile pace. That has been my pace for the last couple of races.