Nov 11

Java Steward No More

Tech 1 Comment »

It has been interesting to see that hardly anyone has mentioned Graham Hamilton’s sudden departure from Sun.

It seems like people either loved or dis-loved what Graham was doing at Sun as “The Dictator”.

Without him at the helm what will this mean for Java? More flexibility for dynamic languages? deprecated actually meaning something? Who knows!

Nov 10

Less is more != Feature is company

Tech 3 Comments »

I have been watching the recent set of Web 2.0 companies coming out via Web 2.0 Summit, StartupCamp, etc etc.

Some of the companies started to feel like they were features trying to be a company. Good ideas, but not companies.

I wonder if the “less is more” tenant that is around these days is getting seen in the wrong way.

Building something with less doesn’t mean that you don’t have to think about whether it is a product vs. a feature that you are building. Hopefully we don’t start getting bubblicious again for awhile :)

Nov 08

The Purple State

Personal, Politics 3 Comments »

I am in a mixed mood at the moment. It is fantastic that we will have checks and balances with the Democrats taking the house, and maybe even the senate (although I fear for the long drawn out process in Virginia).

Locally though I am quite dismayed at the referendum voting.

How people can vote discrimination into the constitution is mind boggling to me and is quite disgusting. I also feel the moral compass when it comes to the death penalty. Wisconsin was the first state to get rid of the death penalty, and that is something that impresses me, and now we can face having it back? This is the direction we want to take? Showing our children that killing is bad by killing people?

This all goes to show the purpleness of the state, or more correctly the blue pupils of Madison and Milwaukee compared to the red iris. Pull back and you see a purple that is telling.

I am heartened by the vote on bringing the troops home even though it was flabbergasting to read some of the verbiage in some of the communities.

One of the ballots basically read like: “Do you think that we should stay in Iraq until all organized terrorism is eliminated”. This basically means: forever.

election2006.png

Nov 08

Paying users to use your tool

Tech 2 Comments »

Mike talks about a conversation between Eric Schmidt and John Batelle:

Eric Schmidt: “They (Google’s office-like tools) have the one benefit of being free.”
John Batelle: “It’s hard to beat the benefit of being free.”
Eric Schmidt: “Well, we could pay people to use our apps?”

*cue the entire room laughing*

(the irony – as pointed out by John is that they probably could pay their users)

Not only could they pay, but it could even make sense.

If they can calculate that they can make X per user on ads, then they could pay X-Y to use it.

This is like the idea of giving books away for free, and only having the user pay shipping. You setup an amazing deal w/ the postal carriers, and book providers, and somehow manage to make $ on the shipping to more than cover costs. One day? :)

Nov 07

Feeling JavaScripty in Ruby

Ruby, Tech No Comments »

I am sure there is a better way to do this, so please let me know.

It somehow came up that someone wanted to feel JavaScripty when creating objects with methods.

People often follow the pattern below in JavaScript:


{ foo: function() { ... }, bar: function() { ... } }

How about in Ruby? Lucas Carlson talked about dynamically adding methods to classes through their objects in Ruby, and of course it is simple to do:

o = Object.new
def o.foo
puts 'whee'
end

But what if you want to make this more JavaScripty:


x = {:a => lambda { puts 'whee' }, :b => lambda { puts 'foo' }}.to_o
x.a

A simple bit of code did this (without good checking of things):

class Hash
def to_o
o = Object.new
self.each do |k,v|
if v.is_a?(Proc)
o.class.instance_eval do
define_method(k.to_s, v)
end
end
end
o
end
end
Nov 06

Rails: requires, class loading, and magic

Tech 2 Comments »

James Duncan Davidson has written up a frustrating experience where he learned Rails Sometimes Eats Class Load Errors.

After the trouble debugging the issue, James suggests:

Use require what you need where you need it. I tend to do this in my code all the time, probably from the habit of using include and import in other languages which are a bit pickier about such things. But, from now on, I’ll be prompting others to do this as well in Ruby, especially when using Rails. Don’t trust environment.rb. There’s too much magic there.

It is interesting to hear this, when on the other hand you learn about the new dependency management in Edge Rails.

Edge Rails lets you put code in yourappproject/mystuff/foo.rb in the package Mystuff::Foo and it is all loaded for you. This means that you can do LESS require-ing.

However, there does seem to be a bit too magic going on here, and I often forget the order of when things are loaded, which can be very painful indeed.

I wonder if someone has written up the dependency cycle of Rails so we can print it and put it on the wall :)

Nov 04

Wil Shipley WWDC Student Presentation

Tech 24 Comments »

Doug Purdy linked to Wil Shipley on one of his blog posts and this hilarious talk that he gave at WWDC for students.

True quality. If you laugh at the slides, imagine how fun the REAL talk was.

workfortheman.png

Nov 03

Apollo: Outswing Swing?

Tech 7 Comments »

Adobe Apollo is a pretty bold move.

If it is successful it could be a dominant platform of the future, and the timing might be spot on for Adobe.

“Imagine a cross platform developer toolkit. You can write your application once and run it everywhere”

Sound familiar? Swing (AWT) promised this. One app that you can deploy on Windows, Linux, Mac, and probably the fridge in years to come.

Unfortunately its birth was scrappy. The API was difficult, it looked like crap, and it performed like a dog.

My old mate Ben has made a healthy living being one of the very few who is, and can make your team, productive with Swing.

As the years have gone by Swing has actually gotten half decent. We would still love Swing to have a killer look and feel, and there still needs to be a framework to make it more productive, but we are getting there.

Then along comes Adobe with Apollo. The confluence is compelling:

  • A lot of developers know Flash
  • A lot of developers are doing Ajax (HTML/CSS/JS)
  • The latest Flash VM is a JIT and is very performant
  • Their is a blurring between online and offline applications

Imagine if you could develop in kinda one model (JS, HTML, CSS) and deploy to the web, AND rich desktop applications. Apollo is poised to do this for you, and it has the nice cross platform benefits of Swing too.

We linked to a presentation given by Adobe at their MAX conference on ajaxian: Leveraging HTML/JavaScript and Ajax in Apollo Applications.

If they can pull it off, we could have something special. On, and Flash has a mobile story too.

Nov 02

Gmail Mobile: not just a link anymore

Tech 5 Comments »

Google has upgraded their GMail support on mobile devices.

The suite used to have a GMail icon that linked over to the web view.

Now we have a downloadable Java client to do the work.

I have a Blackberry (SeekingAlpha users are often Blackberry folk. You know those financial guys) and downloaded it for a go.

It worked nice and speedily for me (even without the full bars) and felt similar to the BB email experience. I guess I will have to compare it to using the builtin BB email, which I really go like. They have totally thought about usability on the phone and being a keyboard quickkey junky they have you totally covered.

Kudos to the gmail java team. I think I know some of them ;)

Update: I also really like the GTalk integration on a blackberry, and how it seamlessly puts conversations into the mail BB messages application.