
Voting machines produce results not verifyable by independent people watching the election. This must not be allowed!
So if you are a resident of germany, please sign this Petition an den Petitionsausschuss des Deutschen Bundestags (or the equivalent Ersatzpetition, since we are apparently overloading their system)
Votes must remain verifyable by everybody, not only a handful computer experts!
Demokratische Wahlen mit Wahlcomputern sind nicht machbar (ausser wir währen alle Elektronikspezialisten). Punkt. Bitte vertraut da jemandem, der sich mit Computersicherheit etwas auskennt! Wahlcomputer einzuführen öffnet dem Wahlbetrug massive Möglichkeiten, und das betrogen wird hat nicht zuletzt die CSU in Dachau gezeigt.
Deswegen bitte folgende Petition unterzeichen: Petition an den Petitionsausschuss des Deutschen Bundestags (oder die gleichlautende Ersatzpetition, da wir anscheinend das Petitionssystem überlasten. :-))
WICHTIG - die Petitionsfrist endet heute. Es sind derzeit etwa 45000 Unterzeichner, bei 50000 müsste der Bundestag wohl auf jeden Fall Stellung nehmen zur Petition - es währe toll, diese Marke zu erreichen!
(frührerer Kommentar von mir zu dieser Petition, mit Details)
web.archive.org aka "the internet wayback machine", which gives you access to past versions of a web site, (and thus serves as a mirror for websites that didn't change too recently) is back up.
For more than a year the publicly accessible archives were not update, but they're finally back now. It's a great tool.
When I run cowbuilder (or pbuilder), they mount /proc and /pts in their chroot. Nautilus notices this and places icons for proc and pts on my desktop, which actually is quite annoying...
Dear Lazyweb, how can I tell nautilus to not display these "filesystems" on my desktop?
Get enigma (new version 1.00 beta in incoming, should hit unstable soon) and you won't have time to work for the release anymore.
It's a great game, and it has almost 1000 levels now.
Please help test the beta, and lets delay etch! :-)
This is also the first package I've built with cowbuilder. I don't know if its faster - my new laptop is much faster, and I've been setting up a new development environment. But it works for me.
This is the shortest debian/rules file I've ever written:
#!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mkYes, that is the complete debian build file.
CDBS can very clearly say "nothing special in this package". Everything else in this package is handled by debhelper defaults. Granted, this is a very simple package. But thats what I like about CDBS: don't waste my time (or the time by someone reading the debian/rules file) when it is standard stuff.
When you DJ or - as I do - dance a lot, the beats-per-minute values of songs are interesting. However, counting them manually is a pain, especially if you have lots of them.
GJay is a software that can calculate the BPM (using a clever algorithm from BpmDJ).
However, it stores the information in it's own database. Whenever you move the file, you'll likely have to recalculate it. And so on.
However, the ID3v2 format has a TBPM field for beats-per-minute information, so why not store it there?
gjay from CVS (sorry, the Debian package doesn't include this yet; I also do not know if this works for Windows) has a standalone mode for analyzing.
So I wrote a tiny python wrapper which can mass-process files, runs them through gjay, parses the XML output via ElementTree and tags the files with mutagen. So get the dependencies - gjay from CVS, python-elementtree and python-mutagen - then run my script. Or modify it to suit your needs, it's free software.
[Yes, I am aware that there are songs which change speed. So what? I'm not expecting the BPM value to be exact, or to apply from the very first bit to the last...]
Dear Lazyweb, What is the JSF 1.2 XML-Syntax equivalent for
<img src="<c:url value='/static/foo.png' />" />(this will make the URL relative to your application root, not to your web server; so if the app is installed in /foobar, the resulting URL will be /foobar/static/foo.png)
My preferred solution would have a useful src= value so an XHTML browser can still display the page. Same for CSS stylesheets, links and similar.
Please send me an email at erich@debian.org, I'll update the entry. (Comments are intentially not enabled.)
Thanks.
[Update: at least in apache myfaces, this should work (untested):
<c:url value="/static/foo.png" var="url" />
<img src="${url}" />
However, the template file won't render approximately in a regular browser.
For easy-to-edit templates it would be nice to have an actual value in the src
property. I have an idea how that could work with custom tags...]
Debian unstable now has iceweasel.
Running iceweasel presented me with the pretty message
You've Updated To The Latest Version of Firefox
Great.
Note: Ubuntu has more patches to firefox than Debian, so if Debian is (or: was) violating Mozillas trademark, so is Ubuntu. And probably Fedora. And Redhat. And Gentoo (well, maybe not; from what I know Gentoo is closed to unmodified upstream usually, and not as anal about LSB and desktop integration etc. as the others), ... you name it.
Anyway, go, iceweasel, go.
Alle (!) lästern über die Umbenennung von OpenBC nach Xing und das neue Layout. Vor allem das neue Layout, das nach den üblichen 08/15-Web-2.0-Gratisdiensten aussieht, mit denen OpenBC nichts zu tun hat.
Ich habe mich natürlich gleich in deren geheimste Datenbanken eingeklinkt, und präsentiere euch hier exklusiv den neuen Werbesong für Xing.
Nur dass es wohl eher nicht Ka-Xing macht, sondern sich momentan die User eher aufregen, und sich so ex-openBC vielleicht eher selbst ein Bein stellt. Die Konkurrenz wie die Lokalisten oder das studiVZ (absichtlich ohne Link, ich brauche nicht noch ein sinnbefreites Netzwerk) stehen schon bereit - und haben besseres Marketing. Lokalisten arbeitet da eher viral, während studiVZ mit klassischen Marketingaktionen an die Unis geht.
Ein paar Nette Zitate zu OpenBCXING:
Wozu ein chinesischer Name, [...] Siemens hat sich doch auch nicht in PengPeng umbenannt, um mit den Chinesen ins Geschäft zu kommen.Antwort dazu:
Lustigerweise gibt es in China ein social Network, das PengPeng heisst.
Ausserdem frage ich mich immer, ob es denn nun Ksing ausgesprochen werden soll, oder ex-ing oder vielleicht doch Crossing? Würde doch auch Sinn machen...
Viele Leute haben oder hatten auch bereits Xing auf ihrem Rechner. Um MP3s zu erstellen. Wurde inzwischen von Real gekauft, und ist vielleicht im RealPlayer mit drin.
Aber zugegeben: Passend war der Name "OpenBC" auch nicht. Denn "offen" ist da gar nichts. Im Gegenteil, OpenBC ist ziemlich zu, denn sie hoffen ja, dass jemand bei ihnen Premiumgebühren zahlt, um festzustellen dass das eigentlich gar nichts bringt... Wie wärs mit AlbernBC?
P.S. Zum Thema Business...
job application video
zur Aleksey Vayner story...
My camera has a video function. Nothing special, but it works okay. Actually the image quality maybe is even better than a typical PAL or NTSC camera. There are other drawbacks - tiny microphone, and I can't zoom while recording or handle light changes. So it can't replace a real camera, but it's okay for some limited use cases.
Last weekend there was a Balboa workshop in Munich, with excellent teachers. At the end of the days we recorded the teachers repeating the moves they tought us during the day. A perfect situation to use my camera: good lighting, no lighting changes, no zoom changing needed.
These videos are quite big, due to the limited compression capabilities of the camera. (the video codec they used is MJPG, i.e. the camera just saves 30 jpg images per second). So I decided to recompress them.
I tried transcode first, but it messed up the audio (which played back at double speed). Mencoder worked like a charm. Size savings of a factor of 8-12 are easily possible (well, depending on your camera, YMMV) without much tuning or serious loss in image quality.
Here's the commandline I used:
mkdir out for nam in *.avi; do mencoder "$nam" -ovc lavc -oac lavc -vf hqdn3d \ -lavcopts acodec=mp3:abitrate=48:vb_strategy=1:vbitrate=600 \ -o "out/$nam" done
Notice that I also enabled a noise filter. Due to the nature of MJPEG, there is a certain amount of noise in dark areas, which I don't really care about. Filtering noise both improves compression and image quality IMHO. Depending on your video, of course. Here the dancers are well-lit, just the background isn't; I don't want to see noise in the background amplified by a compression trying to adopt to it. :-)
Kiss or Diss ist ein kleines Projekt, das ich mit Freunden angefangen habe.
Der eine oder andere hier wird "hot or not" kennen, oder einen der vielen Clones davon. Die Besucher der Webseite können Bilder von sich selbst hochladen, und andere Besucher können diese dann bewerten.
Aber Bilder sind langweilig geworden. Mit den "Breitbandanschlüssen" heutzutage ist Video kein Problem mehr. Und auf einem Video sieht man eh viel mehr von der Person: wie sie lacht, singt oder tanzt. Viel cooler.
Kiss or Diss macht genau das, und ist meines Wissens die erste Seite, die das "alte hot or not-Konzept" auf Videos übertragen hat. Mal davon abgesehen dass wir es ein bisschen mit Ajax würzen und über 1000 Videos online haben.
Hochladen von eigenen Videos ist auch sehr einfach: bei YouTube einstellen, bei uns die YouTube URL reinkopieren und ein paar Sekunden später ist es fertig.
Also einfach mal vorbeischauen - aber Vorsicht, es macht süchtig!
Mambo war mal ein Vorzeige-Opensource-Projekt. Ein sogenanntes "Content Management System" für Webseiten.
Aber irgendwann gab es Ärger mit der Firma, die vor Jahren mal Mambo angefangen hatte (und die Rechte an dem Namen besitzt), und die Opensource-Entwickler spalteten sich ab, um das Projekt unter dem Namen "Joomla!" weiterzuführen.
Insofern ist es auch immernoch ein Vorzeigeprojekt für Opensource: man kann den Entwicklern nicht einfach das Projekt wegnehmen.
(Siehe auch Wikipedia über Joomla!)
Lange Rede, kurzer Sinn: Immer wenn ich die beiden Namen lese, muss ich an "Jamba" denken. So in etwa: "Joomla - Mambo = Jamba"? :-)
One more reason not to buy Apple: they spam.
Yesterday and today I received Spam from "insideapple.apple.com". The same mail twice I think; and to the same old old email address. I can even trace back that they bought the email address from the old uni.de student portal site (which has since been sold or relaunched, I don't know).
I unsubscribed yesterday, but received the same mail again today.
Apple, thats NOT the way to go.
Eclipse just doesn't work right for me. I'm so pissed by this crap...
I've been following this tutorial (whoever had the idea to use screenshots for the actual code parts... ever heard of copy'n'paste?).
At one point you need to add a class. A new class. Derived from Object.
So I chose the menu option in Eclipse to, well, add a new class. After pressing "Next" in the wizard, eclipse froze, using 100% CPU.
After killing and restarting eclipse, it had only created an empty file. But since I have to type in the data from the Tutorial anyway, ok.
Next step in the tutorial: edit the faces-config.xml file with the faces-config editor. Sounds easy. I click on the file, open with, faces-config editor. Boom. First some content type error message is displayed, but the details actually list a NullPointerException:
java.lang.NullPointerException
at org.eclipse.wst.sse.ui.StructuredTextEditor.update(StructuredTextEditor.java:3047)
at org.eclipse.jst.jsf.facesconfig.ui.FacesConfigEditor.addPages(FacesConfigEditor.java:396)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:142)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:276)
[... 40 more lines of backtrace ...]
Error handling in Java sucks, too. Usually you just get a 50 lines+ stack trace.
[Update: deinstalling XML buddy resolved the last problem, and I could add a second class without another crash]
Steinar H. Gunderson even threatens kittens because of it, and Steve McIntyre ranted against using CDBS for packaging, claiming that it's much harder to fix bugs in packages that use CDBS.
I have to disagree.
More than once I've given up on fixing a bug in a package because I couldn't decrypt the huge makefiles used for building the package.
For private packages I often switch over packages to CDBS then, so I don't have to fiddle around with a build system noone except the original maintainer understands. And every now and then I fix a bug in Debian, but don't upload it because I replaced the "magic" build system with CDBS magic...
While CDBS does a lot of "black magic" to build packages, it usually does quite a good job. If it doesn't, it maybe even is a bug in CDBS, that happens.
debian/rules files that use CDBS are usually quite easy to read, even easier than traditional debhelper template-based scripts. And that is why I think that CDBS is a good thing: it does a good job at separating package-specific and package-independendant build scripting.
Maybe all we need is more documentation on how to properly fix common issues in CDBS, starting with misplaced or misnamed files etc. CDBS has a lot of hooks, but it's not obvious which hooks to use for which fixes.
(Note that sometimes the fix should maybe be done in the upstream makefile instead.)
On the long run, Debian could use a more unified way of packaging. Debhelper has already unified package building a lot, and CDBS maybe goes one step too far, but ideally we would all be able to understand each others debian/rules.
Ubuntu has been attracting "newbie" users, and also has drawn users away from Debian. Some people are annoyed by Ubuntu because of this - I am not.
Ubuntu users have been happily collecting third-party repositories to get the latest glitz like beryl. Treviño compiled a huge list of them, and made it easy to install (DON'T USE THIS!).
Everybody concerned with security must go mad with just the throught of collecting thrid party repositories for the fun of it. To most of us, it's bad if we have to use any third party repositories...
However, Johan Kiviniemi reacted in an interesting way. His highly experimental repository - setup for some 5 users or so, on his home DSL line - was included in this stupid "every repository I could find" list. Noticing this increase in users, he found out about this madness - and made a package to replace the default wallpapers (and disable wallpaper changing) with this scary warning message.
Sounds like a good plan to me, however many users were pissed by being warned that they've done something stupid...
So: thank you, Ubuntu community, for helping teaching new users that they shouldn't just blindly install software from the internet. :-) and for keeping these users away from Debian.
For my diploma thesis, I'll be extending a tomcat-based wiki.
So I decided to setup a development framework for Tomcat, JSF and all these. What a mess. The installation docs are really really bad etc.
Two hours later, a dozen Eclipse restarts, I might finally have the Eclipse.org Web Tools Platform on my computer. I don't know yet, since I didn't even write a single line of code or metadata yet. I think I've picked my preferred mirror about 20 times by now.
I wish I could just use apt-get. Debian is so nice for installing software... I wish eclipse were a pure opensource project, and there weren't so many companies trying to sell extensions to it. Oh, and I wish it were a native Linux/Unix project, and wouldn't care about working around Windows userunfriendliness by offering an own installer and own update tool and own everything-that-windows-lacks.
[Update: how to install eclipse extensions without going crazy:
mkdir -p ~/.eclipse/eclipse/plugins mkdir -p ~/.eclipse/eclipse/features touch ~/.eclipse/eclipse/.eclipseextensionNow start eclipse, go to Help, Software Updates, Manage Configuration and add ~/.eclipse/eclipse as a location to search at. Note that the folder must be called eclipse and have these two folders and marker file in it.]
Wie ein Mitbewohner von mir gerade erfahren musste, sind DHL und DHL Express so "disjunkt", dass man bei der DHL insbesondere kein Paket abgeben kann, dass per DHL Express verschickt werden soll.
Was jetzt besonders lästig ist, weil man ein Paket bei der DHL ja dann in der Filiale vorbeibringen kann, wenn es gerade passt. Und an den Packstationen wohl sogar 24h am Tag. Und gerade war jemand von der DHL bei uns an der Tür; nur kann er halt das Paket für die DHL Express nicht mitnehmen.
Ich habe den Eindruck, wenn das über die normale DHL verschickt würde wär es schneller... da wär das Paket schon da, bis die DHL Express es mal schafft hier vorbeizukommen wenn jemand zuhause ist...
Kiss or diss, a rather spontaneous project of a few friends of mine and I, has officially launched.
It basically works like famous Hot or Not, except we're doing video, have a much better user interface and are also trendier. Hot or not is so... web 1.0 :-)
You get to see girls and boys (choice is up to you) trying to impress you (or more likely making fool of themselves). To continue to the next video, vote on them. Really simple, but quite addictive because of the contents. There are lots of videos with people dancing. There are some pretty good singers inbetween. If you don't filter out males, you'll occassionally get some nice guitar playing...
There is a certain amount of Ajax in it already, more web 2.0 goodness to come. Tags and such. Ajax is quite useful here, because you can comment or share a video without the page reloading - and thus the flash movie restarting. Definitely a plus in user experience. And since you need flash, your browser should have javascript anyway. There is no way we'll do a Lynx version with aalib, sorry. :-)
P.S. Not all of these videos are "safe for work". Youtube does delete quite some videos, so they all should be okay (though still maybe "inappropriate"), but YMMV. Don't blame us if you get into trouble for watching videos at work. Do it in your lunch break or so. :-)
P.P.S. And don't blame us for wasted hours watching stupid videos, either!
All mozilla-based browsers have a feature called "userContent.css". It was designed to allow you to override page CSS with your own, e.g. for accessibility reasons.
It has mostly been used by people to remove ads, and I'll share two examples with you.
Create ~/.gnome2/epiphany/mozilla/epiphany/chrome/userContent.css (you'll probably need to create the chrome directory, too; other browsers use similar path names) and put these two rules in there:
a[href$=".pdf"]:after {font-size: 10px; color: red; content: " [PDF]";}
iframe[src*="devart.adbureau.net"] {display:none !important; height: 0; }
@-moz-document domain("mail.google.com") { button#ac_tr { color: red !important; } button#ac_dl { color: red !important; } }
The first one will postfix a red [pdf] to any link going to a PDF file. This is very valueable especially with Google scholar.
The second rule is an example on how to hide elements. This example hides some ads on deviantart. You can easily pick a wider term or grab some of the existing rulesets.
The third rule will color the "delete" button in Gmail red, so you find it easier. Since it moves around (UI hazard; "delete forever" replaces "archive" button in spam and trash folders.) this is quite nice to have.
But if you want to go for default ads filtering, I'd suggest to use some of the adblock extensions. These userContent tricks are mostly useful for adding rules that the extension didn't catch.
I was too busy to read my favourite tech news the last few weeks. This sunday I finally started working on the backlog. Parts of it - I'm not going to try to catch up with Slashdot... And most of the time, I'm only reading the headlines, too.
Most of the stuff here will be in German; since I'm also interested in the politics surrounding technology here in germany, a local ticker such as Heise is most useful for me.
Wahlcomputer sind angreifbar. Und werden es immer sein.
Viel zu leicht angreifbar, wie der CCC und andere Organisationen demonstriert haben. Und der Einsatz von Wahlcomputern ist daher ein ziemliches Risiko.
Bei einer klassischen Wahl wird natürlich auch mal versucht zu betrügen (z.B. von der CSU in Dachau), allerdings gestaltet sich das erheblich schwieriger.
Klassische Papierwahl hat zahlreiche Vorteile, unter anderem dass sie einfach von Wahlhelfern aller Parteien beobachtet werden können. Die Wahlzettel werden ausgegeben, und bei der Stimmabgabe wird der Wähler in der Liste abgehakt, und er darf genau einen Zettel in die Urne einwerfen. Die Listen können kontrolliert werden, Ausweise ebenso.
Jetzt bei einem Wahlcomputer - da kommt einfach am Ende ein Gesamtergebnis heraus. Aber wie das genau entstanden ist, kann keiner von uns verifizieren. Der Wahlcomputer könnte auf vielfache Weise manipuliert worden sein, und es gibt keine Möglichkeit, die Wahl erneut auszuzählen, oder Manipulationen nachzuweisen. Das System ist dazu viel zu komplex, und es ist niemandem möglich, die Korrektheit des Ergebnisses zu verifizieren.
Ein paar Manipulationsmöglichkeiten, die bei einfachen "Tests" nicht auffallen:
Das andere Problem ist das des Wahlgeheimnisses. Computer verfügen über eine Uhr, und sind auf die angewiesen. Alles im Computer wird von einer Uhr gesteuert. Und nichts ist einfacher, als in dem Computer sämtliche Stimmabgaben zu protokollieren. Zusammen mit einer Überwachungskamera kann so sehr einfach ermittelt werden, wer wie abgestimmt hat. Wahlgeheimnis ade!
Vergleichen wir das wieder mit einer klassischen Wahl auf Papier: der Stimmzettel verschwindet in der Urne, und diese wird nacher - für jeden nachvollziehbar - gemischt. Die genaue Zuordnung Person und Stimme geht beim Einwerfen und Mischen verloren. Wahlbeobachter können die Urnen vor der Versiegelung inspizieren. Teilweise werden auch transparente Urnen eingesetzt. Jeder kann sehen wie die Wahlscheine beim Leeren der Urne durcheinanderpurzeln und dass da keine "Einwurfreihenfolge" festgestellt werden kann. Aber könnten Sie sicherstellen, dass der Computer nicht ihre Stimmabgabe protokolliert?
Wahlen müssen durch jedermann nachvollziehbar bleiben!
Deswegen E-Petition gegen den Einsatz von Wahlcomputern unterzeichnen. Direkt an den Petitionsausschuss des Deutschen Bundestags. Die Unterzeichnungsfrist endet am 28. November; es sind derzeit 22804 Unterzeichner.
Auch erreichbar über Bundestag.de, Petitionen, rechts "Übersicht über öffentliche Petitionen", Link in der Mitte, Übersicht, in der Liste auf "Wahlrecht: Stimmabgabe an Wahlgeräten".
I've been trying some stuff with the Turbogears application I worked on a bit during the last two weeks.
First thing was that I looked into using postgres as DB backend for Turbogears. Which turned up a bug in sqlalchemy (an ORM, mapping objects to database rows and back). I was passing a unicode string to the getBy function (to retrieve an object by it's primary key), and it went into the SQL statement without any quoting. Since my keys are all ascii, I could just cast them into regular string objects, and getBy worked then.
Performance with postgres is worse than with sqlite; this is not too surprising. However this might change once I enable multithreading.
Performance numbers: with SQLite: 8.30 trans/sec, with Postgres: 7.52 trans/sec
These performance numbers are still very bad, and I guess we won't be keeping Turbogears on the long run, unless I find some documentation on improving the speed. One of the hints I got was to avoid py:match in kid, the templating engine used. I started by not using turbogears "sitetemplate" default template. This would automatically insert javascript and css files when needed. Since I don't use their widgets and such, I havn't been using this feature anyway. Not using the template - which contains one py:match for the 'head' tag and one for the 'body' tag - improved performance to 9.01 trans/sec (or 8.32 trans/sec)
Now I can't explain why the improvements in the postgres run were better; both are a 10 minutes siege run. But 8.5% improvement is a start. I'll look into getting rid of the other py:match instances in our templates. (If I'd only find a good example with py:def - guess I'll instead "precompile" pre-templates into the actual templates or so instead with some self-written tool.)
P.S. No, I'll probably not use turbogears for my next similar project. Rapid development is nice, ORMs are fancy and such, but sometimes good old plain SQL can be very easy to use, too. And more performant.
It's funny, because it fits the name so well:
# dig myspace.com myspace.com. 18112 IN A 216.178.32.48 myspace.com. 18112 IN A 216.178.32.49 myspace.com. 18112 IN A 216.178.32.51 myspace.com. 18112 IN A 216.178.32.50 myspace.com. 18112 IN A 127.0.0.1
Yay. Myspace IS localhost! :-)
At least until they fixed their DNS (the primary nameserver already publish a fixed record. too bad.)