Archive for June, 2007

Rails-Konferenz 2007 – Ersteindruck

Saturday, June 23rd, 2007 by Alexander Lang

Gestern fand in Frankfurt (M) die Rails-Konferenz 2007 statt. Es folgt: kommentierte Fotos von der Veranstaltung. Es folgt später: Kommentare zum Inhalt der Konferenz:

img_8392.jpg
Aus irgendeinem Grund hab es ganz viele Java-Bücher und nur ein einziges kleines Rails-Heftchen zu kaufen. Wer wohl dahinter steckt? Eine Geheimoperation der Java-Community, die Ruby kaputt machen wollen, indem sie die Entwickler wieder zurück in die alte Welt holen?

img_8395.jpg

Begeleitend zu den Büchern gab es auch ein paar Zeitschriften. Neben dem Java-Magazin, dem Eclipse-Magazin und dem PHP-Magazin auch das hier abgebildete t3n – Coverstory: PHP5 mit MySQL5 (!) Was wollen die alle hier?

img_8393.jpg

Es gab ganz viel Kaffe und lustige Snacks in Form von Gläsern, in denen eine Schicht Müsli von einer Schicht Joghurt bedeckt wurde. Leider zu wenige Löffel, damit man auch alle essen konnte.

img_8394.jpg

Hübsche Blumenbilder an den Wänden. Rubine hätten besser gepasst, aber das Hotel hatte vermutlich gerade keine zum Abmalen da. Hoffentlich wird das auf der RailsConf im September besser.

img_8396.jpg

Es gab zwei Räume mit vielen Lampen an den Decken, viel zu kleinen Beamern (also die von den Beamern angestrahlten Flächen waren zu klein, die Beamer waren okay, so von der Größe her), Stühlen im Raum und Steckdosen unter im Boden versenkten Deckeln. Das mit den Steckdosen hätte mir ja auch mal jemand früher sagen können, immerhin saß ich zwischendurch eine halbe Stunde ratlos mit leerem (Laptop-)Akku rum.

img_8399.jpg

Neben vielen Stühlen (siehe voriges Bild) gab’s auch viele kleine Flaschen mit warmer Coke und Saft und Wasser drin. Weiß man in Frankfurt noch nicht, dass man jetzt Bionade (<= Links klicken => ) und Club Mate trinkt? Vor allem zum Wachbleiben wäre ich für letzeres sehr dankbar gewesen.

img_8403.jpg

Und dann gab es da noch Menschen mit lustigen Hemden, die wahrscheinlich beim Bund waren. (Hände hinterm Rücken)

img_8407.jpg

Leute kamen extra aus der Schweiz angereist, um uns lustige Slides mit Monstern drauf zu zeigen. (Vortrag: Offline arbeiten. Slinshot, AIR & Co. später mehr dazu)

img_8413.jpg

Echten Code gab’s auch zu sehen. Wer findet den Fehler in 10 Sekunden? Hättense mal getestet…

img_8414.jpg

Andere haben auch Fotos gemacht, dafür aber gleich richtig dicke Dinger mitgebracht. Naja, war auch echt dunkel da, nix für zittrige Hände.

img_8415.jpg

Manche haben ganz viele Wörter mitgebracht, falls ihnen mal nichts zu sagen einfallen würde.

img_8416.jpg

Noch andere waren da schon wesentlich weiter und haben selbst ausgedachte Wörter gezeigt.

img_8418.jpg

Gefilmt hamse das Ganze auch. Mal sehen, wann das dann im Netz zu sehen sein wird. Laut Aussage des Filmers muss er erst noch seine Web-2.0-Vidoes-Slides-Synchroniserungs-Abspiel-Website fertig programmieren. Na dann. (gibt’s doch schon)

Rails wird verkauft.

Thursday, June 21st, 2007 by Alexander Lang

Auf Grund ihres überragenden Erfolgs haben 37signals beschlossen, von jetzt an nur noch am Strand rumzuliegen. Daher verkaufen sie ihr inzwischen von Millionen benutztes Web-Framework Ruby on Rails. Das ganze läuft bereits – natürlich über Ebay, jeder kann mitbieten; siehe Screenshot unten.

rails ebay

Text-im-Bild mit Rails, file_column und RMagick Teil 2/2

Saturday, June 16th, 2007 by Alexander Lang

Im ersten Teil habe ich gezeigt, wie man mit file_column in Rails automatisch andere Bilder zu einem Bild hinzufügt, um z.B. Rahmen oder Hintergründe hinzuzufügen.

In diesem Teil geht es darum, auch Text in ein Bild schreiben zu können: Hierbei ergeben sich zwei Probleme. Zum einen muss der Text vom Model in die file_column-Klassen gelangen, zum anderen muss er dort via RMagick in das Bild gerendert werden. Das Ergebnis könnte dann z.B. so aussehen (autoki-Quartettkarte):

BMW 1er
(more…)

MFG Rails-Konferenz

Saturday, June 16th, 2007 by Alexander Lang

Wir fahren am Donnerstag Abend mit Auto(ki) zur Rails-Konferenz in Frankfurt/Main. Es sind noch 2-3 Plätze frei im Wagen, einfach Email an alex[at]upstream[minus]berlin.com

Vertikales Webdesign

Friday, June 15th, 2007 by Alexander Lang

Ich poste das hier eigentlich nur, damit ich dir URL nicht verliere … gefunden bei 37signals: type that keeps the beat – wie man sich ein Raster aus Zeilenhöhe und -abstand baut und alle Seitenelemente an diesem Raster ausrichtet. Schon hat man ein stimmige(re)s Design. Dieses Bild (aus dem 37signal-Artikel) zeigt das Ganze eigentlich sehr schön:

font raster

In den Kommentaren gibt’s dann auch gleich mal ein CSS-Beispiel:

body{
font-size: 0.75em;
line-height: 1.25;
}

h1 {
font-size: 2em;
line-height: 1.25;
margin: 1.875em 0 0.625em 0;
}

h2 {
font-size: 1.5em;
line-height: 1.6667;
margin: 0.8333em 0 0.8334em 0;
}

p {
margin-bottom: 1.25em;
}

Performance Benchmarking in Rails

Sunday, June 10th, 2007 by Alexander Lang

Na? Ist die Userprofil-Seite mal wieder zu langsam, nachdem beim letzten Release durch geschicktes anordnen und ausblenden noch einmal 3 Bilder und Informationshäppchen mehr draufgepackt werden konnten? Und jetzt will’s wieder keiner gewesen sein und niemand hat eine Ahnung, wo die 500ms denn nun genau hingehen? Für das profilen z.B. einer Rails-Seite stehen dem geneigten Entwickler mehrere Tools zur Verfügung.

logfiles

Erster Anlaufpunkt sind die logfiles in RAILS_ROOT/log – je nach logging-level stehen dort die Gesamtzeit für’s prozessieren der Seite, noch einmal unterschieden in Datenbank- und Render-Zeit (production environment) sowie zusätzlich die Zeiten, die für jeden Datenbank-Query und das rendern von Partials draufgehen.

benchmark do .. end

Wer keine Lust hat, sich im Logfile die entscheidenen Zeiten herauszusuchen, kann auf die von Rails angebotene benachmark-Methode zurückgreifen. Dieser wird einfach ein Block mit dem zu profilenden Code übergeben und schon steht die laufzeit im Logfile. Funktioniert auch im Model.

<%- benachmark 'user details' do -%>
<%= render_lots_o_stuff %>
<%- end -%>

RubyProf

Wer es ganz genau wissen will, kann RubyProf verwenden. Wie es der Name vermuten lässt, handelt es sich dabei um einen “richtigen” Profiler – man bekommt also nicht nur die Gesamtlaufzeit der durchgemessenen Codes sondern das ganze aufgeschlüsselt nach Methoden, den ganzen Ruby-Stack herunter. Um RubyProf zu installieren, reicht erwartunsggemäß ein einfaches gem install ruby-prof. Der eigentliche Profile-Aufruf erfolgt wieder inline und könnte so aussehen:

<% result = RubyProf.profile do %>
<%= render :partial => ’shared/pinboard’, :o bject => @user, :locals => {:posts_comments => @posts_comments}%>
<% end %>
<%- printer = RubyProf::GraphHtmlPrinter.new(result)
file = File.new('/Users/alex/Desktop/profile.html', 'w')
printer.print(file, 0)
file.close -%>

Als Belohnung liegt dann nach kurzer Zeit eine riesige HTML-Tabelle auf dem Desktop, mit den Laufzeiten aller Methodenaufrufe innerhalb des gewählten Blocks, und es stellt sich heraus, dass irgendjemand (wer war das nur wieder?^^) einen fiesen after_initialize-Callback an den User gebaut hat, der für jeden geladenen User ein paar Milisekunden Zeit verbrät…. after_initialize ist gefährlich, don’t do this at home ;)

gruenderszene.de bei autoki.com

Sunday, June 10th, 2007 by Alexander Lang

Jan von gruenderszene.de war letzte Woche bei uns und hat ein Interview über autoki.com gemacht.


Link: sevenload.com

Wir haben übrigens noch viel mehr Features außer den Gruppen… :)

Mountain West Ruby Conference Videos

Friday, June 1st, 2007 by Alexander Lang

confreaks.com zeichnen Vorträge auf Konferenzen auf Video auf und stellen sie anschließend ins Netz – praktischerweise so, dass man gleichzeitig sowohl Slides als auch Vortragende sieht. Und der Flash-Videoplayer hat auch noch einen schicken Vollbildmodus. Und als erste Konferenz haben sie sich die Mountain West Ruby Conference ausgesucht. Hab mir gerade die Rails Code Review Session angesehen – sehr schöne Tipps, saubereren Code zu schreiben. Fast schon ein Klassiker zum Beispiel, statt:

if a.nil?
b = ‘blah’
else
b = a
end

einfach:

b = a || ‘blah’