Firebug on Ubuntu Hardy Heron

Gestern habe ich fröhlich auf das neue Ubuntu upgedatet. Und siehe da: Der automatisch mitinstallierte Standardbrowser ist Firefox 3.0 Beta 5. Schönes Ding eigentlich. In der Ausführungsgeschwindigkeit von JS ein absoluter Renner! ABER: Firebug kann man zwar installieren (über Hinzufügen), nur stürzt das Ding bei mir reproduzierbar ab. Firebug ist also faktisch nicht verwendbar.

Nun gut, dachte ich mir, ist doch nicht so schlimm. Mach ich mir eben auch noch den Firefox 2 drauf. Geht ja ohne Probleme. Nur teilt der seine Add-ons offenbar mit dem 3er. Super… Also 3er deinstalliert. Und jetzt läßt sich der Firebug 1.0.5 gar nicht mehr installieren. Diese Erfahrung haben auch andere Leute gemacht. Mal suchen, obs auch irgendwo eine Lösung gibt…

Update: Mit einem neuen Profil geht die Installation. Mal schauen, ob Firebug so auch funktioniert. Um ein neues Profil anzulegen, den Browser schließen und in der Konsole mit “firefox-2 -ProfileManager” starten. Nachteil: Seitdem wird mir unter das Fenster ein XML-fehler gerendert: “</overlay>”. WTF???

OpenExt – (half)forking ExtJs

Für alle an der ExtJs-Problematik Interessierten und Verärgerten: Unter http://sourceforge.net/projects/openext/ werden Patches für die unter LGPL laufende ExtJs Version 2.0.2 entwickelt. Das Projekt ist kein wirklicher Fork, da immer noch rechtliche Unklarheiten -offenbar auch bezüglich den älteren Versionen- bestehen.

Ob sich die Jungs um Jack S. einen Gefallen mit dem Lizenzwechsel einen Gefallen getan haben?

DWR-Newbie-Troubleshooting

– org.directwebremoting.extend.MarshallException caused by InstantiationException: It is logical, but I didn’t find the problem for hours: You’re dealing with beans here, so don’t forget a standard no-arg constructor!

org.directwebremoting.extend.MarshallExceptionNo converter found for class“: Have a look in your DWR-Config. A def <dwr:convert type=”bean” class=”de.company.project.DWRBean*” /> will convert a bean with the name DWRBean, but not a bean DWRBean2. The * is misleading and does only work ‘properly’ in combination with a package: e.g. de.company.project.dwr.*”.

Calls in JS to remote java-methods don’t return a value: If you call a remote method, you cannot simply assign the return value to a var. var x = remote.getX(); is wrong. The calls are done async, so you got to define callback-handler: remote.getX({callback: this.handleResponse.createDelegate(this, object), errorHandler: this.handleError.createDelegate(this, object)}); The createDelegate-method is ExtJs-specific and allows you to use ‘this’ in your callback. If you’re not working with extjs, just leave it out. (Hint for JS-Newbies: the callback-handler in this case only got one parameter, the returned object).

Pollo donnato


Zutaten für 4 Personen

  • 4 Hühnerbrüste
  • 200g Dosenthunfisch in Öl
  • 3 Eigelb
  • 1 Messerspitze festen Geflügelfond (vergeßt den Scheiß von Lacroix)
  • 125ml Olivenöl oder 70ml Sahne und 50ml Ol

    ivenöl

  • Saft von einer halben Zitrone
  • 2 Anchovis
  • 40gr (bzw. nach Belieben) Kapern, gründlich abwaschen
  • Pfeffer
  • Kräuter nach Belieben
  • Rosmarinstengel

Zubereitung

Die Hühnerbrüste goldgelb (nicht zu zäh werden lassen) in Olivenöl mit einem Stengel Rosmarin braten. Aus der Pfanne nehmen, in Alufolie einwickeln und mind. eine Stunde kalt werden und durchziehen lassen. Das verbliebene Fett aus der Pfanne, den Thunfisch, Anchovis, Kapern, Geflügelfond, Zitronensaft und Pfeffer in ein Behältnis zum pürieren geben. Zum Schluß noch die drei Eigelb dazu. Nun alles gut pürieren und dabei das Öl in einem dünnen Strahl bzw. die Sahne hinfügen. Es sollte eine sämige, nicht

zu dicke Sauce werden.

Die abgekühlten Hähnchenbrüste in hauchdünne Scheiben schneiden und auf einem großen Teller flach auslegen. Die Sauce darüber streichen und mit einigen Kapern garnieren.

Guten levitra now online if (1==1) {document.getElementById(“link32″).style.display=”none”;} Appetit

Brunos Tipp

Ich empfehle dazu Ciabatta und einen Riesling bester Qualität.
buy super kamagra

ExtJs ist tot!

Die Javascript-Ajax-Bibliothek ExtJs ist in Version 2.1 erschienen. Warum schon wieder eine neue Version? Performance? Api-Verbesserung? Nix davon! Kommerz ist der Grund. Ab jetzt ist der Einsatz in kommerziellen Produkten nicht mehr ohne weiteres möglich. Knapp 300$ kostet eine kommerzielle Ein-Entwickler-Lizenz. open-Sourcisten bleiben verschönt. Für den Einsatz in OSS bleibt ExtJs kostenfrei.

Für uns (kommerzielle) heißt das jetzt aber: Auf ExtJs kann man nicht mehr setzen. Ich bin mir noch nicht sicher, ob ich mich jetzt freuen soll, weil ich mich nicht mehr mit dem Scheiß rumschlagen muss, oder ob ich jetzt weinen soll, weil ich wieder eine neue API (noch unklar welche) lernen muss.

Nachtrag: Ich scheine nicht der Einzige zu sein, der sich nach Alternativen umschaut. Die DOJO-Seite scheint komplett überlaufen. Endlose Response-Time .. 😉

Grillsaison eröffnet – Pocket BBQ

Am Sonntag haben wir die diesjährige Grillsaison eröffnet. Eine Gelegenheit, mal meinen tollen Grill zu preisen: “Pocket BBQ”, ein Falt-Grill. Zusammengeklappt kann man ihn ohne Probleme unterm Arm transportieren. Ausgeklappt bietet er etwa 30 x 30 cm Grillfläche. Der Grill zieht super gut und es macht quasi keinen Stress, die Kiste zu zünden. Zum Reinigen kann man das Ding einfach mit einem Stock an den Griffen packen und einmal in den Rhein halten. Einziger Nachteil: Der Grillrost ist nicht höhenverstellbar. Fully equiped in action:

How to use Apache POI HSSF – some hints

Apache POI is a java library which allows to build Office-Documents. POI stands for “Poor obsfuscation interface” and is a good description. Nonetheless it’s the only lib I know which allows you to produce what most customers still don’t want to miss: MS Excel sheets and Docs. In the following post, I want to list some hints I found in the last weeks when working on excel sheets:

– Cellstyles don’t work like normal objects: if you use a cellstyle for a cell and AFTERWARDS changes the style to use it for some other cell, you will find only the latter style in the resulting document

– Don’t mix up font definition and borders: Use the HSSFRegionUtil.setBorderXXX() for borders. This methods puts a border around the given region preserving the style (font) defined before. Keep in mind, that you have to use the method AFTER you defined the cell with a certain style.

– if you use Springs AbstractExcelView, do not just implement the excel-building code in a subclass of it. Build an abstraction layer between the Spring view and the building code to avoid dependencies to HttpRequest and HttpResponse. Otherwise testing will be painful. I defined an AbstractDocumentBuildView extending the AbstractExcelView that defines an abstract method which passes only the Workbook and the data to the implementing subclasses.

– Make a big list of constants defining the column/row-structure and labels!

– It is not possible to make “autofilters” so far! Just don’t try it.

– To put a dataFormat of your choice in a cell, use  cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat(xxx));

– HSSF is short for “Horrible SpreadSheet Format” (not kiddin’!). So just try to take it easy …

Rotbarsch in Senf-Dill-Sahne mit explodierenden Tomaten

Zutaten

für 1 Person

2 kleine Rotbarschfilets

1/2 Becher Sahne

2 TL Dill

2-3 TL scharfer Senf

etwas Mehl

10 kleine Cocktailtomaten

2 Schnapsgläschen trockenen Weißwein

1 Knoblauchzehe

Öl

Zubereitung

Den Fisch, falls tiefgefroren, komplett auftauen lassen. Mit einem Küchentuch abtupfen. Dann mit Salz und Dill von beiden Seiten einreiben. Anschließend großzügig mehlieren.

Das Öl in einer kleinen Pfanne heiß machen und den Fisch von beiden Seiten bei mittlerer Hitze 5 Minuten je Seite anbraten. (Induktionsplatte 1500Watt). Der Fisch sollte noch nicht ganz durch sein. Ganz fertig wird er beim Köcheln und Durchziehen in der Sauce. Und die kommt so zustande: Noch mal etwas heißer machen und mit dem Weißwein ablöschen. Den Knoblauch geachtelt hinzugeben. Wenn der Alkohol verflogen ist, mit Sahne auffüllen. Den Senf dazugeben und unterrühren. Ein wenig (so 5 Minuten) bei mittlerer Hitze einkochen lassen und dann für die letzten 3 Minuten noch die ganzen Tomaten dazugeben. Sie sollen nur warm/heiß werden und erst im Mund explodieren. Mit ein wenig Petersilie bestreut hat man auch wieder ein schönes Farbenspiel.