Saturday, November 23, 2002
Little Nybbles of Development Wisdom
Software is more an art or skill than a science or engineering discipline. The most effective means of becoming a great programmer is through an apprenticeship (even if self-directed). There is no substitute for coding a big system that evolves over time. It seems to take about 2 to 3 years before somebody absorbs the important lessons. You can read books and papers in an effort to avoid common mistakes, but talking to and working with other programmers still seems to be the best (if slow) approach. As Chris Brooks says, becoming a commercial programmer is like becoming an architect; being a junior associate for a while is part of the process.

Wednesday, November 20, 2002
Object Prevalence

Advogato Thread on Prevayler


Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication
This guide presents a practical, scenario driven approach to designing and building secure ASP.NET applications for Windows 2000 and version 1.0 of the .NET Framework. It focuses on the key elements of authentication, authorization, and secure communication within and across the tiers of distributed .NET Web applications. (This roadmap: 6 printed pages; the entire guide: 608 printed pages)

classworlds is a framework for container developers who require complex manipulation of Java's ClassLoaders. Java's native ClassLoader mechanims and classes can cause much headache and confusion for certain types of application developers. Projects which involve dynamic loading of components or otherwise represent a 'container' can benefit from the classloading control provided by classworlds.

classworlds provides a richer set of semantics for class loading than Java's normal mechanisms, while still being able to provide a ClassLoader interface to integrate seamlessly with the Java environment.

Class.forName() is evil...
We've all done it before I guess. Called Class.forName( "" ) to load some class at runtime based on some configurable class name. At first it seems very groovy.

However this does not work very well in application servers, containers or various environments like Maven, Ant, JUnit etc. The days of everything being in the system class loader are over, now we need to live in a multiple-classloader world.

Response to Comments

Justin Rudd goes more into his RESTful webservice network. It's completely different from mine. His is far easier to stitch together... think I shall have to investigate. #

Loose Coupling is Like Pornography
Loose coupling is like pornography. Everyone talks about it, but when challenged, few can tell you what it is. For some, it borders on a religion with the attendant fervor one would expect from the newly converted. Others even go so far as to suggest that the definition of loose coupling is itself loosely coupled, providing them an excuse to avoid dealing with it. But with Loose Coupling as the title of my forthcoming book, I'm not going to get off quite so easily. Take a look at this table and let me know what I've missed.

Kaye makes an excellent table breaking down the differences between tightly couopled and loosely coupled systems. #


the server side
dotnet junkies
sam gentile
sam ruby
paul prescod
.net guy
jon udell
john robb
blogging roller
desktop fishbowl
cafe au lait
be blogging
kevin burton
james strachan
the truth is out there
brett morgan
blogging roller #2
joe's jelly
psquad's corner
rickard oberg
the saturn times
russel beattie
gerhard froelich
pete drayton
clemens vaster
ingo rammer
ken rawlings
simon fell
bit working
justin rudd
chris sells
john lam
jim murphy
brian jepson
john burkhardt
matt pope
better living through software
loosely coupled
understanding software engineering
rest lst,rdf-interest lst,tag lst ucapi lst

A man, his puppy, and a double barreled shotgun.

Powered by Blogger