>"Does it solve the problem?"

November 15th, 2007

>This message will be repeated in english.

Ibland får jag buggar i produktion som tar tid att fixa. Då försöker jag hitta en omväg som gör att produktionen kan fortsätta.
Omvägen får vara i stort sett hur konstig som helst – bara produktionen fortsätter och data hålls konsistent.

Min fråga till användaren/kunden blir då alltid “Löser det problemet?”
Första gången det händer måste jag förklara med ett “Kan produktionen fortsätta?”

Säg att listningen av produkter kraschar. Jag kan printa ut en lista från databasen där ProductID syns och kan lära kunden manipulera URLen till att visa rätt produkt.
“Om jag ger dig en lista där du ser produkterna i bokstavsordning och har en kolumn med en siffra; så kan du mata in den siffran sist i URLen. Det är jobbigt men Löser det problemet? Kan produktionen fortsätta?”

När produktionen kan fortsätta kan jag och kunden koncentrera oss på rätt lösning.

Sometimes, in production, I get bugs that take some time to fix. My first mission is to find a work around to get the production up and running again.
The workaround can be almost anything – as long as production keeps going and data is kept consistent.

My first question to the user/customer is “Does it solve the problem?”
The first time this happens I have to explain with a following “Can the production continue?”

An example: The listing of products crashes. A work around can be to print a list of products and primary keys and to learn the user how to manipulate a URL.
“If I give you a list with the products. Can you then enter the number in this column in the URL at this place? It is tedious, I know, but does it solve the problem? Is production able to continue?”

When the production is up and running we then have a possibility to make the right solution.

>The wikified project

November 9th, 2007

>This message will be repeated in english.

<floskelvarning/>

Jag jobbade för några år sedan på ett företag där ledningen hade läst en bok och nu skulle “platta till organisationen”. Det startades ett förändringsarbete och efter ett knappt år var vi nere i 2,5 lager istället för de 3 vi hade tidigare.

Vi var tydligen platta nog.

Men… koncernchefen var inte koncernchef för att han var full av dåliga idéer. Han kanske såg mer då än jag. Något jag förstår först nu. Som ingen av oss förstod då.

Gör en wiki-analogi där allting ligger på samma nivå men man länkar fram och tillbaka beroende på behov.
Jag har hittat en artikel som lättfattligt beskriver detta. Artikeln har dessutom den fördelen att den har bra rubriker och lättläst text så den är lätt att skumma.

Om du tänker mer i “projekt” än “organization” byt ut orden.

http://www.eu.socialtext.net/wikinomics/index.cgi?the_wikified_organization

<buzz word warning>

I worked some years ago at a company where the management had read a book. So we were to “flatten the organisation”. The wagon was set rolling and after less than a year we were down to 2,5 layers instead of the 3 we had earlier.

We were obviously flat enough.

But… the top dog was probably not top dog because he was full of stupid ideas. He probably saw more than I. Something I understand now. Something none of us understood then.

Make a wiki analogy where everything is on the same level but the links back and forth create the patterns.
I have found an article about this. Besides begin easy to read it has good headlines so it is skimmable.

If you think more of “project” than “organization” just exchange the words.

http://www.eu.socialtext.net/wikinomics/index.cgi?the_wikified_organization

categories: project | no comments »

>Virtual reality – Secondlife vs Facebook

November 8th, 2007

>This message will be repeated in english.

Är Second life är coolare för det är 3D?

Behöver vi 3D? Varför låta rummet handikappa oss i cybervärlden bara för att den gör det IRL?

Vi kanske bara skall släppa drömmen om en 3D cybervärld och koncentrera oss på hyperlänkning istället.

Is Second life cooler because it is 3D?

Do we even need 3D? Just because we are handicapped by the room IRL, I see no reason to bring it to the cyber world.

Maybe we should just forget the visions of a 3D cyber world and concentrate on hyper linking instead.

Fail At Once

November 8th, 2007

This message will be repeated in english further down.

Hur får man rättningar och funktionalitet så fort som möjligt genom dörren?
Hur får man så få buggar som möjligt i produktion?

Jag fick en gång kommentaren från en vän “Men du levererar väl aldrig otestad kod?”. Det var en komplimang och en kommentar till att jag just då satt i ett projekt som skulle leverera den högsta kvaliteten jag levererat hittills, dessutom rakt ut i fabrik
Mitt svar förvånade honom “Jag testar inte.” Jag lät honom hämta andan. “Rättning: jag testar så lite som möjligt och mycket kod går rakt ut i produktion otestad.”

Sedan följde en förklaring. En förklaring jag har dragit för alla i projektet:

“Använd kompilatorn för att fånga fel.”

Vanligtvis när man talar om system med hög kvalitet pratar man om testning. Massor med manuella tester med speciella konsulter man hyr in som är specialiserade på test. Dyrt. Men det blir dyrt med hög kvalitet.
Bullshit.

Manuella tester är dyrt och tar lång tid.

Modernare utveckling innehåller enhetstester.

Jag förespråkar Fail At Once för att slippa många enhetstester och manuella dito.

Det är viktigt att fånga fel så fort som möjligt. De allra bästa är att inte skriva dem alls.
Där är jag inte ännu.

How do you ship patches and functionality as fast as possible?
How do you get as few bugs as possible in production?

I once got a comment from a friend “But you never deliver untested code?” It was meant as a compliment and comment to my job then; I was working in a project that was delivering the highest quality I have ever delivered; right onto factory floor.
My answer surprised him “I don’t test.” I let him catch his breath. “Correction: I test as little as possible and as much code as possible goes into production untested.”

I had to explain, the same explanation everyone in the project had heard.

“Use the compiler to catch errors.”

Normally when one talks about high quality system one also mentions testing. Lots of manual tests with consultants specialised on testing. Expensive. But high quality is expensive.
Bullshit.

Manual tests are expensive and take lots of time.

The more modern unit testing is cheaper.

I recommend Fail At Once to get rid of many unit tests and manual ditto.

It is important to catch errors as fast as possible. The best is to not write them at all.
I am not there yet.

>You have always wondered how…

November 2nd, 2007

>Sorry, I can’t tell you more without spoiling the story.
http://www.365tomorrows.com/05/26/now-we-know/
But now you know.

>Daemontools has a rude behaviour

October 31st, 2007

>This message will be repeated in english.

Jag behövde läsa en ISO-fil och kunde just då inte använda MSs Virtual CD. Det är en liten, enkel, icke påträngande lösning.
På rekommendation installerade jag DaemonTools och den uppförde sig ofint.

Jag installerade och den bad mig boota om. Det är ok, den gör säkert lite krångliga saker som kräver omstart.
När jag hade installerat DaemonTools så fanns där ingenting. Jag skulle tydligen installera en gång till. Det är ok, installation är krångligt men jag hade gärna fått en dialog som berättar detta. Så jag installerade för andra gången.
När jag hade installerat DaemonTools för andra gången så fanns där ingen applikation i start-menyn där de brukar vara, utan jag skulle ta tag i musen och klicka på en ny ikon i sys-tray.

Vad sjutton är det som är så magiskt att DaemonTools måste starta samtidigt som min dator varje gång? Men det är ok – bara för att jag inte vill starta en CD-emulator vid varje uppstart så finns det säkert de som vill eller måste.

Men… nästa gång jag startade Internet Explorer var min startsida utbytt!
Installationen frågade mig aldrig om den fick lov att byta ut min startsida och även om den hade gjort det – Det finns Ingen I Världen som vill byta ut sin startsida i IE mot http://google.daemonsearch.com/se/ý eller http://search.daemonsearch.com/search/

Detta ofina beteende gör att jag misstror resten av DaemonTools också. Om de anser de kan byta ut startsidan i en av mina applikationer – vad anser de då de kan göra mer med min maskin?

Självklart har jag avinstallerat applikationen. Men vem vet vad som har avinstallerats. Kanske ligger där kvar ett rootkit à la Sony-BMG?

The other day I needed to read an ISO file and couldn’t use MSs Virtual CD as I usually do. On recommendation I installed DaemonTools and it misbehaved.

I installed and it asked me to reboot. It is ok, there are probably lots of difficult things to do to create a virtual CD. When the rebooting was finished nothing new had happened. Something probably had, but what?
I am not angry about rebooting, sometimes a man has got to do what a man has got to do. But it would be nice with some information that I had to install again.
So I installed again and it looked fine. Except for there being nothing in the start meny as there usually is. I had to grab the mouse and click an icon in the systray.

What is so magic about DaemonTools that it has to autostart every time I log on? IMHO it would be better if one started it when needed. But what do I know? – it might do a lot of fancy stuff that requires it to be autostarted.

But… the next time I started Internet Explorer my start page was changed! I don’t use IE unless I have to but what made someone decide that their choice of start page is more important than mine?
Honestly – there is No One In The World who wants to exchange their start page to http://google.daemonsearch.com/se/ý or http://search.daemonsearch.com/search/

This rude behaviour, overwriting my choice of start page in one of my applications, makes me wonder what more the application has done to my machine. Someone obviously has decided he knows more about my surfing needs than I. What has he decided he knows more? whether a keylogger should be good? whether I need an automatic update for yet another application?

Needless to say I uninstalled the application. But who knows what the uninstaller did…

>Do not use the web solution of VSNet2005

October 30th, 2007

>This message will be repeated in english.

När VSNet2005 kom skrevs det mycket om att man kunde kompilera applikationerna innan man skickar dem till webservern. Jag förstod ingenting, kompilera applikationerna hade jag gjort sedan Aspnet1.0.

När jag installerade VSNet2005 och kickade igång mitt första Aspnet-projekt förstod jag efter ett tag vad som menades. Med VSNet2005 kom en ny projektmodell utan projektfil. D.v.s. det var svårt att skilja det som låg i projektkatalogen av administrativa skäl från de som skulle till produktion. Detta för att man skulle kunna skicka källkod till servern.
De ansvariga för det tänkte säkert på något men jag vill inte veta vad.

Lösningen var att ladda ner en addon som numera ingår genom SP1 för VSNet – “ASP.NET Web Application” och få VSNet2003s projekttyp. Den som uppför sig som projekttyper skall.

When VSNet2005 was fresh one could find lots of text about the possibility to compile the project before sending it to the web server. I didn’t understand. I had compiled my applications before deploying them since Aspnet1.0.

When I got the chance to install VSNet2005 and try my first Aspnet-project I understood the meaning of it all. With VSNet2005 there was a new project model without project file. This makes it hard to separate the files that are in the project for administrative reasons from the ones that should go into production.
Somewhere someone had decided it was a good thing to send source code to the web server. They were probably thinking of something but I sure do not want to know what.

The solution was to download an addon from Microsoft. This addon is part of the SP1 for VSNet2005 so just use the “ASP.NET Web Application” to get earlier, better, project type. It behaves like it should.

>Agile

October 26th, 2007

>This message will be repeated in english.

Jag har hittat en artikel om Agile projekt som är kort nog att hinna läsa och oteknisk nog att förstå även om man inte är utvecklare.
Den passar alltså att ge till folk som inte förstår teknik men ändå inte gillar agile.

I have found an article about Agile projects that is short enough to be readable and lacks tech talk to allow non-developers to understand it.
Alas it is fit to be sent to people who don’t understand technique but is still against or reluctant to agile.

http://www.ddj.com/architect/202401107?cid=RSSfeed_DDJ_All

categories: project | no comments »

Nettiers

October 24th, 2007

>This message will be repeated in english.

Jag har jobbat med Codesmith i två projekt och Nettiers i ett av dem.  Jag kan rekommendera.

Jag har inte jobbat med konkurrenter och kan inte jämföra.  Någon?

Det har varit kritiskt att det är gratis i bägge fallen så sista Nettiers/Codesmith-kombinationen som är gratis är http://nettiers.googlecode.com/files/netTiers-2.2.0.zip och http://www.codesmithtools.com/freeware.aspx.

Det finns för- och nackdelar med automatgenererad kod.
Codesmith är closed source medan Nettiers-mallarna är GPL.  Märk: resultatet av Nettiers-mallarna är inte GPLade utan dina.

I have worked with Codesmith in two projects and with Nettiers in one of them.  Recommended.

I have not tried any competitors and cannot compare.  Anyone?

In both projects it was crucial the price was zero so instead of you looking around just go to the last zero-price combination.  http://nettiers.googlecode.com/files/netTiers-2.2.0.zip and http://www.codesmithtools.com/freeware.aspx.

There are pros and cons with automatically generated code.
Codesmith is closed source while Nettiers templates are GPL.  Note: the result of Nettiers is not GPLd but yours.

>Fail At Once

October 19th, 2007

>This message will be repeated in english.

Automatiska tester i all ära men hade det inte varit bättre om man inte hade behövt testa alls?

Jag kommer komma tillbaka i ämnet.

Automatic tests are great but hadn’t it been better if one didn’t have to test at all?

I will get back on the subject.