Mar 27

MTS07: Joe Stagner chatting on ASP.NET 2.0 Ajax

Tech 7 Comments »

joestagner.png

Joe Stagner is a kick boxer. He owns a gym. He is scared of Detroit. How did this come up? He was pushed to tell a tale of a trip to motown.

He claims that the Ajax landscape is currently more “widget toolbox”-y than a real stack. He is looking at Atlas to allow you to build Ajax apps that “you couldn’t” build with other platforms.

Case Study: Dominos Pizza

Timely delivery is fundamental to the profit/loss: “If the pizza isn’t at your doorstep in 30 mins it is free”.

What if the caller id caught the info, converted the number to an address via white pages, used a geo locator to get the long/lat, and then got a picture of the front door so the driver knows the door.

The long/lats will be queued up and when the driver leaves it calculates the best route for the driver.

Joe enjoyed making fun of the genius of the marketing department took Atlas and made it:

  • Microsoft ASP.NET 2.0 Ajax Extensions 1.0: the server side stuff
  • Microsoft AJAX Client Library: the client side stuff
  • ASP.NET AJAX Control Toolkit
  • ASP.NET AJAX Futures CTP
  • Codeplex.com Additions

When asked why Microsoft did their own thing on the client side (instead of focusing on the server side piece and integrating with Dojo or …):

Why create your own client side library instead of working with one of the other libraries. Joe felt that the language extensions were necessary for commercial development on Ajax. The customers want the synergy of the client and the server side.

I think that it is all about control ;)

Joe booted up Visual Web Developer 2005 and showed Ajax Tutorial 101 for Atlas… creating a button that updates a panel. After doing a quick demo, he showed a bunch of tools from the toolbox side of things such as a ConfirmButtonExtender.

One of the examples was gym software, and when Ben asked if this was software that Joe uses to manage his gym, Joe bound down from the stage. For a second I thought that he was going to judo chop Ben, but he whispered “I run my site on phpNuke” :)

Finally, Joe booted into Ubuntu 6.1 in Virtual PC and showed the stack running over there.

Mar 26

John Lam and Jim Hugunin on Dynamic Languages on the CLR

Ruby, Tech 5 Comments »

For more coverage, quotes, and photos, check out Ben’s thoughts.

The session that I was looking forward too was chatting with John Lam (RubyCLR) and Jim Hugunin (IronPython) to discuss dynamic languages on the CLR. This was the first session that reached out the crowd, so we got to shout out questions.

There was an immediate warning that they won’t be able to answer all questions. If it was the end of the month we would be in better shape. Come on Queensland. You know that Ruby – IL is coming soon.

Jim discusses his story on how he ended up at Microsoft, and how he wasn’t hired to write IronPython, but to be in the CLR team and make dynamic languages run better. Currently, he has a team that does most of the work.

Questions:

These were in the order that people shouted them out, and very much not in the order that they were answered.

  1. Ruby or Python, which sucks less?: Jim is not a language biggot. Python happens to fit his mind best. There are lots of people who seem the same as me but get this mind meld with Ruby. “It annoys me that I can’t play around with a Rails apps without learning a new language. I want the languages to get along better together”. Hopefully that means that we will see some compelling examples of this in the future (of course both on the CLR mean that you can do some things). John finds the DSL meta model that Ruby gives you superior.
  2. How are you going to lock us into your platform?: Two sides to it. IronPython’s goals have been about becoming a compliant implementation of Python, and being integrated with .NET. It is a challenge to do both at once. A few examples:
    s = "abc"
    s.strip
    vs.
    s.Trim()
    

    What should they do? Allow non-python Trim? throw an exception? Use import clr to allow Trim and friends.

  3. What is the plan for PHP?: No one in the audience thought that it was really needed.
  4. What is it going to take for Rails to run on top of .NET?: The audience wants this to happen. Michael Koziarski of the Rails Core team would like to see this so support questions can be answered. Others want to be able to deploy Rails into enterprise customers who deploy on Windows. Also, the CLR could take up the weakness of Rails/Ruby deployment and make it the best platform.
  5. When is the veil of silence going to be lifted?: Jim explained how he was stuck under the veil for 8 months, and it drove him nuts. He is happy that now he is out there. IronPython 1.1 is now out, 2.0 is being talked about. We shouldn’t be harsh on John as he has only been part of the company for a matter of months. “If 8 months go by without an announcement, something has gone wrong.”
  6. Why dynamic languages?: I want more freedom than I can get from these languages. Unit tests are the solution. We discussed how unit tests are great, but how many developers REALLY practice this discipline. Writing unit tests is like winning in Vegas. Everyone says that they are at least even with the house. Judging by the new $7bn complex being built on the strip, someone is lying. Jim hasn’t been able to persuade static folk over the years, but who cares? Lots of people love it, so let them program in it!
  7. Do we want to run the CLR in IE?: The audience wants it. Jim/John like the idea. The use would be: fast JIT’d JavaScript, Ruby and such in the browser, and the ability to tie into the blackbox that is currently the JavaScript VM on IE.
  8. Mono?: It’s getting better?
  9. Should dynamic languages be an Intro CS100 language?: They have a lower barrier to entry. The concept count is lower than in a static (classes, methods, static method calls, …. to write hello world in Java, C#). This low bar means that you may see crappier code, as “non-programmers” can write it. This is a good thing. Jim spends half of his time in Python, half in C# and he likes it.
  10. Phoenix?: wrong group.
  11. Erlang? Haskell? OCAML? F#?: …..
  12. What about IDE support?: They aren’t seeing the desire for IDE support in the community. John showed off his WPF Black on Black irb world. He is a super star :)

Two great guys. I wish we could have gotten in depth with what is coming up soon. Without that, it was hard to get value out of the conversation in the same way.

Mar 26

Struts.Old Fun

Tech 4 Comments »

It is always nice to login to something (in this case Wifi access) and see a friendly Struts error message.

We are in the user friendly times again.

Speaking of which, good times: hearing a Microsoft guy say that Apple stole its UI ideas from MS Research when they created OS X.

strutsfun.png

Mar 24

Cricket World Cup 2007 – The Movie

Sport 5 Comments »

This years Cricket World Cup seems to be more like a Columbo TV show. First we have the sad passing of Bob Woolmer, which doesn’t seem connected to his diabetes at all, as the strangle marks showed. The cricket world is wondering whether the culprit(s) took this on to stop him from talking about match fixing, or because they are crazy Pakistani fans who were upset over a loss to Ireland (which is like the Indianapolis Colts losing to a british high school grid iron team).

And, then we have Freddie doing silly things involving drink and warm weather, and other people getting injured and such.

A movie in the making, and not about the good side of things (the sport itself).

Mar 24

Beryliz: Linux Wow Factor

Tech 6 Comments »

It is good to see that Beryl and Compiz are merging forces again.

It is nice to see Linux having innovation on the desktop instead of boring simplicity.

Mar 23

Congrats to Tangosol over Oracle deal

Tech No Comments »

A warm congratulations to Tangosol on the Oracle deal. It couldn’t have happened to a nicer group of guys.

I had the pleasure of working down the road to their offices in Davis Square, and had plenty of nice meals and good times.

Now we can expect some Fluster Clucked Oracle T-shirts at JavaOne!

Mar 23

Red Nose Ricky Gervais

Personal No Comments »

Ah, Ricky.

Mar 22

Hadoop and Mike Cannon Brookes on using Lucene for Data rather than Text

Open Source 6 Comments »

Mike kindly started the presentation with a consuming warning, letting us know in advance that he was going to be pimping JIRA (because this was going to be case study-esque).

These days JIRA uses Lucene for “Generic Data Indexing”: Fast retrieval of complex data object. This isn’t about text searching for “dog” sorted by relevance. The statistic pages all come back from a Lucene index, not from the DB.

Lucene has a way for you to write your own Sort routines via Sort, SortField.

I have seen the “viral Lucene” pattern apply in a variety of projects. You start out using it for /search, and then you see that you can use it for other things. Slowly your DB is doing less, and your Lucene indexes are growing. This is a killer open source project, even if the API is a little weird.

Hadoop: Open Source MapReduce

I had a couple of people ask “why Google hasn’t open sourced our MapReduce?” They didn’t know about Hadoop:

Hadoop is a framework for running applications on large
clusters of commodity hardware. The Hadoop framework
transparently provides applications both reliability and data
motion. Hadoop implements a computational paradigm named
map/reduce, where the application is divided into many small
fragments of work, each of which may be executed or reexecuted
on any node in the cluster. In addition, it provides a
distributed file system that stores data on the compute nodes,
providing very high aggregate bandwidth across the cluster. Both
map/reduce and the distributed file system are designed so that
node failures are automatically handled by the framework.

The intent is to scale Hadoop up to handling thousand of
computers. Hadoop has been tested on clusters of 600
nodes.

Hadoop is a Lucene sub-project
that contains the distributed computing platform that was
formerly a part of Nutch. This
includes the Hadoop Distributed Filesystem (HDFS) and an
implementation of map/reduce.

For more information about Hadoop, please see the Hadoop wiki.

The great efforts of Christophe Bisciglia of the open source group revolve around UW classes where Hadoop is used in the curriculum.

Mar 20

The case for sharing all of your content in full RSS feeds

Tech 3 Comments »

Michael Eisenberg, a VC and nice guy, thinks that it doesn’t make sense to share your content in full, in your RSS feeds.

Michael, understandably, comes at the question from the business side and discusses his feelings on monetization, and even how RSS itself is a fad.

I have a very different set of beliefs. There are a couple of simple reasons why I have always uses full entry content in my feeds:

Give your users what they want

If a user wants to read my content in full, in a feed reader. More power to them. I always want to extend my reach, and offering content in different form factors makes sense to me. Some people like to read everything on my website directly, others aggregate on My Yahoo!, others still read away on their feed readers. I am sitting on a plane right now, and due to my feed reader, I can spend that time flirting with the mass of information that lies deep in my reader. Instead of the usual quick dash to find the best content, I have time to delve into that second or third tier of feeds that I often overlook. It beats watching the kid in front of me screaming!

Compete against yourself

If a lot of your users prefer reading your content via your feed it means that your site isn’t giving them what they want. Having your site compete with a feed reader view of your content is good in that you have a baseline to go against. It will make you add more value to the site itself… and hopefully most people will want to hit the site itself.

You will be careful not to flood your web viewer with ads quite so much too ;)

Tweak your RSS view

If there is a feature that people are loving on your site, consider adding it to the feed itself. There is no rule that says your feed has to be boring and totally stripped down. You can allow users to see comments, or add comments, directly from the feed view. This can keep the balance of the competition interesting.

You can also put ads in your feed just as easily as you can on the site, or in emails, so you can monetize it too. Why alienate the feed reading posse? Don’t you want them to read your ads too?

Searching within your content

My feed reader is more than just content. It is a database of my trustworthy (or at least interesting) view of the web. I often run searches in my feed reader to slim down my results to this data set. In fact, I also have a process that created a Google Custom Search from my OPML file. As Google gets more and more personalized on search results maybe by giving it my OPML it could be a hint to setBoost(1.2) on content from these friends (which you could rank too).

New search engines

There are new search engines such as Allth.at aiming search not just at indexes, but searching via API (if they can find one), then RSS feed, then index. If you do not have a full RSS feed, the user isn’t going to find your content.

Future of RSS

We could talk a lot about whether RSS will be mainstream, and whether your mum will be talking to you about Atom vs. RSS. I think that the core value of subscribing to content will be here for a long time. It may not (or will not) by called “RSS”, but we will be consumers.

This is all why I will keep “giving away” my content. It is an honour that anyone even cares enough to reach out and subscribe. I respect them enough to give them what they want.

What do you think?

Mar 19

Mark Pilgrim Dives into Google

Tech 2 Comments »

It was great news when I heard that Mark Pilgrim is joining Google.

He is a fantastic technologist and writer and I can’t wait to work with him.

Congrats, and welcome to the team.