Home -> development

development

Java Application Servers Without J2EE

infoq: SpringSource Launches New Application Server without Java EE

SpringSource Team Blog: Introducing the SpringSource Application Platform

SpringSource: http://www.springsource.com/web/guest/products/suite/applicationplatform">SpringSource Application Platform

Not directly related at all, but has everything to do with it:

The Daily Profeth: Google App Engine & eclipse (PyDev) - a nice getting started guide.

Karl at Monday, May 5, 2008 | Comments (0) | TrackBack

Great NYTimes article reveals a little about their Web production process

.It was both educational and fun to read the NYTimes interview with Khoi Vinh, their Design Director.

Karl at Tuesday, April 29, 2008 | Comments (0) | TrackBack

Got my Mac Book Pro at work

Many of us at work are migrating to OS-X. It's logical since our deployment environment is a Unix variant, Solaris, and most of us on Windows run Cygwin to create a developer environment that resembles a Unix-like environment.

Now I'm not a stranger to OS-X. I've been convincing my family to switch for the past four years and now they mostly run iBooks and Mac Books, decreasing the time I used to spend helping fix problems. Fact of the matter is, if you are using a PC mostly to send email, surf the web, manage photos and video, it is a great all round choice.

The irony is that within minutes of getting my laptop I froze it! Turns out it isn't all that smart to run Parallels, out of the box, the way I did, and run, oh, 8 or so programs simultaneously outside of it!

Anyways, in less than an hour I had my favorite web browser, Firefox, my organizer, Wikidpad (which required me to run it from the Python source - but it worked!), my encryption software TrueCrypt, my IDE of choice Eclipse, my favorite OS-X free text editor, TextWrangler, all up and running. With Maven, SVN, Java and Python pre-installed made it easy to checkout my current work and get a build going. I won't be needing Parallels all that much since so much of the work I do can be done in OS-X, but it will be convenient to be able to test websites in different browsers, on two of the three primary desktop OSes, with little effort.

Karl at Wednesday, April 16, 2008 | Comments (5) | TrackBack

I Upgraded to Movable Type 4.1 Open Source

I'm happy I finally got around to upgrading my personal blog to the latest and greatest Movable Type. It's clear that open sourcing the software has been good for SixApart and that MT can again be considered a viable alternative to other blogging platforms like WordPress.

People at work like to ask me what blogging platform 'is the best'. Honestly, after working with so many over the years, I have trouble identifying that. Feature for feature, you can make one do what the other does.

Someday I'll put together a matrix that highlights the real differentiators as far as I am concerned, but I do have a shortlist I can share if I was doing a project as a consultant: Drupal, Movable Type, WordPress, and rolling something new with Django.

MT has a new beta release coming out with a few features I am looking forward to.

Karl at Monday, April 7, 2008 | Comments (0) | TrackBack

Interesting Programming Reads

Blog at trepca.si: Java, Python and defaults - Sure is true enough.

Code To Joy: Open-Source group announces jJavaM - It was an April fools, but a good one for the sarcasm.

Python-by-example - Will come in handy.

Better Programming With Java EE: A Conversation With Java Champion Adam Bien
- Dispels some myths.

An Army of Solipsists: Blog Archive: Using Spring MVC Controllers in Grails - Might come in handy if I ever get around to experimenting with Grails.

Anil Dash: Atom Wins: The Unified Cloud Database API: "I want every program that thinks of itself today as a "blogging client" to reimagine their market as being a front-end to a database in the cloud. I want all the apps built on smart database abstractions to think about this new unified cloud API as an option they must support. And most of all, I want geeks to make something cool with this that we couldn't do before."

Hosting Java Web Applications: Why Is It Still So Hard? | Javalobby

John Wilson: Groovy and XML | Groovy Zone

Karl at Saturday, April 5, 2008 | Comments (0) | TrackBack

"crippled by their own process"

Coding Horor: "Is Eeyore Designing Your Software?":

Here's my honest question: does open source software need all that process to be successful? Isn't the radical lack of process baggage in open source software development not a weakness, but in fact an evolutionary advantage? What open source software lacks in formal process it makes up ten times over in ubiquity and community. In other words, if the Elbonians feel so strongly about localization, they can take that effort on themselves. Meanwhile, the developers have more time to implement features that delight the largest base of customers, instead of plowing through mountains of process for every miniscule five line code change.

Are large commercial software companies crippled by their own process?

I'd say that in large corporations, I've seen many internal projects beat down by the same.

The new portal architecture at CIM doesn't suffer from this, but the old one certainly did. We've come a long way.

Karl at Wednesday, March 26, 2008 | Comments (0) | TrackBack

Design Patterns Aren't (That) Evil

I agree with much of Jeff Atwood's writing when it comes to programming and development. I'd say on any given subject 90% to damn near 100% (congrats to him on his new adventure). But I think his post on design patterns, unfortunately, falls into a line of argument that I disagree with strongly - that *identifying* design patterns leads to complexity. Complexity because some engineers leverage them right from the get go without thinking about simplicity first. He even flags Head First Design Patterns as a potential complexity creator.

I understand the concern. Every once and a while you get into an argument with someone who is telling you your code stinks because it doesn't employ pattern "so-and-so" and every once and a while you come across some needlessly complicated code because the developer thought pattern "xyz" was the appropriate solution and implemented it without thinking a few minutes more about the problem and putting together something far simpler.

Replace the word "pattern" in the above sentence with "technology" or "API" or "archetecture".

Give it a try. It leads to the same place. And I'd say the problem doesn't start with patterns (or technologies, or APIs, or whatever). It starts with the developer.

Does that developer start from a KISS viewpoint, or one enamored by buzzwords?

So Jake Says: Music and Design Patterns:

Chord progressions are design patterns. They give a common framework musicians can use to communicate. However, the implementation is left to the musician. You can play classically or bluesy. You can shred the progression. You can take the most "outside" ideas of modern atonal theory and apply them to the song. There are elegant implementations, there are common implementations, there are "outside" implementations, and there are bad implementations.

Chord changes aren't represented in the core notation/language of the music, but you can use musical notation to spell out changes. You can also use shorthand languages to design the music. The sentence "12-bar in Bb, 2-5-1 turnaround, on my lead" gives away none of the implementation details (voicings/melodies, etc.,) yet the song is written in a breath.

Design patterns act the exact same way for programmers. They are, at heart, a common framework by which programmers can discuss a design. They can spend less time focusing on minutiae and more time discussing design and code.

Even if you are using Python or Perl and you don't have to explicitly define an Iterator to loop through arbitrary collections, you could easily point to a "for x in y" statement and say "iterate through y" to describe part of an algorithm. You will be correct, and a coder from any paradigm won't have to give it two thoughts.

Design patterns always exist, but are sometimes invisible.

Karl at Monday, March 24, 2008 | Comments (0) | TrackBack

Charles Rocks

For most Web-tier development the following Firefox plugins provide me a great set of tools to get my job done:

Lately however, I find myself needing to trick out my local hosts file for more and more work, in addition to needing to change JavaScript script behavior, on the fly, loaded from various hosts.

Charles lets you do that and a whole lot more. It's become am integral part of my toolbox. It's worth the license fee.

And its written in Java so your investment is cross-platform. I'll be migrating to OS-X soon and not needing to find a replacement for this is great.

Karl at Tuesday, March 11, 2008 | Comments (2) | TrackBack

Getting Started With Jython

Sun's hiring of two of the biggest names in Python-land - Ted Leung and Jython's Frank Wierzbicki - and my experiments with Django - has encouraged me to dip my toes in Jython. Here's a few decent starting points:

IBM developerWorks: Charming Jython

IBM developerWorks: alt.lang.jre: Get to know Jython

ONJava: Tips for Scripting Java with Jython

JythonWiki: Learning Jython (just starting this one, but this looks most comprehensive)

And of course the home page: The Jython Project

Karl at Sunday, March 9, 2008 | Comments (0) | TrackBack

IBM: Continuous Integration Anti-Patterns

IBM developerWorks: Automation for the people: Continuous Integration anti-patterns

IBM developerWorks: Automation for the people: Continuous Integration anti-patterns, Part 2

And in case you need it: JavaWorld: Introducing continuous integration

Karl at Sunday, March 9, 2008 | Comments (0) | TrackBack

More from development

Friday, September 28, 2007: Why I've kinda disappeared as of late - the new comcast.net

Wednesday, September 19, 2007: Good book: "RESTful Web Services"

Wednesday, September 19, 2007: Rafe: "I am not a systems administrator"

Wednesday, September 19, 2007: In which I disagree with Marc Andreessen

Sunday, August 19, 2007: Simple RESTful URLs with JSPs

Wednesday, August 8, 2007: Moving to a Mac?

Wednesday, June 6, 2007: Movable Type 4.0 Is Going to Rock

Thursday, May 31, 2007: What's exciting about Google Gears

Sunday, April 15, 2007: Warstories

Friday, April 13, 2007: Flex, Flash, and Comcast Interactive Media's Fan 4.0 Alpha

Monday, April 9, 2007: Getting SciTE to do Python-like folding for text files

Tuesday, January 2, 2007: Placeblogger launches

Tuesday, November 28, 2006: Norgs stories: The Web Disintermediates (wait for it...)

Friday, September 1, 2006: Bruce Tate: "Risk is the overriding reason that so many resist new programming language adoption."

Thursday, August 31, 2006: Two interesting articles on Python, Ruby and Java

Thursday, August 10, 2006: "7 Reasons the 21st Century is Making You Miserable"

Wednesday, August 9, 2006: Yahoo! launches a Python developer center

Tuesday, May 9, 2006: "Eclipse: Beyond the Geeks"

Tuesday, May 2, 2006: More behind the scenes tech

Saturday, April 29, 2006: "the more it starts to look like real life"

Friday, April 28, 2006: O'Reilly Radar series: Database War Stories

Tuesday, April 25, 2006: The Internet's future is being decided

Friday, April 21, 2006: "Why people still believe in the Waterfall model"

Friday, April 21, 2006: "GData is a new protocol based on Atom 1.0 and RSS 2.0"

Thursday, April 20, 2006: "Wow... Free Visual Studio versions - still"

Tuesday, April 18, 2006: Some objections with Agile, in particular with Extreme Programming, methodologies

Tuesday, April 18, 2006: The Two Webs

Thursday, April 13, 2006: Deleted my del.icio.us account, keeping RawSugar

Sunday, April 9, 2006: "It's not like you'd find in on Google ... right?"

Monday, March 27, 2006: "The only architecture that matters"