fredag 23 september 2011

Problem att uppdatera Minecraft till 1.8

Om Minecraft vägrar uppdatera till 1.8 och skriver "login failed" beror det troligtvis på att din launcher, programmet som startar minecraft, är för gammal.

Problemet löses enklast genom att surfa till minecraft.net, tanka ner senaste versionen som där efter uppdaterar till 1.8

Minecraft.net downloads

onsdag 21 september 2011

Trasig fläktstyrning till L300 i Ubuntu

Uppgraderade min Minecraftserver till en Toshiba L300 med Ubuntu Server 11. Märkte att fläktstyrningen inte fungerade alls, först står fläkten still fram till processorn nått 85c, då fläkten istället körs fullt och aldrig varvar ner, oavsett temperatur.

Problemet verkar vara relaterat till kombinationen av en ovanlig biostyp, InsydeH2O, och halvfärdig implementation av ACPI i bioset.

Lösningen var ett kommando i grubkonfigurationen. Öppna
/etc/default/grub

Leta reda på raden
GRUB_CMDLINE_LINUX_DEFAULT="quiet" och lägg till acpi_osi=Linux

För mig såg det ut så här när jag var klar, men det är möjligt att du har mer kommandon än quiet.
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=Linux"
Spara filen och kör där efter update-grub .

Källor:
Linuxquestions.org
Wiki.archlinux.org

Sätta upp Minecraft overviewer i ubuntu

Minecraft Overviewer är en tjänst som renderar google maps-kartor av en Minecraftvärld. Den genererade grafiken renderas ur ett isometriskt perspektiv och påminner lite om Sim City 2000.

Vill man få med årstider, så kallade biomer, i sin rendering kommer man även behöva ett extra verktyg, Minecraft Biome Extractor.

I det här blogginlägget delar jag med mig av min konfiguration till Minecraft overviewer


Vill man få med biomer, olika årstider, i overview-renderingarna behöver man ett extra verktyg som heter Minecraft Biome Extractor.

Nedladdningar:
Minecraft Overviewer
Minecraft Biome Extractor

Nedan är konfigurationen jag använder, tänkte börja med att beskriva den kort.

Det första jag gör är att spara dagens datum och tid som en variabel, detta använder jag vid lagring av kartan på webserver för att skilja de olika renderingarna åt.

Där efter görs en kopia på världen från minecraftmappen. För att förhindra problem tar jag alltid bort eventuella kopior sedan tidigare innan. Nu kan Biome Extractor köras och generera ut information om biome till Minecraft Overviewer.

Minecraft Overviewer körs sedan fyra gånger, för att rendera kartan roterat åt fyra olika håll. Varje rendering kör med samtliga ljussättningslägen. Har man bråttom eller ont om utrymme räcker det givetvis med att rendera kartan i en riktning och endast använda ett ljussättningsläge.

Avslutningsvis byter jag namn på renderingsmappen "bilder" till dagens datum. Kopierar över mappen till webbservern. Namnar om den lokala mappen till "bilder" igen. Detta kommer snabba upp nästa renderingsprocess eftersom den gamla renderingen används som cache.

#set current date and time
DATE=$(date +"%y%m%d-%H.%M")

#Create local backup of world, remove if early copy exists
echo "Creating local copy of the world"
rm -rf world_copy
cp -r ../minecraft/world ./world_copy

#Create biome data
java -jar BiomeExtractor.jar -nogui ./world_copy

#Execute generation, use cachedir
python overviewer.py --rendermodes=lighting,normal,spawn,night,cave --north-direction=lower-left world_copy bilder/lower-left
python overviewer.py --rendermodes=lighting,normal,spawn,night,cave --north-direction=upper-left world_copy bilder/upper-left
python overviewer.py --rendermodes=lighting,normal,spawn,night,cave --north-direction=lower-right world_copy bilder/lower-right
python overviewer.py --rendermodes=lighting,normal,spawn,night,cave --north-direction=upper-right world_copy bilder/upper-right

#Use the current date
mv bilder "$DATE"

#Copy files to local server
echo "Copying files to local server"
cp -r "$DATE" /var/www/minecraft

#Restore folder name for caching
mv "$DATE" bilder

exit 0

tisdag 20 september 2011

Namnbyte av interface i Ubuntu

Om man uppgraderar datorn och byter nätverkskort kommer Ubuntu automatiskt namna om det nya nätverkskortet till eth1. Tanken bakom är att systemet ska minnas nätverkskort så att de alltid får samma interfacenamn om man skulle koppla in dem igen vid ett senare tillfälle.

Om man har tagit bort ett kort permanent är inte alltid detta beteende önskvärt. Filen som minns alla nätverkskort finns på sökvägen:
/etc/udev/rules.d/70-persistent-net.rules

Antingen kan man ta bort filen, då kommer en ny automatiskt skapas vid nästa uppstart, eller kan man editera filen och ta bort de nätverkskort som systemet inte längre behöver minnas.

Källa: Ubuntuforums.org

onsdag 14 september 2011

Wlan-kanal 12 och 13 försvinner i Leopard

I OSX Leopard och Snow Leopard märkte jag att kanal 12 och 13 slutade fungera ibland. Vissa gånger kunde man få försöka ansluta datorn 5-10 gånger, ta den i och ur viloläge innan det gick. Andra Apple-enheter som iPhone och iPod Touch hade däremot inga problem att ansluta till nätverket.

Problemet har tyvärr ingen perfekt lösning, men jag hittade anledningen. I wlan-standarden finns det olika områden, regulatory domains, som bestämmer vilka kanaler som ska finnas tillgängliga. I Sverige är det kanal 1-13, i USA 1-11. Vanligtvis ställs datorns område in efter andra inställningar i operativet men det finns även en standard för att göra detta automatiskt, 802.1d. I Snow Leopard och senare versioner av Leopard (osäker på Lion) används 802.1d.

Att implementera 802.1d är valbart, men tyvärr går det inte att stänga av i OSX. Vad är nu problemet med 802.1d då? 802.1d fungerar genom att alla accesspunkter skickar ut information om sin regulatory domain tillsammans med sitt nätverksnamn (SSID). De enheter som letar efter nätverk ställer automatiskt in sin regulatory domain så fort de sett det första 802.1d-paketet.

Problemet är att 802.1d saknar hantering av konflikter. Där jag bor står det ett antal accesspunkter och skickar ut 802.1d-paket med amerikansk regulatory domain. Vad min accesspunkt skickar ut spelar ingen roll, så länge inte den skickar ut sina paket först.

Lösningen är alltså att själv använda sig av kanal 1-11 eller knacka dörr och be grannarna konfigurera om sina accesspunkter korrekt.

Källa:
Apple Support Community
Stack Exchange

Problem med viloläge i OSX Lion

De senaste veckorna har min Macbook vägrat gå ner i viloläge, något som fungerat utmärkt i både Leopard och Snow Leopard. Läsning av konsol-loggen visade inget och nollställning av PRAM hjälpte inte heller.

Efter lite efterforskningar hittade jag att problemet är relaterat till att internetdelningen är aktiverad. Så fort man avaktiverar internetdelning i systeminställningar så sover datorn fint igen.

Källa: Apple Support Communities

Vid slutet för Moores lag

Vad är Moores lag? Det är lagen om att antalet transistorer som får plats på en yta kan dubbleras varannat år. När storleken på transistorna minskar sjunker även strömförbrukningen. I praktiken betyder detta att man kan fördubbla minneskapacitet eller prestanda varannat år, utan att förändra kostnaden. Är man inte ute efter högre prestanda eller kapacitet kan man istället sänka kostnaderna och strömförbrukningen.

Exempel där Moores lag utnyttjas till att öka prestanda är allt från minneskretsar till processorer, grafikkort och minnen. Men det finns även bra exempel på när man vill lämna prestandan oförändrad och sänka strömförbrukning och kostnad. Exempelvis spelkonsoler, routrar och mediaspelare.

Genom åren har slutet för Moores lag nämnts många gånger, men tillverkarna har alltid hittat nya lösningar på problemen. På senare år har vi böjrat närma oss de fysiska gränserna för hur små transistorer som går att tillverka. Bredden på de elektriska ledarna är redan i dag, endast ett antal atomer breda och enligt Intel går det inte att använda en bredd bestående av mindre än fem atomer på grund av elektriska läckage. Men det viktiga är egentligen inte huruvida den fysiska begränsningen är fyra eller fem atomer, utan att den finns och det kommer bli ett praktiskt problem inom bara ett par år.

Varför måste vi förminska transistorerna?
När man tillverkar en elektronisk komponent görs detta från en rund kiselplatta. När tillverkningen är klar, skärs komponenterna loss från plattan, testas och säljs. En förminskning innebär inte bara saker som bättre prestanda eller strömförbrukning utan även att man får plats med fler kretsar per kiselplatta.

Okej, så tillverkaren tjänar mer på små komponenter, skulle man inte kunna betala det dubbla och få en dubbelt så stor komponent bara? Nej, det finns flera skäl till att det blir mycket dyrare än så. Framförallt är det att tillverkningsprocessen inte är perfekt. Chansen att lyckas tillverka en komponent är lägre ju större den är. Inom tillverkningen referar man till detta som yield. Yielden styrs på flera sätt av komponentens storlek.

Om sannolikheten att en komponent går att tillverka är 80%, är sannolikheten för att en dubbelt så stor komponent ska kunna tillverkas endast 64% (0.8*0.8). I praktiken är den ännu lägre eftersom sannolikheten sjunker ju längre ut på kiselplattan man kommer. Större kretsar resulterar också i mer spillyta på den runda kiselplattan, eftersom kretsarna är kvadratiska eller rektangulära.

När prestandan inte längre ökar
Man brukar säga att hårdvara är billigare än utvecklare. Programvara som är för långsam för att fungera i dag, går att köra fintinom ett par månader. Det är bättre att uppgradera hårdvaruparken än att lägga mantimmar på att optimera mjukvaran.

Det här är något som utnyttjats av utvecklare och bolag som jobbar med mjukvara, för att de ska kunna hålla sina kostnader nere. Om prestandaökningen stannar av kommer mjukvaruutveckling bli dyrare, eftersom mer tid måste läggas på optimering.

För slutkonsumenten kanske detta inte är ett stort problem, mindre pengar att lägga på hårdvara och mer pengar på mjukvara. Däremot kan det bli stora förändringar i hur man arbetar vid utveckling av programvara och spel.

Behovet av högre kvalité
De flesta datorprodukter håller har en kort i dagsläget en relativt kort livslängd på ett par år. När en produkt går sönder har den oftast inget värde kvar och en ersättningsprodukt presterar bättre trots att den är billigare än ursprungskomponenten.

När Moores lag sätts ur spel kommer inte ersättningsprodukten att vara markant bättre eller billigare. Detta kan öka behovet av kvalitetskomponenter.

Ökad kvalité på en produkt involverar givetvis bättre kvalitetskontroll och elektriska komponenter men även en avvägning mot lägre prestanda. Hög prestanda betyder oftast hög värme, och en sänkning med bara 10c kan fördubbla livslängden på många elektriska komponenter. Det kommer alltså bli dyrare och troligtvis långsammare om man vill ha elektronik med lång livslängd.

Pris och prestanda för sluten konsumentelektronik
Teknikbranschens förväntningar på exponentiell tillväxt av transistorer skiljer sig inte mycket från ekonomernas förväntningar av exponentiell tillväxt i ekonomin. Det är inte bara en fråga om tekniska framsteg utan också om förväntade framsteg.

Jag kommer använda spelkonsoler som exempel, principen är dock samma för routrar, bluray-spelare och den mesta slutna hemelektronik.

Spelkonsoler har vanligtvis en livslängd på 6-10 år. När tillverkaren säljer de första modellerna går dessa med förlust. Detta är strategiskt eftersom man vet att krympningen av transistorer kommer sänka priset tills maskinen börjar gå med vinst. Att börja med förlust gör att man kan leverera en maskin med högre prestanda och lång livslängd på marknaden. Att tillverkaren bryr sig om livslängd i det här sammanhanget handlar främst om utvecklingskostnader men även mervärde för slutanvändaren.

Utan Moores lag skulle inte priserna sjunka, tillverkare skulle bli tvungna att sätta en prissättning som går med vinst från början. Att som konsument vänta tills en produkt sjunkit i pris blir inte heller möjligt, då priser kommer hålla sig stabila över tid.

För att konkretisera med ett exempel:
När Playstation 3 lanserades låg introduktionspriset på 6000kr och då gick Sony med över 2000kr förlust per enhet. I dagsläget går det att få en maskin för dryga 2000kr. Hade vi inte haft Moores lag hade alltså en Playstation 3 kostat dryga 8000kr, fortfarande, fem år efter lansering.

Låt oss vara klara med ett par saker, det är inte samma kunder som betalar 6000kr och 2000kr. I praktiken skulle detta tvinga tillverkare att sikta på den breda massan och sälja maskiner till vinstpris från början istället för att rikta sig mot ett spann av användare.

Vad kan man göra åt problemet?
Rent tekniskt diskuteras det att börja bygga transistorer på höjden och inte bara fokusera på att bygga i bredd som tidigare. Detta ger givetvis fler transistorer per yta, men till högre energiförbrukning istället för lägre som tidigare. För att ytterligare förvärra problemet är inte värme det största problemet för elektriska kretsar, utan värmeskillnader över kretsen. Värmeskillnader sträcker och drar i alla mikroskopiska ledare och sliter långsamt ut dem. En tjockare krets med högre strömförbrukning är därför inte helt önskvärt. Fast det går alltid att byta bort hög frekvens mot lägre strömförbrukning.

Specialanpassad hårdvara. Oftast kallar man det för hårdvaruaccelering, processorn avlastas från att utföra ett arbete av en krets som är specialgjord för ändamålet. En lösning på prestandaproblemet skulle kunna vara mer specialanpassad hjälpprocessorer för olika arbetsuppgifter.

Centraliserad prestanda och kapacitet. Ett sätt att öka effektiviteten är att centralisera beräkning och lagring. Det gör att processorcykler och lagringsutrymme kan användas mer effektivt. Tänk bara hur många timmar varje dag som din processor går på lågvarv. Hur många gigabyte ledigt utrymme det blir om man slår ihop alla arbetsstationer på en arbetsplats.

Mjukvarumässigt finns det också mycket slack, eftersom hårdvara anses vara billigare än programmerare och mantimmar. För slutkonsumenten spelar det kanske inte så stor roll om mjukvaran är dyrare i fall hårdvaran får längre livslängd. Tyvärr är mycket av detta slack mer i form av att Word startar långsamt än att ett vetenskapligt program har långsamma beräkningar.

Lagringsmässigt så har kompression av video, bilder, ljud förbättrats över åren. Vi får alltså ut mer och mer information per bit av data. Tyvärr sker inte framsteg inom kompression i alls samma hastighet som Moores lag. Dessutom ökar vi våra krav, vilket lett till större filstorlek, trots bättre algoritmer.

Slutsats
Slutet på Moores lag ligger inte många år bort och det kommer göra en hel del omställningar i branschen. Om ingen alternativ tillverkningsprocess uppfinns, kommer troligtvis vår syn på elektronik, mjukvara, prestanda och pris förändras radikalt.

Mer läsning:
techreport: Life after Moore's Law

lördag 10 september 2011

Rensa winsxs i Win7 och Vista.

I Windows Vista och Windows 7 finns systemmappen winsxs i windowsmappen. Winsxs växer sig ofta väldigt stor över tid och efter uppdateringar och installationer. Tanken med mappen är att den ska innehålla många versioner av systemfiler för att öka kompabilitet och säkerhet vid avinstallationer och uppgraderingar.

Ibland behöver man dock inte ha möjligheter att avinstallera servicepacks och systemuppdateringar och då kan man välja att rensa i winsxs för att minska storleken.

För att göra detta behöver du en kommandoprompt med adminrättigheter, i Windows 7 brukar jag göra detta genom att söka cmd från startmenyn, högerklicka på sökresultatet och välja "run as administrator".

I prompten skriver man sedan
dism /online /cleanup-image /spsuperseded /hidesp

Dism står för Deployment Image Servicing and Mangement tool. Förklaring av växlar:
/online innebär att verktyget körs mot en aktiv installation i motsats till en avbildning på fil.
/cleanup-image är vad som ska utföras, det vill säga att rensa filer i den live image som körs. /spsuperseded säger att dism ska ta bort uppdateringar installerade före service pack.
/hidesp är en valbar växel som gömmer uppdateringar från avinstallation.

Till Windows Vista används två andra kommandonkör:
vsp1cln.exe efter att service pack 1 har installerats.
compcln.exe efter att service pack 2 har installerats.

Sist men inte minst kommer även avinstallationer av vanliga program att minska storleken på winsxs, så det kan vara värt att se över listan över installerade program även om de är installerade på en annan disk.

Källor:
Sevenforums.com
Techrepublic.com

onsdag 7 september 2011

Byta tangentbordslayout i Ubuntu Server

Om man råkar ställa in fel tangentbordslayout i Ubuntu Server kan det vara bra att veta hur man ändrar på det utan att ominstallera. Detta gjorde jag i 11.04 men metoderna borde fungera i fler versioner.

Ubuntus terminalbaserade "grafiska" interface är troligtvis det mest lättanvända.
sudo dpkg-reconfigure keyboard-configuration

Det finns även en fil i etc-mappen som man kan redigera direkt
/etc/default/keyboard

Avslutningsvis går det även att ställa tangentbordslayout med kommandot
loadkeys, till exempel:
loadkeys /usr/share/keymaps/i386/dvorak/dvorak.map.gz

Källor:
Howtoforge.com
Igrudge.net