Get more Friends on Twitter with Jetwick

Obviously you won’t need a tool to get more friends aka ‘following’ on twitter but you’ll add more friends when you tried our new feature called ‘friend search’. But let me start from the beginning of our recent, major technology shift for jetwick – our open source twitter search.

We have now moved the search server forward to ElasticSearch (from Solr) – more on that in a later post. This move will hopefully solve some data actuality problems but also make more tweets available in jetwick. All features should work as before.

To make it even more pleasant for you my fellow user I additionally implemented the friend search with all the jetwicked features: sort it against retweets, filter against language, filter away spam and duplicates …

Update: you’ll need to install jetwick

Try it on your own

  1. First login to jetwick. You need to ~2 minutes until all your friends will be detected …
  2. Then type your query or leave it empty to get all tweets
  3. Finally select ‘Only Friends’ as the user filter.
  4. Now you are able to search all the tweets of the people you follow.
  5. Be sure you clicked on without duplicates (on the left) etc. as appropriated

Here  the friend search results when querying ‘java’:

And now the normal search where the users rubenlirio and tech_it_jobs are not from my ‘friends’:

You don’t need to stay on-line all the time – jetwick automagically grab the tweets of your friends for you. And if you use the relaxed saved searches, then you’ll also be notified for all changes in you homeline – even after days!

That was the missing puzzle piece for me to be able to stay away from twitter and PC – no need to check every hour for the latest tweets in my homeline or my “twitter – saved searches”.

Jetwick is free so you’ll only need to login and try it! As a side effect of being logged in: your own tweets will be archived and you can search them though the established user search. With that user search you can use twitter as a bookmark application as I’m already doing it … BTW: you’ll notice the orange tweet which is a free ad: just create a tweet containing #jetwick and it’ll be shown on top of matching searches.

Another improvement is (hopefully) the user interface for jetwick, the search form should be more clear:

before it was:

and the blue logo should now look a bit better, before it was:

What do you think?

A world without RSS would not hurt

This post is a quick reply to the post RSS Is Dying, and You Should Be Very Worried.

I really like rss reader. I have a lot of subscriptions to blogs. But I don’t think that RSS (Really Simple Syndication) has a future, simply because there will be at least one service similar to twitter. People simply like it more: “to follow *people*” and not websites!

Twitter is very powerful. You can create your own RSS-like reader from twitter like I did with jetwick. I mean, what do you want with an RSS reader? You want news, right? Personalized news? With RSS you’ll get news from blogs. With twitter you get personalized news from people as I said before or if you are interested in some topics you can get personalized news via search terms too! That’s very powerful: to get news about topics. That’s what you want, I guess!?

Now there are some good statements in the post where I wanted to add my comment now.

  • “IF RSS DIES, WE LOSE THE ABILITY TO READ IN PRIVATE”
    First: why would you use chrome if you want to read in private??? 🙂
    Second: Yes, privacy is a problem with twitter and facebook. But there will be tools like jetwick where you can “silently” follow people if you want. So this is not an issue for me. Of course, you’ll need to host your own version of jetwick to really have no privacy issues 😉
  • “The ability for a website operator to be in control of what he advertise to his users … “
    I don’t understand this. A website operator will always have options to advertise … and with RSS reader it is even more likely that the reader skip advertisments. Or what did you mean?
  • If every website on the web has to have a Facebook account in order to exist in practical terms, the web is dead—competition is dead
    I don’t think that that will be the case. Browsers will add the ability to post to popular services soon. Similar to the RSS icon in the late 20XX 😉
  • “The ability for us to aggregate, mash-up and interpret news without having to go through a closed API that may change on a whim, or disagree with our particular usage”
    A developer should not have to be fluent in Twitter, Facebook and a million different private APIs just to aggregate content from different websites you read”
    Valid arguments. But you are more likely to get the latest news via twitter rather than with your static set of blogs. In the end there will be something like a big realtime rss like API without the problems you describe 😉 But yes, this is a big argument. To be tied to an external service is bad.

It is also very powerful that with twitter-like web services

  1. even people without a blog can share valueable informations (e.g. links)
  2. a lot of people are already there. As a user RSS is very complicated. You have to search for blogs you are interested in. And because of the massive user-base of twitter you don’t need to mashupthings  IMHO.

BTW: why do you use the RSS reader of the browser? I’m using lifera

BTW2: you can follow me at twitter – and see not only what I’m posting here 😉

Detect Stolen and Duplicate Tweets with Solr

A new feature “duplication detection” is implemented for jetwick and seems to work pretty good thanks to the great performance of Solr.

To try it, go to this tweet and click on the ‘Find Similar’/’Guttenberg’ button below the tweet to investigate existing duplicates. With that feature it is possible for jetwick to skip spam, identify different accounts of the same user, skip tweets with wrong retweet or attribution.

but also to see stolen tweets i.e. when users tweeting without attribution or not knowing the original tweet. Or if all tweeters had a common different source, e.g. news paper. Thanks to pannous for pointing this out.

Examples for ‘stolen’ or duplicated tweets:

So this is an example for a user using two twitter accounts, because the tweet has the same twitter client and they were posted on identical times.

The following German example looks more like ‘stolen’ tweets:

http://twitter.com/#!/Newsteam_Berlin/status/17881387294003200

and a lot more: ste_pos, Kleines79, …

the oldest tweet and therefor the original is:

As you can see it is not necessary for the successful detection that the tweets have exactly the same string.

Detecting duplicated tweets could be interesting for all people wanting to give the ‘correct’ guy its attribution. Because it is often the case that not the original tweet but the ‘stolen’ tweet is more popular (has more retweets). Especially for heavy follower accounts.

But it is also useful for “tweet readers” like jetwick to avoid twitter noise and reading the same content twice.

Update: This seems to be the first tweet about santa and wikileaks:

suliz has only 67 followers .. now take that tweet from ihackinjosh with over 6000 followers. This tweet has over 600 retweets, although suliz has tweeted nearly one day earlier. That is life!

Bahn zensiert trending Topics bei Twitter

Bahn zensiert trending Topics bei Twitter oder warum erscheint “Bahn rät von Bahnreisen ab” dort nicht? 😉

Lustige, handmade Tweets findet ihr heute (und wahrscheinlich auch die nächste Woche) hier.

Zum Abschluss noch “Tweets über die Bahn enthalten meistens auch:”

PS: ‘meter’ kommt wahrscheinlich durch bahnometer zustande und nicht durch Beschreibungen von Warteschlangen vor den Zügen.

 

Hootsuite gets a Challenger

We are pleased to announce that starting from today you can save searches.

Go to jetwick.com. Login. Do a search. Save it with the rss icon:

BTW: we’ve redefined RSS to “relaxed saved searches” 😉

Hmmh, ok. Nothing new, you might think. Twitter allows you to do the same: saving searches. And e.g. Hootsuite is really good to store several searches too. I must admit that jetwick isn’t a big challenger, because it isn’t as proven and well tested, doesn’t have a solid user base etc

But: neither twitter nor hootsuite allows you to sort the tweets by number of retweets or language, right?

With jetwick you now can save your favourite searches and come back after days. Read only tweets that are important.

One example

if I would have to follow the twitter search for ‘java’ I would get hundreds of tweets per hours. So, logically I cannot read them all and to be honest: I never read them. It gets even worse when I do not visit twitter for days (yeah thats really possible). But I also do not want to miss the most important tweets. And thats where jetwick comes into the game which allows you to do exactly that: define a search important to you, sort or filter against retweets or language, and then stay informed after days. The saved search will display in the gray brackets the number of new tweets, calculated from the last search. It will update this count in a regular interval if you left the browser window open.

Jetwick even allows you to search an account and filter this for a keyword. This is especially usefull for an account with a lots of tweets like heiseonline:

And whats best about this all: jetwick is free software. Get the Java sources or join the team to make jetwick even more exciting and useful!

Use cases of faceted search for Apache Solr

GraphHopper – A Java routing engine

karussell ads

In this post I write about some use cases of facets for Apache Solr. Please submit your own ideas in the comments.
This post is splitted into the following parts:

  • What are facets?
  • How do you enable and use simple facets?
  • What are other use cases?
    1. Category navigation
    2. Autocompletion
    3. Trending keywords or links
    4. Rss feeds
  • Conclusion

What are facets?

In Apache Solr elements for navigational purposes are named facets. Keep in mind that Solr provides filter queries (specified via http parameter fq) which filters out documents from the search result. In contrast facet queries only provide information (count of documents) and do not change the result documents. I.e. they provide ‘filter queries for future queries’. So define a facet query and see how much documents I can expect if I would apply the related filter query.

But a picuture – from this great facet-introduction – is worth a thousand words:

What do you see?

  • You see different facets like Manufacturer, Resolution, …
  • Every facet has some constraints, where the user can filter its search results easily
  • The breadcrumb shows all selected contraints and allows removing them

All these values can be extracted from Solrs’ search results and can be defined at query time, which looks surprising if you come from FAST ESP. Nevertheless the fields on which you do faceting needs to be indexed and untokenized. E.g. string or integer. But the type of fields where you want to do faceting mustn’t be the default ‘text’ type, which is tokenized.

In Solr you have

The normal facets can be useful if your documents have a manufacturer string field e.g. a document can be within the ‘Sony’ or ‘Nikon’ bucket. In contrast you will need facet queries for integers like pricing. For example if you specify a facet query from 0 to 10 EUR Solr will calculate on the fly all documents which fall into that bucket. But the facet queries becomes relative unhandy if you have several identical ranges like 0-10, 10-20, 20-30, … EUR. Then you can use range queries.

Date facets are special range queries. As an example look into this screenshot from jetwick:

where here the interval (which is called gap) for every bucket is one day.

For a nice introduction into facets have a look into this publication or use the solr wiki here.

How do you enable and use simple facets?

As stated before they can be enabled at query time. For the http API you add “&facet=true&facet.field=manu” to your normal query “http://localhost:8983/solr/select?q=*:*”. For SolrJ you do:

new SolrQuery("*:*").setFacet(true).addFacetField("manu");

In the Xml returned from the Solr server you will get something like this – again from this post:

<lst name="facet_fields">
            <lst name="manu">
               <int name="Canon USA">17</int>
               <int name="Olympus">12</int>
               <int name="Sony">12</int>
               <int name="Panasonic">9</int>
               <int name="Nikon">4</int>
            </lst>
</lst>

To retrieve this with SolrJ you don’t need to touch any Xml, of course. Just get the facet objects:

List<FacetField> facetFields = queryResponse.getFacetFields();

To append facet queries specify them with addFacetQuery:

solrQuery.addFacetQuery("quality:[* TO 10]").addFacetQuery("quality:[11 TO 100]");

And how you would query for documents which does not have a value for that field? This is easy: q=-field_name:[* TO *]

Now I’ll show you like I implemented date facets in jetwick:

q.setFacet(true).set(“facet.date”, “{!ex=dt}dt”).
set(“facet.date.start”, “NOW/DAY-6DAYS”).
set(“facet.date.end”, “NOW/DAY+1DAY”).
set(“facet.date.gap”, “+1DAY”);

With that query you get 7 day buckets which is visualized via:

It is important to note that you will have to use local parameters like {!ex=dt} to make sure that if a user applies a facet (uses the facet query as filter query) then the other facet queries won’t get a count of 0. In the picture the filter query was fq={!tag=dt}dt:[2010-12-04T00:00:00.000Z+TO+2010-12-05T00:00:00.000Z]. Again: filter query needs to start with {!tag=dt} to make that working. Take a look into the DateFilter source code or this for more information.

Be aware that you will have to tune the filterCache in order to keep performance green. It is also important to use warming queries to avoid time outs and pre-fill caches with old ‘heavy’ used data.

What are other use cases?

1. Category navigation

The problem: you have a tree of categories and your products are categorized in multiple of those categories.

There are two relative similar solutions for this problem. I will describe one of them:

  • Create a multivalued string field called ‘category’. Use the category id (or name if you want to avoid DB queries).
  • You have a category tree. Make sure a document gets not only the leaf category, but all categories until the root node.
  • Now facet over the category field with ‘-1’ as limit
  • But what if you want to display only the categories of one level? E.g. if you don’t want other level at a time or if they are too much.
    Then index the category field ala <level>_category. For that you will need the complete category tree in RAM while indexing. Then use facet.prefix=<level>_ to filter the category list for the level
  • Clicking on a category entry should result in a filter query ala fq=category:”<levle>_categoryId”
  • The little tricky part is now that your UI or middle tier has to parse the level e.g. 2 and the append 2+1=3 to the query: facet.prefix=3_
  • If you filter the level then one question remains:
    Q: how can you display the path from the selected category until the root category?
    A: Either get the category parents via DB, which is easy if you store the category ids in Solr – not the category names.
    Or get the parents from the parameter list which is a bit more complicated but doable. In this case you’ll need to store the category names in Solr.

Please let me know if this explanation makes sense to you or if you want to see that in action – I don’t want to make advertisments for our customers here 🙂

BTW: The second approach I have in mind is: instead of using facet.prefix you can use dynamic fields ala category_<level>_s

Special Hint: If it are too many facets you can even page through them!

2. Autocompletion

The problem: you want to show suggestions as the user types.

You’ll need a multivalued ‘tag’ field. For jetwick I’m using a heavy noise word filter to get only terms ‘with information’ into the tag field, from the very noisy tweet text. If you are using a shingle filter you can even create phrase suggestions. But I will describe the “one more word” suggestion here, which will only suggest the next word (not a complete different phrase).

To do this create a the following query when the user types in some characters (see getQueryChoices method of SolrTweetSearch):

  • Use the old query with all filter queries etc to provide a context dependent autocomplete (ie. only give suggestions which will lead to results)
  • split the query into “completed” terms and one “to do” term. E.g. if you enter “michael jack”
    Then michael is complete (ends with space) and jack should be completed
  • set the query term of the old query to michael and add the facet.prefix=jack
  • set facet limit to 10
  • read the 10 suggestions from facet field but exclude already completed terms.

The implementation for jetwick which uses Apache Wicket is available in the SearchBox source file which uses MyAutoCompleteTextField and the getQueryChoices method of SolrTweetSearch. But before you implement autocomplete with facets take a look into this documentation. And if you don’t want to use wicket then there is a jquery autocomplete library especially for solr – no UI layer required.

3. Trending keywords or links

Similar to autocomplete you will need a tag or link field in your index. Then use the facet counts as an indicator how important a term is. If you now do a query e.g. solr you will get the trending keywords and links depending on the filters. E.g. you can select different days to see the changes:

The keyword panel is implemented in the TagCloudPanel and the link list is available as UrlTrendPanel.

Of course it would be nice if we would get the accumulated score of every link instead of a simple ‘count’ to prevent spammers from reaching this list. For that, look into this JIRA issue and into the StatsComponent. Like I explained in the JIRA issue this nice feature could be simulated by the results grouping feature.

4. Rss feeds

If you log into at jetwick.com you’ll see this idea implemented. Every user can have different saved searches. For example I have one search for ‘apache solr’ and one for ‘wikileaks’. Every search could contain additional filters like only German language or sort against retweets. Now the task is to transform that query into a facet query:

  • insert AND’s between the query and all the filter query
  • remove all date filters
  • add one date filter with the date of the last processed search (‘last date’)

Then you will see how many new tweets are available for every saved searches:

Update: no need to click refresh to see the counts. The count-update is done in background via JavaScript.

Conclusion

There are a lot of applications for faceted search. It is very convinient to use them. Okay, the ‘local parameter hack’ is a bit daunting, but hey: it works 🙂

It is nice that I can specify different facets for every query in Solr, with that feature you can generate personalized facets like it was explained under “rss feeds”.

One improvement for the facets implemented in Solr could be a feature which does not calculate the count. Instead it sums up a fieldA for documents with the same value in fieldB or even returns the score for a facet or a facet query. To improve the use case “Trending keywords or links”.

Poor Man’s Monitoring for Solr

For jetwick I’m the developer, PR agent and sadly also the admin ;-). All in one, at once. Here is a minor snippet to get an alert email if your solr index is either not available or countains too few entries. And get a resolved mail if all is fine again.


cd /path/
FILE=bla.log
EMAILS="your@email.here"
SUBJECT="OK: jetwick"
STATUS=OK

CNT=`wget --http-user=user --http-password=password  -T 10 -q "http://your-host.com/solr/select?q=&rows=1&wt=json" -O - | tr ',' '\n' |grep numFound|tr ':' ' '|awk '{print $3}'`
if [ "x$CNT" == x ] || [ "$CNT" -lt 500000 ]; then
  SUBJECT="CRITICAL: check http://your-host.com/solr"
  STATUS=CRITICAL
fi

PREV_STAT=`cat .status`

if [ "$STATUS" == "CRITICAL" ]; then
if [ "$PREV_STAT" == "OK" ]; then
cat $FILE | mail $EMAILS -a $FILE -s "$SUBJECT. doc count was only $CNT"
fi
echo CRITICAL > .status
else
if [ "$PREV_STAT" == "CRITICAL" ]; then
cat $FILE | mail $EMAILS -a $FILE -s "SOLVED: http://your-host.com/solr"
fi
echo OK > .status
fi

echo $STATUS > .status

add via this via crontab -e

*/2 * * * * /path/check-health.sh

If you look at the code there is one mini hack which is necessary if the solr index is down and the CNT is empty:

"x$CNT" == x

Jetwick Twitter Search is now free software! Wicket and Solr pearls for Developers.

Today we released Jetwick under the Apache 2 license.

Why we made Jetwick free software

I would like to start with an image I made some years ago for TimeFinder:

This is one reason and we are very interested in your contributions as patches or bug reports.

But there are some more interesting opportunities when releasing jetwick as open source:

  • Open architecture: several jetwick-hosters could provide parts of the twitter index and maybe at some day we can have a way to freely explore all tweets at twitter in the jetwicked way
  • Personalized jetwick: every user has different interests. If you only feed tweets from searches of terms that your are interested in and also only your timeline, then you will be able to search this personalized twitter, sort against retweets, see personal URL-trends, etc.
    This way you’ll be informed faster, wider and more personalized than with an ordinary rss feed or the ordinary twitter timeline. Without reading a lot of unrelated content. If jetwick would stay closed then this task would be too resource intensive or even impossible to convince every user.

In our further development we will concentrate on the second point, because then jetwick will have at least one user

Explore Jetwick

Why you should install Jetwick and try it out?

First you can look at the features and see if something interesting – for you as a user – is shown.

For developers there could be the following things (and more) worth to be investigated:

Jetwick can be used as a simple showcase how to use wicket and solr:

  1. show the use of facets and facet queries
  2. show date facets as explained in here
  3. make autocompletion working
  4. instant results when you select a suggestion from autocompletion as explained in this video

If you are programming some twitter stuff you should keep an eye on the following points:

  • spam detection as explained in this post
  • how you can use oAuthentication with twitter4j and wicket
  • transform tweets with clickable users, links and hashtags
  • translate tweets with google translate

If you are new to wicket

  • Jetwick is configured that if you run ‘mvn jetty:run’ you can update html and code and you can hit refresh on the browser 1-2 seconds later to see the updated results. For css it will be updated immediately
  • query wikipedia and show the results in a lazyload panel

Some solr gems:

  • simple near realtime set up with solr. And that although we make heavy usage of facets where a lot autowarming is required.
  • if you re-enable the user search you can use twitters person suggestions on your own data. I’m relative sure that twitter uses the ‘more like this’ feature of lucene that jetwick had implemented with solr.

fluid database and the PermGenSpace checker

  • fluid update of your database from hibernate changes (via liquibase). Hint: at the moment we only use the db for the ytags
  • a simple helper method ‘getPermGenSpace’ to check if reload is possible

The following interesting issues are still open:

  • using a storage for tweets (mysql or redis or …). This will increase the index time dramatically, because we had to switch to a pure solr solution (we had problems with h2 and hibernate for over 4mio tweets)
  • a mature queue like 0mq and protobuf or something else
  • a ‘real’ realtime solution for solr, if we use solr from trunk

Search any Twitter Account

There are a lot of services offering the same, even offering archiving but they often need registration.

Now with jetwick it is easy to search any account you like . E.g. try my account. To do the same for your account go to Jetwick, click ‘login’, allow jetwick access to your account (you can revoke it at any time and we won’t misuse it or even post tweets etc) and then click “grab tweets”.Then you will see something like

After this procedure you can search the whole history of the tweets easily.

Why do you want to grab tweets from other users? With that you can easily see about which topic a user tweets, on the right side. Again see “Words related to your query” of my account:

PS: Jetwick is now free software … you can host your own and play around!

Pro und Kontra Kernenergie

[Update] Dieser Post wurde vor der Katastrophe in Fukushima verfasst.

Kein Thema dieser Relevanz verdient Schwarz-Weiß-Malerei. Daher heute und hier tiefsinnige Gedanken zu dem heiß diskutierten Thema der Kernenergie in Deutschland. Ich will damit gerne eine sachliche Debatte anstoßen – noch lieber wäre es mir jedoch, wenn die Physikerin Frau Merkel eine solche Versachlichung anstoßen würde, welche dann am Besten in einem bundesweiten Volksentscheid für oder gegen Laufzeitverlängerung münden sollte.

Ich gehe nun auf einzelne Aspekte ein, die immer wieder in den letzten Monaten aufgekommen sind.

1 Demokratie

Es ist ein schlechtes Zeichen, wenn es in der Regierung Geheimverträge mit Atomkraftlobbyisten gibt und diese auch noch innerhalb kürzester Zeit durchgeboxt werden sollen – vorbei am Bundesrat. Auch der Atomausstieg ist so durchgeboxt worden. Aber kann dies als Rechtfertigung für die Regierungsentscheidung dienen? Und wie kann die Regierung gegen ihr Volk entscheiden: “77 % der Deutschen sind gegen eine Laufzeitverlängerung von 15 Jahren oder mehr, 48 % sind gegen jegliche Laufzeitverlängerung (Sommer 2010).”  – aus Wikipedia. Die Regierung rechtfertigt diese ‘Umgehung’ des Bundesrates indem sie sagt, dass dies Angelegenheit des Bundes sei. Die höheren Ausgaben z.B. für Castortransporte müssen allerdings die Länder tragen. Ein Widerspruch?

Weiterhin ist der Druck, den die Atomlobby im August auf die Regierung ausübte, sehr brisant: “Im August 2010 drohten die Energiekonzerne mit dem sofortigen Ausstieg aus der Atomenergie: Sie wollen sofort alle Meiler abschalten, sollte die Bundesregierung bei ihren Plänen für eine Brennelementesteuer bleiben. Zuvor hatten die Stromversorger Versorgungslücken prognostiziert, sollten ihre Kernkraftwerke wie im „Atomkonsens“ geplant vom Netz gehen.” – aus Wikipedia.

Es wird auch eine Studie geben “pro Verlängerung der Atom-Laufzeiten” – teilfinanziert durch die Atomlobby, siehe Zeit.de. Aber irgendwie ist dieses Atomlobby-Regierungs-Techtelmechtel auch verständlich, es hat ja schon so angefangen – siehe Zeit.de.

PS: Geheimverträge scheinen in der deutschen Atomkraftpolitik durchaus üblich zu sein: “Der sog. Atomkonsens bietet den Betreibern die Möglichkeit, vor allem die Laufzeit der ältesten AKW zu Lasten neuerer Anlagen zu verlängern. So erreichte die EnBW durch eine Geheimabsprache zwischen BK Schröder und dem Vorsitzenden der EnBW Goll für das älteste deutsche AKW in Obrigheim eine Betriebsverlängerung um 2 ½ Jahre.” – aus antikwo.wosiweb.de und spiegel

2 Risiko

Wir hatten uns im Physikstudiumetwas intensiver mit den verschiedenen Kernkraftwerkstypen auseinandergesetzt. Dabei stellte sich heraus, dass der Reaktor in Tschernobyl ein spezieller, schon von der Physik her, unsicherer Typ war.

Das größte Risiko war und ist allerdings der Mensch. Bei Tschernobyl kamen zusätzlich zu physikalischen Mängeln andere schwerwiegende Probleme hinzu: Unwissenheit, Bedienungsfehler, Vorschriftsmissachtungen etc. Wer allerdings denkt, dass Tschernobyl der einzige atomare Unfall dieses Ausmaßes war, der täuscht sich: eine Liste ist hier oder hier etwas übersichtlicher zu finden. Interessant ist dabei der Unfall in der Anlage Majak, dieser wurde mehrere Jahre lang vertuscht. Auch in Deutschland, Amerika und Großbritannien wurden Störfälle mitunter Jahrzehnte lang verschwiegen. Das ist auch eines der Gründe, warum niemand mit gesundem Menschenverstand seine Kinder in der Nähe eines Endlagers oder AKWs spielen lassen würde. Nicht einmal ein Atomkraftbefürworter, denke ich.

Die deutschen Reaktortypen lernten wir auch kennen: die Leichtwasserreaktoren bei denen schwach angereichertes Uran (4%) notwendig ist. Sogar die Natur selbst schuf ähnliche Kernreaktoren. Diese Leichtwasserreaktoren sind zwar prinzipiell sicher, das Restrisiko Mensch bleibt jedoch bestehen. Eine besonders interessanter und inhärent sicherer Reaktortyp ist der sog. Kugelhaufenreaktor, bei dem es jedoch technische Probleme in Deutschland gab, wodurch ein Betrieb hierzulande ausgeschlossen werden kann.

Der radioaktive Abfall (Atommüll) wird uns folgende Probleme bereiteten:

  • Bei den Endlagern gehen wir ein hohes Risiko ein. Wer kann politische, geologische und finanzielle Sicherheit für diesen viele Jahre garantieren? Siehe Punkt 3 zum wirtschaftlichen Aspekt
  • Wiederaufbereitungsanlagen sind ein weiteres Risiko (siehe auch diese Referenz) und vervielfachen die Menge an radioaktiven Müll ganz erheblich.
  • Abgereichertes Uran hat also die ungewöhnliche Eigenschaft, daß auf lange Sicht seine Gefährlichkeit zunimmt – ein Effekt, der bei der Entsorgung zu berücksichtigen ist.” aus Abgereichertes Uran – Abfall der Kerntechnik. Dort wird auch auf das Große Risiko von Wiederaufbereitungsanlagen beleuchtet und eine pikante Notiz gemacht: “Die Verwendung von Uran in Alltagsartikeln schien dagegen schon längst Geschichte zu sein, als 1999 in Frankreich in gelbem Email-Pulver aus aktueller Produktion abgereichertes Uran als Farbstoff entdeckt wurde”. Wenn man weiter liest könnte man dem auch in Deutschland ansässigen Unternehmen Urenco schmutzige Geschäfte mit Russland vorwerfen.
  • Abgereichertes Uran wird recycelt, d.h. es wird weiter abgereichert und als Behältermaterial für stärkeren Atommüll verwendet oder im Militär als Munition verwendet. Letzteres wird perverserweise als “humane Bomben” bezeichnet [Interview], da deren Explosion exakt gesteuert werden kann.
  • Radioaktiver Müll wird von vielen Anlagen heutzutage einfach im Meer entsorgt. Weiterhin ist die Belastung durch Atombombenversuche unklar.

Bezüglich des Atommülls gibt es Hoffnung. Vor ein paar Jahren ist in sciencedaily (englisch; für einen dt. Artikel s. welt.de) ein interessantes Verfahren vorgestellt werden, das die sog. Transmutation für den Abbau von Atommüll nutzt. Nachzulesen auch im aktuellen Physik Journal (mit Dank an Herrn Stiegemann!). Das klingt zwar vielversprechend, wird aber auch große Kosten bei der Erforschung und letztlich auch bei der Durchführung mit sich bringen. Vorausgesetzt dieses Verfahren wird wirtschaftlich rentabel und birgt keine weitere Risiken.

Auch die Klimaerwärmung kann und wird den Atomkraftwerken und Endlagern gefährlich werden. Siehe dazu nochmals die Anlage Majak: “Am 9. August 2010 verhängten die Behörden in der Nähe der Anlage den Notstand, weil sich die Flammen der Anlage näherten.”

Es sollten weitere “Angriffsszenarien” eingehender überprüft werden: Terroranschläge, Flugzeugabstürze, Naturkatastrophen, …

Die Haftungssumme von ca. 3 Mrd € im Falle eines Unfalls sollte wegen der oben genannten Punkte noch einmal korrigiert werden. Im Falle Japans (2011) wird sehr deutlich, dass diese Summe im Katastrophenfall für die entstehenden Schäden auch nicht ansatzweise ausreichen würde.

3 Kostengünstig

Atomkraft ist kostengünstig? Für mich als Wirtschaftslaie ist das nicht leicht zu beurteilen. Aber stellen wir uns folgendes Szenario vor:

Nehmen wir eine Halbwertzeit von 10 000 Jahren an (bei Plutonium sind das 24 000 Jahre) und eine permanente Arbeitsstelle, die für diese Zeit auf ein solches Endlager veranschlagt wird. Wozu eine solche Arbeitsstelle nötig ist, wenn doch der Müll sicher unter der Erde verwahrt ist? Vorgeschrieben ist schon jetzt eine Sicherheitszone von mehreren Kilometern um das Endlager herum. Diese Zone muss ständig überwacht werden: Entnahme von Bodenproben etc.

Bei einem Jahresgehalt von 30 000 € sind das 300 Mio € pro Stelle für die Bewachung des Atommülls. Eine Stelle wird nicht ausreichen, es kommen Gefahrenzuschuss hinzu, Umräumaktionen (siehe Fall Asse), Kosten wegen Gegendemonstrationen und Verluste durch das erzwungene Brachliegenlassen dieser Bodenflächen über Jahrtausende.

Wir sprechen außerdem immer nur von der Halbwertszeit. Die Kosten werden also deutlich höher ausfallen als oben angenommen, es sollte von dem 10fachen ausgegangen werden! Nun kann argumentiert werden, dass durch eine Laufzeitverlängerung keine weiteren Kosten entstehen, da Lagerungsstätten ohnehin (auch ohne Verlängerung) bereitgestellt werden müssen. Jedoch muss man sich vor Augen halten, dass für jeden einzelnen Kubikmeter an Brennstäben über 100 m3 radioaktiven Mülls entstehen und uns zusätzlicher Müll auch zusätzliche Kosten und Probleme bereiten wird. Prognosen zur generellen Entwicklung des Atommülls wurden vom bfs aufgestellt. Aufgrund der Laufzeitverlängerung werden mehrere tausend Tonnen neuer Atommüll entstehen. Hier die Zahlen für die Schweiz: 2000 m3 pro Jahr. In Deutschland sind das ca. 3 mal so viel gemäß diesen Aussagen.

In Anbetracht dessen finde ich es entweder bedenklich, dass seitens der Regierung nur ca. 20 Mrd. als Steuer veranschlagt werden oder einfach nur sehr naiv, die Atomkraft als kostengünstig darzustellen. Siehe diesen Wikipediaartikel, die Brennelementesteuer, diesen Spiegelartikel oder diese aktuelle e-Petition.

Oder würden die Energieversorger für diese zusätzlichen Kosten aufkommen? Ich behaupte, dass die Atomkraft in einer freien, transparenten und aufgeklärten Marktwirtschaft keine Chance hätte.

4 Klimaveränderung

Atomkraft wird zur Stromerzeugung verwendet und übernimmt mit Kohlekraftwerken die Grundlasterzeugung. Kernenergie wird als klimaschonend propagiert, da der CO2-Ausstoß viel geringer ist als der von Kohlekraftwerken. Der Anteil von Atomkraft an der Primärenenergieerzeugung liegt bei rund 11%. Sollte dieser geringe Anteil die Klimaveränderung bremsen können? Sollten wir die Nutzung von Atomkraftwerken noch intensiver betreiben um z.B. Kohlekraftwerke bei der Stromerzeugung abzulösen?

In Atom-Lüge schreibt die Zeit: Atomkraftgegner sind Ignoranten oder einfach nur naiv. Klimaerwärmung ist viel schlimmer als Atomkraft! Der Artikel ist gut, dieses Argument jedoch nicht. Atomkraft wird nicht deshalb besser oder ungefährlicher weil es etwas noch gefährlicheres gibt. Wer definiert eigentlich, ob Klimaveränderung oder Kernenergie gefährlicher ist? Am Ende das Artikels steht dann genau dies: “Man kann die Gefahren der Atomkraft für größer oder die des Klimawandels für geringer halten, als sie hier geschildert werden. Aber wer im Lager der Atomkraftgegner hätte sich je mit solchen Fragen befasst?

Ganz bestimmt ist es schlecht auf Kosten von anderen Menschen auf dem Erdball den CO2-Ausstoß nicht zu reduzieren. Jedoch behaupte ich, dass Deutschland mit zusätzlichen Energiesparmaßnahmen und einer verbesserten Energieeffizienz technischer Geräte keine neuen Kohlekraftwerke braucht und gänzlich ohne Atomkraft auskommen würde. Studien dazu sind mir leider nicht bekannt. Lieber Leser, wenn Sie Studien kennen, die sich damit auseinandersetzen, fügen Sie diese bitte als Kommentar hinzu. Vorher noch dies bei Wikipedia nachlesen. Die aktuelle, von der Bundesregierung in Auftrag gegebene Studie kenne ich schon.

Weiterhin würde man im Falle eines Atomausstiegs die alternativen Energien stärker subventionieren (müssen). Im Umkehrschluss bedeutet die Laufzeitverlängerung eine noch längere Abhängigkeit nicht nur von der Atomkraft, sondern auch von der Kohlekraft.

Noch etwas: Die Klimaveränderung wird sich negativ auf das Betreiben vieler Kraftwerke auswirken, da z.B. der Wirkungsgrad sinkt, wenn die Temperatur der Flüsse steigt. Gefährlich wird es, wenn Feuer, große Hitze, ungeheure Windstärken oder Sturmfluten dort auftreten, wo sie niemand vermuten würde. Hier ein aktuelles Beispiel aus Deutschland und das bereits o.g. Beispiel aus Russland.

5 Castortransporte

Hier fange ich mit einem Zitat aus dem Artikel “Sie können die Castoren besichtigen” von jetzt.de an: Während des Transports hat es sogar ein Vertreter von Greenpeace im Interview gesagt: ‘Wir wissen, der Zug kommt an. Aber es geht nicht um den Zug. Es geht um die Atompolitik.’

Dennoch: Hier werden auf jeden Fall zu viele Steuergelder in die Grube gefahren. Aber nicht nur die Demonstranten tragen Schuld daran. Die Regierung sollte einen weiteren bundesweiten Volksentscheid initiieren und sich mit der Endlagerung intensiv auseinander setzen, anstatt das Problem durch Laufzeitverlängerung zu vertagen. Dabei könnten wir uns die Schweiz als Vorbild nehmen: “Als wesentliche Bausteine für die relativ unaufgeregte Behandlung dieses sensiblen Themas gelten die Transparenz und die Mitgestaltungsmöglichkeiten, die das Nachbarland bei der Standortwahl an den Tag legt.” – aus der noz

6 Ausland

Warum Atomkraft in Deutschland abschalten? Danach müssten wir teure und eventuell sogar risikoreichere Energie aus dem Ausland importieren.

Ein starkes Argument, wie ich finde. Allerdings würde ich daraus nicht zwingend schlussfolgern: Atomkraft verlängern! Sondern Atomausstieg für alle! In diesem Sinne, können ja auch Sie, geneigter Leser, über einen Ausstieg nachdenken und auf regenerative Energien umsteigen z.B. beim Strom.

7 Fazit

Gerne können Sie hier sachlich kommentieren. Für weitere Links, die unseren Argumentationshorizont erweitern, bin ich sehr dankbar, egal ob pro oder contra Atomkraft.

Die Recherche hierzu hat zwar die Zweifel reduziert, die ich auch als Physiker an der notwendigen Technik für Kernkraftwerke und Endlagerung hatte. Jedoch haben sich bei mir mit der fortschreitenden Recherche immer größere Zweifel an der politischen Machbarkeit eingestellt. Sogar in einer modernen Demokratie, wie sie Deutschland zum Glück noch ist, befürchte ich, dass Lobbyismus und Intransparenz an der Tagesordnung sind und das Risiko von Kernenergie in untragbarer Weise erhöhen.

8 Weiterführende Links