Below you will find pages that utilize the taxonomy term “Links”
Posts
Video of my JavaZone talk about Continuous Integration
The videos from JavaZone are up.
Here’s my talk about Extending Continuous Integration, which talks about how I automatically run system level integration tests after every build.
read morePosts
Link: Waterfall works for risk-free projects
I don’t normally post just a link to another blog, but More thinking about “Agile” vs “Waterfall” by Jason Yip is just too important. It the most well-argued, well-referenced, short post I’ve seen about the subject. Here’s a taste:
Be careful about saying that Waterfall is more disciplined. The waterfall model is simple and structured but the “discipline” is in following prescribed steps as opposed to “discipline” in thinking. The second kind of discipline is by far the more important.
read morePosts
JBehave 2.0 released
I’ve learned the value of dealing seriously with connecting requirements to the actual code. The JBehave project started work to make formal, “business friendly” requirements into executable specifications, but due to limitations in Java, it was very clunky to use. JBehave 2.0 has just been released, and it has a much better model.
Here’s a specification:
Story: Play Tabs As a music fan I would like to convert guitar tabs to music So that I can hear what they sound like Scenario: My My Hey Hey Given tab e|--------------------------------- B|--------------------------------- G|--------------------------------- D|----------0--0------------------- A|-0--2--3----------2--0-----0--0-- E|------------------------3-------- When the guitar plays Then the following notes will be played A0 A2 A3 D0 D0 A2 A0 E3 A0 A0 The scenario is connected to Java code.
read morePosts
[link] Package by feature
Stand up and be counted. Which one do you think is best of the following?
Package by layer:
com.app.controllers com.app.model com.app.repositories com.app.exception Or package by feature:
com.app.orders com.app.invoices com.app.products I recently added a new site to my RSS reader. John O’Hanly just published a though provoking article about harmful java code idioms on JavaWorld. I don’t agree with everything he suggests, but I do find his point about “Package-by-layer: Preventing the use of package-private scope” very intriguing.
read morePosts
"Hi, I'm Ruby-on-Rails"
Inspired by the “Hi, I’m a Mac” ads of Apple, Gregg Pollack and Jason Seifer has made these cute Ruby-on-Rails ads (featuring Ruby-on-Rails versus Java and Ruby-on-Rails versus PHP):
Click here to view on YouTube
read morePosts
Talk: Barry Schwartz on the Paradox of Choice
I have been watching videos from the Technology, Education and Design conference (TED) all afternoon. One particularly fascinating talk was Barry Schwartz talking about The Paradox of Choice. I find an almost Buddhist-like understanding of the problem of humanity in the modern world in his talk. But it was the closing words that fascinated me the most: “If you shatter the fishbowl, so that everything is possible, you don’t have freedom, you have paralysis.
read morePosts
Link: Open Source in the Enterprise
CIO JP Rangaswami at investment bank Dresder Kleinwort Wasserstein talks about why he considers open source a corporate IT asset. In this talk, Rangaswami describes how DrKW wanted to create an internal incubator environment in order to combat skill attrition in the late 90s. In the course of doing this, they acquired OpenAdaptor and discovered almost accidentally benefits of the open source development model.
The talk is a bit fleeting and unstructured (and someone’s phone keeps ringing during the presentation!
read morePosts
Link: Spring-MVC Cross-Site Scripting Vulnerabilities
Sverre Huseby examines some security issues with Spring-MVC. As it turns out, the Spring JSP form-taglib provide no HTML-escaping by default, making it very easy to get Cross-Site Scripting vulnerabilities included in the code. The article comes complete with a standalone application that illustrates the problem.
Comments: [Anders Furseth] - Mar 7, 2007 As interesting as this is, Sverre has yet to report the issues to the Spring-MVC team, making this premature disclosure unethical at best.
read morePosts
Ron Jeffries: Features, not tasks
Ron Jeffries reminds us: “… hours aren’t burndown. Accomplishments are. A team that focuses on hours isn’t focusing on getting things done.[…] The point […] is getting backlog items done, not getting tasks done” This really cannot be said too often!
Via Jason Yip
read morePosts
Colorless Green Ideas Sleep Furiously
This phase has been stuck in my head lately: Colorless green ideas sleep furiously. It was first used by the linguist Noam Chomsky as an example of a sentence that is grammatically correct, yet has no meaning.
Interestingly, in 1985 this was taken up as a challenge. The result was a literary competition to write a short text that gives the sentence meaning. Before you continue reading, think for a while about how the sentence could have meaning.
read morePosts
Ralph Johnson: RDBMS as a pattern
Ralph Johnson discusses the use of Relational Database Management Systems (RDBMS)
If you don’t have good architects, big systems will end up as big balls of mud. A lot of companies live with it, but there are certainly big payoffs if you can avoid it. The main problem is that there aren’t enough good architects to go around. One of the advantage of a RDBMS is that it is fairly easy to understand so below average programmers can still get systems running.
read morePosts
The CI feedback device of your dreams
The Device Patented Process Indicating Apparatus. Available soon. We hope.
read morePosts
developerWork: Don't Repeat the DAO
I am happy to see others express positive opinions about universal DAO interfaces in Java. Per Mellqvist writes in developerWorks: “Don’t Repeat the DAO” about creating a GenericDao interface:
public interface GenericDao <T, PK extends Serializable> { /** Persist the newInstance object into database */ PK create(T newInstance); /** Retrieve an object that was previously persisted to the database using * the indicated id as primary key */ T read(PK id); /** Save changes made to a persistent object.
read morePosts
Best of Jason Yip
One of the blogs I enjoy reading is that of Jason Yip: You’d think with all my vide game experience that I’d be more prepared for this (excellent title!). He usually writes short and sweet posts that gets a point across in just a few sentences. Here are a few of my favorites:
The method where people talk to each other and trust each other and build things incrementally and… (I’ll probably blog about this at some later time) The Goals, Questions, and Metrics of User Stories One adopted improvement per person per week What’s the matter with that person: On reacting sensibly to stressful situations (much longer than average) It’s a blog well worth subscribing to.
read morePosts
To autowire or not to autowire
Jason Zhicheng Li has written a blog article about Spring configuration. It is called the 12 Best Practices for Spring configuration. Best practice #1 was “don’t use autowiring*. That got me thinking:
I feel very ambivalent about autowiring. Initially, I thought it sounded like a great idea because it reduced clutter, but then people like Jason convinced me that it was not. The more I think about it, the more usure I am.
read morePosts
Architecture Astronauts
Joel Spolsky had a blog entry seems eerily familiar: The Architecture Astronauts (in outer space)
I’m starting to see a new round of pure architecture astronautics: meaningless stringing-together of new economy buzzwords in an attempt to sound erudite.
I’ve seen the type, and I’m glad to say that we haven’t got any of those around. A bad architect can cause enormous damage.
read morePosts
welcome spammers
welcome spammers Dear Spam Robot: I don’t have much time to read emails, and I especially don’t have much time to read unsolicited commercial emails. But I have decided to make an exception. If you would like to send me unsolicited commercial emails, then I agree to read them on the condition that you promise to pay me $500, and subject to the additional conditions mentioned below. You can accept this offer by sending unsolicited commercial email to me at mailto:make-my-day-q2wxe4q1@pobox.
read morePosts
How Mortal These Fools Be...
How Mortal These Fools Be… …Wherein we explore what it means to be a computer, or computation, or computrons, or a computer programmer, and why Ken is even touching a computer when he’s on vacation. (From Ken Arnold’s Weblog)
[via Artima Weblogs]
read morePosts
Code Generation
Very noteworthy quote:
“I think that in the long term the larger code generation efforts, the “application generators,” will become a thing of the past. They are there because the underlying technologies and architectures don’t yet support programming at a high level. " (Pragmatic Dave Thomas)
Truer words were seldom said.
read more