All entries
Risotto ai funghi (e un po' di banana)
Avevo voglia di sperimentare, e in casa avevo delle banane. Cosa ci si può fare, con delle banane?
Entra in gioco http://www.foodpairing.be/
Questo sito raggruppa vari ingredienti in base alla comunanza delle sostanze chimiche che gli danno il sapore. E chi c'è vicino alla banana? I FUNGHI!
Facciamo quindi un risotto coi funghi: solito fondo di cipolla soffritta nel burro finché non diventa trasparente, e poi giú un pezzetto di banana tagliato a pezzettini sottili, a soffriggere anche lui e a caramellarsi un po'. Infine, qualche pezzetto di porcino secco rinvenuto in acqua tiepida.
Aggiungiamo poi il riso, lasciamolo soffriggere anche lui un po' nell'intingolo, e poi allunghiamo col brodo (io avevo un dado apposta per il risotto ai funghi comprato nel vicino negozietto di cose belle).
Niente sale, pepe, burro per mantecare, niente. Una volta cotto, l'ho solo lasciato a riposare per 5 minuti.
Il risultato è stato delizioso. "Ci hai messo la panna? Come fa a essere cosí cremoso?". Saporito ma non dolce. E la banana si sente che c'è, ma non si sente che è banana.
Da oggi mi sa che nel risotto ai funghi il mio ingrediente segreto sarà un pezzetto di banana.
Da notare che, come si legge in http://khymos.org/pairings.php, la banana sta anche bene col prezzemolo, e cosí i funghi. Mi son scordato il prezzemolo nel risotto in questo esperimento, ma ci sarà nel prossimo: ce l'abbiamo anche fresco in giardino. La stessa pagina parla anche di un probabile abbinamento molecolare cacao-funghi... chissà.
Pagine collegate:
- http://bressanini-lescienze.blogautore.espresso.repubblica.it/2008/07/02/accostamenti-sorprendenti/
- http://khymos.org/pairings.php
- TGRWT
Fagottini di pollo agli spinaci
È da tempo che cerco di capire come cucinare una buona bistecca, e finalmente ho trovato un sito di cucina che parla la mia lingua.
Giochiamo quindi con la Reazione di Maillard. Dopo un discreto successo con una bistecchina da quattro soldi, è venuto il momento di cimentarsi col pollo, che è l'unica carne che piace alla morosa.
La carne di pollo ha proteine, ma non abbastanza zuccheri perché avvenga la reazione di Maillard. Ergo, mariniamo la carne in qualcosa che contenga zuccheri.
Guggolando "pollo" e "marinata", esce questa bella ricetta "Petti di pollo ripieni al miele e aceto balsamico". La ricetta dice: "rosolatevi il pollo (3-4 minuti per lato, a fuoco medio)", ma io Maillard lo volevo guardare negli occhi e "fuoco medio" non mi bastava, e poi in Inghilterra non si trova lo speck, e io in casa avevo degli spinaci e non dell'"insalata Tatsoi", ergo, ho pistolato la ricetta come mio solito:
Arrosto di pollo ripieno di spinaci
Ingredienti:
- 3 petti di pollo a fette
- 3 fette di bacon magro, senza cotenna (siamo in Inghilterra...)
- 6-7 cubetti di spinaci surgelati
- 2 cucchiai di miele (meglio se d’Acacia)
- 2 cucchiai di aceto balsamico
- 1 cucchiaio di salsa di soia
- 1 cipollotto
- peperoncino secco sminuzzato
- olio, sale, pepe nero
- vari spicchi di aglio
Ho scongelato gli spinaci in un tegamino a fuoco basso, assieme a 4 o 5 spicchietti d'aglio schiacciati.
Nel frattempo ho fatto la marinata con miele, aceto balsamico, salsa di soia, il cipollotto tagliato finemente, uno spicchio o due d'aglio schiacciato, il peperoncino, due cucchiai d'olio, sale, pepe.
Ho poi spiattellato un po' i petti di pollo, ci ho messo sopra una fetta di pancetta, poi ho intonacato con uno strato di spinaci, arrotolato il tutto e legato con lo spago.
Pronti i fagotti li ho messi a mollo nella marinata. Li ho lasciati lí una buona mezz'oretta poi li ho girati e li ho lasciati lí un'altra mezz'oretta, in modo che si impregnassero e colorassero bene.
A questo punto, ho dato la molla al forno a 180° (per dopo) e ho messo sul fuoco una padella (io ho usato il wok antiaderente) con un pochino d'olio d'oliva.
Mi sono assicurato di non far danni con la fiamma vivace: la reazione di Maillard avviene oltre i 140°, il punto di fumo dell'olio d'oliva è dai 190° ai 240°, e quello del teflon dell'antiaderente è di 300°, quindi i margini ci sono.
Fiamma alta, olio caldo, giú il primo fagotto di pollo: due minuti per lato, col tegame coperto per limitare i danni degli schizzi. Ogni fagotto fatto da entrambi i lati l'ho poi messo in una pirofila, ci ho versato sopra un filo d'olio e ho messo tutto in forno per una 20ina di minuti, per stare nel sicuro perché, seppure a fiamma alta, 2 minuti per lato non mi sembravano abbastanza per cuocere il pollo e il bacon all'interno.
Tra un fagotto e l'altro vale la pena togliere dal tegame il grosso dei fondi e metterlo da parte, altrimenti a star lí per 3 fagotti su 2 lati c'è il rischio che bruci. Alla fine, col tegame bello incrostato, ci ho versato del vino, ho aggiunto i fondi messi da parte, e col fuoco basso e il cucchiaio di legno ho scrostato il tutto. Ho poi aggiunto un po' di zucchero per contrastare l'aspro del vino e ho lasciato restringere, dopodiché ho filtrato col colino e ho ottenuto una salsina deliziosa da cospargenere sui fagotti al momento di servire.
Purtroppo non ho la foto perché, vuoi l'aspetto vuoi il profumo, tutti e tre i fagotti sono spariti prima che ci venisse in mente di fare la foto.
Siccome era rimasto dell'unto invitante nel fondo della pirofila e il forno era ancora caldo, ci ho poi arrostito delle patate al forno. In Italia ci saranno 40 gradi, ma qui si fa fatica ad arrivare a 20.
Il tutto, annaffiato da una bottiglia di dolcetto del monferrato che trovammo tempo fa in sconto al supermercato: saporito com'era il pollo, un vino bianco non avrebbe avuto speranza.
Posted Tue 15 Jul 2008 23:27:19 CESTUsing OpenStreetMap maps with gpsdrive
Here's how I made it:
wget http://download.geofabrik.de/osm/europe/italy.osm.bz2bunzip2 italy.osm.bz2(this might not be needed)- setup mapnik; the instructions for sid worked on my lenny/testing system.
osm2pgsql -c /store/italy.osm(you should not use -m with gpsdrive)- start gpsdrive and turn on mapnik mode. Originally it did not
work for me, until I deleted
~/.gpsdrive/osm.xml.
This makes gpsdrive not only more useful, but also completely Free.
Posted Thu 03 Jul 2008 01:23:25 CESTJoys of schroot
Schroot is good! Try schroot. You have LVM set up and some free extents in a vg? Try this:
# Create a new logical volume for a sid chroot lvcreate -n schroot-sid -L1G YOUR-VG-NAME mke2fs -j /dev/YOUR-VG-NAME/schroot-sid # Debootstrap sid into it mount /dev/YOUR-VG-NAME/schroot-sid /mnt debootstrap --keyring=/etc/apt/trusted.gpg sid /mnt http://ftp.uk.debian.org/debian umount /mnt
Then apt-get install schroot and put this in your
/etc/schroot/schroot.conf:
[sid] type=lvm-snapshot device=/dev/YOUR-VG-NAME/schroot-sid description=Debian sid priority=5 users=YOUR-USER-NAME root-users=YOUR-USER-NAME source-root-users=root aliases=unstable lvm-snapshot-options=--size 2G
Now, schroot -c sid will make a LVM snapshot of
/dev/YOUR-VG-NAME/schroot-sid, mount it, set it up as
a nice working system, and chroot into it running a shell. Have a
look around: resolv.conf is set up, your home directory is bind
mounted, /proc and /sys are mounted.
When you exit the chroot, the LVM snapshot disappears, and
/dev/YOUR-VG-NAME/schroot-sid is unchanged.
If you want to modify
/dev/YOUR-VG-NAME/schroot-sid, you just schroot
-c sid-source.
In my laptop, I did this:
# schroot -c sid-source (sid)# echo APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/50enrico (sid)# apt-get install build-essential, pbuilder, devscripts, fakeroot (sid)# apt-get clean
At this point, to build a debian package like if I were using pbuilder, I do this:
pkgdir$ schroot -c sid (sid)pkgdir$ su -c /usr/lib/pbuilder/pbuilder-satisfydepends (sid)pkgdir$ debuild -us -uc
You can repeat this whole process with lenny and etch, for example, and if you are on an amd64 system, you can also do sid32, lenny32 and etch32.
If you don't want to redownload packages all the time, install
approx and
configure the -source chroots to use it. This also
allows you to easily switch all systems from one mirror to another
if, for example, you are traveling abroad.
If you want to do the same as pbuilder update, you
can do this:
# schroot -c sid-source (sid)# apt-get update (sid)# apt-get dist-upgrade (sid)# apt-get autoremove (sid)# apt-get clean
You can use schroot -c sid-source for all sorts of
permanent maintenance works.
You can also create persistent named snapshots:
$ schroot -b -c sid -n playground
This will only disappear when you do:
$ schroot -c playground -e
And you can enter the schroot as many time as you want with:
$ schroot -r -c playground
You can also enter a temporary snapshot as many times as you
want, by using the random name that schroot generated for it (you
can see it, for example, when running df or
mount).
You fear that lvm snapshots are a little fragile and a little slow at the moment? It's not a problem: your home is bind-mounted inside the chroot, so you can do all the work in your normal home filesystem, without stressing the snapshot.
This is good not only to build packages. For example, now that
svk is broken in sid
and lenny, I just did schroot -b -c etch -n svk,
installed svk on it, and then every time I need svk, I can do
schroot -r -c svk and have it ready.
Passing values to turbogears widgets at display time (the general case)
Last time I dug this up I was not clear enough in documenting my findings, so I had to find them again. Here is the second attempt.
In Turbogears, in order to pass parameters to arbitrary widgets in a compound widget, the syntax is:
form.display(PARAMNAME=dict(WIDGETNAME=VALUE))
And if you have more complex nested widgets and would like to know what goes on, this monkey patch is good for inspecting the params lookup functions:
import turbogears.widgets.forms old_rpbp = turbogears.widgets.forms.retrieve_params_by_path def inspect_rpbp(params, path): print "RPBP", repr(params), repr(path) res = old_rpbp(params, path) print "RPBP RES", res return res turbogears.widgets.forms.retrieve_params_by_path = inspect_rpbp
The code for the lookup itself is, as the name suggests, in the
retrieve_params_by_path function in the file
widgets/forms.py in the Turbogears source code.
Saving waypoints with Holux M-241
The Holux M-241 is a nice unit, but it looks like it cannot store waypoints while you're recording a track.
In fact, if you set it to display latitude and longitude, every time you press enter it stores a track point with the current location. However, after downloading the data with gpsbabel, they are indistinguishable from all the other track points.
If you are not taking a track, this is sufficient: your track will be made by all the waypoints you recorded.
Together with Riccio, another M-241 user, we noticed that if you are taking a track, with one trackpoint per second, then when you press enter in the lat/lon screen you get two track points in the same second: one from the logger, and one from your keypress.
The duplicate timestamp is just enough information to be able to distinguish a waypoint. Here is a little python script that will add a waypoint every time there are two trackpoints with the same timestamp.
#!/usr/bin/python import xml.dom.minidom from xml.dom.minidom import Node import sys def get_text(node): res = "" for n in node.childNodes: if n.nodeType == Node.TEXT_NODE: res += n.data return res.strip() def get_val(node, name): for n in node.childNodes: if n.nodeName == name: return get_text(n) return None doc = xml.dom.minidom.parse(sys.argv[1]) # Scan the document looking for duplicate timestamps wpt = [] last_ts = None for node in doc.getElementsByTagName("trkpt"): ts = get_val(node, "time") if last_ts != None and last_ts == ts: wpt.append(node) last_ts = ts # Add the nodes with duplicate timestamps as waypoints if len(wpt) > 0: for i in wpt: node = doc.createElement("wpt") for a in i.attributes.values(): node.setAttribute(a.name, a.value) for n in i.childNodes: node.appendChild(n.cloneNode(True)) doc.documentElement.appendChild(node) doc.writexml(sys.stdout)
Send a fax from the laptop
My bank sent me a PDF form via e-mail. I needed to fill it in, then send it back via fax. Send it back via e-mail would not work because it's not secure. The bank agrees that this is fantastically silly, but apparently this requirement is not their fault.
Step 1: send a fax with the laptop
apt-get source sl-modem-daemon efax-gtk- patch as instructed in the Debian BTS
pbuilder-satisfydepends,debuild,dpkg -islmodemd -c ITALY --alsa hw:0,6echo ATDmymobilenumber > /dev/ttySL0and my mobile phone rungefax-gtk
Believe it or not, at this point I managed to successfully send a test fax.
Background: the laptop's modem is actually a sound card, and is ashamed to admit that it can also work as a modem:
$ lspci
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
But the sound card actually has its own bus, which you can query
with aplay -l:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861VD Analog [ALC861VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
Subdevices: 0/1
Subdevice #0: subdevice #0
Then you learn that sl-modem-daemon can drive it
both on i386 and on amd64, but you get period size 48 is not
supported by playback (64) when trying to dial. But then you
find the patch to get rid of that, and it works.
The modem was the last device in the new laptop that I had not
yet attempted to use. I can now claim that every single
piece of hardware on my ASUS F9E-2P119E laptop can be
made to work with Debian. Oh, yes!
Step 2: fill in the form
Much to my surprise, evince allowed me to just
click in the form fields and type text. Even checkboxes worked.
"Save a copy", however, did not retain the field contents: I had to
print to file to get another PDF with the fields filled in.
Update: this could be a limitation of that specific PDF,
see this thread
on the Adobe forums (thanks to Tomas Weber).
However, evince did not allow me to import an image with my
signature and paste it in the right place. Inkscape,
however, successfully managed to import the PDF as an editable
vector drawing that I could change at will. Again, that was
impressive.
From there, it was just a matter of pasting the signature in the
right place, save as PostScript, give it to efax-gtk
and phone the bank to learn that, in fact, the fax was received and
was perfectly readable.