Hur jag städar upp efter Pacman

När man använt Pacman ett tag så kan det sluta med att det ligger kvar lite packages som inte behövs längre. Som tur är kan man lista upp dem med pacman -Qqdt. Nackdelen är ju så klart att du för hand måste ta bort de som visas där. Därför kände jag att det vore lättare med ett script som gör det åt mig och så klart delar jag med mig!

Lägg in dessa rader i .bashrc så kan du skriva ”cleanup” i terminalen och voila!

# Remove all orphan packages with pacman
cleanup() {
  sudo pacman -Qqdt > cleanuplist
 
  removelist=""
  while read line; do
    removelist=$removelist" "$line
  done < "./cleanuplist"
  echo $removelist
  rm ./cleanuplist
  
  if [ -z $removelist ]; then
    echo 'There is nothing to clean.';
  else
    sudo pacman -Rs $removelist
  fi
}

Frågvis [#1]

Under detta året kommer jag skriva en serie frågor rörande programmering, webb och allt därtill. Det jag vill är att ni läsare skriver en kommentar till dessa inlägg för att försöka besvara frågan. Svaren hoppas jag i sin tur kan hjälpa andra att få tips på hur de kan förbättra sig eller rent av lära sig något nytt. Vi har trots allt alla våra egna sätt att gå till väga och jag tycker det alltid är intressant att jämföra och lyssna på hur andra gör.

Den första frågan som kommer ställas är ingen mindre än:

Hur räknar du ut tiden ett projekt kommer ta att slutföra?

Inkludera gärna om du gör något annorlunda för projekt som kanske innehåller något du aldrig tagit dig an tidigare eller känner dig osäker på något moment.

Nya favoriter i .vimrc

Jag pushade precis ut min .vimrc på github med några små tillägg som jag gillar. Dels för enklare navigation, möjlighet att ändra storleken på splittade fönster och sedan lite för att göra sökningar fungera lite bättre och tydligare när jag letar efter något.

Det jag gillar mest däremot är en liten bit kod som gör det möjligt att komma tillbaka precis där jag var när jag stängde ner filen:

" Return to last edit position when opening files
autocmd BufReadPost *
  \ if line("'\"") > 0 && line("'\"") <= line("$") |
  \   execute "normal! g`\"" |
  \ endif
" Remember info about open buffers on close
set viminfo^=%

Perfekt för att komma igång direkt där jag slutade!

Det gångna och kommande året

Nu när året börjar leda mot sitt slut så tänker jag tillbaka på hur det senaste året varit och vad som har hänt. Till exempel så gick jag från anställd till frilansare, jag började träna på gym och har fått upp intresset för att läsa böcker. Mycket mer kan skrivas om vad som hänt mig under 2012 men jag vill fokusera lite mer på framtiden då jag har många tankar och idéer för vad jag vill göra under 2013.

Efter bara ett par månader som frilansare har jag fått en hel del ny erfarenhet för att inte tala om frihet och idéer på projekt som jag vill genomföra. För tillfället är jag fortfarande ”arbetssökande” även om jag har projekt/uppdrag att genomföra som frilansare. Tack vare frilansfinans har jag enkelt hanterat faktureringen utan att behöva starta eget. Att just starta eget är något jag ligger i startgroparna med och det är en av de punkter jag vill genomföra under 2013.

Kommande år kommer jag alltså lägga ner tid dels på egna projekt men även på uppdrag från kunder som frilansare. Mina egna projekt tänker jag inte skriva en lista på här utan det får bli en överraskning när de börjar bli klara eller är helt färdiga. Däremot kommer jag inom kort tid börja skriva mer om Brawl, mitt egna spel, precis som lovat. Hur som helst ser jag verkligen fram emot 2013 och jag sitter redan efter några dagars ledigt som på nålar bara för att jag inte skrivit någon kod eller utfört annat arbete på mina projekt.

Jag ångrar inte för en sekund att jag för ca tre år sedan tog beslutet att säga upp mig på mitt dåvarande jobb och faktiskt ta steget mot det jag alltid pratade om att jag ville göra. Det är underbart att tycka om sitt yrke och det man gör. Det är en frihet och en möjlighet att göra något man kan vara stolt och nöjd över. 2012 blev ett bra år för mig men 2013 ska bli ännu bättre.

Skriv kod snabbare

En trevlig liten video som ger tips på hur man skriver snabbare med hjälp av Vim.

Stäng av energisparande i Linux

Detta är mycket enkelt gjort i Linux genom att använda sig av terminalen. På de flesta window managers så har du ett GUI för att göra detta med ett par musklick, men i mitt fall så sitter jag med Arch Linux och WMFS2 (hardcore mode) och måste göra det mesta genom terminalen.

Vad du skiver är följande:

xset -dpms
xset s noblank
xset s off

xset -dpms stänger av energisparande.
xset s noblank gör så skärmen inte släcks efter en viss tid.
xset s off gör så vi inte ser någon skärmsläckare.

Kom igång med Vim

Denna artikeln kom jag över för ganska länge sen och tänkte att det kan vara till nytta för andra också. Den handlar om hur skribenten kom igång med Vim och hur du också kan göra det med enkla knep. Att ”komma igång” med Vim handlar om mer än bara att lära sig alla de genvägar och knep som finns inbyggt, du vill även kunna lägga till vissa saker som inte finns direkt efter installation – t.ex att du ser radnummer eller använder ett färgtema du gillar.

Kika in på http://nvie.com/posts/how-i-boosted-my-vim/ för att läsa mer.

Få med din Vim config när du använder sudo

Något som retat mig ett tag nu är att jag inte får med min config för Vim när jag använder sudo vim <filnamn>. Det var dock väldigt enkelt fixat genom att skriva följande i .bashrc:

export EDITOR=vim
export VISUAL=$EDITOR

Efter detta är gjort så kan du redigera med sudo genom att skriva:

sudoedit 

Vim hardcore mode enabled

Dessa rader har jag lagt till i .vimrc för lite mer än en vecka sedan nu. Kändes bra att äntligen ta det steget och börja använda h,j,k,l för navigation istället för piltangenter. HARDCORE MODE ENABLED!

" Arrow keys are bad (not really, but you know...)
map  
map  
map  
map  
imap  
imap  
imap  
imap  

Utvecklingen av Brawl [DEL 1]

Som jag tidigare nämnt så har jag äntligen tagit tag i utvecklingen av Brawl – ett webbaserat fightingspel i textformat. Vad som fanns tidigare var en större grund till ett mycket större spel jag hade i tankarna – ett komplett MUD (textbaserat multiplayerspel). Detta var alltså vad jag tänkte bygga Brawl på efter att idéen uppenbarade sig. Men efter en längre tid ifrån projektet så kände jag att ”Nej, jag kan göra det mycket enklare, så länge jag gör om det från grunden igen.”

Ett sådant beslut gör oftast att det kan ta mycket längre tid, men i detta fall känner jag inte så. Eftersom hela konceptet kommer bli enklare och även grunden till spelet kommer bli enklare så kommer det inte krävas någon längre tid för att få fram en spelbar version. Självklart kommer spelet utvecklas med tiden, men grunden kommer vara mycket enkel.

”Enkel” är ett ord jag upprepar väldigt mycket så låt mig förklara lite mer ingående vad jag menar. För mig, i detta fall, så betyder ”enkelt” att både konceptet i spelet är väldigt lätt att förstå och sätta sig in i. Problemet med textbaserade spel är att de är svåra att sätta sig in i. Det kan vara allt från att lära sig gå runt ett område till att komma ihåg alla tusentals kommandon man kan skriva. Den andra delen av vad jag menar med ”enkel” är att även själva koden är minimal, snygg och elegant. Enkelheten ska alltså finnas både på framsidan och baksidan vilket kan vara en liten utmaning i sig.

Det ni kan se fram emot framöver är fler inlägg om just utvecklingen av Brawl. Jag kommer prata om bland annat hur spelet kommer se ut, mina tankar om det och även lite om framtidsplanerna.

Länkar till artiklar i serien

DEL 2: http://johndahlstrom.se/blog/2013/01/05/utvecklingen-av-brawl-del-2/