För något år sedan lyckades jag tappa Alldeles För Många Oersättliga Filer, framför allt nästan allt av runt 2 års foton. Det var inte jätteskoj.
Visserligen tar jag backup från min vanliga dator till min server, men eftersom de står i samma lägenhet så är det inte en så bra lösning. Med diskar på 1-2 TB som har överkomlig prislapp och internetanslutningar som faktiskt är lite fart på, skulle jag vilja göra så här:
- Jag och Person X köper varsin disk. USB om det funkar i Linux (lite enklare hotswap), annars SATA som dessutom är lite billigare (per GB).
- Konton skapas på respektive burk, för ssh-access med den nya hårdisken som loginbibliotek. Med chroot, så blir det ännu bättre.
- Jag synkar mina saker till Person X, och Person X synkar till mig.
- Ett konto hos dyndns.com gör att domännamnet kan ändras automatiskt när man får en ny IP-adress.
- Med crontab kan backuper göras godtyckligt ofta, och med “
rsync --bwlimit” kan man hålla nere bandbredden lite grand.
Så, är det någon här som har samma behov, och har lust att vara denna Person X?
June 23rd, 2010
Posted by
Daniel Brahneborg |
blogg |
4 comments
Se där, idag kom ett spam av en typ som jag inte brukar få:
Subject: ricercar.se support
SMTP and POP3 servers for basic@ricercar.se mailbox are changed. Please carefully read the attached instructions before updating settings.
http://f1.grp.yahoofs.com/v1/–ungefär-100-slumpmässiga-tecken–/open.exe
Nej, chansen för att det här mailet är äkta är ju inte så hög. Domänen ricercar.se är min. Den enda som gör några inställningar där är jag. Nog för att jag var lite trött i går kväll, men jag är ganska säker på att jag inte varken ändrade några mailinställningar, eller skickade mail på engelska till mig själv om det. Dessutom med en länk till “yahoofs.com”, som pekar på en exe-fil.
Just när det gäller länkar så har jag en mycket bestämd regel. Jag klickar inte på länkar som går till någon annan domän än den jag vet att företaget ifråga använder. Därför svarar jag nästan aldrig på kundundersökningar, eftersom de brukar gå direkt till företaget som driver undersökningen, och inte företaget som jag har kontakt med. Det är synd, när det kanske tar flera sekunder att lägga in en liten HTTP Redirect i apache-configgen.
Läs även andra bloggares åsikter om internet, datorer, spam.
May 13th, 2010
Posted by
Daniel Brahneborg |
blogg |
no comments
Efter ganska många försök lyckades jag ju fixa en e-legitimation på min Mac förra året, så jag kunde deklarera på nätet. Nu börjar det ju bli dags igen, så jag surfade iväg till Skatteverket, och försökte logga in med “Bank-ID”. Programmet “Personal” drar igång, men dropdownen där jag ska välja certifikat är tom och disablad. Jaha, det gick ut i mars i år. Skumt.
Enligt den fina broschyren skulle det gå att logga in via någon kod som skulle stå högst upp på deklarationsblanketten. Jag letade ett tag, men den fanns helt enkelt inte. Lite läsande avslöjade att det var på grund av att jag har en enskild firma, så då är de lite bråkigare.
Jag surfade då iväg till SEB för att den vägen skapa en ny e-legitimation. Logga in, knappa in kod nr 2, och så iväg till Telia. Där fick jag ett felmeddelande om att jag inte hade installerat “Net ID”. Say what? Det fanns en liten länk, så jag laddade hem det och installerade. Iväg till Telia igen, varvid den gnällde på samma sak igen.
Ok, omstart av Firefox, in på SEB, verifiera med kod nr 2, och så till Telia igen. Det gick fortfarande inte, så jag ringde Telias support, som snällt nog hade öppet sent på kvällen. Efter att ha plockat bort alla Telias cookies så gick det bättre, men jag kunde fortfarande inte skapa något e-leg.
Killen där rekommenderade mig till slut att köra ett script som han mailade, starta om datorn, och installera Net ID en gång till. Då skulle det fungera bättre. Sinnesjukt.
Någon dator startade jag inte om, men jag startade om Firefox i alla fall. Genom att starta Net ID via Findern och inte direkt från kommandoraden, fick jag faktiskt upp en flik i Firefox med lite inställningar och annat. Framsteg!
Sedan iväg till SEB igen, och vidare till Telia. Se där, nu slutade den gnälla på att Net ID inte fanns. Jag fick något ytterligare felmeddelande som jag har glömt bort, men efter att ha tagit bort något tillfälligt “token” i Net ID och försökt igen, gick det bättre. Ett par felmeddelanden senare, och några ytterligare hopp mellan Telia och Net ID-fliken, så hade jag faktiskt fått min e-legitimation!
Tillbaka till Skatteverket. Och se där, jag kom in!
I helgen ska jag ta reda på vilka siffror jag ska skriva in. Ingen brådska.
Läs även andra bloggares åsikter om datorer, ekonomi, säkerhet, teknik, deklaration, e-legitimation, SEB, Telia, Firefox.
May 1st, 2010
Posted by
Daniel Brahneborg |
blogg |
5 comments
Mamma hade köpt ett trådlöst nätverkskort som jag skulle hjälpa till att sätta i och få igång. Burken var en Dell, vilket gjorde att det varken krävdes några verktyg för att öppna chassit eller för att ta ut och sätta i PCI-kort. Mycket smidigt.
Det Sweex-kort hon hade köpt hade en tillhörande CD-skiva med drivrutiner. Den sattes i, drivrutinen installerades, och relativt snabbt kom det upp en lista på tillängliga nät. Jag valde deras nät, skrev in lösenordet, något man dessutom var tvungen att göra två gånger (#puckon!), väntade en liten stund, och så hände ingenting. Det blev ingen ip-adress där inte.
Jag provade flera gånger, kollade att jag inte såg fel på 0 (noll) och O (stor olof) osv, men kortet var lika ovilligt att kommunicera som en upphovsrättsjurist hos Sony.
Som tur var har de en dator till, där jag genom att söka på chippet (realtek 8185, som gick att se genom att gräva lite i kontrollpanelen) hos Google hittade en annan drivrutin. USB-minnen är bra att ha, apropå det. Den installerades, och snabbare än den tid det tar att ladda hem en mp3 från Pirate Bay hade datorn nu fått en ip-adress. Vi förstod varför säljaren hade frågat om hon skulle få hjälp med att installera det här kortet.
Å andra sidan har jag ett trådlöst nätverkskort till min server som kör Ubuntu Linux, och det har jag aldrig fått att fungera. Den kan hämta listan på nätverk, men att koppla upp sig mot något av dem fungerar inte. Eller jo, det fungerar med nätverk som inte har något lösenord, men det gör att den blir lite för sårbar för min smak.
Så sammanlagt står det faktiskt 1-0 mellan Windows XP och Ubuntu Linux. *mutter*
Både min MacBook och Nokianalle kunde, inte helt oväntat, prata med det här trådlösa nätverket utan några problem vid första försöket.
Trådlösa nät är praktiska, men de är inte direkt någon barnlek att få att fungera.
Läs även andra bloggares åsikter om datorer, internet, teknik, wlan, realtek 8185, windows xp, ubuntu.
March 7th, 2010
Posted by
Daniel Brahneborg |
blogg |
11 comments
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
Richard Gatarski skrev nyligen ett blogginlägg där han argumenterar för att man ska ta bort “Matematik” som kärnämne, minska antalet lektionstimmar, och ersätta det med något mer “användbart”. I en intervju med Skolvärlden sa han:
… dom flesta behöver bara 3 % av den matte dom fått lära sig (iofs en siffra huggen ur luften). Alltså, om man typ tvingats lära sig 100 mattesaker i skolan, så är det bara tre man har nytta av efteråt. Visst slöseri liksom. Då är det nog bättre att ta bort 96 saker och få tid att kunskapa om något vettigare i stället.
Att 96 + 3 inte blir 100 blir lite extra humor i sammanhanget, men ändå.
Jag blir bara ledsen när jag läser sådant här, för jag tycker det är direkt tragiskt med personer som tror att allting man lär sig i skolan är fakta som ska vara direkt användbara, helst i kassan på Ica. Egentligen behöver man ju då inte lära sig något annat än alfabetet, så man kan söka på wikipedia. Så är det självklart inte. Man går inte i skolan för att lära sig “kunskaper”.
Till att börja med så finns det ingen onödig kunskap. Alla fakta vi lär oss bidrar till att bygga upp en större och mer stabil mental bild av verkligheten. På det sättet blir det dels lättare att lära sig nya fakta, men det blir också lättare att förstå nya saker. Anledningen är att mer av det nya redan finns i skallen. Ta till exempel “koka vatten”. Att förstå vad som händer när vatten kokar är en ganska avancerad historia, som inkluderar både fysik och kemi (och lite annat, beroende på hur noga man vill vara). Om man sedan ska lära sig vad som händer när någon annan vätska kokar, är 99% av kunskapen redan där. Ju mer man kan, desto enklare blir det att lära sig mer.
Har man lärt sig tio huvudstäder så hjälper inte det för att lära sig namnet på den elfte, men man har förmodligen en lite större förståelse av konceptet “huvudstad” än innan.
När jag gick på universitetet i Umeå så var det någon som undrade varför Datavetenskapliga linjen började med så mycket matte (50%). Svaret från en av lärarna var ungefär “för att ni ska lära er att tänka”. Det låter knäppt, men är i grunden ganska enkelt. Matematik rör sig i en abstrakt värld, liksom programmering. För att bli en bra programmerare är det därför nödvändigt att utan problem kunna röra sig i den här abstrakta världen, och ett av de enklaste sätten att få folk att göra det mentala hoppet är att lära dem massor med matte. Inte för att man har användning av matten i sig, utan för att lära sig byta ut allt man vet om den fysiska världen (gravitation, massors tröghet osv), och föra resonemang och röra sig runt i en abstrakt värld, definierad av helt egna regler. Om man lär sig abstrakt tänkande enbart med hjälp av programmering, är risken stor att man fastnar i ett visst programmeringsspråks syntax. Jag har flera vänner som hamnade i den fällan.
Att kunna tänka abstrakt är naturligtvis ingenting som bara programmerare behöver, det har alla nytta av. De som tror att de bara “behöver” 3% (dvs 3 saker av 100, för er som skolkade på mattelektionerna) av den matte de lärde sig i grundskolan, har bara inte förstått hur den ska användas.
Det är inte konstigare än att det är bra för barn att lära sig krypa när de är små, något som bara vissa typer av soldater har någon faktisk nytta av. Det finns inga normala vuxna som har “nytta” av att kunna krypa, men det betyder inte att det är ett slöseri med tid att göra det som liten.
Med tanke på hur konstigt folk hanterar sin ekonomi så skulle å andra sidan många både behövt ha lärt sig mer matte, och dessutom behövt få lära sig hur den ska appliceras i det dagliga livet. Ett av mina favoritexempel är en sak jag har fått från Cornucopia, nämligen folk som skaffar amorteringsfria bostadslån. Visserligen kan det vara lite klurigt att räkna ut exakt hur mycket högre totalkostnaden blir, men det borde vara uppenbart för alla att den blir det.
Så, dels har man nytta av bra mycket mer matematik i vardagen än vad många tror, och dels så gör resten att vår mentala mappning av världen blir bättre.
Däremot behöver matematikundervisningen i Sverige bli mycket bättre, där har Richard helt rätt. Man behöver i början få se en tydligare koppling till verkligheten, så att det blir lättare att göra det här hoppet till den abstrakta världen. Studenter kommer ju till KTH utan att kunna mer än de fyra räknesätten, enligt flera artiklar i Ny Teknik förra året. Personligen tror jag att det beror till stor del just på det här “vad ska jag med just det HÄR till”-tänket. Antingen så visar det sig senare, eller så har du blivit bättre på att tänka abstrakt. Det är en win-win-situation, så länge som man får tillräckligt många exempel på det förra, för att sluta oroa sig.
Att “matte” inte anses coolt och därför ska tas bort, är helt fel lösning på problemet. Matte behövs, och behöver därför få en bättre image. Som den marknadsförare Richard är borde det vara en trevlig utmaning. När Festis ansågs o-coolt, paketerades drycken om och fick lite ball marknadsföring. Drycken i sig är densamma. Det är snarare något sådant som behövs. Matten behövs, men behöver lite ny paketering och reklam. Innehållet behöver inte förändras för det.
Läs även andra bloggares åsikter om datorer, programmering, ekonomi, vetenskap, pedagogik, richard gatarski, festis, reklam, matematik.
January 24th, 2010
Posted by
Daniel Brahneborg |
blogg |
16 comments
Jag brukar tycka att Carl Bildt är ganska bra, men hans senaste artikel i SvD är inget annat än totalt svammel.
Han börjar visserligen bra:
Men det sätter också strålkastarljuset på ett annat problem, nämligen hur bristande säkerhet på nätet kan utnyttjas av auktoritära krafter för att hota användarnas frihet.
Jaha, han tycker att människor ska få kommunicera fritt med varandra? Det var ju lite udda för att komma från moderaterna, som har varit så pigga på att införa Ipred, datalagring och annat otrevligt.
Men till detta kommer försöken att i hemlighet spåra regimkritiker och spionera på dem för att uppnå det som auktoritära och totalitära regimer har strävat efter i alla tider, nämligen att kontrollera undersåtarnas utbyte av tankar, åsikter och idéer.
Det här stycken handlade faktiskt inte om FRA, utan om Kina. Det är lätt att blanda ihop dem, jag vet.
På samma sätt som vi har rätt att kräva att vi kan röra oss tryggt på gator och torg måste vi kunna lita till att det allmänna erbjuder ett grundläggande skydd när vi använder telekommunikationerna för vår mobil- eller datatrafik.
Nu börjar det bli förvirrande. Det är faktiskt ganska stor skillnad på det stöd jag förväntar mig från samhället angående att el och fiberkablar skyddas från angrepp, och att som i Kinas fall spärra “farliga ord” i SMS. Vad “cybersäkerheten” skulle vara annars vet jag faktiskt inte. Kanske att slippa få sina datorer beslagtagna av polisen bara för att de har varit uppkopplade till internet? Sorry Carl, jag känner mig faktiskt inte tryggare av att veta att staten avlyssnar och analyserar allt data som går mellan min dator och någon annans. De personer som tycker det är en bra idé utan att själva vara den som avlyssnar, är välkomna att läsa en liten artikel på Wikipedia.
Vår profil i MR-frågorna ger oss också trovärdighet på ett område som innehåller många viktiga intresseavvägningar mellan å sena sidan användarnas frihet och skyddet för den personliga integriteten och kravet på säkerhet och kontroll för att bekämpa missbruket å den andra.
Här någonstans börjar jag bli lite irriterad. Så Sverige är ovanligt bra på den där intresseavvägningen, när den mest har resulterat i Ipred och Beatrice Ask som pratar om våldtagna spädbarn som motivation att förbjuda tonåringar att ha nakenbilder på sig själva? Nej tack, den där säkerheten och kontrollen har moderaterna bevisligen missförstått helt och hållet. Mary Jensen och Karl Sigfrid har förstått, men tyvärr finns det fler personer i det där partiet.
Det omedelbara målet för detta möte blir att, till rapporteringen inför FN:s råd för mänskliga rättigheter 2011, föda in idéer om hur yttrandefriheten i elektroniska medier ska kunna få ett starkare internationellt skydd.
Så yttrandefriheten i elektroniska medier ska få ett starkare skydd? Hur då? Genom att hemlighetshålla innehållet i Acta? Genom att lagra trafikdata i databaser som kommer att läcka?
Som väntat så är nästan samtliga kommentatorer till artikeln väldigt kritiska, och undrar vad han pratar om. Riv Sönder Och Börja Om, Carl.
Piratpartiet behövs i riksdagen för att reda ut sådan här förvirring, den saken är uppenbar.
Uppdatering: Andra som skriver: Blogge, Mikael Elmlund, Sugbloggen, Svensson, Henrik Alexandersson.
Läs även andra bloggares åsikter om datorer, internet, bodströmsamhället, säkerhet, fra, carl bildt, kina.
January 21st, 2010
Posted by
Daniel Brahneborg |
blogg |
2 comments
På jobbet började vi för ett tag sedan använda den gamla hederliga Berkeley-databasen i en av våra produkter. Den har ju många år på nacken och används i alla möjliga Unixverktyg, så det kändes tryggt.
Den första strategin gick ut på att använda flera olika index för att kunna traversera posterna på olika sätt. Framför allt skulle det göra att ingenting behövde läsas in vid uppstart, och i praktiken göra oss helt oberoende av köstorlekar. Sådant är bra.
Att använda olika index från olika trådar samtidigt var dock inte så populärt. Med intensiv trafik så kraschade nämligen alltid programmet ganska snart någonstans inne i Berkeley-koden. Trots support från flera av Berkeleyutvecklarna lyckades vi aldrig hitta anledningen.
Istället bytte vi strategi, och gick tillbaka till minnesbaserade köer istället. Databasen blev därmed reducerad till operationerna “lagra post X”, “läs in alla poster”, och “ta bort post X”. Det blev lite enklare kod och lite bättre prestanda, så det var ok.
När jag sedan började göra en del tyngre stresstester med massor med trådar, började databasen krascha igen. Det verkar inte som att jag har glömt något fundamentalt, som att skicka med DB_THREAD till db->open, vilket innebär att Berkeley DB i den aktuella versionen 4.8 än så länge inte är helt trådsäker. Den är ganska trådsäker, men med några dussin trådar som inte gör något annat än att skapa och ta bort poster, hittar man uppenbarligen något som är trasigt. Förmodligen är det vad som brukar kallas för ett “race condition”, dvs programmet förutsätter att två operationer sker i en viss ordning, men har glömt att säkerställa det.
Det kan som exempel se ut så här. Först finns tråd 1:
- Gör operation A.
- Vänta på att tråd 2 släpper lås Z.
- Gör någonting som tar lång tid.
- Gör operation B.
Sedan tråd 2:
- Gör operation C.
- Släpp lås Z.
- Gör någonting som tar kort tid.
- Gör operation D.
Av det här så vet vi att A sker före B, C sker före D, och att A sker före D.
Däremot så vet vi inte vad som händer först av A och C.
Rimligtvis borde D ske före B, eftersom båda trådarna passerar punkt 2 samtidigt. Här finns då ett race condition, för plötsligt kanske tråd 2 inte får köra på länge, vilket gör att tråd 1 hinner göra operation B innan tråd 2 hinner fram till operation D.
I verkligheten har man sedan kanske något hundratal trådar, en handfull lås, och några hundra operationer som parvis lite slumpmässigt måste göras i rätt ordning. Om det nu var någon som tyckte att det där exemplet lät alldeles för trivialt.
Nu återstår att se vad Oracle säger om det hela. Kanske har jag trots allt glömt någonting, kanske finns det en bugg.
Uppdatering: Oracle har nu bekräftat att de kan reproducera problemet, och har skickat det vidare till utvecklarna. Kul!
Läs även andra bloggares åsikter om datorer, programmering, teknik, berkeley, oracle, race condition.
January 20th, 2010
Posted by
Daniel Brahneborg |
blogg |
no comments
Jag gick igenom en gammal mailbox, och hittade följande, i en 4 år gammal text. Det är skönt att veta att vi har kommit långt sedan dess.
My distribution of choice is superior in every way to your pathetic distribution of choice. You are the lowest form of loser to think that your worthless distribution could hold a candle to the God-like superiority of my distribution.
My distribution’s superiority is clearly demonstrated by it’s magnificent out-of-the box handling of my obscure feature of choice. Your pathetic distribution doesn’t even support my obscure feature of choice without a course of action so complex that it’s madness to even contemplate it.
Clearly, my distribution of choice will utterly destroy your distribution of choice. This is so certain it is pointless for you to resist it.
Numera är min laptop en Mac.
Läs även andra bloggares åsikter om datorer, humor, linux.
November 23rd, 2009
Posted by
Daniel Brahneborg |
blogg |
3 comments
I ett av mina små Rails-projekt vill jag ha taggar, och hittade efter lite letande acts_as_taggable_redux. Den var ganska cool, och gjorde att flera personer kunde tagga samma objekt, men bara ändra de taggar de hade satt själva. Däremot kunde alla se alla andras taggar. Perfect för community-taggning.
Sedan hittade jag Haml, ett markupspråk för Rails. Extremt kompakt, och mycket vackert.
Jag installerade det, och började på en tom vy. Nähä, “edit.erb not found”. Hallå nu, filen heter edit.html.haml, och eftersom Haml är installerat ska den automatiskt hitta den. Jag googlade som en tok i går kväll, men hittade inga ledtrådar. Att byta railsversion mellan 2.3.2 och 2.3.4 gjorde ingen skillnad.
Till slut skapade jag ett helt nytt railsprojekt, skapade en haml-vy, och självklart fungerade det perfekt. Genom att jämföra filerna med de jag hade i mitt “trasiga” projekt och sedan stegvis kopiera över en fil i taget tills vyn gick sönder, hittade jag till slut den skyldige. Min tagging-plugin.
Visserligen skulle jag behöva slänga ut den pluginen och skriva en egen som använder named_scope istället för en massa komplex SQL, men det är andra saker som är viktigare. Idag dök dessutom en konkurrentsajt upp på nätet, så nu börjar det bli dags att få det hela releasebart. Lite irriterande, för det hade varit trevligt att kunna använda Haml.
Läs även andra bloggares åsikter om rails, ruby on rails, programmering, haml, acts_as_taggable_redux, markup, taggar.
October 9th, 2009
Posted by
Daniel Brahneborg |
blogg |
one comment
« Äldre |