May 20

Using downtime for publicity

Comic, Tech with tags: 9 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: , , 2 Comments »

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?

Apr 14

Keys to the Google App Engine

Comic, Google, Tech with tags: 4 Comments »

App Engine Locks

It was quite fun to see, right after Tim O’Reilly pondered the lock in strategy for App Engine, that Chris Anderson posted that he had ported the SDK to App Drop.

Now, there are some concerns here as the SDK itself isn’t built for performance, security, etc…. but this is a great start in a very short period of time, and it shows where people can take it.

Waxy has a good write up:

This proof-of-concept was built in only four days and can be deployed in virtually any Linux/Unix hosting environment, showing that moving applications off Google’s servers isn’t as hard as everyone thought.

How does it work? Behind the scenes, AppDrop is simply a remote installation of the App Engine SDK, with the user authentication and identification modified to use a local silo instead of Google Accounts. As a result, any application that works with the App Engine SDK should work flawlessly on AppDrop. For example, here’s Anderson’s Fug This application running on Google App Engine and the identical code running on EC2 at AppDrop.

Of course, this simple portability comes at the cost of scalability. The App Engine SDK doesn’t use BigTable for its datastore, instead relying on a simple flat file on a single server. This means issues with performance and no scalabity to speak of, but for apps with limited resource needs, something as simple as AppDrop would work fine.

Chris said: “It wouldn’t be hard for a competent hacker to add real database support. It wouldn’t be that hard to write a Python adapter to MySQL that would preserve the BigTable API. And while that wouldn’t be quite as scalable as BigTable, we’ve all seen that MySQL can take you pretty far. On top of that, you could add multiple application machines connecting to the central database, and load-balancing, and all that rigamarole.”

And for data, you can write built-in services that export your data from the store.

Apr 11

Google App Recruiting Engine

Comic, Google, Tech with tags: 1 Comment »

Google App Recruiting Engine

I have to admit, that as someone on the inside it is nice to see the Google App Engine out there as a way to show some of the way in which we do things, especially scale.

One big difference you will see is the lack of a RDBMS, and instead with Bigtable, you build models that you can do cool things with such as Expando. Being able to add data elements as you iterate is very nice indeed, and beats SQL land, even with migrations and such.

Now when a new engineer comes to Google, they won’t have to entirely swallow a big red pill, as they may have gobbled a little of it already.

Apr 10

App Engine with Ruby, Python, and Perl

Comic, Perl, Python, Ruby, Tech with tags: 9 Comments »

App Engine with Ruby, Python, and Perl

Since I am still in London, my sarcasm quotient extends just a little more than usual (it’s pretty high in the US to start with, even if it is the “lowest form of humour”).

I had a fair amount of email from people, and saw some blogs, complaining about the fact that Google App Engine currently supports Python only. On the video, and in the docs, it is frequently mentioned that other languages are to come, and that the infrastructure itself is language neutral. We have to start somewhere!

I personally have a slight Ruby preference, but there is a funny thing about Python. Hardly anyone really hates it. It may not be the language of choice for many people, but a lot of people are telling me:

  • Ah, was hoping to try more Python
  • I was looking for an excuse to code a Django app
  • I can deal with that. Thank god you didn’t force Java

This is a little like the iPhone SDK being Objective-C. People are picking it up. I think this happens then your desire to play with the new toy is greater than your religion!

I am very excited to see more languages and features on Google App Engine, but I know that I just have to be a bit patient, and in the meantime, I had been looking for an excuse to code a Django app.