Most new Clojure devs find the need to call static Java methods or access static Java fields pretty quickly and doing so is easy:
user=> (Math/max 5.2 2.7)
5.2
user=> Math/PI
3.141592653589793
But recently I need to get the Class of a well-known Java class, which I would normally have done with String.class in Java. This *looks* like a [...]

I tangled with Clojure agents recently and while agents rock, I had some unpleasant operational experiences that led me to dig in a bit deeper. This post contains several issues and possible solutions.
Background:

Clojure agents can be sent messages with either send or send-off
send -> uses fixed pool of size (# of processors + 2) [...]

Announcing:
Geek Night
June 16, 2010
6:00pm – 8:00pm
Click here for location and registration: http://geeknight.eventbrite.com/
Do you have a great tech idea and need some feedback, a team, or a kick in the pants to make it happen? Come to Geek Night!
Who should attend:

Professionals, entrepreneurs, CEOs, students, scientists, investors.
Open-minded individuals interested in ideas centered around technology.

Admission is Free, [...]

People have been asking me about the plan for Java 7 with relative frequency lately so I thought I would try to summarize what we know and what we don’t. [I maintain a somewhat out of date Java 7 page and a blog of incoming Java 7 links].
Terms
Before I go any further, [...]

An interesting discussion popped up this week about whether it would be useful to add a java.util.Pair in JDK 7. This has been requested many times in the past and I know I’ve heard some talk about it on the Java Posse as well. Pair is of course a special case for two [...]

I was musing today about some things I’ve seen in Clojure and their relationship to dependency injection in Java, etc. I wanted to draw the connection and then see what people in the Clojure community thought about it.
I’ve used dependency injection in Java for a long, long time both with and without DI frameworks. [...]

After a decade+ using Java, I find myself questioning the big 3 OO principles (the most over-used interview question ever): inheritance, encapsulation, and polymorphism. Or maybe more precisely I question the typical Java expression of these principles.
Encapsulation sounds great and all but in Java as typically practiced it’s mostly a joke. [...]

For the last three weeks or so I’ve been doing virtually all of my development in Clojure building a couple small utilities for people. Prior to this I’d read parts of Stu’s Programming Clojure and written some trivial stuff in it before but I’m essentially learning the language as I go.
I have [...]

Ok, I hooked ya there didn’t I?
Jeff Brown mentioned some surprise today at hearing that Scala had been anointed as Java’s “heir apparent”.
I say that there will be no “next Java”. Get over it people. There is no “next big language” coming that will capture 20-25% [...]

As we close out a decade, I was reflecting on what it was like to write code 10 years ago. I had just started at a startup then called Quadrian (later MetaMatrix) and working with five other developers in the frontage space of a steel mill (super cheap rent).
We were using Java [...]

Apparently Mark Reinhold announced that closures would be added to JDK 7 at Devoxx today:

I can’t say what to make of that really. For years Sun has been saying that there is no consensus on closures and delayed the formation of a JSR or expert group on the subject despite having three proposals, [...]

Based on a couple of chance occurrences that have happened in the last week, I’ve come to realize that many people are not aware of the awesome stuff Terracotta has been putting out at a frantic pace in the last six months. (At least, it sure feels frantic to me.)
Going back a [...]

Doug Lea posted a note today on the concurrency-interest list that the bulk of the JDK 7 changes from JSR 166y (the second maintenance update) have been pushed in the latest JDK 7 M5 snapshots. You can find the API for these changes here.
The major updates are:
Phasers
A Phaser is kind of like a CyclicBarrier but [...]

A colleague ran into some bugs this morning in Cliff Click’s “High Scale Lib”, specifically in NonblockingHashMap. I mentioned them on Twitter and some people asked me to blog, so here you go.
NBHM is a masterful concurrent Map implementation that allows for a highly concurrent usage, beyond what your more familiar ConcurrentHashMap can [...]

We’ve been teasing the twitter-sphere for a few days now about some big Terracotta news and now I can finally talk about it.
Terracotta has entered into an agreement with Greg Luck, the copyright owner and primary developer on the Ehcache project. Ehcache is of course the most popular open source Java cache library. [...]