Playing at night with marten

Playing at night with marten or a story why Twitter is so great.

People often ask me what is the value of constantly checking status of other people and updating mine. After doing this for a while in a group of friends you start getting completely new experience that makes the whole effort more than worth it.

Today it started with twit from @klemenrobnik at about midnight, with a short message that he is playing with his marten:

MartenTwitter

This turned out to be much more exciting as it seems at first. This marten is just a few months old and pretty wild. This was actually her nightly exercise in the wild. In a few weeks it’s going to a farm where it’s going to live in nature.

Marten

Marten

Marten

It actually proved quite challenging taking pictures of her with only Blackberry as it could not match the speed and interest of the general world. This is one of the rare times that built-in flash turned to be actually useful.

Zemanta Pixie

Micropresentations - [#reboot10 notes]

1991 - The World Wide Web

Image by Edublogger via Flickr

Micropresentations - [#reboot10 notes]

20 slides/20 second each slide. Organized by Guy Dickinson

 

Jan Krutisch - Hacking for fun and profit - mindmatters.de

 

There is only one problem with a web profession, when you only have one framework, all the problems look the same. His solution to this is to return back to basics - Commodore 64, Amiga. He’s showing also a prepaid solar charger for which he built a firmware for.

A fun project besides work, Rasterizer, it takes an image and splits it up to multiple pages in a PDF and you can then hang it on a wall in really big sizes.

Next thing is Rails and a language behind it was Ruby. Next thing he built a patch editor with ruby. He’s also using Gozzu, 2d graphics library, so it’s easy to program games. Reactivision software in Ruby, tangible interfaces that you have hardware around and you can be active and reactive around it.

He’s using all this things to keep him intelactually busy and challening that are kind of different that what you do in your life. And this helps in thinking outside the box and makes you a better programmer.

 

Http://www.this-page-intentionally-left-blank.org/

 

 

Flemming Funch - Complexity and Freedom - Lessons from nature about human networks and life on the edge

 

Complicated - 80380 lots of stuff. Complex is something more than it’s part.

There are several parts of the system, equilibrium, complexity and chaos.

Nature in is not really in equilibrium, it’s self-organizes towards criticality.

One way of understanding is with “sand piles”. How do avalanches work? There are lots of examples in nature where we can see this.

There are power laws that help in explaining this.

We can do cellular automata sand-pile simulation. 

 

“The critical state is the most efficient state that can actually be reacher dynamically”

 

Freedom

 

Being able to do anything at all with something, is this freedom? Not really. Freedom is when you toys are all wound up and ready to go.

You have more freedoms within complex networks;

Your freedom is potentially more useful if the network is in a critical state.

Freedom is on the edge - the edge between equilibrium and chaos.

The value of a networks I proportional to its complexity.

 

 

Ian Scar - Tools for Inspiration

 

Showing a tool that helps designer collect visual inspirations. It’s a thing to make visual information more psychical. What’s exciting is that if you have a visual thing you can scan it.

Collections, designers have physical materials next to computers and they use it very socially.

Tools - they are very complex and hard. They have a meaning and purpose. What people make with tools, is not imagine by the makers of tools.

Open tools, which is fun and nice, but they tend to add features and they grow more and they are not simple anymore.

Cocreation, you take the consumer/user and you help them think what kind of tools/products they want, so then you make it with them.

Hacks, inspiration for creative uses of your designs and tools.

Products from the tool perspective: users are becoming makes, with creative uses.

Whatever you do, it’s fine with me.

 

It’s a solution without a problem is a best compliment you can get, if you think about it as an open tool.

 

 

Anne Van Kesteren - HTML5

 

The Web’s language is HTML.

HTML on the Web is broken because of the way it was designed.

HTML5 attempts to make HTML more interpretable for everyone. It defines processing for HTML. 

It’s about Applications and Documents. It shifted from the original idea of sharing scientific documents.

People who are doing this are: WHATWG and W3C.

HTML5 is already implemented today. There are browsers that already implement this and are trying to convert all the things involved with it.

It’s a community process, wikis, tools, tests, reviews etc.

They added some new features: <video> and <audio>

<canvas> allows people to draw graphics through javascript API’s - immediate mode graphics.

Storage (key/value, SQL), you can search all your data.

Application caching also helps with performance. Gmail can suggest to browser which files are more important for performance.

 

Important URL’s

Http://whatwg.org

Http://w3.org/html

 

 

Twingly summer of code 2008 - Http://summer.twingly.com

 

4 students from Linkoping University in Sweden. They are working on making a real project.

Finding their own roles, “what I am supposed to do in this group”.

They are working against really good group dynamics.

How to get a good media coverage. They got in contact with a regional newspaper that got lots of interest in the group and local project. They want to engage lot of other people to make it know what they are doing.

They are doing video blog, they are making online reality show, they are documenting their days and documenting what they are doing.

This is really challenging because there are lots of new people and have to learn new tools.

Educational, they had to learn how to work really fast and make things together.

But it’s really rewarding.

 

 

Paul Farnell - Unconventional ways to promote your site

http://www.litmusapp.com

 

What’s conventional: SEO, Blogging, AdWords.

 

Unconventional: Satellites, Content, Communities and Human.

 

Build a satellite: free, small, valuable and complementary. They drive implicitly traffic to your site.

CSS Vista, piece of software for web designers. Really valuable for designers and lots of people check the site.

Ta da lists, similar free service.

 

Put a value on your content. There’s a dichotomy that’s free it has a free value. 

 

Join communities, developer relationships. It makes this links between your company, your name, and you being a helpful person.

 

Start your own community. Easy to develop, great perception of your company and learn from your members.

 

Seed.org as a place to discuss web stuff.

 

Be human. Enthusiasm, how? Trust, passionate users, Ambassadors.

 

 

Jen-Christian Fischer - Rituals and Freedom

 

Rituals: birth, school, work, death.

 

Ritals are the core, backbone of our lives, that create a shared system of values so we know how to proceed in these events.

 

There are rituals that are good for you, and there are rituals that are bad for you.

 

Rituals that bind the mind

 

Many rituals that we are exposed to are there to tie you down. Rituals of religion for example. Other bad things are rituals are the ones that are designed for you to break your mind. 

Business has a lot of rituals around it that aren’t designed to work that well. There are structures of power that rely on them.

The end result of these rituals are war, and it’s highly ritualized.

 

Rituals that free the mind

 

Martial arts has lots of rituals involved. It allows for balance, calm and power.

Sex has also ritualized versions.

They are here to free your mind and help you achieve experiences that are out of your mind.

 

Kthxbai

 

Be wise which rituals you practice as it will affect your life.


Zemanta Pixie

Eelco Rustenburg - Free the organization: The Secret sauce for distributed teams [#reboot10 notes]

Sun Falls on New York City

Image by Thomas Hawk via Flickr

Eelco Rustenburg - Free the organization: The Secret sauce for distributed teams [#reboot10 notes] [abstract]

 

Most projects fail and have features that are never or rarely used.

 

What makes a project successful?

 

It’s people. The team makes a real difference in the project success. If you have a team of commited people that know what they do and love doing it, you’re most like have a great project.

 

What about planning and budgeting?

 

If something is hard, you should do it often. The idea is to plan a little, inspect and adapt, and then plane some more. This will make sure you start seeing a trend and you can then work around this.

The team is responsible, not the project manager. Frees the team from lying upfront, wasting time on estimating, doing just enough to justify starting for a couple of months.

What’s happening is that as you are half-way through you see completely new cool things that you couldn’t imagine before. This makes the whole added value of project bigger, but it also means that the project plan is most likely very wrong at that time.

 

Principles behind the Agile Manifesto

 

We follow these principles:

Our highest priority is to satisfy the customer

through early and continuous delivery

of valuable software.

[Full manifesto] 

 

Offshoring is a big risk. Risks are:

 

  • quality decreasing
  • control lost
  • knowledge disappearing
  • communication lags and problems.

 

Opportunities:

 

  • Talent
  • Scale
  • Money

 

Distributed agile @ work

 

The challenge, 20 man years, abut 100k lines of code and took more then a year. It was also distributed.

 

The approach:

Bring the team from India for 6 weeks on site into Europe - Holland. Daily sychnorized meetings for 5 meetings, if we need to improve something we can do that.

 

But what went wrong?

 

 

  1. Expectations
  2. Culture
  3. Language
  4. Context
  5. Quality

 

If you look at India, if they are building a road they are doing this rapidly, because they are in this high road economy. So when they build things, they don’t care about things around the road. But in Holland, they developed stuff for some much longer that they can obsess over more details.

Quality issue was not that they wanted to do less quality, but that definition was different. Moving teams around helped with that.

 

Timetables, they didn’t know this concepts, so the culture was a problem until they learned.

 

India compared to Netherlands

 

Growing is cool  vs. Small companies are cool

Quality is high when it works flawlessly vs. Quality is high when there are no flaws

Yes means: “I understand what you say” vs. Yes means: “I agree with what you say”

Shaking head means “I am thinking” vs. Shaking head means: “I disagree”

Growing economy makes money a big driver vs. Satisfied economy makes fun/fulfillment bigger driver

 

How to deal with this

 

Focus on agile principles

The team knows … challenge them

Communication and interaction above all

Just enough process

 

There are no remote teams. There is just one team.

 

Scrum overview

 

Product backlog -> sprint backlog is determined by the team and priorities -> 2-4 week iterations, every day we’ll sync with the team -> Potentially shippable product increment

 

Specifically in this case

 

  1. Shared goal - shared code base, shared product backlog
  2. One language
  3. Planning meetings together with video skype calls
  4. Flying people around
  5. Talk about remote team member
  6. Daily standups with video
  7. Retrospectives
  8. Management by trust and letting go

Zemanta Pixie

Nick Black - Common Enterprise: Building a Business on Free Data [reboot10 notes]

Mr. ZIP promoted the use of ZIP codes for the USPS during the 1960s and 1970s.

Image via Wikipedia

Nick Black, Common Enterprise: Building a Business on Free Data, is involved with OpenStreet made and his company Cloudmade, that is trying to figure out if it’s possible to build business on top of it.

He starts with a point - nothing is free. Most free data has a cost, there are costs associated. Even though I write article for Wikipedia for free, I probably value this time more then the money I could get for it. There also some architectural costs, bandwidth, hardware etc.

Example: OpenStreet map server network card broke, even though it costs only 20 pounds, it costs about 5 hours of someone’s time.

Different free models:

Most projects distribution are free.

it’s also possible to get free at point of collection or creation, like Wikipedia.

There is also lots of data, collection is paid by tax payers, and then it’s given into Public domain, like US ZIP codes.

Free:

  • Free to reuse
  • Free to re-mix
  • Free to re-sell
  • Free to alter and transform

Example: taking oranges, and making orange juice at a convenient time for me, creates a great value for me and this way massively increases the amount I can make in the process.

Example: Choosing Zimbra vs. Exchange. Zimbra - 3.5 pound/month, Exchange 4.0 pound/month. Even though Zimbra is free, there is a lot of added value, and licensing at the end of the day represents only 0.5 pound/month in costs.

When the data is free, delivery becomes everything. P2P (Bit-torrent etc.) are examples of how the value changes. It’s not anymore about the money for the CD, but is it worth to me to click and download and listen to it.

Free data as valuable as an alternative hedge against proprietary data. It serves as a way to prevent vendor-lock in because I have commons alternative so I can either help myself or go to some other provider.

Examples of companies that got bit by that are Yahoo and Google maps that have problems in relation to their map providers.

When you are building a business that is available as a data in the commons, it gives you a great advantages.

But, there’s a more interesting answer to this question:

Data alone is not that useful, it needs to be augmented to add value.

Data itself is not really useful, but when it’s combined with software and communities, it gets really powerful. In addition, you want to create a circle that feeds itself and gets better and better with time.

Some comments on distributing free data

Once I distribute something I can’t stop it being redistributed. And we don’t want to stop you, since it’s a fundamental part of data redistribution. You have to make sure that data redistribution is an integral part of your business.

Creative-Commons is your friend. Links are currency on the Internet. Using linking back as an Attribution requirement and this at the end of the day drives back traffic, SEO, etc.

Can I pay people to collect free data?

The reason this is significant, it takes a long time to build communities.

Coase’s Penguin (Yochai Benkler)

Commons-based Peer production:

  • Non-monetary motivation (people have fun, and instead of obsessing over why, lets give them more ways to have fun doing this stuff)
  • Discrete multisize peices (it should be low cost integration, it’s got to be easy to do)
  • Low cost integration

Communities give you so much more.

Services:

Aggregate and Organize (Geo-Commons)

Create a Market place (A Flickr market place; Weogeo - ebay for data)

Suppose all maps are free:

  • Value can be created by end product
  • Customize
  • Personalize

.. at the end of the day it’s all about the communities: they greatly enhance the value of data. Need needs to be loved.

If you want to use the community, you have to respect the community. Remember the CDDB? Bits of freedom was taken from the community, until it broke apart. No matter how big you get, the community that built it can turn back and destroy it if you don’t treat them kindly back.

Free data is fine, but communities make it way better.


Zemanta Pixie

Marko Samastur - Easy deployment of site-extensions with a browser plugin [firefox3 launch party notes]


Description unavailable

Image by ccmerino via Flickr

Marko Samastur - Easy deployment of site-extensions with a browser plugin.

Starting with Zemanta presentation, since it’s relevant for the presentation. Zemanta is a tool for contextual matching for blogging platforms and has to support a wide variety of platforms.

The limitations of XHR was a problem because of limitations of security-model that doesn’t allow cross-domain POST requests. In case of Zemanta, we can use custom-build JavaScript function.

When to use extension?

When web-site as such, doesn’t provide integration points (e.g., Blogger.com platform), the other reason is if you want to use functionality that is not available within the normal browser window.

Process

First thing that you need to do, is that you need to find a place for widget. In case of Zemanta, we used right side widget. In this case, we used CSS and made it a bit narrow.

Blog better using Zemanta
Creative Commons License photo credit: chucks

But wherever you go, CSS selectors that you use, will most probably match styles of the platform. So if you use a widget on different platforms.

You can conquer this within CSS by writing selectors that are more binding than the default way. The one that we did (and is not the best way), we use a platfora of id’s and classes and then we use these names and classes that get injected into web-page and are more binding than the platform ones. This one works great if you use two files: general one and platform specific one.

Second way is to use nesting and “id envelops” - encapsulation and while it’s ugly, it’s the best way:

#zem1 #zem2 #zem3 h3 {

}

the second thing that you should try to use is microformats. After you put your widget into the page, you usually want that widget to do something, and for that we normally use Javascript.

Javascript problems

The variety of problems is large, but a short selection:

Extending Object and Array - it sounds a good idea in a start, but it’s a major problem down the road. It’s usually a bad idea that many JavaScript libraries (like JQuery), use Objects as configuration buckets and if you extend it, it means that all objects will have this and bad things will happen.

The second thing is, that if you have a web-site and you want to have it “extendable”, it’s a good idea not to step all over their feet and potential code.

Private name-spaces - either through anonymous functions or through object hierarchy. The problem is that sometimes you want to change behaviour of methods that are hidden behind namespaces (e.g., changing how dragging boxes works in 2.3 Wordpress).

One thread implication: what comes later can rely on what came before. It’s not always true, because JavaScript API’s like DOM functions doesn’t always run in the same thread.

While you can do is to test your JavaScript on slow browser and computers, and on different connections. But this is often not enough, so you should actively protect from this and check to make sure the code and functions are there before you call them.

Useful tools for extension creation

Firefox extension Wizard - http://ted.mielczarek.org/code/mozilla/extensionwiz/

FUEL - http://developer.mozilla.org/en/docs/FUEL

Besttoolbars - http://www.besttoolbars.net/

Zemanta Pixie