tisdag 25 mars 2008

Gående robot

Jag har sett diverse föredrag om gående robotar, men den här videon är något speciellt. Det är något obehagligt över den...



Speciellt robustheten mot halt underlag imponerar på mig.

East of globen - Eaglo

Namnet sofo som syftar på området söder om folkungagatan (se http://sv.wikipedia.org/wiki/SoFo) har inspirerat till andra liknande namn.

Jag har hört ryktet om namnet Eaglo - east of globen - syftande på området öster om globen i södra om Stockholm. Är det någon som vet mer om det? Kommentera gärna.

Eaglo tycker jag är ett jättebra namn!

onsdag 19 mars 2008

Fundering

Jag sitter just nu och kodar en algoritm i c++. Har stött på ett intressant problem!

Låt x vara en icketom mängd reella, ändliga tal. Vi kan för enkelhetens skull bortse från möjligheten att några av dem är noll. Vi bortser också från specialfall där median(x)=0
Jag behöver funktionaliteten sign(median(x)) vilken är lite knepig att räkna ut utan att skriva lite kod (med std::nth_element(...) såklart...). Är det ekvivalent att vända uttrycket? (detta gör att det går att implementera enklare i mitt fall)
dvs, är
sign(median(x))=a ====>>>>> median(sign(x))=a
sant i allmänhet?





(mer fundering längre ner, låt bli att läs om du vill fundera ifred)






Det verkar som att så är fallet. Om sign(median(x))=1 betyder det att medianen av x är>0. Då är minst 50% av värdena i x positiva. Om minst 50% av värdena i x är positiva kommer minst 50% av värdena i sign(x) vara positiva. Då kommer median(sign(x)) att vara 1. Samma resonemang kan tillämpas med minst bytt mot högst för sign(median(x))=-1.
Andra riktningen då?
Om median(sign(x))=1 betyder det att minst 50% av sign(x)=1. Det betyder att minst 50% av x är >0. Då är median(x)>0 och sign(median(x))=1. Samma med minst bytt mot högst.

Kul, det är alltså ekvivalent bortsett från specialfall!

söndag 16 mars 2008

Fibonacci talsystem

Jag sprang "av en slump" över en notis på Donald Knuths hemsida (ni vet, han som bland annat skrev TeX). Han nämner Fibonacci talsystem, ett talsystem där man skriver ett tal som summan av Fibonacciatal.
Jag hittade problemformuleringen här: http://www.hostsrv.com/webmaa/app1/MSP/webm1010/fibonaccinumbersystem.msp

Jag skrev en text om problemet, med ett något slarvigt bevis, och skrev sedan ett ännu slarvigare program som konverterar tal. Allt upplagt på min hemsida, under other: www2.paulsundvall.net

Uppdatering 20080317:
Christians kommentar är korrekt. Jag har tillåtit mig själv att ha 0 och 1 i koefficienterna, rätt är att man bara får ha 1 eller 2. Det som krävs för att komma hela vägen fram är att visa att alla mellanliggande nollor i ett tal skrivet med nollor och ettor går att eliminera, och få ett tal med enbart ettor och tvåor. Dvs att exempelvis talet (1,0,1,1) går att byta till (0,1,2,1) (inledande nollor räknas naturligtvis inte).

lördag 15 mars 2008

Två musiktips

Här kommer två väldigt olika musiktips.
Det ena hittade jag på allears (en fantastisk sida! Kom dit när jag letade efter Fröken Underbar): Equality
Påminnner stundtals om farbror winnerbäck, stundtals om nåt annat jag inte minns på rak arm.


Det andra är Ulrich Schnauss, en tysk musiker. Se http://www.ulrich-schnauss.com/
http://www.myspace.com/ulrichschnauss
http://en.wikipedia.org/wiki/Ulrich_Schnauss

onsdag 12 mars 2008

Min nästa server?

Den här datorn verkar vara lämplig att använda som server, även om den har grafikutgång. Det är något oklart hur mycket effekt den genomsnittligt drar, men någonstans 5-10W skulle jag tro. Kostar ca 1200 kr.

I dagsläget använder jag en Linksys NSLU2 som server (drar ungefär 7 W med 2.5-tums hårddisk), som kör Debian etch. Det som jag saknar med den är att minnet är i minsta laget (32MB) för att kunna köra det utmärkta men tyvärr minneshungriga synkroniseringsverktyget unison.


UPPDATERING 20080616: här finns en kommande produkt som verkar intressant. Ska enligt uppgift dra endast 2 W. cherrypal. Denna ska enligt uppgift köra en strippad version av debian. Trevligt!

onsdag 5 mars 2008

tisdag 4 mars 2008

Skriva bra kod

Jag har tidigare skrivit om en mycket bra text om hur kan man skriva effektiv kod. (se http://paulsundvall.blogspot.com/2008/01/optimera-kod.html)

Nu har jag råkat på en annan liknande text från AMD, inriktad på just deras arkitektur. Även om den riktar sig till just AMD är några av råden allmängiltiga.
Det är kapitel två som jag avser, i denna pdffil:
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/40546.pdf