Den där känslan att nästan, men inte riktigt, begripa vad fan man håller på med…

Ponera följande:

Du har en kund som utvecklar en produkt. Denna kund sitter på en annan kontinent, de har anlitat dig för att utveckla mjukvaran till den MCU som sitter på kretskortet, det finns en irriterande jobbig deadline som kommer krypande och skiten bara FUNKAR inte. Eftersom deadlinen sakta kommer allt närmare så finns det inte riktigt tid att skeppa över ett kort, dessutom är nyttan av det begränsad eftersom det är ohyggligt svårt att utveckla på det kortet eftersom den MCU som sitter på kortet är så liten att det är svårt att lägga in vettigt debugstöd. Så du bygger en mockup för att utveckla på och när du ändå är igång tar du en rätt så mycket större MCU så att det finns gott om plats att lägga in tester och ha sig, helt enkelt för att det blir enklare så. Eller, ja, i teorin i alla fall.

Du utvecklar, sliter, justerar och allting fungerar utmärkt och stolt skickar du över programmet bara för att få veta att det funkar över huvud taget inte alls där borta på den andra kontinenten (ibland ger MCUn livstecken ifrån sig, men de är komplett stokastiska och ger inga ledtrådar) och eftersom det inte finns någon programmerare därborta är det näst intill omöjligt att lista ut vad som går fel. Alla elektriska signaler du ber dem mäta stämmer och det borde funka, men nånting gör att det lik förbannat inte riktigt faller på plats, så att säga. Det finns ju den där uppenbara skillnaden att den MCU du jobbar på visserligen är snarlik men det finns ändå vissa skillnader. Det är då den dyker upp, den där lilla naggande känslan att det förmodligen, troligen är det som gör att nånting inte funkar som det ska trots att koden är skriven samt dubbel- och trippelcheckad för att den ska klara av att ta hand om de där skillnaderna.

För det mesta är det kul och utmanande, men just i tankeprocessens ”vargatimme”, när man bara anar problemets vidd och art men inte riktigt har kopplat en dubbel Nelson på det, just den tidpunkten kan vara oerhört frustrerande. Dvs precis som nu. Man vet att det enda som krävs för att man ska lösa problemet är tid, det är svårt att säga exakt hur mycket tid det kommer ta, plötsligt kommer man bara inse vad det är som strular och likt Professor Balthazar så får man en snilleblixt, studsar bort till sin mackapär och bara fixar det. Just like that.

 

That’s what I do, jag utvecklar mjukvara för och löser problem i hårdvara jag ofta inte ens har sett.

Det är en utmaning. Har du en utmaning får du gärna höra av dig.

6 Responses to Den där känslan att nästan, men inte riktigt, begripa vad fan man håller på med…

  1. Christer skriver:

    Mmm. Jag har de senaste åren utvecklat en mjukvara som snurrar i en liten del av ett ganska komplext system — och folk kommer gärna springande till mig när de inte får kontakt med ”min” del av systemet, eftersom, well, ”min” mjukvara sköter den kontakten på lägsta nivå.

    Det har visat sig att den vanligaste orsaken till problem är fel kablar, fel kontaktdon och fel använt av andra sidan. Vilket lätt kan göra en lite kaxig.

    Sedan har vi det att det är svårt att felsöka. Debugga? Glöm det. Kopplar man in en debugger i ”mitt” delsystem så har man förstört interaktionen med systemet i övrigt, och felet yttrar sig inte.

    Spårutskrifter och loggar? Jepp… men då gäller det att få killen i andra änden att förstå att det går inte att gå och ta en kopp kaffe och sedan komma tillbaka och hämta loggen för den är en cirkulärbuffer och datat finns inte kvar när han kommer tillbaka.

    Inte för han går och tar kaffe just då men att förklara precis när det är dags att läsa ut loggen är i allmänhet ett helvete.

    Allt detta med magkänslan då att det enda som kommer att hända är att vi ser att ”min” mjukvara beter sig precis som förväntat.

    Det är faktiskt rätt stressande; särskilt när man har projektledningen flåsande i nacken med sina eviga ”hur går det”?

    Så försöker man säga, du, jag talar om för dig när vi gör några framsteg. Jag lovar. Ok? Låt mig jobba nu.

    Projektledaren: ja ja, visst, självklart, jobba på du.

    Och vem står och flåsar en i nacken igen en timme senare? ”Har det hänt nåt?”

    Ska faktiskt bli skönt att börja jobba med ett system där jag sannolikt är skyldig när grejorna inte funkar.

    • qeruiem skriver:

      Och du kan inte hänga på en logikanalysator eller så och tex banka ut logutskrifter parallellt såfortdetbaragår eller nåt annat galet? Det räddade mig en gång i ett projekt där en Linuxbox bara vrålhängde pga fel i USB-drivaren, deadlinen hade sagt *SWOOOSH* ett halvår tidigare (inte min tidsuppskattning) och kunden inte bara flåsade i nacken utan hade börjat gå apskit på allvar.

      Vi hängde på en logikanalysator på de översta 8 adressledningarna på bootflashet (som, precis som det låter, bara användes för att boota från), sen smackade vi ut alla logutskrifter så fort CPUn bara klarade (många MHz blev det), fångade upp det med en logikanalysator och dumpade det till fil. Då fick vi se utskrifterna även efter hängningen och kunde konstatera att kerneln fastnade i en loop på interruptnivå vilket givetvis hindrade kerneln från att säga ett pip på konsolporten som gick via en vanlig RS232 serieport…

      Jag har moddat min mockup så den nu kör på den riktiga MCUn och, tack och lov, fanskapet buggar ur. Hurra! Jag kan förmodligen debugga. Det finns till och med en ledig pinne så jag ska knåpa ihop en liten serieportslogger nu som kan berätta vad som händer. Jag har exakt 596 bytes Flash ledigt som jag kan använda.

      What could POSSIBLY go wrong…?

      • Christer skriver:

        Jag tror tyvärr inte de kan stava till logikanalysator… men även om de hade en så tror jag de är extremt skeptiska till att börja plocka korten ur lådorna och leta efter någonstans att koppla in den…😉

  2. Nils Ivar Tenmann skriver:

    Jag har den här kvällen lyckats fumla bort tre prator som med olika infallsvinklar var tänkt att förmedla vad jag möjligen hade för utmaningar att bjuda tillbaka. Om du med utmaning menar någon slags tuppfäktning, kan jag bara meddela att jag underdånigt visar halls. Det här redskapet är jag så kass på att använda i jämförelse med dig och alla andra pirater som förstår att länka referenser, sidoaspekter och notkommentarer på ett för läsaren behagligt och kommunikationseffektivt vis… jag blir bara avundsjuk på hur duktiga ni är…

    Men eftersom jag tacksamt tar emot den mängdspäckade information som finns bakom MCU initalernas olika möjlighetsalternativ… sådana utmaningar tycker jag om, fast det mest var i min ungdom jag flög omkring med SAS-flygklubbens svarta låda och visade tuppar och hönor att jag minsann var nog så märkvärdig att hänga i granen likt raggarnas Wonderbaum… tänkte jag återgällda med ett par rader att bita i vad gäller MCU, dvs The Modern Churchpeope´s Union…

    Ändamålet var att locka dig till ett samtal om grunden för det fredsavtal jag är i färd med att skissa på vad gäller (den överdrivna och missvisande) konflikten mellan de religiösa samfunden och vetenskapssamfundens olika väsenden, natur & kultur. Tänkte att det kunde vara något att ”bita i” för en logiker.

    Men som sagt, jag klantade bort texten i försöket att göra en behändig länk som bakgrundsinfo.

    Skam den som ger sig, kände jag, och började om på ett angränsande kapitel, nämligen den fasa till samhällen som kom att skapas här var med hjälp av den naturvetenskapligt baserade sociala ingenjörskonsten instrumentella logik som styrmedel.

    Men som sagt, det dribblade jag också bort.

    Ett nytt försök gick samma galna väg upp i intet… men egentligen är det lika så bra det. För du har nog fullt upp en då med det du sysslar med till vardags. Ty min kritiska huvuduppgit rör inte naturvetenskapandet utan de naturvetenspligt influerade samhällsvetenskaperna.

    Min fördom mot personer verksamma på det naturvetenskapliga fältet har genom några intressanta meningsutbyten med pirater i hög grad avslöjats som alltför kategoriska. Det var på sätt vis en förhoppning jag hade redan innan det hela började beträffande just Piratpartiet, att de om några teknokrater skulle ha förmågan till mer politiskt diskursiv logik en den blott logiska enten-eller.

    Jag oroar mig inte längre, utan finner det spännande att se tiden an.

    Dock, en varning! Min erfarenhet från att ha vistas i många olika yrkesmiljöer och sociala kretsar gör att jag har god näsa för kotterier av sekteristisk art… man tror sig ursäktad av att det rör sig om interna lustigheter kollegor emmellan och inte alls odling av den egna förträffligheten, vilket just är vad det blir om man inte bryter de internkommunkativa slentrianpratet och i huvudsak söker samtala med redan men-ännu inte involverade.

    • qeruiem skriver:

      Återigen; blogg!😀

      Just en diskussion om teologi versus vetenskap är definitivt sånt som kan bli väldigt spännande om det sker öppet med möjlighet för många att bidra och komma med synpunkter och där tycker jag att blogg är ett starkt verktyg.

      Kan Farmor Gun kan nog du.😉

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: