22.07.2011

Pulled Pork - 20h auf dem Grill

Der eine oder andere wird jetzt sicherlich ungläubig den Kopf schütteln und sich fragen ob ich noch alle Tassen im Schrank habe ;-)

Die Antwort ist recht einfach! Ja habe ich...

Durch die glückliche Fügung, dass ich Urlaub habe, hatte ich die Gelegenheit mal wieder Pulled Pork zu machen. Sicherlich ist das auf dem ODC nicht so schwierig, wie es innerhalb eines Watersmokers ist, aber das Ergebnis ist lecker und kann sich durchaus sehen lassen ;-)

--- Erster Tag ---


Als Ausgangsmaterial hatte ich zwei Nacken vom Metzger besorgt und diese ausgelöst und pariert.

Im zweiten Schritt habe ich die Nacken mit Senf massiert, damit später der Dry Rub besser auf dem Fleisch haftet.

Danach wurden die Nacken mit dem Butt Glitter Rub des Texaners gepudert. Das Zeug ist echt richtig(!!!) lecker!
Damit der Rub besser einziehen kann, wurden die beiden Stücke in Frischhaltefolie verpackt und in den Kühlschrank gelegt, wo sie einen Tag ruhen durften.
Nach erfolgter Ruhezeit wurden die beiden zeitnah vor dem Start aus dem Kühlschrank genommen, so dass sie bei Zimmertemperatur aufwärmen konnten. Gestartet wurde mit einer initialen Temperatur von knapp über 12°C!
Die Nacken wurden auf dem entkoppelt vom Gussrost auf dem Grill platziert und mit den notwendigen Temperatur-Messgeräten versehen.
Die Kabel wurden fachmännisch gebündelt und die Endgeräte auf der Ablage bzw. am Grill platziert.
Und warum nun der weiße Sender? Na, ganz einfach, damit man auch im Schlafzimmer auf das Thermometer schauen kann ;-)
Sollte dann also das Gas leer sein, oder die Flamme ausgeblasen werden, würde mich das Maverick sofort piepsenderweise wecken. Auf das IGrill spare ich aktuell noch :-D

Nach dem Platzieren auf dem Grill wurde die Phase des Temperatur-Einpendelns abgewartet und danach habe ich mich aufs Ohr gehauen.

--- Zweiter Tag ---

Der zweite Tag wurde genutzt um die Soße vorzubereiten, die für das spätere Moppen genutzt werden sollte. Dafür werden ein paar Zwiebeln gehackt...
... mit Zucker angedünstet...
... mit einem guten Schluck koffeinhaltigem Erfrischungsgetränk abgelöscht...
... BBQ Sauce (in diesem Fall HP Original) hinzugegeben...
... mit dem Zauberstab ordentlich gemixt und noch mal aufgekocht.
...fertig.

Die Sauce wird dafür genutzt, dass das Fleisch während der langen Garzeit noch mal extra befeuchtet wird.

Erster Durchgang:



Zweiter Durchgang:


Um 19:00 war es dann so weit! Das Fleisch hatte die gewünscht Kerntemperatur von 92°C erreicht! Damit waren die beiden Brocken ca. 20 Stunden bei ca. 100-110°C auf dem Grill.
Sieht doch lecker aus, oder?
Näher ran?
Und wie das duftet!!! Nun muss man sich nur noch ein wenig gedulden, da das Fleisch auf jeden Fall ruhen sollte! Dafür wird es mindestens 1 Stunde mit einer wärmenden Flasche Wasser in die Thermobox gepackt!
Danach kann das Fleisch leicht gezupft werden, wie man in dem folgenden Video sieht ;-)



Lecker, lecker, lecker! Und soooooo saftig!
Gegessen wird das ganze in diesem Fall in einem Wrap mit Krautsalat, Mais und Bohnen! Dazu passt eine leichte BBQ Sauce (Stubbs in diesem Fall) oder eine Honig-Senf-Soße!
Dazu noch ein leckeres Kaltgetränk (Hermann - Melone/Limette) und der Abend ist gelungen!

Lecker war's!

15.07.2011

Java 7 - Generics - Endlich weniger Tipparbeit...

Mit der Einführung von Java 7 wird gleichzeitig die Initialisierung von generischen Typen aktualisiert. In Java 6 ist es zwingend notwendig, dass generalisierte Typen redundant deklariert werden mussten.


Dies ist mit Java 7 endlich nicht mehr notwendig. Mit der Einführung des sogenannten Diamond-Operators (< >) kann ab sofort auf eine redundante Deklaration verzichtet und damit deutlich übersichtlicher Code erstellt werden!



Zwar haben die meisten IDEs die Arbeit der redundanten Deklaration für den Nutzer abgenommen, aber die Lesbarkeit des Codes wurde dadurch nicht unbedingt besser.

Definitiv ein Schritt in die richtige Richtung, wenngleich fürs erste auch gewöhnungsbedürftig!

08.07.2011

Java 7 - Vereinfachtes Exceptionhandling

Eine weitere Neuerung in Java 7 ist das vereinfachte Exceptionhandling. In Java 6 musste jede Exception in einem eigenen Block abgefangen und behandelt werden. Dies wurde dann bei Methoden mit zahlreichen Exceptions schnell unübersichtlich und aufwändig.

Um das ganze etwas verständlicher zu machen, habe ich ein kleines Beispiel gebaut. Das Beispiel zeigt eine Bar in der man Getränkte bestellen kann. Sollte ein Getränk nicht mehr vorhanden sein, wird eine Exception geworfen. Ebenfalls wird eine Exception geworfen, wenn ein Barkeeper gerade nicht anwesend sein sollte. Das Ende der Simulation ist erreicht, wenn die Bar geschlossen ist, was wiederum durch eine Exception vermittelt wird. Der vollständige Quellcode kann im Repository zum Blog eingesehen werden.
Klassen der Simulation

Mit dem Erstellen der Bar wird ein zufälliger Vorrat an Drinks erstellt, die im Laufe der Simulation zur Verfügung stehen.
Initialisierung der Bar

Die Bar nimmt die Bestellungen an und prüft intern die Verfügbarkeit der entsprechenden Drinks. Sollten Fehler auftreten, werden diese an den Nutzer weitergegeben.
Aufnahme einer Bestellung

Diese Ausgangssituation ist sowohl für das Java 6 als auch für das Java 7 Beispiel identisch. Die eigentliche Unterscheidung findet sich in der Simulationklasse der Bar.

Mit Java 6 ist es notwendig, dass alle Exceptions einzeln abgefangen werden.
Simulation mit Java 6
Damit ergeben sich mitunter redundante Blöcke, die vermieden werden könnten, siehe Behandlung der DrinkNotAvailableException und der MissingBarkeeperException.

Mit Java 7 können verschiedene Exceptions zu einem Block zusammengefasst und dann gemeinsam behandelt werden.
Simulation mit Java 7

Sicherlich ein Feature, welches gerade für die Sammlung verschiedener Systemfehler und deren Behandlung im UI sehr nützlich ist.

Java 7 - Switch/Case Statements jetzt auch mit String-Werten

Eine wesentliche Neuerung in kommenden Java Version ist die Möglichkeit direkt auf der Basis von Strings zu verzweigen. In der aktuellen Version ist eine Nutzung von Strings nur mit einem Umweg möglich, da dies nur auf primitiven Daten und ihren Wrapper-Objekten möglich war.

Eine Lösung ist die Nutzung des HashCodes des entsprechenden Strings zur Ermittlung des Einstiegspunktes. Ebenfalls denkbar ist die Nutzung einer Map in der die Strings den Schlüssel bilden und die Werte für die Auswertung des Switch/Case genutzt werden. Beide Lösungen entsprechen nicht dem, was ich selber in einer produktiven Umgebung einsetzen und für gut befinden würde. Daher hat sich für mich die einzige Lösung in der Nutzung von Enums herauskristallisiert.


Mit der neuen Java Version ist es nun möglich direkt mit Strings zu arbeiten. Damit kann nun anhand eines Strings in die Case-Anweisungen gesprungen werden.

 
Ob dies nun Einzug in die reale Programmierung halten sollte und ob ein Vergleich von Strings eine sinnvolle Sache für die Nutzung des Switch/Case ist, das sei nun jedem selbst überlassen. Da mir persönlich das Konzept der Enums deutlich besser gefällt, werde ich diesem wohl treu bleiben.

Für die Einrichtung eines Eclipse mit dem Support des aktuellen Java 7 Release Kandidaten empfehle ich die Informationen aus dem Eclipse Wiki als Dokumentation. Die aktuelle Version von Eclipse unterstützt den JAva 7 RC noch nicht von Haus aus und muss dementsprechend erst konfiguriert werden.

03.07.2011

Lachs mit Spaghetti in Salbeibutter

(Für Axel [unauffällige Widmung])

Nach etwas längerer Pause an dieser Stelle wieder etwas Neues. Da Schatzi noch ein wenig an den ausklingenden Symptomen der Magen-Darm-Grippe leidet, musste es etwas schonender als sonst sein.

Daher fiel heute die Wahl auf Lachs mit Spaghetti in Salbeibutter. Dazu wird zuersteinmal der Lachs gesäubert und für die Marinade vorbereitet.


Die Marinade besteht in diesem Fall, da nicht zu scharf gewürzt werden durfte, aus den folgenden Zutaten:
  • Orangensaft
  • Olivenöl
  • ein wenig Honig
  • Salz, Pfeffer

Während der Lachs mariniert werden die Zutaten für die Salbeibutter vorbereitet in der die gegarten Spaghetti später geschwenkt werden. Zuerst wird der Knoblauch mit der Microplane gerieben. So fein und so gleichmäßig habe ich Knoblauch auch noch nicht gehackt ;-)


 Danach noch den Salbei, leider nur aus der Frische-Packung, rupfen.


Ist beides vorbereitet die Zutaten mit ein wenig Salz und Pfeffer in der Panne mit einem Stückchen Butter schwenken.


Kurz nach dem Lachs schauen?


Sieht gut aus! Die Nudeln schnell aus dem Topf, mit der Salbeibutter einmal durchschwenken und dann direkt auf die vorgewärmte Platte.


Lecker war's ;-)

Und nach dem Essen? Einen frischen Espresso. Zwar nicht aus dem Siebträger, aber die CI macht auch keinen schlechten Kaffee.