Välkommen till swehack.se

Det här är numera en webbsida som drivs av en ensam person, det går att läsa mer om mig på om sidan, med syftet att publicera information av intresse och föra en dagbok.

Ibland publiceras artiklar och projekt här, gamla artiklar som hängt med swehack.se sidan under åren har även konverterats till det nya formatet och lagts upp.

Förutom det finns lite länkar till andra sidor.

Till sist så hittar ni min CV här.

Golang dokumentation lokalt

Dagens UNIX-tips handlar otippat om Golang och hur du kan få tag på dokumentationen när du inte är online.

Jag tyckte detta var ganska fiffigt, har du $GOBIN i din $PATH från installationen och $GOROOT satt till där hela paketet är så behöver du bara skriva följande.

godoc -http=:6060

Detta startar en simpel webbserver på port 6060 av localhost på din maskin så du kan skriva http://localhost:1488/pkg/net/ t.ex. för att nå dokumentationen av net.paketet samt hela golang.org webbsidan.

Lite Golang exempel

Jag har börjat koda Golang ganska skarpt nu och trivs verkligen med språket. Kan varmt rekommenderas till alla som föredrar UNIX-utveckling och C framför mer moderna språk och högnivåsystem.

Trots att det finns xcode-specifikationer för språket har jag fortsatt utveckla i vim som jag är van vid när det gäller C t.ex.

Jag använder mig av $GOROOT/misc/vim/go.vim filen för färgsättning och formatering av syntax.

Golang på BSD

Golang skrevs det om i Slashdot för ett litet tag sedan. Just då tänkte jag inte mycket på det förutom att källkoden inkluderade lib9 från Plan9.

Idag började vi dock prata om Erlang på IRC vilket fick mig att tänka på Golang på grund av likheterna i namnet. ;)

Så jag bestämde mig för att installera det på en labmaskin och testa. Jag har labmaskiner i VMware så är inte så begränsad av OS, men jag har mycket annat på en viss FreeBSD VM så jag körde på den trots att Golang sas endast stödja Linux och OS X.

Dagens Unix-tips

Behöver ni påminnas om att lämna terminalen? Kör leave(1) kommandot med en tid som anger när ni ska lämna datorn.

Väldigt smidigt, kan användas på följande sätt t.ex.

~/kld_tests >: leave 1400
Alarm set for Sun Feb 21 14:00:00 CET 2010. (pid 6998)

En gång tog jag koden av leave kommandot i BSD och gjorde det till en IRC-modul till en bot jag skrev. Väldigt smidigt för IRC-junkies. ;)

Miniräknare i UNIX

Ganska simpel grej men jag blir lika chockad när t.ex. Mac OS X användare inte ens vet att dom har en miniräknare i terminalen.

Bc(1) är just den miniräknaren och den är så omfattande att den har ett helt språk med c-syntax för att mata in formler och variabler.

Här är ett exempel rakt ur manualen.

#!/usr/bin/bc -q
# taken from bc(1)
 
scale=2
print "\nCheck book program!\n"
print "  Remember, deposits are negative transactions.\n"
print "  Exit by a 0 transaction.\n\n"
 
print "Initial balance? "; bal = read()
bal /= 1
print "\n"
while (1) {

Dela strängar och filer i UNIX

Något som är viktigt ibland i arbetet som systemadministratör är att dela strängar och stora loggfiler med olika verktyg.

Blir man flytande med dessa verktygen och skalet i sig så kommer man snabbt märka hur alla bekymmer i UNIX förvandlas till lättlösta och roliga problem.

awk

För det första awk, detta är ett väldigt kraftfullt verktyg som kan användas till mycket mer än att bara dela upp strängar.

Jag går igenom lite enkla saker här. T.ex. kan vi.. dela upp strängar!

~ >: host -t mx gmail.com | head -1 | awk '{print $7}'

Dagens UNIX-Tips

Tänkte lägga upp lite småtips då och då, säkert inte dagligen men ofta nog.

Måste helt enkelt börja skriva ner all den skit jag gör dagligen, kan bli kul att läsa för någon.

Vi börjar lite lätt med netcat, snabb port-scanner som står rakt upp och ner i manualen nu för tiden.

nc -z mail.swehack.se 1-65535

Qmail med SMTP över nätverket på FreeBSD

Installerade ett nytt qmail-system nyligen och denna gången skrev jag faktiskt ner vad jag gjorde.

Så här har ni en artikel om att installera qmail som SMTP server och dovecot som IMAP server på en FreeBSD 7 maskin.

Gamla och Arkiverade Artiklar

Idag, precis innan jag skrev detta faktiskt, la jag upp alla gamla artiklar från den förra webbsidan.

Dessa är inte korrekt datummärkta längre efter att jag återställde en backup i början av 2009 utan att bevara källfilernas rättigheter och modifikationsdatum. :(

Jag kände dock att det bör bevaras, även om vissa av artiklarna är fruktansvärt skrivna och jag hade säkert kunnat skriva dom 100 gånger bättre idag.

Så allt taggat under arkiverat och gammalt är alltså arkiverade och gamla artiklar från swehack.se.

Prenumerera på innehåll