Dienstag, 29. Mai 20121001 Bugs - oder: die goldenen Regeln für schlechte ProgrammierungMit meinem "1001 Bugs"-Vortrag habe ich die openSUSE Conference überlebt, obwohl mancher Entwickler vermutlich nicht ganz glücklich war, dass ich einen seiner peinlichen Bugs entdeckt hatte ;-) Daher hielt ich diesen Vortrag in leicht überarbeiteter Form und in deutsch auch auf dem LinuxTag. Den ca. 80-90 Zuhörern hat es scheinbar gefallen - neben einigen Lachern zwischendurch bekam die "spezielle Regel für openSUSE" sogar Szenenapplaus :-) Wer den Vortrag auf dem LinuxTag verpasst hat oder sich die Folien (incl. Notitzen) nochmal ansehen will - bitte schön: 1001 Bugs - oder: die goldenen Regeln für schlechte Programmierung als PDF Dienstag, 27. September 20111001 bugs - or: the golden rules of bad programmingIf you missed my talk at the openSUSE conference or want to see the slides (including notes) again - here we are: 1001 bugs - or: the golden rules of bad programming as PDF Sonntag, 28. August 20111001 bugs1001 bugs - das ist eins der Ergebnisse meiner Mitarbeit bei (open)SUSE: Ich habe vorhin meinen 1001. Bugreport eingereicht. Außerdem werde ich unter dem Motto "1001 bugs - or: the golden rules of bad programming" einen Vortrag auf der openSUSE conference halten. Die genaue Beschreibung meines Vortrags steht unter dem englischen Text. Ich habe schon eine ganze Reihe von Ideen für den Vortrag, bin aber für Vorschläge in den Kommentaren offen. Wer sich für meine Bugzilla-Statistik interessiert, findet unten den Screenshot. Man sieht deutlich, dass ich bei SUSE Linux 9.2 mit dem Betatesten angefangen habe und seitdem die Entwickler mit Bugreports zuschütte ;-) 1001 bugs - that's one of the results of my work on (open)SUSE: I just filed my 1001. bugreport. Besides that, I'll give a talk "1001 bugs - or: the golden rules of bad programming" at the openSUSE conference. I already have lots of ideas for my talk, however I'm open for proposals - just add a comment here. If you are interested in my bugzilla statistics, have a look at the screenshot below. You can clearly see that I started beta-testing with SUSE Linux 9.2 and since then overwhelm the developers with bugreports ;-) But first I'll give you the the detailed description of my talk: 1001 bugs - or: the golden rules of bad programming
Bugzilla report for "reporter contains @cboltz.de"
(the reports for 9.x and some other products are non-public, which means you'll probably get a lower number) Sonntag, 31. Juli 2011Die BESTEN der BESTEN der BESTEN, SIR!Sonntag, 19. Juni 2011patch2mail 1.1(nur für Admins interessant, daher nur auf englisch) I just released patch2mail 1.1 which will send you a mail when updates are available for your openSUSE system. Changes:
You can download patch2mail from the openSUSE build service. I have also submitted the new version to Factory (SR 74130). Sonntag, 17. April 2011Spezieller Alias - und ein neues Zuhause für apparmor.vimErstmal ein kleines Schnipsel aus meiner Konsole: Let's start with a sniplet from my console: cb@geeko:~/postfixadmin> svn help | head -n1 usage: svn <subcommand> [options] [args] cb@geeko:~/postfixadmin> cd /home/cb/apparmor cb@geeko:~/apparmor> svn help | head -n1 Bazaar 2.0.5 -- a free distributed version-control tool
Mein SVN ist nicht verrückt geworden ;-) - ich habe nur ein kleines Script vorgelagert, das man am Besten als Verzeichnis-abhängigen Alias bezeichnen könnte. Wenn ich im Verzeichnis ~/apparmor bin, wird aus "svn" wie durch Geisterhand ein "bzr"-Aufruf. Das Script ~/bin/svn ist nicht wirklich kompliziert: My SVN didn't go crazy ;-) - I just prepended a small script you could best describe as directory-dependent alias. When I'm working in ~/apparmor, it magically replaces "svn" with a "bzr" call. The script ~/bin/svn is not really complicated: #!/bin/bash command=/usr/bin/svn # use the full path. Just "svn" will result in an endless loop! pwd | grep -q ^/home/cb/apparmor && command=/usr/bin/bzr exec $command "$@" Warum ich das Ganze brauche? Ich habe seit kurzem Commit-Rechte bei AppArmor, damit apparmor.vim endlich ein offizielles Zuhause hat. Außerdem habe ich schon ein paar Profil-Updates commited. (Keine Angst: vom C-Code werde ich mich fernhalten ;-)
AppArmor verwendet Bazaar für die Versionskontrolle, und das ist glücklicherweise Parameter-kompatibel zu SVN (zumindest bei dem, was ich brauche) und erspart mir so die Umgewöhnung an noch eine Versionsverwaltung. Nebenbei: Für Bazaar musste ich mir einen Launchpad-Zugang einrichten, und habe natürlich[tm] auch gleich einen Bug in Launchpad gefunden ;-) Why do I need this? Since a short while, I have commit access for AppArmor. This finally gives apparmor.vim an official home. I also commited some profile updates. (Don't worry - I'll stay away from the C code ;-) AppArmor uses Bazaar as version control system, which is luckily parameter compatible to SVN (at least for the commands I use). This means I don't have to keep another version control system in mind. BTW: For Bazaar I had to create a Launchpad account, and of course[tm] found a Launchpad bug instantly ;-) Dienstag, 15. März 2011Releases!Gleich zwei Releases in einem Blog-Eintrag:
Sonntag, 24. Oktober 2010Keysigning made easy(... more or less ;-) Auf der openSUSE conference gab es neben vielen interessanten Vorträgen und noch mehr netter Leute aus der openSUSE community eine Keysigning-Party. Damit nicht jeder von ganz vorn anfangen muss, hier mein HowTo zum schnellen Signieren der Keys mit caff. Da die "Amtssprache" auf der conference englisch war, gibt es dieses HowTo auch nur in englisch ;-) At the openSUSE conference I heard many interesting talks and met lots of nice people from the openSUSE community. I also took part at the keysigning party. To avoid that everybody has to start from scratch, here is a HowTo sign keys efficiently with caff. PreparationInstall caff. It's included in the package "signing-party" in the home:worldcitizen repo and requires perl-GnuPG-Interface and several other packages from devel:languages:perl. zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.3/ devel:languages:perl zypper ar -f http://download.opensuse.org/repositories/home:/worldcitizen/openSUSE_11.3 home:worldcitizen zypper in signing-party caff uses postfix to send out the signed keys (or whatever listens on localhost:25), therefore you have to make sure to have a working config. Many mailservers reject mails from dialup hosts nowadays. You have to setup postfix to send mails using your provider's mail relay (usually needs SMTP Auth), and you have to make sure it converts your local "geeko@localhost" sender with a working mail address. You can do this with YaST or (as I did) edit /etc/postfix/main.cf directly: relayhost = mailserver.example.com smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd sender_canonical_maps = hash:/etc/postfix/sender_canonical Restart postfix after this changes ("rcpostfix restart"). sasl_passwd must contain a line like this: # servername SMTP Auth username:password mailserver.example.com user@example.com:topsecret sender_canonical looks like this: (host.name is the output of "hostname -f", geeko is your username) geeko@host.name user@example.com Then run postmap - postfix always reads the binary form (*.db) of the files, not the plain text version. postmap sasl_passwd postmap sender_canonical [Update 2013-07-17: fixed sasl_passwd syntax and typos in sender_canonical filename] Now you have to configure caff. Run "caff" once to generate the configuration file ~/.caffrc, then edit at least the following settings: $CONFIG{'owner'} $CONFIG{'email'} $CONFIG{'keyid'} Signing the keysI always sign the fingerprints instead of the key ids. This has the advantage that I don't have to compare the fingerprints manually. cp ksp-opensuse-conf-10.txt keys-to-sign.txt vi keys-to-sign.txt
Remove all keys you do not want to sign (those from people that missed the keysigning party or with invalid ID cards) from keys-to-sign.txt. Also remove your own key from the list, it's pointless to sign it. If people gave you additional keys on a paper strip, create a list of their key ids and save it as additional-keys.txt. Then run
gpg --recv-keys `cat additional-keys` echo "--- additional keys ---" >> keys-to-sign.txt LANG=C gpg --fingerprint `cat additional-keys ` >> keys-to-sign.txt After that, open keys-to-sign.txt and check the fingerprint of the newly added keys. This is important because they were not included in the original checksum of the ksp*.txt file. Then create a list of fingerprints to sign: grep "Key fingerprint" keys-to-sign.txt | sed 's/.*= // ; s/ //g' > fingerprints-to-sign.txt For some reason, caff failed to download the keys for me. Therefore I did it myself. (Replace /home/cb/.caff/ with the tempdir you use for caff in the following command) gpg --homedir=/home/cb/.caff/gnupghome --secret-keyring /home/cb/.gnupg/secring.gpg \ --recv-keys `cat fingerprints-to-sign.txt` After that, you can finally sign the keys and mail them to their owners: caff `cat fingerprints-to-sign.txt` To be sure nothing goes wrong, check against your printed list from the keysigning party that you really want to sign the key. To save the signature, type "save" at the gpg> prompt. That's it. You should now have produced a mail flood ;-) to the owners of all the keys you signed. Freitag, 11. Juni 2010
Geschrieben von Christian Boltz
in english, Linux, Reallife
um
13:49
| Kommentare (0)
| Trackback (1)
LinuxTag 2010 - Henne bügelt...
Auf dem LinuxTag 2010 geht es heiß zu. Damit meine ich nicht nur das Wetter, sondern auch Henne. Er wird wohl zur Hausfrau - gestern hat er sogar auf dem openSUSE-Stand gebügelt... LinuxTag 2010 is hot. I don't only mean the weather with this, but also Henne. He seems to become a housewife - yesterday he started ironing at the openSUSE booth...
Anschließend ging es zur LinuxNacht am Berliner Strand (Beach at the Box). Eine nette Location, aber leider mussten wir ab 23:00 Uhr in die "Box". Afterwards we went to the LinuxNacht at the Berlin beach (Beach at the Box). A nice location, but unfortunately we had to go inside at 11pm.
Sonntag, 18. April 2010MultiBoilerplate: Vorlagen pro NamespaceDie Mediawiki-Extension MultiBoilerplate ermöglicht es, beim Anlegen einer Seite eine oder mehrere Vorlagen zur Auswahl anzubieten. Das ist schonmal gut. Noch besser ist es allerdings, wenn die Vorlagen-Liste je nach Namespace eingestellt werden kann - eine Vorlage für eine neue Seite ist z. B. nicht als Vorlage für eine Hilfeseite geeignet. Die Lösung ist ein kleiner Patch, den ich für MultiBoilerplate geschrieben habe. Dieser ist im Mediawiki Bugtracker verfügbar (und wird hoffentlich in der nächsten MultiBoilerplate-Version aufgenommen ;-) Der Patch enthält auch eine Beschreibung der nötigen Config-Optionen. The Mediawiki-Extension MultiBoilerplate allows to offer one or more boilerplates when creating a new page. That's quite good. It's even better to offer different boilerplates for each namespace - for example, a boilerplate for a new page is not necessarily a good boilerplate for a help page. The solution is a small patch I wrote for MultiBoilerplate. You can download it from the Mediawiki Bugtracker (and will hopefully be included in the next version of MultiBoilerplate ;-) The patch includes a description of the necessary config options. Tags für diesen Artikel: mediawiki, multiboilerplate
Freitag, 1. Januar 2010Prosit Neujahr!Prosit Neujahr und alles Gute für 2010! Dieser Artikel enthält einiges, das ich schon 2009 bloggen wollte, und außerdem eine kleine Neujahrsüberraschung von SpamAssassin ;-) Happy New Year! This article contains some things I wanted to blog about in 2009 already, and a little new year surprise from SpamAssassin ;-)
Samstag, 11. Juli 2009AppArmor in der Praxis"AppArmor in der Praxis" - unter diesem Titel hielt ich einen Vortrag auf dem LinuxTag, der trotz des eher trockenen Themas (Security!) recht gut besucht war. Ich habe versucht, den Vortrag so unterhaltsam wie möglich zu halten - ob mir das gelungen ist, darf gern in den Kommentaren vermerkt werden ;-) Ein Seifenkisten-Rennen und fast zwei Wochen später gibt es meine Präsentation zum Download. (Die Originaldatei im OpenDocument-Format ist auf Anfrage erhältlich.) Eine Video-Aufzeichnung des Vortrags müsste demnächst im openSUSE-Wiki verfügbar sein. "AppArmor in practise" is the title of the talk I gave at LinuxTag which was received quite well despite the "pedestrian" security topic. Nevertheless I tried to make the talk as lively as possible - feel free to add a comment if this worked out ;-) One soap box race and nearly two weeks later, I managed to upload my presentation (german). (The original file in OpenDocument format is available on request.) A video recording of my talk should be available on the openSUSE wiki soon. Download:apparmor-in-der-praxis.pdf Donnerstag, 2. Juli 2009th_mailformplus und AttachmentsAuf der Typo3-Website eines Kunden verwende ich th_mailformplus für ein Webformular mit Dateiupload. Funktioniert auch soweit, allerdings wurde die hochgeladene Datei (trotz entsprechender Konfiguration des Formulars) nicht an die Maill angehängt. Seit vorhin kenne ich den Grund: Der Mail-Funktion wird nur der Dateiname ohne Pfad angegeben, und dadurch findet die Funktion natürlich die Datei nicht und kann sie auch nicht anhängen :-( Außerdem endet der Dateiname noch mit \n. Ich habe eben einen kleinen Patch in den Typo3-Bugtracker hochgeladen, der den Pfad beim Dateinamen einfügt und das \n per trim() entsorgt. Und schon werden Mails mit Anhang verschickt :-) I use th_mailformplus for a mailform with file upload on a customer's typo3 website. Works mostly, but the uploaded file was not attached to the mail (even if the mailform config was correct). Since a short while ago I know the reason: The mail function is called with the filename without path, and therefore obviously can't find the file :-( Besides that, the filename ends with \n. I just uploaded a small patch to the Typo3 bugtracker which inserts the path into the filename and removes the \n using trim(). Now mailformplus sends mails with attachments :-) Samstag, 27. Juni 2009Apparmor-Pfofile für 11.1Wie gerade in meinem Vortrag "AppArmor in der Praxis" versprochen gibt es hier meine AppArmor-Profile, die ich auf meinem 11.1-Server benutze. Hinweis: Viele Profile sind im complain-Mode - mit aa-enforce können sie in den enforce-Mode versetzt werden. (Die Präsentation lade ich in den nächsten Tagen hoch.) As just proposed in my "AppArmor in der Praxis" talk at LinuxTag, here are the AppArmor profiles I use on my 11.1 server. Note that many of them are in complain mode - use aa-enforce to switch them to enforce mode. (I'll upload my presentation in some days.) Download: apparmor-profiles-111.tar.bz2 Freitag, 26. Juni 2009LinuxTag 2009 |
ArchiveKategorienBlog abonnierenImpressum |
Kommentare