Planet DokuWiki



July 24, 2008

Mobility

May I present thee my first car?

It's a Nissan Almera N16 Hatchback, manufactured in 2000 (which btw. will celebrate its eighth birthday tomorrow as I just realized), and its mine =)

I just drove it for the first time from Friedberg (where I bought it) to Darmstadt1) – that was my first long distance drive since I got my license back in September, and I was bloody nervous but calmed down thankfully after I discovered that I still can drive.

Grocery shopping and getting to places in general just got a whole lot easier2).

1) thankfully not alone, thanks Mom for that wonderful job as my fellow passenger!
2) as soon as I get that skepticism regarding my driving skills out of the way, it still takes a couple of minutes before I enjoy driving ;-)
Read or add comments to this article

by foosel at July 24, 2008 05:20 PM

July 23, 2008

Project Wonderful - The Bottom Line

About 4 months ago I started to use Project Wonderful in addition to Adsense. I promised to follow up with a second post on the performance of this alternative ad publisher.

Well, here are the numbers:

Project Wonderful Earnings

That's right, I earned $15 over 4 months and prices went down over recent months. Not very satisfying.

Also not satisfying were the relevancy of the ads. Ads for herbal teas, jewelry or formula 1 racing isn't much related to my content. And even though I explicitly disabled NSFW ads in the setup I had to block one or two ads for their explicit content.

So Project Wonderful did not perform very well on my site. A few possible reasons I see are:

  • The ad wasn't very prominently placed at my site
  • My traffic might still be too low
  • Most advertisers on PW seem to be very small businesses or private persons with a low advertising budget
  • Finding relevant pages worth advertising on is somewhat complicated at PW

I might retry Project Wonderful someday, but for now it just isn't worth it.

What now? I removed the adcode and withdrew my funds. I now have an empty space to fill with some new service ;-). Suggestions welcome. Let me know about new alternative advertising services or just cool widgets.

Tags:
projectwonderful,
advertising
Similar posts:

Add or read comments to this article »»

Copyright © 2008 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org or planet.dokuwiki.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]

by Andi at July 23, 2008 07:36 PM

July 22, 2008

Notas de Degustação I

Há muito tempo que procurava esta preciosidade. Vamos diretamente à análise: um espumante que privilegia o frescor com notas de maçã verde e abacaxi, com boa cremosidade e acidez na boca, confirmando o nariz e encerrando em passas de uva clara. Taninos redondos e macios. Com perlage finíssimo, abundante, formando um colchão delicado. Aroma de frutas vermelhas com altíssima definição para cereja em calda. Na boca, tem ótima persistência, álcool equilibrado e açúcar adequado. Nunca cherei um guaraná, mas tem odores marcantes de cereja que duvido que o natural tenha este aroma. Corte de 70% corante artifical e 30% aroma artificial “idêntico ao natural”. Coloração vibrante de salmão pálido, quase rosa-choque. Acompanha carne de sol de alcatra. Graças à versatilidade, pode ser servido acompanhando sobremesa que não competem, como rapadura, por exemplo. Terroir do Maranhão, adquirido na importadora “Sabor do Norte”, na Marechal Deodoro em Niterói. Safra 2008, favorecida pela baixa incidência de chuvas e envelhecido em três dias em madeira de caçamba de caminhão. Nota: 95.

Definitivamente, minha vida mudou depois que conheci Jesus.

Comentários sobre este post Digg this post · Stumble it · Save to del.icio.us

by tjpp at July 22, 2008 05:27 PM

July 21, 2008

Address Changes

I recently moved to a new apartment and this means I have to announce my new address to a bunch of people and organizations. For your and my future reference, here is the list I came up with.

  • Banking
    • Checking account
    • Savings account
    • Credit cards
    • Loans
    • Stock depots
  • Insurance
    • Health insurance
    • Pension fund
    • Household contents insurance
    • Liability insurance
    • Car insurance
  • Utilities
    • Power
    • Gas
    • Telephone
      • Land line
      • Cell phone
    • Internet provider
    • Domain registrars
  • Online services
    • ebay
    • Amazon
    • Paypal
    • Adsense
    • Website imprint1)
  • Other
    • Magazine subscriptions
    • Registration office

Did I miss something? Please let me know in the comments.

Tags:
move,
address,
list
Similar posts:
1) if required by your local law

Add or read comments to this article »»

Copyright © 2008 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org or planet.dokuwiki.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]

by Andi at July 21, 2008 07:38 PM

July 20, 2008

Ekaterinburg: The Last Days of the Romanovs

Helen RappaportI went to the talk by Helen Rappaport on 8 July at Pushkin House. It was roughly an hour long, including the question & answers and discussion at the end.

Ekaterinburg: The Last Days of the RomanovsThe talk was about her latest book, Ekaterinburg: The Last Days of the Romanovs, and her journey to write it - plus also the journey of the Romanov family in their final days. Not so much a physical journey, as they were locked away in the Ipatiev House, but a spiritual and emotional journey.

I managed to read most of the book before the talk and it is a very good book. My knowledge of that time in history is very limited. Here was a country crushed by the Germans in the Great War - the Russian Empire suffered 3.3 million dead and almost 5 million wounded. Such was the disaster that Russia pulled out of the war ceding large amounts of its territory to the Central Powers (effectively to Germany).

The Russian Empire was now no more and there was a civil war, which would kill another million soldiers, with around 13 million civilians either killed or injured. This civil war lasted until 1922 - with the ultimate victory of the Bolshevik and the formation of the Soviet Union. However, the book centres around the Romanovs’ final two weeks and their execution on 17 July 1918.

Even if Tsar Nicholas II had not entered the war against the Central Powers, one would imagine that Russia was heading towards revolution and civil war. In any event, the war was probably beyond Nicholas’s control. The family had gradually become unpopular and had lost support amongst even the rural Russian serfs. Therefore, it is interesting to note that the Romanovs have been romanticised in modern Russia. It is also interesting the Tsarina (the German-born Lutheran, Alexandra) best recognised the entrenched adherence of the Russian people towards their Orthodox faith. She realised that not even Bolshevik Sovietise could suppress the religion. In their final days, the Romanovs depended upon their faith for their own solace.

Early Romanov historians blamed the murder of the Romanovs on Soviet Jews. However, whilst the educated Jewry of Russia were disproportionately represented in supporting Bolshevikism, the fact is the only two Jews involved in the Romanovs’ death were Sverdlov and Yurovsky. Yurovsky was Jewish by birth only and was non-practising. In truth it is a cruel twist that anti-Semitism should have tried to distort historic reality.

Under Tsar Nicholas II, there had been widespread pogroms against the Jews in the Russian Empire - and perhaps the legacy of 1920s writers to blame Communism and the murder of the Romanov to the Jews was that it would have influenced the rise of Hitler and Nazism in Germany (which was radically opposed to Bolsehvikism) and also convinced Hoover in the FBI that letting Jews from 1930s Europe take refuge in the United States would have left America susceptible to Communism.

Ms Rappaport was of the opinion that it was a “great shame” that the Romanovs could not have been rescued. She did not elaborate why. Certainly, it would seem the death at the time caused much upset in Russia amongst the people. Over time, many Russians would visit the site of the Ipatiev House to pay respect. Under Boris Yeltsin’s time as party boss of Sverdlovsk (now Ekaterinburg) the house was torn down as this pilgrimage caused much embarrassment to the Soviet government. Eventually, under Boris Yeltsin’s Presidency a church was commissioned to be built on the site - the Church on the Blood. The story of the Romanovs’ murder is now coming to an end as in August 2007 remains of two bodies were found near Ekaterinburg and DNA testing results announced in April 2008 has proven the remains belonged to Tsarevich Alexey and his older sister Grand Duchess Marie. The rest of the family had been exhumed in 1991 and interred in St Petersburg’s Peter and Paul Cathedral in 1998.

Ms Rappaport paraphrased a Russian poet’s who said that Russia has two open tombs and will only be able to move on from the legacy of the Revolution when both those tombs are closed. The two tombs were those of the Romanovs and of Lenin. With the Romanovs now interred in St Petersburg (except Alexey and Marie - who probably will be soon), Ms Rappaport implied that perhaps it was time to close Lenin’s tomb and draw a close to the Revolutionary era of Russia history.

Update (17 July 2008)
Today is the 90th anniversary of this event and as, is now, traditional, many Russians are marking the occasion in Ekaterinburg (often spelt as Yekaterinburg in English-language countries).

Now, almost two decades after the end of the communist state which the Bolsheviks fought to create, the tsar is revered as a saint - a martyr who died for his faith.

Just before the 90th anniversary of his death, Nicholas II pulled into the lead in an online poll to decide on the greatest hero in Russian history.

It is perhaps a sign of the country’s confusion over its own past that he is battling it out for top spot with the Soviet dictator, Josef Stalin.

James Rodgers, BBC correspondent

Update (19 July 2008)
Zoe Brennan wrote about the ninetieth anniversary and about Ms Rappaport’s book in the Daily Mail, on Saturday 19 July 2008, in the article Massacre of the Russian royals: Horrific last hours of a dynasty.

Read or add comments to this article

This feed is not for use on commercial web sites.
© Monjo.com

by monjo at July 20, 2008 07:35 PM

July 18, 2008

Luftalarm

Luftalarm

Dieses wahrlich rießige Flugobjekt hat sich auf unserem Balkon beköstigt. Ich habe nicht die geringste Ahnung, um was es sich handeln könnte - Freund oder Feind?
Einheimisch ist es glaub ich nicht - fast 2 cm lange Bienenartige Wesen sind mir noch nie begegnet. Hornissen werden so groß, sehen aber völlig anders aus. Hummeln und Bienen und Wespen sind „haarig“ - dieser „Visitor“ hatte ein paar Haare oben auf dem Rückenschild und kurzrasierten Flaum am Hinterleib. Und er hat auch keine Fluggeräusche gemacht.
Anscheinend schmeckt aber das Mädchenauge und auch die Gänseblümchenblüten sind akzeptabel.

by Yvonne Bentele at July 18, 2008 07:17 PM

Moopz - FriendFeed in übersichtlich mit Tags

Wie u.a. auf TechCrunch zu lesen ist, gibt es mit Moopz nach NoiseRiver und mioNews (und anderen?) jetzt einen weiteren Dienst, der es sich zur Aufgabe gemacht hat, das, was es unter FriendFeed bereits zu sehen gibt, in einer übersichtlicheren Form aufzuarbeiten.

Das besondere an Moopz ist die starke Konzentration auf URLs. Alle Einträge zu einer URL werden bei dieser angezeigt, zusätzlich dazu gibt es einen Auszug aus der verlinkten Seite und automatisch gesetzte Tags. Somit sieht man die selbe URL nicht x Mal, sehr wohl aber trotzdem alle Kommentare zu ihr.

Derzeit gibt es einen Auszug aus den Posts bei FriendFeed, er wird aus den Konversationen einiger Benutzer zusammengesetzt (und meldet man sich an, so werden wohl auch die eigenen hinzugefügt) und ist auf bereits „aktive“ Einträge beschränkt, d.h. solche, zu denen es bereits Kommentare gibt. Eine Ansicht, die nur die Einträge der eigenen Freunde zeigt, wie es auf FriendFeed Standard ist, gibt es derzeit noch nicht, ist aber prinzipiell geplant.

Ich denke Moopz geht genau in die richtige Richtung, automatische Tags hatte Oliver Gassner hier ja schon einmal in den Kommentaren erwähnt und ich habe einige Ideen dazu geschrieben - und genau so etwas macht Moopz im Prinzip. Einen Feed, der die URLs und Tags enthält, gibt es sogar auch schon. Jetzt fehlt eigentlich nur noch, dass man den Filter nach Aktivität abschwächen oder ausschalten kann und auf Wunsch ausschließlich oder hauptsächlich die Einträge der eigenen Kontakte angezeigt werden.

Read or add comments to this article

by michitux at July 18, 2008 04:28 PM

Staying Sane with RSI

I am not a doctor. Anything I post here is just based on my experiences and may help as well as harm you. Consult a doctor before following any of my advice.

Some time ago I suffered from a bad case of Repetitive Strain Injury (RSI) which german doctors usually diagnose as Sehnenscheidenentzündung or Tendovaginitis/Tenosynovitis. Not being able to normally use a computer or my hands for a prolonged period of time gave me plenty of opportunity to think about how to improve my situation (and how to stay sane). After going through this I figured I might as well share which tools I bought as a result of that thought process.

Staying Productive

Staying productive was very important to me because I still had (unrealistic) hopes of finishing my CS BSc within the standard period of time – which included “writing” my bachelor thesis…

A Trackball for your Feet

While the idea surely sounds wrong using a trackball with your feet is probably one of the best options you've got with RSI. I used a X-Arcade™ Trackball which, being a humongous arcade style trackball, had just the right size and button positioning to be used somewhat comfortably with my feet. It's also nice to have when reading your RSS feeds while eating… ;-)

Just remember: your wrists are not the only joints that are endangered by RSI so use your trackball in moderation.

xarcade-trackball.jpg
The X-Arcade™ Trackball

Speech Recognition

Vista's Speech Recognition

The speech recognition worked surprisingly well for web browsing and most applications in general, however, it still had some pretty rough edges (semi-frequent crashing, not really learning how you speak words, etc.) and became tedious to use rather fast. Also, dictating longer texts didn't work that well either.

Dragon NaturallySpeaking

For the dictation of parts of my bachelor thesis I used Dragon NaturallySpeaking Standard 9. Thanks to VirtualBox I was able to use DNS9 and MS Word1) without any major issues on my linux workstation. While still somewhat tedious, annoying and nowhere near the speed of touch-typing DNS9 is IMHO more or less as good as speech recognition gets (at least for dictating).

Staying Sane

A Joystick for your Feet

Ever tried playing a game with your feet? No? It's just a matter of desperation and boredom, trust me. After trying out some cheap no-name arcade stick I got myself a X-Arcade™ Solo which was sufficiently large and robust enough to be used this way. Thanks to the large selection of adapters you can use the Solo with your PC (USB or PS2) and most game consoles (Playstation 1/22)/3, Xbox 1, Gamecube (⇒Wii), Dreamcast).

While it takes some time getting used to it is sure better than no gaming at all. Personally I'd recommend turn-based strategy and role-playing games, like Fire Emblem, Disgaea, Chrono Trigger, etc. However, as with the trackball you've got to remember not to overstrain your ankles.


The X-Arcade™ Solo

A Bookholder

Easy Read is a simple yet flexible bookholder that makes (mostly) hands free reading quiet feasible. It is pretty nice to have in general even without RSI.

The Easy Read
The Easy Read

Other Advise

Three out of four doctors were sure that I had Tendovaginitis, the fourth at least admitted that it was just his best shot. However, when I started seeing a physiotherapist to learn some exercises he dismissed the doctors theory within minutes and after some testing got a pretty good idea of the true cause. Therefore, if you can get some physiotherapy, give it a shot. Also, should you happen to be from around Darmstadt (Germany) I can only recommend ProPhysio.

1) DNS9 directly supports MS Word and therefore it is a lot more productive with it than with OpenOffice.org.
2) while the Playstation 1/2 adapter is supposed to emulate PS1&2 pads it's actually just emulating a PS1 pad and therefore might not work with all PS2 games
Read or add comments to this article

by demod at July 18, 2008 09:55 AM

July 17, 2008

DokuWiki Development Visualized

Michael Klier just posted a blog entry on how he visualized 4 years of DokuWiki development using Code Swarm. Check out the amazing video:

Tags:
dokuwiki,
video,
visualization,
codeswarm
Similar posts:

Each dot represents a file changed in a darcs commit. The more changes are made to a file the bigger the dot gets. The files float around the developer's name who submitted the patch. Different colors are different parts of DokuWiki:

  • red = core code
  • yellow = GeSHi
  • magenta = parser code
  • white = test cases
  • green = template and plugins
  • blue = language files

Add or read comments to this article »»

Copyright © 2008 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org or planet.dokuwiki.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]

by Andi at July 17, 2008 08:42 PM

CodeSwarm, Darcs and DokuWiki

A couple of weeks ago I discoverd codes warm while surfing the web. For those of you who haven't heard of it yet, it uses processing, a programming language to program images, animation, and interactions, to generate a set of images representing the activity of a software project based on the commit history of the used VCS tool. The resulting images can than be used to create a video of the development history of the project.

Here's a short, and maybe better description from code swarm website:

This visualization, called code_swarm, shows the history of commits in a software project. A commit happens when a developer makes changes to the code or documents and transfers them into the central project repository. Both developers and files are represented as moving elements. When a developer commits a file, it lights up and flies towards that developer. Files are colored according to their purpose, such as whether they are source code or a document. If files or developers have not been active for a while, they will fade away. A histogram at the bottom keeps a reminder of what has come before.

Since I missed to get a cake for 4th birthday, I thought I create a code swarm video of the commit history of this fabulous project ;-). Since code swarm doesn't support a tool to convert darcs repository logs yet, I'll describe what I did to prepare the required XML data.

First you have to get the revision history of your project. To be sure you have the complete logs1) I suggest to do a fresh chekout of the main repository.

% darcs get http://remote-domain.org/repository

Luckily darcs already provides an option to export the commit log as XML. The –summary switch is needed to get the list of changed files per commit as well!

% cd repository/
% darcs changes --output-xml --summary

Here's what a sample commit looks like.

<patch author='Michael Klier ' date='20080505142356' local_date='Mon May  5 16:23:56 CEST 2008' inverted='False' hash='20080505142356-23886-9d3b1f1512a94acc241a01af0d3a9f9053783f3c.gz'>
    <name>actionOK() should honour </name>
    <summary>
    <modify_file>
    inc/confutils.php<added_lines num='4'/>
    </modify_file>
    </summary>
</patch>

Now lets convert that into the format which code swarm requires. Code swarm only needs the filename, the author and the date2). That means, a commit which changed multiple files becomes one code swarm event per changed file. The code swarm XML looks like the following:

<event filename="$filename" date="$timestamp" author="$author" />

I used a python script to do the conversion. But I also had to manually edit the source XML as well as the final XML to get rid of unicode problems and to normalize the data. With normalize I mean that for example some long time commiters used different email addresses over the years, sometimes with their real names and sometimes without, I simply made sure that always their real name is set as the author attribute. That's something you can't really script and which needs manual tuning ;-). But to get a halfway accurate representation of the commit history it's absolutely necessary.

Here's the piece of quick and dirty python I used to to convert the XML3). Note that in order to not make the dom parser choke on the input file you have to add the <xml version=“1.0”?> string to the source file!

convert_darcs.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
import time
from xml.dom import minidom
 
xmldoc = minidom.parse('dokuwiki-darcs.xml')
 
patches = xmldoc.getElementsByTagName('patch')
 
events = []
 
for patch in patches:
	author = patch.getAttribute('author').strip()
	date = int(time.mktime(time.strptime(patch.getAttribute('date'), '%Y%m%d%H%M%S')))*1000
	files = patch.getElementsByTagName('modify_file')
 
	for file in files:
		fname = file.firstChild.data.strip()
		date = date
		author = author
		event = (fname, date, author)
		events.insert(0, event)
 
 
print '<?xml version="1.0"?>'
print '<file_events>'
 
for event in events:
	try:
		print '<event filename="%s" date="%s" author="%s" />' % event
	except UnicodeEncodeError:
		print >>sys.stderr, event
 
print '</file_events>

Just run it on your source file it will write the resulting XML to stdout. If it encounters a unicode problem it displays the error and you have to fix it in the source file.

% ./convert_darcs.py > final.xml

Now just checkout out the codeswarm svn repo4) follow the installation instructions on their webiste, copy the data/sample.config to a new configuration file and alter the settings to fit your needs.

I defined different colors for different parts of the DokuWiki code base.

  • red = core code
  • yellow = geshi (to distinguish geshi updates from the core code)
  • magenta = parser code (sadly you don't really see it, keep an eye on Harry Fuecks ;-))
  • white = test cases (you'll notice them once the show up the first time)
  • green = template and plugins
  • blue = language files

The default settings are OK for the most part, the only thing I've changed is the FramesPerDay setting which I've set to 24.

Once everything is setup just run code swarm through the provide run.sh script and wait until it's finished.

I've used ffmpeg to create the resulting video from the images and added a mp3 to have some ambience ;-). I am not that experienced with video creation yet, but I got some good results with those settings, though the file got quite big5).

% cd frames/
% ffmpeg -f image2 -r 24 -i ./code_swarm-%05d.png -i ./audio.mp3 -acodec copy -sameq ./dokuwiki-codeswarm.avi -pass 2

That's it :-). Here's the resulting video. To be continued, enjoy!!

PS.: I plan to create one with a bigger resolution, the current one seems to suffer a bit from the conversion vimeo does. Also the sound seems to clip at the first second. You'll find them at my vimeo account once they're finished.

1) ususally you use darcs get –partial to clone a repo which doesn't download the whole commit history
2) as unix timestamp with milliseconds
3) I plan to incorporate a cleaner and better version of it into the code swarm conversion tool and send it upstream
4) you'll need to have the java-jdk and apache-ant installed on your system
5) around ~40MB for 7000+ commits
Read or add comments to this article

by chi at July 17, 2008 02:58 PM

blog:2008:07:17.selfmade.sushi

Selfmade Sushi

Normally I'll should have posted this after last saturday (12th), but I am really lazy.
On saturday the 12th some friends and me tried making sushi by ourself. We bought fresh fish at Tegut two different types of salmon1) and a tunny. Ofcource we also bought some crab-sticks and shrimps.
Cooking the rice is a real adventure and takes over a hour to finish. First you need to cook it for around 15 minutes, than cook it 2 minutes without lid and than cook it 15 minutes on low temperature. After that you need to season it, but after that step the rice needs to cool down. We ate 1 kilograms of rice this evening ;-).
But you may have noticed one thing is missing… yep, the Sake and of course we drank it. What would a japanese evening be without Sake2).

The Sushi we made where Nigiri and Maki. My first roll was not really a roll, but the second one looked like the one from a cheap sushi restaurant. Only the nigiri are tough to form. For maki a use this bamboo mat, but as the name nigiri3) should tell us, you make them with your hands, and mine aren't the biggest… but I wasn't alone and so the girlfriend of the host was very skillful on makeing them.

Here are two pictures of the evening showing our work:

Sushi plate Sushi on the table
Oh and ofcourse, what else would be the perfect tool for this as this japanese piece of steel!

1) the bio-salmon didn't have any taste
2) hot,warm
3) hand-formed

by jpk at July 17, 2008 12:31 PM

Marxism 101

by Andy at July 17, 2008 11:37 AM

July 16, 2008

Little Brother

Little Brother

As you can see in my “currently reading” section on the right, I'm currently reading Cory Doctorow's "Little Brother". I haven't read a book for a long time that moved me as much as this one.

The name is obviously a play on the omnipresent “Big Brother” from George Orwell's 1984. Like Orwell's book, “Little Brother” is a dystopian novel describing a not too distant future.

What’s Little Brother about?

Marcus, a.k.a “w1n5t0n,” is only seventeen years old, but he figures he already knows how the system works–and how to work the system. Smart, fast, and wise to the ways of the networked world, he has no trouble outwitting his high school’s intrusive but clumsy surveillance systems.

But his whole world changes when he and his friends find themselves caught in the aftermath of a major terrorist attack on San Francisco. In the wrong place at the wrong time, Marcus and his crew are apprehended by the Department of Homeland Security and whisked away to a secret prison where they’re mercilessly interrogated for days.

When the DHS finally releases them, Marcus discovers that his city has become a police state where every citizen is treated like a potential terrorist. He knows that no one will believe his story, which leaves him only one option: to take down the DHS himself.

from the website

What makes this book so disturbing is how close this dystopian future already is. Unlike when Orwell wrote his book, the technology used in Doctorow's book is already here. There is no time left to discuss probabilities. Many of the things happening in the book are already happening here and now.

I really recommend to read this book. You can download it for free under a Creative Commons license or just buy it as a regular book. I intend to give away a few copies as birthday presents.

If you read the book, please let me know what you think of it in the comments. Personally I find much of it still a bit too optimistic, but I'd love to hear your opinions.

Tags:
dystopia,
book,
review,
surveillance
Similar posts:

Add or read comments to this article »»

Copyright © 2008 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org or planet.dokuwiki.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]

by Andi at July 16, 2008 06:37 PM

Identificando qual a placa-mãe no Linux

Dada a importância do último post, resolvi ficar um tempo sem blogar. Vai uma curiosidade então: fui resgatar a alma de um computador, no qual instalei o Debian Lenny mas que o meu colaborador precisava do Labview (só temos versão para Windows, embora exista para Linux). O problema é que instalei o Lenny, sem problemas e ao instalar o XP – ele está revoltado com o Vista que veio no notebook, mas acho que é um caso isolado – tive que reinstalar o Grub. O problema é que o XP não reconheceu a placa de vídeo, a placa de rede e sequer o monitor: é uma placa Intel, com um Quadcore Q6600, tudo novinho.

O montador não enviou os drivers da placa porque ele está acostumado a vender para a Física e sabe que só colocamos Linux. O procedimento de qualquer usuário windows é padrão: vai ao Google, procura o site do fabricante, procura suporte e baixa os drivers. Quando o driver é da placa de rede, então recorre ao pirata ao lado. Eu preferi usar a partição ao lado: dei boot com o Lenny netinst, recuperei o grub, instalei o ntfs-3g para gravar na partição windows mas precisava saber do modelo da placa-mãe. É tudo Intel e tudo onboard, lembro-me do tempo em que eu dizia que tudo on-board não prestava. O lspci fornece informações sobre vários componentes, mas e o modelo da placa mãe ?

$ sudo dmidecode | more
...
Base Board Information
	Manufacturer: Intel Corporation
	Product Name: D946GZIS
...

Na verdade, este não é o modelo dele, mas é o que eu tenho aqui em casa e só usei como exemplo. Eu fiquei revoltado pois o computador fui eu quem comprei através de um projeto em que colaboramos. Fiquei todo orgulhoso ao comprar um monitor widescreen e no Windows a imagem estava uma m… Tive que usar o Linux para consertar o problema. Ele gostou tanto que prometeu aprender o LaTeX, porque se o pessoal da física usa, então deve ser bom…

Comentários sobre este post Digg this post · Stumble it · Save to del.icio.us

by tjpp at July 16, 2008 05:38 AM

July 14, 2008

Moved

It's done. I moved from apartment A to apartment B. Most of my boxes are unpacked and I got rid of some more stuff.

From, To @Google Maps

Of course there are also some new things to buy. We will need a new sofa for our new, big living room. Preferable a convertible to have a place for guests to sleep on. Some more kitchen cupboards are needed, too.

One thing we already bought is a DVB-T receiver. Cable TV isn't included in the rent 1), so we hope to save the 10€ a month by using the free DVB-T broadcast available in Berlin. Marketing promises cable like quality and choice but of course reality is a bit different.

I bought a Siemens Gigaset 270 first, and a simple rod antenna. But this didn't work out. The signal strength was bad and we had frequent dropouts in video and audio. I suspected a problem with the receiver because it made tiny but audible noise.

We returned it today and exchanged it for a Skymaster DT 440 and a more powerful antenna. After some experiments how to align it, we got a maximum of 82% signal strength. So far it seems to be usable but all that antenna wiggling reminded me of analog TV from the last century.

I wonder if you have any experience with DVB-T reception, receivers and antennas. Any tips you have to share? Please do so in the comments.

Tags:
move,
dvb-t,
antenna,
tv
Similar posts:
1) as it is usually in Germany

Add or read comments to this article »»

Copyright © 2008 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org or planet.dokuwiki.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]

by Andi at July 14, 2008 08:32 PM

July 13, 2008

Python + amlabel = Bulklabeling!

A while ago, we upgraded all 50 backup tapes in the tape library at work from LTO-2 to LTO-3. This of course meant unpacking, inserting and labeling those tapes, both physically as well as electronically. While the physical labeling could not be automated1), I finally sat down to at least make the electronic labeling using amanda's amlabel a little bit less unworthy of a sysadmin ;-) The result was a small python script2) capable of bulk labeling a bunch of tapes based on a formatstring pattern of the label format that at least works perfectly fine in our environment – YMMV ;-) I decided to post it here nevertheless as it might be of help for somebody out there besides us3). Some basic usage instructions, the code and a download link follow.

Usage

Usage is quite simple. Given your labels are something like TAPE01 or BACKUP_042, the formatstring would be TAPE%02i or BACKUP_%03i. So if you e.g. want to label five tapes using the above BACKUP format (and amanda's BACKUP config), starting with tape 42 which is located in physical slot 23 of your library, the tapelabel call would be tapelabel -f 23 -c 5 BACKUP BACKUP_%03i 42. For more info, see tapelabel –help:

Usage: tapelabel [options] config formatstring number

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         verbose output, use multiple times for spam
  -q, --quite           suppress output, use multiple times for silence
  -f FIRSTSLOT, --firstslot=FIRSTSLOT
                        specifies slot of first tape to label [default: '1']
  -l LASTSLOT, --lastslot=LASTSLOT
                        specifies slot of last tape to label
  -c COUNT, --count=COUNT
                        specifies count of tapes to label [default: 'none']
  -F, --force           force writing of label
  --dry-run             simulates run

Code and Download

/root/bin/tapelabel

#!/usr/bin/python
 
import os
import sys
import commands
from optparse import OptionParser
 
SLOT_COMMAND = '/usr/sbin/changer -slot %i'
WRITE_COMMAND = '/usr/sbin/amlabel %s %s'
WRITE_COMMAND_FORCE = '/usr/sbin/amlabel -f %s %s'
READ_COMMAND = '/usr/bin/readlabel /dev/rmt/current'
 
options = config = fs = startValue = None
 
def change_slot(slot):
	dePrint("Changing to slot %i..." % slot)
	if (not options.dryrun):
		(status, output) = commands.getstatusoutput(SLOT_COMMAND % slot)
		if (status != 0):
			print >>sys.stderr, "Error while changing tape: %s" % output
			sys.exit(-1)
	dePrint("\tDone.", 2)
 
def write_label(val):
	global options, config, fs
 
	label = fs % val
	dePrint("Writing label '%s'..." % label)
 
	if (not options.dryrun):
		if (options.force):
			(status, output) = commands.getstatusoutput(WRITE_COMMAND_FORCE % (config, label))
		else:
			(status, output) = commands.getstatusoutput(WRITE_COMMAND % (config, label))
		if (status != 0):
			if (status == 127):
				print >>sys.stderr, "amlabel reported '%s'. You might want to use -f to override this and force the label." % output
				sys.exit(-2)
			else:
				print >>sys.stderr, "Error while labeling: '%s'" % output
				sys.exit(-3)
	dePrint("\tDone.", 2)
 
def verify_label(val):
	global options, config, fs
 
	label = fs % val
	dePrint("Verifying label '%s'..." % label)
	if (not options.dryrun):
		(status, output) = commands.getstatusoutput(READ_COMMAND)
		if (status != 0):
			print >>sys.stderr, "Error while reading label: '%s'" % output
			sys.exit(-4)
 
		current_label = output.split()[-1]
		dePrint("\tRead label '%s'." % current_label, 2)
 
	if (not options.dryrun):
		return (label == current_label)
	else:
		dePrint("\tRead label '%s'." % label, 2)
		return True
 
def main():
	global options, config, fs, startValue	
 
	setup()
 
	try:
		slot = options.firstSlot
		for i in range(options.count):
			change_slot(slot)
			write_label(startValue + i)
			if (verify_label(startValue + i)):
				slot = slot + 1
			else:
				print >>sys.stderr, "Verification of label failed."
				sys.exit(-4)
	except KeyboardInterrupt:
		dePrint("# KeyboardInterrupt caught", level=0)	
 
def setup():
	global options, fs, config,startValue
 
	minVer = [2, 4]
	ver = sys.version_info[0:2]
	if not (ver[0] > minVer[0] or (ver[0] == minVer[0] and ver[1] >= minVer[1])):
		print >>sys.stderr, "This program requires Python >=%s, aborting." % ",".join(map(str, minVer))
		sys.exit(-1)
 
	## argument parsing setup
	#
	parser = OptionParser(version = "%prog 0.1")
	parser.set_usage("%prog [options] config formatstring number")
 
	parser.add_option("-v", "--verbose",
		action = "count", dest = "verbose", default = 0,
		help = "verbose output, use multiple times for spam"
	)
	parser.add_option("-q", "--quite",
		action = "count", dest = "quite", default = 0,
		help = "suppress output, use multiple times for silence"
	)
 
	parser.add_option("-f", "--firstslot",
		type = "int", dest = "firstSlot", default = 1,
		help = "specifies slot of first tape to label "
		     +  "[default: '%default']"
	)
	parser.add_option("-l", "--lastslot",
		type = "int", dest = "lastSlot", default = None,
		help = "specifies slot of last tape to label"
	)
	parser.add_option("-c", "--count",
		type = "int", dest = "count", default = None,
		help = "specifies count of tapes to label "
		     + "[default: '%default']"
	)
	parser.add_option("-F", "--force",
		action = "store_true", dest = "force",
		help = "force writing of label"
	)
 
	parser.add_option("--dry-run",
		action = "store_true", dest = "dryrun",
		help = "simulates run"
	)
 
	(options, fs) = parser.parse_args()
 
	if (len(fs) == 0):
		parser.error("You need to supply a format string.")
	elif (len(fs) != 3):
		parser.error("Need config, formatstring and start value.")
	else:
		(config, fs, startValue) = fs
		startValue = int(startValue)
 
	if (not options.lastSlot and not options.count):
		parser.error("You need to supply either a count of tapes to label or the number of the last slot which to label.")
	elif (not options.lastSlot and options.count):
		options.lastSlot = options.firstSlot + options.count - 1
	elif (options.lastSlot and not options.count):
		options.count = options.lastSlot - options.firstSlot + 1
	elif (options.lastSlot and options.count and not (options.count == options.lastSlot - options.firstSlot + 1)):
		parser.error("Start slot plus tape count does not equal end slot. Please decide on either count or endslot.")
 
	# verbosity
	if options.quite:
		options.verbose = -options.quite
 
 
def dePrint(str, level=1):
	"""prints (debug) messages"""
 
	if (options.verbose - level) >= 0:
		print str
 
 
if __name__ == "__main__":
	main()

Download

1) although we fooled around with the idea of using some Mind Storms construction for this while I waited for all the labels to be printed on the label machine
2) heavily influenced by demod's frmtget
3) and even if it's just for use as an example of how to use the OptionParser module of Python ;-)
Read or add comments to this article

by foosel at July 13, 2008 07:10 PM

Newsweek

In the past I have been a subscriber to Newsweek magazine (International Edition). The first time I subscribed it was for a 2 or 3 year deal especially designed for students, at an attractive discount. And then, I let the subscription end, and they sent me offers by post from time-to-time and eventually they sent me a very good offer and I subscribed again.

Newsweek logoMy last subscription probably ran out a couple of years ago now. However, I received a special offer for an 86% discount, just £19.95 for one year (it says 52 issues, but normally there’s about 2-3 double issues in a year).

It will also offer me something to read on the train other than the free papers. There are, of course, certain aspects of Newsweek’s writing and article style that I do not like. As I recall, it makes no effort to conform to British English; and there’s a definite US-bias in much of the reporting. Too many of the articles are about the USA, considering I am getting the UK International Edition. However, the publication is reasonably liberal and as unbiased as can be expected of any magazine.

Newsweek also (about once a month or so) has an excellent Special Report on something. I would imagine 2008’s themes will be Global Warming, China, US Elections, and more on the fall-out from the US sub-prime mortgage market.

Environment

Met Office Model

- click to view

Even though 2008 is set to be the coolest year since 2000, the trend up to 2007’s data is that 11 of the warmest years on record (since 1850) have been in the past 13 years.1) This means that there is strong evidence for Global Warming.

The Met Office's models seem to suggest that overall Global temperatures may go down slightly until 2010 and will be at 2006/2007 levels again in 2012. However, the trend for the Northern Hemisphere shows less fluxation than the Southern Hemisphere, and will only have a small drop around 2007-2009, and by 2012 will be about 0.6ºC warmer than the 2000 average, and 0.3°C warmer than 2006/2007.

Of course all changes are localised too. Hence, some places may see smaller rises than others. Many people may even welcome a slightly warmer world. The UK suffered an increase death toll last winter of about 22000 people2), and milder winters can only be beneficial to our general health and work productivity.

Economics
The fall-out from the US sub-prime mortgage crisis has hit the British banking network quite hard. Northern Rock is the most obvious major casualty, but even HSBC has had liabilities of over £7 billion. The Treasury and Bank of England have been criticised over their handling of Northern Rock and the wider crisis. However, businesses that grow too quickly are always liable to fall down flat. And it is not (or should not be) the responsibility of government to rescue a private company.

Perhaps, incorrectly, the biggest topic in the world of finance is $100 oil. In January 2007 oil was trading at $50, so it has doubled in one year. I do not think oil is that important to the overall picture of global finances. However, oil wealth does allow a nation to ignore the development of stable industries and creates problems for global capital flows. Norway has effectively become the richest country in the world per capita due to its North Sea oil and gas revenues. Norway has benefited from free trade with the EEC countries, and built up vast reserves of national wealth.

There is a threat of recession in 2008. I am not too worried about this threat. I think my job - along with most of my family’s - is secure. I also think that a slight downturn may bring about UK policy changes on social security and pensions that will have long-term beneficial effects. A small fall in house prices, followed by a period of stability or very small growth, would also bring property back within reach for many people. Plus, many economists agree that interest rates are too high in the UK. A fall of 0.5 points would keep mortgages affordable, despite the increased premiums on credit, and make the Pound Sterling lose some strength and make exports more attractive - reducing our trade deficit (plus protecting many UK jobs).

If there is a fall in spending it may be for expensive electrical goods (watch out for more profit warnings from PC World, Dixons etc) and foreign holidays. Which should not overly bother us - especially if it means Britons buy less goods on shopping trips to Dubai, New York, and France.

This feed is not for use on commercial web sites.
© Monjo.com

by monjo at July 13, 2008 06:15 PM

Euro 2008

The quadrennial European football championship kicks off today with no involvement from a team from the British Isles. Both Irelands, Scotland, Wales, and England all failed to qualify. However, players based in the Premier League will be representing most countries - and, no doubt, many of this summer’s stars will probably end up in the premiership next season.

Euro 2008 Logo Sixteen countries are taking part in this summer’s finals, including the two co-hosts, Austria and Switzerland, and the defending champions, Greece. The pre-tournament favourite (with the bookmakers) is Germany. Spain, Italy and France are the other three countries backed to make the final. Cristiano Ronaldo, of Portugal and Manchester United, and Fernando Torres, of Spain and Liverpool, are the joint favourites to be top scorers.

Personally, I would like The Netherlands to win. However, their qualification campaign never really got firing and they qualified just ahead of Bulgaria - but behind Romania (another team in their group). Holland’s chances are also weakened as they have Italy (world cup winners) and France (world cup runners-up) in their group. Group C has therefore been dubbed the “Group of Death”.

As a Liverpool supporter, I obviously would like to see our players have a good championship - and avoid injury. Four Liverpool players are in the Spanish squad, though Alonso does look set to leave this summer. Liverpool’s and Holland’s Ryan Babel picked up an injury before the tournament started and will be out for at least five weeks. It will also be interesting to see new boy, Philipp Degen (of Switzerland), in action.

There has been some press and commentary that host nations should be made to qualify. After-all, defending champions, Greece were made to qualify. However, I do think it is correct that the hosts should be in the competition. What is the problem is that Euro 2008 has two hosts, both of whom are fairly weak footballing nations. The same issue will cloud Euro 2012 when Poland and Ukraine are co-hosts. Though, at least Poland are a strong side who qualified ahead of Portugal (a team considered by many as a strong candidate for winning the competition) and the Ukraine also has some decent footballing pedigree. Though they did struggle in a tough qualification group for these championships - finishing fourth behind Italy, France, and Scotland.

Predictions

Before Tournament
Group Winner Runner-Up
A Portugal Czech Republic
B Germany Poland
C Netherlands Romania
D Spain Russia
Quarter-Final Winner Loser
1 Portugal Poland
2 Germany Czech Republic
3 Netherlands Russia
4 Spain Romania
Semi-Final Winner Loser
1 Germany Portugal
2 Spain Netherlands
 
Final Winner Runner-Up
Spain Germany
After Group Stages

I predicted five of the teams that made the quarter-finals. However, the only group I got right was Group D. Though I did get the group Winner of A (Portugal) and C (Netherlands) correct too.

So here are my quarter-final stage predictions