Under bloggskrivarstugan på OPKoKo v2 skrev Pierre Sandboge en text om avvägningen mellan enkelheten att ta in ett nytt ramverk i koden och komplexiteten som blir av att ha många ramverk inblandade. Läs den på Pierres blog.
URL: http://sandsv.blogspot.com/2011/10/bara-ett-ramverk-till.html
2011-10-20
2011-10-13
Blog om "trust" från OPKoKo v2
Under OPKoKo:s bloggskrivarstuga skrev Hans Peterson lite tankar om vad "trust" innebär i säkerhets-sammanhang. Läs dem här.
URL: http://secmaker.blogspot.com/2011/09/vem-i-hela-varlden-kan-man-lita-pa.html
URL: http://secmaker.blogspot.com/2011/09/vem-i-hela-varlden-kan-man-lita-pa.html
2011-10-10
Blog om agil testning från OPKoKo v2
Under OPKoKo v2 hölls en bloggskrivar-workshop. Första resultatet från den är nu publicerat: Steven Hale ger en utmaning hur vi borde kunna förstå mer om agil testning genom att förenkla diskussionen.
http://forward-going-rich.blogspot.com/2011/10/agile-testing-simple-in-practice.html
http://forward-going-rich.blogspot.com/2011/10/agile-testing-simple-in-practice.html
2011-09-09
Video-föreläsning DDD+AppSec från JavaZone
På JavaZone i Oslo idag (9 sept) höll Dan Bergh Johnsson en föreläsning om hur man kan använda idéer från Domain Driven Design för att bättre förstå och kunna åtgärda/undvika AppSec-sårbarheter som Injection Flaw och Cross-Site Scripting.
Om du missade föreläsningen så kan du istället se den här:
http://vimeo.com/28768994
Om du missade föreläsningen så kan du istället se den här:
http://vimeo.com/28768994
2011-09-08
JavaZone X Oslo onsdag 7 september 2011
JavaZone
X - dag 1
Det
är inte alla konferenser som börjar med live power-bluegrass, fyrverkeri-show
inomhus, hårdrock och raketuppskjutning. Men när JavaZone firar sin tionde
konferens så ligger det väl i traditionen med fakirshow, Rammstein till morgonkaffet
och annat som emellanåt får icke-skandinaver att sätta nyss nämnda kaffe i
vrångstrupen.
Nåväl.
Här är några axplock från mina upplevelser under första dagen.
Long
term value of acceptence tests - Gojko Adzic
Gojko
presenterade slutsatser från sin väldigt omfattande erfarenhet av att arbeta
med tester och testning. Lite förvånande var att han inte ville hålla fram
"undvika regressionsbuggar", om oftast är argumentet för
regressionstestning - automatiserad eller manuell.
Istället
berättade han intressanta historier om situationer där företag och
organisationer haft stor nytta av sin testsvit, men inte på de vanliga
förväntade sätten. Gemensamt för dem alla var att de handlade betydligt mer om
hur testerna fungerat som tillförlitlig dokumentation, framför allt på
verksamhetsnivå.
Gojkos
nyckel till detta var just att låta testerna fokusera på
"verksamhets-dokumentation". Först då kan man få
"kovariant" eller "symmetrisk" förändring, dvs att en liten
ändring i verksamhet/behov/krav blir en liten ändring systemmässigt. Föga
förvånande dyker Domain Driven Design upp med den gemensamma modellen som en
sammanhållande kraft för att hålla verksamhet och system väl linjerade mot
varandra.
Det
här klingar onekligen väldigt väl ihop med den syn på tester som Dan Bryntze
länge förespråkat - att deras långvariga värde står och faller med att de
ligger nära den viktiga verksamheten.
Erfaringer
med Scala i en Java-stack - Nina Heitmann
Nina
(ena halvan av duon Scala Ninjas) gav en case-rapport från ett
"vanligt" team som använt Scala i ungefär ett och ett halvt år. En
intressant twist var att de använt en utpräglad Java-stack med
JSP/SpringMVC/Spring/Hibernate, men med Scala som programmeringsspråk.
De
hade prövat med Lift i början, men det hade fallit på att det var dåligt
dokumenterat då - även om det något som ändrats till nu. Från andra har jag
dock hört att Lift passar otroligt bra med Comet, men om man bygger på något
annat sätt bör man kolla på andra webbramverk.
Det
trassel teamet haft verkar mest ha haft att göra med att ramverken "pratar
Java", så att de till exempel har fått Java-collections från Hibernate och
varit tvungna att konvertera när de vill använda funktionerna som
Scala-collections har. Eller, på ett liknande sätt har de gärna velat använda
Option[] i Scala-koden för verksamhetslogiken, men då har Hibernate haft svårt
att mappa. I stort sätt få saker som krävt något större arbete att få till, men
lösningen har inte blivit så "direkt".
Med
tanke på att halva teamet kunde Java sedan tidigare (den andra halvan var mest
vana med Perl) så trodde hon inte att de sparat särskilt mycket tid på att köra
Scala. Tiden de tjänat på att snabbare kodning går nog jämnt upp med tiden för
inlärning och experiment. Men, å andra sidan har de haft mycket roligare och
det varit mycket intressantare - och det är viktigt. En mycket klarögt
observation.
Continuous
Delivery - Ken Sipe
Ken
Sipe tog avstamp i att Agile Manifesto faktiskt pekar ut "continuous
delivery" som den primära ambitionen i manifestets första princip. Med det
menas att snabbt och tillförlitligt kunna göra täta och kvalitetssäkra
leveranser som gör nytta.
För
att komma dit behöver man rätt mycket teknisk disciplin, t ex vad det gäller
att sätta upp miljöer, att deploya, att kvalitetssäkra. Glöm att sätta upp en
prod- eller test-miljö genom att pilla omkring med installationer och
konfigurationer tills det funkar; om du inte har scriptat det så finns det
ingen chans att kunna reproducera det på något tillförlitligt sätt. Så, scripta
allt och in med det i versionshanterings-systemet. Byggda artefakter (miljöer
och binärer) kan man istället stoppa in i ett repository som
"artifactory".
Två
verktyg att hålla koll på här är Puppet och Chef som båda är inriktade just på
att hålla ordning i miljöerna.
Ytterligare
en drivkraft i denhär riktningen är att t ex finansiella företag i USA har fått
ökade krav på att de i framtiden ska kunna reproducera exakt hur det såg ut i
deras system för t ex en viss dag för sju år sedan - och det gäller såväl data
som miljö och applikation. Har man inte kanonkoll på exakt vad man har gjort så
är givetvis det helt omöjligt.
Så -
agile med "continuous delivery" är väldigt långt från ostrukturerat
och oplanerat cowboy-hackande.
Above
the Clouds: Introducing Akka - Jonas Bonér
Jag
torde ha sett varianter av denhär presentationen åtminstone tre gånger vid det
här laget - men varje gång lär jag mig något nytt. Jonas gör ett snyggt jobb
att plocka ut en liten delmängd av Akka som behövs för att kunna komma igång
att skriva aktor-baserade system - och att sedan presentera den delmängden
snyggt och tydligt. Med ramverk som är så resursmässigt lätta som Akka (en
actor drar typ 600 byte minne, och bara minne) tror jag att actor-system kan
komma stort på många fronter - inte bara finans, gaming, gambling o likn.
Lite
nyheter är att Akka 1.2 kommer att släppas under kommande vecka, den viktigaste
förändringen där är i mina ögon att core-jar:en numera helt saknar beroenden,
utan kan släppas in helt fristående. Detta är givetvis ett viktigt steg på
vägen till det att Akka ska först komplettera och sedan ersätta de
actor-bibliotek som finns i standard-Scala.
Lite
längre fram är även Akka 2.0 på gång - förväntas inom några månader. Stora förändringen
där är att konfiguration har separerats ut ur koden. T ex ska man kunna klustra
och lastbalansera actors mellan flera maskiner genom separata
konfigurationsfiler istället för ändringar i kod. Ser väldigt snyggt ut.
JavaPosse
- Dick Wall, Carl Quinn
JavaPosse
passade på att spela in sin episod 373 (typ) live från stora scenen - med Joe
och Tor uppkopplade via video. När klockan närmar sig sju på kvällen efter en
fullmatad konferensdag slår underhållnings-aspekten igenom rätt mycket. Men,
det var ändå en del intressanta diskussioner där jag särskilt minns frågan om
hur ekosystemet för språk ser ut framöver. Jag håller med analysen att tiden
med "ett språk" är över; ingen av efterträdarna kommer att bli lika
dominerande som Java har varit. Snarare kommer det att finnas en uppsjö av
delvis likartade språk som används för lite olika syften. Ser fram emot att
följa det gamla rådet ur Pragmatic Programmer att lära mig ett språk per år.
Korridors-diskussionerna
Konferenser
som JavaZone är också ett strålande tillfälle att få ett litet snack med en
mängd grymma tekniker. Jag fick ett litet snack med Ken Sipe med några råd om
hur man kan införa "plattform as code" och fasa ut den "gamla
prod-miljön" genom att bygga, deploya och testa prod-versionen av applikationen,
men på den nya (scriptade) plattformen. Ev kan man drifta den versionen bara på
en av noderna i en lastbalanserad kluster. Jonas Bonér delade med sig av lite
tips för "let it crash"-actors där man gärna kan skapa en separat
actor för varje enskild riskfylld uppgift. På så sätt är det uppenbart för
supervisorn vilken uppgift som inte gick bra och behöver startas om. Och med
Erlend Oftedal fick jag en intressant diskussion om relationen mellan AppSec,
kod och DDD. Bara för att nämna några - kort sagt ett strålande tillfälle att
få infallsvinklar från folk man inte möter till vardags.
Eftersom
det var tionde konferensen så drog kvällens fest AweSome igång i full fart och
bar sedan iväg till en trevånings nattklubb som blev rätt fullsmockad. Den
delen gjorde jag dock rätt kort för att istället gå och sova samt ladda för min
egen föreläsning dagen efter.
2011-03-17
Omegapoint presenterar på Oslo Communities in Action
I Oslo arrangerar stadens olika community en gemensam kvällskonferens "Communities in Action". Bland arrangörerna finns såväl java-communityt "javaBin" som appsäk-communityt "OWASP Norway".
Till detta har vår Dan Bergh Johnsson blivit inbjuden för att hålla en presentationen "Domain Driven Security Code Kata" som rör sig i gränslandet mellan systemutveckling och säkerhet genom att använda handgrepp från Domain Driven Design för att komma åt applikations-sårbarheter som Injection Flaw och Cross-Site Scripting (XSS).
http://www.owasp.org/index.php/Norway#Medlemsm.C3.B8te_tirsdag_22._mars_kl_16:00_--.3E
https://wiki.cantara.no/display/PE/Program+CiA+2011
Till detta har vår Dan Bergh Johnsson blivit inbjuden för att hålla en presentationen "Domain Driven Security Code Kata" som rör sig i gränslandet mellan systemutveckling och säkerhet genom att använda handgrepp från Domain Driven Design för att komma åt applikations-sårbarheter som Injection Flaw och Cross-Site Scripting (XSS).
http://www.owasp.org/index.php/Norway#Medlemsm.C3.B8te_tirsdag_22._mars_kl_16:00_--.3E
https://wiki.cantara.no/display/PE/Program+CiA+2011
2010-10-27
Omegapoint sponsrar träff med Scrum UG Sweden 23/11
Scrum User Group Sweden är en av de intressegrupper som hjälper till att bygga den kunskapskultur som ett företag som Omegapoint behöver för att frodas. Därför är Scrum UG Sweden en av de grupper vi lovat att stödja med det som den behöver för att frodas.
Därför sponsrar vi Scrum UG Swedens träff 23/11. Plats: Omegapoints stockholmskontor. Tid: 17.00 - 20.00
Mer info och anmälan
Därför sponsrar vi Scrum UG Swedens träff 23/11. Plats: Omegapoints stockholmskontor. Tid: 17.00 - 20.00
Mer info och anmälan
2010-10-25
Omegapoint sponsrar DDD Sverige
Domain Driven Design Sverige är en av de intressegrupper som hjälper till att bygga den kunskapskultur som ett företag som Omegapoint behöver för att frodas. Därför är DDD Sverige en av de grupper vi lovat att stödja med det som den behöver för att frodas.
Därför sponsrar vi DDD Sveriges träff 26/10. Plats: Omegapoints stockholmskontor. Tid: 17.00 -
Din anmälan är bara två klick bort
Därför sponsrar vi DDD Sveriges träff 26/10. Plats: Omegapoints stockholmskontor. Tid: 17.00 -
Din anmälan är bara två klick bort
2010-10-20
Omegapoint presenterar på Jfokus 2011
Idag presenterades första delen av talarlistan för Jfokus 2011 - Stockholms stora community-konferens som går av stapeln i februari. Till vår glädje har Omegapoints talesperson i "arkitektur och utvecklingsmetodik" Dan Bergh Johnsson fått förtroendet att hålla en föreläsning om "Ubiquitous Language" á la Domain-Driven Design, ett ämne som Dan länge varit engagerad i.
http://www.jfokus.se/jfokus/speakers.jsp
http://www.jfokus.se/jfokus/speakers.jsp
2010-09-22
TelecomCity DevCon10 onsdag 22 september 2010
TelecomCity har ett tämligen väletablerat rykte med sin Catwalk-konferens. Nytt för i år är att de kombinerar affärsspåret med ett utvecklarspår under namnet DevCon10.
"Software Craftman"-spåret: TDD, Refactoring, Clean Code, DDD
Eftersom det tog mig ett tag att ta mig till konferensen på morgonen missade jag större delen av Lasse Koskelas föreläsning om testdriven utveckling. Han hade dock några insiktsfulla slutkommentarer som till exempel påpekandet att TDD "inte förbjuder dig att tänka". Med tanke på hur många missuppfattningar om TDD som cirkulerar så tål sådana saker att upprepas.
TDD-tråden togs upp av Roger Wernersson som gav en väldigt personlig introduktion om refaktorering, enhetstester och ren kod. Genom att basera sin presentation dels på sin personliga resa, och dels på enkla och tydliga exempel lyckades han särskilt väl med att få fram både vikten av och mekanismerna bakom refaktorering. I farten rekommenderade han böckerna"Refactoring" av Martin Fowler och "Head First Design Patterns" (som alternativ till GoF) och Robert Martins (aka Uncle Bob) "Clean Code" - en triologi jag instämmer med.
Min egen presentation av Domain-Driven Design hade ambitionen att både göra ett svep över ämnet och att göra en djupdykning på någon konkret bit. Det intima formatet och en mycket engagerad deltagarskara var säkerligen starkt bidragande till att det föll så pass väl ut. Eloge både till deltagarna som var där och till arrangörerna som lockat dit dem. Även om vi pressade begränsningarna för ventilationssystemet en smula så verkar det som om ingen vare sig somnade eller svimmade av syrebrist.
CI och Maven
Början på eftermiddagen kunde för min del sammanfattas med handfasta råd kring byggen. Jesper Forslund gav handfasta råd kring CI där många var bekanta, men sammanställningarna mycket insiktsfulla. Själv tog jag med mig därifrån en stark rekommendation att satsa ännu hårdare på "continuous deployment". I passet efter gick Anders Hammar igenom fundamenta i maven och täckte en hel del som jag tror många "nästan kan" - dvs saker man får att funka, men kanske inte har helt koll på varför. För min egen del fick jag lite djupare klarhet i hur de konkreta maven-pluginerna binds in i de olika faserna beroende på hur man konfigurerar maven.
Not Only SQL på guardian.co.uk
Dagens engelska gäst var Matthew Wall från guardian.co.uk som berättade om deras initiativ kring NOSQL. Fascinerande nog handlade det mycket om hur de har en SQL Oracle-databas i mitten och hur de nu omger den med olika alternativa tekniker för att möta nya behov - att låta folk accessa deras media, och att kunna väva in andras data i deras site.
Exempelvis visade han deras REST-API för den som vill accessa deras data och hur detta har gjorts möjligt genom att lägga en Apache Solr som fasad framför Oracle. Inte nog med det - Solr i deras datorhall är bara master till en hel kluster av slav-Solr-instanser som körs i EC2. Åt andra hållet har de ett Micro-App API som gör det möjligt att väva in applikationer i deras site - och det datat går inte ner i Oracle-DBn, utan i en MongoDB-instans.
Sammanfattat verkar det som om de har en Oracle-DB för sitt eget redaktionella material och att det verkar så förbli. Men, samtidigt kompletteras deras system med diverse NOSQL-tekniker och man kan tänka sig att över tid kommer relationsdatabasen att sakta sjunka bakåt i fokus.
Dagen avslutades med en synnerligen avslappnad "öppet forum" diskussion i väntan på att kvällens bankett skulle börja - men då var det dessvärre dags för mig att vända kosan mot hemvändande transport.
Det samlade intrycket är att Thomas Dagsberg, Michael Tiberg och resten av DevCon10-gänget har lyckats med att redan i första instansen skapa en både kvalitativ och trevlig konferens. Det är bara att gratulera.
Prenumerera på:
Inlägg (Atom)

