When I am troubleshooting production issues, I always have problem with having multiple SQL Server windows open trying to do update/select across different regions (I am not saying that we do updates in production on a regular ad-hoc basis but there are times we have to do that).
Fortunately, I came across a cool tool today that would reduce the confusion of which sql window I am currently in, is it development/UAT/production. SSMS tools pack is an excellent set of tools and contains the windows connection coloring feature that you can use to set which color you want to display on top of the different sql windows, probably red for your production connections and green for your development environments.
Take a look at the tool for yourself, you will sure appreciate the value of it.
Prem's views on life, .net and software development (everything contained in one strongly typed weblog).
Monday, May 23, 2011
Thursday, March 17, 2011
Tips and Advice for Students, Teachers, and Parents
Really liked this post discussing about tips and advice for students, teachers and parents, posting it for future reference
Students
Pull everything out of your teacher; pull everything out of your fellow students. Pull everything out of yourself. Work hard. Then work harder.
Success isn’t how far you got, but the distance you traveled from where you started.
Learn by trial and error, and don’t avoid the errors. Consider everything an experiment.
Learning doesn’t happen in class, it happens when you get home and look at the wall. Don’t forget to make time for looking at walls.
Be self-disciplined.
Be a self-advocate.
Learn from your mistakes. There is no win and no fail, there’s only honest effort.
Assume that others are always doing their best.
Work. If you work it will lead to something. It’s the people who do all of the work all of the time who eventually catch on to things. Worrying about work doesn’t get it done, it only makes getting started harder.
Get good at something other than school-related work (like skateboarding or cooking).
Don’t try to create and analyze at the same time. They’re different processes.Subscribe to many magazines, the more pictures the better. Don’t feel bad about not reading them cover to cover, just have them around and read what interests you, even if it’s just one article.
It’s the process, not the product that counts, because you can use it again and again and it transfers.
Don’t do school-related work under pressure. Allow lots of extra time for things that are hard, and for everything else, too.
Learning opportunities are everywhere, not just in academic settings. The more stuff you do, the more you learn. But, don’t overdo it and spread yourself too thin.
Read anything you can get your hands on. Comic books involve decoding just as great literature does.
Read billboards and road signs.
Always be around. Come or go to everything. Always go to classes.
Learn how to touch-type.
Write lots of letters.
Learn to read and use maps.
Learn to read and use indexes.
Learn to use a library.
Learn to cook and deal with food.
Watch movies, regularly.
Learn to ask questions without feeling stupid.
Travel whenever and wherever you can.
Save everything; it might come in handy later.
Give others some slack; it makes life easier.
Give yourself some slack; it makes life easier.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Teachers
Pull everything out of your students.
Extend yourself.
Be creative.
Don’t assess a student’s capabilities based on his or her I.Q. test scores. There’s more to people than test scores.
Don’t be scared to make a mess (mistakes) in front of students. If learning takes place through modeling, you must model the process of working things out, from scratch, mistakes and all. Few teachers do this, more should.
Assume that others are always doing their best.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Parents
Be there, but don’t smother kids. Don’t be a “helicopter parent.” Not enough interest is neglect; too much involvement can smother and enable.
Keep the pressure low.
Assume that others are always doing their best.
Learning how to read and write takes a lot of time and work. Make sure you give your kids enough time and space for them to learn.
Make sure kids practice reading and writing every day. Don’t let them miss a day for anything. Sit on them, but not too hard.
Make sure there’s a World Book Encyclopedia in the house. Any year is okay. Buy it used. Using an encyclopedia is very different from using the internet. Make sure you have both.
Learning takes place after the fact, while your kid is looking at the wall, not while he/she’s in a classroom at school. When they get home, give them the time and space to look at walls.
Don’t romanticize your past too much, kids resent it and it probably wasn’t as good as you think it was.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Students
Pull everything out of your teacher; pull everything out of your fellow students. Pull everything out of yourself. Work hard. Then work harder.
Success isn’t how far you got, but the distance you traveled from where you started.
Learn by trial and error, and don’t avoid the errors. Consider everything an experiment.
Learning doesn’t happen in class, it happens when you get home and look at the wall. Don’t forget to make time for looking at walls.
Be self-disciplined.
Be a self-advocate.
Learn from your mistakes. There is no win and no fail, there’s only honest effort.
Assume that others are always doing their best.
Work. If you work it will lead to something. It’s the people who do all of the work all of the time who eventually catch on to things. Worrying about work doesn’t get it done, it only makes getting started harder.
Get good at something other than school-related work (like skateboarding or cooking).
Don’t try to create and analyze at the same time. They’re different processes.Subscribe to many magazines, the more pictures the better. Don’t feel bad about not reading them cover to cover, just have them around and read what interests you, even if it’s just one article.
It’s the process, not the product that counts, because you can use it again and again and it transfers.
Don’t do school-related work under pressure. Allow lots of extra time for things that are hard, and for everything else, too.
Learning opportunities are everywhere, not just in academic settings. The more stuff you do, the more you learn. But, don’t overdo it and spread yourself too thin.
Read anything you can get your hands on. Comic books involve decoding just as great literature does.
Read billboards and road signs.
Always be around. Come or go to everything. Always go to classes.
Learn how to touch-type.
Write lots of letters.
Learn to read and use maps.
Learn to read and use indexes.
Learn to use a library.
Learn to cook and deal with food.
Watch movies, regularly.
Learn to ask questions without feeling stupid.
Travel whenever and wherever you can.
Save everything; it might come in handy later.
Give others some slack; it makes life easier.
Give yourself some slack; it makes life easier.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Teachers
Pull everything out of your students.
Extend yourself.
Be creative.
Don’t assess a student’s capabilities based on his or her I.Q. test scores. There’s more to people than test scores.
Don’t be scared to make a mess (mistakes) in front of students. If learning takes place through modeling, you must model the process of working things out, from scratch, mistakes and all. Few teachers do this, more should.
Assume that others are always doing their best.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Parents
Be there, but don’t smother kids. Don’t be a “helicopter parent.” Not enough interest is neglect; too much involvement can smother and enable.
Keep the pressure low.
Assume that others are always doing their best.
Learning how to read and write takes a lot of time and work. Make sure you give your kids enough time and space for them to learn.
Make sure kids practice reading and writing every day. Don’t let them miss a day for anything. Sit on them, but not too hard.
Make sure there’s a World Book Encyclopedia in the house. Any year is okay. Buy it used. Using an encyclopedia is very different from using the internet. Make sure you have both.
Learning takes place after the fact, while your kid is looking at the wall, not while he/she’s in a classroom at school. When they get home, give them the time and space to look at walls.
Don’t romanticize your past too much, kids resent it and it probably wasn’t as good as you think it was.
Be happy whenever you can manage it. Enjoy yourself. It’s your life.
Friday, December 17, 2010
Attended Martin fowler's event in Chennai
Lucky to attend event organised by thoughtworks featuring Martin fowler in chennai. I never thought in my life I might get a chance to attend a event having Martin Fowler as a speaker. He gave a talk similar to suiteoftalks that he has been following of late. The areas he covered in his talks include Continuous Integration/Delivery, Strategic and Utility projects and Domain Specific languages, none of this is new if you have been following his blog closely. I was just happy to hear him talk probably this was the first time I am meeting someone in person who has made great contribution to the software community. After the talk I got a chance to have a personal chat with him and raised question about my dilema of whether to move forward to DVCS (git, mercurial) rather than the current source control (Borland StarTeam) that we have, his direct answer was "Depends on the maturity of the team, if the team is mature, DVCS is the way to go".
Hope I get a chance to meet more people like him in the future (Anders Hejlsberg ranks high on that list).
Hope I get a chance to meet more people like him in the future (Anders Hejlsberg ranks high on that list).
Explaining things effectively
I have always been fascinated how people come up with good visual ways of explaining complex things, this video is one such appreciative work on explanation of quicksort algorithm (link got from blog of my friend Santhosh Ahuja). Being in the software field and involved heavily in recruitment of people at various levels, what I have learnt is it's easier to find people with sound knowledge but difficult to see them possess the art of explaining things effectively (which unfortunately is a key trait needed in a personnel not only in the software field but in other fields as well).
Quicksort Explanation Video
Quicksort Explanation Video
Monday, October 25, 2010
Attended Jean Paul Boodhoo's NBDN Remote program
Couple of weeks (October 11th - October 15th) ago I had the opportunity to attend JP Boodhoo's Nothing But Dot Net remote course. I was very interested to learn more about TDD and getting myself comfortable with some of the advanced concepts in C#.
I wouldn't classify this course as advanced course in C#, rather it was advanced basics in C#. The first day JP gave us a simple task of filtering/sorting sample, JP had created test cases for each of the filtering/sorting scenario and we were writing code to make the test case pass. We went from creating a simple for loop to all the way of creating generic delegates to handle most of the collection related activities, we learnt how we could use delegates and generics effectively.
The next couple of days we created a the fictitious web application that has a shopping catalog and JP taught us about using FrontController architecture for building the application.
The final day JP discussed about the Inversion of Control Container and showed us how to create a container from scratch. I always understood the concept of dependency injection but didn't have a good idea of containers, after this session I was not only able to clearly understand the need of containers but understand the inner workings of container since we created one from scratch.
JP's style of teaching is awesome, he starts by giving us a simple code piece and takes the code of the team that completes the task first and starts refactoring the code from there. His inspirational talks all along the course was an added bonus.
A cool added knowledge I got from the course was the knowledge of DVCS (usage of git and github) for coding purpose, I understand how effective DVCS is over the traditional source control repository and how to use it effectively in the current projects where we do quite a lot of branching.
I would seriously recommend this course to anybody who has been doing OOPS development (not necessarily c#) for atleast 5-6 years to take this course and understand what the real OOPS development is all about. I don't think anybody would walk out of the course and say that they are an TDD expert or anything of that sort (and JP doesn't expect you to say that as well), the course makes you understand where you stand and gives pointers on where to go from here and how to achieve your goals. I certainly think the course would have profound impact in my professional as well as personnel life. Since I was from India and JP has never been to India for taking NBDN courses, I had no choice but to take NBDN remote course, given a choice I would advice people to take NBDN direct course rather than remote course since you would be interacting with JP and your fellow developers directly which would be even more awesome. JP has promised to come down to India some time soon and I am looking forward to attending the NBDN direct course once again.
The only difficult part for me was I was attending the course from Chennai, India the course timing for my time zone was from 9 PM to 9 AM India time. I tried to get as much sleep possible during my day time, but it was not possible to get good amount of sleep and I was mentally exhausted by the end of the week.
Even though I paid for the course myself, it was money well spent. Now I am off to read through the books suggested by JP. I have successfully completed my first objective of reading through "Refactor with Wetware" by Andy Hunt. Now comes the difficult part, applying it in real life :)
I wouldn't classify this course as advanced course in C#, rather it was advanced basics in C#. The first day JP gave us a simple task of filtering/sorting sample, JP had created test cases for each of the filtering/sorting scenario and we were writing code to make the test case pass. We went from creating a simple for loop to all the way of creating generic delegates to handle most of the collection related activities, we learnt how we could use delegates and generics effectively.
The next couple of days we created a the fictitious web application that has a shopping catalog and JP taught us about using FrontController architecture for building the application.
The final day JP discussed about the Inversion of Control Container and showed us how to create a container from scratch. I always understood the concept of dependency injection but didn't have a good idea of containers, after this session I was not only able to clearly understand the need of containers but understand the inner workings of container since we created one from scratch.
JP's style of teaching is awesome, he starts by giving us a simple code piece and takes the code of the team that completes the task first and starts refactoring the code from there. His inspirational talks all along the course was an added bonus.
A cool added knowledge I got from the course was the knowledge of DVCS (usage of git and github) for coding purpose, I understand how effective DVCS is over the traditional source control repository and how to use it effectively in the current projects where we do quite a lot of branching.
I would seriously recommend this course to anybody who has been doing OOPS development (not necessarily c#) for atleast 5-6 years to take this course and understand what the real OOPS development is all about. I don't think anybody would walk out of the course and say that they are an TDD expert or anything of that sort (and JP doesn't expect you to say that as well), the course makes you understand where you stand and gives pointers on where to go from here and how to achieve your goals. I certainly think the course would have profound impact in my professional as well as personnel life. Since I was from India and JP has never been to India for taking NBDN courses, I had no choice but to take NBDN remote course, given a choice I would advice people to take NBDN direct course rather than remote course since you would be interacting with JP and your fellow developers directly which would be even more awesome. JP has promised to come down to India some time soon and I am looking forward to attending the NBDN direct course once again.
The only difficult part for me was I was attending the course from Chennai, India the course timing for my time zone was from 9 PM to 9 AM India time. I tried to get as much sleep possible during my day time, but it was not possible to get good amount of sleep and I was mentally exhausted by the end of the week.
Even though I paid for the course myself, it was money well spent. Now I am off to read through the books suggested by JP. I have successfully completed my first objective of reading through "Refactor with Wetware" by Andy Hunt. Now comes the difficult part, applying it in real life :)
Friday, February 19, 2010
Cool SQL tool - SQL Heartbeat
I have lived many a days watching performance of SQL queries using SQL Profiler (Claims Inquiry??? - for people who knew about it) . Finding ways to improve the time taken and optimizing the same was a fun exercise; I always hate the idea of using SQL profiler, I always thought it was probably one of the worse Microsoft tools without good user interaction, I agreee that it was one of the powerful tools available to monitor SQL Server but not the best tool in terms of user interaction.
Anybody who feels the same way should try (free) tool SQL Heartbeat, it gives the information of your database in a visual way so it makes it easy to grasp the data.
Processes grow larger as they use more resources. Red balloons appear when locking occurs. Download it from: sqlsolutions
Anybody who feels the same way should try (free) tool SQL Heartbeat, it gives the information of your database in a visual way so it makes it easy to grasp the data.
Processes grow larger as they use more resources. Red balloons appear when locking occurs. Download it from: sqlsolutions
Thursday, January 21, 2010
Interesting Video on "What stops population growth"
While reading bill gates new website The Gates Notes stumbled upon a good link for a presentation by Hans Rosling on What stops Population Growth, it gives a totally different thinking on population growth in world. I liked the way Rosling uses very little time and excellent charts/graphs to convey the points effectively across to the audience.
While in the gapminder website, take a look at the various statistics they have to compare countries and how they stack up against the world. Excellent usage of charts and graphs to compare countries !!
While in the gapminder website, take a look at the various statistics they have to compare countries and how they stack up against the world. Excellent usage of charts and graphs to compare countries !!
Tuesday, December 15, 2009
Performance Issues
I have been part of software projects where we constantly have to tune the code (C#/SQL) for performance improvements. The question you have to ask yourself before doing any code change for performance is "Does this code really warrant changes for performance issues"? Most of the time someone would say changing the code to use LINQ instead of for each loop would make it faster.. Most of the time such recommendations tend to be wrong. Write code that is readable/maintainable before thinking too much about the performance issues.
Always, Always measure your performance problems before and after making code changes to conclude that you have impacted code in a positive way. Even though this principal applies for both code that is in active development and production, it is critical in case of code that has already been deployed to production.
One of my favorite c# blogger John Skeet wrote an excellent article on this topic. He sums it up real nice in one line "Performance is important - too important to be guessed about instead of measured."
Always, Always measure your performance problems before and after making code changes to conclude that you have impacted code in a positive way. Even though this principal applies for both code that is in active development and production, it is critical in case of code that has already been deployed to production.
One of my favorite c# blogger John Skeet wrote an excellent article on this topic. He sums it up real nice in one line "Performance is important - too important to be guessed about instead of measured."
Monday, November 23, 2009
Funny Take on LinkedIn
This was a real funny take on the Jod oriented social networking site LinkedIn.
Anybody who knows what a linked in is should see this :)
Anybody who knows what a linked in is should see this :)
Wednesday, September 16, 2009
Cool new technology
Wanted to blog about this new product/application/company that made waves in the techcrunch top 50 of 2009.. IMO is an application that would turn your iphone to a joystick kind of device for your PC games.. I think this is a nice idea, sure it's not going to beat wii in terms of gameplay, but I am impressed with the idea of controlling your PC games using your iphone or ipod touch.
I was really surprised to see that this company is run by bunch of guys from Gurgoen, India.. nice to see an indian company making waves in innovation rather than doing the mundane software development/maintenance
I was really surprised to see that this company is run by bunch of guys from Gurgoen, India.. nice to see an indian company making waves in innovation rather than doing the mundane software development/maintenance
Subscribe to:
Posts (Atom)
Loading...