published 3 months ago
(26.07.2009 19:38)
Update: added links to conference-related stuff at the bottom of this post.
Some notes, roughly chronological, left in draft state.
- Rails developers usually don’t seperate data access layer and domain model.
- This can constrain how easily the domain model can be changed. If done, saving/loading and validating data is on the DAOs, and “the interesting stuff” (business logic) lives in the model objects.
- Q: how do you develop a domain model? A: may should be explained in Analysis Patterns
- SASS and lesscss are nice extensions to css. They require processing the CSS, however.
- at least three German-speaking universities now have courses where they use Rails (Bremen, Potsdam, Salzburg).
- Refactor vs. Rewrite. First, “find out the hard core of what the client actually needs”. Be brave and delete, change.
- clients of “rescue mission” projects didn’t get what they wanted from their last dev shop. The time and money reserved for the project are usually already spent, so they are in a hurry. => as a dev team, you need to show progress as early as possible.
- do the agile thing as well—prioritize by business need
- Don’t change code that you don’t like but which works well. Overcome your own prejudice and deal with the client’s money responsibly. Part of being professional, imho. Resist the Not invented here syndrome. Especially if the code is well tested. You can always refactor it when continue to work in that area.
- don’t dive into removing complexity as a first refactoring step. Look for easy targets first.
- Watch team morale on legacy code projects. Always pair.
- Read the Refactoring book before starting, and really apply the techniques step by step when doing non-trivial stuff. Always keep the application running while changing structure.
- When coding normal apps, refactor as you go, don’t see it as a separate activity, don’t speciallly reserve time for it.
- always manage your client’s expectations. Underpromise, overdeliver.
- JRuby has the by far best compatibility of the alternative Ruby implementations. It has an extensive test suite.
- It allows you to change between 1.8 and 1.9 with a command-line switch.
- ActiveRecord via JDBC is slow.
- JRuby is the only Ruby implementation with real native threads.
- Rack allows inserting code before and after the application handles a request. And allows plugging together different frameworks and components, and access session data from one in the other via Rack::Session. “Middleware” examples: Rack::Profiler, Rack::MailExceptions, Rack::Cache.
- Rails 3 release: “could roll it up and ship” any time. Rails development has always been like that. There’s never a “Todo” list of what will go into a release.
- They will do so when they feel they have done enough. But at least one thing Yehuda would like to do is get ActionMailer on the rewritten ActionController code.
- London’s monthly Rails usergroup meetings easily exceed 100 people.
- to introduce new technologies in places reluctant to change, first do ugly or boring stuff no one wants to do anyhow. With Ruby that could be: automate manual processes, write a test tool, small internal applications, quickly build prototypes, wire together systems. Realize that Ruby is perfect for glue code. Introduce the techniques (agile), not only the technologies.
- A couple of experienced people fear that the new JVM Scripting languages (Clojure, Scala, ...) may stop the stream from Java-resignees to Ruby.

- CouchFoo is intended to allow smooth ActiveRecord/RDBMS => CouchDB migration. This is a good first step to get on the couch. Then you can start wrapping your head around how to persist stuff with document-oriented databases, which I find the hardest part. “Performance tuning” of CouchDB is a whole new topic to be discovered.
- With couchDB, the cost of index updates is incurred at read, not at write as with RDBMS. Index updates at read can be suppressed with :update => false. Read CouchFoo::Base for performance info.
- #bulk_save for performance.
- a good use for document-oriented DBs is when the data structure changes often and future “schema” development is unpredictable.
- CouchFoo generates views for simple AR-style finders on the fly. Nice!
- Dr Nic once more proved to be the best Rails entertainer (_why is in his own league, of course, but wasn’t present to present).
- the i18n gem has great new features in 0.2.0 and edge: pluggable extensions, translation procs, advanced pluralization rules (implemented with procs), translation fallbacks, backend fallbacks, etc. Using it in current Rails currently requires a hack, however. See the Unicode CLDR Project for a massive amount of localization information.
- Globalize 1 happily overused metaprogramming, had to hack into Rails big-time, and as such is a PITA to migrate to the new Rails i18n. Any solutions?
- Kasabian kick Oasis’ ass on stage (according to London press).
- Rough trade in Brick Lane reminds you what’s cool about a real-world record store.
- LBI has 400 employees, a large terrace where you can work, and friendly people doing lots of barbecues.
- ExtJS is a useful rich client library with nice client-server data transportation, interface elements and data binding. It doesn’t have to look like Windows. It lacks a high-level architecture, though. It’s not free for commercial work (150 per developer), only for open source.
- Food in London is better than expected; even the traditional (Lamb stew, Apple Crumble & custard). Girls are cuter than expected, as well.
- London weather follows the same patterns as in Hamburg. Quick rains, lots of grey skies, sometimes sun. A bit warmer.
- Kevin Davy played the trumpet for Lamb, on tracks like Merge. Today he has fun playing around with electronic effects at his Jazz gigs.
- ””Now wash your hands””:http://www.flickr.com/photos/phil76/3759350196/in/set-72157621719325175/ was a design agency that built cool stuff in their time. Today only toilets in Indian restaurants remind of their glory.
- Hashrocket has guest pairs regulary. You can visit them at Jacksonville, Florida, stay at their guest house, and pair with them on the regular work.
- London is green, can be sunny and beautiful.
- a taxi from Russell square to Denmark Hill costs less than 20 pounds. Good if you’ve already spent the same amount on beer.
- the mapping of the British pound shapes and sizes to their value is only obvious to the British themselves. They lovingly call the coins shrapnel.
- Conaissence can be seen as underlying principle of many OOP design rules. And it’s a word that only Jim Weirich uses, so far.
- the Rails community is as great as ever.
- Smaller conferences are better.
For a more throrough summary of the talks, continue reading at rubypond: day 1, day 2.
Links:
Posted in ruby, travel, coding, photography, the rest | Tags london, rails, underground | no comments | no trackbacks
published 8 months ago
(20.03.2009 23:11)
Happy to go back to London, and even the weather should be fine in July :-)

Posted in travel, coding | Tags london | no comments | no trackbacks
published 8 months ago
(15.03.2009 17:06)

I rediscovered this chart in Mihaly Csikszentmihalyi’s talk on flow at TED.
The green dots show income, the red dots perceived happiness. I’m certainly no statistics pro, but it looks like the correlation is zero (these are figures for the US).

Even if there’s hardly any money, people aren’t necessarily unhappy. Instead, happiness spreads to both sides – there are very happy and very unhappy countries. It seems like the Latin American and East Asian people are much less affected by little available money than the Eastern European – compare the happiness of Brazil, the Domenican Republic and Vietnam to Macedonia, Lithuania and Bulgaria. They have roughly the same purchasing power.
Posted in travel, wisdom & quotes, the rest | Tags happiness, money, psychology, ted, wealth | no comments | no trackbacks
published 8 months ago
(27.02.2009 07:53)

How depressing, no worthy surf spots in my 300km range :-( . On the other hands, it doesn’t even list anything around the Brazilian surf town Itacaré, (like Itacarezinho beach), either, so maybe things aren’t that bad here after all.
P.S.: Amazing Surf photo in the background by konaboy.
Posted in travel, mac, the rest | Tags iphone, surfing | no comments | no trackbacks
published 9 months ago
(29.01.2009 12:06)

The Moleskine notebook is a classic, as the leaflet that comes with it explains: »Moleskine is the legendary notebook, used by European artists and thinkers of the past two centuries, from Van Gogh to Picasso, from Ernest Hemingway to Bruce Chatwin«.
I have a couple of them. I like them because they are simple, well made, beautiful, easy to carry around, and the inventors paid attention to detail (the back pocket for loose notes, for example. Mine is full).
In the last years, I bought and received a couple of variations of it: small and large, thick and thin, regular and travel version. Checking the Moleskine website and Amazon, today there are over 50 variations of the original. Moleskine sponsors city blogs to promote their City Notebook, have special editions for museums, you can have it branded with your logo as a business present, and there even is a Japanese Pocket Album version, whatever that may be. Next time we check, the notebook will be available in pink, designed by Philippe Starck and Karl Lagerfeld,
and pre-deep-fried.
Today, Moleskine is not the notebook of »artists and thinkers« they praise in their leaflet. It’s a brand. A brand with a company and heavy machinery behind it, living off the original idea. The notebook has become an arbitrary item, like the thousands of other consumer products around us. But it fits our times well. We like things that are “retro”, and have been around and used for a while. They offer us depth, and we trust, without us having to get engaged too much.
Today, it seems to be mandatory that things successful in the small have to be scaled to the large, although the original spirit may get lost on the way. Ordering the notebook by the thousand, a single one still costs €10. How many »artists and thinkers« will buy them today?
P.S.: I’d be happy to give away my unused travel version (in the picture on the right) to someone who will use it. It has a register that divides the notebook into travel-relevant sections, like “Bed”, “Food” and “People”. Like many things I have, it seemed a nice idea at the time, but I never used it.
Posted in travel, history, the rest | Tags moleskine, thoughts | no comments | no trackbacks
published 12 months ago
(07.11.2008 13:02)
The following is excerpted from Communication Patterns and Assumptions at the awsomelibrary.org. It’s eye-opening in that people don’t just look different, they communicate very differently, expect different things from their conversation partners, and have a different attitude towards time.
Understanding the difference in the dealing with time is one of the keys to being happy with a latin girlfriend :-)
African American Communication Patterns
- Time: Linear time is not internalized to the extent it is in the dominant society. Being a more relationship-oriented culture, African Americans tend to be more relaxed in this regard—”The right time is when we get there.” Anger from others at being late is often met with puzzlement—”I’m here now, let’s get started” is a common response to this kind of situation (Nichols 1986).
Native American Communication Patterns
- Time: For Native people raised in a traditional environment, “clock” time is not internalized to the same degree as it is in the dominant culture. The “right time” for something is when everything and everyone comes together; then the appropriate activity will ensue. Time is felt to be more a matter of season, general time of day, or when the person is internally ready for a particular activity.
Anglo or European American Communication Patterns
- Gestures: European Americans tend to use a “medium” range of gestures in usual conversation—not so large or frequent as Arabs or Southern Italians but not as restrained as the English or Japanese
- Time: In European American culture, time is thought of as linear and monochronic — that is, one thing or one person at a time should be given full attention.
- Vocal patterns: [...] Someone who is expressing himself or herself in a very passionate way may be suspected of irrationality (Kochman, 1981).
- Thought patterns and Rhetorical style: Directness in stating the point, purpose, or conclusion of a communication is the preferred style (Kaplan, 1967). Kaplan describes the English language style graphically as an arrow:
This style of communication may be viewed by other cultural groups, with quite different styles, as abrupt or inappropriate. It is in strong contrast to the Asian style, portrayed by Kaplan as a spiral. It is also quite different from the Romance style (including Hispanic), which is portrayed as an arrow with sharp turns in the shaft.
Asian American Communication Patterns
- Animation/emotion: The control of emotional display is highly valued. An overt display of strong emotion could result in a loss of face for both the speaker and the listener.
- Identity orientation: Japan is usually characterized as a group-oriented collateral society, similar to Latin American or Arab cultures. This means a person’s identity and status are intimately tied to the identity and status of their family, and this persists throughout the individual’s life span.
- Time: Traditionally, time is seen as cyclical and ever-returning. Asian cultures are masters of waiting till “the time is right.” They excel in long-term planning and the initiation and maintenance of long-term relationships.
Hispanic American Communication Patterns
- Time: Latinos tend to operate in a polychronic fashion—that is, many activities may be going on at once, and priority is given to the immediate needs of people, especially those involved in one’s collateral network. Time is a fluid and malleable concept (Condon, 1997).
Posted in travel, the rest | Tags communication, cultures, intercultural | no comments | no trackbacks
published about 1 year ago
(31.10.2008 07:24)

Sigh.
Interesting though that the futbol (pronounced fu-tschee-ball in portugese!) club from Salvador da Bahia choose her. Salvador is the african-descent capital of Brasil, so a typical Salvadorian is much darker and more athletically built than her! But, wow.
The musa for Ipatinga isn’t bad either, as are all the other girls. Eyes, eyes, eyes, and so much more.
Thanks to Everaldo, the nightguard at my pousada, for showing my this wonderful side of brasil! If I understood him correctly, the musa’s are the “mascot” of their team for a year, and every major brasilian club has one. They also have a yearly beauty contest, and in the following year, the game starts anew with the Musas for 2009 …
Posted in travel, photography, the rest | Tags brasil, football, futebol, girls, musa, soccer | no comments | no trackbacks
published about 1 year ago
(12.10.2008 11:40)
www.brazilianportuguesepod.com is a great way to learn Brazilian Portugese online, and to get used to the stream of laid-back sounds that Brazilian is! 121 short and well-done podcasts to teach you the basic vocabulary, phrases, and pronounciation of the language. Thanks André and Marcos!
Posted in travel | Tags brazilian, language, learn, podcast, portugese | no comments | no trackbacks
published about 1 year ago
(11.10.2008 07:11)
What an unpleasant place to spend the second half of October! :-)

Posted in travel, photography | Tags bahia, beach, brasil, da, itacaré, salvador, surfing | no comments | no trackbacks