Kretsar

Mitt fina gamla datorskrot, funnet i garderoben. :)


Kaprifol tipsar: Uppdatera din Java-miljö

Idag gott folk ska vi uppdatera våra JRE:er! Jag driver ju trots allt en IT-blogg här. ;) Mina föräldrar hade oförklarliga problem med att nya versionen av Firefox tvärdök och vägrade starta om samma session på nytt. Det visade sig bara hända när de hade besök en sida med Java-applets på. Jag antog därför att de behövde uppdatera sin JRE (Java Runtime Environment). Om det händer något spännande på en webbsida så är det oftast din JRE som ser till att det händer. Att ha en fin och ny JRE är viktigt för att saker ska funka, enkelt talat. Så, då kör vi! (Jag vänder mig främst till Windows-användare här, ni andra har nog stenkoll på era Java-miljöer, det utgår jag ifrån.)
  1. Surfa in här. Ett test körs och du får veta vilken Java-version du har. Har du 1.6.0_16 säger jag grattis (just nu är det den senaste). Annars går vi vidare.
  2. Vänta nu... Kraschade din webbläsare just? Inte? Gå vidare då. Om den kraschade har du förmodligen en uråldrig JRE. Då ska du definitivt uppdatera. (Öppna en ny Firefox-session eller en annan webbläsare, vilken du nu gillar.)
  3. Så, då tar vi ner den senaste här då. Kör installationsprogrammet när du laddat ner det och följ anvisningarna.
Hurra, fint och nytt Java! Fira med en kopp kaffe! :) Liten överkurs: Du kan kolla vilken Java-version du har genom att skriva java -version i en DOS-prompt istället om det är roligare. Tryck på den där roliga startknappen som finns nere till höger och ta Kör. SKriv cmd och okeja det. Där har du din prompt där du skriver  java -version och trycker enter så berättar den vilken version du har. (Eller vet ni vad? Det här blogginlägget hade kunnat göras mycket kort. Här kommer snabbversionen: "hit, tryck på den blåa knappen, gör som det står." ;)

En guru

Han kallas för säkerhetsbranschens motsvarighet till en rockstjärna, han bloggar om bläckfisk varje fredag och man kan alltid vinna en diskussion genom att hävda att argumentet kommer från honom. Kan han dekryptera vadsomhelst i huvudet? Antagligen inte, men myten säger så. :) Jag talar om Bruce, förstås. Inte Wayne, Schneier. Läs honom här.

Dags

När jag och Fisken satt på ett mysigt café idag (riktigt fint, vid ån, lummig trädgård, gammaldags, udda koppar, våfflor.... allt sånt) berättade jag nyheten. Jag försökte inte linda in det genom att berätta att jag läser en massa bloggar och glömmer bort adresserna utan jag sa rätt ut som det var: jag ska börja läsa bloggar i RSS-läsare. "Ett stort beslut!", tyckte Fisken roat (eller så skrattade han bara lite allmänt åt mitt kliv in i framtiden, det var hursomhelst underhållande för honom). Jo, för mig är det faktiskt ett stort beslut det här. Är jag modern nu då? ;)

Jag tar det på chip

Jag har satt det i system att alltid säga "med chip" istället för "med kort" eftersom det är mitt stillsamma sätt att uppmuntra och uppmana till användande av det lilla microchipet som finns i många betalkort. Det är ett bättre val än den antika magnetremsan. Jag sprider lite opinion helt enkelt. Det brukar gå till ungefär såhär: "Det var bra så, då tar jag det på chip" eller "Oj, vad bra! Man kan betala med chip här" och kassörskan brukar replikera, vänligt men ibland lite förvånat att det går bra med chip där. Snart ni, har jag spridit det här så pass att magnetremsorna är bortglömda och kommer att avskaffas. ;) (Skämt åsido, men jag gillar att ny teknik används när den finns och funkar bra... och har jag lyckats göra ordet härke populärt så ska väl även detta gå vägen. :)

Fläckkod

Streckkod är inget bra ord för det antyder att en streckkod måste ha streck sådär som EAN-13-koderna på varor i affärerna har. Tvådimensionella streckkoder har inte streck, de har fläckar. Jag har ju visat sådana koder förut, svartvita, fyrkantiga symboler med svarta och vita små fyrkanter i. För mig är det naturligt att de fläckiga är tvådimensionella och de med streck är endimensionella medan personer som inte är vana vid koncepten hävdar att både kodtyperna har bredd och höjd, alltså två dimensioner. (Jag nämner inte ens de runda streckkoderna här, men de är också tvådimensionella.)

Nu är det såhär: endimensionella koder läses i en led, tvärs över. Oavsett var i höjdled du läser får du samma svar. De är arrayer. Tvådimensionella koder läses inte "i linjen", de läses "i planet" ty de lagrar data i två leder och är matriser. Jotack, försök förklara det för nåns mormor. För att göra allt så mycket enklare tycker jag att vi börjar kalla tvådimensionella streckkoder för fläckkoder istället. Det är mycket mer logiskt. Är ni med mig på detta? :)

Min första mandelbrotsmängd

Något av det finaste jag vet är mandelbrotsmängden. Den ser ut ungefär såhär, men en så liten bild gör den inte rättvisa. Det är inte förrän du ser den genererad i ett program där du kan zooma in och upptäcka att de små vindlingarna och krumelurerna upprepar sig i det oändliga som det storartade börjar. För kanske 10 år sedan skulle jag bygga min egen generator med hjälp av självlärda grunder i C++ (eller vänta, jag hade nog börjar lära mig lite programmering i skolan, jaja, det var rätt nytt för mig), något MS-DOS-grafik-lib som gjorde att all grafik såg anskrämlig ut, mina matteskills (jag hade just blivit introducerad till det komplexa talplanet och upplevde det som ganska... komplext) och rätt mycket envishet. Det enda jag visste om just mandelbrotsmängden var att jag hade algoritmen för hur nästa punkt genereras och det borde väl egentligen räcka, men det var så mycket jag inte hade lärt mig ännu så jag fyllde i med mina egna infall. Programmet genererade vad ni ser på bilden under. Vad som inte syns är att den snurrade i ett hiskeligt tempo och sedan avslutades med ett pompöst minnesfel. Jag har för mig att det var ett segfault, men det är ju inte rimligt i DOS-miljö, eller hur? Det var något dylikt i vilket fall som helst och gav lite känslan av att ha återskapat Big Bang eller nåt i den vägen. ;) Jag har lust att göra om experimentet och se hur väl jag skulle lyckas idag. Extra coolt vore det att göra det i COBOL, men grafik och COBOL... Äsch, det löser sig. :) Om ni vill läsa mer om hur matematik och konst hör ihop och hur fraktaler, sådana som mandelbrotsmängden, funkar så finns det en trevlig text om det här.

Ett tidigt experiment. Det skulle förmodligen bli mer korrekt
om jag gjorde om det idag, men inte lika egensinnigt. :)


Ubi-kvi-tus!

Veckans stora nyhet är att jag har börjat mobilblogga, såklart! (Inte nu dock. Mobilbloggar jag så blir det bara en rad, allt annat är för omständligt.) Det hela är nog inte så häpnadsväckande ändå, men för mig känns det lite speciellt. Behövligt är det också, jag menar: ska jag jobba med ubiquitous computing kan jag iaf försöka att vara lite "ubi" själv genom att använda någon nättjänst från varhelst jag befinner mig. Lite enbart-text-surf i mobilen är rätt billigt och relativt snabbt. Den lilla skärmen är en begränsning, men med en stor skärm skulle man gå miste om känslan, det är jag övertygad om. ;)

Luddtratt

Jag undrar en sak: Hur kommer det sig att halvgamla Sony Ericsson-telefoner inte har något linsskydd till kameran? Istället finns där en slags tratt in i telefonhöljet. Det kanske är bra på så sätt att linsen inte sitter alldeles ytligt, men problemet är att det alltid hamnar ludd i tratten och bilderna blir därefter. Vad är grejen, varför har kameramobiler luddtratt? Det känns som en ganska underlig designdetalj, men det kanske finns någon vits med det hela. :)

Ternär!

Man kan inte undvika något i all evighet och eftersom jag har programmerat i någon form i över tio år är det dags att sluta fred med den ternära operatorn ?: och lära sig att använda den.

Såhär kan det se ut: sovdags = (idag == helg) ? 02 : 22;

Vi testar alltså påståendet idag == helg som är sant om det är helg idag. Om det är sant sätter vi variabeln sovdags till det som står efter frågetecknet, klockan 02. Om det däremot inte är sant tar vi det värde som står efter kolonet och sovdags blir klockan 22 istället. Enkelt, smidigt, fint! Trevligt att träffas, ternära operator! :)

Kyparen!

Kyparen, det är en DataMatrix i färsen! Oavsett om man gillar blandfärs eller inte, håll med att om den ska märkas så ska den märkas med den allra finaste datarepresentationen som finns: DataMatrix! Hurra! :)


-Kyparen, det är en blogg i min soppa! -Ja, det är den nya
flugan... ;)

Mental istid


Hittade den här på min disk. Det är lite såhär det är... eller var. :)

Skapa sudd

Dags för lite pyssel! Häromdagen behövde jag fota datamatriser, men inga snygga bilder, utan dåliga foton med de vanligaste störningarna: skevhet, suddighet/oskärpa och blanka partier. Det är vanligtvis ganska lätt, men inte när man anstränger sig. Hur gör man då? Jo, häll varmvatten i en genomskinlig plastflaska utan etikett. Skaka om (så att det blir lite imma och droppar och sånt), häll ur vattnet och fota genom flaskans sida. Det blir perfekt! ...eller det blir inte perfekt, precis som det ska vara. Så, är ditt största problem att du är för bra på att fotografera, fram med vattenflaskan. ;)

Dagens förbud

Dagens roligaste: På bussen sitter en skylt med en överkryssad mobiltelefon (av gammalt snitt med utstickande antenn och allt). Skylten säger med all önskvärd tydlighet att mobiltelefoner är förbjudna där. Totalt, liksom. Har man mobil (speciellt en ful gammal modell) så åker man av! Bredvid sitter en annan skylt där det står hur man betalar med SMS-biljett. Min vilda gissning är att är det ljudligt användande av telefon som är förbjudet, alltså att prata högt eller ha jobbiga ringsignaler. ...men ändå. :)

Den stora telefonen

Det är något som är så oförklarligt roligt med gamla teknikprylar. För några dagar sedan kom V förbi mitt kontor med en ny telefon, eller rättare sagt: en gammal telefon. Den hade runt 15 år på nacken räknade vi ut. Eftersom hennes vanliga mobil hade råkat ut för en bisarr olycka som inkluderade en nallebjörn och ett glas mjölk hade hon fått rota fram någon av sina gamla mobiler ur gömmorna och medan en ganska ny vägrade att fungera som den skulle så hade det inte varit några problem med den här. Det var en sån där orange kluns från Ericsson, en sån som man bär i bältet på ett chict sätt, för hur skulle man annars kunna bära den? När jag provhöll den kunde jag riktigt föreställa mig hur strålningen slog ut alla mikrovågsugnarna i huset och hur IT-försvarsmänniskorna i närheten fick panik och började förbereda någon slags utryckning. Jag pekade på jätteantennen: "Man känner strålningen i armen!", tyckte jag, men det tyckte inte mobilens ägarinna. Däremot visade hon hur man skulle kunna klubba ner folk med adaptern som följde med. (Det kan man, den är helt livsfarlig.) Vad är det som gör gamla telefoner så roliga? Bara enradsdisplayen var ju rolig i sig. Hur skriver man SMS på en sån egentligen? Gör man det alls? Väldigt korta då, kanske, eller så får man scrolla mycket. (Sen skulle V iväg på ett möte i rummet bredvid och jag tyckte att jag hörde del skratt när hon gick in där. Det kan ju ha varit fel, men gamla mobiler är liksom roliga bara sådär. :)

30 kilo

Nu har jag plats på mitt skrivbord! Vad värre är, jag har 30 kilo finelektronik från Sun över. Världens största skärm. Vad gör man med den? Kan kan ha den som fotpall eller sälja den dyrt till någon galen samlare? Vad tror ni? Kom på nåt kreativt här! ;)

Hopp!

I underhållande filmen Office space om några uttråkade kontorsråttor finns det en man som kommer på en i hans tyckte fantastisk idé: "the jump to conclusions-mat". Det är en matta med (som jag minns det) fyrkanter på och i dessa står det olika slutsatser som man kan hoppa till. Översatt till svenska skulle jag kunna tänka mig en "dra-förhastade-slutsatser-tavla" med små lappar med olika slutsatser skrivna på och snören så att man kan dra slutsatserna, bokstavligt talat. Hursomhelst, det hela är en osedvanligt fånig idé och den här personens kollegor försöker att förklara det för honom på ett (relativt) vänligt sätt, utan att riktigt lyckas. (Sen slutar det med att han tjänar storkovan på sin idé har jag för mig. :)

Så, ibland får man goda idéer och ibland kanske de ska stanna på idéstadiet. Idag uppfann jag - lite av en slump - den zombievänliga autentiseringsmetoden (helt utan liveness detection och möjlig att använda även när man inte tänker) och den semistrukturerade flödeskartan (en hybrid av flödesschema, mindmap och pseudokod... med goto-satser!). Ska vi dra slutsatsen att båda blir succéer? ;)

Burken, kanske?

Nu får ni hjälpa mig lite här, vad kallar man en vanlig dator? (Förutom härke eller datorskrälle då...) Datorer kan för mig vara allt från rackmonterade maskiner, stationära hemdatorer, bärbara datorer (laptops) och handdatorer (PDAer). En smartphone är för mig en variant av handdator, så vilket ord använder jag när jag vill jämföra smartphones med... ja, vanliga datorer. Det är engelska jag tänker använda, men problemet är detsamma på svenska. Istället för computer (eller ännu värre, ordinary computer), kan jag använda PC? Visst, det finns Mac:ar och SUN:ar och det ena med det andra, men för den vanliga användaren än PC oftast synonymt med dator i största allmänhet. Vad tycker ni? Finns det något ord som betyder "dator av vilket slag som helst, men inte handdator"?

Hello Cobol!

När det är tentaperiod dammsuger alla studenter. Sedan börjar de att sortera sina plastpåsar efter färg och storlek och därefter tar de långa skogspromenader, eller hur? ;) Tentaflykt är ett känt begrepp och kanske flyktar jag också när det är mycket att göra på jobbet... fast jag flyktar efter arbetsdagens slut och då må det väl vara hänt. Bara man inte försummar något viktigt så tror jag att det kan vara nyttigt att koppla av och tänka på något helt annat ett tag. Då blir det lättare att ta tag i det där viktiga sen. Den senaste tiden har jag "flyktat" med träning, men nu är jag som ni vet förkyld så då fick det bli bakande av smulpaj istället och sist med inte minst: en ny hobby. Det finns så mycket jag vill lära mig som inte har ett dugg med mitt jobb att göra: historia, franska... Jag vill läsa skönlitteratur och sortera pappren som ligger under soffbordet.

Det jag vill extra mycket och som jag bestämde mig för idag är dock något helt annat: Jag ska återerövra programmeringen! Såhär: Innan jag började plugga var programmering en hobby för mig, men nu förknippar jag det så mycket med plugg och jobb att det inte är lika roligt att syssla med det på fritiden längre. Men hörni... Jag har löst problemet! Grejen är att jag ska koda i ett språk som jag inte kommer att syssla med i jobbsammanhang, någonsin. Visst är det bra? Sagt och gjort, från och med ikväll är jag
COBOL-programmerare!

Kl 23:00 kompilerade mitt första "Hello world!" Yay! "När börjar du få fjäll?" undrade Fisken. Han tror att det bara är dinosaurier som kodar i COBOL, detta anrika språk från 1959. :)

Skal i skal

Jag tränar inte idag för jag vill vara pigg och utvilad inför premiären av nya bodyjam imorgon. Nya steg som jag kan trassla in mig i, roligt ju! :) Dessutom hade jag en attans träningsvärk idag och det går ju inte an. Förövrigt har jag lyckats med följande idag i samband med att jag debuggade ett litet stycke attackkod (ett exploit!) i gdb: Jag kör från breakpoint till nästa och plötsligt verkar det som om debuggern har stoppats av någon oförklarlig anledning för jag ser en prompt. Jaha, tänker jag, då är det väl bäst att gå hem nu då, men först tänker jag att jag ska testa att köra exploitet på riktigt, utanför debuggern. Jag kör det och får ett skal vilket inte verkar vara ett rootskal (och ett rootskal är vad exploitet ska ge om det funkar) så jag skriver exit för att stänga skalet och sedan exit igen för att logga ut från den virtuella maskinen som jag kör allt det här på... och då är jag plötsligt i debuggern. Där ungefär slutar min tankeförmåga att fungera. Så, jag inser att debuggern aldrig avslutades, utan det första skalet öppnades av exploitet jag debuggade och det andra kördes inuti det skalet. (Inne i gdb kan det skapade skalet inte bli ett rootskal i detta fall.) Hjälp, liksom. Jag stänger debuggern och ser till att jag är på rätt ställe och så kör jag exploitet och blir root. Lyckan är gjord. :)

Två frågor att ställa sig nu: Ett: Vadan utbrottet av nördighet i bloggen? Jo, jag driver trots allt en IT-blogg här, en av Sveriges 80 populäraste (och här säger vi ingenting om hur många det finns eller något annat irrelevant ;). Fråga två: Vad attackerar jag? Ingenting alls. Jag råkar bara ha ett jättespännande jobb som just idag gick ut på att ha lite roligt med buffer overflows. (Precis som
ifjol alltså, jag testar en labbmiljö och ser att den är som den ska.)

Tidigare inlägg Nyare inlägg