Vill du knäcka koden

Albin Tenglet ristade på 1940-talet in både runor och annat här i Kallhällstrakten. Dessutom så ristade han in en text som ingen lyckats tolka ordentligt ännu.

Känner du att du har kodknäckarambitioner tycker jag att du skall göra ett försök. All information om den finner du här: Kodknäckare

Some nice ebooks for your EPUB reader (all free stuff)

These are from Project Gutemberg and converted to EPUB format for your ebook reader:

  1. Nostromo – A Tale of the Seaboard by Joseph Conrad
  2. The Cosmic Computer by H. Beam Piper
  3. The Idiot by Fyodor Dostoyevsky
  4. The Island of Doctor Moreau by H. G. Wells
  5. The Poison Belt by Arthur Conan Doyle
  6. Captain Brand of the Centipede by H. A. Wise

Have a nice read.

Spam

På grund av den stora mängden spam har jag migrerat kommentarerna till Google Plus. De flesta har troligen redan ett google-konto men om du inte har ett kostar det inget att skaffa ett.

Blåtandstangentbord till din Raspberry Pi

Jag skaffade mig ett enkelt blåtandstangentbord till min Raspberry Pi. Jag gillar blåtand eftersom det utökar möjligheterna att göra andra saker och gör USB-porten användbar till andra mojänger, exempelvis kan man ju ansluta högtalare och mikrofoner och andra saker över blåtand.

Tangentbordet jag skaffade mig var ett sådant här:

Det kan köpas från exempelvis Teknikmagasinet eller beställas på nätet.

Tangentbordet kommer med ett litet batteri, laddas genom en mikro-USB-anslutning (så du kan ladda den från din Pi om du så önskar) och har ett batteri med lång livslängd, typ mobiltelefonbatteri. Det kommer med en liten USB-dongel som är en full blåtandsimplementation (ja den klarar andra saker än bara medföljande tangentbordet).

Om du jackar in den i din Pi behöver du dock göra lite handgrepp för att få det att fungera.

Till att börja med så skall vi se vad som skrivs i loggen när man ansluter blåtandspluggen:

sudo tail -f /var/logg/messages

Detta ansluter din terminal till syslog och visar alla nya meddelanden som kommer in. När nya meddelanden kommer in så kommer de att visas direkt.

Nov 16 20:16:29 raspberrypi kernel: [10210.180087] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
Nov 16 20:16:29 raspberrypi kernel: [10210.360093] usb 1-1.3: new full-speed USB device number 7 using dwc_otg
Nov 16 20:16:29 raspberrypi kernel: [10210.464700] usb 1-1.3: New USB device found, idVendor=0a12, idProduct=0001
Nov 16 20:16:29 raspberrypi kernel: [10210.464731] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Tryck C-c för att avsluta.

Så inga konstiga fel eller så men däremot fungerar det inte av sig själv. Vi behöver koppla tangentbordet till datorn men först måste vi installera lite verktyg för bluetooth.

sudo update-rc.d -f dbus defaults
sudo apt-get install bluetooth bluez-utils blueman

Jag vet att det kommer riva in en massa junk du kanske inte vill ha. Det beror på att default så står debian inställt på att ta in inte bara det som måste plockas in pga dependencies utan också allt rekommenderat och ”nice to have”. Du kan stänga av detta innan installationen för att slippa få in cups och annat som kanske inte behövs…

Nästa steg är att sätta tangentbordet i ”discovery mode” det finns en särskild knapp på detta tangentbord som man trycker på för detta. En diod böjar blinka på tangentbordet.

Tillbaka i Pi så skall vi nu para pajen med tangentbordet:

sudo hcitool scan

Detta bör hitta ditt tangentbord och visa en rad ungefär som följer:

Scanning ...
DC:2C:26:E5:97:B4 Bluetooth 3.0 Macro Keyboard

Om ingenting hittas, kontrollera att tangentborder verkligen är i discovery mode. Om det ändå inte fungerar är det troligen så att den blåtandsmoj du har inte är kompatibel tyvärr.

Det vi är ute efter ovan är blåtandsmojens adress! Det är den första delen av discoveryraden: DC:2C:26:E5:97:B4

När vi nu har den kan vi para Pi med Tangentbordet:

bluez-simple-agent hci0 DC:2C:26:E5:97:B4

När du gör detta frågar den efter en Pinkod, slå in på Raspen 1234 eller 0000 och sedan skriver du samma på tangentbordet och trycker ENTER.

Nu skall du vara parad med tangentbordet om inga felmeddelanden dyker upp. Nästa är att lägga till tangentbordet i listan på ”trusted devices” och sedan ansluta till det och det gör du med:

bluez-test-device trusted DC:2C:26:E5:97:B4 yes
bluez-test-input connect DC:2C:26:E5:97:B4

Klart. Det fungerade utmärkt för mig. Om du bootar om din Pi måste du köra connect igen. Lägg in det i /etc/rc.local eller motsvarande.

För att göra detta redigerar du filen /etc/rc.local och innan du ser det avslutande exit 0 i filen lägger du till din connect-rad som bluez-test-input connect DC:2C:26:E5:97:B4 och det skall vara allt som behövs för den skall återansluta.

Om du har några bekymmer, glöm inte kolla /var/log/messages för mer information, det mesta av vikt fastnar i den!

Raspberry på svenska

För att få svenska tecken i raspberry om du kör Raspbian (dvs Debian för Raspberry) på den så kan du göra följande:

Redigera först /etc/locale.gen och se till att kommendera IN de rader för de du vill kunna ställa in. Det gör du genom att ta bort # på raden för det språks locale du vill använda.

För svenska har du egentligen tre stycken att välja på:


# sv_SE ISO-8859-1
# sv_SE.ISO-8859-15 ISO-8859-15
# sv_SE.UTF-8 UTF-8

Den första är med tangentbordsmappen ISO Latin som användes i tidigare versioner av Windows, AmigaOS och tidigare Linux-system. I dag används troligen UTF-8 i stället och om det inte fungerar bra för dig rekommenderas ISO-8859-19 i stället eftersom den innehåller vissa uppdaterade tecken (exempelvis ’€’).

Efter att du redigerat filen sparar du den och sedan kör du följande:

sudo /usr/bin/locale-gen

När den är klar (kan ta några minuter) så har den genererat alla filer som behövs. Nu kan du ställa in ditt språk i bash genom att t.ex. redigera filen .bashrc i din hemkatalog.

Lägg exempelvis in följande rader sist i filen:


export LANG=sv_SE.UTF-8
export LC_MESSAGE=sv_SE.UTF-8
export LC_COLLATE=sv_SE.UTF-8
export LANGUAGE=sv:en

Naturligtvis byter du ut UTF-8 osv mot det som passar för den locale du vill ha. Många föredrar som sagt ISO-8859-15 i stället.

Convert pictures for upload to Google+

Google plus allows you to upload pictures without using your disk quota with Google if your images are up to 2048×2048 they will not be counted towards your disk space. So if you don’t need to back up your full size pictures you can use this script to convert them to the max size google accept without taxing your storage. The script is intended to run as a bash script and has been tested in several versions of Linux. It should work well also under Cygwin in Windows and in BSD et cetera.

You need to install imagemagick in order to use the script. It relies on the ”convert” binary in that package.


#!/bin/bash

# Find out if the destination dir already exists
# and if it does not, then we need to create it.

if [ ! -d "google" ]; then
echo "Creating dump dir google."
mkdir google
fi

# Save the internal file separator symbol and then replace it
# with UNIX line breaks so that we can handle file names that
# have spaces and stuff in them.

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

# Loop over all files in current directory and then process them
# one by one storing the result in the "google" folder ready for
# upload to Google when done.

for f in * ; do
echo -n "Processing $f - "
if [ -f "google/$f" ]; then
echo "Exists, skipping."
else
echo -n "Converting - "

# Sharpen a bit to make it more enjoyable on small images
# convert image to 2048 pixels maximum side. This means
# we are able to store all files the way google allows us
# for free (not having to buy more space)

convert "$f" -filter bessel -resize 2048 -sharpen 0x1.0 "google/$f"
echo "Done."
fi
done

When the script is run it will create a subfolder named ”google” in case it does not already exist. Then it will loop over all your files in the dir trying to run the convert script on each of them. It takes a few seconds per file generally. It allso applies some sharpening which usually works well but if you don’t want that then remove that argument.

Save the script in /usr/bin/google-convert or something similar and then just cd to the folder where your jpegs are located and run the script there.

Wifi-problem med iRiver Story HD

En god vän till mig har haft problem med att få WiFi att fungera på iRiver Story HD. Symptomen är att under installationen (första uppstarten efter fabriksåterställning) av enheten så hittar den visserligen WiFi-nät men efter anslutning säger den att det är ett nätverksfel och sedan fungerar det inte att komma i kontakt med t.ex. bibliotekets websida.

Efter att ha lagt tassarna på en sådan enhet själv kan jag konstatera att det är ett problem som kan kringgås men man behöver göra lite speciella grepp för det. Såhär gjorde jag:

  1. Starta plattan och välj fabriksåterställning om du inte redan är i det läget.
  2. Gå igenom alla delar av inställningarna tills du kommer till wifi
  3. Anslut till ett okrypterat öppet nät†, om det inte finns något sådant där du är kan du eventuellt om du har en smartphone skapa ett från din telefon tillfälligt.
  4. När plattan är ansluten försöker den nå nätet.
  5. Ett meddelande om att nätet inte fungerar kommer upp och du uppmanas trycka ”BACK/BAKÅT” men gör INTE det. Tryck i stället ENTER.
  6. Här kan två saker hända, antingen så laddar den bibliotekets ELIB-sida, eller så kommer du tillbaka till huvudmenyn. Om ELIB-sidan laddas kan du vänta en stund, du bör få en fråga om du vill uppdatera programvaran i plattan, svara ja på det. Om du i stället kom tillbaka till huvudmenyn i plattan gå till optionsmenyn och leta upp uppdateringen av programvaran och kör den manuellt.
  7. När plattan startar om efter uppdateringen kan du stänga av nätverket du delade ut från din telefon om du nu gjorde det.
  8. När plattan startat igen kan du gå till optionsmenyn och välja att slå på wifi. Du skall nu kunna ansluta till wifinät och komma till bibliotekets hemsida och låna böcker.

Efter uppdateringen skall inte nätverksproblematiken uppstå igen.

† Det är inte säkert det måste vara ett öppet (okrypterat) nät men jag gjorde det för enkehets skull när jag testade och då fungerade det. Om det fungerar trots krypterat nät att följa denna instruktion för dig, låt mig då veta det eftersom de flesta i dag har krypterade nät där de sitter.

 

Photos and other rants