Archive for March, 2006

Object Thinking - Is your project object oriented?

Ask this question to yourself if you are working on a project that uses a object oriented language. Is your project and your program’s object oriented? If you think that if you have written classes in your project and hence it is Object Oriented then you are terribly wrong. There is lot more to object orientedness than what most of us think. The true essence of Object Orientedness comes from the key characteristics that you might have learnt about in any OOP (Object Oriented Programming) book. Here is the link to a neat article in Java Developers Journal.

Are You Using Abstract Classes, Polymorphism, and Interfaces? If the answer is no, at a minimum your project needs a code review.”

Object Thinking is a habit that any programmer should cultivate, it should be there in your mind always, cross checking your code. The essence of object orientedness is more than what is mentioned in the article above. More on this later.

Blink this Object Thinking - Is your project object oriented? at blinklist.com    Bookmark Object Thinking - Is your project object oriented? at blogmarks    Bookmark Object Thinking - Is your project object oriented? at del.icio.us    Digg Object Thinking - Is your project object oriented? at Digg.com    Fark Object Thinking - Is your project object oriented? at Fark.com    Bookmark Object Thinking - Is your project object oriented? at Furl.net    Bookmark Object Thinking - Is your project object oriented? at NewsVine    Bookmark Object Thinking - Is your project object oriented? at reddit.com    Bookmark Object Thinking - Is your project object oriented? at Simpy.com    Bookmark Object Thinking - Is your project object oriented? at Spurl.net    Bookmark Object Thinking - Is your project object oriented? with wists    Bookmark Object Thinking - Is your project object oriented? at YahooMyWeb

Comments (2)      Cosmos

Foundation Stone #1 - Remember 1 and 0’s make 100s

These days when starters join this industry (some of them from a non computer science background as well), they directly jump into programming languages and projects. As a starter, as a developer, as a designer, as a technical architect or how much ever you grow or into what position you get into, there are some foundation concepts that one should never forget, they are the building blocks and back bone for your growth. The first stone is its all 1’s and 0’s that finally gets processed. We talk about the power of hardware that exists today, the power of complex softwares and applications that ease problem solving. But the basis is everything has to get converted to 1’s and 0’s to be processed and make things work. Be it any technology, any hardware, any software, any medium, any type of communication, medium of communication ultimately everything is 1’s and 0’s. Starters dont just learn but think, think behind the scenes, make your mind follow the programs till the processor and understand what is happening behind the scenes. A lot of foundation stones that you lay, the more chances that you will build a strong career building for yourself.

Blink this Foundation Stone #1 -  Remember 1 and 0's make 100s at blinklist.com    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at blogmarks    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at del.icio.us    Digg Foundation Stone #1 -  Remember 1 and 0's make 100s at Digg.com    Fark Foundation Stone #1 -  Remember 1 and 0's make 100s at Fark.com    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at Furl.net    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at NewsVine    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at reddit.com    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at Simpy.com    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at Spurl.net    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s with wists    Bookmark Foundation Stone #1 -  Remember 1 and 0's make 100s at YahooMyWeb

Comments      Cosmos

Troubleshooting tip #5 -look for alternatives and workarounds

Couple of developers came to me yesterday, that they were unable to solve a problem. They have been cracking their head for more than a day with no feasible solution. I asked them to go through the program and asked them to explain me step by step what the code did and what was expected. It turns out that one api did not support a feature that another api provided. The developers searched in the net, a site provided an unguaranteed plugin, that altered the core api code, and few sites took right in telling them to change the requirement.

As I went through the requirement and the code that they had written, it struck my mind the solution is round the corner and was a real alternative to the actual solution of worrying about inconsistency between the api’s. Ofcourse the solution was not very straightforward and deviated from the traditional approach, but at the same time it was an excellent alternative with no side effects and/or no change in the expected output. The point here is api inconsistencies and incompatibilities are certain to happen, particularly when you are working with more than one technology and trying to make them work together. Rather than trying to fix the api look around and look for alternatives and workarounds. You will find that its not that bad when you can accomplish what you want with simple workarounds. Mark a comment in your code about the alternative. And as a homework you should always keep watching the api patches and new versions and whenever the api inconsistencies are fixed you should set right your code with the straightforward solution.

Blink this Troubleshooting tip #5 -look for alternatives and workarounds at blinklist.com    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at blogmarks    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at del.icio.us    Digg Troubleshooting tip #5 -look for alternatives and workarounds at Digg.com    Fark Troubleshooting tip #5 -look for alternatives and workarounds at Fark.com    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at Furl.net    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at NewsVine    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at reddit.com    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at Simpy.com    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at Spurl.net    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds with wists    Bookmark Troubleshooting tip #5 -look for alternatives and workarounds at YahooMyWeb

Comments (2)      Cosmos

Troubleshooting tip #4 - Use HTML comments to debug

Many of the times when you are working on a dynamic presentation layer technology such as JSP or RHTML, it is very difficult to debug the code because the HTML is intermixed with the language code. Some IDE’s attempt to help you by providing debugging of presentation layer code but it may not be very effective most of the times. Usually when there is a problem in the presentation layer code (not syntax error but logical error that causes misbehavior of the display) you might scratch your head trying to locate the problem. The best solution would be to diplay the code/value generated by the dynamic code inside HTML comments and view the source to see what is getting generated.

Most of the dynamic presentation layer technology these days have simple API’s that can generate what you want and reduce a lot of HTML code to be handled by yourself (for example the Java Tag Library or the rails API etc.). In such cases troubleshooting would be much more difficult. That’s when you just have to put the code within an HTML comment. And once you are viewing the page in the browser you just have to do a view source and look at the commented HTML to see what the dynamic code has generated. You might get a lot of clue and answer to your problem very easily.

Blink this Troubleshooting tip #4 - Use HTML comments to debug at blinklist.com    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at blogmarks    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at del.icio.us    Digg Troubleshooting tip #4 - Use HTML comments to debug at Digg.com    Fark Troubleshooting tip #4 - Use HTML comments to debug at Fark.com    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at Furl.net    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at NewsVine    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at reddit.com    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at Simpy.com    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at Spurl.net    Bookmark Troubleshooting tip #4 - Use HTML comments to debug with wists    Bookmark Troubleshooting tip #4 - Use HTML comments to debug at YahooMyWeb

Comments      Cosmos

Programming tip #2 - Use a scrapbook page

If you are a java/j2ee developer who works on a eclipse IDE then you must already be using scrapbook effectively. If not, then it is high time you started using it. A scrapbook page helps you test a piece of code without the pain of writing an entire program. Say you want to test displaying “Hello World” on the console using java. Traditionally you would write something like below.

public class HelloWorld {
    public static void main(String[] args) {
      System.out.println(”Hello World”);
    }
}

But when you open a scrapbook page in eclipse, you just have to write the below statement,

System.out.println("Hello World");

To create a scrapbook page, once you are in eclipse, select one of the folders in your project and right click. Then select New->Other. From the window that opens, select Java->Java Run/Debug->Scrapbook Page. Once the page is created write the above statement. Highlight the statement and click the run button, voila “Hello World” gets printed in the console view. What happens behind is whatever is needed to execute the above statement is automatically added. Ofcourse the main purpose of the scrapbook page is to test a small piece of code, api and/or logic, so that you can save time typing in a complete program.

Blink this Programming tip #2 - Use a scrapbook page at blinklist.com    Bookmark Programming tip #2 - Use a scrapbook page at blogmarks    Bookmark Programming tip #2 - Use a scrapbook page at del.icio.us    Digg Programming tip #2 - Use a scrapbook page at Digg.com    Fark Programming tip #2 - Use a scrapbook page at Fark.com    Bookmark Programming tip #2 - Use a scrapbook page at Furl.net    Bookmark Programming tip #2 - Use a scrapbook page at NewsVine    Bookmark Programming tip #2 - Use a scrapbook page at reddit.com    Bookmark Programming tip #2 - Use a scrapbook page at Simpy.com    Bookmark Programming tip #2 - Use a scrapbook page at Spurl.net    Bookmark Programming tip #2 - Use a scrapbook page with wists    Bookmark Programming tip #2 - Use a scrapbook page at YahooMyWeb

Comments (1)      Cosmos

A tribute to BASIC

The first programming language I learnt was BASIC (Beginners All purpose Symbolic Instruction Code). The interpreter I used was GW-BASIC (GW has no definitive expansion but usually called Gee Whiz) from Microsoft. The size of GW-BASIC interpreter was just 80Kb (remember? 1024 bytes make a kilo byte, so 80,000 bytes approximately). I am fascinated and thrilled whenever I think about this.

BASIC was not all that powerful like this generation programming/scripting languages. But it contained the core features of a programming language and a minimal of system functions. But to me it was the right language to start with. It helped me gain a lot of knowledge on the basics of computers and logic development. In 1990, 80Kb was still a significant size but still I could carry it on a 640 Kb floppy diskette with lot of my programs along with it (100 of those discs make a CD).

And if you didnt know this, the ancestor of Visual Basic, Visual Basic .Net, ASP and VB Script is BASIC. Microsoft had been very good at practicing and preaching Copy-Paste from the early days (QDOS -> MS DOS -> Windows, BASIC -> BASICA(IBM)/GW-BASIC(MS) -> QuickBASIC -> VB) :-)

Blink this A tribute to BASIC at blinklist.com    Bookmark A tribute to BASIC at blogmarks    Bookmark A tribute to BASIC at del.icio.us    Digg A tribute to BASIC at Digg.com    Fark A tribute to BASIC at Fark.com    Bookmark A tribute to BASIC at Furl.net    Bookmark A tribute to BASIC at NewsVine    Bookmark A tribute to BASIC at reddit.com    Bookmark A tribute to BASIC at Simpy.com    Bookmark A tribute to BASIC at Spurl.net    Bookmark A tribute to BASIC with wists    Bookmark A tribute to BASIC at YahooMyWeb

Comments (1)      Cosmos

Cranky Middle Manager Show - Managing in India with Naveen Lakkur

My mentor, friend, fellow navigator, co-founder and CEO of Compassites Software Solutions, Naveen Lakkur, gave an interview for the popular show in podcast network, “Cranky Middle Manager Show”. If you have a dream of becoming a successful entrepreneur, then this is the guy whom you could look at as a great example. A serial entrepreneur who has been key in bringing up five successful companies, Naveen has a lot of innovative ideas that can make a significant difference to a company from traditional companies.

Blink this Cranky Middle Manager Show - Managing in India with Naveen Lakkur at blinklist.com    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at blogmarks    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at del.icio.us    Digg Cranky Middle Manager Show - Managing in India with Naveen Lakkur at Digg.com    Fark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at Fark.com    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at Furl.net    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at NewsVine    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at reddit.com    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at Simpy.com    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at Spurl.net    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur with wists    Bookmark Cranky Middle Manager Show - Managing in India with Naveen Lakkur at YahooMyWeb

Comments (4)      Cosmos

Programming tip #1 - Starters, start with the right tool

Every year I train a group of people passed out from college and start their career in the IT industry. Before they start writing a “Hello World” program I tell them, that they should never use any IDE (Integrated Development Environment) and use notepad or any simple text editing tool to write the programs. Why, because IDE is for a developer who has got used to the programming language’s syntax and semantics. IDE’s can aid developers in completing the program faster without worrying about silly typos and syntax errors. Errors and typos are highlighted by the IDE immediately and could be corrected then and there. This is important because cumulatively it can save a lot of time during the projects. But as a starter when you are learning something new, you need to learn by mistakes, even if it is a typo or a syntax error.

You get used to the language, the compilation/interpretation and the file structures easily when you work with minimal tools like a notepad or a simple text editing tool. This is not only applicable when you are learning a programming language, but in lot of other areas as well, like for example learning RDBMS (Relational Database Management Systems). There are many tools which you can use to create database, tables and insert data without you even knowing SQL (Structured Query Language). But it is not going to help you learn the intricacies of the language. If you get used to using sophisticated tools from the beginning, later you will find it difficult when you run into trouble and the IDE/tool does not help you in fixing the problem. So starters, start learning right using right tools.

Blink this Programming tip #1 - Starters, start with the right tool at blinklist.com    Bookmark Programming tip #1 - Starters, start with the right tool at blogmarks    Bookmark Programming tip #1 - Starters, start with the right tool at del.icio.us    Digg Programming tip #1 - Starters, start with the right tool at Digg.com    Fark Programming tip #1 - Starters, start with the right tool at Fark.com    Bookmark Programming tip #1 - Starters, start with the right tool at Furl.net    Bookmark Programming tip #1 - Starters, start with the right tool at NewsVine    Bookmark Programming tip #1 - Starters, start with the right tool at reddit.com    Bookmark Programming tip #1 - Starters, start with the right tool at Simpy.com    Bookmark Programming tip #1 - Starters, start with the right tool at Spurl.net    Bookmark Programming tip #1 - Starters, start with the right tool with wists    Bookmark Programming tip #1 - Starters, start with the right tool at YahooMyWeb

Comments (1)      Cosmos

Next entries » · « Previous entries

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