"Dabei war nicht an eine „invocatio Dei" im klassischen Sinne einer Herrschaftslegitimation gedacht. Vielmehr ging es schlicht um die Nennung Gottes, wie wir sie auch in unserem Grundgesetz finden. Es ging darum, Gott als Quelle rechtsethischer Werte zur Geltung zu bringen – nicht nur in Deutschland, sondern auch in den Verfassungen anderer Mitgliedsländer der Europäischen Union."
"Dabei war nicht an eine invocatio Dei im klassischen Sinn gedacht, also nicht an eine "Anrufung Gottes" zum Zweck der Herrschaftslegitimation kraft der Verbindung von rechtlich-politischen Normen und christlich-religiöser Überzeugung. Es ging um Schlichteres und Redlicheres: um eine nominatio Dei, um eine "Nennung Gottes" also, mit der Funktion, Gott als eine Quelle rechtsethischer Werte der EU zur Geltung zu bringen."
Gerade hat dpa gemeldet, dass es wohl Anzeichen gibt, dass unser Verteidigungsminister evtl. in seiner Dissertation abgeschrieben habe. Also gleich mal online nach der Dissertation gesucht und gefunden:
"E pluribus unum", "Aus vielem eines" - so lautete das Motto, unter dem vor rund 200 Jahren die amerikanischen Staaten zur Union zusammenfanden, und dieses Motto ist programmatisch zu verstehen. Das Land, das wie kein anderes den Pluralismus auf seine Fahnen geschrieben hat, eröffnet erst auf dieser einheitlichen, gemeinsamen Basis den Spielraum für die Entfaltung von Vielheit.
So schön geht es seitenweise weiter. Wenn man nun ein paar Satzfragmente bei Google sucht:
... dann findet man einen Artikel von einer Frau Dr. Barbara Zehnpfennig aus der Frankfurter Allgemeinen Zeitung vom 27.11.1997, der genau gleich anfängt und genau gleich weitergeht:
Darin findet sich eine komplette Liste der von ihm entdeckten Plagiate. Das von mir entdeckte scheint nicht darunter zu sein. Mein Favorit aus der Rezension:
Der wissenschaftliche Ertrag der Arbeit ist bescheiden.
From 18.-26. March 2010 Alex Wiethoff and I held our second hands-on electronics course "Sketching with Hardware". It was very productive and nice. Here is a short video:
ChatRoulette is a free video chat that connects you to random strangers around the world. In a usual session you meet bored looking guys that disconnect at once, groups of giggling girls, masked persons, and quite many masturbating men.
But sometimes you also find little gems. Nice people, funny toy animals, minimalistic animations, etc. BestOfChatRoulette.net has a gallery of cool encounters.
When I tried out ChatRoulete, I instantly thought that this would be a great venue for art projects. Something like an anti-WWW: push, not pull, and very real-time. And while there is so much noise, sometimes cool stuff like this one gets dragged out of private conversations and put on Youtube:
I'm still fascinated by how easily people give up privacy, though.
At the usual Town Hall Meeting, everyone gets their say on what is good or improvable at the conference. Below is a short and incomplete recap of the discussion that happened just now.
Andy Wilson suggested shorter talks. 30 minutes would be just too long. General agreement. Probably 20-25 minutes next year. Andreas Butz suggested keeping the conference at three days, nevertheless, so that it is worth the travel time for overseas attendees.
Sheelagh Carpendale suggested introducing an Application Track. There was some discussion on how to implement it, and whether to exclude applications papers from the regular tracks. No concrete result.
Ed Tse asked to better coordinate CfP and publicity.
Gerald Morrison explained the name change from Tabletop to ITS. ITS switched from IEEE to ACM this year (a good move in my opinion). Andreas Butz thinks that ITS is no strong brand. Gerald Morrison: It takes time to build a strong brand. Some discussion.
Hvroje Benko suggested to more actively approach press. Allegedly, Engadget reporters are hiding amongst us
Someone asked why ITS was in Banff instead of Calgary. Sheelagh Carpendale explained that there was not much difference in travel time and travel cost between both. Banff has a nicer view.
The same person suggested including more people from the NUI group forums in the conference. Maybe a Call for Participation for hobyists. Johannes Schöning explained that he had actually contacted some of them. They are not really interested because they no greater value in presenting their work and usually have no one to pay for their participation.
Raimund Dachselt suggested to introduce a competition for hobbyists. Sheelagh Carpendale, Ed Tse, and Gerald Morrison said that there are legal problems with competitions where one could win prizes. It would take more lawyer time to prepare acceptable terms for such a competition. Microsoft did it right on their UIST 2009 competition.
Hvroje Benko asked to not push submission deadlines. Sheelagh Carpendale explained that there was a deadline conflict with CSCW.
Raphael Wimmer (me) was surprised that no one introduced himself when asking questions to the speaker. General agreement to actively encourage attendees to do so. He also suggested adopting some successful components from the TEI conference like short talks (5 minutes) and the explorations track. No actual commitment but maybe consideration.
Raimund Dachselt mentioned that November was a good time for the conference. Someone from the UK mentioned that Thanksgiving was close which was preventing some people from attending. For Europeans the beginning of October would be better because winter terms start mid-October. Because of collisions with many other conferences and deadlines it was agreed that November was the best date. However, they would try to avoid Thanksgiving next year.
For corrections and additions please post a comment or send me an e-mail.
I have just finished the last of three reviews assigned to me for TEI 2010. Sadly, I had to suggest to reject all three. For two of the papers the other reviewers agreed with me, for the third there is no other review yet. I am always relieved if the other reviewers agree with me. It always feels awkward when you recommend a paper and the other reviewers tell you that it is crap. Being the only one who argues to reject a paper is equally awkward. When reviewers agree about the suitability of a paper for the specific conference this is an indicator of a well-defined community. I have done reviews for this year's MobileHCI, too. The reviews were very heterogeneous - not only for the papers that I have reviewed but also for many other papers (as I've heard). There was some discussion whether a conference that does not know what it really wants is worth submitting to. So far I'm pretty happy with the TEI community - while there is much diversity, obviously people agree whether a paper is good enough for TEI or not.
How to really clean a totally clogged Epson printhead?
Blow the ink out of the nozzles!
The problem with Epson inkjet printers is the built-in permanent printhead. Other manufacturers have the printhead attached to the ink cartridges. Epson printers use a built-in printhead that is not changed when replacing the ink cartridge. This seems to allow Epson to use a higher-quality printhead. However, once the printhead's nozzles get clogged the whole printer is non-functional. For more information on the problem and some cleaning tips see this site at inkmagic.com. Most sites suggest to first try the printer's "Clean Printhead" routine. If that does not work it is suggested to put the printhead into water for some hours to dissolve the dried ink.
If you let the ink in the printhead dry in for several months - like I did - you will have trouble getting all the nozzles clean again, regardless of which method you use.
So I did it the brute-force way. That worked out well. Please note that you will have to remove the printhead from the printer. This will probably void your warranty. Do this at your own risk. I have only tried out this method once and have not done a thorough investigation of its consequences. It could well be that your printer will smear ink afterwards - who knows. Please read the comments first. If you tried this method please tell us of your experiences in the comments. If you are still reading along, great
This is the printhead of an Epson Stylus Photo 895EX. You have to remove it from the printer.
To do so:
first remove the ink cartridge
unscrew the screws that hold the printhead to the moving cart
remove the plastic part that covers the ribbon cables
remove the ribbon cables
If you have a different printer model, please figure out for yourself
Soak the printhead in spiritus for an hour or two.
The six lines of small dots are the nozzles where the small ink drops are ejected that create the printed image. One line for each of the colors (including black).
These are the thorns that plug into the ink cartridges. Notice the small holes in them. That's where the ink usually flows in.
Put on end of a small silicon tube over one thorn. Fill in some spiritus into the other end of the tube and gently blow into it. You can probably also use a syringe for this but using your mouth gives you better control. You will notice small colored drops of spirit appearing at some of the nozzles. These nozzles are obviously clear.
Blow harder, really hard. You will see drops apperaring at the other nozzles that were formerly clogged. You have blown out the dried-in ink. Repeat this for the other thorns.
Über 420 Familien von Internet-Fachleuten sprechen sich gegen die Einführung von sogenannten Internetsperren aus und fordern Sach- statt Symbolpolitik.
Wouldn't it be nice to have background music in pubs and clubs that do not make talking to each other impossible? Some kind of music that leaves out the frequencies used for human speech. Would probably sound awkward, though.
If you mark the VCC pin of a component you created in Eagle as a "POWER" pin, it will be automatically connected to the VCC net. If you want to retain control over how you connect your power pins, mark them as "I/O" pins
On a PIC 18F2550 pins RC4 and RC5 only work as digital inputs, not outputs.
These mistakes cost me about two hours of debugging, cutting traces, and rewiring, as well as a bluetooth module that got fried by 5V (when it should have been connected to the 3.3V net).
Der Sport-Journalist Jens Weinreich ist einer der wenigen investigativen Journalisten der Branche und durchleuchtet den Filz aus Profi-Sport, Funktionären und Politikern. Er befindet sich momentan in einem ausufernden Rechtsstreit mit dem DFB-Präsidenten Theo Zwanziger. Jetzt bittet Weinreich um Spenden, da der DFB die juristische Auseinandersetzung wohl absichtlich in die Länge zieht, um ihm finanziell das Genick zu brechen. Wer ein ausgeprägtes Gerechtigkeitsempfinden hat, oder etwas dagegen hat, wenn ein kritischer Journalist von einem allmächtigen Sportverband drangsaliert wird, der möge doch bitte sofort mal den obigen Link anklicken und spenden.
Kurzer Hintergrund: Weinreich hatte Zwanziger letztes Jahr in einem Blogbeitrag - aus aktuellem Anlass - einen "unglaublichen Demagogen" genannt. Herr Zwanziger fühlte sich unglaublich diffamiert und zerrte Weinreich vor Gericht. In zwei Instanzen urteilten die Richter allerdings gegen Zwanziger. Der war beleidigt und ließ eine DFB-Pressemitteilung schreiben, in der mit Unwahrheiten gegen Weinreich agitiert wurde. Diese Pressemitteilug wurde unter anderem an Bundespolitiker und Medien verschickt. Weinreich erwirkte auch gegen diese Pressemitteilung eine Verfügung. Nun versucht der DFB den Rechtsstreit mit mehreren Nebenschauplätzen in die Länge zu ziehen. Eine ausführliche Dokumentation dazu natürlich auf Weinreichs Website.
This should have been a live-blogging experiment. I wanted to blog about what I see and hear at the Tangible & Embedded Interaction (TEI) 2009 conference in Cambridge, UK from 16.-18. February 2009. However, the hotel wifi did not cope that well with 170 computer scientists and designers. Thus, I've only covered part of the first day (see below). For a more complete report see Christian Zöllner's blog.
Like Christian I absolutely enjoyed the conference. The mix of designers, psychologists and computer scientists is pretty awesome. I've come back from TEI with a lot of new ideas and contacts. While TEI is a lot smaller and less prestigious than CHI, it is much more inspiring and useful. Besides the talks there was a whole day of demos. That was absolutely necessary because there were over 30 of them, ranging from cool art projects over tabletop interfaces to sensors and frameworks. There was no "Best Demo Award" like at other conferences because it is simply impossible to decide what's the best out of such a wide range of demos.
Next year's TEI will be from 25.-27. January 2010 at the MIT Media Lab. Unlike the previous conferences, TEI'10 will also offer 'studios', real hands-on workshops for playing with electronics and other cool stuff. The submission deadline is somewhen in August 2009.
There was also some discussion whether to change the conference title from "Tangible & Embedded Interaction" to "Tangible & Embodied Interaction". An informal vote about the name did not show a significant trend towards one term or the other. I prefer the original name because "Embedded" feels more connected to hardware hacking than "Embodied". However, it's the community that makes TEI what it is, not the name.
There were not that many questions after his talk - I think that most people need some time to think about this issue. The slides will be available online.
Session 1 (...)
Session 2
Jörn Hurtienne et al. - Sad is Heavy and Happy is Light - Population Stereotypes of Tangible Object Attributes
metaphors for object attributes
they used Lego parts for their user study
big-small
bright-dark (metaphors only really work with black/white, not with different shades of the same hue)
light-heavy
smooth - rough
Ayah Bdeir's Talk
Arabiia - a cool belly dancer's dress that transforms to a burka
Please read the comments below. They contain a number of important hints and sources for batteries.
Tony repaired his toothbrush using the instructions below and made a short video tutorial!
We have a nice Oral-B Sonic Complete electric toothbrush. Unfortunately, the rechargable battery inside only lasts about two years until it is more or less dead. Asking our vendor how much a replacement battery would cost we were told to just throw away the toothbrush and buy a new one. Great.
So I had to hunt down a fitting battery and replace it myself. If you want to do so, too, follow these steps (sorry, no photos):
Buy two GP100AFH NiMH rechargable batteries (Conrad: #250465)
Solder the solder tail on the positive pole of one battery to the solder tail on the negative pole of the other battery. Try not to heat the battery too much.
wrap both batteries in insulating tape so that you get one long battery
bend the two remaining solder tails in the same direction so that they lie flat on the battery pack.
open the toothbrush by turning the recess in its bottom a little bit counterclockwise (I think). A spring will push out the bottom cap.
carefully remove the bottom cap. Do not damage the wires that connect it to the main part.
push out the main part by pushing inwards the metal bar that protrudes from the top of the toothbrush.
carefully remove the main part from the shell
the battery is soldered to the circuit board. Don't try to solder it off. Instead, cut it off with a small wire cutter. Leave as much of the solder tails attached to the circuit board.
remove the battery
bend the remains of the solder pins so that they provide good contact points for the solder tails that protrude from the newly-built battery pack. If you don't understand what I'm trying to tell, either do what you think is right or send me an e-mail.
put in your new battery pack so that it makes contact with the leftover solder tails from the old pack. Of course, watch the polarity.
try if the toothbrush works again.
if yes: great - carefully reassemble the toothbrush
if not: throw away the mess and buy a new toothbrush
Bookzilla is a German online book shop with a great concept. The website is just a frontend to Libri.de - a big wholesale trader for books. However, any proceeds Bookzilla earns from selling you books are donated to the FSF. A really nice idea. However, being just a store front for another shop can be problematic: Bookzilla/Libri.de are selling e-books. They have many on software development topics. However, all e-books are copy-protected using the MobiPocket format. You can only read these e-books on devices that are supported by MobiPocket. Incidentally, Linux is not among the supported platforms.
Bedeutungen: [1] zur Physik gehörend, Gegenstand der Physik seiend
Im Englischen ist "physical" mal wieder ein False Friend. "Physical" entspricht dem deutschen "physisch", nicht "physikalisch".
Das heißt, dass es in der Regel falsch ist, wenn man von physikalischen Objekten oder Benutzerschnittstellen redet. Richtig ist "physische Objekte". Wirklich.
Aus aktuellem Anlass ist mir ein Spruch von Harald Schmidt eingefallen. Aus der Zeit, als Schmidt noch bei Sat.1 und lustig war. Naja, wirklich lustig ist der Spruch jetzt nicht, aber eingefallen ist er mir trotzdem:
Detlef Parr (FDP) meint (PDF), dass Suchtprävention doof ist, wenn der Staat dadurch weniger Geld einnimmt:
Der neue Glücksspielstaatsvertrag ist eine Missgeburt. Wenn man sieht, dass Günther Jauchs SKL-Show wegen Suchtgefährdung aus dem Fernsehprogramm gestrichen wird und die Umsätze des Landes Sachsen – um nur dieses Beispiel zu bringen – allein im ersten Quartal 2008 bei den Spielbanken um 40 Prozent, bei Oddset und bei schnellen Spielen wie Keno und Plus 5 um 44 Prozent und beim klassischen Lottospiel um 14 Prozent gesunken sind, dann erweist sich dieser Vertrag als riesiges Verlustgeschäft, das durch den geringen Gewinn bei der Suchtbekämpfung nicht annähernd aufgewogen wird.
Wenn die Zahlen von Herrn Parr stimmen, dann hat der Glücksspielstaatsvertrag ja offensichtlich eine erhebliche Präventionswirkung.
Vielleicht sollte sich Herr Parr dafür einsetzen, das TV-Werbeverbot für Zigaretten aufzuheben. Dann kommt wieder mehr Geld in die Staatskasse.
Was kann ich machen, wenn meine GeldKarte defekt ist?
Die Mitarbeiter Ihrer Hausbank können mit dem Bankensonderfunktionsterminal feststellen, ob Ihre Karte einen Defekt aufweist. Sollte der Defekt nicht mehr zu beheben sein, wird Ihnen das auf dem Chip gespeicherte Guthaben auf jeden Fall erstattet.
Als vor kurzem auch der Magnetstreifen auf einmal nicht mehr lesbar war habe ich deshalb die Karte zu meiner Bank - der DKB - eingeschickt, mit der Bitte, das Guthaben auf mein Konto gutzuschreiben.
Dann bekomme ich heute eine E-Mail:
Sehr geehrter Herr Wimmer, der Chip der Karten-Nr. XXXXX läßt sich nicht mehr entladen. Die Geldkarte wird zum Zweck einer späteren Gutschrift (ca. 4 Jahre) auf das Kundenkonto einbehalten. Für Rückfragen stehen wir Ihnen gern zur Verfügung. Mit freundlichen Grüßen
Deutsche Kreditbank AG
Juhuuu, schon in vier Jahren kommt mein Geld wieder aus der Geiselhaft frei. Technische Gründe kann das in meinen Augen nicht haben - das Schattenkonto der Geldkarte wird regelmäßig zwischen Händlern und Banken synchronisiert, so dass nachvollziehbar ist, wieviel noch auf der Karte ist.
Mal schauen, was die auf meine Beschwerde antworten.
Was mich zu der Frage bringt, ob in einer vertrauenswürdigen Wahlmaschine überhaupt mehr als ein Zähler sein darf.
Das hat mich gerade auf eine Idee für “gute” Wahlmaschinen gebracht (auch gleich als Kommentar bei ihm gepostet):
Jede Wahlkabine hat mehrere Urnen, für jeden Kandidaten oder jede Partei einen. Jeder Wähler bekommt bei seiner Identifizierung eine Anzahl spezieller Münzen. Er hat prinzipiell einen Anspruch darauf, sich diese zufällig aus einer Menge herauszupicken. Jede Münze repräsentiert eine Stimme. Die Münzen wirft der Wähler dann in der Wahlkabine in die Urnen. Die Urne hat eine Elektronik, die überprüft, ob eine Münze valide ist - ähnlich dem Münzchecker im Zigarettenautomat. Wenn dies der Fall ist, fällt die Münze weiter - an einem Sichtfenster vorbei - in die Urne.
Nach der Wahl werden die Urnen einfach gewogen, und das Nettogewicht durch das Gewicht pro Münze geteilt, um die Anzahl der Stimmen in der Urne festzustellen. Wenn nötig oder gewünscht, kann auch nachgezählt werden.
Vorteile:
schnelle Auswertung (_das_ Argument für Wahlcomputer)
Nachzählbarkeit
Wähler kann korrekte Stimmabgabe verifizieren
Nachdem die Münze am Sichtfenster vorbeigefallen ist, ist die Wahlentscheidung nicht mehr nachprüfbar
intuitiv (behaupte ich mal)
Elektronik kann das Wahlergebnis nicht manipulieren
Mögliche Probleme:
schwieriger umzusetzen bei komplexen Wahlsystemen - da müsste man mal überlegen
es muss organisatorisch oder technisch sichergestellt werden, dass niemand mehr Münzen einwirft, als er darf. Wenn jemand das macht, erkennt man es aber am Unterschied zwischen ausgegebenen und eingeworfenen Münzen.
der Münzchecker könnte prinzipiell mitloggen, wann eine Münze eingeworfen wurde. Dagegen hilft teilweise eine Offenlegung der Baupläne, und Versiegelung der Münzchecker. Dann wäre das Auslesen nur unter extrem hohem Aufwand (pro Gerät) machbar.
Mit relativ geringem Aufwand könnte man so die Wahl intuitiver machen und die Auswertung beschleunigen, ohne Wahlcomputer zu verwenden. Die erwähnten Sicherheitsprobleme sind meiner Meinung nach auch nicht deutlich größer als bei der aktuellen Papierwahl. Und deutlich geringer als bei Wahlcomputern. Vor allem lassen sie sich kaum zur großflächigen Manipulation einer Wahl nutzen.
Lustig. Am Freitag, 3. Oktober haben die Geldautomaten von 150 Sparkassen in Nord- und Ostdeutschland kein Geld mehr rausgegeben. Grund war angeblich ein Stromausfall.
Heute, Samstag, 4. Oktober, waren zumindest im Münchner Osten (Laimer Platz) die Geldautomaten von mehreren Banken außer Betrieb. Meine Frau hat es bei HypoVereinsbank, Postbank und Münchner Bank (= Volksbank) erfolglos probiert - genau wie Dutzende anderer Kunden. Grund waren angeblich "technische Probleme". Dafür gingen wenigstens die Automaten bei der Sparkasse. Dort bildeten sich dann zwangsläufig lange Schlangen.
[FDP-]Spitzenkandidat Martin Zeil erneuerte nach der Wahl sein Koalitionsangebot an die CSU: Er sehe "für andere Koalitionen keine ausreichenden Übereinstimmungen".
Herr Herrmann hat auf meine Frage, weshalb er denn Killerspiele für alle Deutschen verbieten will, geantwortetwas geschrieben.
Kern seines Beitrags ist:
Die Herstellung und Verbreitung von Alkohol mit dem Herstellen und Verbreiten von "Killerspielen" generell gleichzusetzen, halte ich jedoch für sachlich verfehlt, denn hier geht es um etwas völlig anderes. Die bayerische Initiative gegen "Killerspiele" richtet sich gegen Machwerke von abstoßender Brutalität und Grausamkeit, bei denen es darum geht, am Bildschirm grausame oder die Menschenwürde verletzende Gewalttätigkeiten zu begehen. Gegen solch moralisch und ethisch abstoßende Werke nicht vorzugehen und damit zu rechtfertigen, dass man dies nicht auch gleichermaßen gegen die Herstellung und Verbreitung von Alkohol tue, wäre so, als ob man Äpfel mit Birnen verwechselt und wäre Unfug.
Wenn ich das richtig verstehe, sagt Herr Herrmann, dass er ja gegen die Killerspiele doch nicht deswegen vorgeht, weil sie vielleicht die Jugendgewalt erhöhen, sondern eigentlich, weil es "moralisch und ethisch abstoßende Werke" seien.
Ich will jetzt nicht die moralischen und ethischen Implikationen von Alkoholkonsum erörtern.
Ich finde Gewalt in Computerspielen auch nicht toll. Aber ich sehe akut keinen Anlass für einen §131a StGB. Ich halte die existierenden Regelungen für ausreichend. Moral kann man nicht durch Sondergesetze erzwingen. Und erst recht sollte ein Innenminister nicht Argumente an den Haaren herbeiziehen um seinen Steckenpferdparagraphen zu promoten.
Ach, ist ja eh wurscht.
Full Disclosure: Ich konsumiere sowohl Alkohol als auch Egoshooter. Beides in Maßen.
Die folgende Frage habe ich eben auf Kandidatenwatch dem bayerischen Innenminister gestellt:
Sehr geehrter Herr Herrmann,
Im Interview mit ZEIT Online vom 5.9.2008 äußern Sie die Ansicht, dass sogenannte "Killerspiele" komplett verboten werden müssten. Eine Altersbeschränkung reiche nicht aus. Sie begründen Ihre Haltung mit zwei Argumenten: (a) "[...] wenn Spiele auch nur zu einem bestimmten Prozentsatz ein höheres Maß an Jugendgewalt auslösen, dann ist das Grund genug, sie zu verbieten. " (b) "Wenn ein 18-Jähriger ein Spiel in der Hand hat, gibt er es am nächsten Tag an 17-, 16- und 15-Jährige weiter."
Ungefähr 27 Prozent aller Fälle von Gewaltkriminalität in Deutschland wurden 2007 unter Alkoholeinfluß begangen [2]. Ungefähr 24 Prozent aller Fälle von Jugendkriminalität waren Gewaltdelikte [3]. Eine Studie [4] in der Schweiz hat ergeben: "Bei Jungen ist rund ein Drittel der verübten körperlichen Gewalt alkoholbedingt, bei Mädchen sind es sogar zwei Drittel."
Es ist also anzunehmen, dass auch in Deutschland mindestens ein Drittel der Jugendgewalt alkoholbedingt ist. Meiner Erfahrung nach gibt es auch genügend 18-Jährige, die Alkohol an Minderjährige weitergeben.
Meine Fragen: 1. Stimmen Sie der Aussage zu "Alkoholkonsum bei Jugendlichen löst ein höheres Maß an Jugendgewalt aus"? 2. Sind Sie demnach für ein striktes Alkoholverbot (für alle Bürger) in Bayern? 3. Falls nicht, in welcher Hinsicht hinkt mein Vergleich von Spielen mit legalen Drogen?
Technical support centers usually have a knowledge base. It contains a large number of symptoms and solutions for common problems. When a team member encounters a new problem, she can look it up in the knowledge base. If she can not find it she needs to resolve the problem using her own experience. Once solved she enters the problem description and her suggested solution into the knowledge base to help other team members resolving this problem.
This does not scale infinitely, however. Once you have got several problems with one or more common symptoms it gets increasingly difficult to find the correct problem for your symptoms. For example, a not working internet connection can have dozens of primary causes. Just searching for the terms "internet down" in your knowledge base won't help you much. A solution to this problem are 'wizards'. They guide you in determining the cause of a symptom by asking you questions like "Can you ping the router?" or "Can you resolve example.com?". However, such a wizard has to be written and updated for every problem domain. Someone who has a vast knowledge of problems and solutions hard-codes his problem-solving algorithm into such a wizard.
But what about symptoms of problems noone knew about when writing the wizard? What about problem domains where noone has written a wizard yet?
20Q is a pretty cool online game. The computer asks you to think about an object (e.g. a bath tub). It will then ask you twenty questions about this object (e.g. "Is it larger than a cat?", "Can you eat it?"). After yu have answered these questions the computer will try to guess the object you think of. And it guesses the correct solution almost every time. Behind the curtain a neural network is at work. It selects possible solutions to your answers based on the answers other people have given. If the neural network does not know of an object yet, it will ask you for its name and a question-answer pair which would help determining it. The more people play this game the more gaps in 20Q's knowledge get filled. I'm absolutely impressed.
Couldn't we use such a neural network for searching knowledge bases? Like in 20Q the network would act like a wizard, asking you some questions about your problem and providing you with a possible solution. If it does not know of a solution yet, the neural network will ask you to find out yourself - and afterwards enter the solution and a question leading to it.
I've carried this idea for several years now. Do you know of any implementation? If not, this might be a nice project. Feel free to take the idea and get immensely rich.
For the new revision of CapToolKit I wanted to store all user-modifiable configuration variables in EEPROM. The user can change these settings over a plain-text serial interface. Typing "S↵" should store everything to EEPROM while "R↵" should restore all variables to the values stored in the EEPROM. Here's what I've done (many variables removed for brevity). Im sure there are many similar or better solutions for this task - if you happen to know one please let me know.
// config.c
// (c) 2008 Raphael Wimmer
// licensed under GPL v2 or later
// do not include "configuration.h"
#include "eeprom.h"
#include <stdio.h>
#ifndef STORAGE
#define STORAGE 24
// keep this also in sync with config.h!
// of course we could use all 256 bytes of EEPROM.
// but we also have to keep the whole array in RAM
#endif // STORAGE
union {
struct {
unsigned int device_id;
volatile unsigned char use_leds;
volatile unsigned char bm_led_state;
volatile unsigned char bm_led_blink;
volatile unsigned int drift_offset[8];
}; // SUM: 21 bytes
struct {
unsigned char eeprom_data[STORAGE];
};
} cfg;
void save_cfg(){
unsigned int i;
printf("Saving config to EEPROM:\r\n");
for (i=0; i < STORAGE; i++){
printf(".");
ee_write_byte(i, &cfg.eeprom_data[i]);
}
printf(" done\r\n");
}
void restore_cfg(){
unsigned int i;
printf("Restoring config from EEPROM:\r\n");
for (i=0; i < STORAGE; i++){
printf(".");
ee_read_byte(i, &cfg.eeprom_data[i]);
}
printf(" done\r\n");
}
And the header file:
// config.h
// (c) 2008 Raphael Wimmer
// licensed under GPL v2 or later
#ifndef _CONFIG_H
#define _CONFIG_H
#ifndef STORAGE
#define STORAGE 24
// keep this also in sync with config.c!
// of course we could use all 256 bytes of EEPROM.
// but we also have to keep the whole array in RAM
#endif // STORAGE
extern union {
struct {
unsigned int device_id;
volatile unsigned char use_leds;
volatile unsigned char bm_led_state;
volatile unsigned char bm_led_blink;
volatile unsigned int drift_offset[8];
};
struct {
unsigned char eeprom_data[STORAGE];
};
} cfg;
void save_cfg();
void restore_cfg();
#endif // _CONFIG_H
As you can see all configuration variables are stored in a struct cfg. Thanks to union this struct occupies the same space in memory as the struct eeprom_data. Instead of writing every variable to a specified EEPROM location I write the whole eeprom_data array. Restoring the variables is done the same way. Be aware that the union definition in config.c and config.h is different: The keyword extern in the header file tells the compiler that this union will be available from some other object file (i.e. config.o) when linking.
Advantages: [*] no need to assign EEPROM positions manually [*] no danger of assigning the same EEPROM byte twice. [*] easily extensible [*] storing/restoring works either completely or not at all - this avoids stupid bugs.
Disadvantages: [*] array size should be adapted to your needs. you usually don't need 256 bytes of config data - and you usually don't want to spend 25% of your RAM for it. [*] config.c and config.h have to be synchronized each time you add a variable [*] no simple way to store/restore single variables
One caveat: C does not guarantee that the members of a struct in memory are in the same order as in your code. You can not expect that the first byte the struct occupies is also (part of) the first variable in your struct. AFAIK, SDCC does order the variables in memory in the order you wrote them. But don't expect it or any other C compiler to behave this way. For my example this caveat does not apply. I do not care in which order the variables are in memory. All this code requires is that the variables stay at the same place in memory all the time. Lacking a MMU the PIC does not have any other choice.
If you want to define EEPROM contents in your hex-file:
Die Uni Regensburg ist in den 60er Jahren zackig hinbetoniert worden. Das hat zur Folge, dass es seit längerer Zeit an allen Ecken und Enden tropft, bröckelt und kracht. Nachdem endlich 400 Millionen Euro für die Renovierung bewilligt wurden, baut die Uni kräftig um. Als Informationsportal für Studierende und Mitarbeiter dient baustelle.uni-regensburg.de. Das Portal ist wirklich gut gemacht, wirkt sehr ambitioniert und hat einen lockeren Stil - ohne "trendy" wirken zu wollen. Für mich ein Musterbeispiel wie gute Kommunikation gemacht wird.
Auf den ersten Blick ist unsere Uni hässlich. Auf den Zweiten auch. Auf den Dritten… naja, interessant. Nach vier Semestern hat man sich an den Anblick gewöhnt, zum Schluss gewinnt man ihr noch ein melancholisches ‚eindrucksvoll‘ ab. Muss das sein?
Fürwahr, ihre Ästhetik ist eine klobige, Kenner würden ihre Anmut vielleicht als skulptural abgegrenzt und angehend subtil bezeichnen – der Nicht-Kenner richtet beim Gang über den Campus den Blick lieber stur zu Boden. Was er dabei verpasst? Ein Kunstwerk am anderen, insgesamt fast 40 Stück.
Glaubt ihr nicht? Wir auch nicht, und deswegen machen wir uns jede Woche einmal auf die Suche nach der Kunst am Campus
Es gibt zwei schöne, neue Entwicklungen, vor denen sich jeder Universitätsprofessor - und damit auch jeder seiner Mitarbeiter - fürchtet:
Klagen von Studenten wegen Formfehlern. Durch die sehr viel stärker formalisierten Bachelor-Studienordnungen wird der Spielraum bei Gestaltung und Bewertung von Übungen und Klausuren extrem eingeschränkt. Falls nun auch nur ansatzweise etwas gefordert wird, das über die Beschreibung in der Studienordnung hinausgeht, könnte ein Student klagen. Weil jede Note im Bachelor-Studium in die Endnote eingeht, ist eventuell auch ein gewisser Anreiz da, die Rechtsschutzversicherung mal anzurufen. Ob das jemals ein Student machen wird, weiß ich nicht. Es ist hier wie mit den Terroristen: Es wird wohl nie passieren, aber Angst haben kann man trotzdem.
Gesteigertes Anspruchsdenken. In den letzten Jahren haben viele Bundesländer Studienbeiträge (vulgo: Studiengebühren) eingeführt. Aus Sicht eines lehrenden Mitarbeiters haben diese Studienbeiträge drei Effekte:
Ein bisschen mehr Geld für zusätzliche Tutoren und die ein oder andere Anschaffung zur Verbesserung der Lehre.
Viel weniger Zeit und Engagement seitens der Studenten
Deutlich höhere Ansprüche an die Lehrstühle bezüglich Service, Ausstattung, etc.
Heute kam jetzt zum ersten Mal das Argument, auf das ich schon seit April 2007 gewartet habe:
[...] ich sehe nicht ein dass ich für 592 euro Studiengebühren an ein Rechner nicht komme!!!!
Hintergrund war, dass ich einer Studentin Reservierungen für einen Labor-Arbeitsplatz gestrichen habe, da sie sich nicht an die Regeln für die Reservierung hielt. Ihre Reservierung hätte außerdem andere Studenten erheblich beeinträchtigt.
Very strange but wonderful experience today: While I was walking down the stairs to the underground, suddenly the world became silent for a few seconds. No car was driving by, no foot steps to be heard - nothing. After a few seconds someone walked up the stairs, destroying this great moment. I think I've been living in a city for too long
Ab und zu bin ich mit einer Firma nicht ganz zufrieden. Dann blogge ich das. Ab und zu bin ich aber tatsächlich auch sehr zufrieden. Dann blogge ich das ebenfalls:
Die Firma Rabenring vertreibt über ihren Online-Shop Bühnenmolton, Projektionsfolien und diverses Zubehör (Spanner, Original Gaffa-Tape, etc.). Außerdem konfektionieren sie den Molton Für die Video-Praktika zur Vorlesung Medientechnik haben wir bei Rabenring einen Greenscreen-Backdrop, 300g/m² mit 5 x 3 Metern Größe bestellt. Diesen haben wir dann auch noch rundum einfassen und mit Ösen versehen lassen. Endpreis waren 195 Euro zzgl. Mwst. Meiner Meinung nach ein fairer Preis. Und gegen Expressaufschlag (30 Euro) haben wir das Ganze innerhalb von 5 Arbeitstagen erhalten. Wir sind soweit ziemlich zufrieden mit Service und Qualität. Nur die Antwort auf unsere erste Anfrage ist nicht komplett auf unsere Fragen eingegangen.
Der Greenscreen von Rabenring, aufgespannt auf unseren selbstgebauten Rahmen. Die Flecken kommen vom Wasser, mit dem wir den Stoff eingesprüht haben, damit die Falten besser verschwinden. Sie sind natürlich nicht mehr zu sehen.
I just had a look at the User Agent Strings the visitors to this blog use. Sorted in order of popularity:
Windows XP Windows Vista MacIntel Mac OS Windows 2000 Windows NT Linux Windows 98 Windows ME iPhone Windows CE iPod Pike Unknown Hiptop PLAYSTATION 3 PSP Series60 Web TV Windows 95 Nintendo Wii SunOS OpenVMS AlphaServer_1000A_5/400 Win32ÿ 5.0 (Windows; es-AR) IRIX64 IP28 Mobile/1A542 Safari/419.3 SCO_SV i386 Win Nitro Mobile/1A543a Safari/419.3 Mac OS X SYNERGY Docomo OpenPDA/Qtopia NEC c228/1.0 HP-UX XP lose64 DTV essence virtual ZX Spectrum Windows Mobile _____ HP-UX 9000/778 QNX x86pc Win64 Liunx Mac OS X 10.5 Vme UNIX SHP "virtual" IRIX64 IP30 RISC OS Windows NT 5.1; SV1; .NET CLR 1.0.3705; FreeBSD Windows XP 5.1 x86 googlebot/2.1 ( http://www.google.com/bo BogusOS W Symbian Haiku BePC IRIX64 IP35 Mac68k 0 iphone apptapp webkit CFNetwork AppTapp NEC e338/1.0 NEC c616/1.0 Win 32 scp6750 Warp 4 BlackBerry http://www.google.com/bot.html Win16 NetBSD MHP1.1 Mac OS X 10.5.2 i386 HP-UX 9000/785 OpenVMS COMPAQ_Professional_Workstation Macintosh WinCEGogi Win256 Warp 4.5 X11 xOS Win3 Windows HellBoundHackersOS Macintosh; U; Intel Mac OS X; en HP-UX 9000/800 NEC e228/1.0 OpenVMS COMPAQ_AlphaServer_DS20E_666_MH Mobile/1A542a Safari/419.3 X11; U; Linux i686; en-US; rv:1.8.1.1 Wi FOMA iphone apptapp webkitCFNetwork OpenBSD
I needed it today and did not find anything like this. The following script combines a template file and a CSV file (see below) and sends the output to an e-mail address specified in the CSV file. I used it to send temporary passwords to ~100 students. Hope this example helps somebody.
#!/usr/bin/python
import smtplib
import csv
# CONFIG
CSVFILE = "accounts.csv"
TEMPLATE = "mail_template.txt"
SENDER = '"Sender Name" <sender@example.com>'
SMTP_SERVER = 'smtp.example.com'
USE_TLS = 0 # for encrypted connection to SMTP server set to 1
AUTH_REQUIRED = 0 # if you need to use SMTP AUTH set to 1
SMTP_USER = 'sender' # for SMTP AUTH, set SMTP username here
SMTP_PASS = 'pass' # for SMTP AUTH, set SMTP password here
# You have to set the following two variables to 0
# in order to actually send the e-mails to the recipients!
DRY_RUN = 1 # do not actually send e-mails but print what would have happened
SAFE_MODE = 1 # if set, all mails wil be sent to RECIPIENTS instead of the address specified in the csv file.
RECIPIENTS = ['sender@example.com']
template = open(TEMPLATE, "r")
csvfile = open(CSVFILE, "r")
mail_template = template.read()
csv_reader = csv.reader(csvfile)
######## Open SMTP session ########
smtpresult = 0 # define it so we do not get an error during DRY_RUN
if not DRY_RUN:
print "Opening SMTP session"
session = smtplib.SMTP(SMTP_SERVER)
#session.set_debuglevel(1)
session.ehlo()
if USE_TLS and session.has_extn("STARTTLS"): # not tested!
session.starttls()
session.ehlo()
if AUTH_REQUIRED:
session.login(SMTP_USER, SMTP_PASS)
######## Send Mails ########
for row in csv_reader:
# adapt these fields to your needs
surname = row[0]
givenname = row [1]
email = row[2]
login = row[6]
passwd = row[7]
# you might want to remove this part:
if passwd == "":
print "Skipping " + login + " - account already existed"
else:
print "Sending mail to " + email
mssg = mail_template.replace("$NAME$", givenname + " " + surname)
mssg = mssg.replace("$USERNAME$",login)
mssg = mssg.replace("$PASSWORD$",passwd)
if SAFE_MODE:
recipients = RECIPIENTS
mssg = mssg + "\r\nThis message would have been sent to " + email
else:
recipients = [email]
if DRY_RUN:
print "[DRY RUN] Sending mail to " + recipients[0]
print mssg
else:
smtpresult = session.sendmail(SENDER, recipients, mssg)
if smtpresult:
errstr = ""
for recip in smtpresult.keys():
errstr = """Could not deliver mail to: %s
Server said: %s
%s
%s""" % (recip, smtpresult[recip][0], smtpresult[recip][1], errstr)
raise smtplib.SMTPException, errstr
The template file looks like this (in German):
From: "Raphael" <example@example.com>
Reply-to: test@example.com
Subject: [MT] Accounts
Hallo $NAME$,
Du erhältst mit dieser E-Mail deine Account-Daten für die Windows-Arbeitsplätze.
Beim ersten Login wirst Du aufgefordert, das Passwort zu ändern.
Benutzername: $USERNAME$
Passwort: $PASSWORD$
Gruß,
Raphael
Bug 327857 - Master password not accepted at startup Opera asks for my master password but does not accept it. As the dialog is modal, I can not change the password in the settings. Pressing cancel makes another password dialog appear within a second. If I try too often, and sometimes if I press cancel, Opera segfaults with either:
opera: Parentless modal/blocking dialog assigned to ToplevelWindow of 1 candidate(s)
opera: Parentless modal/blocking dialog assigned to ToplevelWindow of 1 candidate(s)
opera: Parentless modal/blocking dialog assigned to ToplevelWindow of 1 candidate(s)
opera: Parentless modal/blocking dialog assigned to ToplevelWindow of 1 candidate(s)
Segmentation fault
or
opera: Modal/blocking dialog with no parent detected
Segmentation fault
Bug 32786? - Can not disable the master password Opera should accept a new empty master password, clearing it. Opera requires me to enter at least six digits, does not accept an empty password. Additionally, there is no aparent method for clearing the master password (so that someone can set it again without knowing the old one)
Bug 327868 - Master password needs to be complex Try to enter a master password with less than six characters or without at least one number and one letter in it I would expect Opera to warn me about an insecure password, but to accept it if I insist on using it. At least I would expect an option to do so in opera:config Opera does not accept 'weak' master passwords. This is surely a good feature for many users. However, in some cases, I want an insecure, simple password. In my case, I want to have a password that hinders a passer-by to log in to password-protected sites using Wand. However, as I want to be asked for my password every time I use Wand, I want a password that I can type quickly. Something like "ffv" would be sufficient for my security concerns. The requirement to use at least one number in the password makes such a password hard to type quickly. This actually prohibits using such a password every time one logs in using Wand. Please accept also simple passwords if I really want to use one.
Bug 327874 - Opera Bug Tracker not public 1. Encounter a probable bug in Opera 2. Enter a bug report at https://bugs.opera.com/wizard/ 3. Wait for years for Opera ASA to do something about your bug. Maybe they did. But you don't know for sure.
I would like to see title and status of Opera bug reports. This would probably reduce duplicates quite a bit. Additionally, I would not feel left alone with my problems Besides that, it would help people finding workarounds for these bugs and focus discussion in the forums. Currently bug reports disappear into the black hole.