Posts Tagged ‘konferens’

PyCon Sweden 2014

maj 30, 2014

Tisdag till Onsdag förra veckan gick första upplagan av PyCon Sweden av stapeln och ett par hundra python intresserade människor trängde ihop sig i KTHs Q-hus för att lyssna på föredrag och umgås. Jag var där, lyssnade på intressanta föredrag och pratade med ett gäng intressanta personer.

Administrativt fungerade det mesta bra, finfina luncher och bra info (även om schemat släpptes rätt sent). Inga katastrofer och stämningen var bra. Lunchuppehållen var rätt långa vilket gav tid till att umgås och prata med folk.

Pythonistas på grönbete.

Pythonistas på grönbete.

Föreläsningarna var överlag intressanta och innefattade många olika ämnen, allt ifrån att bygga ett tag-in-system för ett gym till hur kryptografi fungerar på internet och vad svt pejl sysslar med.

Den i särklass bästa föreläsningen var Kenneth Reitz föredrag om den splittring som håller på att ske i Python. Skillnaderna mellan python2 och python3 skapar sprickor i python-gemenskapen. Dels mellan användare av de olika varianterna (min mjukvara kan inte köra på din dator för att du har en äldre version av python), och dels mellan användare och utvecklare (de flesta användare använder fortfarande python2 medan utvecklare är mer intresserade av python 3). Enligt en snabb överslagsräkning är det endast 4.3% av användarna som använder python3. Detta är problematiskt då det lämnar mycket buggar i bibliotek som portats till python3 till och med i standard biblioteket finns det mycket oegentligheter. Lösningen är enkel men svår, vi måste engagera oss. Vi måste göra vad vi kan för att ena vår gemenskap. Stöd python3, stöd python2, ansträng dig, rapportera de buggar du hittar!

På tåget hem reflekterade jag över hur fantastiskt det är med den gemenskap som finns. Alla dessa människor som rest in för att hålla ett föredrag utan att få mer än fri entré till konferensen. Alla dessa smarta människor som tar den tid det krävs för att utbilda och dela kunskap med sådana som mig. Alla dessa människor som har slitit i veckor för att fixa alla luncher, lokaler, scheman och alla andra detaljer som skall klaffa.

Ett stort tack till arrangörerna, föreläsare och deltagare!

Annonser

FSCONS 2012

november 18, 2012

Förra söndagen trotsade jag min då kaxiga förkylning och besökte FSCONS på söndagen. FSCONS eller Free Society Conference and Nordic Summit försöker hamna mitt mellan teknologi, kultur och samhälle och har därför ett vitt spann av föreläsningar. I år var bland annat Projekt Runeberg, Debian och Wikimedia representerade. Jag höll mig mest till teknologispåret men lyckades träda utanför mitt vanliga territorium åtminstone vid en föreläsning.

  • Creating Realtime Graphics in Realtime (Jonatan Wallmander): Jonatan presenterade VSXu, ett grafiskt verktyg för att skapa 3d-effekter i realtid. Gränssnittet kan jämföras med ett upphottat labView där man drar kopplingar mellan block för att skapa effekter. Fördelen med verktyget är att resultatet av alla förändringar man gör, alla parameterjusteringar och vad man nu kan tänka sig göra när man skapar 3d-effekter syns direkt.
  • Give me an hour (Jonatan Walck): Give me an hour var inte det tänkta namnet för presentationen men det passade ypperligt då det handlade om NTP (network time protocol) och tidsmätningar generellt. NTP levererar tid i UTC (Coordinated Universial time) vilket är TAI (Temps Atomique International) + en skottsekund. TAI definerar en sekund som 9,192,631,770 energi förändringar i Cesium-133. Tyvärr kan man inte mäta energiförändringarna tillräckligt noga för att ett atomur ska klara av att ge precis tid utan mätningar från atomur värden över körs genom en matematisk modell för att ge en precis tid (till en viss grad). Problemet med NTP i dagsläget är att NTP-servrarna inte använder något authentiseringsprotokoll vilket innebär att det är lätt att ersätta NTP-servrar och ge en helt ny tid till en dator/nätverk. Detta kan leda till en rad olika säkerhetsrisker och problem.
  • Generous Innovation (Allison Randal): Allison pratade mycket om fördelarna med en affärsmodell baserad på de principer som driver Fri mjukvara. Vill man göra affärer på fri mjukvara är det support och tjänster man får sälja istället för en produkt, man kan se att detta är något som är på frammarsch även hos de stora företagsjättarna även om de inte går lika långt. Fördelen med den fria mjukvaran är att kunderna inte är lika låsta till ett företag utan kan byta ut supportföretag ifall kvalitén inte håller. Detta kräver mer av företagen men kan också underlätta eftersom kunderna kan bidra till lösningar och styra åt vilket håll utvecklingen sker. Allison poängterar att det är inte enbart inom mjukvaruvärlden som detta är en tänkbar modell, även industrier skulle kunna anamma detta men det skulle vara något helt nytt och man skulle alldeles säkert göra misstag och behöva backa och ta nya tag.
  • Glocalisation of continuing education, combining P2PU with Folkbildning (Niklas Karlsson): P2PU står för Peer to Peer University och är en plattform för att hålla kurser på nätet. Niklas hävdar att användningsområdet överlappar Folkbildningens studiecirklar väldigt väl och ställer frågan ifall dessa kan kombineras på ett bra sätt. Studiecirklar används väldigt sällan på distans, den mest vanliga studiecirkeln är någon form av kör vilket svarar för en del av problematiken. Ett annat problem är den sociala biten då studiecirklar ofta bildas av ett gäng bekanta som har ett gemensamt intresse och kan träffas runt ett fikabord. På landsbygden skulle P2PU kunna användas för att driva distanscirklar men problemet ligger nog i att informera om P2PU’s existens.
  • Yabasta, End to End Secure Social Network (Jon Kristensen): Yabasta är embryot till ett nytt socialt nätverk med betoning på personlig integritet och säkerhet. All kommunikation mellan användare sker krypterat och skall ge möjlighet att i efterhand förneka ett meddelandes äkthet samt skydda för att i efterhand kunna knäcka samtliga meddelande ifall en krypteringsnyckel knäcks. Teknologin är intressant men i dagsläget är det endast en tjänst för att skicka meddelanden, i den nära framtiden hoppas Jon kunna lägga till Foto-delning för att göra tjänsten lite mer lukrativ.
  • Securing Servers Using Proactive Measures (Francisco Blas Izquierdo Riera aka Klondike): Det här föredraget var riktigt tekniskt tungt och gick lite för snabbt för att jag skulle hänga med helt. Trots detta var det jag snappade upp intressant. T.ex en ordentlig genomgång av hur stack overflow-attacker fungerar. I övrigt gick Klondike igenom allehanda säkerhets åtgärder som görs i Gentoo Hardened för att förhindra attacker och öka säkerheten…och det är rätt mycket de skyddar emot, tyvärr sänker dessa fixar prestandan en aning och program som gör vissa antaganden kan sluta fungera.

Embedded Conference Scandinavia 2010

oktober 24, 2010

Tisdagen och onsdagen den 19,20/10 (det vill säga i tisdags och onsdags) gick Embedded Conference Scandinavia av stapeln på stockholmsmässan. Jag hade privilegiet att närvara, lyssna, lära, äta gratis mat och plocka på mig en och annan gratispryl.

Conference innebär i dessa kretsar en uppsättning seminarier av olika karaktär, allt ifrån verktyg för effektiv programmering för inbyggda system till framtidens lösningar för datacentra.

Nedan har jag sammanfattat det som jag tyckte var intressant från de seminarier jag deltog i. (Varning för Buzz-words och facktermer!)

Wireless Embedded on GSM/GPRS modules with RTOS, Petri Loumala, Peter Folkesson (COLMEO AB)
AT-kommandon gäller lika mycket nu som när jag var tonåring och spelade Quake över modem, skillnaden är att idag används de mest för att styra GSM-moduler. Vanligtvis används GSM-modulen tillsammans med en ARM-processor som gör själva applikationsarbetet. En modern GSM-modul innehåller en 100 MHz CPU, 4 MB Flash-minne och 1 MB RAM vilket lämnar mycket utrymme till att utföra arbete utöver att telefonera. Föreläsaren argumenterade för att utnyttja denna processorkraft istället för att ha en extern processor. Fördelarna är att systemet är testat och har standardverktyg tillgängliga. Det som talar emot är att dessa moduler arbetar med OS som varierar från modul till modul och detta kan göra att portabiliteten för applikationen minskar ifall den körs i modulen.

Crypto Key Lengths, when size matters, Joachim Strömbergson (Informasic)
”Krypto” är förenklat en metod för att transformera meddelande till något oläsligt men på ett sätt så att rätt mottagare kan reversera processen. Krypto används för Konfidentialitet, Integritet och Autenticitet (Confidentiality, Integrity, Authenticity – CIA modellen) även om de flesta bara tänker på Konfidentialitetsbiten. Krypto kan delas in i symmetrisk (mottagare och sändare byter en hemlig nyckel innan kommunikationen) och asymmetrisk krypto (en (publik) nyckel för att kryptera och en (privat) för att dekryptera). Asymmetrisk kryptering är generellt säkrare men mycket mer CPU och minnes-krävande (1000x symmetrisk). Kryptering i inbyggda system har ofta problem med prestanda och att ifall systemet knäcks är det svårt att uppgradera.
De största felen utvecklare gör är att välja för korta nyckellängder, lämna hårdvaran övervakningsbar (via t.ex JTAG) väljer egna propertiäära algoritmer istället för öppna verifierade varianter. Man bör också ta hänsyn till hur länge en nyckel skall användas (hinner man knäcka nyckeln medan den fortfarande är i bruk) och vem som skulle ha intresse av att hacka enheten i fråga (konkurrenter, hobby-hackers eller virusmakare).
Inom EU ger organisationen Ecrypt (II) rekommendationer om algoritmer som bör användas. För inbyggda system finns ett par implementationer som är välfungerande t.ex Grain och Trivium.

M2M – What is inside and why, Jacob Norrby (Prevas)
M2M (Machine to Machine) är apparater som är uppkopplade med andra apparater i ett nätverk där mätvärden överförs, bearbetas och sammanställs. Ett vanligt exempel är de moderna elmätarna som periodiskt rapporterar förbrukad el till en central dator.
M2M-tekniken har funnits i testanläggningar sedan tidigt 90-tal men har på senare år spridit sig allt snabbare i och med att uppkopplingsmöjligheterna ökat. Tekniken är inte knuten till något visst medie utan kan använda GSM eller ethernet lika gärna som långvågsradio.

Secure Networking: isolating multiple networks on a single node, Urban Sandertek (Green Hills Software)
Föreläsningen tog upp ”the separation kernel” (SK) ett system som bygger på mikro-kernel-konceptet, dvs. alla drivrutiner ses som normala applikationer. I SK-systemet separeras säkerhets nivåerna i samma maskin genom att ha en drivrutin och en TCP/IP-stack per säkerhetsnivå och på det viset skapas separerade nät. SK kräver en MMU för att kunna garantera att de olika drivrutinerna inte inkräktar på minne som ägs av en annan säkerhetsnivå. Detta åstakomms genom att lägga omappat minne mellan processerna, detta genererar då ett undantag ifall en process skulle skriva utanför slutet på sitt minnesområde. Mikro-kernel-strukturen gör koden så pass moduliserad att varje modul är överskådlig och kan individuellt verifieras och bevisas, och på detta sätt kan hela systemet bevisas.

Keynote: A view of software engineering and a way forward, Anders Caspár (Ericsson)
Ericsson har transformerats till ett företag där 80% av forskningsbudgeten går till mjukvaruforskning. Speciellt framtagen hårdvara byts mot kommersiell dito med specialiserad mjukvara. Mjukvaru-industrin är fortfarande i kraftig förändring och vi kan ännu inte slappna av utan måste utvecklas vidare. Vi måste bli mer produktiva/effektiva för att hänga med. detta kan göras på många olika sätt, t.ex utökade samarbeten med universitet, nya affärsmodeller, användande av öppen källkod, modellbaserade kodgeneratorer samt klassiska koncept som standardiserade gränssnitt.

Intel ATOM Tunnel creek, Robert Hanselius (Data Respons)
Intels utveckling av (kodnamn) Tunnel Creek CPUn tillsammans med Queensbay chipset har pågått ett tag och kommer snart att lanseras. Processorn är designad för en låg effektförbrukning samt för att ha goda möjligheter till viritualisering, den ska inte dra mer än 3.6 W vid 1.6 GHz.

Trends in the evolution of COM module formfactors, Patrik Björklund (Hectronic)
COM står för Computer on Module, vilket innebär ett litet kretskort med samtliga nödvändiga komponenter för att processorn skall kunna arbeta (RAM, nordbrygga etc.) samt gott om I/O-kontakter. Fördelen med dessa moduler är att eftersom de är väldigt integrerade går det snabbt att färdigställa ett projekt, de är lätta att skala (byta ut mot en liknande modul fast med t.ex mer ram), färre design risker, mindre kablage.
COM-korten finns i ett antal olika standarder, de som börjar vara aktuella idag är COM-express-standarden COM.0 som endast använder lågvolts-gränssnitt (SATA, Gbit Ethernet, etc.). Dessa kort har standardiserade värmelösningar, moduler som direkt på kortet eller att kortet monteras så det ligger emot chassi.
En annan aktuell standard är Q7 som är inriktad mot UMPC-applikationer. Det intressanta med denna standard är att CPU:n inte är låst till Intel utan det finns planer för att även kunna använda ARM-processorer.

Consumer Technology in Embedded Systems, Hans Christian Lønstad (Data Respons)
ARM håller på att komma ikapp Intel på CPU-marknaden, ett ARM-baserat system drar i regel inte mer än 2 W och prestandamässigt börjar ARM komma ikapp. I den nära framtiden kommer ARM-baserade servrar och det uppskattas att ca 50% av NetBook-datorerna kommer använda ARM.
Priset på ARM-processorer är mycket lägre än Intels eftersom ARM är en licensierad teknik med många tillverkare.
När man utvecklar ett ARM-baserat system bör man tänka på att komponenterna livscykel inte är längre än 3 år, SoC-system kräver mycket mjukvara eftersom, vissa av varianterna är reserverade för de stora företagen.
Dock finns en del fördelar som balanserar nackdelarna: liten formfaktor, låg effekt, billig, inga fläktar krävs.

Many Core programming models, a case for task-centric programming, Karl-Filip Faxén (SICS)
I framtiden kommer vi arbeta med mer avancerade processor-arkitekturer, med fler kärnor, mer skillnader mellan kärnorna, mer integrerade finesser.
De modeller som finns för parallellisering är egentligen oberoende av programmeringsspråk dock finns inte alla modeller implementerade för samtliga programmeringsspråk.
Task-parallell programmering är en slimmad parallellisering utan allt för mycket special-kommandon. Tasks är ”lätta” (dvs tar inte särskilt många CPU-cykler för att skapa och växla till/från) och synkronisering mellan tasks sker via att två tasks slås samman vid slutet av exekvering. Programstrukturen för detta blir väldigt likt sekventiell programmering.
Wool är ett bibliotek för task-parallell programmering för C skapat av SICS (Swedish Institute of Computer Science). Wool är relativt enkelt och effektivt och finns fritt tillgängligt under GPL för de som är intresserade av att testa.

Interprocess Communication with MCAPI, Collin Walls (Mentor Embedded)
MCAPI står för Multi Core API och är ett gränssnitt för kommunikation mellan processorkärnor med mål att vara kodkompatibel över olika OS. Idagsläget har API:t ett litet foot-print, hög prestanda och kan köras på OS i ett hypervisor eller i en bare-metal-lösning (CPU utan OS). MCAPI hanterar multipla datakanaler, datakanalerna bygger på något som kallas noder som kan vara en processor, OS eller accellerator). När man kommunicerar öppnas i dessa noder Endpoints som beter sig ungefär som Sockets. Standardimplementationen av MCAPI bygger på delat minne men den kan modifieras för vilken kommunikationskanal som helst.