Almost every Richard Thompson song could be subtitled, "Watch out!" You never know where it's going next and you always have to be wary, even when he's having fun. Thompson is as familiar with the dark end of the street as any songwriter, he's a singer of uncommon emotion, and as a character in High Fidelity, the first novel by closet rock critic Nick Hornby, notes, he's "England's finest electric guitarist." Thompson is both tasteful and wild; one of three (so far) overlapping box sets of his recordings includes a disc labelled "Epic Live Workouts" that includes precisely zero wankery. "For Shame of Doing Wrong" is one of Thompson's strongest compositions. It began life on Pour Down Like Silver, one of the '70s recordings he co-headlined with Linda Thompson, they recorded it again for the sessions they abandoned in favor of the Joe Boyd-overseen Shoot Out the Lights (a strong candidate for Greatest Album of All Time of the Day), and this version, recorded live in 1985, is Thompson at his best. The lyrics overflow with regret without turning maudlin, the band rocks, and the only thing wrong with the extended guitar solo is that it isn't long enough. Enjoy!
itwbennett writes "Sony on Tuesday 'rolled out the ability to buy HD movies from the PlayStation Network,' writes blogger Peter Smith. Sony claims they're the first service to offer HD titles to own from all six major movie studios. Smith runs the numbers on 'standard' pricing for titles ($19.99 for new releases; $17.99 for older movies), file sizes (ranging from 4 GB for Zombieland to 7.5 GB for 2012), and resolution (720P as far as he can tell)."
Read more of this story at Slashdot.
Sony this week formally announced its long-awaited Wii-style motion controller system for the PlayStation 3. Once thought to be called Arc, the add-on is now officially Move. And here is all you need to know about it.…
More bad news today for the International Panel on Climate Change (IPCC), as another of its extravangant ecopocalypse predictions, sourced from green campaigners, has been confirmed as bunk by scientists.…
A security researcher has credited McAfee for helping him to develop exploit code that cracks open an unpatched flaw in older versions of Internet Explorer.…
ARNHEM - De politie heeft donderdagavond een dode vrouw gevonden in een woning in de Arnhemse nieuwbouwwijk Schuytgraaf.
AMSTERDAM - Wouter Bos is bij de komende Tweede Kamerverkiezingen niet de lijsttrekker van de PvdA . Dat meldde de huidige PvdA-leider vrijdag zelf op een persconferentie.
Gerelateerd nieuws:
- Bos verkiest gezin boven kans op premierschap
- Camiel Eurlings verlaat de politiek
- 'Bos winnaar lijsttrekkersdebat'
- 'Gaat het goed met de PvdA, dan gaat het goed met Nederland'
- Bos denkt nog over terugkeer in Kamer
Barclaycard has let slip plans to deploy NFC-enabled mobile phones, along with Orange, before the end of 2010.…
Microsoft has responded to NetSuite's recent reseller commissions sweetener by offering an MS Dynamics honey pot to customers of its ERP (enterprise resource planning) rival.…
Ofcom has finally proposed the use of 3G technologies at 2G frequencies, slipping the amendment into a bundle of updates and tweaks that should get approval come August.…
In case somebody wants to run KDE together with some GTK+ based applications (like Iceweasel or Icedove) having a consistent style as well as look and feel between KDE and GTK+ applications is a nice thing to have. QtCurve together with xsettings-kde and gtk-qt-engine makes this easily possible:
aptitude install gtk-qt-engine kde-config-gtk-style qtcurve xsettings-kde
Then adjust the following settings:
Log off and right back in. Now your GTK+ applications should blend nicely into the QtCurve KDE look. xsettings-kde additionally bridges KDE settings like double click speed and icon theme via xsettings to GTK+ applications.

No back to using gnome-shell...
Some pause, and here we go with another RCBW issue. The pause has involved various Debian-related work, such as preparing OCaml batteries included for Squeeze and of course preparing my DPL platform.
Without any further ado, here are this week's squashes:
Random points:
thanks to Thosrten which replied to my call for help and squashed bug #559822. BTW, there's one more RC in that bug set: bug #559808 (hint hint!), but you need patience as gnash took ages to build ...
tip of the week: removing a DELAYED upload when you don't have the .changes around anymore can be daunting (in fact, all combinations of dcut commands I've tried failed). If that happens to you, remember that http://ftp-master.debian.org/deferred/ can come to the rescue: it stores .changes file of DELAYED uploads (properly unsigned)
a lot of new participants: let's welcome on the RCBW board Emilio, Marco, and Rafael
Yesterday I finally implemented what we agreed on FOSDEM - to use Git as a version control system for phpMyAdmin.
The migration itself required just a little bit of magic, fixing other tools which were relying on Subversion was a little more work, but hopefully I did not forget anything and all pieces are now fixed (if you spot something still referring to Subversion, please drop me an email).
Immediately after completing this task, I focused on another one - move from our custom translation system to Gettext. This is almost done in gettext branch and also web interface for translations is set up, but there are still some minor issues to fix (some messages are fuzzy even when they should not be). But anyway your translations won't be lost, so feel free to contribute there.
Well I suppose its a bit heretical running something such as VMware, but its an important piece of software at my workplace, it also allows me to run some important VMKs or modules. But at first it just wouldn't compile.
And then I found this wonderful blog about Installing VMware on Ubuntu and it worked wonderfully. The author patched the code and it all installed nicely.
The next problem was one of the services would not start. Port 8308 would refuse to work and when I went to the management screen and said Service Unavailable. I tracked this down to the Java program dying at socket binding time.
The absolute first thing you should check if you are having TCP/IP problems with Java is the sysctl path net.ipv6.bindv6only which you can check with
sysctl net.ipv6.bindv6only.
If it is 1, it might mean bad Java code network problems. And in fact this time it was the problem, changing it to 0 and the Java daemon started and stayed running and all was good.
Incidently if you use the Cisco ASA firewall Java client and it dies, use this trick for it too. On Debian systems, edit the file /etc/sysctl.d/bindv6only and set that option to 0. I don't think its the fault of the key, but bad Java code (but is there anything but bad Java code?)

My relationship with Puppet is one of love and hate. I am forced to use it simply because there is no better tool around, but I hate it in so many ways that I don’t even want to start to enumerate (hint: most have to do with Ruby, actually).
Today I decided to put an end to one thing that has been driving
me insane: the fact that puppetd (the client) and
puppetmasterd (the server) use the same working
directory, /var/lib/puppet. Since I consider and would
like to treatthe machine on which puppetmasterd is
running just another puppet client, I was running into funky issues
related to SSL certificate
confusion, obscure
errors, and SSL revocation
horrors.
The following hence assumes that you have installed or are
planning to install puppetd on the machine running
your puppetmaster, and that you have two fully-qualified domain
names for the machine. For instance, I run puppetmaster on
vera.madduck.net, and
puppetmaster.madduck.net is an alias for the same
machine. I’ll use these names in the following as examples.
The following may be Debian-specific, as I am solely using the puppet and puppetmaster packages for my experimentation and verification. Your mileage may vary, but the concept shall be the same.
Stop everything:
/etc/init.d/puppetmaster stop
/etc/init.d/puppet stop
(also verify that you have not instructed cron to
restart
these services)
Rename the working directory:
mv /var/lib/puppet /var/lib/puppetmaster
and amend /etc/puppet/puppet.conf accordingly:
[main]
# …
vardir=/var/lib/puppetmaster
ssldir=$vardir/ssl
# …
[puppetmasterd]
certname=puppetmaster.madduck.net
# …
I am doing this in [main], planning to override it
for puppetd later, because puppetd is the
only program which makes sense to be separated from the rest. Since
only the puppetmaster needs a special certificate name, that is set
specifically in the [puppetmasterd] section.
If you use apache2 or nginx in front of your puppetmasters, make sure to amend the SSL file locations in the virtual host definition and restart (!) the service.
You can verify that the configuration has been amended by making sure that there is no output from the following command:
# puppetmasterd --genconfig | grep -q '/var/lib/puppet/' && echo SOMETHING IS WRONG
Now restart puppetmaster:
/etc/init.d/puppetmaster start
and verify that it starts.
If your puppetmaster previously ran under a different name, it will create itself a new certificate and sign it.
Since the client will get its own working directory (and thus a new SSL certificate), you want to remove all records of the old certificate:
# puppetca --list --all
+ puppetmaster.madduck.net
+ vera.madduck.net
# puppetca --clean vera.madduck.net
Change the configuration file to tell puppetd about
its working directory:
[puppetd]
server=puppetmaster.madduck.net
vardir=/var/lib/puppetmaster
ssldir=$vardir/ssl
# …
This you can verify with the following command, which should not print anything:
# puppetd --genconfig | grep -q '/var/lib/puppet[^/]' && echo SOMETHING IS WRONG
Now install puppet, or (re)start it if it’s already installed:
# /etc/init.d/puppet stop
# puppetd --no-daemonize --onetime --verbose --waitforcert 30 &
info: Creating a new SSL key for vera.madduck.net
warning: peer certificate won't be verified in this SSL session
info: Caching certificate for ca
info: Creating a new SSL certificate request for vera.madduck.net
# puppetca --list
vera.madduck.net
# puppetca --sign vera.madduck.net
notice: Signed certificate request for vera.madduck.net
notice: Removing file Puppet::SSL::CertificateRequest vera.madduck.net at '/var/lib/puppetmaster/ssl/ca/requests/vera.madduck.net.pem'
# fg
info: Caching certificate for vera.madduck.net
info: Caching certificate_revocation_list for ca
[…]
# puppetca --list --all
+ puppetmaster.madduck.net
+ vera.madduck.net
# /etc/init.d/puppet start
Do yourself the favour and check that it’s all working.
Optionally, you can now clean up the client stuff in the server’s working directory, for instance like this (it worked for me, but this is the sledgehammer approach):
# /etc/init.d/puppetmaster stop
# cd /var/lib/puppetmaster
# tar -cf /tmp/puppetmaster.workingdir-backup.tar .
# find ../puppet -type f -printf '%P\n' | xargs rm
# /etc/init.d/puppetmaster start
If you stopped cron before (and your puppet recipes
have not since restarted it):
/etc/init.d/cron start
All done. I wish puppet, or at least Debian’s puppet packages would do this by default. Please let me know if the above conversion works for you. Then I might start working on an automated migration.
NP: Genesis: Selling England by the Pound
AMSTERDAM - De manier waarop de Dienst Belastingen Gemeente Amsterdam (DBGA) een partij illegale en gekopieerde cd's en dvd's in de uitverkoop deed via een digitale executieveiling, is onbehoorlijk.
Apple's US online store is currently being updated, ahead of opening for pre-orders of iPads.…
judgecorp writes "Harriet Harman, the deputy leader of the Labour Party, has said that UK government ministers are 'taking action' to get Facebook to add a British child protection button (called CEOP) to its site. The move comes after the UK's Daily Mail withdrew allegations that teenagers on Facebook are continually pestered — though Facebook is still considering suing the paper. The campaign apparently ignores Facebook's assertion that it already has better child protection in place and the CEOP button would be limited to the UK."
Read more of this story at Slashdot.
AMSTERDAM - De PvdA in Rotterdam blijft ook na hertelling de grootste partij in de gemeenteraad. Het verschil met Leefbaar Rotterdam is zelfs iets groter geworden na de hertellingsoperatie donderdag.
Gerelateerd nieuws:
- Resultaat hertelling Rotterdam vrijdag bekend
A Russian former model is suing Universal Pictures for allowing actor Jon Favreau to crack one off to a picture of her in a bikini in the film Couples Retreat.…
Claims that AMD has a some kind of Damascene conversion and is to finally target the netbook sector directly are, frankly, nonsense.…
UK web users are Europe's biggest online shoppers but are not aware of their consumer rights when it comes to e-commerce, a government survey has found.…
Wiltshire police have warned locals "not to approach" an escaped European eagle owl which could, if it felt a bit peckish, make off with cats and diminutive dogs.…
DEN HAAG - Het vertrek van PvdA-leider Wouter Bos geeft volgens SP-fractievoorzitter Emile Roemer in het politieke veld ''nieuwe ronden, nieuwe kansen'' voor een progressieve samenwerking.
Gerelateerd nieuws:
- Wouter Bos verlaat de politiek
- 'Gaat het goed met de PvdA, dan gaat het goed met Nederland'
AMSTERDAM - De iPod, de iPad, de iPhone en de iMac mogen iconische merken van Apple zijn, maar dat geeft het bedrijf niet het alleenrecht op het gebruik van een kleine i in productnamen.
Mozilla has begun shepherding Firefox fans through the browser door marked 3.6, in a move to encourage users to upgrade to the open source outfit's latest surfing tool.…
Switch a lightbulb on and off fast enough, and you can transmit data without giving everyone in the room a headache.…
The Falcon 9 rocket made by famed tech hecamillionaire Elon Musk's company SpaceX has suffered a test-firing failure on the pad in Florida.…
Her Majesty's Revenue and Customs may be well known in the UK for losing files on every family but it's not above turning corporate data losses to its own advantage.…
Mozilla has released the first Thunderbird 3.1 beta for Windows, Mac and Linux.…
Het aantal drive-by download attacks zal razendsnel omhoog schieten vanwege het openbaar maken van de exploit code. Microsoft zal wellicht alweer een tussentijdse patch moeten uitgeven.
Charles P. Thacker, researcher bij Microsoft, heeft voor het ontwikkelen van de Alto in 1974 de Turing Award gewonnen. De Alto wordt gezien als de eerste moderne pc.
Google, Facebook en diverse andere internetbedrijven zijn "zwaar teleurgesteld" in het Britse voornemen om providers te dwingen bepaalde websites te blokkeren.
We have put up the final copy of our IFL 2009 paper. Here are the PDF and source code.
Abstract Programs in languages such as Haskell are often datatype-centric and make extensive use of folds on that datatype. Incrementalization of such a program can significantly improve its performance by transforming monolithic atomic folds into incremental computations. Functional incrementalization separates the recursion from the application of the algebra in order to reduce redundant computations and reuse intermediate results. In this paper, we motivate incrementalization with a simple example and present a library for transforming programs using upwards, downwards, and circular incrementalization. Our benchmarks show that incrementalized computations using the library are nearly as fast as handwritten atomic functions.
The focus is quite a bit different from the draft submission. We concentrate more on describing how to specify incrementalized computations. We also compare the performance of handwritten atomic functions, specifications written with folds, and incrementalized functions. We found that incrementalization had a relatively small impact on an atomic function's performance. If you have the right needs, of course, the impact on your program time can be profound.
Update! The final version is now available.
Andres Löh, Johan Jeuring, and I have submitted a paper to IFL 2009.
Pull-Ups, Push-Downs, and Passing It Around: Exercises in Functional Incrementalization
Abstract Programs in functional programming languages with algebraic datatypes are often datatype-centric and use folds or fold-like functions. Incrementalization of such a program can significantly improve its performance. Functional incrementalization separates the recursion from the calculation and significantly reduces redundant computation. In this paper, we motivate incrementalization with a simple example and present a library for transforming programs using upwards, downwards, and circular incrementalization. We also give a datatype-generic implementation for the library and demonstrate the incremental zipper, a zipper extended with attributes.
This is the result of work that has previously been mentioned on this blog:
We would be happy to have any feedback.
Update! Here's the (completely messy, badly formatted, undocumented, and screwy) code used in the paper if you want to have a go at it.
I am weary. I am tired of being me. I am tired of being the angry middle-aged man of the game industry. I would like to hang it up, like an old coat, and shut it in the closet. But I guess I can't put it aside.
I attended the IGF Awards this evening. In general, I love the IGF. Not unreservedly, of course; it is not without flaw. But it is, by and large, a Good and Fine Thing, and has been instrumental in creating and sustaining independent games as a movement. I was quite looking forward to it.
You can find a video of the ceremony here.
And award winners here, since I'm not actually going to talk about that
My first intellectual discontinuity came when I approached the awards venue and discovered Steve Petersen, one of the designers of the Champions RPG, working to ensure that only VIPs got into the VIP line; apparently my speaker badge authorized me to sit in the VIP area. I elected to sit instead with the plebes.
I was basically okay through most of the proceeds, snarking to myself a bit at the lame scripted "jokes" of the presenters and the intellectual discontinuity created by their adoption of tuxedo and gown. A tux does not say "indie" to me. But I understand that to the average American it says "class," and perhaps this is understandable as some sort of external index of respect.
Cactus, by the way, was perfect.
When the presenters were swept off the stage to make room for some chickie from IGN (that lickspittle shih-tzu of the major publishers that sustains its existence by posting reworded press releases and raving about big-budget releases while providing only occasional and condescending coverage of indie games) I sighed deeply, but reminded myself that the IGF depends on corporate sponsorships, and no doubt had received a nice piece of change from this corporate entity in return for their right to grant, and brand, the IGF's most important award.
After some forgettable blather, we were then subjected to a video, presumably prepared by the sublime idiots at IGN, about what they claimed were the "top five indie games not in the top five indie games." This consisted of short gameplay videos from five imaginary games. These imaginary games were supposedly humorous, but consisted of a) really stupid game ideas, b) implemented in a really stupid way, with c) really stupid graphics. Haha. Indie games are stupid. (At 38:40 in the video linked above.)
Did ANYONE at IGN consider that they were basically totally dissing the games their spokesperson was just about to issue an award to?
Did ANYONE at CMP consider that they had, in exchange for a corporate sponsorship, just set up a situation that totally undermined the gravitas of the event as a whole?
Did ANY of the idiot audience members who tittered at this inane video realize that, in context, it was essentially insulting the whole enterprise of indie gaming?
I stalked from the room in fury.
I was the only person to do so.
I don't like living in my skin sometimes. Apparently, I was the only person in that room filled with thousands who was revolted and offended to the core. I am a fool.
I was about to write: We deserve better. But of course, I created no game last year that I could have submitted to the IGF, so it would be inappropriate for me to take on the mantle of "indie game creator" or to have the temerity to speak for those who are. But I can say they deserve better; they deserve to be treated with a degree of respect, and indeed, the whole structure of the IGF ceremonies, and the prominence it receives within the GDC awards as a whole, and even the noxious tuxedo-and-gown garb of its presenters, is calculated with the idea of promoting a degree of respect.
Why then should CMP, and for that matter IGN, however gormless they may be, think it remotely acceptable to undermine that respect with this jejune, unfunny, disrespectful, noxious, subversive, lame, and repulsive piece of juvenile "humor"?
Ha ha.
Die, motherfuckers.
And so to bed.
lilbridge writes "Huge reserves of "combustible ice" — frozen methane and water, have been discovered in the tundra of the Qinghai-Tibet Plateau in China. Estimates show that there is enough combustible ice to provide 90 years worth of energy for China. Burning the combustible ice may be a far better alternative than letting it just melt, releasing tons of methane into the air."
Read more of this story at Slashdot.
Het strategiespel Ruse verschijnt begin juni; Europese gamers kunnen het spel vanaf 3 juni kopen. Ruse zou oorspronkelijk eind 2009 al uitkomen, maar werd twee keer uitgesteld. Deze week ging ook de public beta van Ruse van start.
Er is een tweetal slides opgedoken met daarop de cpu-roadmap van AMD. De slides tonen de komst van vier Thuban-hexacores met verschillende kloksnelheden en tdp's. AMD zou ook een hexacore met twee uitgeschakelde cores uitbrengen.
Technologieconsortium Khronos heeft op de GDC revisies 3.3 en 4.0 van OpenGL aangekondigd. Beide versies bieden grofweg dezelfde mogelijkheden, maar versie 4 vereist een DirectX 11-compatibele videokaart.
HTC's nieuwe Android-toestel Legend levert betere flash-i/o-prestaties dan andere Android-toestellen, zo blijkt uit benchmarks van Tweakers.net. Verbeteringen in Android 2.1 ten opzichte van 1.5 zorgen voor fors betere lees- en schrijfprestaties.
HTC heeft veel aandacht aan het uiterlijk van de Legend besteed. Tweakers.net onderzocht of dit aluminium showpaard met zijn nieuwe Android- en Sense-software ook nog een beetje vlot wilde draven.
Fabrikant Hott wil een tablet op de markt brengen die ongeveer 100 dollar moet gaan kosten. Het apparaat draait op Android 1.5 en heeft een 4,8"-scherm. Met de ingebouwde Rockchip is de tablet in staat om 720p-video af te spelen.
Op donderdag 11 maart zou AMD zijn ATI Radeon HD 5870 Eyefinity 6 Edition uitbrengen. De fabrikant heeft de release echter om onbekende redenen uitgesteld. Vermoedelijk komt de kaart nu omstreeks eind maart beschikbaar.
By warning of acute danger to the domain name system, ICANN boss Rod Beckstrom has incurred the displeasure of domain operators. They are concerned that governments could get the wrong end of the stick![]()
Symantec has announced that it plans to shut down part of its SecurityFocus security information portal. The company says that only the Mailing Lists, including Bugtraq, and its Vulnerability Database will remain online![]()
Turkey has arrested 23 hackers suspected of links with the outlawed Kurdistan Workers' Party (PKK) and attacks on government websites.…
Ik houd van plaatjesbewijzen: plaatjes die zo duidelijk het idee van het bewijs weergeven dat er nauwelijks of geen woorden meer nodig zijn. Op deze lijst op mathoverflow.net staan er een heleboel. Ik licht er voor jullie één mooi idee uit.

Een vierkant van 8×8 kun je precies bedekken met dominosteentjes van 1×2 veldjes. Kan dat nog steeds als je het veldje in de linkerbovenhoek en het veldje in de rechteronderhoek verwijdert? Het antwoord is nee, en het argument is als volgt (als spoiler voor de mensen die er eerst zelf over willen nadenken). Stel je het 8×8-vierkant voor als een schaakbord. Hoe je een dominosteentje ook op het schaakbord legt zodat het precies twee vakjes bedekt, je bedekt altijd een wit én een zwart vakje.
De twee vakjes die zijn verwijderd van het schaakbord hadden allebei dezelfde kleur (wit), dus nu zijn er meer zwarte dan witte vakjes over. Als het schaakbord nog gevuld zou kunnen worden met dominosteentjes, dan zouden er evenveel witte als zwarte velden bedekt zijn, maar er zijn niet evenveel witte als zwarte velden. Dus dat kan niet.
Een opvolgende vraag is nu: als je nou niet twee vakjes van dezelfde kleur weghaalt, maar willekeurig één wit en één zwart vakje, kun je het bord dan wèl altijd vullen met dominosteentjes? Het antwoord ligt niet meteen voor de hand, maar onderstaand plaatje laat zien dat dat inderdaad kan. Dit bewijs is van Ralph E. Gomory, en het plaatje komt van deze site.

Sandra de Haan: Chicago is nog altijd het episch centrum van vooruitstrevende jazz...
Vodafone customers can get free books today, assuming they've got the right kind of handset and can find the download page.…
An annual report by the US State Department has found dictators and repressive governments around the world are making sure they have as much control over their citizens when they're online as they do the rest of the time.…
HOUTEN - De Nederlandse aanbieders van mobiele telefonie hebben vorig jaar 6,5 miljard euro verdiend, 1 procent meer dan in 2008. Dat blijkt uit cijfers van marktonderzoeker Telecompaper.
Gerelateerd nieuws:
- Verkoop mobiele telefoons herstelt
- Lichte groei mobiele markt
An anonymous reader writes "Another one bites the dust, as New Zealand's Internet filter stealthily goes live with two smaller ISPs, and three of the largest already rumoured to have signed up to do the same. However, US Secretary of State Hillary Clinton is apparently 'committed to helping people to circumvent government internet filtering,' so perhaps the USA will launch an invasion to free the poor downtrodden Kiwis from their own evil government?" Clever of one of the acquiescing ISPs to have named itself "Watchdog."
Read more of this story at Slashdot.
The takedown of 100 servers used to control Zeus-related botnets may be a short-lived victory, security researchers said after discovering that about a third of the orphaned channels were able to regain connectivity in less than 48 hours.…
HOORN - Medewerkers van een huisartsenpost in Hoorn hebben donderdag aan het einde van de middag voor de deur een vondeling aangetroffen. De politie had vrijdagochtend nog geen idee wie het kindje daar heeft neergelegd.
RIO DE JANEIRO - Vliegmaatschappij Air France moet de nabestaanden van een slachtoffer van een vliegramp in 2009 een schadevergoeding van omgerekend 840.000 euro betalen.
Gerelateerd nieuws:
- Vliegtuig Air France ging verticaal te water
- 'Ernstige computerproblemen bij crash Airbus'
- 'Vaker problemen snelheidsmeters Air France'
- Ruim veertig lijken Airbus geborgen
ROTTERDAM - De Kop van Zuid in Rotterdam en naaste omgeving hebben vrijdagochtend een uur zonder stroom gezeten, meldde netbeheerder Stedin.
Mozilla has released the first Thunderbird 3.1 beta for Windows, Mac and Linux.…
The European Parliament has threatened to take the European Commission to the EU's highest court if it does not disclose the details of a secret international copyright treaty.…
When Steve Jobs badmouthed Adobe Flash to The Wall Street Journal, he said it was buggy, littered with security holes, and a "CPU hog". It's hard to argue with the first two, but a new study claims the Apple cult leader was wrong about the hog bit.…
AMSTERDAM - Een man is vrijdagochtend omgekomen door een brand in zijn etagewoning in Amsterdam. Dat heeft de brandweer laten weten.
HAARLEM - De Haarlemse coffeeshophouder Nol van Schaik roept coffeeshops in het hele land op om te staken tijdens de Tweede Kamerverkiezingen op 9 juni.
Review Since the launch of the D3, Nikon has released a studio version, the D3x with its unsurpassed full frame resolution of 24Mp, and now comes the D3s intended for the photojournalist, sports and wildlife photographer.…
code prole writes "With two upcoming trips to Germany, and no readily available Internet (WiFi or otherwise) in the location where we'll be staying, I'm looking for a no-contract USB stick and pre-paid data plan. Vodafone has a huge selection of USB sticks but has proven to be unresponsive to questions about data plans. And the US-based T-Mobile Help Center was clueless about getting the device in Europe and using it there. Hopefully the Slashdot community has some suggestions. Any duds to avoid?"
Read more of this story at Slashdot.
A Montreal man has had his lawsuit against Air Transat dismissed. He was suing the airline because the flight attendants refused to help him look at his scrotum and determine why it had started bleeding on a flight (they gave him some sanitary towels and told him they'd land for emergency medical attention if it got worse). On arrival in Mexico, the man saw a doctor who determined that the problem was a ruptured vein near his scrotum.
I can understand a flight attendant's reluctance to help a stranger examine his scrotum, but didn't anyone have, you know, a hand mirror? If I started mysteriously bleeding from my scrotum, I'd be pretty distressed, too.
Man sues airline for not looking at his scrotum (via Consumerist)Cote sued Air Transat and the employees on the flight that day, accusing them of failing to provide appropriate medical assistance, seeking damages of $8,000 for the anguish he suffered as a result of their neglect.
But judge Michele Pauze rejected Cote's case.
In her decision, she said she agreed with arguments offered by Air Transat representative Chantal Chlala, who explained to the court that flight attendants do not have the right to examine passengers, and even less to make a diagnosis.
"It was not incumbent upon a flight attendant to conduct the medical examination of a passenger, a measure reserved for the medical profession," wrote judge Pauzé.
Een vakbeurs met ruim aanbod exposanten en seminarprogramma met onderwerpen als Fysieke- en IT-security, Cloud Security en Social Engineering. Registreer nu!
Door een fout in de iDeal Lite betaalmodule van de Rabobank krijgen klanten én webwinkels bij een geannuleerde betaling de melding 'transactie geslaagd' te zien. Dat leidt tot verwarring.
Last night I went to a swanky party held at the Farimont hotel in the Tonga room, and place that looks like a ballroom that a pirate ship crashed into, where LucasArts announced Monkey Island 2: Special Edition featuring all new Guybrush hair.
It's hard to believe that twenty years later so many people would sill love and play Monkey Island. I would not have believed it if you told me back then. We were just making a game and hoping we didn't get fired for having so much fun.
Here is a picture of Tim suitable for framing or carry around in your wallet.
One of the things I’ve been procrastinatingah, not had the time to do, being busy with school and other projects, is announcing and working on a job search for this summer. I have posted my resume, but I didn’t even get around to mentioning that. The process really doesn’t excite me that much — it’s essentially research, comparison shopping, which I have never been very fond of.
But, last October, I was contacted out of the blue by a recruiter asking if I was interested in opportunities at — Google. After checking that it wasn’t a spoof I naturally said yes, and after a number of rounds of information exchange and interviews,
This summer, I will be (well, subject to my completing the process of accepting the offer) working as a Software Engineering Intern at Google, with the Caja team, in Mountain View, CA.
So — whoa and yay and other such cheerful words. And thanks to my friends at Google who referred me and nudged the process along.*
The most uncertain remaining step is finding housing in or near Mountain View (could be as far as San Francisco or San Jose; Google runs a shuttle bus and is convenient to public transportation). Google has provided some general advice-for-interns, but I’d like to hear input from my readers and friends who already live in in the area.
Some parameters:
*Y’know how job search advice is big on saying you should be “networking”? If you’ve thought you’re too much of the non-face-to-face-social non-polite-small-talk would-rather-talk-to-people-through-the-computer sort for that — take me as an example. This opportunity came to me because of other people who knew me entirely through my work on open source projects (E, and thus Caja-CapTP) — I didn’t do anything that I wouldn’t have done for other reasons anyway. I’m not saying you shouldn't do any of the other stuff you might be thinking of — I’m saying this stuff counts.

Bowntz is a little world of colliding circles, implemented in Haskell using OpenGL for video and SuperCollider3 for audio. Its simulation algorithm is based on directly calculating the time until the next collision rather than stepping through time at a constant rate.
Bowntz source code repository at Gitorious
git clone git://gitorious.org/bowntz/bowntz.git
Update: Also see follow up post and discussion on reddit.
Actors are not a good concurrency model, and neither are Erlang processes.
Wait, what? Isn't Erlang the king of high-uptime distributed systems? If Erlang can do all this using the actor model (Erlang processes are identical to actors in the essential ways, discussed below), isn't there something good about it? Isn't there??
Well, yes. What's good about it is it's better than the dinosaur era alternative of shared-state preemptive multithreading. But so what? Just because the actor model is better than dinosaur era technology doesn't mean we should keep using it. Remember the rise of OO? Before OO, the alternative was programming in languages like C, with pretty much zero support for polymorphism. Any approach to polymorphism was better than nothing at all, so OO's concepts of classes and subtyping was a huge improvement (my opinion is that polymorphism was the real unfilled niche that OO filled). Now that we've learned a bit more, OO has started to seem less appealing to some - parametric polymorphism exists independent of OOP, and bounded polymorphism can be implemented with either typeclasses or a combination of first-class and higher-order modules. It's possible there are some other ideas from OO worth salvaging, but more likely I think OO is just an evolutionary dead-end.
And so it might be with actors. Though I don't know exactly what the replacement looks like yet (I'd like to look at some alternatives and explore ideas in a future post), I do know what's wrong with actors, and that's what I'd like to explore here. But going further, I'd like to use actors as an example to show what's also problematic with side effects and impure functions in general. In doing so I'll try to avoid the usual FP evangelizing and make this a more precise, technical argument.
So what's wrong with actors? The problem which dooms the actor model is that actors are fundamentally not composable. I'm going to leave that term undefined for now, except to say vaguely that entities are composable if we can easily and generally combine their behaviors in some way without having to modify the entities being combined. I think of composability as being the key ingredient necessary for acheiving reuse, and for achieving a combinatorial expansion of what is succinctly expressible in a programming model. (Also see this explanation by Tony Morris.) It goes without saying that code reusability is a very desireable property for programs to have, and many of the other virtues of good software engineering end up tying back to reusability - for instance, testability is nothing more than the ability to reuse a component in the context of a test.
So what makes actors not composable? Well, an actor (and an Erlang process) is constructed from a function A => Unit. That this function returns Unit rather than a meaningful type means that it must hardcode some action to take once the result (whose type is not even shown) is available. It is this unfortunate property that destroys any chance we have at combining actors in any sort of general way like we would in a typical combinator library.
As a simple example, consider the following two actors: 1) an actor that accepts lists of integers and turns the list into a min-heap. 2) An actor that accepts (heap,k) pairs and extracts the top k elements in order from the given heap. Can we write a function that accepts these two actors and returns an actor which accepts (list,k) pairs and pulls out the k minimum elements in sorted order? And generalizing a bit, can we write the more general combining function, the one that doesn't care whether the types are 'heap', 'int' and 'list' or A, B or C?
You just can't do this with actors since you can't make any assumptions about what the actor will do with the result - it might forward it to some other actor, write it to a file, extract from it the missile launch codes and launch the missile, etc. In fact, if you actually try to achieve the composability I'm talking about using actors, what you end up doing is having all actors return their result as a response to their sender, essentially recreating pure functions within the actor model, badly, losing type information in the process. What this should tell you is that actors, if worth anything, might be useful more as a tool for building some other higher-level abstraction. But if that's the case, perhaps we shouldn't even expose actors as a programming model and instead just program directly in the higher-level model.
In practice, I suspect actors are basically only used at the top level of a program, where the damage to composability is minimized, and pure functions (which are composable and work fine at any level of the program) are used everywhere else to achieve reuse. The problem with this approach is when you find out a few months later that what you thought was going to be the top level of your program actually is going to become a very small embedded component in some larger system, and this top level now contains a large amount of unreusable complex logic that must be gutted to work as an embedded component.
The problem I am talking about here is not in any way specific to actors. It applies to any functions with side effects. I claim the only way to achieve maximum composability is to program with pure functions, and this applies to concurrent programs or to any other programs you'd like to write. (Sometimes, you decide it's worth taking the composability hit and you write functions with side effects - of course I don't object to this in absolutely all cases - but I don't think the fundamental model underlying concurrent and distributed programming should have to take this hit.)
What makes pure functions composable is they are only the logic of the computation. A pure function makes no decisions about what actions to take with the result of the computation, and also makes no decisions about what actions to take before the computation is executed. By keeping these concerns separate, we can reuse the function elsewhere in places where we need to do something different with the result, or where we need to do something different before the computation is executed (for instance, in testing, to generate an instance of the input type rather than obtaining the input from some impure function).
In fact, you can think of any impure function as having three "steps": 1) An "input" side effect, Unit => B, a pure function (A,B) => C, and an "output" side effect C => Unit. It makes perfect software engineering sense to decouple these components - and that is exactly what is done in purely functional programming.
Let's look at a very simple example. Suppose I write a sort function, which sorts the input list in place. For this function, we have no input side effects. The pure core of this function is (conceptually) a sorting function that returns a new list. What is the output side effect? It is to rebind the name that the input list is bound to in the caller to the sorted version of the list. So if the caller were something like
def foo(list: ArrayList[Int]): Foo = {
...
sort(list)
...
}then sort will rebind the name list to the sorted version of that list. Since list is itself a parameter of foo, this rebinding will occur in the caller of foo, and possibly its caller, all the way out to the place where that list was originally declared. The question is, should the sort function really be making the decision about whether to do this? If we let the sort function make this decision, we're allowing it to make an assumption about the caller, namely, that the caller no longer intends to maintain references to the unsorted version of the list (an assumption which, incidentally, is not even tracked by the type system).My recent post on actors generated a lot of comments. I'll try to summarize some of them here and offer my responses.
To start, a number of people took issue with my working definition of actors, claiming that in implementation X, actors are composable. We can quibble about my definition, but I hope the deeper point was clear - side effects and state hurt composability and usage of actors as I defined them is stateful. James Iry has also made some of the same points about the statefulness of Erlang style actors.
But, if you don't like my definition, if you'd like to claim that an "actor" is actually just a function A => Future[B] and that therefore "actors" are composable, then I don't really have a problem with that (although, why call this model 'actors'? Why not call it 'functions from A => Future[B]' or 'the Kleisli arrow for futures'?). But if the actor model also includes the ability to asynchronously "send a message" to another arbitrary actor, and if the expression representing this message send does not evaluate to a future containing the result sent back by the receiving actor, then my subsequent arguments about the lack of composability still apply. The takeaway from my post, even if you think my definitions are bogus, shouldn't be "Aha!! Actors are okay! There is no issue with using them, even in stateful, non-composable ways".
This brings up another point - I don't think everyone commenting (both on my post and James' above) is working with the same ideas about what it means for a function or expression to be pure. The "standard" definition is that an expression (such as sending a message to an actor) is side-effect free if it is referentially transparent. And while there are some nuances to the definition of referential transparency, I think everyone familiar with the concept would agree that functions from A => Unit can't possibly be RT unless they are literally the constant unit function.
Looking through the various responses, I notice that no one really argued with my claim that side-effects hurt composability. I'd be interested if anyone can poke holes in my argument here (and by that I mean finding some problem with my logic, not disputing my definitions).
A number of people responded to my negative offhand remarks on OOP. Pointing out problems with OOP was not really the point of my post. Obviously I'm no fan of OOP and maybe someday I'll write more about that. The general point I was making is we should be wary of adopting a "better" technology without understanding the underlying problem that technology purports to solve. Doing so inevitably leads to solutions with a lot of incidental complexity that fail to even solve the underlying problems fully. For solutions like this, you'll often see advocates unable to really give a formal argument for why that solution is superior, instead falling back on pointing to particular examples, harping on how convenient certain things are, and gushing about various intangibles like how "beautiful" it is. There's nothing wrong with such advocacy, but if you cannot formalize your argument that one solution is better than another, chances are you do not fully understand the underlying problem and are therefore ignorant of whether some more direct, simpler solution exists.
Moving on, Chris Quenelle had this interesting comment, claiming that any form of explicit parallelism is unnecessary:
If your program is purely functional, the compiler can assign threads to whichever chunks of calculation it wants to. Hence you don't need actors. Or any other form of explicit parallelism. The purpose of explicit synchronization is to manage the timing of side-effects in the presence of parallelism.
Future monad, which is explicit in the sense that you have decide when you are writing code in that monad, but implicit in that it only requires that you indicate dependencies between computations, not specify how those computations are scheduled out to threads, how many threads are used, etc. But I believe this breaks down for distributed computation, where the topology of the concurrency is a static or semi-static structure that must be under the control of the programmer. I've also found the monadic style doesn't work so great for "pipeline" parallelism. But more on that in a later post.harryjohnston writes "The Register points out that the takedown of a significant number of Zeus command-and-control servers, which we discussed earlier, was a short-lived victory, as about one-third of the affected servers were back on the net in less than 48 hours." Adds itwbennet: "Just hours after network connectivity to Troyak was severed the ISP peered with a new upstream Internet service provider named Ya. The next step will be to 'de-peer' Troyak from its new service provider, either an ISP named Nassist or its upstream provider, Hurricane Electric, said a researcher familiar with the matter. 'We have taken some of their territory, they are trying to out flank us,' the researcher said via IM. 'We are going to win this one — we have 'em boxed in.'"
Read more of this story at Slashdot.
CWmike writes "Canadian interface design firm MetaLab has accused Mozilla of stealing user interface elements for a development tool in the browser maker's Jetpack project, which aims to simplify add-on making. MetaLab leveled the charges on Tuesday when the 11-person firm's founder, Andrew Wilkinson, blogged about the similarities between his company's designs and those posted by Mozilla for FlightDeck, a Jetpack editor. 'What they did was pretty ridiculous,' Wilkinson said on Thursday. 'There's a difference between inspiration versus ripping something off,' he said. 'The measurements of the graphic elements [Mozilla took from us] were the exact same, the very same pixels. When someone takes your images from the server hosting them, that's crossing the line.' Mozilla apologized to MetaLab on Wednesday, saying in a blog post, 'While the design direction being implemented does not utilize these design elements, we inadvertently included the early mockups in our blog post and video announcing the next phase of development for the Jetpack SDK ... We sincerely apologize to MetaLab for incorporating design elements from their web site in our early mockups and for posting them publicly without proper attribution.'" Alexander Limi of the Firefox User Experience Team points out that MetaLab has accepted the apology, too — worth bearing in mind.
Read more of this story at Slashdot.
nut writes "Everybody's favourite actor, author and starship captain is bringing some new ideas to the world of social networking. Myouterspace.com is, in the Captain's own words, '...a Sci Fi Social Network for those with a passion for the arts.' Facebook and Myspace should be worried. Sign up now. Go on, you know you want to."
Read more of this story at Slashdot.
MikeChino writes "A group of scientists from Germany's Fraunhofer Institute have devised a way to encode a visible-frequency wireless signal in light emitted by plain old desklamps and other light fixtures. The team was able to achieve a record-setting data download rate of 230 megabits per second, and they expect to be able to double that speed in the near future. While the regular radio-frequency Wi-Fi most of us use currently is perfectly fine, it does have its flaws — it has a limited bandwidth that confines it to a certain spectrum and if you've ever had someone leech off of your connection, you know that it also leaks through walls. LED wireless signals would theoretically have none of these downsides."
Read more of this story at Slashdot.
HvitRavn writes "SolarPHP 1.0 stable was released by Paul M. Jones today. SolarPHP is an application framework and library, and is a serious contender alongside Zend Framework, Symphony, and similar frameworks. SolarPHP has in the recent years been the cause of heated debate in the PHP community due to provocative benchmark results posted on Paul M. Jones' blog."
Read more of this story at Slashdot.
j00bhaka writes "I am a US citizen attending university in Nova Scotia, Canada. I currently have the Verizon America and Canada plan (also known as the North American plan). My bill is currently around $80-$100 per month. I chose this for a couple reasons. One, I have had my number for about 7 years. Two, I do not permanently live in Canada. I live in Canada for 8 months out of the year at school, then travel home for the summer months. Either way, I would be dealing with international roaming without having both countries in my plan. Currently, I obviously don't have a smartphone. Through Verizon, I could purchase one, and add their international unlimited data plan on top of my (already) hefty phone bill. I have looked into Telus and Rogers here in Canada and cannot find anything better. As a student, my budget is obviously limited. Is there any way to reasonably have (and utilize) a smartphone while I am living in both countries? If so, what do you suggest I do?"
Read more of this story at Slashdot.
An anonymous reader writes "Pennsylvania's chief information security officer Robert Maley has been fired for publicly talking about a security incident involving the Commonwealth's online driving exam scheduling system. He apparently did not get the required approval for talking about the incident from appropriate authorities."
Read more of this story at Slashdot.
Kanan excerpts from a BBC report out of Scotland: "A study of sexually scrambled chickens suggests that sex in birds is determined in a radically different way from that in mammals. Researchers studied three chickens that appeared to be literally half-male and half-female, and found that nearly every cell in their bodies — from wattle to toe — has an inherent sex identity. This cell-by-cell sex orientation contrasts sharply with the situation in mammals, in which organism-wide sex identity is established through hormones." Kanan also supplies this link to some pictures of the mixed-cell birds.
Read more of this story at Slashdot.
adeelarshad82 writes "T-Mobile announced that the webConnect Rocket USB Laptop Stick, the first HSPA+ device for the US, will be available beginning on Sunday, March 14. The device was originally announced at MWC in February. HSPA+ is interesting because it could enable 4G LTE-like speeds using existing 3G infrastructure and according to a hands-on, it smokes Wi-Max. Right now, it's still just for Philadelphia, although we should see several major cities light up with HSPA+ on both coasts well before the end of 2010."
Read more of this story at Slashdot.
The latest word on the iPhone is that the 4.0 OS will finally have honest-to-goodness multitasking. This could hopefully lead to things like a real chat client, and dangerous battery consumption. I still hope it's true.
Read more of this story at Slashdot.
Kolargol00 writes "Heise online reports the availability of an exploit (Google translation) for the yet-unpatched MSA-981374 affecting Internet Explorer 6 and 7. It has already been spotted in the wild by McAfee and integrated into the Metasploit Framework."
Read more of this story at Slashdot.
smooth wombat writes "Before the advent of iTunes and MP3s, EMI and Pink Floyd entered into a contract which stated that EMI could not unbundle individual songs from their original album settings. This was insisted upon by the members of Pink Floyd, who wanted to retain artistic control of their works, which they considered 'seamless' pieces of music. However, with the advent of digital downloads, EMI has been selling individual songs through its online store. Pink Floyd sued, claiming EMI was violating the contract, whereas EMI said the contract only applied to physical albums, not Internet sales. Judge Andrew Morritt backed the band, saying the contract protected 'the artistic integrity of the albums.' Judge Morritt also ruled EMI is 'not entitled to exploit recordings by online distribution or by any other means other than the complete original album without Pink Floyd's consent.'"
Read more of this story at Slashdot.
Barence writes "Speaking exclusively to PC Pro, Eugene Kaspersky has claimed Apple has repeatedly refused to deliver the software development kit necessary to design security software for the phone. 'We have been in contact for two years with Apple to develop our anti-theft software, [but] still we do not have permission,' said Kaspersky. Although he admits the risk of viruses infecting the iPhone is 'almost zero,' he claims that securing the data on the handset is critical, especially as iPhones are increasingly being used for business purposes. 'I don't want to say Apple's is the wrong way of behaving, or the right way,' Kaspersky added. 'It's just a corporate culture — it wants to control everything.'"
Read more of this story at Slashdot.
Lanxon writes "It's true: 'Effects of cocaine on honeybee dance behavior,' 'Fellatio by fruit bats prolongs copulation time,' and 'Are full or empty beer bottles sturdier and does their fracture-threshold suffice to break the human skull?' are all genuine scientific research papers, and all were genuinely published in journals or similar publications. Wired's presentation of a collection of the most bizarrely-named research papers contains seven other gems, including one about naval fluff and another published in The Journal of Sex Research."
Read more of this story at Slashdot.
lord_rotorooter writes "Felix Ortiz, D-Brooklyn, introduced a bill that would ruin restaurant food and baked goods as we know them. The measure (if passed) would ban the use of all forms of salt in the preparation and cooking of food for all restaurants or bakeries. While the use of too much salt can contribute to health problems, the complete banning of salt would have negative impacts on food chemistry. Not only does salt enhance flavor, it controls bacteria, slows yeast activity and strengthens dough by tightening gluten. Salt also inhibits the growth of microbes that spoil cheese."
Read more of this story at Slashdot.
A friend was trying to get some of her laptop's function keys working under Ubuntu, and that reminded me that I'd been meaning to do the same on my Vaio TX 650P.
My brightness keys worked automagically -- I suspected via the scripts in /etc/acpi -- and that was helpful in tracking down the rest of the information I needed. But it still took a bit of fiddling since (surprise!) how this stuff works isn't documented.
Update: That "isn't documented" remark applies to the ACPI system. Matt Zimmerman points out that there is some good documentation on the rest of the key-handling system, and pointed me to two really excellent pages: Hotkeys architecture and Hotkeys Troubleshooting. Recommended reading!
Here's the procedure I found.
First, use acpi_listen to find out what events are generated by the key you care about. Not all keys generate ACPI events. I haven't get figured out what controls this -- possibly the kernel. When you type the key, you're looking for something like this:
sony/hotkey SPIC 00000001 00000012You may get separate events for key down and key up. It's your choice as to which one matters.
Once you know the code for your key, it's time to make it do something. Create a new file in /etc/acpi/events -- I called mine sony-lcd-btn. It doesn't matter what you call it -- acpid will read all of them. (Yes, that means every time you start up it's reading all those toshiba and asus files even if you have a Lenovo or Sony. Looks like a nice place to shave off a little boot time.)
The file is very simple and should look something like this:
# /etc/acpi/events/sony-lcd-btn event=sony/hotkey SPIC 00000001 00000012 action=/etc/acpi/sonylcd.sh
Now create a script for the action you specified in the event file. I created a script /etc/acpi/sonylcd.sh that looks like this:
#! /bin/bash # temporary, for testing: echo "LCD button!" >/dev/console
Now restart acpid: service acpid restart if you're
on karmic, or /etc/init.d/acpid restart on earlier releases.
Press the button. If you're running from the console (or using a
tool like xconsole), and you got all
the codes right, you should be able to see the echo from your script.
Now you can do anything you want. For instance, when I press the LCD button I generally want to run this:
xrandr --output VGA --mode 1024x768
Or to make it toggle, I could write a slightly smarter script using xrandr --query to find out the current mode and behave accordingly. I'll probably do that at some point when I have a projector handy.
Het dagelijks consumeren van bijna drie ons rauwe groenten en vers fruit vermindert de kans op een beroerte met ruim een derde, zo is onlangs aangetoond door de Universiteit Wageningen. Daarom aten we hier deze hele week rauw.
Geen straf, wat mij betreft. Ik vind veel groenten in rauwe vorm zelfs lekkerder dan gaar. Bloemkool bijvoorbeeld, wordt al snel weeïg als je hem kookt. Geroosterd in de oven met een mengsel van olijfolie, komijn en chilipeper, of met Indiase massala gaat het al stukken beter. Maar telkens wanneer ik bloemkool op het menu heb staan, heb ik voordat hij de pan in gaat al minstens een derde opgesnoept, zo uit het vuistje.
Rauwe bloemkool heeft een heel andere, pittiger smaak dan gare bloemkool, en bovendien een prettige bite. Ik hoef je vast niet te vertellen dat kleine roosjes rauwe bloemkool heel geschikt zijn om te dopen in kaasfondue, in allerhande sausjes of gewoon in olijfolie met een paar vlokjes zeezout. Maar wist je dat je bloemkool ook grof kunt malen, hakken of raspen en dan verwerken in een salade?
Vandaag een van mijn favoriete recepten uit Casa Moro, het tweede kookboek van Sam en Sam Clark (Kosmos uitgevers): wintertabbouleh met rauwe bloemkool. De kaneel, verse munt en granaatappelsiroop geven er een warm Arabisch tintje aan. Granaatappelsiroop is een dikke, donkerbruine, zoetzure stroop van ingekookt granaatappelsap en te koop bij mediterrane winkels. Als je het niet kunt vinden, vervang het dan door balsamicosiroop of kook desnoods zelf balsamicoazijn in tot siroopdikte.
Voor 4 personen:
Doe de bulgur in een kom en voeg een snuf zout toe. Schenk er twee keer de hoeveelheid kokend water op. Dek af met een bord en laat de bulgur een uur staan. Meng voor de dressing de knoflook met de kaneel en granaatappelsiroop (of balsamico). Klop er een eetlepel water door en vervolgens de olijfolie, zodat een lobbig sausje ontstaat. Proef en maak de dressing verder op smaak met zout en versgemalen peper en zo nodig wat suiker. Laat de bulgur grondig uitlekken in een zeef. Hussel in een saladeschaal de bulgur, witlof, venkel, bloemkool, kruiden, walnoten en granaatappelpitten luchtig door elkaar. Meng er vlak voor het opdienen de dressing door, en proef nog even of er zout en peper bij moet.
"Pony Express," a Bulgarian mechanical horse (created by T.J. Tangpuz) is made out of discarded packaging, plastic ties, and other detritus, and it delighted the people of Oryahovo, Bulgaria with its regular perambulations, before it was moved to a gallery.

These beautiful, fanciful miniature cities built into household objects like power-strips and desk-fans are part of the graduate show at the Kyoto University of Art and Design. The artist is uncredited, but it's very lovely work.
Student Work | Kyoto University of Art and Design (via Cribcandy)
For 50 years, residents of the French village of Pont-Saint-Esprit have tried to understand the "cursed bread" incident, a moment of terrifying mass insanity and hallucinations that left at least five dead and dozens in asylums. Now the mystery is solved: the CIA secretly spiked the bread from the bakery with enormous quantities of LSD as part of its cold war mind-control experiments, at least according to recently uncovered documents. The allegation originates with H P Albarelli Jr., an investigative journalist who uncovered the documents while researching his forthcoming book, A Terrible Mistake: The Murder of Frank Olson and the CIA's Secret Cold War Experiments.
French bread spiked with LSD in CIA experiment (Thanks, Steve and everyone else who suggested this!)One man tried to drown himself, screaming that his belly was being eaten by snakes. An 11-year-old tried to strangle his grandmother. Another man shouted: "I am a plane", before jumping out of a second-floor window, breaking his legs. He then got up and carried on for 50 yards. Another saw his heart escaping through his feet and begged a doctor to put it back. Many were taken to the local asylum in strait jackets...
Scientists at Fort Detrick told him that agents had sprayed LSD into the air and also contaminated "local foot products".
Mr Albarelli said the real "smoking gun" was a White House document sent to members of the Rockefeller Commission formed in 1975 to investigate CIA abuses. It contained the names of a number of French nationals who had been secretly employed by the CIA and made direct reference to the "Pont St. Esprit incident." In its quest to research LSD as an offensive weapon, Mr Albarelli claims, the US army also drugged over 5,700 unwitting American servicemen between 1953 and 1965.
(Image: Shaw's French Bread, a Creative Commons Attribution photo from Adam Pieniazek's photostream)
DRIEBERGEN - Het Korps landelijke politiediensten (KLPD) waarschuwt weggebruikers voor nepgoudverkopers langs de snelwegen.
The Olympics are coming to London, so our civil liberties are going out the window: because nothing epitomises the spirit of global competition and cooperation like corporate bullying and unfettered truncheon-waving.
Eyes turn to "value for money" London 2012 (Thanks, Bobby!)Police will have powers to enter private homes and seize posters, and will be able to stop people carrying non-sponsor items to sporting events.
"I think there will be lots of people doing things completely innocently who are going to be caught by this, and some people will be prosecuted, while others will be so angry about it that they will start complaining about civil liberties issues," Chadwick said.
"I think what it will potentially do is to prompt a debate about the commercial nature of the Games. Do big sponsors have too much influence over the Games?"
(Image: More Riot Police a Creative Commons Attribution photo from Kashklick's photostream)
I must confess I don't remember who I got this invitation from. Anyway, if you are in the right geographic area, you might be interested. I will try to participate:
This is a year-long seminar that will be held the second Thursday every month at Fonoteca Nacional (a place I have wanted to visit for a long time!), in Barrio de Santa Catarina, Coyoacán. Among the organizers they have Creative Commons Mexico.
Free entrance (but limited space - so they ask interested people to confirm their presence by mail to bvallarta@conaculta.gob.mx).
[update] I went with Pooka to the first session. We arrived almost 1hr late (due to me mistaking the schedule :-/ ) but it was interesting. Of course, quite biased towards the Google viewpoints, but interesting. We got the program for the next sessions — So, mostly for myself to keep handy, here it goes:
| Date | Title | Speakers |
|---|---|---|
| 2010-03-11 | Google and copyright | Manuel Tamez, Hugo Contreras, María Fernanda Mendoza |
| 2010-04-08 | Generalities about rights on intelectual property | Jesús Parets, Guillermo Solórzano, Jorge Mier y Concha |
| 2010-05-13 | Copyright's nature and competent authorites | Carmen Arteaga, Luis Schmidt, César Callejas |
| 2010-06-10 | Moral and patrimonial rights | Guillermo Pous, Eduardo de la Parra, Ramón Obón |
| 2010-07-08 | Reproduction rights for audible material | Álvaro Hegewisch, Óscar Javier Solorio, Marco Antonio Morales, José Ramón Cárdeno |
| 2010-08-12 | Licenses and patrimonial right transmission. Works for hire, works done under laboral relationship, or carried out in official service | Dolores Franco, Jesús Mejía, Raúl Pastor |
| 2010-09-09 | Limits to explotation rights and literary plagiarism | Carmen Arteaga, Juan Ramón Obón, Jorge Mier y Concha, César Callejas |
| 2010-10-14 | Copyright in a digital setting | Jesús Parets, Gastón Esquivel |
| 2010-11-11 | Law-regulated intelectual property rights | Rosalba Elizalde, Salvador Ortega, Gastón Esquivel, Manrique Moheno |
| 2010-12-09 | International protection and collective gestive societies | Horacio Rangel, Luis Schmidt, Jesús Mejía |
AMSTERDAM – De mogelijke ontvoering van de 12-jarige Millie Boele uit Dordrecht is vastgelegd op video.
Gerelateerd nieuws:
- Amber Alert voor Dordts meisje
Former Republican vice presidential candidate Sarah Palin will testify in person against the college student accused of breaching her Yahoo mail account and leaking some of its contents online, according to published reports.…
NEW YORK - De gemeente New York heeft een akkoord over compensatie bereikt met advocaten van reddingswerkers die na de terreuraanslagen van 11 september 2001 werden ingezet.
Gerelateerd nieuws:
- Slachtoffers september 2001 geïdentificeerd
- New York herdenkt 9/11 bij bouwput
AMSTERDAM - Oud-politicus Hans van Mierlo is donderdag overleden. De D66-coryfee is 78 jaar geworden.
DEN HAAG - D66-leider Alexander Pechtold noemt de dood van Hans van Mierlo een 'groot verlies'. "Hij was meer dan een politicus. Hij was een warm mens, een inspirator voor velen en een democraat in hart en nieren", aldus Pechtold in een eerste reactie.
Gerelateerd nieuws:
- Hans van Mierlo overleden
Besides the new RcppExamples,
another new package RcppArmadillo got spun out of
Rcpp
with the
recent release 0.7.8 of Rcpp.
Romain and I already had an example of a simple but fast linear model fit using the (very clever) Armadillo C++ library by Conrad Sanderson. In fact, I had used this as a motivational example of why Rcpp rocks in a recent talk to the ACM chapter at U of Chicago which, thanks to David Smith at REvo, got some further exposure.
Now this example is more refined as further glue got added. Given that both Armadillo and Rcpp make use of C++ templates, the actual amount of code in RcppArmadillo is not that large: just over 200 lines in a header file, and a little less for some testing accessor and example functions in a source file. And this makes for some really nice example code: the 'fast regression' example becomes this (where I simply removed two blocks with conditional on the Armadillo version):
#include <RcppArmadillo.h> extern "C" SEXP fastLm(SEXP ys, SEXP Xs) { Rcpp::NumericVector yr(ys); // creates Rcpp vector from SEXP Rcpp::NumericMatrix Xr(Xs); // creates Rcpp matrix from SEXP int n = Xr.nrow(), k = Xr.ncol(); arma::mat X(Xr.begin(), n, k, false); // reuses memory and avoids extra copy arma::colvec y(yr.begin(), yr.size(), false); arma::colvec coef = solve(X, y); // fit model y ~ X arma::colvec resid = y - X*coef; // residuals double sig2 = arma::as_scalar( trans(resid)*resid/(n-k) ); // std.error of estimate arma::colvec stderrest = sqrt( sig2 * diagvec( arma::inv(arma::trans(X)*X)) ); Rcpp::Pairlist res(Rcpp::Named( "coefficients", coef), Rcpp::Named( "stderr", stderrest)); return res; }
No extra copies! Armadillo instantiates directly from the underlying R objects for the vector and matrix, solves the regression equations, computes the standard error of the estimates and returns the two vectors. Leaving us to write about eleven lines of code. Moreover, as Armadillo is well designed and uses template meta-programming to avoid extra copies (see these lecture notes for details), it is about as efficient as it can be (and will use Atlas or other BLAS where available).
And, this is just one example. Rcpp should be suitable for other C++ libraries, and provides an easy to use seamless interface between C++ and R.
However, we should note that (at about the last minute) we found out about some unit test failures in OS X as well as some issues in a Debian chroot -- cran2deb ran into some build issues on i386 and amd64 in the testing chroot even this 'it all works' swimmingly on our Debian, Ubuntu and Fedora build environments. A follow-up with fixes for either Rcpp and/or RcppArmadillo appears likely.
Update: The build issues seems to be with 64-bit systems and everything appears cool in 32-bit.
Everyone is what they preach: pragmatism, fatalism, pessimism. My end is contained in my beginning: predestined, foreshadowed, prescribed. Drugs win drug war. Recalling a lifetime of selective self-destruction, I die alone, simultaneously over– and under-medicated.
Death is another day; the object of life is to cheat it. “The years are like octaves, scales descending the keyboard.” Days, months, years, a process of continually arrested falling. Gravity, thou art a heartless bitch. How can you keep from falling forever? Ridiculous. So at last, the future cries “Enough!” and slams its fist on the acrostic.
Clotho, Lachesis, Atropos. Someday my funeral will be videotaped and released under a Creative Commons license. Eulogy for a writer: viewed 1 time. Even Chapin did better than that. “The scene at the graveyard, just three of us were there / Me and the gravedigger, we heard the parson’s prayer / He said we need not grieve for this man, for we know that God cares.” So at last, the future cries “Enough!” and slams its fist six feet into the ground.
Drug abuse is punishable by twenty years in federal prison. Never ends, that drug war; it just goes round and round. Don’t do drugs, kids, unless you want to end up like Michael Phelps — eight gold medals BUT NO FUCKING CEREAL CONTRACT. That’s a tossup.
Parenting is tough. How do I explain that drugs are bad but I turned out okay? Yet I still expect to die from them someday, but maybe not this year because I’m currently between addictions? Since before they were born, their daddy’s medicine cabinet has been full of drugs, but those don’t count because they’re legal. Like Oxy? Yeah, that’s Schedule II and addictive as fuck, but it’s all good if a doctor scribbles something on a piece of paper. Really? You don’t remember that lesson from health class in junior high? Hmm, must’ve been sick that week.
Kids-of-the-future-who-have-learned-to-read, there’s no Oxy in the medicine cabinet. Three other daily medications, yes. Schedule II painkillers, no. Or even Schedule III. I did have something strong when I had that kidney stone for a month, though. How can you have a kidney stone for a whole month, I hear you cry? You don’t want to know. Weeks in constant pain, and the motherfucker just Would Not Pass. Surgeons had to go in after it. Through… the… anyway, it was unpleasant is what I’m saying. Got to spend several weeks in bed, on so many painkillers I couldn’t sleep or shit anymore, all because some 6-millimeter motherfucking lump got stuck in some less-than-6-millimeter motherfucking passageway that I had problems even motherfucking pronouncing. Growing old is awesome.
“Enough!” cries the future, and slams its fist on the malapropism.
“My Corey’s coming / No more sad stories coming.”
God, if you’re listening, this guy’s walking down a street, when he falls in a hole. Everything else is great, but this hole, God, it makes no sense to me. Every time I try to fill it, it just gets deeper. Realized that a long time ago, standing at the bottom looking up. Probably could’ve benefited from a warning sign at the top, is what I’m saying. Gods, games, and legerdemain. “Nobody else could have fallen in this way, as this hole was meant only for you.” Utter tripe, balderdash, sound and fury, stuff and nonsense.
Eulogy for a writer: I guess he finally got the last word.
Don’t take it too seriously. You’ll never make it out alive.
Mississippi's Itawamba County school district has cancelled a prom after Constance McMillen, an 18-year-old student, asked permission to bring her girlfriend as her date. The student planned to wear a tux. The school district's bureaucratic non-excuse for the cancellation is that it's "due to the distractions to the educational process caused by recent events." The district appears to be tap-dancing around the reason for the cancellation in an effort to avoid openly saying "We are scared of teh ghey," since that would open them up to legal liability. The ACLU isn't buying it. They've told the school district that they've got until Wednesday to change the policy or else.
Miss. school prom off after lesbian's date request"A bunch of kids at school are really going to hate me for this, so in a way it's really retaliation," McMillen told The Clarion-Ledger of Jackson. Calls to McMillen by The Associated Press late Wednesday went unanswered...
The ACLU said McMillen approached school officials shortly before the memo went out because she knew same-sex dates had been banned in the past. The ACLU said district officials told McMillen she and her girlfriend wouldn't be allowed to arrive together, that she would not be allowed to wear a tuxedo, and that she and her girlfriend might be asked to leave if their presence made any other students "uncomfortable."
McMillen said she feared she would be thrown out of the prom because "we do live in the Bible Belt."
ACLU Demands Mississippi School Allow Lesbian Student To Attend Prom With Girlfriend
(Thanks, Steve!)
Filmmaker Kathryn Bigelow, who won Best Director and Best Picture Oscars for Hurt Locker this week, "was a member in good standing of the [NYC] punk scene of the late '70s and early' 80s," according to Paper Mag. (via Cate Park)
Embedded here, a little teaser video for The Story of Bottled Water, created by the same people behind "The Story of Stuff" (Wikipedia). Looks neat. I'm a big fan of tap water. I spend a fair amount of time in very poor communities in poor countries, with people who don't have access to safe drinking water. For them, like us, water is life—but it's also scarce or intermittent, contanimated, and a source of disease and death. I always come home feeling totally WTF'd at our obsession with bottled water, when our tap water is so accessible and among the world's purest.
(via Glen E. Friedman)
Note the conspicuous lack of smut! Frame from a Seattle Post-Intelligencer gallery of Playboy founder hugh Hefner's teenage doodles, sent to his high school sweetheart friend Jane Sellers in the early 1940s. The full collection is for sale at $250,000, from rare book dealer Lux Mentis (who will send you a PDF listing collection contents upon request).
Update: Ian J. Kahn of Lux Mentis Booksellers tells Boing Boing,
I should point out that Hugh and Jane did not date. He dated her best friend and she his...the four were the core of what they called "The Gang". The really interesting element is that as he evolved into "HH", this group of high school friends served as a touchstone...they were the ones who loved him *before*...and he turned them off and on for many, many years. My favorite story out of this is that Jane and the other girls would go over to Hugh's to read "School Daze" to see which of their boyfriends were "stepping out"...Hugh did not edit *anything*. He took notes during the day as to what people were wearing so he could sketch them accurately that evening. It is a remarkable visual diary.(Via Roger Ebert)
Google's bike maps are "filled with potentially fatal flaws, including routes that cut across Central Park's treacherous transverse roads and steer cyclists through truck-riddled thoroughfares." New York Post, Information Week.
I’m currently using an old version of NetNewsWire Lite; I stopped upgrading when the NewsGator thing happened, because I didn’t want a third-party service involved. Unfortunately, it doesn’t support Atom 1.0, has some UI glitches, and doesn't provide any nice way to notice when a feed is dead.
Requirements:
Nice things:
(This list was written in a hurry; I may revise it as I think of additional requirements.)
I called the our hotel representative today because I was confused about why we had a deadline of 03/11 on the room discount. I was trying to push them to extend the date because we had met our room quota and I was wondering why they were trying to shut down the discount. Apparently, not only have we met our room quota, but the hotel is reaching capacity!
If you have not booked your hotel room for PostgreSQL Conference East 2010, now is definitely the time! If you do not book soon, you will be staying at another hotel (of course, you are still welcome to the conference).
django-moderation is reusable application for Django framework, that allows to moderate any model objects.
Code can be found at http://github.com/dominno/django-moderation
Possible use cases:
Features:
Requirements
python >= 2.4
django >= 1.1
Installation
Download source code from http://github.com/dominno/django-moderation and run installation script:
$> python setup.py install
Configuration
Add to your INSTALLED_APPS in your settings.py:
moderation
Run command manage.py syncdb
Register Models with moderation
from django.db import models import moderation class YourModel(models.Model): pass moderation.register(YourModel)
Register admin class with your Model
from django.contrib import admin from moderation.admin import ModerationAdmin class YourModelAdmin(ModerationAdmin): """Admin settings go here.""" admin.site.register(YourModel, YourModelAdmin)
If you want to disable integration of moderation in admin, add admin_intergration_enabled = False to your admin class:
class YourModelAdmin(ModerationAdmin): admin_intergration_enabled = False admin.site.register(YourModel, YourModelAdmin)
How django-moderation works
When you change existing object or create new one, it will not be publicly available until moderator approves it. It will be stored in ModeratedObject model.
your_model = YourModel(description='test') your_model.save() YourModel.objects.get(pk=your_model.pk) Traceback (most recent call last): DoesNotExist: YourModel matching query does not exist.
When you will approve object, then it will be publicly available.
your_model.moderated_object.approve(moderatated_by=user, reason='Reason for approve') YourModel.objects.get(pk=1) <YourModel: YourModel object>
You can access changed object by calling changed_object on moderated_object:
your_model.moderated_object.changed_object <YourModel: YourModel object>
This is deserialized version of object that was changed.
Now when you will change an object, old version of it will be available publicly, new version will be saved in moderated_object
your_model.description = 'New description' your_model.save() your_model = YourModel.objects.get(pk=1) your_model.__dict__ {'id': 1, 'description': 'test'} your_model.moderated_object.changed_object.__dict__ {'id': 1, 'description': 'New description'} your_model.moderated_object.approve(moderatated_by=user, reason='Reason for approve') your_model = YourModel.objects.get(pk=1) your_model.__dict__ {'id': 1, 'description': 'New description'}
Email notifications
By default when user change object that is under moderation, e-mail notification is send to moderator. It will inform him that object was changed and need to be moderated.
When moderator approves or reject object changes then e-mail notification is send to user that changed this object. It will inform user if his changes were accepted or rejected and inform him why it was rejected or approved.
How to overwrite email notification templates
E-mail notifications use following templates:
Default context:
content_type - content type object of moderated object
moderated_object - ModeratedObject instance
site - current Site instance
How to pass extra context to email notification templates
If you want to pass extra context to email notification methods you new need to create new class that subclass BaseModerationNotification class.
class CustomModerationNotification(BaseModerationNotification): def inform_moderator(self, subject_template='moderation/notification_subject_moderator.txt', message_template='moderation/notification_message_moderator.txt', extra_context=None): '''Send notification to moderator''' extra_context={'test':'test'} super(CustomModerationNotification, self).inform_moderator(subject_template, message_template, extra_context) def inform_user(self, user, subject_template='moderation/notification_subject_user.txt', message_template='moderation/notification_message_user.txt', extra_context=None) '''Send notification to user when object is approved or rejected''' extra_context={'test':'test'} super(CustomModerationNotification, self).inform_user(user, subject_template, message_template, extra_context)
Next register it with moderation as notification_class:
moderation.register(YourModel, notification_class=CustomModerationNotification)
Signals
moderation.signals.pre_moderation - signal send before object is approved or rejected
Arguments sent with this signal:
sender - The model class.
instance - Instance of model class that is moderated
status - Moderation status, 0 - rejected, 1 - approved
moderation.signals.post_moderation - signal send after object is approved or rejected
Arguments sent with this signal:
sender - The model class.
instance - Instance of model class that is moderated
status - Moderation status, 0 - rejected, 1 - approved
Forms
When creating ModelForms for models that are under moderation use BaseModeratedObjectForm class as ModelForm class. Thanks to that form will initialized with data from changed_object.
from moderation.forms import BaseModeratedObjectForm class ModeratedObjectForm(BaseModeratedObjectForm): class Meta: model = MyModel
Any comments ? Feedback ? Feature requests ?
A former data analyst for the US Transportation Security Agency has been accused of trying to sabotage a terrorist screening database used to vet people with access to sensitive information and secure areas of the nation’s transportation network.…
Rich Gibson of the Gigapan project stopped by the Make offices today and showed me some of the cool super high res photos he's got online. The barnacle is mind blowing. Be sure to view the full image at GigaPan.org
This barnacle Nano Gigapan is really cool. Take your time, really zoom in and explore this one. The barnacle was found washed up on the back of a crab shell at Mendocino's big river beach. In this Nano Gigapan you can see the crab shell around the base of the barnacle.The penny is really neat, too. Rich said he will soon write a post explaining how he takes these photos.
This image is composed of 384 pictures taken with a scanning electron microscope, which took me around 5-6 hours to capture. The barnacle is magnified 800x.
From Romenesko: "NPR blogger uses all of Tribune CEO's banned words in one sentence"
He lent a helping hand to a legendary incarcerated pedestrian lone gunman (the perpetrator who over in a neighboring state, perished in a perfect storm of no brainers and things that went terribly wrong, and was plagued by killing sprees in which he gave 110% only to have his senseless murders marred by the untimely deaths of guys and folks whose fatal deaths came in the wake of auto accidents....
Hi folks,
I am coming to DebConf10!
In addition to New York, I’ll also be in San Francisco and Seattle.
And here’s my travel plan to go with it:
Depart: Zurich (ZRH), 19:45 CEST, Arrive: Paris (CDG), 21:10 CEST
Air France 5109 – Aircraft Avro RJ85 Avroliner – nonstop 1h, 25m 475 km Class K
Depart: Paris (CDG), 10:40 CEST, Arrive: San Francisco (SFO), 12:50 PDT
Air France 84 – Aircraft Boeing 747-400 – nonstop 11h, 10m 8,958 km Class H seat 25A
Depart: San Francisco (SFO), 07:00 PDT, Arrive: Seattle (SEA), 09:00 PDT
Virgin America 740 – Aircraft Airbus A319 – nonstop 2h, 00m 1,090 km
Depart: Seattle (SEA), 07:00 PDT, Arrive: San Francisco (SFO), 09:15 PDT
Virgin America 751 – Aircraft Airbus A319 – nonstop 2h, 15m 1,090 km
Depart: San Francisco (SFO), 23:05 PDT, Arrive: New York (JFK), 07:50 EDT(+1 day)
Virgin America 28 – Aircraft Airbus A320-100/200 – nonstop 5h, 45m 4,150 km
DebConf10!
Depart: New York (JFK), 19:05 EDT, Arrive: Paris (CDG), 08:35 CEST(+1 day)
Air France 7 – Aircraft 388 – nonstop 7h, 30m 5,829 km Class V seat 86A
To get an up to date version of my travel plans, visit the TripIt page:
http://www.tripit.com/trip/public/id/4CE972068378
I’m looking forward to getting as many of our Google Summer of Code students as possible at the DebConf.
See you in the US!
tbcpp writes "The Khronos Group has announced the release of the OpenGL 4.0 specification. Among the new features: two new shader stages that enable the GPU to offload geometry tessellation from the CPU; per-sample fragment shaders and programmable fragment shader input positions; drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention; shader subroutines for significantly increased programming flexibility; 64-bit, double-precision, floating-point shader operations and inputs/outputs for increased rendering accuracy and quality. Khronos has also released an OpenGL 3.3 specification, together with a set of ARB extensions, to enable as much OpenGL 4.0 functionality as possible on previous-generation GPU hardware."
Read more of this story at Slashdot.
abartels writes "It seems like there's been nothing but bad news and resignations coming from Oracle since it finally managed to close the deal on Sun. Finally, there's good news in that Drizzle seems to have a bright future ahead. It just isn't with Oracle, but with the Rackspace Cloud."
Read more of this story at Slashdot.
The adorable little boy in this video, whose name is Calen, is sorting out what it means when two fellas get married to one another.
At one point, while face-palming, he says pensively: "I always see husbands and wifes, but this is the very first time I saw husbands and husbands! That's so funny. So—so you love each other! [...] I'm gonna go play now."
Video: Husbands and Husbands. Flip-cammed and uploaded by YouTube user TheColonelFrog.
Alternate video url 1, and Alternate video url 2.
(Dangerous Minds via Oh Have You Seen This, thanks Tara McGinley!).
Visit our new online store, filled with a hand-picked selection of books, toys, games, gadgets and miscellaneous tat that we like. It uses Amazon's platform, which means that we get paid with referral fees cut from their end: the prices to you are the same as usual. We're going to regularly prune it, too, so that the choices are fresh!
Now in the Boing Boing Bazaar: chunks of aerogel! $50 buys you a pair of aerogel discs.
Silica aerogel, the infamous and ethereal material comprised of up to 99.98% air, can be yours at last. Known for its superinsulating abilities, ultralow density, and its use on the Mars rovers, silica aerogel is just one member of the amazing class of materials known as aerogels, which promise to revolutionize everything from buildings to electric energy storage to hydrogen to lightweight structures.These discs here are the old-fashioned "Classic Silica" flavor of aerogel and are composed of 96% air. While in principle capable of supporting 2000 times their weight in applied force, remember that 2000 times almost nothing is a small number, and that in its classic form, silica aerogel is fragile. This form factor of aerogel, what we call "monolithic" aerogel, is best for curiosity, display, shooting lasers through, etc.
Aerogel chunks in Boing Boing Bazaar
Motorola will soon push Microsoft's Bing search engine onto Android phones in China, after announcing an alliance with the Redmond software giant that will see Bing appear on Androids across the globe.…
DEN HAAG - D66-leider Alexander Pechtold noemt de dood van Hans van Mierlo een 'groot verlies'. "Hij was meer dan een politicus. Hij was een warm mens, een inspirator voor velen en een democraat in hart en nieren", aldus Pechtold in een eerste reactie.
Gerelateerd nieuws:
- Hans van Mierlo overleden
WASHINGTON - De Amerikaanse president Barack Obama heeft het geld dat hij kreeg als onderdeel van de Nobelprijs voor de Vrede in 2009 gedoneerd aan tien goede doelen.
Gerelateerd nieuws:
- Recordaantal kandidaten Nobelprijs voor Vrede
- 'Anderen verdienen Nobelprijs meer'
More than ever, governments around the world are threatening online free expression. Forty countries have taken measures to limit this freedom, up from only a handful a few years ago. Google and YouTube services are or have been blocked in 25 of those nations.
On Thursday night in Paris, we took an important step to highlight this crucial issue by sponsoring the first Netizen Prize (or more elegantly, “Le Prix de Net Citoyen”) awarded by the Paris-based advocacy group Reporters Without Borders. And on Friday, March 12, we’ll be helping highlight the fight for Internet freedom by marking the group’s World Day Against Cyber Censorship on YouTube.
Fittingly, Reporters Without Borders chose to give the first Netizen Prize to the Iranian creators of the website Change for Equality, first established in 2006 to fight for changes in laws in Tehran that discriminate against women. That site has since become a well-known source of information on women’s rights in Iran, documenting arrests of women activists and becoming a rallying point for opponents of the regime.
Over the past year those leaders in Tehran have distinguished themselves — and earned the opprobrium of people all over the world — for their brutal crackdown on the rights of its critics to question their rule. Last year's killing of unarmed Neda Agha-Soltan during post-election protests in Tehran, seen around the world on amateur video, has become a symbol of the regime's ferocity — and the power of the Internet to reveal what governments do not want the world to see.
At the award ceremony in our Paris office, our Senior Vice President David Drummond said that we are at a critical point in the future of the Internet: "All of us have a choice. We can allow repressive policies to take flight and spread across the globe, or we can work together against such challenges and uphold the fundamental human right to free expression.”
David went on to praise the role of NGOs like Reporters Without Borders, the Obama Administration’s commitment to the promotion of Internet freedom and the efforts of all groups that have joined the Global Network Initiative. Under the initiative, major U.S. Internet companies, human rights group, socially responsive investors and academic institutions agreed to guidelines promoting free expression and protecting the privacy of their users around the world. “In the spirit of the undiplomatic American come to European shores," he said, "let me make a plea for European governments, companies and groups to rise to the occasion. Any effort that is limited to the United States is bound to fall far short of its global potential.”
Like many of you out there, we’re gearing up for the SXSW Interactive Festival, which starts tomorrow, March 12 in Austin, TX. In just a few short hours, dozens of Googlers and YouTubers will be descending on Austin for a packed weekend of panels, demos and parties. Of course, we’ve also got a few fun things up our sleeve:
Jalopnik reports that "James Sikes, the San Diego runaway Toyota Prius driver, filed for bankruptcy in 2008 and now has over $700,000 in debt. According to one anonymous tipster, we're also told he hasn't been making payments on his Prius." So was his story a fake? (via Chris Anderson)
Today is the deadline for the special room rate at the hotel hosting this month's PostgreSQL Conference East 2010. If you've been procrastinating booking a spot at the conference, as of tomorrow that will start costing you.
My talk is on Database Hardware Benchmarking and is scheduled for late afternoon on the first day, Thursday March 25th. Those who might have seen this talk before, either live at PGCon 2009 or via the video link available there, might be wondering if I'm going to drag out the same slides and talk again. Not the case; while the general philosophy of the talk ("trust no one, run your own benchmarks") stays the same, the examples and test mix suggested have been updated to reflect another year worth of hardware advances, PostgreSQL work, and my own research during that time. The Intel vs. AMD situation in particular has changed quite a bit, requiring a new set of memory benchmarks to really follow what's going on now.
And PostgreSQL 9.0 fixed a major problem that kept it from normally delivering accurate results on Linux, due to a kernel regression that made much worse an already far too common situation: it's easy for a single pgbench client to become the bottleneck when running it, rather than the database itself. The review I did for multi-threaded pgbench (which can also be multi-process pgbench on systems that don't support threads) suggested a solid >30% speedup even on systems that didn't have the bad kernel incompatibility on them. Subsequent testing suggests it can easily take 8 pgbench processes to get full throughput out of even inexpensive modern processors under recent Linux kernels. I'll go over exactly how that ends up playing out on such systems, and how this new feature makes it possible again to use pgbench as the primary way to measure CPU performance running the database.
Recently I've also made an updated to the git repo for pgbench-tools that adds working support for PostgreSQL 8.4 and basic 9.0 compatibility, and the next update will include support for the multi-threaded option now that I've mapped out how that needs to work. This is all leading somewhere. Once we have accurate measurements for PostgreSQL performance that are CPU limited on the server side, something that hasn't often been the case for over two years now, those again become a useful way to monitor for performance regressions in the PostgreSQL codebase. The tests included will need to expand for that to cover more eventually, but for now we've reached a point where pgbench can be used to find regressions that impact how fast simple SELECT statements execute. I know that works as expected, because every time I accidentally build PostgreSQL with assertions on that's caught because I see the average processing rate drop dramatically.
Once I've got a couple of systems setup here to test for such regressions, the question becomes how to automate what I'm doing, and then to do the same thing against a wider range of build checkouts. Ideally, you'd be able to see a graph of average SELECT performance each day, broken down by version, so that when a commit that reduced it was introduced it would immediately be obvious when the performance dropped. This is the dream goal for building a performance farm similar to the PostgreSQL buildfarm. The pieces are almost all together now: my pgbench parts are wrapping up, extensions to the buildfarm to make it speak directly to git are moving along (not a requirement, but nobody working on this project wants to use CVS if we can avoid it), and the main thing missing at this point is someone to put the time in to integrate what I've been doing into a buildfarm-like client.
And it looks like we now have a corporate sponsor willing to help with that chunk of work, who I'll let take credit for when we're all done, and that's scheduled to happen this summer. I fully expect that PostgreSQL 9.1 development, and 9.0 backpatching, is going to happen with an early performance farm in place to guard against performance regressions. If we can backport the new multi-threaded pgbench to older PostgreSQL versions we might include them in the mix as well. I already have a backport of the 8.3 pgbench, which has a lot of improvements, I maintain just for testing 8.2 systems. With pgbench as a fairly standalone contrib module, it's possible to build a later one different from the rest of the system, so long as it doesn't expect newer database features to exist too.
If that's something you're interested in, my talk at the conference is going to map out the foundations I expect it to be built on. Regardless, hope you can make it to conference and enjoy the long list of talks being presented there.
Like just about everyone else, we’ve written our own suite of tools to help with building complex content management systems in Django here at Caktus. We reviewed a number of the existing CMSes out there, but in almost every case the navigation and page structure were so tightly coupled the system broke down when [...]
Cache Machine: Automatic caching for your Django models. This is the third new ORM caching layer for Django I’ve seen in the past month! Cache Machine was developed for zamboni, the port of addons.mozilla.org to Django. Caching is enabled using a model mixin class (to hook up some post_delete hooks) and a custom caching manager. Invalidation works by maintaining a “flush list” of dependent cache entries for each object—this is currently stored in memcached and hence has potential race conditions, but a comment in the source code suggests that this could be solved by moving to redis.
Despite the fact that I began my career in science doing research on Magellan images of Venus, I've often avoided Venus sessions at the Lunar and Planetary Science Conference because they've tended to be pointlessly contentious.
Bondarenko's work indicated it was currently warmer than you would predict if it were an old, cooled flow. Of course I had to dig into the Magellan data to produce an image of this flow. I didn't realize until I dug into the data how large this flow is; it's approximately equivalent in scale to the Mississippi River watershed. If that all came out as part of one volcanic episode, wow. And Venus is just covered with these things.
Guess which party is to blame for American problems in the field of education?
made America the freest, most prosperous, most generous, most exceptional nation in the history of the world
| Feed | RSS | Last fetched | Next fetched after |
|---|---|---|---|
| ..::Planet PostgreSQL::.. | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Boing Boing | XML | Fri 2010-03-12.13:53 | Fri 2010-03-12.14:12 |
| Charlie's Diary | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Cute Overload | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Dabble DB Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Dan's Data | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Debian GNU/Linux System Administration Resources | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| dive into mark | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Everybody loves Eric Raymond | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| feed://http//benheck.com/feed | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Google Maps API Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Grumpy Gamer | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Guido van Rossum's Weblog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Haskell :: Reddit | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Haskell hacking | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Hathaway Weblog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://ansuz.sooke.bc.ca/bonobo-conspiracy/?i=749 | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://blog.llvm.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://blog.patch-tag.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://blog.sigfpe.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://cakewrecks.blogspot.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://canonware.com/~ttt/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://cgi.cse.unsw.edu.au/~dons/blog/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://failblog.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://gadgets.boingboing.net/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://gnu.wildebeest.org/diary/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://io9.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://joost.zeekat.nl/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://kenmacleod.blogspot.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://lenovoblogs.com/insidethebox/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://offline.asp4all.nl/VPRO_Main/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://openfortress.nl/news/security.rss | XML | Fri 2010-03-12.13:13 | Fri 2010-03-12.14:13 |
| http://planet.dsource.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://planet.haskell.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://planet.ocamlcore.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://planet.python.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://slice.seriouseats.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://slice.seriouseats.com/archives/2008/01/a-list-of-regional-pizza-styles.html | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://tubbypaws.blogspot.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://valhenson.livejournal.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://wii.ign.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.afff.nl | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.alistapart.com/site/feed | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.foodlog.nl/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.janchipchase.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.kathrynelliott.com.au/blog/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.offworld.com/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.stephenfry.com/blog/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://www.xs4all.nl/opinie/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| http://x42.org/ | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| I, Cringely . The Pulpit | PBS | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| JJinuxLand | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Joel on Software | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Koken» Kookblog nrc.next door Janneke Vreugdenhil | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Lambda the Ultimate - Programming Languages Weblog | XML | Fri 2010-03-12.13:13 | Fri 2010-03-12.14:13 |
| Learning jQuery | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| LWN.net | XML | Fri 2010-03-12.13:13 | Fri 2010-03-12.14:13 |
| Mark J. Wielaard | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Mono Project News | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| More Words, Deeper Hole | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| myOpenID - OpenID Site Directory | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| nixCraft Linux Sys Admin Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| nu.nl - Algemeen | XML | Fri 2010-03-12.13:53 | Fri 2010-03-12.14:12 |
| nu.nl - Internet | XML | Fri 2010-03-12.13:53 | Fri 2010-03-12.14:12 |
| OpenBSD Journal | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Planet Debian | XML | Fri 2010-03-12.13:13 | Fri 2010-03-12.14:13 |
| Planet Haskell | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Planet Jabber | XML | Fri 2010-03-12.13:13 | Fri 2010-03-12.14:13 |
| planet.jquery.com | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Play This Thing | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Rick van Rein's Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Schneier on Security | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Shallow Thoughts | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Simon Willison's Weblog Entries | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Slashdot | XML | Fri 2010-03-12.13:53 | Fri 2010-03-12.14:12 |
| The Daily WTF | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The Django community aggregator | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The Django weblog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The Early Days of a Better Nation | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The H - Grand unified feed | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The Official Google Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The OpenBTS Chronicles | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| The Register | XML | Fri 2010-03-12.13:53 | Fri 2010-03-12.14:12 |
| Tweakers.net Mixed RSS Feed | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Wadler's Blog | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Webwereld | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Wiskundemeisjes | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| www.vegtervrugt.nl | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| xkcd.com | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |
| Zone 5300 | XML | Fri 2010-03-12.11:13 | Fri 2010-03-12.14:13 |