Recently in Techstuff Category

Update: SÅLD!
Säljer en svart Sony Ericsson Xperia X10. Helt ny i originalförpackning med alla originaltillbehör (8GB minneskort enligt specifikationen)! Vinst i en tävling och jag behöver inte en telefon till! Telefonen finns i Luleå för avhämtning eller kan skickas mot självkostnad.
Vad tycker du den är värd? Ge mig ett seriöst bud! Enligt Prisjakt så är billigaste just nu 4999:- med frakt.

X10.png

| | Comments (0)
 

1: Människor bygger ett rymdskepp på jorden.
2: Människor bygger industriella maskiner (== robotar) som kan bygga ryndskepp.
3: Människor kopierar DNA-databserna.
4: Skicka upp skeppet i omloppsbana runt jorden medan skeppet byggs ut för längre rymdfärd genom att t.ex. ta material från 3753 Cruithne (jordens andra måne).
5: Robotarna reser nu mot lämplig gasjätte som t.ex. Jupiter eller Saturnus, och under tiden bygger större motorer.
6: Robotarna kommer till Jupiter och tankar bränsle genom att helt enkelt ta en liten liten del av gasjätten.
7: Skeppet åker mot närmaste planet som kan stödja mänskligt liv.
8: Under resan så bygger robotarna människor från DNA de har med sig och människor är lagom stora när de kommer fram till rätt planet (obs resan tar ca 10K-100K år!)
9: Här byggs nu en kolonisation upp samtidigt som 3-5 nya rymdskepp byggs.
10: Loopa tillbaka steg 4 eller 5 beroende på den nya planetens dragningskraft.  

- Eftersom det är en helt ny värld så vi redan nu bestämma vilken ideologisk världsbild de ska ha.

- Den enda kostnad vi har för projektet är det som krävs för att få iväg projektet från jorden. Mycket billigt i det stora hela!

- Efter ett antal 100M år så har vi koloniserat stora delar av det kända universum!

- Jorden och dess "civilisation" har för länge sedan gått under en viss form av människan lever vidare på ett antal olika planeter "där ute".  

Vad tror ni om detta? (nej det är inte min idé ;))

| | Comments (0) | TrackBacks (0)
 

Idag fick jag min nya telefon, Google Nexus One:

  download-01-nexus-one-540x442.jpg

Det spontana intrycket är "wow, vilken cool telefon och pryl". Av någon anledning så ser den inte riktigt lika snygg ut på bilder som i verkligheten. Jag gillade den skarpt även om många andra där ute tycker att iPhone 3G är snyggare (jag tycker för övrigt att iPhone 2G är snyggare än 3Gn ;)).

Jämfört med min gamla HTC G1 så är hårdvaran bättre på ett antal punkter:

  1. Mycket bättre kamera. 5mp och bättre lins.
  2. Blixt till kameran.
  3. Snabbare CPU. Märks jättetydligt.
  4. Mer minne. 512MB.
  5. Tunnare, dock har den inget tangentbord vilket jag egentligen tycker är ett stort minus.
  6. Större skärm, 3.7 tum.
  7. Bättre skärm, amoled 800x480

På mjukvarusidan så kommer den med Android 2.1 vilken har ett antal häftiga finesser jämfört med 1.6 som jag kör på min G1a. Det är dock en tidsfråga innan G1an kommer "i kapp". Generellt kan man säga att 2.1 känns mycket mognare som telefon OS än 1.x.

Hur köper man då en Nexus One lagligt till Sverige? Det finns flera olika vägar att gå och speciellt om man vill betala hutlösa extra avgifter till olika skumma aktörer. Ebay är ett sätt. Ett annat är att beställa via International Orders. Ett tredje sätt är att beställa den direkt från Google och använda ett företag som skickar vidare paketet till Sverige. Jag använde det senare med följande steg:

  1. Öppna en "privat" adress hos Borderlinx.com. Detta är gratis och du får en privat DHL-postlåda hos dem och när det kommer paket till den adressen så kommer det upp på ditt konto och du kan betala via Paypal eller kreditkort.  
  2. Beställ sedan telefoner direkt hos Google och betala via Google Checkout. Nu är dock Google lite luriga och säljer bara telefonen om din dator är i ett land dit de säljer telefonen (ej Sverige ;)). Lösningen är att gå via en proxy och jag använde mig av TOR-nätverket där jag tvingade fram att jag skulle komma ut i just USA. Det finns andra proxy lösningar också. Vill ni veta mer om just detta så säg till! Man behöver bara göra själva beställningen via proxy och så du behöver inte ange någon kreditkortsinformation via någon proxy. Är du riktigt paranoid så kan du sätta ett temporärt lösenord på ditt Google konto och byta tillbaka direkt efter du beställt.
  3. Betala din telefon via Google Checkout.
  4. Vänta 24h tills den dyker upp hos Borderlinx och betala där frakten till Sverige ($35-45) plus svensk tull och moms.
  5. I och med att Borderlinx förbetalar skatt och tull till DHL så passerar paketet Arlanda mycket snabbt innan paketet skickas vidare inom Sverige (vilket tog ca 4h från att den släpptes från DHL utrikes på Arlanda).  

Orderkostnad:
Google $564,71 = 4 070,13 SEK
Borderlinx $198.67 = 1431.01 SEK
Totalt $763.38 = 5501.14 SEK

Till detta så måste du köpa en US-kontakt adapter för 220v eller en ny laddar för 100-200 SEK.

Hur är det då med garanti? Här är HTC väldigt trevliga och de ger 24 månaders garanti även om den är köpt i USA men den måste skickas till UK för reparation och inte till deras svenska reparationscenter.

För att summera, den är en cool telefon och telefonen rekommenderas varmt!


| | Comments (2) | TrackBacks (0)
 

Så här ser min nya Telldus Tellstick ut med extra antenn.

  091229 - 1.JPG

| | Comments (5) | TrackBacks (0)
 

Hej

Jag har tidigare skrivit om att jag skrivit lite program för att styra elsaker i hemmet och jag tänkte beskriva lite här vad jag gjort och vilken mjukvara jag använder. En del av det jag använder här är "onödigt" komplicerat men jag har valt dessa komponenter för att det passade min miljö och det jag ville göra just då.

Hårdvara: Denna hårdvara har jag använt:

  • en dator (Windows, Linux eller Mac) med en USB plats
  • en Telldus TellStick. Denna kostar 649:- hos Kjell & Co och 679:- hos Clas Olsson.
  • ett par mottagare som man kopplar i elkontakten och sedan kopplar sina elprylar till. Här finns det många olika att prova på, vissa snyggare och andra fulare. Det är lite varierande stöd för de olika då de pratar lite olika protokoll och man kan styra dem på olika sätt. Notera att om du ska styra något annat än t.ex. lampor så måste du ha de lite kraftfullare mottagarna (aningen större och aningen dyrare). Jag har provat med:

Mjukvara

Telldus Center

Det finns ett antal olika mjukvaror att leka med. Telldus har själva släppt Telldus Center som även innehåller drivrutinerna för att prata med stickan. Dvs även om man inte använder deras användargränssnitt så måste man ladda ner och installera deras mjukvara först. Här finns deras mjukvara samt pekare till ett par andra program.

Google Window Toolkit - GWT

Google Window Toolkit, GWT är ett paket för att skapa webapplikationer i Java utan att behöver skriva en enda rad JavaScript utan GWT kompilerar istället Javakoden till JavaScript som sedan laddas av webläsaren. GWT tar även hand om kommunikationen mellan webläsaren och servern, något som annars kan vara lite svårhanterligt.

Lättast att programmera GWT-applikationer är att använda utvecklingsmiljön Eclipse och Google Eclipse Plugin och jag rekommenderar att du installerar dessa innan du går vidare. Pluginen hanterar många av de komplicerade sakerna som t.ex. att ställa in så man får rätt java-bibliotek när man skapar nya projekt samt ett bra interface till den testkörningsmiljö som finns i GWT.

Efter installationen kan ni ladda ner mitt exempelprogram här: zip eller tar.gz och sedan öppna den i Eclipse som ett nytt projekt. Källkodsfilerna hittar ni under src/com/parnes/telldus/ och i client/ finns de filer som kommer att kompileras till JavaScript och köras i webläsaren och i server/ så hittar ni den enda fil som kommer att köras på servern. Den senare innehåller överst ett par variabler som måste ändras beroende på hur din installation ser ut (Mac/Linux eller Windows och var styrfilerna finns).   

För att lära dig hur man bygger och kör GWT applikationer inne i Eclipse kan du följa denna guide hos Google.

Styrning med hjälp av tdtool

tdtool är ett program som ingår i Telldus Center som omnämns ovan och är ett program för att prata direkt med Tellstick utan att använda ett grafiskt gränssnitt. Jag har i min applikation valt att skapa små script för de olika kommandona som att slå på och av respektive enhet.

Här kan du plocka ner de olika scripten och datafilerna som behövs för att styra mottagarna: zip eller tar.gz Notera att du kan köra de små scripten utan att använda installera något web-gränsnitt enligt ovan. Kan vara bra när man ska testa om det fungerar. Filen innehåller tdtool.exe som används för styrning på Windows. På Mac och Linux finns programmet i /usr/bin efter att du installerat Telldus Center.

Web-server - Apache Tomcat

Sista steget som behövs är en webserver som kan leverera gränssnittet och ta hand om att köra serverdelen av vårt program (delen som pratar med Tellsticken). För detta använder jag Apache Tomcat som är en variant av den klassiska Apache-servern.

Till servern Tomcat laddar man upp så kallade web-arkiv, WAR-filer och dessa får man genom att kompilera sin applikation i Eclipse och sedan packa ihop alla filer som finns i biblioteket war. Här är en förkompilerad och förpaketerad WAR-fil för vårt projekt.

Efter installation av Tomcat så går man till Manager interfacet och där laddar man upp WAR-filer under Deploy och sedan kan man gå till interfacet för vår applikation. Dessa två addresser beror på hur man konfigurerat sin server och kommer inte all fungera annat än om du använder default-värdena vid installationen.

Här är en bild hur test-programmets gränssnitt ser ut:


LTU Power Tool - screenshot.png

Det var det hela. Inte så komplicerat eller hur? :)

Fråga gärna via kommentarsfunktionen här under. Lycka till!

| | Comments (4) | TrackBacks (0)
 

Var är jag just nu?

| | Comments (0) | TrackBacks (0)
 

Under de senaste 2 dagarna har årets 24H Business Camp gått av stapeln. Skoj att det finns så många roliga idéer som kommer fram och en skoj är mikrobutik.se. Du lägger upp en vara enligt en mall och de tar en liten procent av köpkostnaden (mellan 10 och 100 beroende på pris på varan) men själva butiken kostar inget. För att testa så lade jag upp en mini-butik för att köpa kaffe.

Vill bli inspirerade och höra pitcharna från 24HBC så rekommenderar jag att ni tar en titt på följande film.

| | Comments (0) | TrackBacks (0)
 

Igår släppte jag en ny version (1.0.8) av min Android-applikation, Temp in Luleå och nytt är att den går att får som 'widget'. Applikationen visar bara temperaturen i Luleå och läsare där ute kan kanske tycker det är meningslöst att utveckla en applikation som bara visar temperatur i för ett enda ställe men jag gör det för att stilla mitt intresse i Android-programmering.


TempInLulea108_1.png TempInLulea108_2.png  

Första bilden är av själva applikationen och den andra visar den som en widget.

Arkitektur: Applikationen är uppdelad i fyra bitar:

  1. Widget: som visar widget-gränssnittet på "hem-skärmen".
  2. Application: som visar en fullskärm med mer info om applikationen och där man kan kontrollera den lite.
  3. Service: en process som kör i bakgrunden och hämtar temperaturen från källan (Marge) och sedan anropar applikationen och widgeten med ett event att det finns nytt temperatur data. Notifieringarna sker via ett callback-interface där varje modul som vill känna till ändringarna registrerar sig för att bli uppdaterad med ett event.
  4. Notification: Från applikationen kan man välja att även visa nuvarande temperatur som en notifiering. Detta är ett arv från Android innan version 1.5 då det inte fanns widgets.

Det är en enkel applikation men jag har försökt programmera den som om den vore ett mycket större system. Här kommer lite blandade tips och tricks på hur man löser mer eller mindre förekommande problem.

Hur hantera ändring av skärm orientering? När man ändrar orientering på sin Android, dvs vrider på den så man ändrar mellan 'Landscape' och 'Portrait' så uppkommer problemet att ens applikation och widget har olika mycket utrymme att rita sitt gränssnitt på. Här kan man lyssna på events för att bli notifierad om ändringarna men Android har gjort det enklare än så. Man skapar helt enkelt ett bibliotek som heter 'layout-land' parallellt med med 'layout' och där lägger man en xml-fil med UI-layout som heter likadant som den för portrait-layouten. Har man denna fil där så kommer android-system att automatiskt välja rätt layout för de olika tillstånden. Applikationen och widgeten anropas inte ens med en notifiering att en ändring har skett. Dock måste man vara noga med att kalla elementen likadant i de båda layouterna. Tips: om du vill ändra layout i emulatorn så tryck Ctrl-F12 för att växla till nästa layout. Mer info om kontroll av emulatorn.

Hur hantera automatisk start av service/applikation vid boot? Det finns inget automatiskt sätt (liknande andra UNIX-baserade system) att registrera sitt program att det ska anropas automatiskt då systemet bootat upp. Här måste man registrera sig som lyssnare på android.intent.action.BOOT_COMPLETED i AndroidManifest.xml och då anropas den klass man angett och man kan göra det man vill vid start, t.ex. starta en service. Så här ser det i manifest-filen:

<receiver android:name="BootReceiver">

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED">

</action>

</intent-filter>

</receiver>

Hur får man en ram på sin widget utan att leka med Photoshop? Ladda ner en standard widget-ram från widget UI design sidan (bild-filen, inte Photoshop-filen) och lägg den som bakgrund i ditt UI via att sätta android:background="@drawable/frame" i layout-filen. Om du sedan har en LinearLayout som layout så måste du sätta ett offset i y-led överst för att komma inom ramen. Det gör du så här: android:layout_marginTop="5sp"

Finns massor mer att blogga här om gällande denna lilla applikation men det sparar vi till en annan dag!
| | Comments (1) | TrackBacks (0)
 

adb root

adb remount

adb push ~/work/android/trout-keypad-v3.kcm.bin /system/usr/keychars

adb shell reboot

from here

| | Comments (0) | TrackBacks (0)
 

Fick ett tips från Jonas Lejon om Glympse. Det är en tjänst för att dela med sig av sin nuvarande position. Visst inget nytt i sig men de har gjort det på ett smartare sätt än vanligt tycker jag. Man delar ut position max 4 timmar (default 1h) och man delar ut det via en anonym URL så det kan inte kopplas till en viss person. Jag gillar hur de löst det även om jag helst hade sett att de använda Ajax istället för Flash på datorsidan när man följer en ' Glympse'.

Man kör Glympse på sin telefon och när man t.ex. ska träffa någon som skickar man en Glympse så kan kompisen se var man är och hur långt kvar man har innan man kommer fram.

Här är en Glympse från min telefon som kommer att fungera i 3.5h timmar till.


| | Comments (0) | TrackBacks (0)
 

Monthly Archives

Pages

Powered by Movable Type 4.12

About this Archive

This page is a archive of recent entries in the Techstuff category.

Sagor is the previous category.

Travel is the next category.

Find recent content on the main index or look in the archives to find all content.