FOSCON2005 @ FreeGeek

For anyone who was or was not able to attend OSCON for Ruby and Rails related things, FreeGeek (think through the PDXLUG) sponsored some of the ruby/rails speakers from OSCON to come down and give a talk. This was very cool.

I arrived a few minutes late and DHH was speaking about rails. Very cool, especially because it was not one of the talks he had given so far at OSCON (atleast that I had seen).

Also there was Vanerburg speaking about metaprogramming in Ruby. The material he presented was pretty interesting. His talk plus Dave Thomas’ talk at the beginning of the week really gets me excited about Ruby. WOW! It is such an incredible language. it has so much more to offer than what you can get out of the Pickaxe book (Book is excellent, just does not push all the boundaries of Ruby. That may have require another 500 pages.)

West spoke about recreating the NextStep API for flash called ActiveStep and integrating it with Rails. Pretty interesting, although I did not get some of what he was talking about when it was flash specific. I have never done anything w/ flash. Very interesting.

And lastly there was White Lucky Stiff. They were slightly beyond description. Two guys and a girl showing homemade artsy computer animations, playing music and telling jokes. All material, w/ the exception of a couple of jokes, was about… Ruby. And most of it was funny. Definitely not politically correct, but that’s what made it so fun.

Met Robby Russell and talked to him for a bit. Great guy.

FreeGeek rocks. Turns out FreeGeek is a non-profit that recycles computer and teaches people how to build computers and run linux (job training) in the Portland area. Their location is very cool. Kinda like a computer garage. I was very comfortable there. It was a good fit.

Also in attendance was Matz – He did not give a presentation but accepted a gift from FreeGeek. A Japanese to English Dictionary.

Update Phil corrected me. Sorry for the misinformation. Rich Kilmer talked about the ActiveStep Flash API. Why the lucky stuff rather than “White Luck Stiff”. And Matz was given a dictionary of American idioms.

Don’t trust my memory!

Posted on August 4, 2005 at 11:32 am by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – Extracting Rails from Basecamp

Last session of the day. More rails!

Extracting Rails from Basecamp

Basecamp came from 37 Signals.

Trust – the best technical decisions come from technical people when it comes down to developing applications.

Start w/ least amount of resource and then start to scale.

Tried to build half a product rather than a half ass product.

Less Software

Approach to software engineering under constraints was to write less software.

So why another framework?

Experienced PHP background w/ some java.

Basecamp originally written in PHP. Hit wall with PHP – it fought back against what he wanted it to do.

Inspired by java but it was too much enterprise. Too much focus on the 99.999% and not enough on the 98%. Geard toward building the amazon.com of software, not the single developer hacking away.

So… Liberate the good ideas from the different languages. Ruby was the new place to liberate those ideas and make them not hurt.

Calls himself a shallow programmer

So halfway through Basecamp he realized this might be useful to other people. And now we need an extraction.

Doesn’t work to design a framework before you start coding. That’s the cart before the horse. You are then limited to what you designed.

Need application driven development to make good frameworks.

So why opensource it.

And it works. 1000 patches in 9 months. Extract, pass, reap, rinse, repeat.

Now need to get traction for your opensource project. If nobody is looking, it does not matter.

Greatest fear as an opensource developer is obscurity. Need a network to reap the effects.

Opensource programmers need to get rid of their academic humbleness and bring rave about the good stuff. If you are not passionate, nobody else will. Need to set a baseline of excitement. Passion is infectious. You decide how high to set the bar. David set the bar very high!

Self delusions work!

Go Looking for Trouble. Tout advantages over the known. “If it bleeds, it leads”

Dealing with Traction

Now you need to scale your culture

Items will be added to rails by necessity. Example i18n. Not many people using it. Some people have tried it, but once enough people need and are using i18n, it will appear almost automagically and be useful.

Posted on August 3, 2005 at 7:21 pm by doug · Permalink · Leave a comment
In: Uncategorized

Best Hacker of the Year

Congrats to David Heinemeier Hansson for the O’Reilly/Google best hacker of the year

Posted on August 3, 2005 at 7:18 pm by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – State of the opensource databases

Ingres _ by CA_

Ingres r3 is the version which was put into opensource.

Features

MySQL with David and Monty

MySQL 5.0

Firebird w/ Ann ?

Development seems to be fairly slow going. Borland reniged the opensource license and Firebird is a fork. First releases were mostly bug fixes. 1.0 and 1.5 can share same data file.

Firebird Strengths

Firebird future (2.0)

Vulcan

Postgresql 8.1

8.1 features are frozen now. beta release in mid-august or early september.

Key New Features:

Pervasive, Green Plum and EnterpriseDB and Unisys building products/businesses around Postgres. Approx 1.5 million downloads of 8.0.×. and lots of new users (notable NWS and Ameritrade)

Posted on August 3, 2005 at 3:38 pm by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – Webwork vs. Spring spackdown

Matt Raible and Matthew Porter

Not much to report here. Mostly a bitch session about what’s wrong w/ java frameworks. I could not help but feel sorry after using rails for the last couple of months.

Matt and Matthew are both good presenters. Good light presentation for the day.

Posted on August 3, 2005 at 1:41 pm by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – Firefox extension development

Tools – XPIStubs (pronounced Zippy Stubs) Use this and forget half of what you need to know. Still needs some work.

Speaker looks like Hani (bileblog)

Looks like this tool stubs out everything you need to develop firefox extensions. Run the program to stub out program, do a ./configure make and it installs a plugin into firefox that pops up a window “Test”.

All you need to know to get started developing firefox extendsions are

Extensions allow you to add new features to existing applications and add new functionality to browsers.

Why user firefox:

XUL
The xml interface language for mozilla/firefox

It provides

And… it may be loaded remotely or locally.

Command Event

Broadcasters

Controllers

RDF and Templates

XBL Bindings

XPCOM

XPI: Cross platform Installer

Dev Tools

Not Bad – rest seems like it will be demos, so shutting down to save batter power.

Update – ACK! It almost looks like jelly – programming in XMLWAY WAY Verbose

Posted on August 3, 2005 at 12:47 pm by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 Keynote

Over the keynote was just OK. Not terribly exciting.

Tim O’Reilly is an awsome speaker as always. He seemed to keep it short this time for some reason. one thing he said that struck a chord, was once you create an standard, values moves up the stack. He believes opensource is doing this now, moving up the stack of standards (hardware).

Next up was Kim Polase (think I got her last name right). Good speaker but did not need to be delivering something as part of the keynote. Her talk seemed to be a plug for Spikesource.

Next up was Andrew Morton, linux kernel hacker extradonaire for OSDN. Difficult to understand b/c of how he spoke into the mic. Definitely a developer. Spoke a little in a drone about the integration of opensource and the commercial world.

Lastly was an interview with Jonathan Schwartz. Says he is happy to see an opensource implementation of Java (apache harmony project) but license for Java will not be open b/c they don’t want it to fork. Of opensolaris, says there is now no need ot compare big, bad closed source solaris to open linux. Can now compare the features of one to the other since they are both open. And to show that he was not 100% full of shit (maybe that is a little strong) said netbeans has the features it has today because of eclipse.

I think I would have rather have seen Tim give the entire keynote. I did not get much from any of the other speakers.

Update: Introduced myself to David HH (Rails) after keynote. Nice guy. Awsome framework.

Posted on August 3, 2005 at 12:34 pm by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – Learning XSLT

This update is late since my server was down during the track. Also my notes were pretty shoddy since there was so much info I was trying to digest plus I was getting sick during the track. My ribs ached and I my teeth were chattering b/c I was so cold. I believe I had a fever. Must have been some kind of virus.

The last time I tried using XSLT, I really, really did not like it. Lots of frustration and curse words. But given that I have to work with XSLT in my current project (to transform word xml templates) I decided to attend. I was going to attend Eric Hatchers Opensource gems, but that talk seemed to be mostly about Lucene and using a few opensource java projects. Interesting but given ruby has changed my interest in java and I need to use XSLT, well…

I’ll spare you my shoddy notes. Have a look at the speakers slides from the class. My notes mostly copied much of what was in the slides anyway. Plus the slides mirror much of what is going to be in the speakers upcoming Oreilly book.

Evan Lenz did an excellent job at presenting XSLT in a clear, very understandable way. I walked away feeling brain overload but feel like I learned something that I can apply.

Background on speaker, Evan Lenz

Posted on August 3, 2005 at 9:16 am by doug · Permalink · Leave a comment
In: Uncategorized

bidwell down (AGAIN!)

Well it was yesterday during OSCON and prevented me from blogging.

This is getting nuts. Seems to be occurring 2-3 times/week lately.

I really like textdrive but the downtime is getting really annoying. Particularly since I am trying to blog OSCON and the server goes down right in the middle of a track.

They are using FreeBSD, which I really like, but when you look at the status of bidwell when it is down (status.textdrive.com) it seems to be __fsck__ing for a long long time. Why doesn’t BSD have journaling file systems like linux. I understand why they can’t use linux’ but seems like they would have started development on one. On the linux boxes I use, it is so nice not to have to go through the fsck.

Posted on August 3, 2005 at 9:01 am by doug · Permalink · Leave a comment
In: Uncategorized

OSCON 2005 – Learning Ajax

Demos and slides

You’ll walk away with

Damn. I thought I was already dangerous. Crap.

Demo Life in a text area
Interesting – autosave in a textarea – much like autosave in a text editor or something like MS Word.

What is ajax

Should turn browser into a client for your protocol/api

Good, Bad, Ugly

When is ajax the answer

Ajax basically manipulates the DOM. Everything is a node.

It’s moving a little slow at the moment. Talking about the javascript api for manipulating the dom and about how not everything is a node (text for example)

Easiest thing to make code portable is use getDocumentById() call

The speaker is sick! a big chunk of custom javascript for moving around paragraphs on a page. Glad there are toolkits for this. It would sound like a turrets party if I had to do it.

Did not know this – can set style propery of any node and can access css styles using CamelCase names.

Mozilla and MSDN have good dhtml references and speaker thinks MSDN has the best.

Limitations can’t request resources which are not on the same domain (XMLHttpRequests). you could proxy if needed

~4k is the usual typical upper and lower limit of what you can store in client cache (cookies) on a per domain level

Browser incompatibilities – write to the spec and use http://quirksmode.org as a reference for cross platform incompatibilities.

IE has conditional comments – block of code is commented out, but runs in appropriate browser. For example would only run in IE5 or IE5.5, or IE6, etc. Conditional Comments are not used very often, but very useful for determining which one of the many xmlhttprequest objects to load.

.innerHtml is a read/write attribute which modifies the dom. Should uses sparingly but is very useful.

.innerHTML example
precode
var fooNode = document.getElementById(“foo”);
var parentContents = node.innerHTML; // where innerHTML = ‘div id=’foo’/’
node.innerHTML = parentContents;
// fooNode is no longer a valid reference here
/code/pre
Point is if your program depends on a node being there, like an onclick handler, it may be going if you do not use innerHTML judiciously.

What to return

You could send back javascript for large data sets where the javascript you send back would have something like a large dataset in an array. Smaller in size and faster to render than xml/html.

Engineering for ajax

Back from break – talking about autosaving

XMLHTTP Basics

Now covering different ajax toolkits

Prototype by Sams Stevenson Ajax framework baked into Rails http://prototype.conio.net/

Dojo Ajax framework written by speaker, Alex Russell http://dojoframework.org

The toolkits (showing Dojo) have built-in graphics for UI display, example a progress indicator or spinner.

Whoa…. Dojo is pretty impressive. As I understand it, it’s sorta like tapestry but for ajax. you create widgets for say an autosaving text area. You can drop a widget on any part of your app and override default values by providing a dojo widget html fragment (div with some specific elements). Not tied to dom id, node, etc.

Debugging Tools

Rhino command line example
java -jar js.jar

brings you into a javascript shell (like irb or python shell) poor interactive command line

example.js
precode
function foo() { print(“BAR”) };
/code/pre

java -jar js.jar example.js
precode
js foo()
BAR
js
/code/pre

Advanced Tools

The talk was pretty good. Did not find myself getting bored through alot of it. I’m just glad someone else develops the JS libraries so I don’t have to.

Update Did not get to finish blogging while in the class b/c the server where I host netinlet.com went down (pretty much until the end of the conference that day). Was able to save all the content offline though and updated that. This is the repost of original + additional content.

Posted on August 2, 2005 at 10:15 am by doug · Permalink · Leave a comment
In: Uncategorized