Posts

Showing posts from May, 2008

find and xargs

The two Unix Utilities I cannot live without are find and xargs. find is a utility that will recursively find files and xargs will let you run a command for each line in the input e.g. 'find . grep java$ xargs wc -l ' will count the number of lines for all the java files in the current directory and all subdirectories.

Architects Dilemna

Most software development projects are under time pressure from day one so that you aren't late to the marked with your product. Below is a post which states that you should not do a Big Design Up Front but be more focussed on being Agile. I think that what is more important is wether you have smart designers and developers in your team who are willing to refactor a major piece of software to incorporate a change in design or requirements. Big Design Up Front vs You aren't gonna need it anyway

14 questions a new developer to a team should ask?

The first week of joining a new group can be quite intimidating especially if it does not document the development process on a Wiki. These are the list of questions that a new member joining a team should ask and a development group should be willing to provide answers for. The following process should be clear to a team member within the first two weeks of starting. Know all the members in your team and the role they play How to run the software Have some basic knowledge of the domain Which database is being used What are the languages being used for development What libraries and frameworks are used. What is the version of all the components used for development How to build the code How to run the code in a debugger How to use the version control system and make a simple change to the code How to test the code How to submit the code How to use the enhancement and bug tracking system How to connect remotely from home

Googles Open Source Usage

An interview with Googles Open Source Manager, reveals quite a bit of how Google functions. Googles Open Source Q&A

Enterprise Architecture and Patterns

Below is a good resource on Enterprise Architecture and Patterns. Microsoft Enterprise Architecture and Patterns

iPhone

For those considering purchasing a 3G iPhone you can check AT&Ts 3G coverage I think the iPhone and smartphones like the iPhone is the next PC, by which I mean that it will provide a PC class computing platform with network access to people all over the world who don't regularly use a PC. A new generation of users will be exposed to a new way of interacting with the Internet using the touch screen. This is where the next set of startups are going to find success.

Software Architecture

Reading this blog about interviewing for a software architect position got thinking that one of the most important taks of a software architect is to come up with right set of questions.

Classic Software Mistakes

As expected the most common mistake made in software development is unrealistic expectations. Classic Software Mistakes Survey Here is my list of software development mistakes in no particular order Mismanaged transition to new software architecture Hanging on to an old software architecture for to long Releasing software before it is ready Not allocating sufficient time to clean up code Overestimating simple software development tasks Not knowing who your smartest software developers are Not ensuring that your smartest software developers are completely engaged in the project QA focusing on quantity rather than quality of bugs

Functional Programming

I have spent a lot of time chasing bugs where there is a lot of code modifying the state of variable. Functional Programming avoids state and mutable data. Google use functional programming concepts of map and reduce to perform search in parallel over a large cluster of machines. Functional Programming 101 Function Programming Wikipedia

Java not popular amongst new developers

Java has been around for over 10 years now. An interesting post on the lack of interest in Java by new developers. http://www.clevegibbon.com/wordpress/archives/102

Never use a String

http://stephan.reposita.org/archives/2008/05/02/never-never-never-use-string-in-java-or-at-least-less-often/ An excellent post on why you should minimize using String, int and other Primitive Data Types.One advantage I personally see is in the Code Completion feature of Oracle JDeveloper where it will show me the data type for the methods but not the variable name. One should be careful of not overdoing this approach as it can make your code a lot more verbose.