Jaguar XK 120 Roadster
I don’t care much about cars but when I see a beauty, I know it.
A friend’s father owns the Classic & Sports Auto garage and kindly invited me to shoot a Jaguar XK 120 roadster that he is renovating:
It was a great opportunity to shoot such a beautiful car with enough time and freedom to compose the shots. I waited for the late afternoon and the sun was starting to be low enough to reveal the curves of the car.
I shot on top of a stool to remove the noisy background behind the car and put the emphasis on the car’s front. A 3/4 view was the best way to show the length and curves of both the car’s hood and left side.
I used my Nikon 16-85mm at f/11 to shoot it. At first, I tried to shoot at 16-18mm but I found it made the car’s hood too much proeminent at the expense of the rest of the car. I stepped back a little bit, zoom to 35mm and shoot it on top of the stool to get a more realistic perspective which still highlights the long and curvy hood.
If you like this car, you are lucky: you can buy it once it is renovated.
I really enjoy the experience and I am looking forward to the next opportunity to shoot such a beauty again. I may even start to care about (beautiful) cars a bit more!
node.x, a Asynchronous Event Framework for the JVM ☛
What is Node.x?
- A general purpose framework that uses an asynchronous event based style for building highly scalable network or file system aware applications
- Runs on the JVM.
- Everything is asynchronous.
- Embraces the style of node.js and extends it to the JVM. Think node.js on steroids. Plus some.
- Polyglot. The same (or similar) API will be available in multiple languages: Ruby, Java, Groovy, (Python?, JS?, Clojure?), etc
- Goes with the recent developments with InvokeDynamic in Java 7 and bets on the JVM being the future premier runtime for dynamic languages.
- Enables you to create network servers or clients incredibly easily.
- True threading. Unlike node.js, Python Twisted or Ruby EventMachine, it has true multi-threaded scalability. No more spinning up 32 instances just to utilise the cores on your server.
- Understands multiple protocols out of the box including: TCP, SSL, UDP, HTTP, HTTPS, Websockets, AMQP, STOMP, Redis etc
- Provides an elegant api for composing asynchronous actions together. Glue together HTTP, AMQP, Redis or whatever in a few lines of code.
A framework a la node.js (and some more) in a multithreaded environment on the JVM is an intriguing idea with a lot of potential and the examples look both simple and powerful.
This project is based on Netty, an asynchronous event-driven network application framework, that I can’t stop to praise. We use it in HornetQ and is a big reason why HornetQ is so fast.
Tim is an ex-colleague from Red Hat and the previous lead of HornetQ. He knows his stuff about performance, concurrent and asynchronous code and I am intrigued to see where he will go with node.x (esp. if he adds a Clojure layer on top of it, functional programming is a good match for an asynchronous event framework).
⚑Kodak Junior 620
While talking about photography with my father, he told me that he still had an “old” camera from my grandfather and, lo and behold!, he showed me a folding camera: the Kodak Junior 620.
I have not found a serial number and I don’t know exactly which series it is but Kodak Junior 620 cameras were manufactured between 1935 and 1939 (depending on the series).
My grandfather’s model has a Kodak Anastigmat f/7.7 lens and the shutter speeds are 1/25, 1/75, T, and B.
The camera is in pretty good shape (except for a bit of leather skin that I need to glue) and if I buy a 620 film roll, I could shoot like my grandfather did when he got it.
I even found its user manual to use it properly (I have never owned a camera with roll film).
What a family treasure to discover!
Clojure on Heroku ☛
Heroku explains why they have added Clojure support in addition to Ruby and node.js:
Ruby, Javascript, and Clojure are all general-purpose languages, but they each excel at certain use cases. Ruby’s highly dynamic nature and emphasis on beauty makes it a natural fit for user-facing web apps. Node.js’s evented concurrency makes it a great fit for the realtime web. Clojure covers a new use case on the Heroku platform: components which demand correctness, performance, composability; and optionally, access to the Java ecosystem.
The right tool for the right job.
More choice for the tool helps get the job done simpler and faster.
Fête de la Musique
The best thing with the coming of the summer in France is that it starts with la Fête de la Musique.
On the 1st day of summer, every music band can go out and play in the streets until late in the night.
Everybody can enjoy this celebration listening to a gospel in a church, laughing with kids fascinated by a big band, or just spending the evening with friends listening to rock and irish music in a small pub.
Red Hat Wins “Most Innovative Java Company” at JAXconf ☛
Red Hat rightly deserves this award with all the innovative Java projects managed by its middleware division JBoss.
Congratulations to all Red Hat developers who drive this innovation with a special attention to my ex-teamates on HornetQ who are doing a tremendous work on the best and fastest messaging service :)
⚑An RSS-feed and location-based iOS application ☛
Cocoa With Love‘s Matt Gallagher:
The purpose of this post is so that I will have a link to give people when they ask: how do I write an iOS application that pulls data from an RSS feed, displays it pretty and can put things on a map. I’ll show you all of that and more as I rewrite my oldest iOS application from scratch: FuelView.
A recommended article which explains how to design and write a simple but not too simple iOS application.
⚑Code Quarterly’s Q&A with Rich Hickey ☛
A very interesting interview of the creator of Clojure, Rich Hickey, by Michael Fogus, the co-author of Joy of Clojure1.
If you appreciate this interview, Rich’s talk about Value, Identity and State is a must-see for anybody interested in computing and software languages (no knowledge of Lisp or Clojure is required).
- It is on my reading list but I have not read it yet. ↩
colorapi, color chart search ☛
This tool is a good idea to find original colors for Web design.
It is also one of the best use of node.js I have seen. I just have one nitpick: I don’t understand the fascination with using the hash-bang and what it brings to this kind of web app instead of using Plain Old Stupid URLs…
⚑Xcode 4 ☛
Interesting move from Apple for the release of Xcode 4: free for registered iOS and Mac developer and $4.99 / 3.99€ on the App Store.
On my spare time, I have been using the various beta releases of Xcode 4 for Mac/iOS development and I really enjoy the streamlined experience.
For Java development, I use eclipse that I know from the inside out after doing a lot of plug-in development some years ago. With every release, eclipse has become more powerful but also more complex and I have not noticed an increase in my productivity.
With Xcode 4 (single window, built-in Interface Builder, Git support with Time-Machine UI, iTunes-like status), Apple developers have managed to simplify the UI, streamline the experience and increase my productivity.
Kudos!