Programmerer.com

Keeping fun in the house

User Stories – I

Som Gud ønsker jeg himmelen og jorden, Solr og vann,
slik at du kan myldre
yngle

*

Som Gud ønsker jeg strømlinjeformede liv,
så du bare kan leve
og

*

Som Helvetes Forgård skal jeg bite deg i benet
og slurpe fiskeskjegg
av din
beinmarg

The Portable Voyeur

Gjesteinnlegg av Paul Myers, en av de markedsførerne jeg respekterer aller mest.  Du finner hans «news letter» på http://www.talkbiz.com/?page=steni

In the last issue, I put out the idea of looking at your
online networks and niches as «virtual neighborhoods.» Nothing
especially new in that concept, except that almost no-one in
the marketing field talks about them that way. That discussion
is mostly left to forum operators and social networking geeks.

In this issue, I want to talk about something closer to home.
Literally IN your home.

People spying on you using your own electronics.

Let’s start with the least intrusive, and work up to stuff you
may not believe is happening.

The last few are downright creepy.

….

There’s a thing called «IP geolocation,» which uses a database
of IPs (numbers locating your computer on the network) and
physical areas to show where a computer is located. There are a
bunch of these, and the accuracy can be anything from very
close to wildly off the mark. The good ones can narrow it down
to a few blocks, in most cases. Sometimes to a specific
building.

You can see this most often when you notice an ad on a site
that’s used by people all over the world, but mentions your
city by name. «[YourCity] mom discovers…» or «Man in
[Hometown] loses 47 pounds using…» That’s IP geolocation in
its mildest form.

Twitter has offered the option for a while to attach your IP
address  to a tweet, basically trying to tell people where you
are. You have to opt into that, though. It’s turned off by
default.

Facebook’s new «Places» settings options enable a more
advanced function by default. The idea is to make it easy for
your friends to know where you are. Unfortunately, it also
makes it easy for people you might not want to share your
location with to find you. Or know when you’re not home…

It’s easy to disable this option, if you know it’s there and
what it’s called. John Williams sent me a link to the
instructions. You can read those here:

http://lifehacker.com/5616395/how-to-disable-facebook-places

Why would this matter?

Well, maybe you don’t want your friends to know where you are
every minute that you’re online. Or maybe you don’t want
world+dog knowing when you’re not home. Or maybe you don’t want
your employer knowing you’re logging onto Facebook from work.
Or from the park when you called in sick.

Just how much info should be distributed about you
automatically?

But wait… There’s more!

….

There are applications on some portable devices and phones that
can transmit the data from a GPS system to other sites. This
can be used to pinpoint your exact address, and your location
to within a few feet.

That’s how the «Places» function on Facebook works. And, with
the default settings, your Facebook «friends» can «check you
in» if they’re with you. Handy, if you’re careful about who
your «friends» are, and who you allow to share the info. Given
the default settings, though, it’s an announcement to the world
every time you log in from a mobile device.

That can get into the realm of the dangerous. With it set to
«Friends of friends» able to view the info, you could be
broadcasting your location to burglars, stalkers, ex-
employees, your employer, or even just that annoying person
you’d rather not see right now.

Given recent comments from CEOs Mark Zuckerberg (Facebook -
«Privacy is dead») and Eric Schmidt (Google – «If you have
something that you don´t want anyone to know, maybe you
shouldn’t be doing it in the first place»), there is every
reason to believe these services will be used as aggressively
as possible.

Both companies have said the comments were taken out of
context. That could be easily believed of Zuckerberg’s remark.
Schmidt’s is a bit less dismissable. None of that matters,
though, when you look at the way their firms actually treat
their users’ private data. Facebook set this option to «On» by
default. Google initially opted every Gmail user into their
social networking platform, Buzz, and created significant and
foreseeable problems for some users.

I’m pretty sure I don’t want those sorts of decisions made for
me without my knowledge or consent. How about you?

And it gets (potentially) much, much worse.

….

Apple has applied for a patent that has some deeply disturbing
implications: http://www.commondreams.org/view/2010/08/24-0

The summary: They want a patent on software that, in mobile
devices, would let them listen to your conversations and/or
take pictures of you or your surroundings, without any way for
you to know it’s happening. Just remotely activate those
functions, at their own discretion.

It would also let them monitor biometric data and all of your
online activities while using their devices.

Ostensibly, this would be developed for purposes of preventing
theft, or catching thieves. It’s even been suggested to me that
Apple may want the patent to keep the idea from being used by
others.

I don’t buy it. But that doesn’t really matter.

First, it’s nearly certain that, if this technology is
deployed and not made illegal for use by private citizens, it
will be abused. The theft-prevention rationale was offered, for
example, by the Lower Merion school district, in their program
giving laptops to every high-school student. «Only to enable
recovery in event of theft,» they said. That didn’t stop people
at the school from using it to spy on students in their homes.

Yeah. Really.

One kid was disciplined for «improper behavior» that occurred
at home, in his bedroom. The Vice-Principal used a photo taken
using the webcam in the laptop as his evidence. According to a
forensic analysis commissioned by the district, the school took
66,503 screenshots and photos using these systems. The school
admits these include pictures of the kids in their bedrooms.

If teachers will do that, what would a corporation do?

….

So, if you have one of these portable devices, where do you use
it? In what situations do you simply carry a cell phone, iPad
or other portable computing device? Do you want people able to
spy on you in all those places, at any time, without warning?

It’s been suggested to me that there is prior art that might
cause the USPTO to reject such a patent application, or be used
later to invalidate it if granted. That raises other
challenges. Specifically, anyone at all could include it in
their systems.

Google has a cell phone OS. Just how much do you want them to
add to their collection of data on you?

Then there’s the «social networking» phone, which is designed
specifically for use with Facebook and Twitter. Do you want
your kids to have one of those broadcasting their location to
the world at every moment the phone is on?

This isn’t science fiction, folks. We’re not getting into foil
fedora territory here. This stuff is real.

….

And then there are the outright criminals.

There is already malware code in the wild that lets remote
operators turn on the webcam on infected computers. That’s not
a big deal if you use a desktop machine and don’t keep one
connected, or disconnect it when you don’t intend to use it.

But what about the laptops and netbooks, and even some
monitors, that are sold with a camera and microphone installed
in the machine itself? The last two portables that I got have
them. Where do you, or your kids or employees, use laptops?

This isn’t especially difficult stuff to do. And the market
isn’t restricted to criminals. For instance, on the first
related search I did, I found someone asking how to remotely
activate the webcam on his wife’s laptop without her knowing.

Some of these devices come with GPS systems installed. Anyone
who can access those will know exactly where you are, what
you’re doing or discussing, and with whom.

Anyone want to market sound-proof phone carriers, with built-
in Faraday cages? A month ago, I would have considered that a
ridiculous idea. Now, I’m thinking it’s a niche.

….

Electronic security isn’t just about data protection any more,
folks. It’s gotten very personal, and it’s about to get more
so.

You can take steps to reduce your exposure to this kind of
invasion of privacy. First, make sure you have proper security
software on all your computers. That’s good policy anyway,
so that’s not too extreme.

With the social networking sites, it’s a matter of watching
your preferences. Also just common sense. And easy.

Don’t leave external webcams attached when they’re not in use,
if you have any objection to what you do in the same room with
them being seen by someone else. Using a USB hub makes
disconnecting them easy, and it’s a reasonable precaution, with
the amount of trojans running loose online.

With laptops and netbooks, just be aware that this stuff is
possible, and take whatever precautions you may feel are
appropriate. That might be nothing at all, for many of you. It
could mean turning the thing off when it’s not in active use.
Or putting tape over the camera lens. Or, if you have the need
or desire to be especially cautious, having a physical switch
installed to prevent remote activation of the camera or
microphone.

I can’t begin to guess what level of security will work for
you. Some people won’t consider it an issue at all, and they
may well be right. For them. For others, these are real
concerns. It’s getting very easy to install this kind of
monitoring code, and there are too many people with incentives
to do it. Employers, co-workers, competition, family members,
and various less savory types. Brings new meaning to the word
«spyware,» yes?

Make sure your kids are aware of the potential issues, too.

….

I’m told that law enforcement agencies have had the ability to
turn on cell phones remotely as listening devices for a while
now, with a proper warrant. I consider that a very different
thing than random strangers being able to access these kinds of
info at will.

As of this moment, I am not aware of this being a problem for
cell phones and similar portable devices. Just keep this in
mind, and pay attention for it.

Whether Apple gets that patent or not, it’s coming.

….

If it’s installed or used by any corporation, I have a
suggestion that seems appropriate: The top officers and all
members of the board(s) of directors should be required to
carry one of the devices with them at all times, with the audio
and video enabled 24/7, and streaming to the web for the whole
world to view.

Hey, if we don’t get to decide what we can keep private, why
should they?

….

The idea here isn’t to scare you, or create some sort of
conspiracy buzz. If that was the goal, I’d point you to an even
more extreme, and equally current, example of invasive
observation: http://talkbiz.com/r/iris.php

As you can see, this stuff is real. The technology exists right
now, and most of it is already in use. It may not pose much of
a threat to many of us, but it’s something to be aware of and
to watch out for.

Knowing it’s possible is 90% of the battle.

Be careful out there.

Paul

Du kan lese mer av Paul ved å abonnere på hans nyhetsbrev her http://www.talkbiz.com/?page=steni

«För Sent För Edelweiss»

Når det stopper helt opp, kan du tenke dette.

Noe som stopper mange fra å skrive ferdig — en bok — et blogg-innlegg — en sang — er at de tenker den må være «perfekt». Det er som om de tenker at de bare skal lage en eneste sang, for eksempel, i hele sitt liv. Eller ett eneste album. Da må tittelen være perfekt. Sangene må være perfekte. Navnet på sangene må være perfekte.

Det er som å navngi et barn. Det er jævla vanskelig, nettopp fordi det må være så perfekt. Så sinnsykt perfekt, må det være.

Når det gjelder barn, er det grenser for hvor mange du kommer til å lage, og det er greit at navngivningsprosessen volder deg noe hodebry.

Men når det gjelder bøker, sanger, blogg-innlegg, kodesnutter, og produkter, ja da kan du tenke at du skal lage mange.

Jeg skal skrive mange bøker.

Jeg skal lage mange produkter. Dette jeg holder på med akkurat nå, trenger ikke være det beste jeg noensinne lagde. Det trenger bare være bra, og funke.

En slik innstilling gir deg mulighet til å slippe løs, og komme deg videre, selvom alt ikke er perfekt. Da kan du lage plater som heter «För Sent För Edelweiss» eller noe annet dumt, og allikevel bli en kjent, og elsket artist. … Eller hva det nå er du ønsker å bli.

Tenk dette: Jeg skal leve lenge. Jeg skal lage mange.

Omvendt ordstilling i Kodedalen

Uten videre foranledning faller jeg i dyp transe når denne kodesnutten på min skjerm dukker opp:

if ( null == adIds )

En vag tåke legger seg lett over cerebrum, og jeg hører distinkt lyden av en hånd som klapper, akkompagnert av ensomme trær som faller til jorden i skogen. Kanskje er det Yoda som hvisker meg i øret, når han ønsker å fortelle om skuffen som er innholdsløs: -»Tom, er skuffen.»

Hva har skjedd her?

Gått seg bort, har han?

Et søk i nåværende kodebase på «if ( null ==» gir 63 treff.

Gått seg bort, har de?

La oss hente geværet og skyte ut følgene bullet points:

  • antageligvis ønsker avsender å avverge feilaktig tilordning ved = istedenfor ==
  • eller han har overgeneralisert idiomet [if ("myString".equals(myString) ] istedenfor [ if ( myString.equals("myString") ] (fordi den siste kræsjer stygt hvis myString er null)
  • men å overgeneralisere på en måte som i det forrige punktet er altså meningsløst
  • og det første burde IDEet ditt advare deg imot
  • og dessuten er omvendt ordstilling stygt
  • og koden blir litt vanskeligere å lese
  • og hva svarte er poenget med det?
  • (og du blir aldri like kul og vis som Yoda, so quit trying)

Og så henger vi geværet pent på kroken sin, og bare nyter den gode virkningen en real meditasjonsøkt har på kroppen vår.

Balladen om en boolean

En Kodemaker møter på mye rart og finurlig i sin hverdag. Denne balladen er inspirert av linje 1151 i DispatcherTemplate.java hos finn.no.

Den enkleste informasjonsenhet
er en boolean, som alle vet
et enkelt lite av og på
et nei og ja, et da og nå

En søt krabat, en liten fyr
som ikke ønsker noe styr
et gikk det bra / så langt ifra
et: si meg, har jeg sjans på deg?

Allikevel kan det gå galt,
historien her er kort fortalt
den er om navn, hva vet vel jeg
om navnet skjemmer / ikke deg

for boolean howDidItGo;
og boolean whyIsItSo;
og boolean whatIsMyName;
og boolean whoIsToBlame;

De suger saften fra en kar
som ikke ønsker noe styr
han drukner i sitt badekar
han styrter alle fly han flyr

Han hoster blod og driter stein
han råtner opp i alle bein
han røsker hjertet ut av seg
og spiser det og hater deg

Han knuser kjeven mot et speil
han brenner alle båters seil
han puster puss og spyr opp svik
og ligner allermest et lik

Hva har du gjort?

Et svik mot koden, firma, meg
du, boolean jegElskerDeg;

Hvordan vi bygde en facebook chat-applikasjon på NRKbeta i løpet av bare en måned

NRK har fått med seg at kidsa sitter med laptopen på fanget når de ser på tv, og at de twitrer og chatter om det de ser. De ønsker naturlig nok å trekke kidsa nærmere seg ved å være tilstede der kidsa (også) er — på nettet.

Prosjekleder Andreas Wiik på «NRK Nye Medier» hadde fått oppgaven: På en liten måned skulle han ha en fullt brukbar chatte-tjeneste på nett, med innebygd markedsføring. NRK ønsker altså å bygge et stykke software der kidsa — og eventuelle andre som føler seg kallet til en intim chattestund fokusert på en enkelt tv-sending — naturlig vil samles for å kommentere det stygge håret til tv-verten, eller oppfordre andre til å stemme på sin favoritt, eller hva-enn-kidsa-bestemmer-seg-for-å-gjøre med en fokusert chatte-tjeneste.

Hvordan lager du en fungerende Facebook chatte-applikasjon på 20 arbeidsager? Desember 2009?

Som en første iterasjon av et større prosjekt, ville prosjektleder Andreas Wiik  kjapt bygge en tjeneste som kapitaliserte på en eksisterende brukergruppe  så den kunne «go viral» — altså spres ved at folk forteller hverandre om den. Han ville lage en TV-prat applikasjon som kunne spres virtuelt via folks vennelister. Andreas samler tre konsulenter fra tre forskjellige selskaper, får opp en utviklingsserver og alt som hører til, og kjører en slags mini-scrum med ukeslange sprinter. Og lykkes. Ved første Melodi Grand Prix delfinale legges linken til facebook-applikasjonen ut på NRKbeta, og 250 brukere signer opp og begynner å chatte.

Bevisst bruk av åpne løsninger

En slik kjapp utvikling hadde ikke vært mulig uten et bevisst fokus på å bruke eksisterende, åpne løsninger. Istedenfor å utvikle kruttet på nytt, legges all tid og energi inn på å skape bare akkurat det som er nytt ved den nye softwaren. En Openfire chat-sever ble brukt som underliggende chatte-teknologi. Denne implementerer den åpne XMPP-standarden (også kjent under det mer sexy navnet Jabber). XMPP er en xml-standard for både gruppe- og direktemeldinger, og for såkalte «presence»-meldinger; slike som forteller vennene dine at du er «online» eller «idle» eller «out fishing». For å bygge opp slike xml-strenger som følger XMPP-standarden, slik at vi kunne sende dem fra brukernes nettlesere til Openfire-serveren, benyttet vi Jack Moffitt’s Strophe-bibliotek. Dette er et deilig javascript-bibliotek som brukes til å bygge XMPP-xml, og som i tillegg tar seg av å sette opp en BOSH-forbindelse til serveren,og gir oss hendelser fra serveren på et gullfat. Strophe kan derimot ikke brukes til å tolke xml’en som kommer fra Openfire-serveren. Men til det passet jQuery som hånd-i-hanske.

Masters of Glue

Når teknologiene allerede er laget, hva gjør programmereren i prosjektet? På mange måter kan vi si at programmererens oppgave blir å lime eksisterende teknologier sammen; han lager litt logikk for å lime sammen brukerhåndteringen til Facebook og OpenFire, litt logikk for å bestemme hvordan OpenFire-chattemeldinger skal vises i browseren, litt logikk som bestemmer hvordan brukeren skal kunne interagere med den nye applikasjonen. Det kan kanskje høres ut som om programmererens rolle nedtones. Det kan være fristende å sette inn nyutdannede, rimeligere «ressurser» i et slikt arbeid. I praksis bør du tenke deg om en gang til før du iverksetter en slik taktikk. Hvorfor? Fordi det å raskt sette seg inn i forskjellige APIer er det samme som å raskt sette seg inn i andre programmereres tankesett. Og det krever erfaring.

Eksisterende teknologier + Erfarne programmerere = Rask utvikling av nye produkter

Hvordan er det mulig å lage en fullt fungerende, testklar viral chatte-applikasjon på en måned? Svar: ved å «leverage» eksisterende teknologier, og få erfarne programmerere til å sette dem sammen, samt lage de manglende bitene. På 20 dager har vi ikke laget et perfekt produkt, det er fremdeles noen feil og mangler. Men på kun en liten måned har vi laget et produkt som kan vises frem og brukes. De første brukerne vil kunne komme med tilbakemeldinger og dermed være med på å forme det videre produktet slik at det blir noe de kunne tenke seg å bruke på lengre sikt. På den måten kan du sikre at du ikke bruker lang tid og mye penger på å utvikle et produkt det til slutt viser seg at ingen vil ha.

Ingen vil ha Google Wave

Det er merkelig. For ikke lenge siden ble vi svette i hendene bare av å høre om Google Wave. Hvem har invites? Det oppsto scams på twitter, og folk solgte dem på ebay. Så, plutselig, er det ingen som vil ha det.

For to uker siden sendte jeg ut en tweet fra @programmerer om at jeg hadde 23 wave invites jeg skulle gi bort. Alt man trengte gjøre for å få en, var å sende meg en dm.

Så langt: ingen svar.

Under lunsjen på nrk idag ble jeg sittende og prate med en av flash-utviklerne på nrk beta, som også hadde et utall ubrukte invites.

Hva skjedde?

På den interne mailinglista hos oss på Net Professionals (sidespor: vi bytter navn i begynnelsen av 2010… følg med ;) ) — har Wave fått mye pes. Hva skal det brukes til?

Det kan jeg endelig røpe.

Her om dagen fikk jeg nemlig for første gang virkelig nytte av Wave. En av de andre konsulentene på prosjektet vårt på nrk satt i Stockholm og jobbet, og vi skulle utarbeide en plan for refaktorering av litt javascript.

Vi brukte Wave, og ikke noe annet verktøy jeg kjenner kunne vært mer effektivt:

1) Vi kunne chatte i hver vår «wavelet», og se hva den andre skrev mens vi selv skrev — noe som eliminerte masse bortkastet tid.

2) Vi kunne samarbeide i en annen wavelet om selve «spekken» på omstruktureringen — og hadde forskjellige wavelets for hver bit av systemet som skulle omstruktureres. (Samtidig som vi så de pågående chattene.)

3) Vi kunne rydde opp i det som allerede var skrevet — underveis, mens vi jobbet — som et resultatet av den løpende konversasjonen, og sto dermed igjen med et ferdig dokument for hva som skulle gjøres, ved samtalens slutt.

Google Wave er en underlig hybrid av instant messaging og email (++), og jeg forsto ikke helt nytten før den plutselig dukket opp av seg selv, og jeg kommer definitivt til å fortsette å bruke disse bølgene, for å se om de plutselig skaper den perfekte stormen igjen.

P.S. Hvis du nå har lyst å leke med med Google Wave og trenger en invite, kan du fremdeles få en — som julegave fra meg.

Når du er sliten, er det ikke kroppen som prøver å fortelle deg at du trenger kaffe

Det virker som en vanlig oppfatning på kontoret er at når du er sliten, er det kroppen som prøver å fortelle deg at du trenger kaffe.

Du ser sjefen gjør det. Han har hylende unger, du ser natteskrikene deres ligger igjen utenpå huden hans. Den daglige lederen har skjeggstubber og er rød i øynene, hjemme hos ham er det han som har nattevakt. Men de vil så gjerne. De vil få det til, de vil at det skal gå rundt, de vil tjene den millionen i år. Det går jo bra. Jeg heller meg en kopp kaffe.

Vi kan alle strekke oss litt lenger. Det er ikke noe problem. Selvfølgelig er jeg sliten etter en natt med hylende unger, men jeg kommer meg da på jobben. Jeg sitter her og jobber. Jeg drikker kaffe, og får dagen til å gå. Og jeg gjør det samme imorgen. Det er ikke skadelig å være sliten, er det? Slutt å kødd, `a, alle er jo slitne.

Tja. Får du ikke nok søvn, øker du sjansene dine for å få kreft, hjertesykdommer, diabetes, og sykelig overvekt. Du får redusert glukose-meatbolisme, økte kortisolnvåer i blodet (mer stress), og mindre veksthormon, noe som gjør at skader du får, leges saktere. Du følgere dårligere med, og får dårligere hukommelse.

Det er underlig hvor klar tale kroppen kommer med, og hvor villig vi mistolker den.

Hvis du ikke lar kroppen følge sin naturlige syklus med hvile og arbeid, vil den etterhvert bli dårligere i stand til å regenerere, selv i de periodene den hviler. Og kroppen har ikke bare natt-dag-sykluser. I løpet av en dag føler du effektene av andre rytmer — du er gjerne sliten i 15-tiden, før du kommer opp igjen. Og du kan jobbe i 25-50 minutter før du trenger en skikkelig pause.

Det er ikke noe galt i å drikke kaffe. Eller i å jobbe hardt. Bare husk på livets rytme. Jobbe. Hvile.

La meg banke det inn i hodet på deg: Når du er sliten, trenger du hvile. Og du får lov. Du får lov av meg.

Capiche?

Smarte kunder kan få lavere konsulentpriser

Karl Philip Lund presenterer en spennende tanke i bloggen Stammen.no: Som AdWords-konsulent har han tenkt mye på Googles strategi for å få annonsører til å skape annonser som er relevante for søkerne. Google er nemmelig avhengige av at den jevne bruker finner akkurat det han er på jakt etter når han søker, for at han stadig skal vende tilbake til Google. Det gjelder også de betalte annonsene han får i trefflisten — det nytter ikke med søppeltreff der. Alt skal være relevant og bidra til den gode søkeopplevelsen.

Google har løst dette ved å belønne dyktige annonsører. Dette gjøres ved hjelp av enkle mål. Google teller hvor mange prosent av søkere som klikker på en gitt annonse når denne vises. Annonser som prosentvis blir klikket på oftere, får en lavere pris-per-klikk for annonsøren. En annonse som konverterer høyt (har en høy click-through ratio, eller CTR) vil altså gi en annonsør flere besøkende til sine websider for samme eller lavere pris, enn en annonse med lavere CTR.

Konverst, er den andre måten å komme høyt opp og bli vist ofte i Googles betalte søkeresulateter,  å betale mye per klikk. I bransjen blir dette kalt «paying the stupidity tax.» Er du ikke lur nok til å skape gode annonser med høy gjennomklikksratio, må du betale gjennom nesen for å synes hos Google.

Karl Philip poengterer at som konsulenter tar vi kundens «stupidity» med i beregningen når  vi kalkulerer timepriser og estimerer prosjektlengde. Kunden vet ikke hva som skal til for å lage en god løsning. Han kan ikke uten videre stille til rådighet de ressursene vi trenger. Det finnes selvfølgelig «profesjonelle kunder» også, men de er i fåtall, og vi vet dessuten ikke hvordan vi skal måle denne «profesjonaliteten». Google vinner fordi de har konkrete målbare tall som sine kriterier.

Kunne vi som konsulenter også definere målbare kriterier for våre kunder, så vi vet de er «lure», så de kunne slippe vår stupidity tax, og samarbeidet kunne vært mer fruktbart? Kunne vi kreve at de leste visse bøker, og tok en online eksamen? Ville det gi et godt nok grunnlag for lavere timespriser?

Spørmålet som melder seg da er opplagt: Hvorfor skulle jeg ønske å ta lavere timespriser? I prosjekter som går fortere? Det må jo være den verst tenkelige løsningen?

Over tid, argumenterer Karl Philip, vil en slik strategi tiltekrekke seg dyktige oppdragsgivere. Den innleide ekspertisen blir motivert av høye krav og samarbeide med dyktige folk. Og dette, sier Lund, er det lett å tenke seg fører til en høyere suksessrate, og at terskelen for å starte nye og spennende prosjekter blir mindre.  Videre: «Når suksessraten øker, blir konsulenten mer attraktiv for nye arbeidsgivere. Dermed øker etterspørselen etter konsulentens tjenester og man har mulighet til å øke standardtimeprisen.»

Dette er en spennende tanke jeg tror det er verdt å forfølge. Hvem er tøff nok til å være den første?

Du finner Karl Phulip Lunds artikkel på stammen.no.