Privacy advocates: Piwik instead of Google Analytics - that's a good start, concrete suggestions for what site operators should do if they want statistics. We should probably take a closer look at work to recommend it to customers who ask for statistics.
Content-type: matter-transport/sentient-life-form
After Church Club
Finally managed to make it to the Hot Jazz Club on a Sunday again. Tom's introduction: "Today with me, so there will be blues. And only blues. You can't defend yourself against it."
Kiepenkerle (Kiepenkerls?)
The Kiepenkerle are kind of a landmark in MĂĽnster. These two were in front of the Lamberthi Church when I walked by. The one made of stone is always there, the other one gives city tours. Mainly photographed for Juliana - she already knows the Kiepenkerl at Spiekerhof. And yes, I know, they are not actually Kiepenkerle, because they don't carry a kiepe, they are just the guys.
Update: I've included the Kiepenkerl from Spiekerhof here.
Door Figures
These door figures were created by Berndhard Kleinhans and are located at the Ăśberwasserkirche in MĂĽnster at the side entrance on the south side. Photos taken with the Leica M8 and the Zeiss C-Biogon 2.8/35mm.
By adding extra code to a digital music file, they were able to turn a song burned to CD into a Trojan horse. When played on the car's stereo, this song could alter the firmware of the car's stereo system, giving attackers an entry point to change other components on the car.
via With hacking, music can take control of your car | ITworld.
Satellite Photos - Japan Before and After Tsunami - Interactive Feature - NYTimes.com. Slide the slider left and right.
Programming Languages - Progopedia - Encyclopedia of Programming Languages. That was the programming language wiki I was looking for recently when the deletion frenzy struck Wikipedia again. I think I already mentioned it in the old blog.
Instagram now has official APIs. It completely passed me by. Maybe I can eventually get around Tumblr to get my Instagram pictures into the sidebar. On the other hand, Tumblr has been doing quite well lately, and why change something that works (the curse of any further development - good enough).
pdict.py at master from segfaulthunter/sandbox - GitHub. A PersistentHashMap for Python - so a functional data structure that does not allow changes, but provides a new structure with minimal change compared to an existing structure with substructure sharing to the original structure. A rather interesting implementation. There are also further explanations of the ideas behind it. And an alternative implementation of the same idea.
ShutterSnitch. Interesting little app with which you can receive images via WiFi on the iPad and automatically tag them with metadata and geocoding - could be a rather interesting combination with an EyeFi card in my Sony or my Panasonics (the M8 unfortunately cannot be used with EyeFi - the SD slot on the M8 is too narrow for the EyeFi and the metal body blocks too much of the weak signal). Simply connect the camera, put the iPad in the backpack and walk around and take snapshots and occasionally use the iPad as an extra-large lightbox.
Rob Galbraith DPI: Alex Majoli points and shoots. Just as a reminder that it's the photographer who makes the pictures and not the camera. So the design of the image. And yes, "flat depth of field" is not always the answer to "what makes a good picture".
HowTo: Using Radio2. Well, ok, I understand his motivation. But well - I click on the "Press This" bookmarklet from WordPress and write a sentence - I've customized the bookmarklet form with JavaScript and Custom Post Types (in this case Aside) does the rest. And up top I already have a link blog - and it also has its own feed. And it's also quick, enclosures are also easy to make and tagging works right away. Sorry, Dave, but somehow I already have all of that! Update: I just set up a Twitter account and now I'm pushing new posts there. Let's see what comes of it.
Threads are great, but not every problem is a nail
If you want to have a good laugh: Node JS and Server side Java Script. Here, someone from the Java camp complains that Node.JS really isn't to be taken seriously and then produces the best example why something like Node.JS (and many other alternatives for server programming) exists - because the Java code gets longer and longer with each step. And even after several iterations for an example that is quite simple to implement in Node.JS (or e.g. with gevent in Python), a few errors and gaps in the Java code are already mentioned in the first comments.
Don't get me wrong - Java has a lot of good solutions for programming with multiple threads in the standard library. Probably the largest selection of possibilities for programming with multiple threads of all currently available languages. But as so often in life: threads are not the answer to all questions of parallelization. Especially when it comes to high request load, the assessment in the comments that 20K threads are already very high is ridiculous - tell that to the programmers of Eve Online, where every ship in their virtual universe is modeled as a microthread.
Java is an interesting platform, precisely because it comes with many low-level libraries with which you can do very interesting things - and which are helpful to build reasonable high-level constructs on top of them. For example, in combination with languages like Clojure or Scala, the thread monster loses some of its terror. But sometimes the answer is not the thread, but asynchronous IO (both for disk access and network access) and the intensive use of coroutines or continuations.
Also, the incomprehension of Java programmers about the approach of solving the multi-core problem simply with several parallel processes and message-passing between them is quite strange in 2011 - after all, 2009 and 2010 were the revival years for Erlang (don't forget, the language has existed for much longer) and the central idea of Erlang is precisely to set network- and CPU-spanning message-passing as the standard in order to achieve very simple parallelizability and scalability.
Java programmers always remind me of the COBOL programmers of my early days, who in every language and every programming approach deliberately picked out the things that were solved differently in COBOL (and sometimes even perhaps a bit simpler) - but then fell flat on their faces when they had to solve real problems outside the COBOL comfort zone with them.
The best thing about Java is the JVM and thus a platform that makes the multi-paradigm and multi-language approaches possible with which you can then use the tools for problems that are appropriate for them. And even then, sometimes the answer is still Node.JS or another small, lean, asynchronous server. Because even with a large collection of various hammers, you will still get a screwdriver for the screw.
The risks of technology cannot be abolished. But the way we deal with it can be changed. Facilities like nuclear power plants, which can cause unimaginable damage, should not be operated by any state. And people who make money with such facilities, like our esteemed nuclear industry, should clearly be branded as irresponsible lobbyists. They have the situation under control in their speeches, while the reactor hall is already falling apart behind them.
via Dieses Vertuschen und Verzögern ist ein unfassbarer Skandal: Die Methoden der Atomlobby - taz.de.
Minestrone for the whole family
Well, I simply refused to take less than a whole vegetable each, and suddenly there was quite a lot. So better have a large pot ready! But the minestrone tastes damn good. What I put in:
- 1 bell pepper
- 1 zucchini
- 3 tomatoes
- 3 celery stalks
- 1 large carrot
- 3 small potatoes
- 100g streaky bacon
- Parmesan with rind
- 150g green beans
- 2 purple onions
- 2 cloves of garlic
- 1/2 bunch basil (fresh)
- 1 tablespoon tomato paste
- a handful of olives (black, pitted, natural)
- 1l vegetable broth
- 50g butter
- olive oil
- approx. 50g spaghetti (broken into pieces)
The preparation is really hard work and in the first phase there is not much peace. And it's best to group the vegetables as indicated below, because they go into the pot one after the other - everything is first fried. But otherwise it's actually quite simple:
- Dice the bacon and put it on a plate
- Dice the onions and garlic and put them in a small bowl
- Dice the potatoes, celery, and carrots and put them in a bowl
- Chop the beans and put them in a bowl
- Dice the bell pepper and zucchini and put them in a bowl
- Heat the pot with olive oil and the butter
- Fry the bacon for 2 minutes in it (stir vigorously!)
- Put the onions with garlic in the pot and fry for 2 minutes (stir vigorously!)
- Put the potatoes, celery, and carrots in the pot and fry for 2 minutes (stir vigorously!)
- Put the beans in the pot and fry for 2 minutes (stir vigorously!)
- Put the zucchini and bell pepper in the pot and fry for 2 minutes (stir vigorously! if your arm feels like it's about to fall off: that's normal, keep stirring!)
- Put the lid on, turn down the heat and let the vegetables simmer for 15 minutes, stirring occasionally
- The arm can't rest unfortunately, because now the tomatoes are diced and if desired the olives are cut small (I always leave them whole in soups).
- Before the 15 minutes are up, throw in the olives (after about half the time)
- Chop the basil
- When the 15 minutes are up, put the vegetable broth in the pot, stir
- Put in the tomato paste, chopped tomatoes and basil, season with pepper and salt
- Throw in the parmesan rind (I tie it with kitchen string so it's easy to fish out again)
- Bring to a boil, turn down the heat and let it simmer gently for an hour (on my monster pot half a point on the electric stove is enough)
- Fish out the parmesan rind and throw it away
- Put in the spaghetti and cook for 10 minutes
I then eat the whole thing simply with bread. You can also put sour cream in the soup, or very Italian, grate parmesan on top. With a glass of wine.
Re: Factor: Google Charts - I really should use Factor more often. Every time I see how practical a visual REPL is (in Factor, graphical representations of objects can be embedded in the normal output, similar to old Lisp machines), it tempts me.
Nuclear meltdown in Japan increasingly likely
BBC News - Japan earthquake: Explosion at Fukushima nuclear plant. That was it with the hopes that maybe it would still turn out alright. And people are still running around claiming that something like this could never happen to us, because here everything is much safer. Funny enough, I do remember incidents in cooling systems that were only admitted long after they occurred - and the failure of the cooling system is the problem in Japan, the tsunami and the earthquake were just the triggers.
What I wonder, though, is how will the catastrophe in Japan change our perception of nuclear energy? With Chernobyl and before that Harrisburg, secrecy was relatively easy - but Japan is a country where all inhabitants are highly technologized. The joke about at least 5 cameras per Japanese might be exaggerated, but the number should be high enough to make secrecy more or less absurd. And the high integration into the internet leads to publication channels that were unthinkable in Harrisburg and only conceivable for utopians in Chernobyl.
Surely, energy companies and the government will now show solidarity and talk about how earthquakes and tsunamis in Europe are not a problem. And thus completely miss the actual problem, because as mentioned above, cooling systems can fail not only because of earthquakes and tsunamis. Therefore, such a problem is quite conceivable here as well, if the cooling system fails for other reasons. And why should we believe our energy companies (and the government), who are regularly caught lying, more than the Japanese energy company, which is also known for lying?
It will be difficult for politicians to lie convincingly about such things. And maybe, just maybe, people in Europe will wake up from their wishful thinking that nuclear energy is so safe.
consistency and ecosystem opportunities - Twitter API Announcements is an email where Twitter pretty much leaves all reality behind. Just to remind you: Twitter is this cute service where you can send 140-character messages - and I'm not saying that to make fun of it, it's often quite practical to search there when something is currently happening. But when I then read this bloated nonsense about "prevent diffusion of user experience" and other bullshit bingo in the email, I can only wonder what they're smoking. The real thing behind it is probably rather an attempt to close the platform to control and exploit it more - for example, the uproar about this absurd fat bar in Twitter has probably caused some panic at Twitter. Because if all users leave the official client, no one will look at the bought trends anymore ...
Python Tools for Visual Studio. If you are on Windows and a number cruncher - SciPy and NumPy are now directly available on the .NET platform with these tools. And I wonder why Apple doesn't include something like this with Xcode, as it would certainly be popular in the university environment (just think of Sage).
ABCL - Release notes v0.25. New version out and ABCL is increasingly developing into a really usable Common Lisp implementation. Since it runs on the JVM, you also have easy access to many libraries (if you want to) and since 0.24, Quicklisp also runs smoothly with ABCL, giving you easy access to many Common Lisp libraries. However, there are some issues with the CL libraries, as many programmers do not consider ABCL (and there are still deficiencies in the CLOS area).
BBC News - Voyager: Still dancing 17 billion km from Earth. It is often forgotten and because it is still one of the most fascinating missions - the Voyager probes are still active in service. And they are still making important contributions to research. More of that!
J Source is now available under GPL3. The craziest programming language in active use is now even more accessible. But beware of the Source: it's C, but C from someone who thinks in J and writes in J and only abuses the C compiler for it.
blueMarine is a project I was previously unaware of, taking inspiration from Lightroom and Aperture. However, it currently has no RAW editing functions (while Darktable has non-destructive editing), but focuses solely on image management. This might actually work in my favor for Linux, as I usually just want to view images there, with editing mostly happening on the Mac.
darktable seems to have completely passed me by unnoticed - an open-source alternative to Adobe Lightroom for Linux. I should really take a look at it. I really like Lightroom, but it's always good to know an alternative, as there's no guarantee that I'll always like Adobe in later versions ... (and for Linux I will always need an alternative as long as Adobe doesn't support Linux)
fantasm - Project Hosting on Google Code. Definitely worth checking out, a workflow engine in Python. Something like this could be quite interesting for projects at work.
Strange Phenomena in iPhoto
I only use it as an image storage for creating books and syncing to my iPhone and iPad, so my iPhoto is rather unimportant for photo management. But at the moment, I have a phenomenon that is driving me crazy: I imported a CD of normal Jpegs. Then I created an album and put the pictures in it. And now iTunes always claims that this album is empty during sync. The import is also listed as a separate event in iPhoto. iTunes also claims in the sync panel that this event is empty (0 pictures). Accordingly, when syncing "All Pictures," all pictures are transferred - including these pictures. Only the albums and events that consist only of these pictures are not there. Because iTunes thinks they are empty.
What's the point of this? Does anyone out there have an idea? Googling hasn't brought up anything useful, and I've already tried various things (deleting and recreating albums, different ways of creating albums, etc.). The whole thing is quite strange. iLife is quite nice as long as it works, but when problems arise, the whole thing is nearly completely undiagnosable. Which wouldn't matter much to me if I didn't stupidly need it for syncing with my iPhone and iPad...
One reason why I prefer to stick with Lightroom, because I know where the pictures are and the databases are normal sqlite, so I can get my hands on them if necessary. And if they are in the trash, I can reconstruct everything from the pictures and sidecar files. I'll also cross Aperture off the list, its picture management sounds too much like that of iPhoto...
It's quite embarrassing when a tool from Adobe is more reliable and trustworthy than what Apple delivers. Especially since iLife is supposed to be foolproof - when problems arise and necessary troubleshooting is required, it's more of a case of "no user-serviceable parts inside".
harukizaemon/hamster. Immutable Threadsafe Datastructures - for Ruby. You can't change them, but you get new, modified versions back. Ideal for using them across thread boundaries. Clojure has this built-in, Scala since 2.8 as well. I would like something like this for Python ...
Pyjamas - Python Javascript Compiler, Desktop Widget Set and RIA Web Framework. I already mentioned this in the old blog, but a) a lot has happened and b) it came up again today as a topic, so I'm blogging about it again.
Check it out: pqc - PostgreSQL Query Cache. A PostgreSQL proxy that caches queries via a Memcache database to improve performance for recurring queries. Since it works as a proxy, it can also speed up applications that don't already implement caching on their own.
Whoever the asshole at Apple is responsible for the appallingly bad app sorting in iTunes (seriously, how can someone be so completely braindead to replicate the already quite clunky sorting interface for the home screen in iTunes with the mouse in nearly the same stupid way?), that "designer" deserves to be slapped, kicked, and fired. If I spend 20 minutes sorting my apps, I expect that when I click "Apply," it will actually be applied. I certainly do not expect all the icons to revert to their original positions before my 20 minutes of work. And no, this is not the first time I have cursed this pathetic app sorting interface. Bah.
Apple just can't do encryption
I fell for it again and thought, I'll just enable the encryption of iPad backups. Pretty stupid. I should have been warned by the debacles with the encrypted home directory. But of course, I did it again. Everything worked fine until today when the backup mess happened - it got stuck in the first step and just wouldn't proceed. Possibly corrupt backup files on the Mac. Ok, the standard procedure is to simply delete the backup in the settings under devices and create a new one. But that doesn't work if you have encryption enabled - it complains, naturally only after all the steps have been completed, that it can't make backups because no session with the iPad can be started. Huh?
And of course, I can't reset the password - it always claims it's wrong (even before I deleted the backup). My suspicion: the password is checked against the backup and if there isn't one, or it's defective, you can't perform a successful check. Resetting the password doesn't work, creating new backups doesn't work, and making iTunes forget the iPad also doesn't work. Before someone thinks they need to tell me I don't know the password: iTunes saves the password in the keychain if requested and yes, the password is the one I enter. And yes, that is definitely the correct one - the device identifier is saved as the account name with the password. And no, this exact password is of course not accepted...
Solution according to Apple? Completely reset the iPad and set it up again. Great, fantastic idea. Sure, many of the data I have are on my Mac, but over time, data have also been added that are not on the Mac. And I would like to transfer those somehow.
By the way, normal backups and restores work - and with unencrypted backups, you can also create a new one if the backups are corrupted. But not if you have encryption enabled.
Frankly, this renewed experience with Apple's inability to build reasonably stable encryption solutions makes me rather skeptical about their full-disk encryption in the upcoming 10.7...
Update: after a few experiments (tested on another computer, iPad backup reconstructed from the TimeMachine backup and tried with it) I suspect the password is also noted on the device - and this note seems to be corruptible. Because even on another device, the definitely correct password is rejected as wrong, and another device also insists on making an encrypted backup (which makes sense, otherwise you could trivially get the data via a backup on another device). The problem is not that it protects itself against manipulation - the problem is that this crap can break and without any external signs - the backups have always worked fine so far, they are just suddenly worthless now (just like the data on the device).
The Sinclair ZX81: 30 years old today. Happy Birthday, old plastic box. I loved that thing and started some crazy projects on it. It started with 1 Kilobyte of memory, later with the great expansion to 16 Kilobytes - you couldn't hit the table too hard, otherwise the connections would wobble and the computer would reset. And the box even got me my first (and only) article in c't! After the ZX 81 came the ZX Spectrum with gigantic 48 Kilobytes of memory (from the money of the article). Then it got boring with PCs. It wasn't until the 90s that Macs came into my life.
Beef Rolls with Ratatouille
Well, that was today's cooking experiment. Partial success, because I completely miscalculated the quantities (no problem, there's a freezer and delicious rations for another day are also quite nice) and the ratatouille was somehow overcooked today. But that's what happens when you want to handle several pots at once, it doesn't work perfectly the first time. But the roulades were great - although gigantic. Only recommended if you're really hungry! I cooked some ahead of time (using a roasting pan for just one roulade would be silly), gives about 3 servings:
- 3 horse meat roulades (careful, these things are rather XXL size, one is enough per person!)
- 300g mixed minced meat
- Pitted black olives "natural" (about 10-15 pieces, depends on the size - and the taste)
- 1 onion
- 3 cloves of garlic
- Mustard (I had a nice spicy fig mustard, but a simpler medium-spicy one should also work), about 3 tablespoons
- 1 carrot
- half a celeriac
- 1 bay leaf
- 2 cloves
- some peppercorns
- 100ml red wine
- 200ml broth (probably should have been more, the sauce was a bit meager)
- 3 bell peppers
- 1 eggplant
- 1 zucchini
- 1-2 tomatoes
- Basil, oregano, thyme, or whatever spices you like
- Pepper and salt as usual
- Olive oil
For the preparation, it's best to start with the roulades and their filling - because that takes the longest and the roulades simmer in the oven, so you can then prepare the ratatouille in peace.
By the way, for the dish, it's advisable to have a roasting pan - those are these gigantic and very heavy pots in an oval shape that you know from your mother's roasts. Expensive, heavy, annoying, but with the size of the horse roulades, don't even think about a normal pot, take a roasting pan right away.
- Chop onion and garlic finely
- Chop olives finely
- While we're at it, chop eggplants finely and soak in salted water (sometimes they are bitter, so they need a bath before use)
- Mix minced meat, onions, garlic, and olives thoroughly. You can also add spices (thyme, oregano) here. Basically the distribution: meat spicy, vegetables rather mild, so here the slightly stronger things.
- Spread roulades flat (and wonder what you manage to do with them - the things are gigantic!)
- Spread each roulade with a tablespoon of mustard
- Then distribute the filling
- Roll up the roulades and secure with roulade rings or roulade needles (rings worked better for me - two per roulade, because of the size)
- Chop celeriac, carrot (and if desired another onion!) finely
- Preheat the oven to 170°
- Heat oil in the roasting pan, sear the roulades from all sides for a few minutes
- Remove roulades, set aside on a plate, add celeriac and carrot pieces to the roulade broth and fry
- Add cloves, bay leaf, and peppercorns
- Fry everything well, it should leave traces on the vegetables
- Deglaze with red wine (pour over)
- Bring everything back to a boil
- Pour in the broth
- Bring everything back to a boil
- Put the roulades back in the roasting pan
- The liquid should not be too little at the bottom, because some of it will still boil away and then the roulades will become dry, so if necessary, fill up with some water (or if you have any left, broth)
- Bring to a boil briefly
- Put the roasting pan with the roulades in the oven and let them simmer there for about 1.5 - 2 hours. In between, you should turn the roulades over (1-2 times).
Now that the roulades are simmering - and that takes time! - it's a good time to clean up in the kitchen and wash all the plates and bowls that you used in between because you panicked that there was no surface for the tongs, or the vegetables also had to wait somewhere for their destiny or something similar. Take a short break and relax, ratatouille is actually quite simple. About 30 minutes before the roulades are done, start with the rest:
- Chop bell peppers and zucchini into small pieces, keep eggplants separate, they need longer (optimal would be to keep all three vegetables separate)
- If desired, add an onion and some garlic - you can simply do this with the roulades above and take some for the ratatouille
- Chop tomatoes finely (if you want, you can pre-cook them in hot water and then peel - I don't have problems with tomato skin and save myself the trouble)
- Heat oil in the pan
- Add eggplants and pre-fry (here you would also add the onions and garlic)
- When the eggplants start to become translucent, add the zucchini
- When the zucchini starts to become translucent, add the bell peppers and tomatoes
- Fry everything thoroughly and season. The tomatoes should fall apart, but the other vegetables should still be recognizable in their shape.
- Put the lid on the pan (your pan has a lid, right? If not, it's difficult!) and let it simmer for 5 minutes (that was my mistake, too long, became too soft - the 5 minutes are an estimate from me, I had more)
When the ratatouille is ready, the roulades should also be ready. So take the roulades out of the oven and put them on the plates. If you want sauce: simply strain the vegetable-broth mixture from the roasting pan through a sieve and then add some water to dilute and make sauce with sauce thickener. Is currently still theoretical for me, as there wasn't enough at the bottom to bother, so I just put some of the roast residue on the roulade.
I ate the whole thing again as usual with bread. And with it - since I had it open anyway - a glass of wine. It was very tasty (ok, in a restaurant I would have commented on the very soft ratatouille, but with my own experiments I am quite tolerant with myself), just simply a much too large portion. And the time invested to produce the whole thing was not in proportion to the time in which I devoured the portion. But hey, the weather wasn't so great today, so you can also make such cooking excursions.
jsFiddle is a very nicely made online editor for JavaScript, HTML, and CSS. Various JavaScript frameworks are supported, and there is the possibility to save snippets and discuss them with others. Progressing.js is also available, as well as a number of tools to unleash on the code. Quite cool for experiments.
Toolbox, H5 and twentytenfive are Wordpress templates that are based on HTML5. I should take a look at them and see if I can't build my own theme on one of them, instead of deriving it from the standard theme. Since I am currently a subtheme of the standard Twentyten, Twentytenfive might be the easiest - but Toolbox could also be interesting because it is a really minimal theme that I could use as a real base.
balupton/history.js provides an API for accessing HTML5 History manipulation, but it also supports older browsers and uses that ugly # notation - but only when HTML5 is not available. Could be quite interesting for a project of mine.
Today I learned that there are two-legged skinks (which are actually legless reptiles) that use their front feet as shovels like a mole: HandwĂĽhlen. Just when you think nature is already weird enough, you learn a new curiosity.
Paprika-Bohnen-Suppe mit Hack
And once again, a funny episode from "Cooking with RFC1437". Today, a real man's soup. Okay, for men who aren't too wild about spicy food. So, a little man's soup then.
- two bell peppers
- one onion (not too small)
- 4 cloves of garlic
- 2 mild peperoni
- 300g ground meat
- 400g kidney beans (from the can)
- 500ml vegetable broth (for me it was only 450, the remaining 50 were in the previous cooking frenzy)
- tomato paste
- basil
- cilantro
- pepper and salt
- Chop or dice the onions (I dice, well, sort of like cubes - just small)
- Dice the garlic
- Dice the bell peppers
- Dice the peperoni and wonder when you'll buy a food processor
- Pan hot, add olive oil
- Fry the ground meat crumbly (just put in the ground meat and with the spatula keep dividing the clumps until you have nice small crumbly fried ground meat) - don't fry it completely, it will still be cooked in the soup
- When the ground meat is done, put it in the pot
- Put the onions and garlic in the pan and let them become translucent
- Put the bell peppers and peperoni in the pan and fry for a few minutes together with the onions
- Take everything out of the pan and put it in the pot
- Half a liter of vegetable broth in the pot
- The beans in the pot
- Basil and cilantro in the soup - I am quite generous with basil
- Let it boil, then simmer for 30 minutes (so just not too much bubbling in the pot - on my stove, half a point on full pot is enough for that), stir occasionally
- Taste and add pepper and salt
The whole thing then tastes a bit like a mild, slightly sweet chili con carne. I suspect that with chili spice and hot peperoni, the whole thing is also a usable spicy variant. And can certainly be varied cheerfully with the vegetables. The whole thing then yields approximately 4 normal soup bowls.
Plagiarism scandal: Doctoral supervisor distances himself from zu Guttenberg. Just as a question posed to the room (honestly, I don't know!): doesn't a doctoral supervisor read the doctoral thesis of their doctoral candidate?
WordPress JSON API. I don't know if I really need this, but it might come in handy someday - the XMLRPC or Atom APIs are quite cumbersome if you just want to quickly access data from the blog via JavaScript.
Feeding the Bit Bucket» Blog Archive » Common Lisp, Clojure and Evolution. No, Clojure is not described as an evolution of Common Lisp - it's simply the example program "Evolution" from the book "Land of Lisp" translated into Clojure by someone who is learning Clojure by implementing all the examples in Clojure using the Common Lisp code as a basis. And therefore a good comparison opportunity between Clojure and Common Lisp. Maybe interesting for 2 or 3 readers of my blog. Otherwise, for me as a bookmark to look back at later.
Naked Password - jQuery Plugin to Encourage Stronger Passwords. Yes, that's what it says. The internet is very, very strange.
Weekly Market in MĂĽnster
With the dreary winter weather at the moment, the weekly market is not only a good opportunity to get the food I want to prepare over the weekend, but also a real feast for the eyes. I need colors! (Pictures with the Sony NEX-3 and the 2.8/16mm lens)
Hundreds of Tourist Photos Weaved into One (18 total) - My Modern Metropolis. Many tourists photograph the same subjects from the same angles - and here someone has layered many of these images on top of each other and produced composite images. Gives the images a wonderful painterly impression.
Fairytales
Sometimes the differences between what we see, what the camera captures, and what we imagine are too fundamentally different. Digital enables the adjustment of the appearance to the imagination - because photography is not always just a simple representation of what the chip sees. Images taken with the Sony NEX-3 and the Leica Elmar 50/2.8. Edited with Lightroom.
Cooking with rfc1437 - Mediterranean Pork Medallions
RFC1437 on the Road. If you've been wondering about the constant food photos in the sidebar lately - these are often things I've cooked myself. Since I can't really cook, it's quite a sensation for me when it actually tastes good!
Today: Mediterranean Pork Stir-Fry
- Pork (cut into 2cm strips), amount depending on hunger
- one bell pepper (it was a large one, otherwise take two)
- 400g mushrooms
- 50ml vegetable stock (for the sauce later)
- 250ml cream (that was too much, next time I'll only take 200ml)
- two cloves of garlic (I remove the heart, it smells less, tastes the same)
- Oregano and sweet paprika (I put that on the meat before frying, it becomes more flavorful then)
- Pepper, salt (well, that's always there)
- Cut meat into strips, dice bell pepper, chop garlic
- Pre-season the meat
- Heat pan with olive oil
- Add meat and fry until it gets a nice crust (not too long, otherwise it will be too dry later, it will still be simmered in the sauce) - for thin strips, 2 minutes seem enough
- Remove meat, add mushrooms and sweat (I had to google that, it just means frying until they sweat, so water comes out)
- Add vegetable broth, bring to a boil
- Add cream, bring to a boil
- Taste the sauce, season with oregano, pepper and salt to taste
- Add meat and bell pepper, cook in the sauce for 5 minutes
- optional: Let the food boil over (bah, uncooperative food won't wait when I'm not looking)
I just eat it with bread - that also helps if, like me, too much sauce is made. And no, I don't think this is particularly calorie-conscious eating. Presumably, the sauce can also be made with something other than cream, but hey, I can't cook, I have to stick to recipes! (that's why it's being blogged, then I can cook the things that taste good to me without having to search long)
You are heroes!
Thanks, Judith Holofernes!
The BILD newspaper is not to be regarded with a wink as trash cultural asset and no harmless “Guilty Pleasure” for well-groomed upstarts, no witty social reference and no lifestyle quote. And least of all is the Bild newspaper what you want to sell it as: hated but largely harmless inventory of an otherwise much smarter Germany.
The Bild newspaper is a dangerous political instrument — not only a strongly magnifying telescope into the abyss, but a malicious being that does not describe Germany, but makes it. With an agenda.
by Wir sind Helden. The advertising campaign of the Blöd with these unspeakable "celebrity quotes", for which people give themselves who should actually know much better, is an unspeakable nonsense. And at least someone says what they really think about it, instead of being instrumentalized for the Blöd. (Obligatory Guttenberg: I shamelessly copied the title from the Schockwellenreiter)
MostAwesomeDude/bravo is a Minecraft server written in Python. Looking at what's happening around Minecraft, I think I should check it out. Especially after a bit of browsing - it seems to be a good mix of freeform building like Lego and (adjustable difficulty) monster-slaying gameplay. And since you can run your own server, which can now also be multiplayer, you can build your constructions together with others or share them (though they can also break everything if you let them). And it doesn't cost a monthly fee, which personally kept me away from Lego Universe (even though I bought the box).
Ada 95: The Craft of Object-Oriented Programming. Free online book (formerly Prentice Hall from 97) about Ada 95. Quite nice to see the beautifully byzantine-looking source code of Ada again.
IP Addresses and Privacy
IP Address: Data Protectionists Target AdSense, Amazon Links, and IVW. I don't know, but I think slowly this is starting to overshoot the mark. Yes, data collection should be avoided when avoidable. And certainly, one should always keep in mind what can be done with the data for a central figure like Google. But if this leads to, for example, the Google API Loader for jQuery no longer being usable because their accesses also go to Google servers, or if, as here, complaints are made about Amazon Affiliate links - which only access Amazon when clicked, not generally - then things are getting a bit hairy.
Then we are only a short step away from generally prohibiting links to pages from larger providers. Or absurdities, such as the idea expressed here of the illegality of using Google Mail in Germany. Yes, IP addresses are conditionally personally identifiable. And with IPv6, this will certainly become even more apparent (since there the reuse of IP addresses is not as mandatory as with IPv4). But the IP address is at the same time the central pivot of the Internet, and if one focuses too much on it, one eventually reaches the point where the highest data protection officer prohibits access to the international Internet because one thereby reveals one's IP address to computers outside Germany...
Data protection is to a large extent also the education of users and the self-responsibility of users - the latter can of course only be achieved with an appropriate level of knowledge. I would feel much better if the data protection authorities also produced useful output in the form of citizen information. But there it's somehow bleak.
So, discuss with the large providers and, if necessary, take them to court to force them to comply with data protection guidelines: yes. Public discussion about the problems and dangers: yes. Wildly attacking random forum operators: no.
Why is the data protectionist going after something as irrelevant as mentioned in the article, and not even against one of the big players in the forum industry, such as Heise, Spiegel, Focus, or Golem? Too much respect for the reaction to be expected there?
Something smells fishy about the whole thing. Possibly we don't have all the information - but I can't think of what information might be missing that would make the whole thing an appropriate reaction.