EnglishSvenska

Exposé till Windows 7

expose_till_windows_1_MediumMac OSX har vissa fördelar jämfört med Windows och en av dem är Exposé. Väldigt enkelt så är det en vidareutveckling av Alt+Tab där man ser alla öppna fönster bredvid varandra för att snabbt kunna hoppa från ett fönster till ett annat. Mer att läsa på wikipedia.

Men för oss som gärna kör Windows men ändå vill ha funktionen finns Switcher att ladda ner från http://insentient.net/

[EDIT] Ett annat alternativ är DeskPose 2D (som i och för sig kostar pengar).

Posted in Blog

Chalmers Courses 2012

  • Modelling and simulation
  • Discrete event systems
  • Nonlinear and adaptive control
  • Linear control system design,
  • Applied signal processing
Posted in Blog

Bra och billig backup av filer

amazon-cloud-driveHårddiskkrascher kan hända oss alla men det är svårt att ta fram ett smidigt och felsäkert sätt att hålla backuper. Efter min senaste hårddiskkrasch såg jag till att nästa gång inte ska kännas lika tung. En metod för backup är att man håller två källor synkroniserade. Om den ena försvinner ska den andra kunna ersätta data. Redundans med andra ord. Nedan följer en guide för hur man gör detta på ett smidigt sätt.

Bestäm först vilka mappar som är värda att ha redundans på. Enkel regel som jag kör med är: 

  • Filmer, program, spel går att ersätta relativt enkelt och behöver ingen backup. I värsta fall måste man installera dem igen.
  • Foton och projekt är det som är värt att spara. 

Något jag vill åt är ungefär samma funktionalitet som i Dropbox. Om man lägger alla filer i sin Dropbox-mapp så kommer de bli synkroniserade till internet men det finns två problem. Dels kan data gå förlorade (tas en fil bort på ett ställe finns det en risk att denna borttagning även synkroniseras till Dropbox vilket helt dödar syftet). Ett annat problem är priset som Dropbox kostar om man vill ha mer utrymme. Jag har istället valt Amazon Cloud drive som är hälften så dyrt. Andra alternativ som borde fungera är bland annat Rackspace, Skydrive mfl. Finns en lista längre ner.

Guide:

  1. Skapa en hårddisk på amazon cloud drive https://www.amazon.com/clouddrive/learnmore
  2. Ladda ner Gladinet från http://www.gladinet.com/
  3. Installera Gladinet. Välj Amazon cloud drive och de inloggningsuppgifter du har på Amazon. Om allt fungerar som det ska ska du kunna ladda upp filer till en nätverksdisk. Du kan behöva ladda upp en fil via cloud drive-webbplatsen först för att aktivera ditt konto.
  4. Ladda ner och installera Synkron från http://synkron.sourceforge.net/. Detta program håller mappar synkroniserade och innehåller även en enkel versionskontroll (så att borttagna filer ska kunna återställas).
  5. Skapa en synkronisering mellan en mapp på nätverksdisken och en lokal mapp på din dator. Se bild 1. Varje synkroniseringsregel har en egen tabb.
  6. Testa synkroniseringen mellan den lokala mappen och Cloud Drive. Lägg till en fil på den lokala disken, synkronisera och se vad som händer på nätverksdisken. Testa även att ta bort filer och försök återskapa. Se till att allt fungerar som det är tänkt.
  7. Lägg till en schemalagd synkronisering. Se bild 2.

synkron_cloud_drive_1
Bild 1. Synkronisera mappar. 

synkron_cloud_drive_2
Bild 2. Schemalägg.

synkron_recover_1
Bild 3. Återställ filer. 

Idén nu är alltså att du använder den lokala mappen och att synkronisering till molnet sker med jämna mellanrum. Eftersom du alltid jobbar mot en lokal mapp så behöver du inte vänta på att filer ska laddas upp eller ner samtidigt som du arbetar. Synkronisering ska ske i bakgrunden utan att du bryr dig om det. Om hårddisken kraschar kan du ladda ner dina filer från molnet igen och inget arbete bör gå förlorad.

Sammanfattning:

  1. Cloud drive är en tjänst där du kan lagra filer på internet.
  2. Gladinet skapar en nätverksdisk så att du kan ladda upp filer till Cloud Drive. Detta blir ungefär som en virtuell hårddisk.
  3. Synkron ser till att innehållet i två mappar alltid är samma. Om en fil läggs till eller tas bort på ena stället görs samma sak på andra stället.

Alla tre av dessa komponenter borde kunna bytas ut till andra alternativ. Kombinationen av dem ger ett bra alternativ till Dropbox. Kom gärna med förslag under kommentarer.

Dessa lagringsalternativ har Gladinet och de flesta borde fungera med den metod som jag beskrivit:

  • Mezeo 
  • Amazon S3 
  • FTP 
  • WebDav 
  • AT&T 
  • Synaptic Storage 
  • Internap 
  • XIPCloud Storage 
  • Google Docs 
  • Google Storage 
  • EMC Atmos Online 
  • Box.net 
  • KT ucloud storage 
  • Open Stack Nirvanix 
  • Peer1 
  • CloudOne 
  • Rackspace 
  • CloudFiles 
  • Windows Azure 
  • Windows Live 
  • SkyDrive 
  • CIFS/SMB 
  • Caringo CAStor 

Posted in Blog

Återställ data från trasig hårddisk

Min externa hårddisk (WD My Book Essential) slutade helt plötsligt att fungera. Fick ett meddelande i stil med:

"Disken i enhet L: behöver formateras innan den kan användas".

På disken hade jag massvis med foton så det vore trist om dessa gick förlorade. Panik ska man dock inte få. I alla fall inte innan man försökt rädda filerna. Det finns ett antal program som säger sig kunna rädda skadade hårddiskar.

Försök 1: chdsk /f /r från kommandotolken. Inget resultat. Hårddisken är rejält paj.

Försök 2. ZAR (Zero Assumption Recovery). Kommerciell och jag tror att det finns bättre alternativ. 

Försök 3: Recurva. Såg bättre ut. Gav mig en lista på filer som var skadade men gränssnittet var inte det bästa. Vill även återskapa mappstruktur och jag hittade inte hur man gör detta.

pc_inspector_file_recovery_ntfs


Försök 4:
PC Inspector File Recovery. Ful som stryk men gör sitt jobb!! Gratis är det dessutom (med en hel del reklam).

Välj den enhet som är paj. Förutom att den fixar att lista det som finns fysiskt på hårddisken kan den även återskapa vissa filer som blivit borttagna (vilket är bra om man av misstag tar bort en fil). Jag gick in under Rotkatalog, markerade bilder-mappen, högerklickade, valde spara som och sparade ner mappen på en annan hårddisk. Det är väldigt viktigt att du väljer en annan hårddisk för att inte riskera att du sabbar hårddisken ännu mer. När allt är återskapat formaterar jag hårddisken och flyttar tillbaka det som jag nyss räddat. 

När programmet kommer till en mapp som den inte lyckas återskapa visas ett meddelande som denna:
kunde_inte_skapa_mapp 

Det jag gjorde då var att skriva upp namnet och försöka återskapa filerna i mappen manuellt genom att gå in i mappen i PC Inspector.

Posted in Blog

Ftp-server på Ubuntu

Jag gillar vsftpd eftersom den är ganska smidig att arbeta med. För att sätta upp en server och några ftp-konton:  

sudo apt-get install vsftpd

redigera /etc/vsftpd.conf.

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

chroot_local_user=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem

pasv_enable=YES

tcp_wrappers=YES

pasv_min_port=15393

pasv_max_port=15394

port_enable=YES

pasv_address=#SERVERNS EXTERNA IP#

Öppna upp 15393-15394 och 20-21 i brandväggen.

Ftp konton sätts enklast upp med:

useradd -g ubuntu -M NAMN

passwd NAMN

(-g ubuntu är en grupp)

vim /etc/passwd för att sätta hem-mappar till dina användare.

Posted in Blog

Importera gigantisk databas till MySQL från cmd/terminal

powershell_mysql_cmd_source_import_sqlAtt importera stora databasfiler kan ofta bli lite jobbigt om man inte använder rätt metod. Phpmyadmin är kasst på att importera riktigt stora sql-filer eftersom man får timeout. Har man däremot direkt tillgång till mysql-servern kan man importera därifrån med bättre resultat.

#mysql -u USER -p
#skriv lösenord
#use DATABAS
#SOURCE /path/to/sql/file.sql; (missa inte 😉

Låt den importera!

Om det inte fungerar kan det vara en god idé att ta en titt på my.ini för att ge mysql mer kraft.

Posted in Blog

Vanliga fel i cron

Ubuntu-logoOm det inte ser ut som att cron körs, läs /var/log/syslog och se om cron finns där.

Jag såg att cron sagt:
(CRON) info (No MTA installed, discarding output)

Detta gör att ditt skript inte körs på grund av att en mailserver inte är konfigurerad. Antingen konfigurerar man upp den eller så lägger man till MAILTO="" i crontab -e. 

För att få output från ett skript som körs via cron skriver man något i stil med:
*/5 * * * * /path/to/script.sh > /path/to/logfile.log 2>&1

Testa cronjob tycker jag går snabbast på det här sättet (tar gärna emot förslag på en förbättrad metodik):

  1. date för att se serverns klocka. 
  2. crontab -e
  3. kopiera jobbet du vill köra till en ny rad. Skriv in serverns klockslag men lägg på 1 eller två minuter. 57 9 * * * /scriptet.sh exempelvis. Spara crontab.
  4. date igen för att se om cronjobbet borde ha körts. 
  5. Öppna /var/log/syslog och se om cronjobbet körts utan problem. Öppna också loggfilen till det specifika skriptet. tail -f /var/log/loggfil fungerar helt ok.

Två till saker att tänka på om crontabs. 

  1. Den kör med begränsade miljövariabler. Skriv alltid hela sökägen till allt!
  2. Avsluta alltid med en tom rad längst ner. Cronjobs kan annars ignorera jobbet.
Posted in Blog

S3 Bucket och EC2 + enkel backup av mysql

Till dem som vill mounta en S3 bcuket till en EC2. Jag kör ubuntu men det borde fungera andra system också s3cmd är ett verktyg som är väldigt bra när man arbetar med S3 Bucket. Installera och konfigurera:

sudo apt-get install s3cmd

s3cmd --configure
Skriv in access key id och secret access key från AWS. Följ instruktionerna i installationen.

Om allt fungerar kan du lista och skapa buckets. Se instruktioner på http://s3tools.org/s3cmd

#Skript för att göra backup av mysql är ganska enkelt:
/usr/bin/mysqldump -u root -LÖSENORD' DATABAS> /home/ubuntu/backup/DATABAS.sql

#zippa med:
zip /home/ubuntu/backup/DATABAS_`date +%F`.zip /home/ubuntu/backup/*

#Ladda upp till s3:
/usr/bin/s3cmd put /home/ubuntu/backup/DATABAS_`date +%F`.zip s3://BUCKET/DATABAS_`date +%F`.zip

#Rensa bort filerna.
rm -rf /home/ubuntu/backup/*

 

Lägg i skriptfil och kör med cron. Lätt som en plätt. Nedan är min skriptfil som jag brukar använda som mall:

 

#!/bin/bash

DATABASE_USER=''

DATABASE_PASS=''

DATABASE_1=''

DATABASE_2=''

DATESTR=`date +%Y-%m-%d_%H%M%S`

BUCKET_NAME=''

 

/usr/bin/mysqldump -u $DATABASE_USER -p$DATABASE_PASS $DATABASE_1 > /home/ubuntu/backup/$DATABASE_1.sql

/usr/bin/mysqldump -u $DATABASE_USER -p$DATABASE_PASS $DATABASE_2 > /home/ubuntu/backup/$DATABASE_2.sql

zip /home/ubuntu/backup/$DATABASE_1-and-$DATABASE_2-$DATESTR.zip /home/ubuntu/backup/*

/usr/bin/s3cmd put /home/ubuntu/backup/$DATABASE_1-and-$DATABASE_2-$DATESTR.zip s3://$BUCKET_NAME/$DATABASE_1-and-$DATABASE_2-$DATESTR.zip

rm -rf /home/ubuntu/backup/*

 

För att lägga denna i cron varje natt:
#crontab -e (sudo innan för att köra alla crons som root)

0 0 * * * bash /usr/local/bin/SKRIPTET.sh > /var/log/SCRIPTET_cron.log 2>&1

"> /var/log/SCRIPTET_cron.log 2>&1" är för att logga allt till en egen fil. Mycket användbart!

 

Broken pipe error:
Fick detta och förstod inte vad det var. Testade att använda US istället för Ireland på serverplacering och då fungerade det.

Posted in Blog

Roota och installera CyanogenMod 7 på HTC Desire

htc_desire_cyanogenDet var dags att att uppgradera min gamla HTC Desire mjukvarumässigt. Det hela är ganska lätt om man bara vet vad man gör.

  1. Roota telefonen med unrevoked. http://unrevoked.com/
  2. Installera drivrutinger från Unrevoked. Det står hur man gör i guiden man får med. Kom ihåg att avinstallera HTC Sync.
  3. När telefonen är rootad laddar du ner Titanium Backup och tar backup på de program du känner är viktiga.
  4. Kopiera över hela innehållet på SD-kortet till en tom mapp på din dator. Säkerhetsåtgärd
  5. Installera RomManager från Market. Klicka dig fram till att ladda ner CyanogenMod. Jag valde 7.1.0 RC1.
  6. När nedladdningen är klar får du en fråga om du vill säkerhetskopiera nuvarande rom, tömma data, och wipe dalvik cache. Jag kryssade i alla.
  7. Nästa fråga är om du vill starta om i ClockworkMod Recovery. Det vill man så ok.
  8. Telefonen startar om och går in i recovery. Jag valde att därifrån göra ännu en backup via "backup and restore". Vet inte om detta är fullt nödvändigt.
  9. Välj därefter Wipe data/factory reset.
  10. Välj Install zip from sdcard.
  11. Choose zip from sdcard
  12. Välj den cynanogen-zip du laddat ner. Ligger under /clockworkmod/download/download.cyanogenmod.com/get/update-cm-7.1.0-RC1-Desire-signed.zip (eller liknande)
  13. För att installera Google Apps (Market, Gmail osv) upprepa 10-12 fast med den zip-filen.
  14. När installationen är klar välj gå tillbaka till huvudmenyn (med bakåtknappen på telefonen).
  15. Reboot system now.

Om allt gått som det ska så har du nu CynanogenMod. Installera Titanium Backup och återställ alla program.

Posted in Blog

Virtual host i apache2

Enkelt i Ubuntu (och troligtvis även i de flesta andra linux-distrubutioner):

  1. Skapa en .conf-fil i sites-enabled (/etc/apache2/sites-enabled). Exempel på konfigurationer finns på http://httpd.apache.org/docs/2.0/vhosts/examples.html
  2. Skapa en symbolic link till den virtuella värden mha #sudo a2ensite mynewsite
  3. Du borde få en symbolisk länk i sites-enabled och ett meddelande om att apache måste reloadas. 
  4. Reloada med #/etc/init.d/apache2 reload
Posted in Blog