Am Rande notiert ...

c’t aufm iPad. Danke dafür, auch wenn es erst­mal nur auf­ge­motz­tes PDF ist. Ok, es ist pein­lich, dass auf die­sen Ar­ti­kel nicht ver­nünf­tig ge­linkt wer­den kann, weil aus­ge­rech­net der hin­ter der Pay­wall ver­schwin­det – wärs nicht sin­nig ge­we­sen, dazu einen On­line-Ar­ti­kel zu haben? Egal. Was aber ver­är­gert: „bis Fe­bru­ar 2011 für Abon­nen­ten kos­ten­los“ ist nicht das, was je­mand lesen will der euch für das tote Holz be­zahlt. Denn für schon ver­kauf­te In­hal­te zwei­mal die Hand auf­hal­ten, das macht nor­ma­ler­wei­se nur der Bo­den­satz der Me­di­en­land­schaft. Falls ihr jetzt noch ein di­gi­tal-on­ly Abo auf­legt, das mehr als die Print­ver­si­on kos­tet, gibts aber ver­ba­le Haue. Üb­ri­gens, auch auf­ge­motz­tem PDF kann man ruhig ein Ge­dächt­nis zur letz­ten be­such­ten Seite spen­die­ren. Ehr­lich. Ist nicht soooo schwer.

Alex Gay­nor — Get­ting the most out of tox. Müss­te ich mir mal an­gu­cken – der­zeit bin ich ja noch recht faul beim Er­stel­len von unit­tests für meine Pro­jek­te, in der Regel teste ich nur gegen die eine Py­thon-Ver­si­on mit der ich pri­mär ar­bei­te und auch bei den Ab­hän­gig­kei­ten nehm ich nur die, die ge­ra­de auf mei­ner Kiste (bzw. im vir­tua­lenv) in­stal­liert sind. Wäre mal sin­nig da ein etwas um­fang­rei­che­res Sys­tem für auf­zu­bau­en, ein­fach um etwas aus­sa­ge­kräf­ti­ge­re Test­ergeb­nis­se zu haben.

spar­row – The New Mail for Mac. Sieht rich­tig gut aus und ist der erste Mail­cli­ent, der mich über­le­gen lässt ob ich nicht von Mail­Pla­ne wech­seln soll­te. Denn Mail­Plain un­ter­stützt zwar – zwangs­läu­fig – alle GMail Fea­tures, aber sieht eben auch genau so aus wie das was es ist: eine Web­sei­te. Wenn Spar­row auch noch „uni­ver­sal inbox“ ala iPho­ne/iPad ein­bau­en würde, wäre es ziem­lich per­fekt.

colei­fer/pee­wee at mas­ter – Git­Hub. Hatte ich be­stimmt schon, klei­ner ORM für Py­thon der an Djan­go an­ge­lehnt ist und mit sq­li­te tut. Ge­ra­de für klei­ne Web­ser­vices in­ter­es­sant, wenn man eben nicht ein gro­ßes Frame­work rein­zie­hen will, son­dern ein­fach nur den Code etwas les­ba­rer ge­stal­ten will. Vor­sicht: un­ter­stützt di­rekt keine vom Pro­gram­mie­rer ge­steu­er­ten Trans­ak­tio­nen, son­dern ist im Prin­zip immer im Au­to­com­mit Modus. Kann man aber mit re­la­tiv wenig Hand­grif­fen an­ders ma­chen, wenn man will – ein­fach Up­dateQue­ry, In­s­ert­Que­ry und De­le­te­Que­ry ab­lei­ten und re­qui­res_­com­mit an den Klas­sen auf False set­zen, und eine er­wei­ter­te exe­cu­te Me­tho­de de­fi­nie­ren, wel­che einen ex­pli­zi­ten com­mit-Pa­ra­me­ter nimmt.

Midd­le­wa­re_an­d_U­ti­li­ties – WSGI Wiki. Wenn man mit wsgi als Basis ar­bei­tet, ist es eine gute Idee hier zu gu­cken was es an WSGI Ap­pli­ka­tio­nen und Midd­le­wa­re schon so alles gibt.

Py­thon Pa­cka­ge Index : url­re­lay 0.7.1. Web­ser­vices mit gevent als Basis brau­chen URL dis­patching, url­re­lay scheint da eine in­ter­es­san­te klei­ne WS­GI-Li­bra­ry zu sein, die im Ge­gen­satz zu an­de­ren Sys­te­men nur genau das macht und nichts an­de­res.

Bug 1044 – CVE-2010-4345 exim pri­vi­le­ge esca­la­ti­on. Der zwei­te Teil des Exim-Durch­mar­sches. Die­ser ist die Rech­tee­s­ka­la­ti­on über Exim und ein al­ter­na­ti­ves Con­fig-File. Denn da­durch, dass Exim ein mo­no­li­ti­scher Ser­ver unter suid Rech­ten (also Start mit Root-Rech­ten auch wenn als an­de­rer Be­nut­zer aus­ge­führt) ist, gibt es ein klei­nes Zeit­fens­ter in dem der Dienst immer als root läuft – und durch das al­ter­na­ti­ve Con­fig­fi­le wird das dann aus­ge­nutzt. Der Patch be­schränkt die Orte an denen diese Con­fig-Files lie­gen dür­fen und kom­bi­niert mit der Kon­fi­gu­ra­ti­on der Schreib­rech­te auf die­sen Ort kann man damit ver­mei­den, dass nicht-root-User ei­ge­ne Con­figs ein­schleu­sen.

Bug 787 – me­mo­ry cor­rup­ti­on in strin­g_­for­mat code. Wich­tig, wenn man De­bi­an älter als Lenny be­treibt, denn dafür gibt es dann keine Si­cher­heits­up­dates mehr und man muss  sel­ber patchen. Der hier macht die Tür zu. Üb­ri­gens durch­aus in­ter­es­sant mal auf das Datum zu gu­cken – der ist seit 2008 ge­fixt, aber durch die frühe Auf­ga­be von Se­cu­ri­ty-Up­dates von aus­lau­fen­den De­bi­an-Re­lea­ses ist es in vie­len De­bi­an-Sys­te­men auf Etch Basis (und älter) noch drin. De­bi­an ist nur noch emp­feh­lens­wert ein­zu­set­zen wenn man tat­säch­lich auch jeden Re­lease­wech­sel zeit­nah mit­ma­chen kann. An­sons­ten sind Lö­sun­gen wie Ubu­ntu LTS deut­lich die bes­se­re Wahl. Ab­ge­se­hen davon ist es doch reich­lich pein­lich, dass Lenny noch so eine gam­mel­al­te Exim hatte …

rho­de­co­de ist sowas wie bit­bu­cket oder git­hub. Be­nutzt wie bit­bu­cket mer­cu­ri­al und bie­tet di­ver­se Werk­zeu­ge in der Ober­flä­che. Das be­son­de­re? Der Code ist frei und damit sowas wie Bit­bu­cket zum sel­ber hos­ten. Viel­leicht eine Al­ter­na­ti­ve zu Trac.

HP Sto­r­a­ge Hard­ware Har­bors Se­cret Back Door | threat­post – er­le­digt hof­fent­lich die re­gel­mä­ßi­gen „wir müs­sen auf hp um­stei­gen weil die ist ja viel bes­ser als die NetApp“ Dis­kus­sio­nen. Und ja, das war Sar­kas­mus.

The Self Pu­blis­hing Re­vo­lu­ti­on: Ama­zon in the Book Ban­ning Busi­ness. Dies­mal gehts gegen ero­ti­sche (ok, seien wir ehr­lich: por­no­gra­phi­sche) Bü­cher von Se­le­na Kitt. Aber wer sagt, dass Ama­zon da auf­hört? Und selbst wenn na­tür­lich Ama­zon das Recht hat zu­künf­tig ein Buch nicht an­zu­bie­ten (gibt genug Al­ter­na­ti­ven für eBook Stores), was aus­ser ihren ToS gibt ihnen das Recht ver­kauf­te Bü­cher zu lö­schen? Nach der 1984 Pein­lich­keit dach­te man ja, sie hät­ten es be­grif­fen. Dabei war dort die Ur­sa­che ein Rech­te­ver­stoß des Pu­blis­hers auf den Ama­zon re­agiert hat – dies­mal ist es reine Will­kür. Das ganze be­stä­tigt mei­nen An­satz nie eBooks zu kau­fen, die ich nicht von ihrem DRM be­frei­en kann. Al­lein als In­ves­ti­tons­schutz not­wen­dig. (und na­tür­lich vor­zugs­wei­se Bü­cher gleich ohne DRM kau­fen wenn mög­lich)

Bott­le: Py­thon Web Frame­work soll­te ich mir auch mal als Al­ter­na­ti­ve an­gu­cken zu web.​py – denn in Bott­le ist die App ein­fach eine Samm­lung von Funk­tio­nen mit Rou­ten und Map­pings und nicht immer gleich eine Klas­se. Aus­ser­dem kön­nen die Funk­tio­nen für un­ter­schied­li­che Ver­ben ver­schie­de­ne Pa­ra­me­ter haben und JSON wird di­rekt als Out­put­for­mat un­ter­stützt. Für Web­ser­vices klingt das noch eine Runde schlan­ker als web.​py – und Sieht für mich auch sau­be­rer in der Struk­tur aus.

In Al­ba­ni­en und Bos­ni­en fällt der Vi­sa-Zwang. Und warum nicht für Russ­land? Wäre für mich we­sent­lich wich­ti­ger …

Mehr­heit in NRW gegen neuen Staats­ver­trag für Ju­gend­schutz im In­ter­net – Com­pu­ter. Der Ver­such der Union, das ganze als Bla­ma­ge für Rot/Grün hin­zu­stel­len, ist schon aus­ge­spro­chen put­zig. Ich mein, für wie blöd hal­ten diese Pro­le­thi­ker in Düs­sel­dorf den Wäh­ler ei­gent­lich? Das Rum­ge­eie­re von Rot/Grün ist zwar pein­lich – be­son­ders bei den Grü­nen hätte man nach ihren voll­mun­di­gen Äu­ße­run­gen ei­gent­lich nur eine Ab­leh­nung ak­zep­tie­ren kön­nen – aber die Lä­cher­lich­keit der Grü­nen kann sich die Union kaum als Er­folg auf die Fah­nen schrei­ben, das krie­gen die Grü­nen auch ganz al­lei­ne hin. Gut, dass die­ser un­säg­li­che Ver­trag jetzt erst­mal auf­ge­scho­ben ist (wer glaubt, das Thema sei jetzt auf län­ger er­le­digt, macht sich die Hosen auch mit der Kneif­zan­ge zu), aber ein Ver­dienst einer der Par­tei­en ist kaum zu er­ken­nen. Alle haben sich dabei lä­cher­lich ge­macht, selbst die Lin­ken (mit ihrer Zu­stim­mung in Ber­lin).

Ni­cho­las Piël » Bench­mark of Py­thon Web Ser­vers. Sehr in­ter­es­san­tes Bench­mar­king, ich muss mir de­fi­ni­tiv gevent an­gu­cken, die Leis­tung in den Tests ist schon be­ein­dru­ckend. Up­date: nach­dem ich mir gevent an­ge­guckt habe – ich bin be­ein­druckt. Für Web­ser­vices muss man auf­pas­sen: gevent.​wsgi un­ter­stützt nur GET und POST, nur gevent.​pywsgi un­ter­stützt auch PUT und DE­LE­TE.

Re­cor­dEx­ten­si­on – Mer­cu­ri­al. Ge­ni­al, war mir bis­her nicht auf­ge­fal­len. Damit kann man ein­zel­ne Patches zum Com­mit aus­wäh­len, wenn man mal meh­re­re Sa­chen in einem Rutsch ge­macht hat, aber nicht zu­sam­men com­mit­ten will.

Si­cher­heit: An­geb­lich Back­door im IP­SEC-Stack von OpenBSD. Autsch. Wenn da was dran ist, brau­chen wir wohl mal ein Wi­ki­Leaks für Open Sour­ce. Und das aus­ge­rech­net bei OpenBSD, das sich Si­cher­heit auf die obers­te Stel­le der TODO ge­schrie­ben hat.

Home | The Fi­ne­Pix X100 Pro­fes­sio­nal Pho­to­gra­pher’s com­pact di­gi­tal ca­me­ra from Fu­ji­film. Sieht alles doch schon recht in­ter­es­sant aus. Aber so­lan­ge man sie nicht in den Hän­den hal­ten kann, ist es alles eh noch Spe­ku­la­ti­us.

mrdoob/three.​js – Git­Hub. 3D En­gi­ne in Ja­va­Script. Ei­gent­lich hab ich keine echte An­wen­dung der­zeit für sowas, aber für Vi­sua­li­sie­run­gen könn­te das mal ganz prak­tisch sein. Und nunja, es ist ein­fach cool, al­lein das recht­fer­tigt ja schon ein Blog­mark.

Na­me­s­pa­c­ing in Ja­va­Script. Alles was man dazu immer schon wis­sen woll­te, aber nicht zu fra­gen ge­wagt hat. Oder auch: warum syn­tak­ti­scher Sup­port für Na­me­s­paces über­be­wer­tet ist und plain old ob­jects rei­chen.

The Ball Re­vea­led – Sphe­ro « The Or­bo­tix Blog. Will. Haben.

Wer mit Bytes in Clo­ju­re rum­fum­meln muss: gloss. Im Mo­ment hab ich keine An­wen­dung dafür, aber mal ge­b­log­markt für spä­ter, wenn ich mal wie­der mit Bi­när­da­ten zu tun habe.

Mac OS X Au­to­ma­ti­on: Ser­vices. Ein Bei­spiel wie man einen in­te­grier­ten HUD Brow­ser für Twit­ter mit Au­to­ma­tor und OSX Ser­vices bauen kann. Gar­nicht mal so un­cool.

Clo­ju­re Libs and Na­me­s­paces: re­qui­re, use, im­port, and ns – 8th Light Blog. Ein­fach nur ein kur­zer Ab­riss über die ver­schie­de­nen Na­me­s­pace-Funk­tio­nen in Clo­ju­re.

nin­judd/cake – Git­Hub. Noch­mal ge­nau­er an­ge­guckt, ist mit­ler­wei­le ein wirk­lich prak­ti­ka­bler Weg um Clo­ju­re zum Lau­fen zu be­kom­men. Vor allem lädt der nicht gleich das halbe In­ter­net her­un­ter wie an­de­re Build-Tools im Ja­va-Um­feld. Lässt sich auch mit einem klei­nen Hel­per-Script in MacVim mit­tels slimv in­te­grie­ren und ist zu­min­des­tens für mein Rum­spie­len mit Clo­ju­re brauch­bar.

slimv.​vim – SLI­ME-li­ke Lisp and Clo­ju­re REPL in­si­de Vim with Pro­filing, Hy­per­spec, Par­e­dit. Ganz in­ter­es­sant, da deut­lich leicht­ge­wich­ti­ger und sim­pler zu in­stal­lie­ren als Slime oder VimClo­ju­re oder eine der an­de­ren di­cken Lö­sun­gen. Und man kann ein­fach aus Vim her­aus Com­mon Lisp oder Clo­ju­re pro­gram­mie­ren. Ist zwar der­zeit nur im „rum­spie­len und gu­cken“ Modus, aber klingt durch­aus in­ter­es­sant.

Mainz/Land­au: Erd­wär­me­kraft­werk wohl für Erd­be­ben ver­ant­wort­lich. Tja, aber in Ems­det­ten und Nord­wal­de will Exxon Was­ser in Erd­gas­bla­sen pres­sen um die­ses dort zu för­dern. In bis­her un­ge­te­se­tet gro­ßer Tiefe und mit bis­her nicht wirk­lich im Dau­er­be­trieb ge­tes­te­ten Me­tho­den. Aber schon ein Geo­ther­mie­kraft­werk kann durch eine ähn­li­che Vor­ge­hens­wei­se zu Erd­be­ben füh­ren, die Schä­den an­rich­ten. Ich glaub Haus­be­sit­zer in Ems­det­ten und Nord­wal­de sol­len das mal ganz scharf im Auge be­hal­ten …

Gundo – Vi­sua­li­ze your Vim Undo Tree. Vim hat ja auch beim Undo etwas mehr als üb­li­che Edi­to­ren haben – der ganz Baum an Undo/Do/Redo Ak­tio­nen wird ge­spei­chert und man kann sich frei darin be­we­gen. Nur ka­piert das nie­mand mit den nor­ma­len Vim Mit­teln. Mit dem Gundo Plu­gin kann man sich die­sen Baum di­rekt vi­sua­li­sie­ren las­sen und damit viel­leicht ja mal was an­fan­gen. Si­cher, man kann sowas über re­gel­mä­ßi­ges Com­mit und eine Ver­si­ons­ver­wal­tung auch rea­li­sie­ren. Und klar, wir alle com­mit­ten ja immer früh und stän­dig und haben nie ir­gend­wel­che lan­gen Edit­sit­zun­gen, oder?

Chro­mi­um Blog: A New Cranks­haft for V8. Und damit wird Ja­va­Script noch ne Runde schnel­ler. V8 ist auch die Basis für Node.​Js, womit es diese Per­for­man­ce­ver­bes­se­rung in Bälde wohl auch für den Ser­ver gibt.

Bin jetzt auch bei instagr.​am zu fin­den – na­tür­lich als rf­c1437. Ich mach ja eh schon ge­rau­me Zeit sowas ähn­li­ches auf tum­blr, und Ins­ta­gram ist ein er­staun­lich prak­ti­scher Uploa­der für tum­blr.