Basic personligt

Daniel Brahneborgs blogg

Bekräftat: Berkeley DB stödjer inte massiv parallellism

Jag upptäckte ju tidigare att Berkeley DB inte klarar av att det är mer än kanske max 100 trådar som samtidigt anropar funktioner i det, utan att prestanda rasar ner till löjliga nivåer. I mitt fall löste jag det genom att samla ihop anropen till 10 trådar med en connection pool, men det kändes mer som en pinsam workaround än en korrekt lösning. Oracle fick därför en fråga om varför det var på det här sättet.

Efter att ha skickat mina testprogram och skruvat på massor av parametrar för att förbättra prestandan, fick jag till slut ett tydligt svar. De höll med om att min pool var ett bra sätt att lösa det hela på.

The slowdown is not caused by a linear search, but by the low-level latching primitives provided by nearly all existing instruction sets. We use these primitives (e.g., test-and-set or locked compare and exchange) to implement mutexes and shared latches. As the number of threads “fighting” for a mutex increases, there is more overhead, both down in the CPU chip’s cache coherency system as well as in the operating system and BDB software above it.

De använder tydligen posix mutexar för den här synkroniseringen. Min pool är gjord med pthread, som uppenbarligen skalar bättre. Det är lite konstigt att de inte redan stödjer pthread i Berkeley DB, men det kanske kommer i en senare version.

Allt det här gäller i Linux, som jag har för mig har just en ovanligt bra pthread-implementation. Saker kan vara annorlunda i andra unixar.

Läs även andra bloggares åsikter om datorer, programmering, teknik, berkeley, oracle, connection pool, linux, pthread.

February 24th, 2010 Posted by Daniel Brahneborg | blogg | 3 comments

Martin Aagård förstår inte yttrandefrihet

Martin Aagård, vad pratar du för goja?

Ett år senare är det plötsligt lite tydligare vad de ville använda sin frihet till.

Jisses. Även Aftonbladet borde väl förstå konceptet yttrandefrihet? Ett litet uttryck som “Jag avskyr din åsikt, men är beredd att dö för din rätt att uttrycka den” (Voltaire) t.ex?

Att mediebranschen försöker med guilt By Association är en sak, men när en tidning som ju rimligtvis borde vara beroende av den yttrandefrihet som vi pirater kämpar för, blir det lite konstigt.

En rörelse som ville göra omstart på kulturlivet, musikindustrin och kvalitetsbegreppet genom att avskaffa upphovsrätten.

Att hela kultursektorn måste tänka om är det ju ingen som tvivlar på längre. “Omstart på kvalitetsbegreppet”? Va? Och nej, det är fortfarande ingen som vill avskaffa upphovsrätten. Har vi inte diskuterat just det till leda vid det här laget? Däremot behöver den göras om, vilket till och med Dagens Industri skrev på ledarplats häromdagen.

Tillägg: Jag skrev en kommentar om att Politiskt Inkorrekt inte alls låg hos PRQ. Den låg kvar i några sekunder, sedan togs den bort. Även “Kolla var PI ligger någonstans” togs bort. Liten Martin har klantat sig, och försöker sopa spåren bäst han kan. Är det jobbigt med yttrandefrihet?

Läs även andra bloggares åsikter om internet, fildelning, politik, the pirate bay, martin aagård.

February 17th, 2010 Posted by Daniel Brahneborg | blogg | 7 comments

Kiropraktorerna är farliga

Aftonbladet har nu en artikel om att man kan bli skadad av att gå till en kiropraktor. Inte för att de baserar sin verksamhet på trams på ungefär samma nivå som homeopati, utan för att de inte har en licens. Så fint. En utbildnings längd har ingenting med dess innehåll att göra. Man kan studera åderlåtning i 100 år om man vill, det är fortfarande inget annan än ett sätt att döda folk på.

Meanwhile, i Storbritannien… Simon Singh skrev för ett tag sedan en bok om alternativmedicin, dvs behandlingar där det inte går att visa att de har någon effekt (behandlingar som har en bevisad effekt kallas skolmedicin, och fungerar bättre). En av de behandlingar han tog upp var just kiropraktik, och visade både genom att berätta om deras teoretiska bas (alla sjukdomar och besvär beror på kotor som har hamnat snett) och massor med fall där de snabba rycken runt halsen var den direkta anledningen till patientens snara död.

Resultatet blev en stämning från kiropraktorerna som tack vare de totalt sinnessjuka lagarna i det där landet både skulle ruinera Simon Singh själv och skulle göra britterna ännu räddare att avslöja bedragare. En kampanj pågår för att få till en ändring av den här lagen för att få tillbaka lite yttrandefrihet. Ni vet, en av de där grundbultarna i samhället som Piratpartiet kämpar för, och som gör att konceptet demokrati faktiskt är värt någonting. Oavsett politisk hemvist så ber jag er därför att klicka er iväg till den här kampanjen och skriva under. Lagar för att censurera och tysta medborgarna har en alldeles för otrevlig vana att importeras av andra länder.

Det är möjligt att de svenska kiropraktorerna är vettigare och mer kunniga än de brittiska (fast det verkar tveksamt), så om någon av dem ser det här får de gärna visa var de totalt tar avstånd både från kot-tramset och stämningen mot Simon Singh. Tills dess håller jag mig långt borta från dem, och rekommenderar att andra gör detsamma. Man har bara en kropp. Den ska man vara rädd om, och inte utsätta för första bästa behandling där det inte finns bevis för att den alls fungerar.

Tillägg: Mer info om kiropraktik på Humanistbloggen.

Läs även andra bloggares åsikter om politik, vetenskap, kiropraktik, homeopati, simon singh, piratpartiet, yttrandefrihet, censur.

February 16th, 2010 Posted by Daniel Brahneborg | blogg | 6 comments

Analogt och digitalt

Igår var det en tjej bakom mig som pratade i telefon med sin mamma, som tydligen hade haft besvär med samtal från någon oönskad person. Enligt vad jag kunde förstå så hade hon satt en lapp på baksidan av sin telefon eller något sådant med det här numret. Dottern fnissade rejält, undrade varför hon bara inte la in numret i telefonboken på namnet “Svara Inte”, och utbrast sedan “Men mamma, du är så himla analog!”.

Skillnaden i hur man ser på teknik är ibland ganska stor.

February 16th, 2010 Posted by Daniel Brahneborg | blogg | one comment

Aftonbladet Viktklubb är förvirrade om kalorier

Ok, att säga att Aftonbladet säger emot sig själva är lite grand som att stjäla godis från små barn. Det är liksom ingen sport. Men i det här fallet var det lite roligt.

För två månader sedan hade Aftonbladet i sin Viktklubbavdelningen en artikel som hette “10 sätt att gå ner 5 kilo“, med kommentaren “ett kilo kroppsvikt motsvarar ungefär 7 000 kcal“. Poängen är att exakt 100% av de kalorier man äter, oavsett om de kommer från fett, proteiner eller kolhydrater, måste förbrännas, annars så går man upp i vikt. Artikeln slutar med att säga att man gärna ska äta lightprodukter, eftersom de innehåller färre kalorier, och därför gör att man går ner i vikt.

Om jag tar en kasse och stoppar ner en liter mjölk och 1 kg potatis, så väger den exakt lika mycket oavsett vad jag stoppar i först. Enkel fysik. Om du varje kalori skulle “väga” 1/7 gram och alla kalorier var likvärdiga, så skulle det inte göra någon som helst skillnad om jag satte i mig dagsbehovet i form av en skål socker på morgonen och ingenting annat under hela dagen, eller gick och småsnaskade på havrefras var femte minut dygnet runt. En kalori är en kalori, enligt den här teorin. Det är ingen som pratar om proteinkalorier och fettkalorier, eller morgonkalorier och kvällskalorier.

Idag såg jag en ny artikel som hette “Glöm inte frukosten“, men som tydligen var publicerad redan för tre månader sedan. Där kommer citatet “studier visar att de som regelbundet äter frukost väger 2,3 kilo mindre än de som hoppar över den, trots att de får i sig fler kalorier under dagen“. Helt plötsligt så gör det alltså skillnad när man äter sina kalorier, helt i strid med den andra artikeln. Den mänskliga ämnesomsättningen är alltså olika på olika tider på dygnet. I så fall behöver man ju inte alls minska med några 7000 kalorier (jay!), det gäller bara att fördela dem annorlunda tidsmässigt för att kroppen ska hamna på en lägre balansnivå.

De försöker tyvärr blanda bort korten lite genom att påstå att de som äter frukost småäter mindre under dagen och därför på något sätt skulle få i sig färre kalorier, och därigenom väger mindre. Men, eftersom artikeln börjar med att säga att det totala antalet kalorier faktiskt var högre, är det där irrelevant. Det är lätt att missa om man läser slarvigt, så det är nog många som går på den bluffen.

Jag skrev till Sofia Carlberg som skrivit den andra artikeln och frågade om hon inte höll med om att de var lite inkonsekventa här, men fick bara det totalt meningslösa svaret “på Viktklubb rekommenderar vi ett jämt intag av kalorier under dagen för att bibehålla mättnadskänslan“. Det stämmer bättre med den andra artikeln, men även det är i fin konflikt med kaloriteorin som de tjatar om på alla andra ställen, som t.ex. den första artikeln.

Så trots att de plockar pengar av folk som vill gå ner i vikt, har de inte ens en konsekvent syn på hur man ska äta. Nog för att det är Aftonbladet som sagt, men det är ändå lite humor. Det är lätt att börja tänka på det där med seriösa undersökande journalister kontra särskrivande specialklass osv. Man kan ju också fundera på vilka de där  studierna är. Vem har gjort dem? Var är de publicerade? Hur är de utförda? Vem har kontrollerat att de är randomiserade på rätt sätt? Många frågor, som en riktig journalist borde ställa sig innan hon skriver “studier visar”.

Sedan kommer den lilla knorren. En lite mer noggrann läsning av artiklarna visar att det är samma person som står för citaten i båda artiklarna, nämligen “dietisten Josefine Jonasson”. Det är lite kul redan där, men det blir snart ännu bättre.

Jag sökte efter lite fler artiklar där Josefine var inblandad. T.ex. finns en artikel i sund.nu, där hon säger att en lågkaloridiet inte fungerar i längden, eftersom ämnesomsättningen sänks och kroppen vänjer sig vid det lägre intaget, och vikten stabiliseras. Alltså är inte en kalori en kalori. Hon var även med i Expressen i september 2008, där hon säger att man inte kan gå ner i vikt av att äta lightprodukter. Hmm.

I en chat hade hon tydligen också sagt att mycket fett aldrig kan vara bra, allra minst om man vill gå ner i vikt. I så fall undrar jag varför jag både är på väg ner i vikt nu efter 3 (eller är det 4?) veckor med strikt LCHF liksom för två år sedan, och varför exakt alla jag känner eller ens har hört talas om som har provat den dieten redan efter några veckor har tappat flera kilo, och sedan fortsätter nedåt i rask takt. Personer utan speciellt mycket kroppsfett går självklart inte ner så mycket, men de har ju inte heller någon anledning till det.

Undersökande journalistik är kul.

Läs även andra bloggares åsikter om mat, lchf, kalorier, aftonbladet, viktklubb, josefine jonasson, lightprodukter.

February 11th, 2010 Posted by Daniel Brahneborg | blogg | 4 comments

Är SAS vd Mats Jansson f.d. skivbolagsdirektör?

Mats Jansson behöver medietränas. Följande fanns i DI idag:

DI: Folk tycker att det är dyrt att åka med SAS. Vad säger du åt dem?

Mats Jansson: Hej, hej, hej! Vi ger mycket mer service än lågprisbolagen och våra spektra av priser matchar mer än väl leisurebolagen. Norweigan och Finnair är mer leisurebolag medan vi prioriterar affärsresenärerna. Och här har många företag dragit ner på resandet. Jag vet själv att det är lätt att skära i resandet, och Nokia till exempel har infört en resefri månad.

Alltså, va?  De vet att företagen drar ner på sitt resande, och att vissa företag emellanåt inte reser alls. Ändå prioriterar de fortfarande på den kundgruppen. Att Nokia har en resefri månad skulle alltså vara ett svar till de som tycker att SAS är dyra? Hur tänkte han nu?

Högst upp på sidan har de frågat några personer varför de (inte) åker med SAS. En av dem säger “Jag ska på affärsresa och följer policyn hos Trygg-Hansa att vi ska ta det billigaste alternativet”. Han skulle flyga med British Airways. Alltså verkar Mats “matchar mer än väl” inte helt korrekt.

Han tyckte också att år 2010 blir ett dåligt år, “men 2011 vänder det, och åren 2012 och 2013 är efterfrågan bättre och prisnivån har stabiliserats”. Det där låter bekant. Det är ungefär så som skivbolagscheferna brukar säga, att snart kommer folk börja köpa plastbitar igen. Har han ett förflutet som sådan?

Tydligen skulle frakttransporterna “börja ta sig”. Det känns ju rimligt, eftersom allt fler blir intresserade av lokalproducerat. Jag är skeptisk, kan vi väl summera det som.

Den här snubben ska då få en miljard statliga skattepengar att fortsätta leka med, med peak oil bakom hörnet. Ja, 2012 och 2013 kommer nog affärsfolk flyga SAS som tokiga, för att inte tala om alla CD-skivor som måste transporteras runt jorden. Spännande kille.

Läs även andra bloggares åsikter om internet, politik, ekonomi, sas, mats jansson.

February 10th, 2010 Posted by Daniel Brahneborg | blogg | one comment

Workaround för Berkeleyproblemet

För några veckor sedan lyckades jag ju isolera ett problem med Berkeley-databasen. Den blev helt enkelt lite missnöjd med livet när det var för många trådar som accessade den samtidigt. I början så lyckades ju Oracle återskapa problemet, så det såg ljust ut. Tyvärr visade det sig vara en bugg i mitt testprogram, och när det var rättat så försvann krascherna. Attans.

Tyvärr fungerade det fortfarande inte helt bra, men det var inte helt tydligt var felet låg. I testsetupen till den riktiga applikationen så är det två andra program inblandade, och det var inte helt säkert att det inte fanns problem där också. Vissa buggar hittade jag faktiskt, men det var länge väldigt osäkert vart tiden egentligen tog vägen. Det gick bara ofantligt långsamt efter ett tag.

Till slut hade jag i alla fall lyckats mutera det lilla testprogrammet så pass mycket att det började visa upp samma symptom som det riktiga. Efter en massa testande och skruvande på parametrar stod det då klart att Berkeley DB börjar få problem när det är mer än något dussin trådar som samtidigt försöker skriva i databasen. Prestanda rasar, det blir deadlocks som gör att massa operationer måste göras om från början, och emellanåt så kraschar den helt och hållet.

Jag testade att sätta ett stort lås runt alla Berkeley-operationer, så att det alltid bara skedde en operation i taget. Först när allting var klart så fick nästa tråd göra någonting. Prestandan blev ju inte så jättebra eftersom det var så många trådar som inte gjorde något annat än att vänta, men det var i alla fall stabilt. Jag drog slutsatsen att det var antalet aktiva trådar som var det besvärliga. Ändå ville jag inte dra ner det till en enstaka tråd. Berkeley ska trots allt vara trådsäkert, och om trådarna jobbar på olika filer eller i olika delar av en fil, så borde det ju inte vara något problem.

De hundratals trådarna, i vissa fall uppåt två tusen stycken, behövde därför kokas ner till kanske 10 stycken. Alltså behövdes en datastruktur och algoritmer för att låta 10 trådar få passera samtidigt, men den 11:e skulle få vänta till någon av de 10 hade blivit klar. Jag behövde inte leta så länge innan jag hittade den perfekta lösningen: Min connection pool som jag skrev till MySQL-drivern! Den var skriven för att vara helt oberoende av vilken resurs som den hanterade, så det krävdes inte en enda ändring.

Några testkörningar senare så var det tydligt att testprogrammet inte brydde sig det minsta om antalet trådar som använder poolen, det gick lika fort ändå. Antalet deadlocks var inte noll, men ytterst få. I början fick jag deadlocks på varannan operation, och nu var jag nere på ensiffrigt av 100.000 poster. Det såg ljust ut.

På grund av hård refaktorering behövde jag bara ändra i tre små funktioner för att lägga till poolen i riktiga applikationen. Även där var prestandan nu helt stabil, oavsett hur många tusen poster den hade hanterat. Den ska få gå i mer full fart och lite längre tid i morgon, men det verkar som att problemet är löst.

För att använda Berkeley DB i en intensivt multitrådad applikation, behöver man alltså använda någon form av filter så att antalet samtidiga operationer maximeras till runt 10. Har man färre trådar än så behöver man självklart inte göra någonting, men det är vi högre upp på skalan som får problem. Oracle har fått en ny buggrapport.

Läs även andra bloggares åsikter om datorer, programmering, teknik, berkeley, oracle, race condition, connection pool.

February 9th, 2010 Posted by Daniel Brahneborg | blogg | 8 comments

Underliga sökningar

Jag kollade precis vilka söktermer folk hade använt för att komma till min blogg. Sådant brukar vara bra underhållning.

Först kom fantastisk kladdkaka, “utan mjöl”. Fine, det var nog Valrhonakakan som personen hittade.

Nästa, evolutionen efter big bang var mer intressant. Alltså, va? Ja, evolutionen ägde rum efter big bang. Det var ganska lite som ägde rum före big bang, för den delen. Vad var det personen sökte efter?

Sedan kom lite mer normala sökningar, som landet brunsås, e-legitimation mac och lite annat.

Hur man tänker när man skriver någon som har bmw f800s förstår jag inte däremot. Om det är någon som har en sådan hoj, lär de knappast skriva “jag är någon som …”, eller hur?

Det fanns en som stack ut lite extra: hur ritar man kartor med små barn. Alltså, vanligtvis använder man nog datorer, GPS och flygfoto när man ritar kartor. Jag ser annars framför mig någon som sätter en penna i munnen på en liten unge, och ritar genom att svinga ungen i benen hit och dit. Borde inte fungera så bra. Att rita kartor till små barn är en annan sak.

February 8th, 2010 Posted by Daniel Brahneborg | blogg | 5 comments

Det där med bevis

Det är uppenbarligen inte så lätt att hantera konceptet “bevis” för folk i allmänhet, förmodligen för att vetenskapens syn på det ordet är lite speciell. Nu senast fick jag höra att det inte fanns några bevis för att allting i världen gick att förklara med naturvetenskap. Därmed är vetenskapen också en “tro”, jidder, jidder.

Svårigheten är ju att naturvetenskapen aldrig bevisar att någonting är sant, eftersom det inte går. Vetenskapen kan bara bevisa att saker är falska. Oavsett hur många vita snöflingor man har sett, så kan man inte förutsätta att alla snöflingor för alltid kommer att vara vita. Rätt vad det är kanske det kommer en grön flinga. Eller en bil från sidan i en vanligtvis tom korsning.

Det man istället vill ha är enklast möjliga förklaringsmodell, som inkluderar de observationer vi har gjort hittills. Om den dessutom förutspår nya observationer, som t.ex. ljusets krökning när det passerar solen (som användes för att bekräfta allmänna relativitetsteorin), eller energinivåerna i vätekärnan (som användes för att bekräfta Big Bang-modellen, enligt Simon Singh), så visar det att modellen nog är rätt. Ända tills det finns någon observation som visar att den är fel (eller snarare ej komplett), så klart. En modell som gör förutsägelser som visar sig vara korrekta, är självklart starkare än en modell som bara förklarar det vi har sett hittills. Ungefär där faller religionernas trovärdighet, eftersom de inte har kunnat förutse någonting överhuvudtaget, oavsett vad Carola påstår.

En klassiker, speciellt i diskussioner med personer som tar bibeln alldeles för bokstavligt, är ju evolutionen. Det är inte det att det finns några bevis för den, men med alla de observationer vi kan göra, som t.ex. att jämföra hur stor del av DNA som delas mellan olika organismer och på det sättet rita upp ett släktträd, gör att det inte finns någon annan modell som är ens i närheten av att vara lika sannolik.

När det gäller koldioxiddebatten så kan man ju konstatera att den globala temperaturens utveckling är lite olika, beroende på vem man frågar. Däremot verkar de flesta överens om att den det senaste årtioendet har stått still. Jag tror också att även den där meterologen som har gråtit i tidningarna över att hans barn aldrig skulle få åka skidor, har kunnat göra det alldeles tillräckligt den här vintern. Inte för att det är något bevis åt något håll, men sannolikheten att temperaturen skulle öka 2 istället för 3 grader för att jag köper en bil som släpper ut något milligram mindre koldioxid per mil mindre än grannens, när det ändå gick släpptes ut mer än motsvarande tusentals mils körning när bilen tillverkades, är ju totalt noll.

Nu har det varit extra kallt och mycket snö, och lika säkert som ett spam-mail om Viagra, dyker det då upp typer som säger att jo då, om temperaturen ökar, vilket ju skulle ge översvämningar överallt, så skulle ändå vintrarna plötsligt bli kallare. Rimligen skulle det balansera upp de varmare somrarna och därmed ge en oförändrad medeltemperatur, men logik och matematik verkar inte vara de värsta koldioxidhysterikernas starkaste gren.

För att få några bevis angående fildelningens effekter, skulle man nog behöva skapa ett till jordklot, och på det ena, på något magiskt sätt, hålla alla varianter på fildelning borta. Hur man skulle göra det utan att totalt rasera hela internet och beslagta både datorer och lagringsmedier i parti och minut vet jag inte riktigt. Däremot kan man ju konstatera att till och med branschernas egna siffror visar att de går bra, utom kanske just de som säljer miljöfarliga plastbitar.

Nästa område där bevisandet verkar lite obefintligt, är LCHF-kost. Där är det å andra sidan lite enklare. Att skapa ett nytt jordklot är svårt, men vem som helst kan ju byta ut kolhydraterna mot fett i någon månad och se vad som händer.

I inget av de här fallen kan vi tala om att något är bevisat, utom möjligen att fildelning (tyvärr) inte leder till svensk filmindustris omedelbara död. Däremot når man efter ett tag punkten “till visshet gränsande sannolikhet”, vilket inte är så dåligt. Tills dess, så klart, som någon visar att teorin obevekligen är felaktig (som homeopati), eller kommer med en ny teori som ger bättre förutsägelser.

Läs även andra bloggares åsikter om vetenskap, religion, mat, politik, fildelning, lchf.

February 6th, 2010 Posted by Daniel Brahneborg | blogg | 2 comments

Argument mot kaloriteorin

Jag läste en lite kul sak angående det där med kalorier, “man måste äta ungefär lika många kalorier som man gör av med” och liknande dumheter.

Om vi nu låtsas att den stämmer, bara på skoj. I så fall så tar kroppen alltså upp exakt all energi som finns i den mat och dryck vi äter. Mätt genom att elda upp det, vilket ju är precis så som en mänsklig kropp fungerar (jag sa ju att det bara var på skoj). Andra däggdjur borde då rimligen bete sig ungefär likadant. Alltså är är kaloriinnehållet i bajs (kolla kolla mamma, han sa BAJS!) precis noll. Det vill säga, det går inte att använda t.ex. kospillning som gödsel för att få bra liv i växter av olika slag, och smådjur som flugor och bakterier är helt ointresserade av denna näringsbefriade massa.

Eller, om vi nu återvänder till verkligheten, så behandlas olika ämnen på olika sätt i kroppen, och ämnesomsättningen kan plocka ut både mer eller mindre energi beroende på en massa variabler.

Läs även andra bloggares åsikter om mat, vetenskap, kalorier.

February 3rd, 2010 Posted by Daniel Brahneborg | blogg | 4 comments

« Äldre |