NunoNunes.org

Day 4 of the European Open Source Convention 2006

These are the notes I’ve taken during the talks on the fourth and final day of the 2006 edition of the O’Reilly European Open Source Convention (better known as EuroOSCON 2006).

You can get to the index page for my notes on this conference here.

The Conway channel

Speaker: Damian Conway

List::Maker

  • In Perl6 we have @bitmap = (0) x 256;_ becomes _@bitmap = 0 xx 256; and many other things, but for Perl5 we have List::Maker

  • for (<@list>)

  • for (< ^@list> ) (count down)

  • my @list = <1, 4, ..30: !/13/>; (1 to 30, 3 by 3, but not 13)

  • my @list = <yada yeda 'hello world' hello>;

  • my @list = < 46d >;

  • Extensible by using the add_handler funcion

  • New version up on CPAN in a day or two

Contextual::Return

  • Designed to solve the wantarray problem

Examples:

use Contextual::return;
sub yada (){
    ...
    if (LIST) return X;
    if (ARRAY) return Y;
}


...
return
    LIST { @list }
    BOOL { 1 }
    STR { "hello" }
    VOID { die "huh?" }
  • return FAIL; => if it is called in a BOOLEAN context return undef, else die. This means that open FH 'file'; now dies (as it should) because I’m not checking the return value

Douglas Engelbart’s Hyperscope: Taking Web collaboration to the Next Level using Ajax and Dojo

Speaker: Brad Neuberg

  • Augmenting The Human Intellect - Paper to read (1962!!)

  • Tools for thinking:

    • Language ( 40,000 years? )
    • Writing ( 3,500 - 6,000 years? )
    • Computers ( >= 1950 )
  • Systems Thinking

    • Tools
    • Humans
    • Training (no training is good, implicit training should suffice, but training get you further, faster)
    • Language (a way of conveying symbols, not just words)
    • Methodology (take what you’ve already got and use it in new ways)
  • Capabilities (all 5 parts of the systems have capabilities)

    • Can be broken down
    • Work together
    • Some are more core than others
  • Look at tools and humans holistically

  • http://hyperscope.org/

Technorati Tags: , ,

Day 3 of the European Open Source Convention 2006

These are the notes I’ve taken during the talks on the third day of the 2006 edition of the O’Reilly European Open Source Convention (better known as EuroOSCON 2006).

You can get to the index page for my notes on this conference here.

Jabber: the state of the bulb

Speaker: Peter Saint-Andre

  • Jabber is powered by streaming XML
  • Streaming bits on real time everywhere, more like a real-time Internet-supported application server really
  • Use your own namespaces to send/receive most anything you want
  • All open-standards

Dare, Care & Share

Speaker: Tor Nørretranders

Defending the hard path

  • Why do people choose to do something that is inherently difficult? (Especially if they choose to do it because it is difficult…)
  • Potlatch - The ritual of showing your strength (a village/tribal chief’s strength) by giving gifts, especially gifts which create waste, which are resource-limited. He who could waste the most was the strongest
  • Wasting will advertise your resources
  • The natural world works like this also, see the ugly (dangerous) feathers on the peacock’s tail
  • The handicap principle states this same notion (this principle was mathematically proved on the basis that “genes that go for a silly, costly display have a better chance of reproducing”)
  • Taking something difficult which someone has already done and doing it in a slightly more difficult way will, therefore, make you more appreciated. This will spawn multiple derivations from the original thing and lead to greater “evolution

Why did the Web create a gift economy?

  • Hau - The spirit of the gift. Gifts create societies and relationships.
  • A gift creates a “debt” of sorts because the hau (the spirit of the gift) will always be trying to get back at the gift giver. In an economic exchange, in contrast, people pay for the good so there is no sense of “obligation” afterwards
  • We live in a market economy with huge pockets of gift economy:
    • family
    • neighbourhood
    • friends
    • colleagues
  • Most of our daily life is centered around the gift economy, as opposed to the market economy
  • On an economy of scarcity you show your strength by owning, knowing, closing, etc; on an abundance economy you show strength by giving, showing, sharing

Technorati Tags: , ,

Day 2 of the European Open Source Convention 2006

These are the notes I’ve taken during the talks on the second day of the 2006 edition of the O’Reilly European Open Source Convention (better known as EuroOSCON 2006).

You can get to the index page for my notes on this conference here.

Microformats: Web of Data

Speaker: Brian Suda

(missed some of the initial content, must link to slides which are on-line on the speaker’s website)

  • Microformats are “people first, machines, second
  • Embedded in HTML “overloading” the tags that are already there

Compound Microformats

  • hCard: Information on people
  • hCalendar: Information about events (calendaring)
  • hAtom: Information about feeds
  • hReview: Reviewing events, etc…
  • hResume: Your resume

Why encode things in HTML directly?

(Ex: hAtom) If it is in HTML it is easier to later convert it to other things, the semantics are all in HTML, human-readable, and then a “semantic cook” comes in and transforms it into whatever you want

Provides “Unix piping for the Web”:

  • HTML | WebService |
  • HTML | Tidy | Proxy Service | Mapping
  • HTML | …

Basically allows us to maintain everything (people, calendars, …) in a single format —HTML— by “overloading” the HTML markup elements such as span, class, …

Project honsting on Google Code

Speaker: Greg Stein

Google Code

  • Up now:

    • Simple interface, no advertising
    • Gmail-like issue tracking
    • Scalable Subversion repository (supported on bigtable)
  • Coming soon:

    • File Downloads
    • Issue change notifications

Cool Tools for Geographic Applications

Speaker: Schuyler Erle

http://labs.metacarta.com/

Using MetaCarta technology for nothing (or close to).

  • GIS and the Neogeographer: Neogeography is not GIS, it is about GPS, Google Maps, Mashups, etc

OpenLayers

http://openlayers.org/

  • API for building web map apps
  • AJAX
  • Open source

Gutenkarte (Using GeoParser)

Gutenkarte GeoParser

  • Taking text (like a Gutenberg project book), feed it to a GeoParser API, getting the place names out of the text and producing a map with all those places marked (with, for example, name sizes linked to the frequency with which each name is referred to)

The Google Data API

Speaker: Frank Mantek

http://code.google.com/apis/gdata/

  • Data presented in ATOM and RSS formats

Google kinds

  • Calendar provides:
    • event
    • time
    • status

Queries

  • REST filter model
  • Returns items

Writing

  • Update: “POST” to an URI
  • Delete: “DELETE” to an URI
  • Insert: “PUT” to an URI

Technorati Tags: , ,

Day 1 of the European Open Source Convention 2006

These are the notes I’ve taken during the tutorials on the first day of the 2006 edition of the O’Reilly European Open Source Convention (better known as EuroOSCON 2006).

You can get to the index page for my notes on this conference here.

Tutorial - Datawarehousing with MySQL

Speaker: John Paul Ashenfelter

Presentation notes

  • It is mandatory to talk to everyone involved and make them agree (or at least understand what they consider) to the common terms. Each person may have a different idea of what something like an “order” means. You must make them agree to a single, common definition.

  • Metadata is king!

  • Most of the work is business stuff, not technical…

  • Dimension tables may be huge (as in tens or maybe even more than 100 columns). This is normal even if it feels really wrong to the database guy in us and the benefits are worth it. In this case “redundant is good”.

  • Federated tables exist since MySQL 5.0.3 and provide “link”-like access between tables.

  • “Archive” table type (engine ?) compresses the data on the fly with zlib. It is extremely bad for data warehousing usage because every search implies a full-table scan as there it implements no indexes.

  • UUID() function - may be used instead of a simple sequence and generates universally unique IDs.

  • PostgreSQL has an OLAP engine (table type?) and so it may be more interesting than MySQL for some types of usage.

Tutorial - Creating Passionate Users

Speaker: Kathy Sierra

What is a passionate user and why does it matter?

  • People are only passionate if they are really good at it. Passion creates a higher resolution experience (passionate people experience things much deeper and get a whole lot more out of things they’re passionate about)

  • The goal: try to get the users through the following milestones as fast as possible: beginner (sucks), regular (OK), expert (passionate, high-resolution experience). One big problem is that regular users tend to stay there, tend not to upgrade (makes them get back in the beginner “suck” zone) and companies tend to think it is OK to have most users as regular users

  • People are/become passionate about the goal (making images, skiing, …), not the tool (photoshop, the skis, …). “What can I do with this” vs “How do I use this

  • Creating passionate users does not necessarily mean that you mak them kick ass in your product. You can teach/help them get better at something tangentially related to your product and if they get really good at it, they’ll end up being passionate about your product. See “Misattribution of arousal” (the brain relates a good/bad feeling to everything that’s related to the experience —the whole context— not just to the thing/action itself)

What is in the way?

  • The brain’s irracional “crap filter” still thinks that things like programming languages, subjects, etc are really not important, for it the really important things are saving our live from tigers or reproducing.

  • What does the brain care about?

    • Anything unexpected
    • Anything not quite right
    • Anything different
    • Anything scary
    • Anything exhilarating (either if we’re doing it or just watching)
    • Beauty
    • Young/innocent/helpless
    • Playing
    • Faces (especially reactions)
    • Unresolved situations (curiosity)
  • What does the brain not care and forget?

    • Anxiety/stress
  • So you have to link things that the brain cares about to the things you want it to pay attention to

  • Simple example: “conversational beats formal” every time! Why? There is no definite answer to that question yet, but the current hypothesis is that when the tone is conversational the brain is tricked into thinking that he is taking part in a conversation and he is wired to participate in it and so it pays attention

How do we do that?

  • You need to talk to the brain, not just the mind

  • Create a compelling “vision” for what it will feel like when the user is kicking ass in it’s activity. “Why is it worth going through the pain of being a novice and regular user until I get to expert user?”. Before the user uses the product he must know why that is cool

  • Is there a clear path to being an expert user? Are we helping them getting there? Do they see that there is a path and a way?

  • “Why?”, “Who cares?” “So what?”: when you answer all those questions you can answer your user’s questions about why they should use your application/product

  • Documentation and information transference:

    • You can give either facts, information or understanding, but not all three at once!
    • Words + Pictures > Words

Who can help you help your users learn?

  • Communities

Keeping users engaged

  • If users are to become power users then they have to stay with it. We must try to keep them interested, get them and keep them as much as possible in a flow state

  • The flow state (“I’m in the flow!”) requires a linear relationship between challenge and knowledge and skill

  • Many things create arousal in the brain (discovery, challenge, narrative, growth, thrill, sensation, …)

  • We must not break the flow of the users. We must enchant the users and keep them enchanted.

  • What breaks the flow? Microsoft Bob, complicated dials, weird menus…

  • Create a continuing challenge to the users, creating “levels” (or making them very explicit if they already exists implicitly) so that they can see and feel their evolution

  • User Experience Spiral: Interaction -> Payoff -> Motivation benefit -> Back to Interaction

  • The Tribe: passionate users create “tribes” that they feel proud of announcing to the world that they belong to. T-shirt first development (make sure you have ways for your users to state their tribe)

  • Giving users something to talk about. Easter eggs, The Dark Side Of The Rainbow… Give experienced users some knowledge that makes them “something more” than others. “Insider information” is social currency.

  • Community: Passion builds community and community builds passion.

Technorati Tags: , ,

Notes on the European Open Source Convention 2006

These are the notes I’ve taken during and about the 2006 edition of the O’Reilly European Open Source Convention (better known as EuroOSCON 2006).

They are really just unstructured tidbits to help me recall things latter on, when I’m going over the materials, but it may have some sort of value for someone else…

Technorati Tags: , ,

The content of this site is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.