Det er tit svært at systematisere og forklare konkret hvad en product owner laver. Jeg har forsøgt at opsummere mine erfaringer fra en bunke coaching seancer med product owners og sammenholde det med hvad teorien foreskriver. I teorien Den officielle…
Hvad er en klog by – en smart city? Er det en data-dreven by? Er det en by som forudser sine borgeres behov før de får dem? Er det en by som udnytter teknologi til at fungere effektivt? Er det…
On a cold and wet October afternoon in Denmark, we met in our retrospective facilitators’ group to discuss challenges and activities for retrospective facilitation. This time, while speaking about something completely different, I mentioned that looking at the green post-it…
SAFe (Scaled Agile Framework) er både kontroversielt og interessant. Jeg hører om flere og flere store virksomheder som snuser til at indføre i hvert fald dele af frameworket og store agile guruer som både anbefaler og advarer imod SAFe. På…
Så er det tid til en boganmeldelse, denne gang af The Expert Beginner af Erik Dietrich, som er en e-bog baseret på en række af Erik Dietrich’s blog posts (startende med denne: How Developers Stop Learning: Rise of the Expert…
Lad os tale lidt om arkitekter – her bestemt i en IT-mæssig betydning. Det at være en arkitekt er ikke en beskyttet, eller særlig veldefineret for den sags skyld, titel, og det er ofte en titel man får i kraft…
Jeg er født og opvokset på en gård med heste i Midtjylland og fra en meget tidlig alder blev jeg introduceret til arbejde og håndtering af sportsheste. En hest er et instinktivt dyr drevet af en håndfuld genetiske egenskaber der…
Nu er sikkerheden i et offentligt IT-system igen i vælten – denne gang er det til Tingbogen. Ekstra Bladet skrev Kæmpe dansk database lagt ud på nettet: Hemmelige adresser kan let søges frem, hvor de indleder artiklen med følgende: Ukendte…
War story fra large-scale udrulning af Agile i enterprise miljø Det hele startede for et par år siden hvor en gruppe direktører blev overbevist om at Agile og Scrum var det nye sort. De havde tillid til at introduktion af…
λόγος, πάθος, ἔθος, or logos, pathos ethos are concepts that go back to 384 – 322 BC, when Aristotle wrote about modes of persuasion. With age, I grow more and more interested in old things and thus, these three concepts have become my preferred way of evaluating…
Dan North har lige holdt et foredrag på YOW! konferencen i Melbourne og jeg sad på gulvet og lyttede. Som sædvanlig var det varmt, underholdende og informativt (og man sidder på gulvet, fordi der altid er så mange mennesker inde…
Har tilbragt den første dag på GOTOcph med at se en masse spændende præsentationer. Havde på forhånd givet mig selv det lille benspænd, at fokusere på hvad der kunne give mig ideer og inspiration til at lave kode af bedre…
Kære læsere Dette er helt igennem egoistisk reklame, for et nyt bijob jeg har fået som facilitator for en videngruppe om gamification. Hvis du ikke er skræmt bort af, at jeg ikke prøver på at vildlede dig til at læse…
Hvert millisekund tæller når brugere (u)tålmodigt besøger ens website. De store spillere ved det, og bruger omfattende ressourcer på at optimere i marginalerne. Kampene er typisk en kombination af at maksimere ydelse inden for de etablerede standarder og et arbejde…
Artem Aliev som skal lære mig at bruge Spark på torsdag, holder en præsentation om hvordan man kan overkomme NoSQLs databasers problemer med at de ikke har noget stærkt query sprog. Fra min egen erfaring kan jeg snakke om MongoDb,…
I sin rolle som forsker ved CERN skrev Sir. Tim Berners-Lee den første web browser i 1990. Formålet var tydeligvis ikke kommercielt men demokratisering af information. Det skulle ikke kun være let at søge information men også skabe, blandt andet…
Ayende Rahien aka Oren Eini er kommet for at fortælle om RavenDb her på Goto Konference. Han fortæller at grunden til at de gik igang med at udvikle RavenDb var fordi de var trætte løse de samme trivielle problemer hver…
I forbindelse med GOTOcph, har jeg i min kapasitet af blogger kastet mig ud i et interview med Ulrik Pagh Schultz .
Giv en kort introduktion af hvem du er?
Jeg er lektor ved Mærsk Instituttet, Syddansk Universitet. Jeg forsker i programmering af robotter, med domænespecifikke sprog (DSL) som faglig tilgang, og anvendelse indenfor modulære robotter, industrielle robotter og landbrugsrobotter. Jeg underviser på vores software engineering uddannelse. Tidligere har jeg været ansat på datalogisk institut ved Århus Universitet, hvor jeg også har min kandidatuddannelse fra (jeg lavede PhD i Frankrig).
Kan du give en kort gennemgang af dit oplæg, til dem der var så uheldige og ikke se det?
Oplægget består af tre dele: (1) Hvad er modulære robotter og hvorfor er de svære at programmere; (2) Hvordan kan DSLer gøre det lettere at programmere den slags robotsystemer; (3) Hvad kan robotterne og DSLerne ellers bruges til. Ultra-korte resumeer af hver af de tre dele: (1) Modulære robotter er robotbyggesæt, som endda i nogen tilfælde kan bygge sig selv om, altså “transforme-robotter”. De er svære at programmere fordi hver enkelt del skal have intelligens, som både skal fungere enkeltvis og også skal udgøre en helhed uden at gå i baglås hvis dele af hardwaren fejler. (2) DSLer muliggør abstraktioner som ligger ud over der vi normalt ser i standard programmeringssprog, i dette tilfælde kan vi beskrive robottens handlinger på helhedsniveau og compile det til små, robuste kontrolprogrammer som udføres af det enkelte modul. (3) Robotterne kan ikke bruges til noget som helst, men de samme principper bruges nu f.eks. hos Universal Robots i deres robotarm og i vores nuværende prototype af landbrugsrobotter. DSLer er relevante for mange typer af robotter, de samme underliggene principper som jeg beskriver i mit foredrag ville også kunne bruges samarbejdende sværme af robotter, f.eks. droner.
Forklar hvad det er der sker i denne video?
Det er en demo af hvordan robotten ombygger sig selv, bl.a. fra bil-robot til slange-robot. Den er programmeret med den DSL som jeg har designet, og som gav en cirka 30x forbedring i systemets robusthed. DSLen giver ydermere muligheden for at køre programmet baglæns, hvis nu man f.eks. har lavet et bil-til-slange program, kan man køre det baglæns for at skifte form fra slange til bil. Videoen viser desuden visse aspekter af systemet robusthed ifht fejlende kommunikation og crash af moduler (simuleret ved at slukke og tænde moduler undervejs).
Det klassiske spørgsmål, hvad er der af anvendelsesmuligheder?
Som nævnt før, for den her specifikke robot er der ikke nogen anvendelsesmuligheder, den er en avanceret prototype som demonstrerer at det er muligt at lave maskiner der kan ombygge sig selv. De har dog som nævnt før givet inspiration til adskillige nuværende robotter. Derudover er der klare anvendelsesmuligheder i fremtiden: De er ideelle til situationer hvor man har brug for en specifik robot meget hurtigt (f.eks. i en nødsituation) eller hvor man kun kan medbringe en begrænset mængde dele (f.eks. på en mission til Mars). Man kan også forestille sig at de blev lavet i mikroskopiske størrelser (jeg beskriver i mit foredrag hvordan det kan gøres), i så fald har man en form for programmerbart, formskiftende stof, hvilket jo nok ville kunne bruges til mange ting…
Tilgiv mig hvis jeg spørger dumt men ville den type algoritmer og de protokoller I bruger kunne bruges til fx at lave bil-trafik-optimering
Algoritmer og protokoller til modulære robotter omhandler typisk robust, decentral kontrol af tæt koblede men fysisk adskilte enheder. Så de er relevante som inspiration for algoritmer til scenarier såsom samarbejdende robotter eller køretøjer som er koblede til hinanden et stykke tid, og muligvis generelt til processer som udføres i distribuerede systemer med dårligt netværk og lav grad af pålidelighed. Hvis biler koblede sig sammen på motorvejen eller på anden vis dynamisk skiftede mellem at være uafhængige og koblede så måske, men ellers nok ikke.
At skrive software er ikke just raketvidenskab men måske burde det være bare lidt mere som det. Tillad mig at forklare. I 2004 Fik jeg et job der sende mig til Bremen for at arbejde for på ESAs bidrag til…
Hvis en integrationstest fejler, skal det helst være fordi at vi enten har lavet en kodefejl, eller at vi er ved at opgradere versionen af den komponent vi tester. Hvis testen fejler på grund af sideeffekter i den kontekst vi…
For mange år siden gik jeg til spejder. Her lærte jer at tænde bål, bruge dolk og økse samt binde et råbåndsknob. Faktisk har jeg et mærke som bevis for at jeg var dygtig til netop råbåndsknob.I dag minder mine…
Kravene til softwareudviklere på et team er mange. Der er meget man skal kunne mestre på én gang. Man hører ofte om hvor vigtigt et velfungerende team er, og at et godt samarbejde i forbindelse med en opgaveløsning er nødvendigt.…
Større fokus på softwarekvalitet har i sidste ende stor indflydelse på forretningen: bedre softwarekvalitet giver færre fejl, en bedre brugeroplevelse, et bedre omdømme for virksomheden, en større motivation for medarbejderne, og en større tilfredshed – både hos medarbejderne og hos kunderne.…
Sidste år var jeg afsted på GotoCPH14, og skrev om det her på qed.dk. En af de ting der vakte min nysgerrighed var Elixir. Så efter konferencen besluttede jeg at det var noget jeg måtte lære. Følgende er mere en…
En af de helt grundlæggende læresætninger indenfor brugervenlighed er hastighed. Det anses af mange som næsten en dødssynd at have en langsom hjemmeside. Men hvad tænker du, hvis jeg siger, at man i nogle tilfælde faktisk kan øge brugeroplevelsen, og…
This story was first published at http://www.nativewired.com/a-story-about-a-story/. It is republished here by the original author. This is a story about telling a story, and the impact it had on me. Actually it is a story about three stories. Prologue For…
Alle der er interesseret i data analytics, machine learning eller big data, har på et tidspunkt prøvet at kigge på et dataset som er så stort, at det bliver svært at arbejde med i R eller med SQL. En løsning…
Firmaet som altid har været kendt for aldrig at følge en standard, ved altid at enten at lave sin egne proprietære teknologier som gjorde det sværere at samarbejde med andre, eller at følge en standard, men så tilføje sine egne…
Automatiske tests er uundværlige. De giver tryghed når der sker ændringer. Uanset om kilden til ændringerne er os selv fordi at vi ønsker at refaktorere, vores stakeholder fordi de ønsker nye funktioner eller fordi at vi har afhængigheder til eksterne…
Vi omtaler ofte dagens børn og unge som “digitalt indfødte” eller “den digitale generation”. Den australske kulturteoretiker Mackenzie Wark gik endda så langt som at postulere at “Generations are not defined by war or depression anymore. They are defined by…
User Centered Design er et populært begreb for designmetoder, der inkluderer brugeren som en del af processen i alt fra idégeneration til testning af prototyper eller forfining af det endelige produkt. Fordelen er at man hele tiden har indgående kendskab…
Synes du det er som om I kører rundt i de samme emner til alle jeres retrospectives? Har du måske et sammentømret team som har svært ved at se hvor de kan forbedre sig? Vil du gerne undersøge om der…
Jeg faldt over en fantastisk (og gammel) video med Rich Hickey i sidste uge. Rich er mest kendt som ophavsmanden til programmeringssproget Clojure, men i dette foredrag fra 2010 fortæller han filosofisk om problemløsning. (Youtube tillader ikke embedding af denne…