Visar inlägg med etikett nörderi. Visa alla inlägg
Visar inlägg med etikett nörderi. Visa alla inlägg

lördag 12 september 2009

Uppdatera Google Latitude automatiskt från iPhone


Google latitude är ett program som håller reda på var du och dina vänner befinner sig just nu. På många telefoner uppdaterar det din plats med automatik i bakgrunden, men inte på iPhone. Där måste du själv aktivera applikationen för att den ska uppdatera din plats på kartan.

Det går dock att kringgå detta om du vill slippa att manuellt uppdatera din position. Du behöver följande:

  • Ett Google-konto och ett Mobile Me-konto.
  • En iGoogle-sida med Google Latitude (borde installeras automatiskt när du reggat dig för Google Latitude)
  • En dator som ofta är uppkopplad, helst en Ubuntu-server
Jag förutsätter här att du har en Ubuntu-server. Om du kör Mac borde det mesta redan vara installerat, du kan då bara tanka hem scriptet och köra det från kommandoraden. I Ubuntu, kör följande kommandon:

cd /
apt-get install php5 php5-cli php5-curl git-core
git clone git://github.com/natfriedman/playnice.git
cd playnice
php5 playnice.php

Nu ska du få upp lite frågor om ditt användarnamn och lösenord på Mobile Me respektive Google. Fyll i dem. För att det hela ska uppdateras med automatik i fortsättningen kör vi in det hela i cron.

crontab -e

Du får nu upp ett fönster där du kan redigera din crontab. Lägg till följande rad och spara filen.
*/10 * * * * /usr/bin/php5 /playnice/playnice.php

Nu återstår bara att lägga till Mobile Me-kontot på din iPhone om du inte har gjort det tidigare och godkänna att iPhonens position delas med Mobile Me.

Det finns en bugg i tidigare PHP-versioner som gör att din position blir blank. Det står "Location: , " när du försöker köra scriptet och ingenting händer på iGoogle. Detta löses enklast genom en uppgradering av PHP.

Lägg till följande två rader i /etc/apt/sources.list

deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all

Kör sedan detta i terminalen
apt-get update && apt-get dist-upgrade

Mer information hittar du på http://nat.org/blog/2009/08/playnice-google-apple/


fredag 8 februari 2008

Detektivjakt med Ruby on Rails och Apache


Varning: Det är hög nördfaktor i det här inlägget.

I morse fick jag de första rapporterna via SMS om att en av våra servrar inte mådde speciellt bra. Den gick upp och ned som en jojo, och trots att hela servern bara körde en enda webbapplikation gick den på knäna. Jag kom knappt in via SSH, utan fick göra en tvångsomstart via serverhallens fina webbgränssnitt. En minut senare fungerade allt som vanligt. Jag andades ut.

Tre minuter senare kommer ett nytt SMS. Servern är död igen. En ny omstart, och nu loggar jag in och kollar vad som händer. Minnesförbrukningen verkar gå i taket. Det fenomenala webbgränssnittet kommer till sin rätt igen och efter ytterligare en minut har jag fördubblat minnet i burken. Nu rullar allt på som vanligt. Förutom att trafiken är vansinnigt hög (se grafen ovan).

Två timmar senare dör skiten igen. Nu börjar jag bli lite småtrött eftersom kunden som ligger på servern hör av sig och undrar vad som står på. Det verkar som om de inte riktigt pratar med varandra på det där företaget heller eftersom fyra olika medarbetare hör av sig med jämna intervall för att kolla vad som händer. Jag testar en ny omstart, men det dröjer inte länge innan servern mår sämre än en nyinsparkad gymnasieelev.

Så jag kollar fel-loggen för Mongrel-servrarna. De är ovanligt pigga och fixar över 100 förfrågningar per sekund utan problem. Det verkar vara Apache som går ner först. Servern är konfigurerad så att Apache agerar proxy och portionerar ut trafiken till mina Mongrel-servrar. Jag blir inte klokare av att titta i felloggen för Apache, jag får bara uppmaning om att öka MaxKeepAliveRequests, men inte heller detta hjälper. Kunderna fortsätter ringa, nu ilsknare än någonsin. Plötsligt slår det mig att jag bad en av mina inhyrda indier att öka antalet mongrel-servrar för någon dag sedan. Kan det ha med saken att göra?

Som tur är kör vi med subversion, så jag kan se exakt vilka ändringar som har gjorts. Indiern råkade ta bort kommentarstecknet som stod framför raden ProxyRequests On. Plötsligt hade webbservern blivit en vidöppen proxy som alla kunde använda för att besöka andra sidor. I morse hade detta upptäckts av någon driftig människa som dessutom hade vänligheten att lägga upp vårt IP-nummer på listan över öppna proxyservrar. Det var inte så konstigt att sidan drog trafik.

Raden plockade jag bort omedelbums, och sedan dess har servern rullat fint i några timmar. Vi får fortfarande ett par proxy-frågor i sekunden men nu tar det tvärstopp när de kommer fram till servern. Tänk så enkelt det kan vara när man bara hittar felet.

torsdag 2 augusti 2007

Att göra backup med rsync över nätet mellan två datorer

Backup är viktigt, fast det brukar man vanligtvis komma på först när man har slarvat bort en viktig fil, blivit bestulen på sin dator eller drabbats av kraschande hårddiskar. Jag skrev för ett tag sedan om hur jag gör för att backa upp min arbetsdator i teorin. Sedan dess har jag fått en del frågor om hur det går till i praktiken. Instruktionerna är skrivna för Mac OS X Tiger (10.4.10) men det är möjligt att det fungerar bra på andra operativsystem också.

1. Aktivera SSH

Du behöver aktivera SSH på båda datorerna. På en Mac med OS X gör du det i Systeminställningar -> Fildelning -> TJänster. SSH kallas för Fjärrinloggning, se till att tjänsten är påslagen och att tjänsten inte blockeras i brandväggen om du har den påslagen. Rsync är redan förinstallerat, så den behöver vi inte bry oss om. Jag kommer nedan att använda begreppet user@host några gånger. Det innebär att du ska ersätta detta med användarnamnet och ip-adressen/domännamnet till den dator du ska skicka filerna till.

2. Ställ in SSH-nycklar

Vi vill ju att backup-processen ska köras automatiskt. Alltså kan vi inte sitta och skriva in lösenord som krävs för att logga in på datorn vi ska synkronisera till. Starta terminalen och skriv (eller kopiera rakt av din slöfock): ssh-keygen -t dsa -b 1024 -f ~/rsync-key Tryck enter två gånger för att lämna lösenordsfälten tomma. Kopiera över den publika nyckeln till datorn som du ska synka till. scp ~/rsync-key.pub user@host:~ Nu ska vi lägga till nyckeln bland de godkända nycklarna på servern. ssh user@host mkdir ~/.ssh chmod 700 ~/.ssh mv ~/rsync-key.pub ~/.ssh/ cd ~/.ssh touch authorized_keys chmod 600 authorized_keys cat rsync-key.pub >> authorized_keys

3. Plocka hem backupscriptet

Placera detta script på något bra ställe på din lokala burk. Jag brukar lägga den i en undermapp till hem-mappen där jag har mina scripts. Kalla det backup.sh Sedan kör du chmod +x backup.sh så att filen är körbar. Glöm inte att ändra inställningarna i backup.sh så att det matchar dina användarnamn och backupställen. Första gången du kör backupen kommer det ta lång tid eftersom allt måste flyttas över. Nästa gång flyttas bara ändrade filer över. Vi kör igång den första backupen nu. I Terminalen går du till mappen där du har backup.sh och kör igång den med /bin/sh backup.sh Om allt går som det ska står det "Sources verified. Running rsync...". Det brukar ta en timme eller två innan första omgången är klar, beroende på hur mycket du har i din hem-mapp och hur snabb uppkoppling du har. Min dagliga backup brukar vara klar efter ungefär en kvart.

4. Automatisera

Om du vill kan du nu automatisera backupen med hjälp av Crontab. Jag brukar köra backup varje vardag klockan 12.00 för då är jag med största sannolikhet på lunch. Om dina datorer står på dygnet runt kanske du vill ha backupen gjord på natten så att det inte stör ditt arbete. För att redigera crontab-filen (den som håller reda på när program ska köras automatiskt) använder vi crontab -e Antagligen får du upp en tom fil. Tryck på "a" för att hamna i skrivläge (det står "INSERT") längst ned på skärmen Jag använder följande kommando för att köra min backup-fil # Run the remote backup every working day at 12.00 0 12 * * 1-5 /bin/sh /users/david/scripts/backup.sh Tryck Escape och skriv :x när du har redigerat klart. Om du inte är bekant med Crontab sedan tidigare kan du läsa om syntax på wikipedia Hör gärna av dig om du lyckas eller om du stöter på problem. Det är mycket möjligt att jag har missat något. Stora delar av tipset kommer ursprungligen från Brice Burgess. Han har även några tips på hur du gör det hela ännu mer säkert.

onsdag 1 augusti 2007

Guitar Hero till Nintendo Wii


Jag kanske har nämnt någon gång tidigare att jag verkligen gillar Guitar Hero till PlayStation2. När sedan Stefan skaffade sig ett Nintendo Wii tyckte jag att det var helt fantastiskt eftersom det reagerade på rörelser. Att spela tennis i vardagsrummet blev helt plötsligt möjligt utan att ha sönder något. Svettig blev man på köpet. Men spelet Guitar Hero känns som ett måste för att jag ska bli seriös spekulant på ett Wii.

Jag blev således lycklig när Engadget rapporterade att Guitar Hero släpps till Nintendo Wii. Gitarren påminner mycket om en Les Paul-gitarr, vilket jag som gitarrspelare uppskattar. Trådlöst är ju en klar bonus, sladdarna till gitarrerna på PS2 begränsar rockandet en aning.

måndag 30 juli 2007

Problem med Huawei E220 (mobilt bredband från Tele2)

Jag har ju sedan någon vecka använt mobilt bredband från Tele2. Det har fungerat ganska bra, hastigheten är helt okej. Men ibland har hela datorn hängt sig när jag varit uppkopplad ett tag. Efter lite närmare efterforskningar visade det sig att det hände när modemet tappade kopplingen till 3G-nätet och gick över på GSM istället. Drivrutinerna jag hade kom från Tele2 och var i version 2.2. Det skulle enligt Tele2:s support vara de senaste drivrutinerna. Men i går hittade jag nya drivrutiner, närmare bestämt version 2.7, på www.communica.se. Det står att drivrutinerna där inte fungerar med Huawei-modem från Tele2, men det fungerar bra för mig. Sedan dess har jag inte stött på några problem med hängningar när modemet byter nät. Om du inte vill byta drivrutiner fungerar det säkert att ställa in så att modemet enbart ska köra på 3G-nätet, och inte växla till GSM vid taskig täckning. Men ibland vill man ha uppkoppling även om det går lite långsammare. För övrigt är jag tillbaka på jobbet igen, det känns lite underligt att sitta på kontoret när man har varit hemma så länge. Men jag är nog mer effektiv här än hemma, det finns inte så många störmoment.

söndag 1 juli 2007

Geektool – skojigt för Mac-nördar

Nu är jag långt ifrån den största Mac-nörden i stan, men när man är sjukskriven och har lite tid över för att testa skojiga prylar så blir det så här ibland. Ursäkta den höga nörd-faktorn i följande inlägg.

Jag hittade ett litet verktyg som heter GeekTool. Namnet är ganska träffande, det är helt inriktat mot nördar. (Windows-fanatiker hittar ett liknande verktyg på samurize.com). Det kan visa utskrifter från Unix-kommandon direkt på ditt skrivbord. Egentligen förstår man det bättre om man tittar på resultatet (du kan klicka på bilden för en större version).



Jag har alltså mitt aktuella IP-nummer direkt på skrivbordet, en liten text som talar om att våra viktigaste servrar fungerar fint och lite statistik på hur mycket minne och processor som systemet använder just nu. Allt man kan få ut med ett unix-kommando går att skriva ut på skrivbordet. Du kan till och med visa bilder från andras webbkameror, exempelvis Griffels bild över stortorget i Växjö direkt på ditt skrivbord.

Lite tufft är det allt. Skicka gärna över en snygg skärmdump om du installerar det själv.