arl: tuotteet: index
työ
Työskentelen guruna Netorekissä. Tarkoittaen työtä raudan, softan ja integrointien kanssa hands-on -arkkitehtina. Luon ja/tai integroin kehyskirjastoja (framework) asiakkaillemme tai omiin tuotteisiimme.

Kattaen kernel-ohjelmoinnista Java-pohjaisiin palvelinohjelmistoihin (J2EE).

tilanne
Tällä hetkellä täysin työllistetty moneen projektiin.

Seuraava vapaa slotti 2010 q4(?).

Olen pahoillani.

Mutta kysy lisää: ota yhteys Netorek:iin.




maininnat & referenssit
ohjelmointi, suunnittelu & konsultointi
Olen koodannut työkseni noin vuodesta 1984.

media: haastattelut
En pidä haastatteluista, tai mediasta. Vuosien varrella on ollut monta pettymystä mediaan. Eli:
  • Haastattelut: Tiedotusvälineille: Sinä myyt mediaasi, minä myyn työtäni.


käytetyt teknologiat ja kokemus
Lista järjestetty kuvaten teknologian, työkokemukseni vuosissa ja miten/missä/milloin käyttää.

  • design patterns on vankkana perustana suunnittelulle ja koodaamiselleni.
  • testaus käytän Junit:ia (omalla kehystyksellä) komponettitestaukseen, integraatiotestaukseen ja järjestelmätestaukseen (niin pitkälle kuin se on käyttökelpoista ja mahdollista).
  • XP (extreme programming) [5+ vuotta]: jotkut osat hyödyllisiä, toiset eivät.
  • Java [kokemus noin 10 vuotta, vuodesta 1998] on käyttökelpoinen järjestelmäriippumattomaan koodaamiseen. käyttänyt java.{awt,io,lang,lang.reflect,math,net,sql,text,util,util.jar,util.zip}, javax.{swing,}, ja lukuisat muut.
  • Perl [kokemus 15+ vuotta, vuodesta 1990/91] on käyttökelpoinen järjestelmäsovelluksiin shell-skriptien sijaan.
    Mallikoodi: Perl - Parsing Makefile to XML
  • C C++ [kokemus 20 vuotta, vuodesta 1987] joihinkin tapauksiin.
  • asm [kokemus noin 25 vuotta, vuodesta 1983] joihinkin tapauksiin.
  • html [kokemus 15+ vuotta, vuodesta 1991] kun tarvitaan.
  • xml [kokemus 5+ vuotta] käyttö kasvaa jatkuvasti, myös XSLT (xsl), xsl:fo, xhtml, DOM jne.
  • Linux [kokemus 15+ vuotta, vuodesta 1991] on kustannustehokas ja luotettava sovellusalusta kaupallisille palvelimille/palveluille ja ohjelmistokehitykseen.
  • Unix [kokemus 20+ vuotta, vuodesta 1985/87] Unix System III:sta BSD 4.x;n kautta HP-UX:iin, oikeastaan tusinoittain erilaisia unixoideja - ohjelmistojen siirtoa (porttausta) ja järjestelmäylläpitoa.
  • tietoverkkokoodaaminen [kokemus noin 20 vuotta] serverit ja asiakasohjelmat, WWW [kokemus 10+ vuotta], FTP jne [kokemus noin 20 vuotta] alhaisen tason protokollakoodausta.
  • sulautetut järjestelmät [kokemus 20+ vuotta] kehitystukijärjestelmillä ja prommerilla asiakkaan tarpeisiin.
  • reaaliaikajärjestelmät [kokemus 20+ vuotta], myös todella reaaliaikaiset järjestelmät (hard real-time systems, true-time systems).
  • tietokannat | sql [kokemus 10+ vuotta], oracle, solid, informix, stored procedures, jne.
  • hardware [kokemus 20+ vuotta], suunnittelu rajoituksin (digitaalitekniikka). Kyky ymmärtää alhaisen, keskitason ja korkean tason integraatio.
  • aow luon ajatukset rajapinnoiksi ja tukikirjastoiksi aow-järjestelmään, ja tuotan näiden pohjalta kaupallisia sovelluksia (luokkakirjastot,kehyskirjastot).
  • käyttämäni dokumentointiformaatti projekteille on oma yksinkertainen xml-formaatti.
    Tällä formaatilla voi tuottaa xsl-konversion avulla eri yritysten tuottamien dokumenttien näköisen esityksen tai vaikkapa tieteellistä konferenssidokumenttia muistuttavan pläjäyksen.


tuotteet
menossa olevat projektit
Jotkut projekteista ovat luonteeltaan ylläpidettäviä järjestelmiä, jolloin koodia tai määrittelykuvauksia (kuten XML, jolla generoidaan toiminnallinen koodi) joudutaan muuttamaan, kun lähdejärjestelmä muuttuu (vaikkapa päivitetään tiedostoformaattia).

"omat" projektit

äskettäin valmistuneet projektit
  • Netorek Calendar Server : tukiprojektit:
    • CLink client integration server: (2007)
      Integraatioprojekteja kolmansien osapuolten ohjelmistoihin ja järjestelmiin.
      Kulunvalvonta (ovitapahtumat): Esmikko
      • Ei tarvetta enää naputella kalenteriin ovitapahtumia (ulos,sisään,sairas,jne.), koska tapahtumat kirjautuvat ovijärjestelmästä (kuten Esmikko) suoraan kalenteriisi.
      • Läsnäolotieto.
      • Työajanseuranta.
      • Mahdollisuus integroida myös muita järjestelmiä, kuten: Bewator/Flexim, Tamtron Solutions, Hedengren/Hedsam/HedNet/Hedpro Security, Timecon/Timecon GMS/TimeconGMS, ...
    • Yleinen toistuvuus/recurrence - RRULE engine / tukiluokat (2007)
      Tukee vCalendar/iCalendar RRULE-konversiot (parsinta,generointi,validointi).
      Plugattavat modulit:
      • oma vCalendar RRULE -parseri
      • Google-ical vCalendar RRULE -parserina ja puitekoodi (wrapper)
      • Google-ical iCalendar RRULE -parserina ja puitekoodi (wrapper)
      • oma vCalendar RRULE -generaattori
      • Google-ical iCalendar RRULE -generaattorina ja puitekoodi (wrapper)
      • Erityinen sovelluspohjaisten formaattien muunnosjärjestelmä.
      • lisää tulossa.. crontab-formaatit jne.

      Testaus: oma framework testausta ja testitapausten luomista varten.
  • Ericsson HLR -lokitiedostojen parsinta: valmis aktivoituu valmis (1. 2006, 2. 2007, 3. 2008-2009)
    suojattu projektisivusto |
  • Tomcat-klusterin testausservlet : valmis (2005)
    Yksinkertainen ja modulaarinen tapa testata palvelumigraatiota tomcat-klusterissa.
    [google: Tomcat-klusteri] | suojattu projektisivusto |
  • sulautettu : näytön hallinta QNX, RTLinux tai Linux (AMD Geode). [2006]
    suojattu projektisivusto |
  • Oracle 10G r 2 + RHEL 4 x86_64 + Apache httpd 2.2.9 + mod_jk + Sun X4200
    • up2date
    • rpmbuild, httpd.spec fix
    • sed -e 's%wrong%correct%' < oracle_script_original > oracle_script_fixed
    • /etc/inet.d/oracle_db
    Lehtiartikkelitasoinen yksityiskohtainen dokumentointi. (Atlassian Confluence)
  • BOFH 2008q4
    • Solaris 10 r 5
    • AIX 6.1
    • Oracle EL 4 x86_64
    Noin 100 fyysistä ja virtuaalista käyttöjärjestelmäinstanssia.
    Lehtiartikkelitasoinen yksityiskohtainen dokumentointi. (Atlassian Confluence)
  • Sisäinen projekti: Java-kehitys ja -installointitukiympäristö.
    Technologiat: Hudson, Nexus, Maven2, gidsc


odottavat projektit


historialliset projektit
Joitakin menneiden aikojen projektejani.

  • Sulautettu käyttöjärjestelmäydin (1985-1991).
    Modulaarinen ja skaalattava. Ensimmäisen version koodasin turbo pascal 2.x -pohjaiseksi, myöhemmin koodasin kaiken uudestaan (C ja asm). Oli mikrokernel capability-pohjaisella prosessikommunikoinnilla. Pienehkö unixoid-palvelinprosessi. Sisälsi reaaliaikaisia ominaisuuksia, joten kerneliä saattoi käyttää jopa hard real-time -ympäristöissä. Oma laiteajurialijärjestelmä sisältäen STREAMS:in tyyppisen modulaarisuuden; jokainen ajuri sisälsi monta eroavan prioriteetin prosessia (ei ollenkaan keskeytysten blokkaamista tai maskaamista).
  • Joitakin eriskummallisia Perl-projekteja (1990-1995).
    • Laajahko FTP-palvelin (Perl 4), tukien joitakin edistyksellisiä piirteitä.
      Dynaamisesti luodut sessiokohtaiset hakemistot ja kaistan säätäminen.
    • Automaattinen postituslistapalvelin (Perl 4). 90-luvun alkupuolella noin 20 000 käyttäjää ("Linux Activists"). Ensimmäinen versio oli koodattu C:llä.
    • Runko oliojärjestelmälle/ympäristölle (Perl 4).
      Käytin paljon dokumentoimattomia piirteitä, kuten tekstuaalisia osoittimia.
    • Usenet News -palvelin (Perl 4). Sisälsi kompressoidut artikkelikontainerit.
    • Automaattinen Usenet News -kuvatallennusjärjestelmä (Perl 4).
  • Varhaisia Linux-projekteja (ennen vuotta 1996).
    • Häkkäsin kernelin tukemaan laajemmin SCSI-laitteita, kuten SCSI floppy disk, SCSI-MFM-muunnin jne. (~1992->)
    • Häkkäsin varhaisen nettistäkin tukemaan promiscous-moodia (~1994). [asiakkaalle]
    • Loin automaattisesti asentuvan Linux-distribuution (~1994). [asiakkaalle]
      Systeemi partitioi ja formatoi kovalevyn automaattisesti, ja asensi binäärit.
    • Häkkäsin kernelin tukemaan Cyrix-prosessorien erikoispiirteitä (~1995).
  • Varhaisia PC / DOS -projekteja. (ennen vuotta 1987)
    • Siemensin kaasukromatografin liittäminen virtasilmukan (modattu kortti) kautta PC-koneeseen. Tuolloin myös sarjaporttiajuri piti koodata itse, koska bootloaderin omassa ajurissa vain pollaus, joka ei oikeassa ymparistössä toiminut luotettavasti. (1985)
      Koska aikoinaan bootloaderin (DOS) kello ei toiminut, käytettiin rautakelloa, jolle toki rakensin oman ajurin.
      Virtasilmukkakorttiin modattu virransyöttö myös vastaanottavalle kanavalle, koska Siemensin kromatografissa kokonaan passiivinen virtasilmukka.
    • Siemens Topcom -puhelinvaihteen liittäminen sarjaportin kautta PC-koneeseen, joka ohjasi toisen sarjaportin kautta LED-näyttöä. (1985)
      Ratkaisussa omaa: skeduleri, sarjaporttiajuri, ajastin.
      Siemens Hicom (Topcom-järjestelmän seuraaja)
  • Prosessoriemulaattorit (-simulaattorit) ja assembler-jutut (1980-luku)
    • Loin assemblerin, joka konfiguroitiin taulukuvauksella. (1985-1986)
      Tuki TI34xxx, i8080/85, jne.
    • Kirjoitin i8080/8085 -emulaattorin (simulaattorin) (1985).
    • Kirjoitin PDP 11/34 -emulaattorin (simulaattorin) (1987).
      CPU-malli erilaisine omituisine virtuaalimuistierikoisuuksineen. Aloitin kirjoittaa tukea erilaisille PDP 11/34 -laitteille.
  • Kirjoittelin pienen piirustusohjelman X10:lle. (1987)
    TKK/TKO -labrassa piti työn puolesta tutustua "uuteen" ikkunointijärjestelmään, jonka uudempi versio on X11. X10 oli melkoisen kömpelö - toki sillä koodasi grafiikkaa, mutta monet X-serverin antamat tukipalvelut ja X-kirjastot puuttuivat. Esimerkiksi piirretyn kuvan kaappaaminen ruudulta, ruudulle luodun grafiikan monistaminen jne. oli erittäin hankalaa, jolloin jokaisen kehittäjän olisi loppujen lopuksi ollut pakko kehittää oma peruskirjastonsa.
  • Kirjoittelin pienehkön järjestelmämonitorin CCP/M-86:lle assemblerilla. (~1985)
    Kun myöhemmin noin 1987-88 testasin CDOS-käyttöjärjestelmää, osittain yllätyksekseni samainen monitori toimi siinä suoraan.
    Käytimme aikoinaan CCP/M-86:sta prosessiohjausjärjestelmissä Siemens PC 16-11:llä.
    Minulla on vieläkin tallella CCP/M-86:n järjestelmämanuaali.
  • todo.. kunhan muistan mitä tuli tehtyä aikoinaan..


avainsanat
hands-on -arkkitehti | todellinen osaaja | guru | monikykyinen | moniosaaja | pedanttinen koodaus |


© arl
päivitetty: 20100615