Archive for december, 2011

Överlever!

december 28, 2011

Jag har nu överlevt i 30 år! Jag hoppas nu på minst 30 till innan jag behöver lägga manken till för att behålla livet. Tack alla som har deltagit i dessa år, det har sannerligen varit roligt!

Exempel på saker som förändrats under mitt liv

  • Jag tycker numera om att bära fluga
  • 80-talsmodet försvann
  • Datorers arbetsklockfrekvens har ökat från 1-5 MHz till 1.66 – 4 GHz eller något liknande
  • 80-talsmodet kom tillbaka
  • Järnvägen kom till Nordmaling
  • 9 däggdjur har helt utrotats
  • Jag har växt (49 cm -> 190 cm, 3.6 Kg -> 83 Kg)

Inte alla förändringar är av godo.

God Jul

december 24, 2011

Efter en fantastiskt behändig tågresa upp till Nordmaling kan jag nu varva ner och fira jul i föräldrahemmet. Snön har flytt men julstämningen är här, i år bidrar jag endast genom lite fudge och e3n bäsk (enligt konstens alla regler så som tolkade av Mikkemannen), nu på förmiddagen ska vi gå förbi släkten en sväng och sedan är det bara att äta och vänta på Karl-Bertil Jonssons Jul.

God Jul allesammans, jag avslutar detta inlägg med en video på mitt kontors julbelysning.

shortLink

december 21, 2011

Dominic skrev ett inlägg förra veckan om ett litet perl-skript han skrivit för att snabbt och enkelt ta en url från urklipp och sedan skicka det till googles länkförkortnings-tjänst goo.gl, läsa ut svaret och lägga in det i urklipp. Man slipper en massa manuellt arbete ifall man vill ha en länk förkortad till sitt twitter-flöde eller facebook-status. Mycket fiffigt. Jag blev lite nyfiken på hur detta fungerar med python och kom fram till följande skript:

#! /usr/bin/env python

import sys, os
import re
try:
  import pygtk
  pygtk.require('2.0')
  import gtk
except:
  print "gtk not available can't use clipboard =("

def shorten2gtkClipboard():
  clip = gtk.clipboard_get()
  longUrl = clip.wait_for_text() #get longURL from clipboard
  
  try:
    answer = os.popen("""curl https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d '{\"longUrl\": \"""" + longUrl + "\"}\'")
  except:
    print "curl not available or failed for some reason, can't shorten url =("
    return -1
  for line in answer.readlines():
    if "id" in line: #find line with short URL
      print line
      shortUrl =  re.split("\"", line)[3] #trim everything but short URL
      clip.set_text(shortUrl)             #Insert short URL into clipboard
      clip.store()                        #Make it available to other apps
      break
  return 0

if __name__ == "__main__":
  sys.exit(shorten2gtkClipboard())


Funktionen bygger på gtk för att läsa och skriva till urklippen fördelen med detta är att det fungerar på både windows och linux, nackdelen är att gtk krävs.

Nu när det är gjort kanske jag får ta och börja använda det lite i mitt identi.ca-flöde

Omni completion

december 6, 2011

Efter att ha läst ett intressant bloginlägg om att använda vim som Python-IDE har även jag konfigurerat upp vim att åtminstone låta mig auto-komplettera när jag själv vill. För att aktivera omni completion (som denna variant av den här funktionen kallas) se till att du har vim > 7.0 och för in följande i .vimrc

filetype on
filetype plugin on
set ofu=syntaxcomple#Complete

Auto-kompletteringen har som default stöd för c, HTML + CSS, Javascript, PHP, Python, Ruby samt (om man får tro editorn själv) samtliga språk där syntax-highlighting finns tillgängligt (ett horribelt antal).

Något som jag ser som en fördel är att auto-kompletteringen inte är i vägen när den inte är nödvändig utan visas endast vid behov genom den en gnutta ointuitiva knappkombinationen Ctrl+X följt av Ctrl+O.

Omni-complete är lila.

Omni completion är lila.

Bilden visar ganska tydligt att gränssnittet i sann vim-anda, det vill säga väldigt minimalistiskt men visar allt av värde, vilka alternativ som finns samt den dokumentation som finns tillgänglig om alternativet. Man kommer snabbt och effektivt åt de olika valen och kan fortsätta med det egentliga kodandet.

Räkna nu inte antalet gånger jag nämnt vim i det här inlägget, det är på tok för många trots att jag försökt redigera bort några.