Fri programvara

You are currently browsing the archive for the Fri programvara category.

Jag kollade på Agenda i dag, vilket gjorde att jag missade den nya serien Äkta människor. Eftersom den handlar om robotar, vilket jag klischéartat nog gillar, ville jag inte missa den. Eftersom svtplay kör flash går serien inte heller att se på min smarta tv. I stället fick jag plocka i hop ett skript som tankar hem flv-filen åt mig och transkodar den till mpeg så att jag kan streama den med dlna till min tv. För att köra skriptet behöver du rtmpdump och vlc:

#!/bin/bash
if [ $# -ne 2 ]; then
        echo "Usage: $0 http://linktosvtpl.ay \"name of output file\""
        exit 1
fi
link="$1" #first arg is link
output="$2" #Second args is filename
html=`wget -qO- "$link"`
stream=`echo "$html" | egrep -o http.*.flv | uniq | head -n 1`
input="$stream" #If that work it was a http link
if [ "$stream" == "" ]; then #else try rtmp
        stream=`echo "$html" | egrep -o rtmp[^,]+ | sort -r | uniq | head -n 1`
        rtmpdump -r "$stream" -o "$output.flv" #dump the stream
        input="$output.flv" #set input to dump
fi
vlc -I dummy "$input" :sout="#transcode{vcodec=mp2v,vb=4096,acodec=mp2a,ab=192,scale=1,channels=2,deinterlace,audio-sync}:std{access=file, mux=ps,dst=$output}" vlc://quit #and transcode to mpg
if [ "$iput"  =~ "http.*" ]; then #Do some clean up
        :
else
        rm "$input"
fi
exit 0

There you have it folks. Skriptet kan sedan köras så här:

ripsvtplay.sh http://svtplay.se/v/2683398/akta_manniskor/del_1_av_10 "Äkta människor del 1.mpg"

Inspiration fick jag här och här.

Cisco IOS/ASA/Catalyst har ett jättebra kommando som heter begin. Det går bra att pipa en textström till kommandot och så skriver det ut alla rader som som kommer efter en rad som matchar ett regular expression och då förstås också själva raden med träffen. Lite som egrep -i -A `wc -l file.txt` file.txt ungefär.

Jag saknar ofta det kommandot då jag behöver leta mycket information i text(filer) i jobbet. Jag har därför skrivit en fri implementation av det kommandot i c++ för användning t.ex. i GNU/Linux.

Kolla in projektet på github: https://github.com/mickenordin/begin

För installation i nått Red Hat-artat system kan du göra så här:

yum install boost-devel
git clone git://github.com/mickenordin/begin.git
cd begin
make
make install

Jag har som ni kanske märker slagit på ssl här på bloggen. Jag har en squid som sitter framför min apache/wordpress och därför behövde jag slå på stöd för ssl även där för att få allt att funka. Tyvärr är squids licens inte kompatibel med openssls licens vilket betyder att man måste kompilera om squid själv med stöd för ssl. Nedan kommer instruktioner för hur du gör under debian.

Börja med att installera alla verktyg du behöver samt build-dependencies:

 apt-get install dpkg-dev devscripts build-essential fakeroot
 apt-get build-dep squid openssh openssl

Ladda sedan hem källkoden för squid:

 cd /usr/src && apt-get source squid

Sedan måste du säga åt configure-skriptet att bygga in stöd för ssl:

 cd squid-2.7.STABLE9/ && vim debian/rules

Leta upp reglerna för config.status: och lägg till en sån här rad:

 --enable-ssl \

till exempel direkt ovanför raden som ser ut så här:

 $(DEB_HOST_ARCH_CPU)-debian-$(DEB_HOST_ARCH_OS)

Bygg sedan genom att köra:

debuild -us -uc -b

och därefter hittar du två squid-paket med stöd för ssl i /usr/src som du kan installera:

dpkg -i squid_2.7.STABLE9-2.1_amd64.deb squid-common_2.7.STABLE9-2.1_all.deb

Nu är du nästa klar och behöver bara lägga in konf för ssl i /etc/squid/squid.conf, lägge en sån här rad och du är klar:

https_port 443 cert=/path/to/ssl.crt key=/path/to/ssl.key defaultsite=example.com vhost

 

Nota bene: Samma grundläggande tillvägagångssätt funkar även för squid3, byt bara ut alla referenser till paketet squid mot squid3. debian/rules-filen ser lite annorlunda ut, men du hittar nog var du ska lägga till raden :) . Eftersom jag inte själv använder squid3 vet jag dock inte om konf-syntaxen är den samma.

Credit: En del av infon kommer härifrån, även om den delvis är felaktig och inte funkar rakt av.

Foto: Kjell Ericson licensierad under CC-BY-SA

I går pratade RMS i Aula Magna på Stockholms universitet om varför det är viktigt med fri programvara. Jag har läst mycket av RMS och sett många klipp på youtube av honom, men bilden av honom framstår som mer nyanserad och komplex när man hör honom prata live (förstås). Både de som är för och emot RMS som person och de åsikter han står för har en tendens att göra honom endimensionell i sina ställningstaganden.

Mitt eget intryck  efter att ha hört honom prata “in person” är att han är en man som värderar sin frihet mycket högt och både är beredd att göra personliga uppoffringar för att få mer av den och är beredd att kämpa för att få behålla den frihet han redan har. Jag kan förstå att många tycker att han är knepig som väljer att inte surfa på webben därför att han riskerar att köra ofria javascript i browsern eller att han väljer bort hårdvara som många av oss ser som oumbärlig därför att det inte finns någon fri firmware till den. Jag är själv beredd att göra en del uppoffringar för att använda fri programvara, men jag är inte beredd att lika långt som RMS därför att det t.ex. skulle innebära att jag blev tvungen att sluta mitt jobb osv. Jag är ändå ganska nöjd med att koden jag kör till 99% är fri och uppoffringen för den sista procenten blir för stor för mig personligen. Men jag kan ändå relatera till varför RMS gör uppoffringen. Jag är vegetarian sedan 20 år tillbaka och använder därför heller inte läder eller nått annat som gör att efterfrågan på döda djur ökar. Det betyder att jag behöver köpa mina skor på nätet från England, att jag har problem att överhuvudtaget hitta plånböcker och skärp och i bland måste äta riktigt dålig mat, eller inte äta alls för att stå upp för mina principer som jag inte är beredd att kompromissa med. Om jag t.ex. skulle bli tvungen att välja mellan att äta kött eller sluta på mitt jobb skulle jag säga upp mig på stående fot.

Jag är också mycket glad för att det finns människor som värde sätter sin frihet inom området databehandling så mycket som RMS gör, det innebär att jag kan åka snålskjuts på det jobbet och utan större ansträngningar kan leva mitt liv 99% fritt från ond programvara. Det minsta jag kan göra då är att inte bråka om det skall heta GNU/Linux eller bara Linux, utan vara noga med att ge credit where credit is due. Jag kan utan ansträngning använda begreppet “fri programvara” i stället för “öppen källkod” eftersom olika ord har olika betydelse och RMS vision om en värld där man är fri att hjälpa sina vänner utan moraliska betänkligheter är en vision som jag delar. Fri programvara är inte bättre därför att den har öppen källkod, utan därför att den är fri. Free as in freedom, not as in free beer.

 

Edit: Även Daniel Stenberg och Pernillan har bloggat.

Edit 2: st IGNUcius delen av föreläsningen på youtube:

Jag har slutat försöka komma i håg mina lösenord, eftersom min enda chans att göra det är att ha samma lösenord överallt och dessutom måste det i så fall vara enkelt. I stället använder jag nu ett lösenordshanteringsystem som synkar mina lösenord till alla mina datorer, telefoner och plattor och sparar lösenorden i en krypterad databas, det gör att jag numer bara behöver komma i håg ett lösenord (till den krypterade databasen) och kan ha långa, komplicerade och framförallt unika lösenord överallt.

Jag har bestämt för egen del att mina lösenord ska vara minst 25 tecken långa, bestå av stora och små bokstäver (asci) samt siffror och tecknen _ och -. Mitt lösenordhanteringssytem klarar av att generera sådanna lösenord åt mig med äkta randomness men ibland behöver jag göra det manuellt och har då hittat ett bra knep i form av ett skalkommando:

 tr -dc A-Za-z0-9_- < /dev/urandom | head -c 25 | xargs

Om man håller sig till ett sånt här system så hoppas jag att man slipper bli inblandad i sådana pinsamheter som en del journalister varit den sista tiden.

« Older entries

Switch to our mobile site

Page optimized by WP Minify WordPress Plugin