Upstart and Virtualbox

Upstart script for starting and stopping Virtualbox machines. This goes into /etc/init/vbox-agila-ledare.conf (which could be paremetrized, look this up in the upstart cookbook).

#
# Upstart receipt for starting Virtualbox machines after reboot
#
description "VM for agila-ledare.se"
author "Fredrik Wendt"

start on start-vbox-machines
stop on runlevel [016]

console output

pre-stop script
  su vbox -c "VBoxManage controlvm agila-ledare savestate"
end script

script
  exec su vbox -c "VBoxHeadless --startvm agila-ledare"
end script

Some Five, Six Months of Mac OS X

I’ve been using a MacBook Air almost every day since November 2012, which is five-ish months from now, and today I successfully installed Ubuntu GNU/Linux on the machine. These are my observations from the past couple of months.

Scrolling content instead of scrolllist handle is very natural – going back really feels backward. Mac OS X does a better job at tracking two fingers – what happens is that under Ubuntu all of a sudden I end up at a new page because a link was clicked instead of scrolling continuing.
Forward/backward is another move I’ve found that I use a lot.

Vertical scrolling can be reversed, but not for all applications/widgets, using Xmodmap aor fiddling with xinput.
I’ve had very few issues with typing and accidentally moving the cursor as a result of unintended click with either thumb. After a few hours of using Ubuntu, this is the number one thing on my “to fix” list – ie disable the touchpad while typing.
Long pressing two fingers, as in resting the hand on the touchpad while reading, brings up some really nasty stuff in the Ubuntu default window manager. Yuk.

The default workspace managment in Ubuntu is limited to 2×2, but is easily overriden.

However, the window manager in Mac OS X is just horrible since you need different key bindings to switch focus between current and previous window, depending on if they belong to different applications. Full full-screen is really nice, but that it makes and takes up it’s own workspace is very annoying. It’s all Mac/Apple, so it can’t really be modified or overriden.

Delete button is missing!

Cmd+X/C/V/T/, is really nice – it’s induces less strain on the hands and also leaves Ctrl free to Ctrl+C – as in break program execution – and removes the need for Ctrl+Shift+X/C/V as used in gnome-terminal.

Using Alt to skip and/or jump a word at a time instead of Ctrl is again puts less stress on the left hand. This took some time to get used to in when moving to the MacBook, while I could still work without problems on my desktop/work station full sized keyboard. Now that I’m running Ubuntu on the MacBook, I’ve hit Alt+<- (left arrow) which translates to “back” in Firefox … Not very nice when you’re editing text. So, surprisingly hard to un-learn this.
There’s also a UX difference, since the Ctrl+right arrow jumps to the end of words, where as Alt+right arrow jumps to the beginning of a word, which makes much more sense!

Pipe, forward slash and backslash under the default Mac OS X key mapping is just awkward for a person that writes code.

Being able to reverse the mode of the fn (function) key (or keys, depending how you look at it) is really nice. Need to find a way to do that under Ubuntu.

Switching windows of the same application is something I’ve been using quite a lot. Not sure I will actually miss it. Ubuntu’s alt+tab implementation in the default window manager is – as is well known and documented – sooo broken. Fortunately Cmd+W works pretty well, except that you can’t navigate/select window using arrow keys: you have to use a mouse.

While the screen lock works better in Mac OS X, it does somewhere depend on the network which makes it a pain to wait for.
The screen lock under Ubuntu on the other hand is not always showing when bringing up the picture/lid.

Both OS:es are equally good/bad at handling multiple outputs: technically, it works but from a UX perspective it still sucks. (No, AirTV (or whatever it’s called) isn’t that good or reliable and still has UX issues.) I would really like to see the Screens/Monitors control panel/application show up when new monitors/screens are attached, AS WELL AS the controls for audio if the connected device supports sending the audio that way (which really is becoming main stream AND is probably something you want to do).

Mac OS X software updates are really intrusive, with sticky notifications.

Why change power coord connector between MacBook Air 4.x and 5.x?

The Hardware – MacBook Air

I waited three extra weeks just to get the 8 GB model (instead of 4), which makes a huge difference – especially if you’re using “heavy” tools like several instances of Eclipse, VirtualBox, browsers.

The keyboard turned out to be just as I expected it: it leaves an imprint on the monitor’s surface, it’s not as nice as ThinkPad keyboards but in no way bad. All the alluminum (or whatever what kind of metal it is) makes my hands and wrists cold.

Battery is good, way better than the ThinkPad batteries I’ve had, but still not perfect. Can’t live without a charger and doing heavy lifting on the machine still drains battery like modern ThinkPads.

Weight is really nice. Love the fact that I can feed my kid with one hand, and lift and move the computer around with my other hand, easily.

The alluminum (or whatever it is) is pretty, but it also makes it more difficult to put on your lap – it very easily slides away unless you thighs are perfectly leveled with the ground. Can become very annoying.

I really want touch. And I really want to be able to flip the screen/monitor so I can use touch only as in “stowe away or hide (and inactive) the keyboard”.

SMTP

This is how I configure delivery of e-mail generated on “sattelite” machines.

On SMTP relaying server, edit /etc/postfix/helo_access:

# postmap helo_access
a_random_name_known_by_server_and_client1_only      PERMIT
a_random_name_known_by_server_and_client2_only      PERMIT
...

To update the database file format used by postfix, run postmap helo_access. The main.cf file must then specify:

smtpd_recipient_restrictions =
permit_mynetworks
check_helo_access hash:/etc/postfix/helo_access
...

On each “clientX” or sattelite system, specify myhostname as a_random_name… reload/restart postfix, and everything should be up and running.

Bash Completion

Jag drog nyss in en ny installation av Ubuntu 12.10 och av okänd anledning var inte bash completion (eller autocompletion) funkis. Visade sig att i /etc/bash.bashrc var följande rader utkommenterade, vilket jag ändrade och sedan var allt grönt igen.

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Jag använder oftast ihop med sudo aptiTAB instTAB progrTAB, men det finns även maven och gradle completions!

Att synliggöra mobbning

En branschkollega, Iris Classon, skrev häromdagen på sin blogg om något jag hört talas om ett par gånger detta år – hur främmande män via nätet och mobil trakasserar. Det är givetvis fullständigt oacceptabelt och jag är – framför allt å min dotters vägnar – tacksam att Iris vågar lyfta detta offentligt. Tack Iris!

I en av kommentarerna såg jag en kommentar som på ett annat sätt kändes aktuellt för mig, nämligen hur mobbning hanteras i skolan. Min äldste grabb går i en skola som har ett dåligt rykte. Från tidigare 3 klasser finns endast en kvar för sjätte året. Den är i mitten av den stadsdel i Göteborg som har flest ensamstående föräldrar och det finns mycket dåligt med alternativ för ungdomar vad gäller möjligheten att aktivera sig utanför skoltid. Det suger för att vara ärlig. (Azalea och annat är ju kanon för de som gillar någon form av sport, men det passar inte alla.)

De senaste åren har det förekommit grov mobbning, bränder, knivincidenter och jag vet inte hur många gånger polisen kopplats in. Om detta har sittande rektorer kontaktat oss föräldrar 0 gånger.

Kommentaren från Iris blogg (översatt med hjälp av Google Translate till svenska (nåja, jag fick allt rätta en hel del själv)):

Min son var på sin nya skola för några månader sedan och det föregick översittarbeteende som gått över styr. Alla föräldrar kallades till en samling med barnen och vi fick inte veta vad det handlade om (jag misstänkte att det hade att göra med mobbare med tanke på att min son var utsatt då han var ny osv). Rektorn gick fram till mikrofonen sa till barnen: “Om jag läser upp ditt namn, kom upp på scenen bredvid mig och stanna där” … varpå hon fortsatte och läste upp 8 barns namn.

Dessa barn ställde sig upp, gick långsamt fram till rektorn och stod där och undrade vad i helvete de gjorde uppe på scenen. Rektorn fortsatte sedan att ta adressera föräldrarna och berättade att dessa 8 var mobbare i skolan som ständigt skadade andra barn i skolan. Hon sade sedan till barnen: “räck upp en hand om du har blivit mobbad av något av dessa barn” och snart nog åkte många händer upp.

Det “knackade vinden ur mig”, eftersom inte enbart märkte jag att alla dessa barn fick en mängd makt tillbaka, utan också att barnen som var mobbare omedelbart fick skämmas för sina handlingar medan föräldrarna till dessa barn som tittade på var helt askgrå med ilska (vissa vände den mot rektorn för att ha förödmjukat deras barn så där – ja, man kan inte fixa dumhet).

Givetvis snårigt lagligt, men detta är ändå någon som inte skymmer undan problemen utan istället försöker visa på problemen och göra alla delaktiga. Det är bra mycket lättare att hitta stöttning i ett samhälle där alla deltar, istället för att försöka isolera problem och fortsätta hålla någon slags skyddande filt mellan de med problem och omvärlden.

Jag önskar att Karl Johanskolans rektorer började bjuda in samhället i skolan. Konkreta förslag:

  • håll öppet hus en kväll efter allvarliga incidenter (såsom brand, kniv, oväntade polisbesök) – räck ut en hand och visa att ensam inte är starkast, vi sitter alla med problemet på halsen
  • gör Dialogenmöten öppna (för alla föräldrar) istället för slutna (endast “valda” får deltaga) – möjliggör deltagande
  • håll Dialogenmöten oftare (och möjligen längre) – för att återigen möjliggöra deltagande
  • skapa en kanal för dialog utanför möten och papperslappar i ryggsäckar – papperslappar är långsam distribution, och dessutom envägskommunikation som inte öppnar upp för deltagande

git vs hg

While git surely is powerful, hg sure is userfriendlier (until you need to do fancy stuff).

Dislikes

The branch implementation in Mercurial was a poor choice. I wish they would create hg 2 and simply fix this – ie not being backwards compatible.

Likes

When working with multiple repositories, it’s nice to be able to “coordinate” pushing with Mercurial’s hg outgoing.

When working with several branches, Mercurial’s hg graft is nice.

When working with the acyclic graph, it’s nice to work with Mercurial’s local commit numbers.

When working with code that’s in production (or some kind of testing phase), Git’s stash and lightweight branches makes Mercurial look like a 20th century VCS.

Making the journey pleasant

Things I find useful.

git config --global alias.incoming '!git remote update -p; git log ..@{u}'
git config --global alias.outgoing 'log @{u}..'
git config --global alias.st status
git config --global diff.guitool meld
git config --global difftool.prompt false
git config --global alias.meld '!/usr/local/bin/git-meld.pl'
git meld master..topic

Rör inte mitt Internet

När behövs reglering? Vem skall reglera vad, varför, hur och när?

Vad kan du göra? Gå till internetcoup.org, fyll i din e-postadress och tryck Send e-mail för att göra din röst hörd.

Stora frågor och från och med 3:e december försöker mängder med länder, organisationer och diverse intressen enas om hur dessa frågor skall besvaras avseende Internet.

Stiftelsen för Internetinfrastruktur (IIS) – de som reglerar Sveriges topdomän (.se) skrev i somras “inför ITU-mötet i Duabi“:

Arenan för mötet är internationella teleunionen ITU, där principen om ett-land-en-röst gäller. Samtidigt har ITU:s ordförande Dr Touré förklarat att han vill se konsensus i de beslut som tar sig igenom processen. I det globala Internetsamfundet har WCIT fått en stor uppmärksamhet just därför att det inbegriper möjligheten/risken till global ’hård’ reglering av nätet, något som annars är ovanligt i de processer som rör nätets styrning.

Vidare skriver de i en publikation på ämnet “Styrning av Internet” (sida 21):

Det har efter WSIS 2005 kommit att målas upp en bild av pro- cessen för styrning av Internet som en institutionell dragkamp mel- lan FN-sfären (ITU) och ICANN. I den bilden är ITU en traditio- nell politisk organisation där styrning sker uppifrån och ner av re- presentanter för nationalstater och regeringar i FN. Samtidigt får ICANN representera ett civil society-perspektiv, baserat på styr- ning nerifrån och upp och utrymme för många olika intressenter (multistakeholder-styre eller mångfaldsmodell).6 En sådan förenkling är givetvis halsbrytande och ger inte allting rättvisa, men präglar många intressenters bild av utvecklingen de senaste fem åren.

UNESCO skriver i ett öppet brev till ITU:

UNESCO, as enshrined in our Constitution, promotes the “free flow of ideas by word and image”, and is accordingly committed to enabling a free, open and accessible Internet space as part of promoting comprehensive freedom of _expression_ online and offline. We take our lead especially from Article 19 of the Universal Declaration on Human Rights, as well as the Windhoek Declaration on a Free, Pluralistic and Independent Media endorsed by our General Assembly in 1995. Following from these, UNESCO works as the dedicated agency within the wider UN family to promote freedom of _expression_ and its correlates of access to information and press freedom.

och

We are concerned that this article, in its phrase to “information of a sensitive nature”, designates a criterion for limitation in the access to services that is hitherto unrecognized in international standards (see below). The phrase entitles Member States to exercise related constraints on the right to freedom of _expression_ online, which in turn would also limit public access to the range of information allowed on the Internet. The limitation could also impact on the boundaries for the media to operate independently.

In particular, the phrase does not conform to the accepted international standards as set out by the Article 19 of the International Covenant on Civil and Political Rights (ICCPR), which is widely accepted as the binding elaboration of Article 19 of the Universal Declaration of Human Rights.

Forbes skriver:

A newly-leaked internal document provides the most direct evidence yet of UN efforts to seize authority over the Internet as part of a secret conference taking place next month in Dubai.

New York Times skriver Keep the Internet Open:

The Internet stands at a crossroads. Built from the bottom up, powered by the people, it has become a powerful economic engine and a positive social force. But its success has generated a worrying backlash. Around the world, repressive regimes are putting in place or proposing measures that restrict free expression and affect fundamental rights. The number of governments that censor Internet content has grown to 40 today from about four in 2002. And this number is still growing, threatening to take away the Internet as you and I have known it.

Against this background, a new front in the battle for the Internet is opening at the International Telecommunications Union, a United Nations organization that counts 193 countries as its members. It is conducting a review of the international agreements governing telecommunications and aims to expand its regulatory authority to the Internet at a summit scheduled for December in Dubai.

Such a move holds potentially profound — and I believe potentially hazardous — implications for the future of the Internet and all of its users.

Wall Street Journal beskriver det i artikeln “The U.N. Threat to Internet Freedom” såhär:

[…] a diplomatic process […] that could result in a new treaty giving the United Nations unprecedented powers over the Internet. Dozens of countries, including Russia and China, are pushing hard to reach this goal by year’s end. As Russian Prime Minister Vladimir Putin said last June, his goal and that of his allies is to establish “international control over the Internet” through the International Telecommunication Union (ITU), a treaty-based organization under U.N. auspices.

If successful, these new regulatory proposals would upend the Internet’s flourishing regime, which has been in place since 1988. That year, delegates from 114 countries gathered in Australia to agree to a treaty that set the stage for dramatic liberalization of international telecommunications. This insulated the Internet from economic and technical regulation and quickly became the greatest deregulatory success story of all time.

Från Los Angeles Times, “Can the web survive the ITU?”:

In short, what’s happening at the ITU seems less about assuring the functionality of the Internet than about redividing the spoils and limiting the Web’s power to disrupt established regimes. There also seems to be some geopolitical score-settling, as countries in the developing world seek to reduce what they see as the United States’ disproportionate influence over the Internet. Those forces, however, have different interests from the public, which has been well served by a free Internet whose technical issues have been left to nongovernmental groups to manage. The secretive ITU is the wrong place to address the complaints of governments and industries that see an open Internet as a threat, not an opportunity.

Om Creative Commons-licenser

Richard Stallman skriver intressant om användningen av CC-licenser i utbildning:

Creative Commons publishes six principal licenses. Two are free/libre licenses: the Sharealike license CC-BY-SA is a free/libre license with copyleft, and the Attribution license (CC-BY) is a free/libre license without copyleft. The other four are nonfree, either because they don’t allow modification (ND, Noderivs) or because they don’t allow commercial use (NC, Nocommercial).

In my view, nonfree licenses are ok for works of art/entertainment, or that present personal viewpoints (such as this article itself). Those works aren’t meant for doing a practical job, so the argument about the users’ control does not apply. Thus, I do not object if they are published with the CC-BY-NC-ND license, which allows only noncommercial redistribution of exact copies.

CC-BY-SA borde vara OK för presentationsmaterial, men CC-BY-NC-SA är en jag använt för tidigare arbeten.

FSCONS 2012

FSCONS logotype

FSCONS startade som Free Software Conference Nordic Summit, men ganska snabbt bytte Software ut mot Society. Detta syns tydligt i årets teman: Decentralising Society, Embeddded systems, FS Feminism, General Purpose Computing, Legal, Open security, Wikimedia. Samtidigt finns mjukvara givetvis kvar. Konferensen har haft någonstans mellan 200 och 300 besökare vilket även gäller i år. Nytt för mig i år var att det var ovanligt många barn med på konferensen. De satt och spelade, ritade på whiteboards och verkade vara som barn är. För den som inte varit på FSCONS så kan nämnas att könsfördelningen är långt mer jämn än på alla andra konferenser jag varit på.

Untitled

Fredag

Workshops – jag deltog inte här.

Lördag

Free Your Android

Presentationen föregicks på fredagen av en workshop – och målet är helt enkelt att köra ett alternativt Android OS som är fritt, inklusive en fri appmarknad – F-droid.

OpenRISC

Detta handlade om en öppen hårdvaruplattform. Det finns en hel del att läsa på OpenRISCs hemsida. Det var en hel del diskussion om licensiering, och talarna gav exempel på kommersiella produkter som använder OpenRSIC “trots” LGPL-licensen. Den nya kodbasen skrivs dock om från grunden och använder Mozilla Public License pga att LGPL har som krav att det skall gå att ersätta all mjukvara, och med OpenRISC i en ASIC så går det ju inte (det blir inget kvar som kör)!

OpenRISC startades för längesedan (tror till och med det var 1900-tal!) och den grupp som drev projektet anställdes snart av Flextronics. Mycket har hänt sedan dess, bl a finns OpenRISC i satteliter i rymden. Samsung har det i sina digital-TV-apparater och de har också släppt ut den källkod de producerat fritt.

Software Transactional Memory “for real”

Presentationen hade i programmet titeln Using Multiple Cores in a High Level Language. Armin som tidigare pratat om PyPy på GothPyCon attackerar problemet med att förenkla för utvecklare att skriva kod som använder flera (alla) kärnor i en dator, utan att explicit behöva hantera lås och/eller tråder. Tanken är att köra varje funktionsanrop atomärt med hjälp av Software Transactional Memory. I korthet är atomic implementerat på det sätt att all data/objekt som en transaktion petar på skriver till en kopia av objekten och när transaktionen avslutas så markeras originalobjekten som “jag är uppdaterad, nya versionen ligger nu -> här” som pekar på en senare modell. Skulle det bli konflikt kan transaktionen slängas och köras igen t ex. Systemanrop är dock låsta, eftersom de inte går att rulla tillbaka. Ett utmärkt sätt att få ett program som skrevs för att köras singeltrådat, helt enkelt kunna köras snabbare.

Intressant: Armin förutspår att (Software) Transactional Memory, STM, snart kommer finnas i alla språk och alla plattformar, på samma sätt som Garbage Collection nu är mainstream.

Debian Packaging

Per Andersson (aka avtobiff, som numera är Debian Developer) hade en genomgång av hur man paketerar med hjälp av deb-helper. Inte så mycket fokus på verktyg utan mer vad som behövs för att lyckas bygga i form av konfiguration och metadata. Hann även kika på själv deb-binären. Nytt för mig var vad urgency i changelog-filen gör – det styr hur länge artefakterna ligger i unstable innan det når testing. (urgency=low = 10 dagar)

Jag lärde mig också ett nytt sätt att hämta in text i vim: :read ! date

Untitled

Lightning Talks

Smarí McCarthy talade om ett dropbox replacement.

En norska (missade hennes namn) pratade om hur de jobbat med sin Linux/BSD user group i Bergen. Det jag tog med mig var att affischer på staden är det som gjort mest skillnad i avseende att nå nya medlemmar.

PageKite, Bjarni Rúnar – ett projekt med två HTTP relayer: en på en server med publik IP-adress och sedan en relay som sitter i Androidtelefoner. Tanken är alltså: man skriver en HTTP server på sin android-telefon och man vill göra den publik tillgänglig. Dessvärre är nät-tillgång opålitligt (wifi, 3g?) och lösningen är att PageKit lägger sig mellan internet och telefonen med två hopp: slutanvändares browser (eller server) -> HTTP server/pagekit publik server -> pagekit webb relay “klient” på telefonen -> HTTP server på telefonen. Undrar om det fungerar med WebSockets! :-)
Bjarni har en startup kring detta och det han ser är att alla “uttjänta” Android-telefoner är en perfekt lite webbserver – den är billig, har redundanta anslutningar (wifi, 3g) och är kraftigare än den maskin man betalade tio tusentals kronor för när internet var nytt på 90-talet.

Per Andersson med familj – pratade om sina erfarenheter från att ta med barn till konferensen. Vad behövs? Vad är omtyckt? Fungerar det över huvud taget? De hade ett barnrum som fanns med i den officiella kartan i programmet. På scenen när Per pratade visades GCompris och barnen började jaga fallande bokstäver samt muspekaren – de förväntade sig att bokstäverna skulle försvinna när de “slog” på projektorduken! Touch is the shit. :-)

Egil Möller – pratade om att man vill publicera positioneringsdata. En GPS-daemon som cache:ar tills nättillgång finns. Node.js användes och en server kan sedan spela upp strömmen i efterhand.

New new new iPad. En anonym deltagare berättade om sitt köp över internet som visade den ursprungliga Ipad:en – en tvåsidig griffeltavla (i Ipadstorlek) som hittades i en väska köpt över nätet. Humor som gick hem!

Oyvind Hanssen – search and rescue operations Free software, open data. Problemet: Polisen och liknande organisationer har dåligt programvarustöd när de gör avsökningar – det är i princip penna och papper som gäller. Oyvind har ett mjukvarubaserat system som ritar ut olika truppers rörelse över tid. Visade också upp en bit hårdvara som sänder in GPS-koordinater. (Det gick tydligen inte att förlita sig på tillgång på nätet.) Norska polisen har använt det i flera lyckade insatser.

Sam – owncloud, user data manifesto. Framför allt en plattform för att låta användare äga och kontrollera sin data, men pluggbart med “appar” på app.owncloud.org. Det jag tyckte var mest intressant var hur de satt upp Continuous Integration med Jeknins, trots att “allt var PHP”!

CAcert och PGP/GPG

Sent på kvällen var det också CAcert Assurance och PGP-nyckelutbyten/-signering. Att bedöma äktheten av någons identitetshandlingar är tidskrävande åtgärd som man kan träna en hel del på.

Söndag

Making IPsec scale

Michael Candell har jobbat med att försöka få upp IPsec-tunnlar dynamiskt/on demand. Normalt sett behöver nycklar distribueras i förväg och man behöver i princip veta vem man skall prata med, redan innan man börjar prata. Michael visade tre olika scenarion att göra detta mer dynamiskt. DNSSEC, IPSECKEY records ihop med DNS Update ger bra förutsättningar för att sköta detta dynamiskt. Om båda noder vet varandras namn på förhand kan helt säkra tunnlar (och transporter, lite beroende på plattform och inblandad mjukvara), men även utan detta är Better-Than-Nothing-Security något som kan uppnås. Med BTNS IPsec-scenariot Micheal föreslår kan t ex BGP skyddas från TCP reset+sekvensnummergissande. Detta BTNS scenario skyddar mot replay-attacker, BTNS liknar SMTPS + STARTTLS med självsignerat certifikat.
Projektet har sponsrats av internetfonden.se.
DNS update uses MD5 – weak spot.
IPsec har ingen userland-kod vilket är ett problem med OpenVPN – inte för klienten men för en server med tusentals anslutningar blir detta mycket kostsamt. Därmed skalar IPsec bättre än OpenVPN.

Freedom box

En dansk herre pratade om vad freedom box är, varför det behövs (fast han sade att han inte skulle gå in på det) och lite om vart man vill. Handlar återigen om att ta kontroll över sin data och privacy. Underhållande men ganska tomt på innehåll tyvärr.

Sammanfattning

Jag var kunde inte medverka de sista timmarna men har ändå som vanligt enormt mycket mer i huvudet än man orkar få ned i skrift, massor med intryck, nya idéer och kunskap om verktyg och möjligheter. Dessutom har jag haft trevligt med öppna människor som gärna pratar om erfarenheter och lyssnar till varandras problem.
Enda negativa med en konferens som denna är att min “att göra/undersöka”-lista växer. :-)