Popular Posts

Friday, August 21, 2009

Architecture versus Design

Rick Kazman and Amnon Eden's "Defining the Terms Architecture, Design, and Implementation" and "Architecture, Design and Implementation" provide a distinction based on Intension and Locality criteria.

Rick and Amnon argue that

  • Architectural specifications are intensional and non-local
  • Design specifications are intensional but local
  • Implementation specifications are both extensional and local

They demonstrate that:

  • Architectural styles are intensional and non-local
  • Design patterns are intensional and local
  • Implementations are extensional and local

A must read for architects and designers.

Wednesday, August 19, 2009

On Software Design

Wednesday, August 12, 2009

What Every Web Programmer Needs To Know About Security

Excellent presentations titled "What Every Web Programmer Needs To Know About Security".

Software Architecture Challenges in the 21st Century

A workshop titled "Software Architecture Challenges in the 21st Century" took place some time back (June 2009).
Here is Diomidis D. Spinellis account of the talks. Presentations are located here.

Sunday, July 12, 2009

Software reuse

Reuse is a complex issue. It is about people and education, not just architecture, as Jeremy Meyer says here.

Friday, May 08, 2009

A great blog post from Martin Fowler on a very difficult subject.

Sunday, April 19, 2009

Nasa on complexity of flight software

The document is here.

Wednesday, December 07, 2005

Excellent SOA paper

Don Ferguson's paper on Services Oriented Architecture (SOA) published in the IBM Systems Journal (VOL 44, NO 4, 2005) can be found here.

Tuesday, December 06, 2005

Starting threads in EJBs

Enterprise Java Bean (EJB) specs forbids EJB components from managing (starting, stopping, suspending, resuming, changing thread priority, changing name) threads.

According to Wayne Beaton, if you must use a thread inside an EJB, take a look at JSR 237 which defines Work Manager. It's not currently part of the J2EE specification, but it is supported by both BEA and IBM in their application server products.

Friday, December 02, 2005

Making things happen

In this chapter excerpt from his book, The Art of Project Management, Scott Berkun illustrates the value of prioritization and how it helps to "make things happen".

During one of my earlier projects, that I worked on, at Hewlett-Packard, we would sometimes find ourselves in a tough argument. Half the team felt strongly for option 1 and the other half liked option 2. Pawan gupta, who was managing the team, would walk into the discussion, ask a few questions, align the discussion in line with the current goals in hand, and quickly get everyone to agree on one option.

Over 30 Cheatsheets

I found Pete Freitag's post "Cheat Sheet Roundup - Over 30 Cheatsheets for developers" very useful.

You might want to check it out.

Monday, July 18, 2005

Components vs Services

"If you need ACID - you need components, not services (in SOA). "

by Udi Dahan, http://udidahan.weblogs.us/archives/030112.html

Thursday, June 30, 2005

Why smart people defend bad ideas

Why smart people defend bad ideas -

http://www.scottberkun.com/essays/essay40.htm

Thursday, June 23, 2005

Top programming languages

An interesting read on the top OO languages -

http://rmh.blogs.com/weblog/2005/05/then_and_now_th.html

Wednesday, December 01, 2004

a += b is NOT the same as a = a+b

Yeah, its not the same in Java.

int a = 2
float b = 3.2

a = a + b => leads to compile time error as expected. Explicit cast is required because of loss of preciiosn.

a += b => (Surprisingly!!) works fine - without even a warning!!

According to the Java Language Specification ----

A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T)((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once. Note that the implied cast to type T may be either an identity conversion (§5.1.1) or a narrowing primitive conversion (§5.1.3). For example, the following code is correct:

short x = 3;
x += 4.6;

and results in x having the value 7 because it is equivalent to:

short x = 3;
x = (short)(x + 4.6);

So its a feature of the language after all !!

And u thot they never preach u wrong.... Most of the books tell ya otherwise, don't they?







Grady Booch's Handbook of Software Architecture

Handbook of Software Architecture by Grady Booch -

- http://www.booch.com/architecture/index.jsp

The site is not completely functional.

Booch's blog is at:

http://www-106.ibm.com/developerworks/blogs/dw_blog_rss.jspa?blog=317

Tuesday, November 30, 2004

We know the rule on using GC.Collect() - Do not use it unless u must use it!

So when do we use it?

Go check this -

http://dotnetjunkies.com/WebLog/avnrao/archive/2004/11/30/34240.aspx


Monday, November 29, 2004

Java linkblog

Found the following blog useful:

http://www.thauvin.net/linkblog/xml.jsp

Gives lots of links to Java related articles/software....

Wednesday, November 24, 2004

funny sig

Found this funny sig in John Evdemon's blog...

"There are only 10 types of people in this world; those who understand binary and those who don't."