101 reputation
3
bio website blog.ringerc.id.au
location Western Australia, Australia
age
visits member for 2 years, 5 months
seen Nov 11 at 5:03

I'm a PostgreSQL admin/developer, sysadmin, multi-language programmer (lately mostly Java and Java EE, previously C, C++, Python and good old bash) and general IT JOAT.

I work for 2nd Quadrant, a global PostgreSQL consultancy.

I maintain a technical blog at blog.ringerc.id.au. My PostgreSQL writing now appears on the 2nd quadrant blog.

I'll work in most programming languages with varying degrees of competence, though I'll only reluctantly touch PHP or Perl code. I'm more interested in the libraries, tools, and the code that's built on top of the language.

Most of my scrap code lives on https://github.com/ringerc . Most of my open source code is in the form of scattered patches across too many different bugzillas and JIRAs, rather than single new projects. Over time I've done a lot of work on Scribus and PoDoFo, but have moved away from both projects as my focus and interests changed. I contribute patches - rather infrequently - to PostgreSQL and to various Java EE 6 infrastructure components. Most of my contribution is now non-code, in the form of:

  • Detailed bug reporting with test cases, which I spend an unpleasant proportion of my development time preparing and submitting, mostly against JBoss and java.net projects.
  • User support for PostgreSQL on mailing lists and here on SE
  • PostgreSQL patch review and beta testing
  • Usability review of Java EE libs/tools, as well as usability review of PostgreSQL and its tools
  • Writing, editing and enhancing documentation, HOWTOs, etc
  • Blogging in detail on topics likely to be useful to others.

I've turned into a git fiend and no longer understand why anybody uses anything else. I'm also becoming increasingly obsessive about testing, particularly with the advent of Jenkins CI and Arquillian.


Sep
24
awarded  Autobiographer
Jun
11
comment Why isn't Java used for modern web application development?
@KenCochrane As for DWM and JRebel, they have their own issues, but are better than compile/redeploy cycles. I'll still take the "edit, reload" of a Python/perl/php/etc app ideally, but in the end the libs and features available for Java won me over. It's all trade-offs.
Jun
11
comment Why isn't Java used for modern web application development?
@KenCochrane True, sure heavy compared to ngnix with a c fastcgi, but more capable too. I agree Maven shouldn't ideally be necessary - but I've never worked with any other language/env where I wouldn't have killed for an equivalent. When hacking on CMake or Automake/autoconf projects, Maven starts to seem really nice in comparison. In reality, in any big popular system that's powerful and capable, you're going to need something like it - maven, yum/apt, etc. It's imperfect, but the alternatives are worse.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen Easy to lose sight of that, but yes, the stateless simplicity of HTTP+HTML+JavaScript makes building apps on top quite difficult. I'm sure not claiming I can do a better job! Truly the issue isn't the complexity of the frameworks, it's that in some frameworks most of that complexity is exposed to the user, and the documentation isn't good enough to let them get away with that. After all, OSes are complex, but the layering works well so a JavaScript dev doesn't need to understand kernel-level mutexes. It's all about good docs and leaktight abstraction.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen Ouch - but fair. Call it "increasingly intense dislike". You're right that all frameworks have trade-offs and issues, and that it's a very complex job. I've suffered through a long jsf2 bug daisy chain as I foolishly adopted it when it was released and "ready", so I suspect I'm more bitter than is really healthy. It's not like Vaadin, play, or anything are exactly shiny perfectness either, just IMO a bit less broken and a bit better documented at the moment.
Jun
11
comment Why isn't Java used for modern web application development?
Java EE 6 might be "light weight" (except for JSF2) but it's still an incredibly huge learning curve, a giant stack of complicated specifications, and an immensely complicated layered system. Lightweight maybe, but sure not simple.
Jun
11
comment Why isn't Java used for modern web application development?
The learning curve is absolutely vertical. You'll spend the first few WEEKS just figuring out what the acronyms are, how the standards relate to their implementations, how everything is layered, etc. Then the next few weeks figuring out which stew of libraries and frameworks to use. Then the next few weeks reporting bugs in them...
Jun
11
comment Why isn't Java used for modern web application development?
I also think you missed a critical point: The learning curve and bugs really slow things down.
Jun
11
comment Why isn't Java used for modern web application development?
Note that all of above adds to "batteries not included" problem, which is a huge one. Feels like Java EE is a sub-framework on which you're supposed to build your own framework to then build your app. Very inefficient. Every tool is also horribly buggy, and JSF2 is simply an instrument of developer productivity destruction.
Jun
11
comment Why isn't Java used for modern web application development?
I'm with you on many points, but take issue with some. Compile/test loop: Use Eclipse's dynamic web module, and/or JRebel, and it's gone; great. Heavyness: JBoss AS 7 is pretty light and fast. and if you don't want EE you can use Tomcat or Jetty which are barely even there. Testing: Arquillian is the best test tool I've used in ANY language, though it's only just become mature enough to be usable. Dependency hell: Just use Maven; it should be standard and mandated part of JAva.
Jun
11
awarded  Commentator
Jun
11
comment Why isn't Java used for modern web application development?
@Jonas IMO the Scala tooling and integration is still WAY too immature for solid productivity. When I tried Play! I hit bugs and limitations more quickly than in anything except JSF2. Vaadin is a good alternative.
Jun
11
comment Why isn't Java used for modern web application development?
(2) is addressed wonderfully by JBoss Arquillian (arquillian.org). Lots of the rest is more a JSF2 issue than a Java issue. Biggest issues IMO are learning curve and immense bugginess of the frameworks, but if you avoid JSF2 you can do well.
Jun
11
comment Why isn't Java used for modern web application development?
Agreed; Java EE 6 is great as soon as you drop JSF2 and use something sane and productive. The learning curve is still immense though.
Jun
11
awarded  Supporter
Jun
11
comment Why isn't Java used for modern web application development?
If you're into Rails but need Java, look at Seam Forge. Beware, it uses JSF2, which is horriying to work with, but Forge its self is pretty good.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen The app might be simple, but understanding the framework isn't, and neither is understanding the main tools like Ant or Maven. A newbie's learning curve is huge and full of nested layers of acronym soup, confusion between specs (eg JAX-RS) and impls (eg Jackson) and more. It's IMMENSELY complicated to do something simple if you want to actually understand what you are doing.
Jun
11
comment Why isn't Java used for modern web application development?
@Jonas Not only is Java EE not the only option, but you can use just the good bits of Java EE 6 and avoid JSF2 and other problem areas. I'm loving Vaadin on JBoss AS 7 (an EE 6 server) with CDI, JAX-RS, and other JavaEE6 goodies. I sure hope you can use Play on an EE6 server the same way, 'cos I'm not going back to working without CDI.
Jun
11
comment Why isn't Java used for modern web application development?
A big factor that many people who already know Java and Java EE neglect is the learning curve. It's monsterous. Some technologies like JAX-RS are easy to use once you "get" the stack, but there's a hell of a lot of stack to "get". Others, like JSF2, are killer learning brick walls from hell all by themselves, and badly documented too. See blog.ringerc.id.au/2010/08/… and blog.ringerc.id.au/2010/08/…
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen You like working with JSF2, RichFaces, and Seam 3? What about the bajillion bugs everywhere in the framework, the awful documentation, and the uninformative exception backtraces from hell?