| |
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).
Aina monimutkaisiin rautaratkaisuihin (arkkitehtuuri).
|
tilanne
|
Tällä hetkellä täysin työllistetty moneen projektiin.
Teen lyhyitä nopeita projekteja (muutama päivä).
Seuraava vapaa slotti 2012 q2. Pitkäaikaisemmille projekteille.
|
ohjelmointi, suunnittelu & konsultointi
Olen koodannut työkseni noin vuodesta 1984.
-
Java-ohjelmointi
- noin 10 vuoden osaaminen (C++/OO 15+ vuotta).
[enemmän tietoa],
-
Linux
ja
Unix
- 15+ vuoden osaaminen.
[enemmän tietoa]
|
[linuxiin liittyvät tuotteet],
-
Refaktoroinnin
analysointi, raportointi: tarve, mihin, miksi, kuinka.
5+ [15+] vuoden osaaminen.
-
Refaktorointi
- huonon koodin uudelleenorganisointi sisältämään asialliset
suunnittelurakenteet (design patterns). 5+ [15+] vuoden osaaminen.
-
Suunnittelu
- noin 25 vuoden osaaminen.
->
Design methods
-
Järjestelmien arkkitehtuurin analysointi
- 10+ vuoden osaaminen.
-
Koodin analysointi (Code review)
- raportit ja koodaustekniikoiden opettaminen. 15+ vuoden osaaminen.
[enemmän tietoa],
-
Projektien johtaminen
- 10+ vuoden osaaminen.
-
Järjestelmäsuunnittelu ja arkkitehtuurisuunnittelu
- 20+ vuoden osaaminen.
-
Tutorointi
ja
opetus
- 20 vuoden osaaminen.
Parikoodaamisella oppii henkilökuntasikin.
-
Teknologia-analyysi, 5-15 vuoden osaaminen (riippuen teknologia-alueista).
-
Suuremmat
projektit
: Käytä yhteystyöverkostoani ratkaisuna: aina 20 henkilön
projektikokoon projektijohdolla, järjestelmäylläpidolla, arkkitehtuurisuunnittelulla ja
koodaamisella.
Kohteet: palvelimet & sulautetut ratkaisut.
|
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.
|
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).
-
Yleiskäyttöinen prosessikontrollikäyttöliittymä sulautettuihin järjestelmiin:
työn alla
(->2010?)
Perustuu reaktiiviseen tapahtumakäsittelyverkkoon.
Esitelty
InnoTrans
2006 -messuilla (Berliinissä).
European Driver's Desk
(EUDD)
MODTRAIN
suojattu projektisivusto |
Näytöt:
järjestelmänäkymä | näyttönäkymä |
Avainsanat: MVB, kenttäväylä, juna, (Deuta), Gersys, Duagon, prosessiohjaus, sulautettu
DMI (Driver Machine Interface)
Hype-sanasto
:
innovatiivinen, modulaarinen, elegantti, modulaarinen, design patterns, xml-konfigurointi, koodin generointi
käyttäen
xml-määrittelyä
-
Netorek Calendar Server
: tukiprojektit:
-
SServer strategy server: TODO
Netorek Calendar Server -kotisivu | suojattu projektisivusto |
-
IMEI/IMSI -palvelin
Vanhahko oma toteutukseni on melko valmis
-
Mobiilien laitteiden ominaisuuksia kartoittava palvelin
Mahdollisesti tarjoaa konvertointiapua
(Analysoi ja korjaa bugisia laitteita ja mobiileja softia (kuten jotkin Nokia-mallit)).
-
SMS-integraatiopalvelin ja adapteriluokat integraatioon
-
Sähköpostin ja kalenterin integroiva moduli
-
Sulautettu
Linux-kevytpalvelin
: tiedon jalostamiseen / älykäs mittaaminen / CLink client.
arm, xscale, i.MX31, mips, geode, avr32
Linux/aow | suojattu projektisivusto | työkaluketjut |
Avainsanat: Sulautettu Linux-kevytpalvelin, Embedded Thin Server
-
Datan analysointiprojekti asiakkaalle
-
PHP:hen liittyvä projekti
-
Identiteetin hallintajärjestelmä.
avainsanat:
Kerberos, AD, LDAP
-
Sisäiset tukiprojektit.
-
virtual -
virtualisointiasetusten tuki kvm/qemu -ympäristöön.
[virtual]
-
systats -
järjestelmätilastojen keräys- ja visualisointijärjestelmä.
Ympäristöihin, joissa 100 tms. Linux/Solaris/AIX -konetta.
[systats]
-
Generic daemon environment initialization -
yleinen init.d-skripti toisistaan eroaviin Linux-distribuutioihin.
[gidsc]
-
Asiakasprojekti
salainen
Technologiat:
Java, Linux. Oracle
-
Asiakasprojekti
mil
Technologiat:
Java, Linux, GSF
-
Asiakasprojekti / Tukiskripteja Baculaan.
Technologiat:
Linux, Bacula, bash
-
Netorek RHEV -testiymparisto
Technologiat:
Red Hat, RHEV, VLAN
Hardware:
Dell PowerEdge 1955, Dell PowerConnect 6248, FC,
Korjaan RHEV-ympäristön bugeja (injecting and vaccinating).
-
RHEV-asiakasinstallaatiot
Technologiat:
Red Hat, RHEV
"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
|
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
|
|
|