Jun 04

Luke and Darth talk past each other on language debate

Comic, Tech 3 Comments »

Dynamic Static

I witnessed yet another “dynamic vs. static” argument between a couple of developers today. The age old debate just keeps on going.

I totally understood both sides. I have been in both positions. If you look at the Rails code for example, it takes you quite awhile to grok what they are doing with tons of meta class stuff. It can be a little frustrating to open up classes that all look like “class Foo; end” and you growl “where is the functionality!”.

On the other hand, I have worked with plenty of Java codebases that have me jumping through the IDE following the class - abstract class - interface trail where it seems that a ton of code could be shortened to 1/40 the size.

Obviously, it is easy to write bad code in any language (and I have done plenty of that!).

What makes matters worst is when you have the team with the one wizard. This is the guy that builds code that bit twiddles your bytecode so much that you get exceptions when testing that send you to weird anonymous blocks that don’t actually show you what is going on. You curse as you are in static language land with a great IDE like IntelliJ yet all of the information is gone. The worst of both worlds.

On the other hand, you want to bring good practices from other lessons learned. When I write Java now I often use closure-like semantics. However, I try to think about who the users of the code are, and how they are likely to think about things. If you always give people a clean API (again, very hard) then you can do a bit more magic under the hood (until it breaks and the developers can’t debug the darn thing).

As we move to the world of the polyglot, it will be interesting to see how developers cope thinking in various paradigms in the same codebase.

May 29

I am on Dilbert!

British, Comic, Tech with tags: , , 1 Comment »

DionBert

I wondered why Scott Adams was following me around, and my coworkers were pointing things out!

May 23

TwitterFone: Voice recognition can be dangerous here

Comic, Tech with tags: , , 1 Comment »

Twitter Phone

I like the idea of TwitterFone. It would be nice to be out and quickly call in a tweet. I got an invite, and tried it out this week, and then remembered that voice recognition is really hard. Doesn’t it always seem to be one of those technologies that is “10 years out.”

My test tweet occurred after Man U beat Chelsea for the Champions League trophy.

I said:

I’m really excited that Manchester United won again today but I can’t believe that it went to penalties.

and I saw the following in my twitter stream a few minutes later:

I’m really study the dimensions unit one again today but I can’t believe that it went to penalties.

To be fair, they did pretty darn well. It is hard to expect them to know something like Manchester United. Unfortunately, even though they did well, it would be hard for anyone to understand what I was saying.

I then thought back to Twitter Translate. In that case we are translating between languages, and it is also often “off”. However, you can normally work it out, and there is a key difference. I expect that if I translate something that it will be a bit off, and I will cope with that. However, something like TwitterFone is happening without the consumer knowing, and thus it comes across as gobbledy gook as they don’t have the context (other than seeing “twitterfone” if they look carefully).

It seems that there are many use cases where it is OK that translations of some kind are “good enough”, and others where it does matter. You could get into trouble too, such as the comic above which messes up the “d” for direct message and changes it slightly so you say something totally different.

You could go from: “I like yoghurt and peas” to: “It hurts when I pee”.

Then there is the 140 character issue. It is impossible to do the math as you are speaking a sentence, so you will often run on.

Nice idea, but we need the technology to get to the next level for this kind of input to be used in a case like this. Using it for GOOG-411? Perfect… you can keep saying the same thing again.

May 20

Using downtime for publicity

Comic, Tech with tags: 8 Comments »

Twitter downtime

Every other day you see a post like this or this.

I wonder if the downtime that Twitter has, may have been a good thing in some ways. It gets people riled up, and we all rant about how it is crucial that we have a Twitter that is up. But, it isn’t down enough to make people switch to Pownce, which doesn’t seem to go down (or at least you don’t hear about it) so it therefore doesn’t get in the news.

I wish we could have a parallel universe that could compare the growth of a service with zero downtime versus a touch of it, in this case.

May 14

Damned if you do; When do you eat your own dogfood?

Comic, Tech with tags: , , , 2 Comments »

Eating your own dogfood

When should you eat your own dogfood? I saw two contrary thoughts recently that showed how sometimes you are damned either way.

Microsoft Silverlight Dogfood

I hit Channel9, or some baseball thing, or any random video site that uses Silverlight and I get the in-your-face “upgrade for a better experience” message. This has me thinking “geez, why wouldn’t they just use Flash here for the cheesy little video.” It feels forced and gratuitous.

But, then….

Curl using Flash

If you go to Curl.com you will see Flash content everywhere. It is easy to laugh and say “wow even Curl doesn’t use it!” and “How can they not eat their own dogfood”. Or, you could look at it another way: “They realise that they are enterprise players, and they don’t want to force a download on people who are just browsing their website.”

All of this brings us back to the question of when to eat your own dogfood, and it appears that the answer is nuanced. You don’t want to be bloody minded about it either way, and it depends on what you are doing. Are you forcing dogfood on your own teams that have a vested interest in making the thing better? Are you trying to shove it down other peoples throats? Could you even do both. For example, if you have Curl installed use that (showing something cool in addition), else, show Flash but have a small link to the Curl version if people are interested.

May 10

Definition of an IDE

Comic, Tech 7 Comments »

Definition of an IDE

Someone shoots you some Java source code, you try to just open it up in IntelliJ, and then you realize that you need a freaking project. Instead, you open it up in Textmate and go from there.

Hence, the definition of an IDE:

If you have to create a project before you to open a file, you are using an IDE

Good tools can be very rich, but not enforce this. Emacs can act as the mother of all IDEs when it comes to functionality, but you can also right click and open a darn file. At this point, I would never build a programming tool that didn’t work in either mode.

May 08

Job Swapping Priorities and a Macbook Pro

Comic, Tech 1 Comment »

Job Swapping Priorities

I had a conversation at JavaOne yesterday with a couple of chaps who had some interesting thought processes on taking a new job.

One of them had an offer from a company that he liked, that would have him changing location (which he wanted) but he was wondering if he should wait for WWDC and see if a new Macbook Pro comes out, and thus join afterwards getting the laptop. The thought of joining now, getting a current version, and then seeing a new one came out would be torture.

I sat and listened for quite some time before suggesting that if this was SO important to their package, that maybe they just tell the prospective employer and if they want them, they will probably buy the bugger a new laptop when it comes out.

Always funny to hear the priorities of the developer. Laptops, free t-shirts, and free food.

Apr 22

The future of HTML, XML, and Java look similar

Comic, Tech 3 Comments »

The future of HTML, XML, and Java look similar

I had a really nice chat with David Orchard, Kevin Marks, Brad Neuberg, Chris Schalk, and Dick Wall (all but David are fellow Googlers) and it was funny to see how the world of HTML / XML and Java planning sounded familiar.

On the XML and HTML side you have the tag soup HTML folk who want to be practical and just SVG and MathML going, so put the darn stuff in there. On the other side you have the XML camp thinking about how to be smart and auto include namespaces, and relax requirements such as “When you see the first error, DIE DIE DIE” which makes XML impossible on the Web.

Then you look at Java, and see the growing pains there, and the desires for Java 7. The Java language folks are keen to keep incrementing the language with all of the cool stuff people are enjoying else where (Closures and the like). Then there are the Java platform folk who think that we should keep Java simple, and that adding all of the cruft does the opposite. Their solution is to use Java as a platform and use JRuby, Groovy, Scala, and any other language to develop functionality.

What camps are you in? I am in the HTML 5 and Java platform camp, as you could probably guess.

Apr 16

% history meme as boring as history class?

Comic, Tech 3 Comments »

History Meme

The new rage seems to be piping this to your blog:

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

It reminds me of history class at school. Always painfully boring, which is such a crying shame, as history itself is fascinating. How school managed to take the subject that could be so enjoyable, and such a tie in to all other subjects, and instead make it incredibly boring is a crying shame.

The only thing that could put me to sleep faster would be:

148 ls
83 cd
29 download_saucy_mare_pictures
28 vi
24 ping
24 git
16 whois
15 wget
13 sudo
12 rm
Apr 15

Consilidation in the Open Source Java Stacks?

Comic, Java, Open Source, Tech with tags: , , 1 Comment »

Dealing with Java CIOs

I was talking to a friend that does a lot of work in the realm of Open Source Java. He is someone who talks to people high up in the chain, and discussed how a lot of the CIO folks are getting a bit confused with the offerings. They had gotten used to JBoss. And, now they get Spring. But, they keep getting bombarded with more things. Next they had Mule, and Groovy.

Get some of these guys in a discussion about Mule vs. ServiceMix and they froth. Spring did something smart via Spring Integration, but maybe it is time for some consolidation? SpringSource + MuleSource + G2One? SpringyMule?