tag:blogger.com,1999:blog-39711598173627971632024-03-14T01:10:44.927-07:00zeroInsertionForceThis humble blog attempts to raise and discuss issues about how to do software development the *right* way. There are, of course, many right ways but all are characterized by the principle of zeroinsertionforce. If you're doing it right, you shouldn't need a hammer.chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-3971159817362797163.post-35672886179714569102013-01-21T11:55:00.002-08:002013-01-21T11:55:19.908-08:00Mental Hygiene for Software Engineers: Avoiding Micro Level Technical Debt
The essence of software engineering, in my opinion, can be captured in two words: managing complexity. Perhaps it's not the same for others, but, for me, the most critical aspect of my job as a software engineer is to manage complexity. Software is complex. Far too complex for the all too human brain. The human brain is not only limited by finite resources but it is chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com1tag:blogger.com,1999:blog-3971159817362797163.post-65847299169823691942012-04-12T12:03:00.000-07:002012-04-19T07:30:23.600-07:00Maven Does Not Suck . . . but the Maven Docs Do
I'm not going to go into the whole Maven debate, but suffice it to say that I'm a strong proponent of everything best practice, and, to me, Maven is an embodiment of best practice. By this I mean that Maven is built around a specific best practice build methodology. Note, I said a specific best practice build methodology. In the real world, there are more than a handful of build methodologieschadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com9tag:blogger.com,1999:blog-3971159817362797163.post-31048117304884925882011-03-27T12:09:00.000-07:002011-03-27T12:09:42.770-07:00Agile Development: A ReminderJust a minor rant, I mean, reminder . . .
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
This is the core of the Agile Manifesto, of course, reprinted here as a gentle reminder.chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com0tag:blogger.com,1999:blog-3971159817362797163.post-54024443209883064952011-01-25T10:08:00.000-08:002011-01-25T10:08:53.780-08:00Development without Constraint -- An Introduction to the Content Repository API for Java (JCR)chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com0tag:blogger.com,1999:blog-3971159817362797163.post-42642537309040878592010-12-28T14:53:00.000-08:002010-12-30T14:34:52.757-08:00The Hidden Cost of Outsourcing Software: Software IntelligenceAs everyone knows, time in the world of software passes very quickly when compared to other aspects of business. So, in the last ten years, the way many companies handle their software needs has seen drastic change. In particular, many companies and organizations that would have, in the last century, employed their own software engineers, now outsource the creation of software to chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com8tag:blogger.com,1999:blog-3971159817362797163.post-7040039934231034802010-12-17T09:31:00.001-08:002010-12-17T09:42:28.922-08:00Development without ConstraintA presentation on developing apps with the JCR as a data storage. This includes an interesting discussion of the general topic of RDBMS verus non-relational ( NoSQL ) database offerings.
Development without Constraint
View more presentations from Chad Davis.chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com0tag:blogger.com,1999:blog-3971159817362797163.post-17669310255407407552010-12-12T14:09:00.000-08:002010-12-12T14:10:41.659-08:00The Content Repository API for Java ( JCR ) -- Development without ConstraintOn Thursday, December 16th, I'm giving a presentation at the Colorado Springs Open Source Users Meetup on developing applications with the Content Repository API for Java. This includes an introduction to the JCR and a discussion of the confusing issue of knowing when you need an relational database, and when you might be better served by one of the new NoSQL choices. Drop by if you chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com0tag:blogger.com,1999:blog-3971159817362797163.post-72954771280949431002009-12-11T09:52:00.000-08:002010-03-18T15:58:39.043-07:00Fundamentals of Modern Software: CGIYou might be asking, "CGI? Are you talking about that 20th century web application technology? Common Gateway Interface?" Absolutely. But not in the way that this blog title suggests.
Before I started writing Java software for a living, I went to school to learn about computer science. I learned some good things, but I feel that, in retrospect, my educational chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com2tag:blogger.com,1999:blog-3971159817362797163.post-39113557330711214242009-05-28T09:02:00.000-07:002010-03-18T15:59:13.350-07:00Trance and Software DevelopmentA less technical post . . . I'm constantly on the search of better music to listen to while developing software. It's a hard thing to figure out. Most of the music that I would normally listen to doesn't work for writing software. Moreover, the music that I can listen to while developing changes with the different types of tasks that I find myself involved in each day. I'm going to give some chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com6tag:blogger.com,1999:blog-3971159817362797163.post-15711093470084060542009-03-12T14:53:00.000-07:002010-03-18T16:04:44.862-07:00Maven: The Definitive Guide -- Book ReviewMaven: The Definitive Guide by O'Reilly provides a great introduction to this increasingly ubiquitous development tool. Admittedly, this ubiquity is still perhaps limited to the Java open source community, but it's spreading fast, and with good reason. Many have knocked Maven for being overly complex, or over engineered, and I kept my distance for a while. I recently became more involved with chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com3tag:blogger.com,1999:blog-3971159817362797163.post-91700842712905260112009-02-22T16:37:00.001-08:002010-03-18T16:06:35.744-07:00ApacheCon Europe Struts 2 Training PodcastThe folks at FeatherCast have just interviewed me about my training at the upcoming ApacheCon Europe. FeatherCast is the "unofficial podcast from the world of the Apache Software Foundation". Thanks are due to them for taking the time to interview the trainers who will be at ApacheCon Europe. I think this gives potential attendees an effective way of evaluating the training sessions and chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com1tag:blogger.com,1999:blog-3971159817362797163.post-23723163240225334272009-02-01T13:25:00.000-08:002010-03-18T16:05:16.663-07:00Struts 2 Ajax Training at ApacheCon Europe
I'm happy to announce that I'll be at the European ApacheCon conducting a one day training on doing Ajax with Struts 2. This short course will demonstrate how the Struts 2 framework makes Ajax development a natural, and easy, thing to do. The framework is no longer against you!
The training will be a hands-on, everybody codes affair. On route to learning how to do Ajax on Struts 2, we'll chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com5tag:blogger.com,1999:blog-3971159817362797163.post-39706923546107384432008-12-12T08:03:00.000-08:002010-03-18T16:05:31.130-07:00Struts 2 in Action, Book NewsStruts 2 in Action, from Manning Publications, is now available in Spanish and German language editions. As one of the authors of this fine book, I am happy to see its increasing availability. It's also available on the Safari Bookshelf, if you are lucky enough to have an account on that fine resource.
Though I am unable to read Spanish or German, I can say that these editions hold to the samechadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com1tag:blogger.com,1999:blog-3971159817362797163.post-28834244729812833512008-11-13T11:47:00.000-08:002010-03-18T16:05:56.286-07:00Lucene Overview Part One: Creating the IndexIntroduction
I've recently been working with the open source search engine Lucene. I'm no expert, but since I have just pored through some rather sparse documentation and migrated an application from a very old version of Lucene to the latest version, 2.4, I'm pretty clear on the big picture. The documentation for Lucene leaves a bit to the imagination, so I thought I'd take this opportunity chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com8tag:blogger.com,1999:blog-3971159817362797163.post-20654390896280552422008-11-08T12:08:00.000-08:002010-03-18T16:06:08.815-07:00Struts 2 Tutorial SeriesAs the author of Struts 2 in Action, I'll be compiling information towards a second edition of Struts 2 in Action. One of the main focuses of this process will be a series of Struts 2 tutorials which I will publish on this blog.
Some of the topics that I am considering include:
zero configuration
tools
customizing the UI Component tags
Ajax on Struts 2
Right now, I'm just announcing this chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com2tag:blogger.com,1999:blog-3971159817362797163.post-47998799861377880172008-06-03T12:39:00.000-07:002010-03-18T16:07:08.369-07:00Fresh Sample Application for Struts 2 in ActionI've just sent the new version of the sample application over to Manning. I'm not sure how long it will take them to post it to the book page. But it shouldn't take long, day or two at the most I imagine. This new version features:
Separate HelloWorld.war
Cleaner source code
Better comments
Revised README
Hope this helps. Make sure to read the README ;)chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com30tag:blogger.com,1999:blog-3971159817362797163.post-56467510911003396632008-05-18T12:51:00.000-07:002010-03-18T16:07:17.264-07:00Podcast of Battle of the Web Application FrameworksJust a quick note to let you know that the podcast of the battle of the frameworks has been posted by the folks at Chariot Solutions; they're the ones that put on the Emerging Technologies conference in Philadelphia that I wrote about a while back. This panel discussion features luminaries from Rails, Seam, JQuery, Open Laszlo, Flex, and more. Entertaining as well as informative. Let me know chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com8tag:blogger.com,1999:blog-3971159817362797163.post-28026271895187012902008-05-08T13:20:00.000-07:002010-03-18T16:07:33.773-07:00Debian Linux for the Self Employed Java DeveloperAs a self employed Java developer, I have the pleasure and power of choosing my own tools. Of course, I also have to maintain them and become a part time system administrator. The maintenance of one's own machines and environment is at once the best and worst part of working for yourself. While I don't want to tell anyone what to do, I do feel compelled to share some of my hard earned lessons chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com1tag:blogger.com,1999:blog-3971159817362797163.post-59554401017473412632008-05-08T12:17:00.000-07:002010-03-18T16:07:43.098-07:00Struts 2 Book -- Struts 2 in ActionI'm pleased to announce the publication of Struts 2 in Action, by Manning Publications, Inc. As one of the co-authors of this fine book, I'd like to recommend it to everyone. If you feel compelled, you can conveniently purchase the book via the link on the sidebar of this blog.
I'd summarize the book as follows. This is a complete introduction to Struts 2 that spares no details. If you readchadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com0tag:blogger.com,1999:blog-3971159817362797163.post-66801653527209601662008-04-08T09:27:00.000-07:002010-03-18T16:07:52.612-07:00Battle of the Web Application FrameworksI recently spoke at the Emerging Technologies conference in Philadelphia. It's a great and growing conference that boasts low registration costs and high-value. I'd say perhaps 75% of the sessions are very informative. Most of the attendees I spoke with were psyched about the content of the sessions. If you get the chance, I highly recommend attending next year's event.
On the topic of my chadmichaelhttp://www.blogger.com/profile/08377750824223681348noreply@blogger.com3