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.
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).
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
CC++
[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).
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.
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).
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
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.
CMS/EDMS
: työn alla
suojattu projektisivusto |
Tila:
suunnittelu (ydin) tehty.
projektille ei järjestynyt rahoitusta (ehkä emme käyttäneet tarpeeksi seksikkäitä sanoja).
joitakin ideoita käytetään toisissa Netorekin projekteissa.
video: pohjautuu webikameroihin, valvontajärjestelmä, perustuu aiemmin tehtyihin
aow-työkaluihin.
suojattu projektisivusto | suojattu projektisivusto |
Tila:
ytimenä oleva webcam-streamer on valmis.
tarvitsee asiallisen käyttöliittymän -
luultavasti integroitavissa prosessikontrollijärjestelmäämme.
tarve katosi.
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.
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 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
|