cwash into software

RubyRX NC

by Chris Wash on Feb.25, 2009, under Meta/Blog

The first Ruby I looked at was actually back in 2002, well before Rails, during college as part of a group project in a programming languages course. At the time, most of the information my team could find on it was in Japanese. I looked at Rails initially in 2005 and found some things I thought were lacking in the framework.  I never pursued it much more than that because I didn’t feel like paying the early adopter tax. It had some growing up to do. But seeing as how I recently have been working with Prototype a lot, which aims to almost turn Javascript into Ruby, (a few plugins will get you even closer…) I’ve found a renewed interest in Ruby. I figured I’d take a closer look at what is going on in Ruby-land and to that end, I drove down to RubyRX in Durham, NC last week.

Career 2.0

Jared Richardson recently published a new book based on some ideas he’s been floating around in talks for a while. Jared stopped in at the Richmond JUG recently to give a talk and we were all really intrigued and entertained with his presentation. I was fortunate to pick up a copy of Career 2.0 while I was at RubyRX and it’s a great handbook for investing in your knowledge portfolio through sharing knowledge. There are a lot of useful tips on how to improve your writing, speaking and networking skills. Take a look at the book’s blog for more info.

Dr. Nil

I was interested in seeing Nathaniel Talbot’s talks. I had already seen his talk The Fear of Programming in video, which he has refined a bit and created an alter-ego “Dr. Nil” (Phil?) by asking developers to talk about their feelings/emotions and how that influences how you think and act. It was a very interesting talk. I also saw his talk Five Skills Every Freelancer Should Have and he’s floated the idea of spinning that off into a book. Keep an eye out for it!

HAML and SASS

These technologies were mentioned in a few different talks I attended and I found them interesting because what I’ve never liked about Rails is that its view templates had code snippets in them. This leads to tag soup and has been discouraged in JSP and other areas for a while now. I’ll blog more on this in another post. But  HAML and SASS take an interesting approach. I have my doubts about whether or not it will gain the traction needed to make “pretty” templates a bigger issue. From what I hear, (and feel free to correct me if I am wrong) it seems some of the more prominent voices out there aren’t sold on it yet and have strong feelings about the whole idea.

Build Up Vs. Build Down

I write here often about what I’ve been doing with Seam and Java EE. Seam’s success has come from the philosophy that a developer’s job will be easier if there is a simple interface to a deeply integrated set of powerful frameworks. Grails has a similar philosophy. A common thread in talks I attended at RubyRX was the idea of building down instead. Seeing all of the neat tricks you can do with metaprogramming, this makes a lot of sense for Ruby and many frameworks in the Ruby world take advantage of this idea. There are some very interesting implications with these two paradigms and how they affect code reuse. But that’s another blog post…

It’s All Been Done Before…

Rick DeNatale gave a very interesting talk on the history of dynamic-typed languages and their parallel evolution along with static-typed languages. I always find talks about how languages have evolved to be fascinating, especially if you consider there are a number of problems that we just keep solving over and over again every 20 years. There is wisdom gained in knowing how we got to the present, and I’d like to think these kinds of discussions leave you with insights about where we’ll go from here.

 
3 Comments :, , , , , , , more...

Don’t Unit Test Anymore… No, Really!

by Chris Wash on Feb.17, 2009, under Developer Testing, Java, Software Engineering

I just read Your Unit Tests Lie to You by Janusz Gorycki and I was going to leave a comment there, but thought it was more appropriate to expand my comments off into their own thing.  For those that haven’t read the article, its basic premise is to grab hold of the nearest “test infected” reader and shake the warm and fuzzy out of them.  It paints the short sightedness of many recent “unit testing” converts as living in a dream world where unit tests should replace formal testing. It follows with many sentiments I’ve read (and written about here) for a while now.  It’s not that I disagree with what is being said in the article, or its tone for that matter; most of what is being said is spot on.  Unit testing is definitely not a silver bullet.  If you read my blog often, you no doubt get that. The article ends:

So please, don’t fire your QA department just yet. Their job is still important, even if you unit test.

So to Janusz, the fundamental problem here is a general ignorance of the purposes behind a unit test suite.  I agree 100% that’s the primary factor behind his problem.  What don’t we agree on?  Semantics.  But semantics are important!  How far do we have to go for a true zen-understanding of this issue?  Not far.  Indulge me — (continue reading…)

6 Comments :, , , , more...

In response to Stackoverflow #38/”Quality Doesn’t Matter That Much” — Jeff and Joel

by Chris Wash on Jan.31, 2009, under Meta/Blog, Software Engineering, Uncategorized

Update: Robert Martin is scheduled to appear on the Feb 10 episode of the SO Podcast.  Should be interesting to see where things go.  Also, Jay Fields has weighed in on the topic.

Update #2: Listened to the new SO podcast and am working on a short followup post.  I just met another local boy and kindred spirit in Justin Etheredge who has also had a few things to say about this whole debacle.

I wanted to add my two cents to this philosophical, in my view very important, but not very pragmatic debate. For the uninitiated, the argument begins with the Stackoverflow Podcast Episode #38 which is a discussion between Joel Spolsky and Jeff Atwood.  They discussed, among many other topics, some of “UncleBob” Martin’s recent material found in his book Clean Code, (actually, Spolsky cited Martin’s appearance on Hanselminutes as the spark to his comments), which Martin responded to with a number of tweets and a blog post. (continue reading…)

3 Comments :, , , , , , , , , , , , , , , , , , , , more...

16 Apps That Lessen TEH SUCK of Web Development in XP

by Chris Wash on Jan.21, 2009, under Meta/Blog, Software Engineering

Update: Sysinternals puts out some great developer friendly tools. They come in handy!
Update #2: I’ve made the switch to using Launchy over DOMercury.

Working on Windows XP is unavoidable at my job. While it’s not my favorite environment, I’ve found a decent baseline of software tools to augment the barebones OS that can get me to a place where it isn’t that bad. Note, I’m not including any tools for doing off-development related things, anything development related that is on the web or any cool plugins for any of these programs.

Here is what I need, in roughly the order I download them: (continue reading…)

8 Comments :, , , , , , , , , , , , , , , , , , more...

On Software Quality

by Chris Wash on Jan.13, 2009, under Software Engineering

Dwight D. Eisenhower said “In preparing for battle I have always found that plans are useless, but planning is indispensable.” After reading Jason Yip’s No matter how many times you say it, we still don’t need a QA on the team, I started thinking about how similar this is to the correlation between (software) quality and exploring what software quality is. In the spirit of Jason’s article, thinking about how you “get quality right” will have more positive results for the sake of quality than searching out defects. So the question stands, how do you get quality right? I’m not sure there’s a cut and dry answer, but I have a feeling it’s in the details. I know it sounds anecdotal, but quality isn’t easy. It requires a lot of effort applied constantly. It requires reward and incentive, not punishment and fear. It’s caring about small things, and shifting how your team thinks, communicates and works together. (continue reading…)

8 Comments :, , , , more...

24ways

by Chris Wash on Dec.01, 2008, under Meta/Blog

I can’t believe it’s already December! I came across 24ways last year and thought it was a neat concept: an ‘advent calendar for web geeks’ – take a look! They had a pretty good variety last year and I’m expecting some good things this year.

1 Comment :, , , , more...

Must Haves/References For Modern Java EE Developers

by Chris Wash on Nov.28, 2008, under JBoss Seam, Java, Software Engineering

I’ve been doing a lot of reading lately and have been meaning to plug some of my favorite reads, and one of the things that I’ve been trying to read with an eye toward is for converting those that have been stuck on “behind-the-curve” projects to the new way of thinking and doing things. As such, and just in time for the weekend, I’ve compiled a list of my favorites with an eye to the “movers and shakers” that have driven innovation in the Enterprise Java world recently. Note that even though some of these links are specific to certain frameworks/technologies, there is a common thread throughout most of these that have a bigger focus on the best way to solve problems using Java 5/EE 5 constructs and concepts.

A book that should be on any Java developer’s shelf is Effective Java (2nd Edition). Make sure you get the second edition, for all of the Java 5 changes. This talk by Joshua should whet your appetite. (His talk on good API design is also very good.) You should also take a look at Bob Lee’s talk on Guice. Guice’s philosophy and focus on typesafety has spilled over into Web Beans (and newer versions of Seam) and its annotation based approach has heavily influenced newer Spring features. I especially like his points on type safety around the 11-minute mark. The walkthrough at the end of the talk from “old way” to “new way” is great for people who haven’t really gotten away from Factories, Delegates, and Service Locators yet.

The Guice video mentions that a common thread in modern Java frameworks is a focus on testability. Testing is a very important concept that nearly all new frameworks have embraced, but you still need know-how to be successful with testing. I’ve come across some great books recently in the automated (developer) testing arena. I’ve found the most thorough book on the topic out there is Lasse Koskela’s Test Driven. The ideas and topics discussed in the book are really language independent, and work equally well with other languages. To cut your teeth on TestNG, which the Seam documentation turned me onto, I recommend the TestNG developers’ book Next Generation Java Testing: TestNG and Advanced Concepts. Cedric Beust, also the author of EJBGen, and Hani Suleiman, author of the Bile Blog, produced a book that was a suprisingly good read. It’s packed with a lot of knowledge and some interesting takes on EE concepts. Newer versions of JUnit also include many of these features and concepts, so you’ll get the underpinnings of these concepts in this book. This video gives you a basis to TestNG’s approach.

As one of the growing number of developers who have an application in the Seam In Production page, there are a few Seam resources I have to share. Even if you don’t get into Seam, it should be on your radar because a lot of the core concepts around conversations have evolved into Web Beans, and are found other frameworks like Apache Orchestra and Spring WebFlow. Pete Muir did a Webcast that’s a great introduction to Seam 2.

Author of one of my favorite Seam blogs, Jacob Orshalick, has created a DZone RefCard for Seam 2.1 Core. It’s right off the presses, being published this week, but is a great quick-capsule review of what Seam can do for you, and nice to have on your desk if you’re writing Seam. If you need more in-depth descriptions of what’s on the RefCard, Jacob also coauthored the latest edition of the great Seam reference Seam Framework: Experience the Evolution of Java EE.
Dan Allen’s Seam in Action is another excellent resource. Of course, the awesome Seam Docs and Forums always come in handy. You should also RSS in.relation.to – the Hibernate/Seam developers’ group blog.

I know I’m leaving some great things out. What resources do you think someone who is used to J2EE should take a look at to get them “up to speed” with the state of the art?

1 Comment :, , , , , , , , , , more...

Java 6 and Maven 2.0.9 on Leopard

by Chris Wash on Nov.19, 2008, under Java

Trying to run through a screencast I’m putting together after upgrading to Leopard, I noticed Maven giving me a strange error when trying to run archetype:generate and realized that Leopard includes its own version of Maven (and Ant) out of the box.  The problem is that it’s version 2.0.6, which doesn’t have support for this feature.  I then set about trying to upgrade Maven (and in the process, Java) and here is what I uncovered. (continue reading…)

7 Comments :, , , , , , more...

Axis2 client using ADB – runtime dependencies

by Chris Wash on Sep.10, 2008, under Java

I couldn’t find any definitive answer to this question, so here’s what I found, just incase anyone else needs this little nugget of information: the runtime dependencies for an Axis2 client that uses Axis Data Binding (ADB):
activation.jar
axiom-api.jar
axiom-dom.jar
axiom-impl.jar
axis2-java2wsdl.jar
axis2-jaxws.jar
axis2-jaxws-api.jar
axis2-metadata.jar
axis2-saaj.jar
axis2-saaj-api.jar
backport-util-concurrent.jar
commons-codec.jar
commons-fileupload.jar
commons-httpclient.jar
neethi.jar
wsdl4j.jar
wstx-asl.jar
xml-resolver.jar
xmlbeans.jar

It’s long, I know – but not as long as what you find in $AXIS2_HOME/lib!

6 Comments :, , , , more...

Weblogic 9.2 + Seam : Victory is Mine!

by Chris Wash on Aug.21, 2008, under JBoss Seam

After fighting with WebLogic 9.2 for a while, I was able to get a seam-gen’d app running.

You’re relegated to using JPA/Hibernate because of an outstanding bug BEA and Sun seem to be both pointing fingers at each other over, but it’s not a big deal.  At least for now, all of the persistence in this app is going to be offloaded to services.

I’ll work on writing this up more formally, but here was a running list of issues I had to deal with.  If you need more information, let me know.  I apologize that this is kind of rough, but it’s better than nothing.

  1. Follow steps outlined in reference guide. (http://docs.jboss.com/seam/2.0.2.SP1/reference/en-US/html_single/#weblogic)
  2. Change the build.xml’s jboss.home’s to bea.home’s, and redefine them like so:
    <property name="deploy.dir" value="${bea.domain.dir}/autodeploy" />
    <property name="jboss.deploy.dir" value="${jboss.home}/server/default/deploy" />
  3. Remove the library-ref from weblogic.xml (that you put in following the ref guide).
  4. Remove the Namespace, Schema, and Version definitions for the web-app tag in web.xml – there’s a problem trying to add version 2.5… (https://jira.jboss.org/jira/browse/JBSEAM-2247)
  5. Remove JSF/MyFaces deployments from WL domain if there are any (JSF 1.1 libraries conflicting with 1.2)
  6. Add jsf-api.jar, jsf-impl.jar, commons-collections.jar, persistence-api.jar, el-api.jar, el-ri.jar (needed to pull out of seam fisheye) to deployed-jars.list.  You should be seeing Seam trying to start up at this point, IOW, you’re in “whack-a-jar” mode.

One other funky thing — and I’m not sure what error exactly was causing this (probably related to the interceptors and JSF problems causing the deployment to suspend) but WL was causing some locks to occur that I had to clear out of my domain/server/tmp/* and basically “clean” everything out.  It was quite annoying, but things seem to be better now.

1 Comment :, , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...