Better Time Management with RescueTime

RescueTime

RescueTime is a site that I came up recently through stumbling. There is a good and a bad side to me finding this site. The bad part first. One year ago this was my idea. But as you might know ideas are to be put into action soon, otherwise either it will not see the light or there will be someone else who will envision the same idea and probably would implement it. The second case was what happened to me. OK now the good part is this tool really helps me take a look at the time I spend everyday on the various applications on my laptop. I wish I had this tool ten years back so that my time management would have been much better. RescueTime has a desktop service that can be downloaded and sits on your computer tray. It constantly monitors the active applications you are in and keeps sending information to its website. The website aggregates this data and presents a graphical report on the dashboard. You can tag the applications you used, so that RescueTime can group the time under different categories. For example, I use work, learning, research etc. Another key feature is that you can set goals like how many productive hours you want to put everyday. RescueTime will tell you if you met that goals and sends a weekly report by email.

RescueTime Dashboard

RescueTime comes in two flavors - a personal edition and team plus edition. Both of them are free except for team plus edition, up to 5 users it is free. A team plus edition will allow you to compare time with the group time which helps in setting team level benchmarks. What RescueTime will not know of course is your idle time or time that you were in meetings. But I am practicing to capture this as well. Since I use Google calendar for my schedule, before I go to the meeting I activate the Google calendar window. This gets captured by RescueTime and gets tagged under Meetings. It would be good if RescueTime can export this data in different formats that can be imported into Timesheet systems or if it can integrate with Timesheet systems. That would really save a lot of time or when people forget to fill the timesheets and later when they fill it is only approximate or partial just because they don’t remember what they did after a day (that’s natural). RescueTime is a fantastic product to take a look at how you spend your time, do better time management, set goals and cut down on time wasters like checking mail every now and then or on the instant messengers. Of course only if you would want to make better time management consciously; no tool would do that by black magic.

Blink this Better Time Management with RescueTime at blinklist.com    Bookmark Better Time Management with RescueTime at blogmarks    Bookmark Better Time Management with RescueTime at del.icio.us    Digg Better Time Management with RescueTime at Digg.com    Fark Better Time Management with RescueTime at Fark.com    Bookmark Better Time Management with RescueTime at Furl.net    Bookmark Better Time Management with RescueTime at NewsVine    Bookmark Better Time Management with RescueTime at reddit.com    Bookmark Better Time Management with RescueTime at Simpy.com    Bookmark Better Time Management with RescueTime at Spurl.net    Bookmark Better Time Management with RescueTime with wists    Bookmark Better Time Management with RescueTime at YahooMyWeb

Comments (4)      Cosmos

Shell Script to Start and Stop JBoss

I was looking for a script to start and stop JBoss server on the Linux environment, but didn’t find anything that useful. I did find one for starting and stopping lighttpd server for our Rails applications and have been using it effectively. Even though I am not a shell script expert, I thought I will modify the script a bit and make use of it for JBoss. The main change that I had to make was to make the script wait until the server starts or stops. To make sure the server has successfully started, I had to tail the log file for one line until the last line contained the text “JBoss (MX MicroKernel) …….. Started”. To make sure the server stopped successfully I had to ensure the process was terminated completely. If you are in need of such a script, here it is.

Download JBoss start/stop Script

Some items you have to change in the script to work for your environment.

  • PIDFILE - File containing the process id. Change it to a location where you want to have this file.
  • STARTJBOSS - Command to start JBoss. Scan through this command in entire and make sure you have added the parameters necessary for your environment, set the minimum and maximum JVM heap, and also the server you want to start. You can get this information from the server log when you run JBoss using the run.sh script. The script assumes you have Java executable in the path.
  • LOGFILE - The server’s log file. Change it to a location where you want to have this file.

Additionally you might want to change line 32 to the right version of JBoss you are using. Make sure this line reflects exactly what you see in the server log at the end when JBoss completes starting the server. If it doesn’t match, this script will go in infinite loop.

An additional benefit I got after writing this script was to have our automated build scripts using Ant to deploy the applications on any box using the SSHExec tasks. Really cool and time saving.

Disclaimer - The script herein provided to you is “AS IS” without any warranties of any kind. The script has not been thoroughly tested under all conditions. I, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.

Blink this Shell Script to Start and Stop JBoss at blinklist.com    Bookmark Shell Script to Start and Stop JBoss at blogmarks    Bookmark Shell Script to Start and Stop JBoss at del.icio.us    Digg Shell Script to Start and Stop JBoss at Digg.com    Fark Shell Script to Start and Stop JBoss at Fark.com    Bookmark Shell Script to Start and Stop JBoss at Furl.net    Bookmark Shell Script to Start and Stop JBoss at NewsVine    Bookmark Shell Script to Start and Stop JBoss at reddit.com    Bookmark Shell Script to Start and Stop JBoss at Simpy.com    Bookmark Shell Script to Start and Stop JBoss at Spurl.net    Bookmark Shell Script to Start and Stop JBoss with wists    Bookmark Shell Script to Start and Stop JBoss at YahooMyWeb

Comments (4)      Cosmos

Foundation Stone #46 - Swim Against the Current

A river when it is a river is never stagnant. It keeps flowing. Until it reaches a pool or a greater river which then flows and reaches the ocean. A river flows until it reaches a point where water is stagnant. The definition of stagnant as I search, gives me,

  • dead(a): not circulating or flowing; “dead air”; “dead water”; “stagnant water”
  • not growing or changing; without force or vitality

If you look at it from a career perspective, it is easy to get into being stagnant. One doesn’t need to do anything beyond what he is expected. The person will be in the flow but at a point will become stagnant, in more business terms a commodity. You are no more worth than millions of others who are in the pool. Standing out or being uniquely recognized and becoming successful is to swim against the commodity pool. As you keep moving against, you will raise to a lesser commodity pool.

Gangotri GlacierTaking the same analogy of a river, if I have to take the example of river Ganges, it has many tributaries flowing through many cities North East India until it reaches the Ganges Delta and flows into the Bay of Bengal, north eastern part of the Indian Ocean. But the source of Ganges is a 19 mile stretch glacier in the Himalayas called the Gangotri glacier. The origin of yet another major river in India called Cauvery is Talakavery, which is a spring. The source of any river is unique and distinct.

To reach success and growth in career is to swim against the current, to constantly grow and change and not be stagnant. Growth is not possible until one exerts additional effort to do things beyond what is expected. When one tries to do things beyond what is expected, there will be hurdles and blocks as in the current that pushes the water in the river. Sure, swimming against the current is difficult, but when you make it you get towards a point, a unique identity and are in a pool of lesser commodity.

So what did you do/learn beyond what is expected out of you?

Blink this Foundation Stone #46 - Swim Against the Current at blinklist.com    Bookmark Foundation Stone #46 - Swim Against the Current at blogmarks    Bookmark Foundation Stone #46 - Swim Against the Current at del.icio.us    Digg Foundation Stone #46 - Swim Against the Current at Digg.com    Fark Foundation Stone #46 - Swim Against the Current at Fark.com    Bookmark Foundation Stone #46 - Swim Against the Current at Furl.net    Bookmark Foundation Stone #46 - Swim Against the Current at NewsVine    Bookmark Foundation Stone #46 - Swim Against the Current at reddit.com    Bookmark Foundation Stone #46 - Swim Against the Current at Simpy.com    Bookmark Foundation Stone #46 - Swim Against the Current at Spurl.net    Bookmark Foundation Stone #46 - Swim Against the Current with wists    Bookmark Foundation Stone #46 - Swim Against the Current at YahooMyWeb

Comments      Cosmos

Flex and Ant Build

One of our projects uses Flex 2 for our presentation layer. We were using Flex builder as the IDE to build the flex components, packaged it with the rest of the J2EE application as war and deployed it. As a practice with rest of the projects we wanted a build automation done in place for continuous integration, as well as saving time building and deploying it to different environments. We could get the ant scripts ready within no time for the J2EE piece of it as it was straightforward and we have done it numerous times. As far as flex goes even though flex ant tasks are available with documentation it wasn’t that easy for us to get things built as flex builder would do it. Sure the ant tasks built the swf files but when we deployed the application on the server we always got this error “RSL Error 1 of 1″ and nothing beyond that. Searching this error resulted in different reasons but nothing concrete in nature.

To be more exact, our application consisted of a Flex model folder containing action scripts common across the other Flex modules. So this had to be set as a run time shared library (RSL) rather than packaging it along with other modules. Packaging with other modules would make it work, but it becomes bulky and performance degrades because the model classes are loaded for each Flex package. To make it a RSL while building the flex components, the model has to be referred as RSL using the attribute in the task. We did this but only got the error mentioned above “RSL Error 1 of 1″. We were clueless at this point and tried out combination of attributes while compiling using mxmlc.

Our only hope remained in identifying what makes the build done by the flex builder make it work and the difference between the parameters it uses and what we use. We knew this because the size of SWF generated out of a Flex builder build was very different from the size that came out of our ant build. Because the build properties are GUI based, how to get what configuration flex builder uses and how it translates to the appropriate compiler options? After exploring the available compilation parameters with mxmlc, we found out the parameter -dump-config would dump the configuration used in a file. We added this parameter to the compiler parameters in the Flex compiler options as shown below in the screen.

dump config option

We compared the configuration that flex builder used versus what we had been using in the mxmlc task, only to find out there wasn’t much difference except for few of the compile time properties which was also present in the flex.config file we were using. The same RSL attribute was present making the model package as reference. We were back to square one wondering what could be the difference and what we are missing. After two days of struggle, a careful re-examination of the configuration in Flex builder when referring the model package in other packages revealed something. Take a look at the snapshot below.

Flex Build Path - Auto Extract SWF - True

The “Auto extract swf: true” was something that we could not find a translation when using the compc ant task and we could not find any documentation mentioning this in the flex ant tasks documentation. We were able to confirm that something is happening here again because of the size difference between what Flex builder generated versus what our ant build generated. There must be a way to produce the package exploded rather than having it packaged as one SWF, just like an exploded war file. Fortunately there was option to do this with the compc task when the directory attribute is set to true and the output attribute holds a directory value. When we were able to do this everything got revealed. Here is a snapshot of the directory structure.

compc output

A look at the files that got generated told us that the SWF that contained the model was having a name of “library.swf”, and when this directory was packaged and added as RSL, there is a mismatch in the reference. The flex runtime binary is looking for MyModel.swf while the only file present is library.swf. That should be the reason for the RSL Error. Also the size when Flex builder built the package was exactly equivalent to the size of the library.swf file present above. So that answers what “Auto extract swf: true” configuration does.

So our ant script was ready, we used one compc task to generate an exploded model directory. Picked the library.swf and copied it to the war with “MyModel.swf”. Another compc task to generate the model packaged so that we can refer it only for compilation for other flex models. Once we did this, everything worked perfectly. So here is the sample ant code (right click and save as, then open in an editor) that made the trick.

Hope this is useful for someone struggling with similar situation and it saves the head cracking time. If someone has found out an easier approach to this please pass that on, we would be happy to learn.

Blink this Flex and Ant Build at blinklist.com    Bookmark Flex and Ant Build at blogmarks    Bookmark Flex and Ant Build at del.icio.us    Digg Flex and Ant Build at Digg.com    Fark Flex and Ant Build at Fark.com    Bookmark Flex and Ant Build at Furl.net    Bookmark Flex and Ant Build at NewsVine    Bookmark Flex and Ant Build at reddit.com    Bookmark Flex and Ant Build at Simpy.com    Bookmark Flex and Ant Build at Spurl.net    Bookmark Flex and Ant Build with wists    Bookmark Flex and Ant Build at YahooMyWeb

Comments (3)      Cosmos

212 Degrees - An Inspiring Movie

“Walk that extra mile” - often we have heard this phrase to emphasize that it is not enough to do something just enough, but go one step farther. The context is generic, doesn’t matter which field, the difference between being good and being great is the extra mile. Better said than inspired you say? Watch this movie “212 The Extra Degree” and if you could not resist watching it again and again, join my club. Though what matters most is the action, inspiration is just a trigger.

Thanks to Hari Shetty of Jiffle for pointing this link.

Blink this 212 Degrees - An Inspiring Movie at blinklist.com    Bookmark 212 Degrees - An Inspiring Movie at blogmarks    Bookmark 212 Degrees - An Inspiring Movie at del.icio.us    Digg 212 Degrees - An Inspiring Movie at Digg.com    Fark 212 Degrees - An Inspiring Movie at Fark.com    Bookmark 212 Degrees - An Inspiring Movie at Furl.net    Bookmark 212 Degrees - An Inspiring Movie at NewsVine    Bookmark 212 Degrees - An Inspiring Movie at reddit.com    Bookmark 212 Degrees - An Inspiring Movie at Simpy.com    Bookmark 212 Degrees - An Inspiring Movie at Spurl.net    Bookmark 212 Degrees - An Inspiring Movie with wists    Bookmark 212 Degrees - An Inspiring Movie at YahooMyWeb

Comments (2)      Cosmos

Javascript Event Order

A typical problem that developers face is handling an event of same type, when the elements are nested and both of them implement the same event. Suppose you have an element (say element 2) inside another element (say element 1). Let’s say both element 1 and element 2 implement the onclick event. When the user clicks on element 2, since it is nested, should the onclick event of element 1 get triggered first and then of element 2 or vice versa? Since the elements are nested and using the same event both the element’s event handler methods are called. The question is which one first.

Here is a link to a blog article “Event Order” which explains the problem, and the solution to it. Thanks to my friend and colleague, Narayanan who sent me this link when we faced the problem handling such a situation while developing Jiffle.

Blink this Javascript Event Order at blinklist.com    Bookmark Javascript Event Order at blogmarks    Bookmark Javascript Event Order at del.icio.us    Digg Javascript Event Order at Digg.com    Fark Javascript Event Order at Fark.com    Bookmark Javascript Event Order at Furl.net    Bookmark Javascript Event Order at NewsVine    Bookmark Javascript Event Order at reddit.com    Bookmark Javascript Event Order at Simpy.com    Bookmark Javascript Event Order at Spurl.net    Bookmark Javascript Event Order with wists    Bookmark Javascript Event Order at YahooMyWeb

Comments      Cosmos

Barcamp, Hyderabad - Event Update

Barcamp, HyderabadThe Barcamp event at Hyderabad was uneventful, rather should I say very eventful. The sessions focused on technology, product demos, blogging, startup and entrepreneurship. The sessions started happening in single track with topics related to technology. I was second in the list and talked on “Building Low Cost Scalable Web Applications - Tools & Techniques”. Even though my session was cut off, there was lot of people who came to me afterwards, wanting to know more about it and wanted to get in touch with me for their project needs. I was also requested that I present the session again as there were questions, but I couldn’t make it as the other sessions took time until evening. One of my major expectations of Barcamp was to network with people and that did happen and I am quite happy about it. One of the most interesting sessions and the one I liked most was of Saifi Khan’s talk on “Open Source Development Model”. It was a very good presentation and Saifi was able to hold the attention of the audience throughout his session with his wit and analogy of explaining things even though he took about an hour and half to finish his topic.

The lunch break at Barcamp degraded the whole flow, as the meal at Google was sumptuous with so many varieties that the venue became like a food show people trying out everything. To top it off the distribution of the ‘goodies’ (the freebies for the participants) happened after lunch and it became more chaotic. After this there were very few who still retained the energy to listen to more sessions. Nevertheless, since Barcamp is organized by, run by, presented by and attended by users it was an event that brought people together from various sectors and helped in networking.

For those of you who want to look at my presentation here is the link to SlideShare. For those of you who want to see everything in one picture here is my mind on the topic. Couple of photos here at Flickr. Thanks Harish for capturing the moments.

If any of you would like to discuss about the topic or have any questions, feel free to drop me a mail via rramesh at techmasala dot com.

Blink this Barcamp, Hyderabad - Event Update at blinklist.com    Bookmark Barcamp, Hyderabad - Event Update at blogmarks    Bookmark Barcamp, Hyderabad - Event Update at del.icio.us    Digg Barcamp, Hyderabad - Event Update at Digg.com    Fark Barcamp, Hyderabad - Event Update at Fark.com    Bookmark Barcamp, Hyderabad - Event Update at Furl.net    Bookmark Barcamp, Hyderabad - Event Update at NewsVine    Bookmark Barcamp, Hyderabad - Event Update at reddit.com    Bookmark Barcamp, Hyderabad - Event Update at Simpy.com    Bookmark Barcamp, Hyderabad - Event Update at Spurl.net    Bookmark Barcamp, Hyderabad - Event Update with wists    Bookmark Barcamp, Hyderabad - Event Update at YahooMyWeb

Comments (1)      Cosmos

Barcamp Hyderabad

Barcamp5 HyderabadA Barcamp event is scheduled tomorrow, 16th of February 2008 at Hyderabad (the 5th in the series in Hyderabad) focusing on the following - Technologies, Startups- betting on Web2.0, Social web, Semantics Web and beyond! I will be talking on “Building Low Cost Scalable Web Applications”. I am looking forward for the event, for great sessions and to get to know any one of you coming down there. I will update more about the event after I am back and will also post my presentation. Have a fantastic weekend!

By the way if you are wondering what’s Barcamp, click here.

Blink this Barcamp Hyderabad at blinklist.com    Bookmark Barcamp Hyderabad at blogmarks    Bookmark Barcamp Hyderabad at del.icio.us    Digg Barcamp Hyderabad at Digg.com    Fark Barcamp Hyderabad at Fark.com    Bookmark Barcamp Hyderabad at Furl.net    Bookmark Barcamp Hyderabad at NewsVine    Bookmark Barcamp Hyderabad at reddit.com    Bookmark Barcamp Hyderabad at Simpy.com    Bookmark Barcamp Hyderabad at Spurl.net    Bookmark Barcamp Hyderabad with wists    Bookmark Barcamp Hyderabad at YahooMyWeb

Comments      Cosmos

Next entries » « Previous entries

Creative Commons License  This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.