Archive for December, 2006
SOHO NAS
Today the mailman brought me the NAS device I recently ordered. It is a nice and shiny Synology DS-101J with a 320GB disk:
The device will replace the recently broken WinXP Desktop machine for all its network related storage and UPNP serving. Next to this we’ll use the device for making backups of my wife’s laptop; it comes with an agent which can be installed on machines to periodically backup them.
Installation using of the management tools on OSX was a bit bumpy (the installer requested me to select ‘a path’… after trying a couple of times I discovered it wanted to know the path to a .pat file on the root of the CD) but the tools work quite well.
So, of to moving all media from my laptops to this device!
—– UPDATE ——
I managed to start the telnet deamon and login to the device. It looks a nice linux setup:
DP-NAS> uname -a
Linux DP-NAS 2.4.22-uc0 #385 Sat Sep 23 01:01:48 CST 2006 armv5b unknown
Amongst the pre-installed software are:
- apache (with php)
- rtorrent
- rsync (!!!)
- ssh
- imagemagick (convert)
- postgres
- mysql
And much more… kewl!
1 commentNew laptop!
Apart from getting used to the keyboard layout (damn why don’t home and end just go to the start and end of a line!) the transition went extremely smooth!
The specs:
| Machine Model: | MacBookPro2,2 |
| Processor Name: | Intel Core 2 Duo |
| Processor Speed: | 2.16 GHz |
| Number Of Processors: | 1 |
| Total Number Of Cores: | 2 |
| L2 Cache (per processor): | 4 MB |
| Memory: | 2 GB |
| Bus Speed: | 667 MHz |
| S-ATA Disk: | 120 GB |
| Graphics: | ATI Radeon X1600: / 1440 x 900 |
JRuby evening @ Stroom Hotel Rotterdam
Yesterday evening I went to the JRuby talk organized by Finalist at the Stroom Hotel in Rotterdam. The presentation (by JRuby gurus Charles O. Nutter and Tom Enebo) was quite similar to the presentation they gave at Javapolis but with some juicy additions.
To get an idea of what is possible with JRuby just download the latest release from codehause: http://dist.codehaus.org/jruby/
. Unpacking gives you a directory containing some ready to run binaries like 'jruby' and 'jirb'. They are drop-in replacements for the c-version counterparts.
Now, if you start jirb you can do something like this:
-
irb(main):009:0> require 'java'
-
irb(main):009:0> frame = javax.swing.JFrame.new("my frame")
-
irb(main):009:0> frame.size( 300, 300 )
-
irb(main):009:0> frame.add(javax.swing.JButton.new("click me"))
-
irb(main):009:0> frame.show
And you get a swing frame! How cool is that!
Of coarse something like the above is still quite javaish, so Charles showed us a small DSL he wrote for swing (DSL = Domain Specific Language).
Using this DSL one can do something like this:
-
sw = SwingBuilder.new
-
-
frame = sw.frame("My Frame") {
-
layout :flow
-
button("A Button")
-
text_field("A Text Field")
-
set_size 500, 500
-
always_on_top = true
-
}
-
-
frame.show
Even better!
Next to the above Charles and Thomas demoed a running version of Rails in Glassfish (Suns' java application server) and calling into JNDI to access ejbs. And last but not least they gave an impressive demo of a more advanced version of jirb which is part of Netbeans and which is partly is available as webstart application:
http://www.bloglines.com/blog/ThomasEEnebo?id=24
Since a lot of exciting scripting stuff like this is happening in the Java world at the moment we (My colleague CTO and me) decided to send out an internal RFP for R&D projects investigating scripting as a mean to improve agility and productivity in our day jobs. Now let's home something useful will come up!
1 commentReminder: JRuby talk tomorrow!
(blatant but really important clone from remvee)
Both JRuby super hero’s, Charles and Thomas, will be talking about JRuby tomorrow at Stroom Hotel in Rotterdam. Come and find out why having a Ruby interpreter on the Java platform is a “good thing”.
Registration seminar@finalist.com.
Javapolis 2006
The last three days I've been attending the Javapolis 2006 conference.
Wednesday December 13th
- Keynotes (barely made it due to traffice jams)
- Typical oracle (Duncan Mills) demoing of their ajaxed suites, esb orchestration etc. To much, to fast, to Oracle
- Sun demo's of Java 'fun' stuff, like controling robots and wearables etc.
- Pragmatic clustering guide (Mike Cannon-Brookes --> Atlassian (confluence, jira), founder of opensymphony, author of oscache)
- Great overview of the common pitfalls of clustering a typical Java webapp. Most interesting part of the talk was about clustering Lucene; I decided to try and catch Mike later to ask him to explain their solution for Lucene in a bit more detail.
- Agile Development - Practical experiences (Johan Lybeart)
- Good presentation on real-world agile development. Johan stressed the importance of discipline (keep your promises!) and communication.
- JRuby: Bringing Ruby and Rails to the JVM (Thomas E. Enebo & Charles Oliver Nutter --> Sun)
- Nice to get a preview of next weeks presentation on the status of JRuby. Great to see a swing client being programmed using the IRB. Also some nice examples of the new tools Sun is developing for Ruby development.

- Private chat with Mike Cannon-Brookes
- I asked Mike to explain their solution for using Lucene in a cluster, and we had a nice little chat about it (I'll probably try to make a separate post on clustering Lucene later). I also asked him about why they are using Tangosol Coherence as opposed to OSCache (Mike is the author of the first version of oscache). For a project on a tighter budget he actually recommended EHCache!
- Web Continuations (Geert Bevin --> Rife)
- Really, really, really cool presentation on continuations. Geert is an excellent presenter and fun to listen to! He explained continuations using the 'safe game' metaphor and build a demo webapplication heavily using the continuations support of rife. Excellent, I'll have to try this myself.... and probably will blog a small example!
Thursay December 14th
- Keynotes (Mark Fleury, Arich Gamma)
- Keynotes... they where a bit disappointing.... Mark entered the stage dressed as a public enemy rapper (with golden chains and huge clock). But apart from that his talk on how the earn money with open source software wasn't to interesting.

- The talk on how the Eclipse development cycle works was a bit dull as well.
- Grails (Graeme Rocher)
- Didn't expect this to be really interesting, but Grails got my attention! Wow this framework rocks! It really leverages the strengths of a scripting language (groovy) with the 'solidness' of hibernate and spring. I'll try to get a couple of example online ASAP!
- New advanced features in JUnit4 'quicky' (Antonio Concalves)
- Unpuzzling Java Puzzlers with IntelliJ IDEA 'quicky' (Rob Harwood, JetBrains)
- Direct Web Remoting (Joe 'DWR' Walker, Geert 'Rife' Bevin)
- Joe an Geert make a perfect team in for demonstrating exciting technologies. The wrote an 'battleships' game using 'reverse' ajax during the presentation and the audience was allowed to log in to it and try it. Cool!
- Server Side Scripting / Phobos (Ludovic Champenois, Sun)
- The heavy accent of Ludovic made this presentation a bit hard to follow, but phobos looked quite promising. In effect phobos is an engine to write webapplications using Javascript on the server. The tools beeing developed are promising as wel (good debugger for javascript, so maybe for jruby as well??)
- Closures for Java (Neal Gafter, Google)
- Good introduction to how closures will probably see the light in the Java language. Neal is an excellent, charismatic speaker and had a good story. I decided to join the BOF later on to hear him speak in a more private setting.
- Spring 2 update (Rod Johnson, Interface21)
- Alltough Spring is becomming the defacto standard for Java webapplication development and I think the concepts are really fine it's starting to loose it's shiny edge. Great to hear about Acegi becoming part of spring itself.
- BOF about closures (Neal Gafter, Google)
- Nice meeting to discuss closures in a bit more detail. I really like the way Neal tries to add closures to Java (http://www.javac.info/closures-v03.html) and I'll try to explain how it works in a comming post (pfff... I see a lot of work comming
) meanwhile you can have a look at danny's blog; he succeeded in getting an example online already. - Went to pub 'de elf geboden' with Remco (Colleague, Ruby-head) and Danny (Friend of Remco, Ruby-head) to 'evaluate' the day while drinking a nice quadruple la Trappe beer.
Friday December 15th
- Adobe Flex & Java (James Ward)
- James wrote a small application using flex, the application was capable of taking a snapshot from the attached webcam and presenting the created snapshot in a fancy carousel. The interface generated by flex looks really slick... but hey.... it's adobe.
- Strategic Domain Driven Design (DDD) (Eric Evans)
- Nice talk on Domain Driven Dessign.... by the 'inventor'
- OpenOffice.org SDK & Java (Juergen Schmidt)
- Juergen showed how easy it is to extend openoffice using the API they've developed. The API isn't Java specific and can be accessed from many other languages as well.
- Next Generation Continuous Integration Tools (TeamCity) (Dimitry Jemerov, JetBrains)
- TeamCity is a great product. Especially features like integration befor commiting and good scallability make it really interesting. Hopefully the opensource community will come up with something similar soon!
For know I'll enjoy my weekend, next week I'll try and see to find some time to ellaborate on some of the above!
Java 6 is final
Today Sun released Java Standard Edition 6. Although I haven't had time to test-drive it the feature list looks promising. Amongst the new features the scripting language support (JSR 223) stands out. Next to a new framework and API for scripting languages they've integrated Mozillas' Javascript engine (Rhino) into the platform.
I must say that the examples of the usage are a bit awkward; in the case of Javascript I'd probably used validation as an example ... to make sure client- and serverside validations yield exactly identical results. Maybe something I need to have a look at when time permits!
Now we'll just have to see how long it takes for the industry to upgrade... hopefully it will be less painful than the Java1.4 > Java(1.)5 upgrade.
No commentsLucene Workshop @ Amis
Yesterday I attended the Lucene workshop at Amis, and NO I am NOT thinking about switching, it’s all about knowledge... and this time I took the opportunity to invite the attending Amis developers to the JRuby seminar by Charles Nutter organized by Finalist.
The presentation and workshop where presented by my ex-colleague Jeroen van Wilgenburg. The presentation he gave included various topics:
- Lucene basics
- Basic lucene queries
- Filters (analyzer AND query filters)
- Tools (luke)
- Integration frameworks (hibernate lucene, spring modules)
Amazing to see how difficult the subject seems to be for some; but on the other hand... I've been involved in projects using Lucene for quite a while now.
Personally I would have discussed the excellent compass framework instead of the Hibernate Lucene integration (which is far from perfect and marked 'experimental').
I have been working with Compass for the past couple of days and must say it's quite good, apart from the often really sloppy documentation. I'll see and try to write another post on Compass (and the modifications we had to make to really make it work) in the near future (hopefully from my new MacBook Pro which should be arriving next Monday).
No comments