Ü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
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.
It's quite hard to find a definition of Instrumented Environments online. Here are two.
Instrumented environments provide a sandbox in which ubiquitous computing scenarios can be investigated. Instruments and devices embedded in the environment give things and places the power to display or sense information. They provide the connecting points between the physical world, in which they are located, and the virtual world to which they are connected. In this sense, the instrumentation of an environment augments it without the use of classical AR tools, such as projection or head-worn displays.
For my diploma thesis I tried to give a more pragmatic definition:
Instrumented Environments (IE) are an instantiation of Ubiquitous Computing, focusing on human-computer interaction with physical environments, e.g. a room or a desk. In an instrumented environment the user can view, input or modify data using different interaction modalities (gestures, tangible user interfaces) and different display devices (mobile devices, tablet PCs, wall-sized displays, steerable projectors). Instrumented environments use sensor data to support explicit interaction.
Wimmer: "Capacitive Sensing for Instrumented Environments", Diploma Thesis, 2006
As nearly everyone has a mobile phone today, one actually expects the other to have one. I think that not possessing a mobile phone has already become a stigma. If you do not have one, you require others to adjust their behavior - e.g. they need to be on time, they can not reach you while you are on the go, etc. It's kind of like you were disabled - others have to cater to your limitations. However, unlike someone who is physically challenged, you choose your disability freely. I wonder how long it will take until we expect others to have a navigation system with them. Today, while walking to the university, a car driver asked me for directions. Unfotunately I could not help him. And a small part of my brain said "Bad luck. It's his own fault if he has no GPS in his car."
Disclaimer: I have a mobile phone. I have no problem if someone does not have one. It was only a small part of my brain that thought this negatively. I do not generalize my observations - it just feels as I have described.
I just found a really annoying bug/problem in Opera Mail (submitted as Bug #323363). I'm not sure how many other users are affected. For a while now, each e-mail I sent from my laptop had been marked as spam by the SpamAssassin installation running on our departments mail server. Thus, many people's mail client put my e-mails into the Suspect-Mail folder, hiding them from plain view. SpamAssassin has a rule called HELO_LOCALHOST which is triggered if the sending host authenticated itself as localhost. As I could see from the e-mail headers this rule caused every one of my e-mails to be marked as spam. But why did Opera authenticate as localhost to the SMTP server? My /etc/hostname file contains the correct name of my laptop, and running the hostname command returns the same name. Where did this localhost come from. After some investigation, I found the culprit: /etc/hosts. It had as the first line:
127.0.0.1 localhost my_hostname
This is absolutely correct. The same format (containing localhsot and the real hostname) can be found on many (all?) other (Debian) Linux systems. For some stupid reason, Opera used the first hostname entry for the loopback interface in /etc/hosts for authentication. That seems twice stupid to me. First, Opera should read /etc/hostname for determining the hostname, not /etc/hosts. And, second, Opera should not use the entry for the loopback interface, as it is not even used for sending the e-mail.
Workaround: Change the order of the names for the 127.0.0.1 line in /etc/hosts, so that the first name is not localhost but the actual name of your computer.
The current Flash 9 Browser Plugin for Linux requires the browser to support GTK. As Opera for Linux is QT-based, it does not offer a GTK-API to plugins. Opera 9.5 Release Candidates now implement GTK support. However, Opera 9.5 is far from stable, and not suitable for production use (= my experience). If you have accidentally installed the current Flash plugin (r.115), or your package manager upgraded it automatically for you, this means no Flash support in Opera 9.20. However, there is a quick workaround:
Wir sind ein dynamisches Gewerbe im Bereich der Speditionsabwicklung ! Unsere internationalen Geschäftskontakte werden immer wichtiger. Zur Verstärkung unseres Teams suchen wir einige Mitarbeitera für Warenabwicklung . Sie · wohnen in der EU · verfügen über Engagement, denken unternehmerisch und handeln zielorientiert · haben einige Komputer Kenntnisse und sind tagsüber erreichbar · haben wenigstens 5 Stunden pro Woche frei · sind in der Lage eine Warensendung bis zu 4kg zur Post zu bringen und zu versenden
Unser Gewerbe · bietet Ihnen ein leistungsorientiertes Gehalt und ausgezeichnete Aufstiegschancen · überlässt es Ihnen selbst ,wie Sie Ihre Arbeitszeit planen
Ihr Lohn beträgt ab 2500 Euro monatlich. Falls Sie mehr wissen wünschen oder Interesse an dieser Position haben, schreiben Sie bitte Ihre Bewerbung bzw. Fragen an: rinkya@bossmail.ru
Frau Wüst von der Evangelischen Kirche erklärt auf dem Radiosender SWR3:
Wolken sind Wasser. Und Wasser kann man wiegen. Nehmen wir einmal an, eine Wolke hätte eine Masse von 100.000 Kubikmetern. Bei einer Luftfeuchtigkeit von einem Liter Wasser pro Kubikmeter Luft ergibt das 100.000 Liter Wasser. Ein Liter Wasser wiegt auf der Erde ein Kilogramm. Also wiegt meine mittelgroße Wolke 100 Tonnen. Da bin ich aber froh, dass sie nicht auf die Erde fällt und mich erschlägt. Tut sie aber nicht. Wieso?
Weil mit steigender Entfernung von der Erde die Erdanziehung geringer wird. Und mit geringer werdender Erdanziehung sinkt auch das Gewicht der Wolke. In der Höhe, in der meine Wolke über den Himmel zieht, ist sie in der Tat fast schwerelos und unendlich leicht. Wunder der Physik. Aber in meinen Augen weit mehr: Wunder des Lebens.
Da bin ich jetzt aber mal gar nicht amused. Ich hatte heute beim Saturn am Stachus in München 100 Neon-Knick-Leuchsticks1 für 12,99 Euro gekauft. Vertrieben werden die Dinger von der Firma Hartig+Helling aus Bochum. Hergestellt (natürlich) in China. Man könnte eventuell von einer Mogelpackung sprechen, da die Packung eine Länge von 30 cm suggeriert, die Stäbchen aber nur 20 cm lang sind. Auf der Packung wird nirgends darauf hingewiesen. Die Sticks sind geschlossene Plastikröhrchen, die mit einer zwei verschiedenen Füssigkeiten gefüllt sind. Knickt man sie, so zerbrechen kleine Glaskapseln im inneren. Die Flüssigkeiten vermischen sich und leuchten halbwegs hell. Mit den beiliegenden Konnektoren kann man diese Stäbchen zu Ringen biegen. Die kann man dann z.B. irgendwo aufhängen.
Ich habe das erste, zum Ring gebogene, Stäbchen nach kurzer Bewunderung auf meinen Schreibtisch gelegt. Vielleicht nach einer halben Stunde hat es sich dann in einem unbeobachteten Moment selbständig in der Mitte zerteilt und seine Neonfarbe auf dem Tisch verspritzt:
Das finde ich jetzt nicht so endlos toll. Zum einen hat es einige (zum Glück nicht lebenswichtige) Rechnungen erwischt und den Tisch versaut. Zum anderen habe ich beim Wegwischen der ganzen Soße auch noch einige feine Glassplitter gefunden, die wohl mitsamt der Farbe aus dem Stick geschleudert wurden.
Auf der Packung steht der Warnhinweis:
Der Inhalt kann Kleidung und Möbel dauerhaft verfärben.
Sehr schön. Heute abend wollte ich meinen Kindern ein paar schenken...
Wie gesagt: not amused.
1) Die Sticks die ich gekauft habe haben die Produktnummer FLS 30221.
Torsten Kleinzeasks (in German) who ever considered to put his task bar not at the top or bottom, but on the left or right edge of the screen. With 16:9 screens this makes quite some sense.
For many years now my task bar sits on the right edge of the screen. In KDE this works quite nicely. Only some applets are not (yet) displaying correctly.
I've also placed my tab bar in Opera on the right side. This has two main benefits:
You can keep more tabs open (about 50 with the great Breeze Simplified Skin)
You can read about 20 characters of the page title - regardless of how many tabs you have open
You have a little more vertical space. As most web sites have a vertical layout you usually do not miss the lost horizontal screen estate.
I suggest turning off Preferences->Advanced->Show close button on each tab. This saves some space on each tab. You don't need the (X)-Buttons as you can close a tab by middle-clicking on it.
There is also a Firefox extension that allows moving the tab bar. I haven't found it within one minute googling, however. If anyone knows its name, please tell me.