Jul 27

Damn “smart” quotes in Word

Tech No Comments »

Have you been burned by Word working with “smart” quotes?

This normally happens when you are copying and pasting code around. You get the same annoying behaviour when Word is “smart” about upper-casing your words at the beginning of a sentence.

Of course you can turn these off, and Amy of SourceBeat just showed people how (which jogged my memory)

  1. In Word, go to Tools > AutoCorrect Options.
  2. On the AutoFormat As You Type tab, deselect the “Straight quotes” with “smart quotes” check box.
  3. On the AutoFormat tab, deselect the “Straight quotes” with “smart quotes” check box.
  4. Click OK to accept your changes.
Jul 27

Explorer’s guide to the Semantic Web

Tech No Comments »

I read the new Manning book Explorer’s guide to the Semantic Web over the weekend.

This is a pretty bold book for Manning, since the Semantic Web is really in its infancy. The book is much more heavy on theory (with some serious XML here and there), which isn’t the fault of the writer… there just isn’t much out there!

I really hope we get to the Semantic Web at some point, and do think it will happen.

One of the problems is the complexity that exists. When you have humans reading content, you can take for granted that they can work things out. You don’t need the categorization, the antologies, and everything else that comes into life when you talk about computers consuming content.

The web took off, partly due to the simplicity that it brought. Many people could work out simple HTML. Even though it is painful how forgiving browsers are (matching tags etc etc) it DID allow people to hack around to get by.

The Semantic Web isn’t a simple, and can’t be (at least yet). I am excited at the possibilities though, and this book lists some nice use cases.

Kudos to Manning for publishing this forward thinking book, and thanks to Thomas Passin for spending the time on it.

Jul 27

The Flow: Don’t let your developers get interrupted

Tech 24 Comments »

If someone jumps into your cube/office and asks a quick question, what is the effect?

I don’t know about you, but I often “get into the flow” when developing. My brain is kicking into a high gear (maybe thanks for caffeine? ;) and my fingers are dancing like a 2 dollar…..

If I get interrupted at this point it means that either:

  • It will take me ~15 minutes to get back into the flow after the interuption
  • I may not totally get back into it

Back when I was a shinny shoe guy (Technical Director) I put in a policy which meant that developers couldn’t be bugged between 2 and 4 (or something) unless a meeting was scheduled of course, and email can still be used (nice and passive).

Sometimes I wish I had that policy around…. how about you?

Jul 26

“WebLogic EJB, with some experience making calls on EJB’s”

EJB, Java, Tech 4 Comments »

I saw this quote on a job posting:

WebLogic EJB, with some experience making calls on EJB’s

Yeah. making calls on EJB is the tough part! I know they TRY to make it hard with JNDI + PortableRemoteObject.narrow(..), but come on!

I guess a recruiter wrote that bad boy :)

Jul 26

Why do we drive manual/stick shifts?

Personal No Comments »

I had a fun afternoon taking out Emily in a manual car. She didn’t know how to drive a stick shift, so I thought it would be fun to teach her (apologies KT, whose car we used! I will buy you a new transmission!).

Emily took to it surprisingly well. I was braced for some severe jerking, but it wasn’t the case at all. Truly amazed to be honest ;)

Emily doesn’t understand why anyone would drive a stick.

We have the technology that allows the car to take over that part of driving, so why would you bother??

I can definitely understand where she is coming from. It is fun driving stick now and then, but as soon as you are in heavy traffic, starting up hill, and the like…. and then you wish you had an automatic.

Do you really get THAT much better gas mileage these days with automatic vs. manual (especially versus manual drivers that aren’t great ;). And what about the cost. Is it worth the extra 1k to never have to bother with shifting? 1k adds a few cents to your monthly cost doesn’t it? :)

Maybe I am just not that excited about cars, and the act of driving. When the fool rolls back into me, I wish that he had an automatic though!

Jul 26

RE: Is the language the only problem? and “We reuse more code than we write”

Tech No Comments »

Ted Leung has written Is the language the only problem? in response to an entry by Tim Bray in which he talks up dynamic languages.

I am definitely a fan of dynamic languages, but I concur with Ted that the language isn’t always to blame.

The Java APIs are often written to a different level to others. What do I mean here? With Java you get APIs that look like solid system libraries. With Perl/Python/Ruby/… you get libraries that are really written for a user to Get Shit Done ™.

Just take a look at the “web service” APIs. The Perl ones let you grab an object in one fell swoop that lets you say obj.serviceMethod(..). Done.

However, there are many great Java APIs, both from the JCP and from the open source community. Since we always reuse a LOT more code than we write, it is great to be able to base apps on these solid APIs.

This does also bring me back to the fact that although tools can help us write Java code, they still aren’t great at helping us read it… and for that reason I like dynamic languages in many cases.

Right tool and all that jazz.

Jul 26

SourceBeat joins ObjectWeb

Java, Open Source, Tech No Comments »

I thought it was cool that SourceBeat (open source, new age publisher) have joined the ObjectWeb consortium.

There are lots of good products under the ObjectWeb umbrella, and they never get enough attention. Hopefully we will get some good content out of them via SourceBeat and people will see what is good.

The world of marketing is always tough. It is always hard for a european company to break into the US (especially French ;). In fact, I was just talking to Erik Thauvin about that fact! (we are both aliens living in the US ;)

Jul 26

Log4E: Eclipse plugin for Log4J. Does a great job of anti-AOP :)

Tech 1 Comment »

Log4E is a free Eclipse Plugin which helps you to use your logger easily in Java Projects.

One of the nice features is that you can grab a project that has a bunch of System.out.println()’s and you can convert them to using a real Log system.

One of the scary things is:

Automatic inserts of logger statements at certain method entries: begin of method, exit of method (before every return statement and at the end of method) and in catch blocks.

Although tools like Eclipse, IntelliJ IDEA, etc are great for helping get stuff in. This doesn’t mean that they are good at going the other way.

What I mean here is that a lot of these great tools help with complexity one way. I have heard a lot of people say “It is so easy to do X in my IDE, it doesn’t matter than the result is a bunch of code”.

What happens when you have to come BACK to the code to understand it? It may have been easy to say “I want a new [insert design pattern here]” and have interfaces, base impls, DTOs, XML config, etc generated at once. However we have to grok this at a later date. This is why it I would rather look at simpler, smaller code!

Jul 23

Copland: HiveMind-esque IoC container for Ruby

Tech No Comments »

Java guys aren’t the only IoC geeks.

In the Ruby world you have Copland which borrows ideas from HiveMind, while putting a Ruby twist on things.

Rather than XML, or SDL, they use good ole YAML which ends up like:

id: quickstart
service-points:
SimpleService:
create-instance:
class: simple-service/ASimpleService

The manual is nicely written, and it is fun to see that the introduction has two answers to “What is Copland?”.

  1. Copland sans Buzzwords
  2. Copland avec Buzzwords

Features

Currently, Copland features the following buzzwords:

  • Type 2 IoC (setter injection)
  • Type 3 IoC (constructor injection)
  • YAML-based descriptor configuration
  • Object-, Class-, and Singleton-backed services
  • Service factories, with extendable rule-processing engine for defining new factories.
  • Interceptors (for adding basic AOP-like “pre” and “post” hooks to every method of a service)
  • Multicast services, which do nothing themselves except delegate recieved messages to a set of other interested services.
  • Event/Listener infrastructure, for notifying services at various points during another service’s lifecycle.
  • dRuby and SOAP support, in the form of two core services that applications may use to export their services to remote clients.
Jul 23

Adam Bosworth of BEA moved to Google

Google, Tech 1 Comment »

Man. Everyone wants to work for Google :)

Adam Bosworth was BEA’s Chief Architect working on Project Alchemy which was going to make our browsers cool again. He talked about how the browser would work near-time… in a manner where you are offline some of the time.

Anyway, so long BEA. Now Adam is going to be at Google, with Joshua Bloch from Sun :)

I wonder if there is anything particularly cool going on there, or just the norm.

Google gets another Java guy: Adam Bosworth from BEA

BEA’s Adam Bosworth Departing For Google