Bdb upload script

February 7th, 2010 mejf

Jag har länge tänkt att jag på något sätt skulle vilja dela med mig av min vardag till folk jag känner genom foton. Jag höll på med bilddagboken ett tag, men det blev så tråkigt att ladda upp bilder där med deras formulär. Men nu har jag äntligen fått tummen ur och löst problemet för mig själv, åtminstone tillfälligt.

Jag har nämligen, med hjälp av en del exempel och en bristfällig API-dokumentation slängt ihop ett script för att ladda upp bilder på Bilddagboken. Det är skrivet i PHP och använder sig av curl (både programmet curl och libcurl i PHP, funderar på att ändra till bara libcurl), notify-send och zenity. Jag kör det i Ubuntu Karmic 64 bit, men det funkar alldeles säkerligen under andra operativsystem också, kanske med lite pill. Jag tänkte hur som helst dela med mig av scriptet i fråga. Jag personligen har lagt scriptet i ~/.gnome2/nautilus-scripts/ för att kunna högerklicka på bilder och ladda upp dem direkt från Nautilus, men det går ju att göra på andra sätt.

Scriptet läser även ut datumet som namnet på katalogen bilden ligger i, i formatet ÅÅÅÅ-MM-DD eller ÅÅÅÅ_MM_DD. Det går givetvis lätt att fixa på något annat vis om så önskas (exempelvis från EXIF-taggarna).

För att använda Bdbs API krävs en API-key och ditt userid. Kommentarer i koden beskriver hur man skaffar apikey och tar reda på userid.

Och här är koden (hos pastebin).

Update: Jag har jobbat vidare en del på koden. Här är en senare variant.

Posted in Programmering | Tags: , , , , , , , , , , , | 1 Comment »

Det Sista ProgrammetTM

December 13th, 2009 mejf

Inte helt sällan inom mitt område av studier är det problem man ska lösa. Dessutom problem kan ofta delas in i grupper av problem där de olika problemen har olika metoder för hur de ska lösas. Ibland kan en grupp problem ha som lösning att man omformulerar problemet och joxar runt det lite grand så att det ser ut som en annan grupp av problem som går att lösa mer direkt.

För någon vecka kom jag att tänka på det här med mjukvara. Hur många olika mjukvaror har det utvecklats under historien? Även om vi inte räknar uppdateringar och mindre utökningar som nya program så skulle jag tro att kvoten (antal utvecklade program) / (antal olika, av dess program, lösta problem) är ganska hög. Alltså att det finns väldigt många program/system som löser exakt samma grundläggande problem. Om man bara kunde identifiera dessa distinkta problem-typer borde man väl i teorin kunna skriva Det Sista ProgrammetTM. Alltså skriva det sista programmet som någonsin behövde skrivas. Programmet som kan lösa alla tänkbara problem som någonsin skulle kunna tänkas behöva lösas av en dator. Man kanske skulle få jobba med att anpassa användargränssnitt och annan kosmetik efter rådande normer och mode. Men i övrigt skulle världens problemlösning vara tryggad.

Nackdelen med den här tanken skulle jag väl kunna tänka mig är att mängden problem som kan behöva lösas är så astronomiskt stort att det… Jag behöver nog inte skriva mer nu.

Posted in Funderat, Programmering | Tags: , , , | No Comments »

Optimerande Kompilator

December 12th, 2009 mejf

Jag har nu avslutat, lämnat in och blivit nöjd med det roligaste projektet på LTH (hittills). Kursen heter Optimerande Kompilatorer och hålls av kompilatorernas Yoda Jonas Skeppstedt.

Projektet gick ut på att vi fick en simpel kompilator för en förenklad variant av C med inbyggd simulator som vi skulle utöka med optimeringar. Målet var att en bifogad benchmark skulle köras på så få klockcykler som möjligt.

Inte nog med att jag och Jesper vann, vi spöade även alla de tidigare åren med ganska god marginal. Orginalkompilatorn körde benchmarken på ~180.000 klockcykler. Tidigare rekordet från 2007 var på 1047 klockcykler. Vår kompilator fick ner det till 950 klockcykler. (Enda besvikelsen var väl att vi inte lyckades slå dem med 100, vilket var målsättningen mot slutet.)

De kommentarer vi fått efter att vårt resultat blev (ehrm) offentligt har verkligen varit självförtroendehöjande. Jonas själv trodde inte det var möjligt att få ner siffran under 1000. Minst sagt en boost!

Posted in Programmering | Tags: , , , | 1 Comment »

Brand i hooden igen

September 26th, 2009 mejf

I natt brann det i hooden igen. Den här gången brann det dock i en av butikslokalerna som den förra branden höll på att sprida sig till. Inte lika illa denna gången. Tre brandbilar, ett antal polisbilar och en fruktansvärd röklukt. Ibland undrar man ju vad det är för ställe man bor på…

Sydsvenskan skriver lite om nattens brand och även förra branden.

Posted in Observerat | Tags: , | No Comments »

Äntligen online backup

August 30th, 2009 mejf

Så, har man äntligen kommit loss och skaffat sig en online backup. Efter många års letande med ljus och lykta har valet äntligen gjorts och landat på Jungle Disk. Detta motiveras främst med att det finns bra stöd för Linux, det låga priset, samt det faktum att man bara precis betalar för det man använder.

Den första backupen verkar, som väntat, bli en långdragen historia. För närvarande transporteras data med den hisnande hastigheten 200 kbit/s över min 10 Mbit-lina. Med 25.7 GiB data att kopiera beräknas jobbet ta tolv dygn på sig att bli färdigt. Knappast hållbart va?

Posted in Teknik | Tags: , , | 2 Comments »

Danskt territorium?

August 20th, 2009 mejf

Den 7 juli var jag och flickan min på minisemester i nordvästra Skåne. Vi hann avverka både Mölle, Kullens fyr, Nimis och mycket mer. Medan vi var nära nordvästspetsen (vid Kullens fyr ungefär) ringde en person om ett extrajobb jag hade sökt. Samtalet blev inte långt utan vi fortsatte vår trevliga naturupplevelse.

Men för några veckor sedan damp det ned en liten överraskning i form av en mobilräkning. Mobilräkningen i sig var ingen överraskning, däremot påstod den att jag hade varit i Danmark den 7 juli och tagit emot ett drygt två minuter långt telefonsamtal. Jag antar att min operatör råkar ha dålig täckning just där och deras danska kompanjon väldigt bra täckning.

Då ställer man sig självklart frågan; Vad är det som avgör vilken taxa jag är skyldig att betala? Är det i vilket land jag faktiskt befinner mig, eller bara helt enkelt vilket nät jag använder? Som konsument vet jag vad jag tycker är rimligt.

P.S. Och ja, man hade absolut kunnat klippa in något skämt om att Skåne ju faktiskt tillhör Danmark här, men det känns uttjatat. D.S

Posted in Observerat | Tags: , , , , , , , , , | 1 Comment »

Avbeställda dagar

August 19th, 2009 mejf

Sedan jag flyttade ihop med Hanna har jag varit prenumerant på Sydsvenskan. När man avbeställde tidningen fick man, förr i tiden, de avbeställda dagarna pålagda på sin prenumeration. Det har på senare tid tagits bort med argumentet att deras kostnader inte blir lägre bara för att en tidning mindre ska ut. Jag skulle väldigt gärna vilja veta hur mycket mindre deras kostnader blir när vi snart säger upp vår prenumeration.

Posted in Funderat | Tags: , , , | No Comments »

Kampanjen “Humanus Sticticus”

July 14th, 2009 mejf

Sommaren är allt bra fantastiskt ibland. Det är som att hela året bara är en lång, blåsig, kall transportsträcka till sommaren. Att kunna dra på sig ett par minimala skor och bara traska rakt ut genom ytterdörren utan att frysa är livets mandel.

Men, sommaren medför även ondska i surrande form, nämligen; myggan! Denna lilla blodsugare är, i min mening, vad som står mellan mänskligheten och den perfekta sommaren. Därför tänkte jag starta en kampanj. Denna kampanj tänkte jag kalla “Humanus Sticticus”.

Själv är jag en sån som aktivt jagar myggor. Ser jag en mygga i min närhet, jagar jag den och likviderar den. Jag har på senare tid kommit på att detta egentligen inte är någon långsiktig lösning i kampen mot kliandet. (För det är ju inte myggan i sig som är problemet, utan kliandet den orsakar.) Kampanjens mål är att få folk att, istället för att jaga efter alla myggor, enbart utplåna de myggor som faktiskt ger sig på människor. Detta bör ge de myggor som av genetisk anledning inte ger sig efter människor en fördel i det naturliga urvalet, vilket till slut bör leda till att vi får en ny, humanare mygga.

Kortsiktigt kanske man kan hoppas på att det selektiva dödandet sänder en signal även till de myggor som ännu inte fått den viktiga genförändringen, att don’t mess with us, and we won’t mess with you. Ett slags vapenvila med laddade vapen helt enkelt. Kanske.

Posted in Funderat | Tags: , , | No Comments »

Vad Reinfeldt egentligen menade

July 11th, 2009 mejf

När Fredrik, någon gång inför valet 2006, sa “Vi vill inte jaga en hel ungdomsgeneration” så var det i själva verket en liten smygarkuggis. Det han menade var att “Vi vill inte jaga EN hel ungdomsgeneration, utan ALLA föredetta, nuvarande och framtida ungdomsgenerationer”. Eller var det reportern som avbröt honom innan han kom så långt kanske?

Mer läsning om Stockholmsprogrammet.

Posted in Funderat, Samhälle | No Comments »

Binär upphovsrätt omöjlig?

April 6th, 2009 mejf

Jag råkade härom dagen snubbla på något jag tyckte var intressant. Det är ju onekligen så att fildelningen debatteras för fullt nu, och har gjorts så de senaste åren. Men det finns en aspekt på frågan jag tycker har kommit i skymundan.

Jag skulle utan problem kunna skriva ett kort litet program som “krypterar” en fil, låt oss kalla den M, med en nyckel, låt oss kalla den K, som är helt slumpmässigt genererad av mig. Resultatet av denna kryptering blir en ny fil, låt oss kalla den C, som innehåller, vad som vid första anblicken ser ut som, skräp. Visst, det är fortfarande samma innehåll som i filen M, förutsatt att man har rätt nyckel för att dekryptera filen. Så var M upphovsrättsskyddad (exempelvis av Bitney), bör C vara det också. Och dekrypterar jag den krypterade filen C med nyckeln K så får jag tillbaka filen M. Så långt allt finfint.

Men antag nu att det här programmet kan generera en annan nyckel, som vi kallar K2, som, när den används för att dekryptera C ger en helt annan fil M2, vilken innehåller en låt med Madonna. I detta fall blir det uppenbart att upphovsrätten för den krypterade filen C tillhör Madonna.

Frågan blir nu, givetvis, vem har rätt att stämma mig? Madonna eller Britney? Är kryptotexten verkligen upphovsrättsskyddad? Eller är det i själva verket nyckeln till kryptotexten som ägs av respektive artist? Sannolikt inte. Om jag vill skulle jag kunna byta ut min slumpgenererade nyckel mot en redan befintlig nyckel, som genererats för något helt annat verk och då skulle den nyckeln dessutom kunna dekryptera en fil innehållandes en låt av, exempelvis, Metallica.

Det jag efterfrågar i debatten är därför, huruvida det verkligen är möjligt att ha upphovsrätt på digitalt material. Matematik sågar frågan vid fotknölarna. Ett verk kan ha flera olika representationer. Oändligt många faktiskt. Är alla dessa upphovsrättsskyddade? Med rätt nyckel kan en fil som innehåller en låt med Metallica dekrypteras till en fil som innehåller en låt med Britney Spears.

När jag skriver att “jag skulle utan problem kunna”, så menar inte jag att jag är något computer wizz. Det är bara ett väldigt enkelt program att slänga ihop om man kan något programmeringsspråk och känner sin XOR. Jag har för skojs skull slängt ihop ett sånt program. Jag misstänker att ingen av er kommer orka testa det, men det gör exakt det som beskrivs ovanför.

Genom att köra kommandot java CCrypt fil1 fil2 får jag ut tre filer. C, som innehåller kryptotexten, K som innehåller nyckeln för att få ut fil1 ur C samt K2 som innehåller nyckeln för att få ut fil2 ur C. Genom att sedan köra kommandot java CDeCrypt K2 C får jag tillbaka fil2 och motsvarandet för K och fil1.

Det jag råkade stöta på häromdagen var OFF System. De har implementerat den här principen till fullo. OFF System är ett fildelningsprogram som delar upp filer i mindre block och sedan kombinerar dem hej vilt med andra filer. Data lagrad i OFF System kan således inte direkt sägas tillhöra någon, då datan kan tillhöra flera olika verk. Och den data som inte tillhör flera verk är slumpgenererad av systemet självt, och således inte upphovsrättsskyddad. Projektet är dock outvecklat och användarovänligt. Men det är en intressant idé och skulle nog kunna bli något stort.

Posted in Observerat, Teknik | Tags: , , , , | 6 Comments »