Ahoy there! This is my personal blog which I use as my memory extension and a medium to share stuff that could be useful to others.

By Design for Supportability (DFS), I mean designing a product with adequate features  to facilitate administration, support, maintenance  and problem diagnosis. DFS is not just a methodology, it’s a way of thinking for design and development.  This post will pertain to Application Software Design. The basic principle of DFS should be applicable to all product designs.

Benefits of DFS:

  • Increases probability of error detection in the testing phase, thereby leading to a better quality product.
  • Quicker resolution times for incidents and root cause analysis, thereby leading to an increase in customer satisfaction.
  • Smaller support teams, thereby leading to a reduction in the total cost of ownership (TCO).

    Given below are some typical problems experienced by Application Support teams and how they may be addressed/avoided by DFS:

SL# Problem experienced by Support Team How it may be addressed by DFS
1. Inadequate logging. No errors in logs.
  • Use a good logging framework and a well-structured log syntax (eg. log4j) for application logs.
  • Segregate application and server logs.
  • Handle all application exceptions and log descriptive errors, rather than allow errors to be directed to standard error/output.
  • Add debug to critical paths/exit statuses within the application to facilitate troubleshooting problems when debug is enabled.
2.

Logging severity levels cannot be changed at runtime. e.g. to enable debug for the application, the application needs to be redeployed or the underlying server restarted.

  • Use a good logging framework which permits runtime changes (eg. log4j)
3.

Redundant Logging. Rapid utilization of free space on disk.

  • Log adequate details, as required by the severity level. Nothing more, nothing less.
  • Data logged must be in accordance width data privacy/confidentiality laws.
4. Configuration changes are not dynamic.
  • If the application is customizable and driven by configuration files, then as far as possible, dynamic changes to configuration at runtime must be allowed. The more changes to an application that can be made without redeployment/server restart, the better.
5.

Lack of Administration tools. Support teams either perform application administration manually or spend time and money on developing tools.

  • Some applications require ad hoc administrative actions to be performed (eg. process a backlog of messages, resubmit messages, track messages, restart data feeds, etc.) or regular maintenance (eg. housekeeping).
  • Application administration tools must be part of the application deliverable. Spending time and effort on these tools during the design and development stages will pay rich dividends for the in-life support of the application. Also, the designers and developers will be best placed to build such tools.
  • As far as possible, application administration tools must be built to be customizable and automated (eg. as scheduled jobs). The lesser manual intervention by Support teams, the better.

 

How to implement DFS?: If you understand the concept of DFS, you’ll know what’s required to implement it in your project. Here are some guidelines to assist with implementation of DFS.

  • Design for Supportability requires dedicated resources across all teams (design, development, build, testing and support) to work together with utmost cooperation, bearing in mind the ultimate objective – a superb application.
  • Design and Development teams must involve Application Support teams in the early stages of application design (a key requirement for DFS). This will enable the Support team to get an early and good insight into the application and provide feedback with respect to Support requirements. Typically, design and development teams feel it unnecessary to involve Support/Testing teams during the design phase and Support/Testing teams feel it unnecessary to spare resources for the design phase. For DFS to work, this mindset must change.
  • Application Support teams must be involved in the testing phase wherein apart from normal use cases, as many abnormal use case scenarios as possible must be tested. This testing must also cover application administration tools. The Support team must follow a systematic approach to simulate real-world scenarios and test various aspects of the application from a Support perspective and provide feedback to the Development team.

    To all you Application Support folks out there: Spread the word on DFS among your design and development communities. It will make your job easier. DFS should help achieve economies of scale in your Support projects and open the door to new opportunities. Well, there will always be some human presence required (customers won’t want to interact with machines).

VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

I have been converted!!! When Twenty20 (T20) arrived on the cricketing scene, I was very quick to dismiss it as wham-bam cricket, a doom for bowlers, etc. I enjoyed watching the formats of the game already existing before T20 arrived – One-Day Cricket and Test Cricket. However, after a couple of IPL tournaments and T20 World Cups, I now know that I was wrong to judge T20 hastily and harshly and I now wholeheartedly embrace this format of the game. Here are the reasons why I think T20 is a wonderful format and is here to stay:

  • High-Octane Cricket: Lots of Boundaries and Sixes, stumps being uprooted more often, acrobatic fielding, rocking music during breaks, close finishes/edge-of-the-seat thrillers.
  • Time Saver: An entire T20 match lasts around 3 hours. The shorter the match, the more involved the audience will be. Also, you’ll still have a huge chunk of the day remaining to do whatever you want after being entertained by a T20 match.
  • Innovation: Would you have heard of deliveries like the “slow bouncer” and shots like the “Dilscoop” had it not been for T20 Cricket? Certainly No! T20 has made cricketers think on their feet out there in the middle –  the Dilscoop introduced by Dilshan (scooping the ball backward over the heads of the batsman and wicketkeeper) is an example of such innovation. The slow bouncer and slow full toss used by Lasith Malinga (one of the best proponents of these deliveries), Jerome Taylor and a few others is an example of excellent innovation with the ball. Well, T20 is set to get all cricket coaching manuals updated.
  • Challenge: In the T20 format, every ball matters. For every ball bowled, the bowler must try something clever to get the batsman’s wicket (no more bowling without the pressure of being hit for a boundary), the batsman must make contact with the ball to ensure maximum runs are scored (no more shouldering arms or being defensive with deliberate padding), the fielders must be always switched-on and do everything possible save every run (most matches are too close to afford even an extra run). T20 offers both a mental and physical challenge to cricketers.
  • Packed Stadiums: Any sport’s survival depends on its popularity among the masses. T20 has packed stadiums like never before. T20 is attracting people who once upon a time found cricket boring. T20 is also proving to be a good family entertainer (you can get the family out for just 3 hours of entertainment, can’t you?). Packed Stadiums lead to increased revenue (ticket sales and advertising) and this makes T20 a very attractive business model for the Cricket Boards (just hope the Boards use the money wisely to develop the game around the world).

Coming back to my initial concern I had regarding T20, the ICC T20 World Cup 2009 was dominated by great bowling and proved that bowlers also have a major role and can significantly impact the result of a T20 match (not just batsman-dominated as I expected). However, perhaps, the only cricketing domain which could be adversely impacted by T20 is “batting” for the very reasons cricket purists describe T20 as a lottery or vulgar. I believe that the concern here is regarding technical batting. Will the coming generations of batsmen focus on learning the big slog and heave shots rather than straight drives, square cuts, leg glances and other technical shots? Only time will tell. That’s why I believe Test Cricket should stay on forever as it’s the purist’s game and a joy to watch in its own right. But, Test Cricket’s survival depends on the number of fans who are cricket purists and enjoy this traditional contest between bat and ball. If this number dwindles with the advent of T20, then Test Cricket could be in danger. Personally, I wish Test Cricket stays on forever as I enjoy the gruelling battles in Test cricket. However, I see absolutely no place whatsoever for the One-Day format. I believe that Test Cricket and T20 should henceforth be made the standard formats of Cricket.

Congratulations to Pakistan for becoming the unlikely, but thoroughly deserving T20 World Champions at Lords yesterday!

VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

When I started this blog in March 2009, I used the editor on the WordPress Admin console to create and publish posts. Soon, I heard about Windows Live Writer, tried it out and never looked at another blogging tool since then. Windows Live Writer (WLW) is an offline desktop application with rich editing features, which you can use to create posts and publish them to your blog (all popular blogs are supported). A screenshot of WLW taken while creating this post is shown below:

 

WindowsLiveWriter

 

WLW provides the standard features available with good text editors along with blog-specific features like managing different blog accounts, opening and retrieving recently published posts, scheduling publishing of posts and extension via plug-ins. For example, I’ve used a text template plug-in to create a template for certain types of posts, so that whenever I wish to create such a post, I simply use the template and fill in the blanks.

So, WLW makes blogging easy, but I still had the problem of blogging being tied to the laptop on which I had WLW installed. I use 2 laptops, one at office and one at home. Sometimes, I get some ideas for a post at office and wish to just make some quick notes for continuation later. How nice it would be if I can carry the same WLW installation with me wherever I go. i.e. use a portable WLW. Searched online and found a Portable launcher for WLW here. Thanks to Scott Kingery, blogging has been made even easier by becoming portable. I use portable WLW on my USB drive so that all my blog work is saved to the USB drive. Instructions for installing WLW and making it portable are given below:

Installation Of Windows Live Writer:

(1) If you do not already have Windows Live Writer on your computer, download Windows Live Writer from here and install it.

     NOTE: Windows Live is a software suite provided by Microsoft. So, when you launch the installer downloaded in step (1), you will be provide with options to install one or more Windows Live applications. If you’re only interested in WLW, then select only WLW and proceed with the installation.

 

Making Windows Live Writer Portable:

(2) downloadWLWPortablev3.png  or visit TechLifeWeb for the latest update on this software.

 

(3) Extract the downloaded ZIP file for WLW Portable into your USB drive. For example, my USB drive is assigned drive letter P: and I extracted WLWPortablev3.0 into P:, thereby creating a directory P:\WLWPortable3 with sub-directories and files within.

 

(4) Assuming you installed WLW in step (1) into the default location, copy all the files from C:\Program Files\Windows Live\Writer to the following location within the extracted WLWPortable3 on your USB drive:  WLWPortable3\WindowsLiveWriterPortable\App\WindowsLiveWriter

(5) You can now launch WLW Portable v3.0, by clicking on WLWPortable3\WindowsLiveWriterPortable\WindowsLiveWriterPortable.exe. I dragged this WLWPortable executable file onto my RocketDock so that I can easily launch WLWPortable as soon as my USB drive is inserted into my laptop. A screenshot of my set up (WLWPortable Launcher in RocketDock) is shown below:

 

WLWPortable_RocketDock

 

As the above steps make WLW portable, you may even uninstall WLW from your computer and you will still be able to use WLW from your USB drive (remember you copied a bunch of installation files to your USB drive in step(4)).

VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

I required to create some “download buttons” for this blog. I didn’t have any appropriate Image creation/editing tool to create buttons and when searching the www, came across a good website called Da Button Factory which allows you to create buttons online. Salient features of Da Button Factory are:

  • The website is very clean, intuitive and simple to use.
  • Allows creation of 3 types of button : Rectangular, Rounded, Round
  • Allows creation of single colour and dual colour buttons.
  • Allows button to be integrated into your website as CSS code or an image (gif/png/jpg).
  • Allows customization of text, font, shadow, size, border, text padding and colour.

Using two colour gradient, you could create a button that is quite close to, if not like, the Web 2.0 buttons out there (colourful, glossy, shaded buttons).

A screenshot of Da Button Factory, taken while creating my download button is given below. It shows you the various options mentioned above. I opted for a PNG image, as it’s the optimal choice for small images with text (like buttons).

 

dabuttonfactory

VN:F [1.9.22_1171]
Rating: +3 (from 3 votes)

WLtd is a simple korn shell script that will enable you manage thread dump operations on WebLogic Servers efficiently and effectively. The salient features of WLtd are given below:

  • Can be run in interactive and non-interactive modes (so can be run as a cron job)
  • Configuration-driven
  • For more than one specified WebLogic Server, thread dumps are taken parallelly (as coprocesses – beneficial on multi-cpu hosts).
  • Thread dumps are extracted from the WebLogic Server stderr logfiles and stored in text files.
  • Option to email thread dumps, as an attachment (text files will be archived and compressed).
  • Housekeeping of thread dump text files

 

System Requirements:  Solaris/Linux, Korn Shell (/bin/ksh)

 

Download WLtd v1.0                 Download WLtd v1.0 ReadMe

 

VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
 Page 29 of 33  « First  ... « 27  28  29  30  31 » ...  Last »