Ahti's profile.NET sovelluskehitysBlogListsSkyDrive Tools Help

Ahti Haukilehto

Occupation
.NET sovelluskehittäjä, kouluttaja ja konsultti. Microsoft Regional Director, Finland.
No list items have been added yet.
August 14

Visual Studio 2008 SP1

Hei,
olen pitkästä aikaa taas täällä. Ei ole ollut oikein blogitettavaa, mutta nyt olen tekemässä asiakasprojektissa Linq to Sql sovelluskehystä, josta on paljonkin kerrottavaa. Aloitan kertomuksen työkoneen päivityksestä 08-aikaan.
 
Olen aikaisemmin asentanut
  • Windows Server 2008 Standard SP1
  • Visual Studio 2008 Team Suite
  • Sql Server 2008 RC-versioita
  • Visual Studio 2008 SP1 Beta (ja .NET 3.5 SP1 beta)

Ja nyt oli aika päivittää kone tuotantoversioihin. Aluksi tein seuraavat siivousoperaatiot

  • Uninstal SQL Server 2008 RC
  • Uninstall Visual Studio 2008 SP1 Beta
  • ja sitten yritin asentaa SQL Server 08:n muttei suostunut asentumaan, koska ensin pitää asentaa Visual Studio 2008 SP1
    • asennus taisi herjata myös esiversiosta jääneistä tiedostoista, joten poistin seuraavan hakemiston kokonaisuudessaan: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER
  • Kokeilin asentaan VS 08 SP1:n - mutta ei se ei suostunut asentumaan vaikka olin mielestäni poistanut SP1:n betan. Ensin piti ajaa Visual Studio 2008 Service Pack Preparation Tool, joka poistaa kaikki jäljet esiversioiden asennuksista. Tämä löytyy MS:n downloadeista (www.microsoft.com/downloads , tarkemmin sanottuna täältä: http://www.microsoft.com/downloads/details.aspx?familyid=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&displaylang=en ) 

Ja tämän jälkeen varsinaiseen asennukseen.

  1. asensin .NET 3.5 SP1 :n erikseen, täältä: http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&DisplayLang=en
  2. Visual Studio 2008 SP1 täältä (exe-versio): http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
  3. SQL Server 2008 MSDN tilaus-downloadista. Asensin kaikilla herkuilla.

 

Nyt kone tuntuu pelittävän OK. Palaan L2S FX:n  (==Linq to Sql Framework) tekoon seuraavissa viesteissä.

 

//ahti

April 06

EntLib versio 3

 
Siinä on .NET 3-ominaisuuksia (WCF tuki) ja on SN-signeerattu, joten nyt sen voi ottaa käyttöön binäärinä (=ilman kääntämistä). Ja on näin ollen mahdollista sijoittaa GACiin. Toi itse tehty signeeraus olikin pahuksen työläs, koska se vaikutti konfigurointitiedostoihin.
 
--ahti
 

WCF suorituskyky

WCF:stä (Windows Communication Foundation) oli aikoinaan - siis beta-aikakaudella - useitakin suorituskykyvertailuja. Lähinnä koskien eri autentikontimenetelmiä ja protokollia.
 
MS julkaisi äskettäin laajan suorituskykyvertailun, jossa WCF:ää verrattiin muihin hajautusmenetelmiin. Artikkeli on täällä: http://msdn2.microsoft.com/en-us/library/bb310550.aspx
 
Yhteenveto puhukoon puolestaan: To summarize the results, WCF is 25%—50% faster than ASP.NET Web Services, and approximately 25% faster than .NET Remoting. Comparison with .NET Enterprise Service is load dependant, as in one case WCF is nearly 100% faster but in another scenario it is nearly 25% slower. For WSE 2.0/3.0 implementations, migrating them to WCF will obviously provide the most significant performance gains of almost 4x.
 
--ahti 

Sarjassa hyviä luentoja

Sattui jälleen silmään erinomainen luento, tällä kertaa tekoälystä. Täällä: http://video.google.com/videoplay?docid=-9075198068763651344&hl=en
 
--ahti
March 07

Visual Studio 2005 Service Pack 1 Update for Windows Vista

Viimeinen puuttuva osa Visual Studio / Vista sovelluskehitystä on valmistunut. Visual Studio 2005 Service Pack 1 Update for Windows Vista on täällä. Tietty Vistassa on paljon vain-unmanged APIa, joihin osaan tulee managed wrapperi Visual Studio Orcasin myötä, mutta Visual Studio 2005 on nyt Vista-valmis.
 
//ahti
February 13

Harmaita pilviä WebServices rintamalla

Suurimmat pelintekijät ovat olleet liikuttavan yksimielisiä WS:n merkityksestä etenkin loosely-coupled integroinnissa (onko muunlaista kuin loosely-coupled integrointia olemassakaan, sanan perimmäisessä merkityksessä?)
 
Se, että jokin yritys tukee WSiä, ei enää voi olla mikään uutinen. Toisinpäin on.
Suuren yleisön suosikki - Google - on siirtymässä WS APIsta AJAXin siivittämänä JSONin käyttöön. Ote heidän blogistaan:
On December 5th, we stopped accepting new sign-ups for the Google SOAP Search API. This change does not impact current users of the SOAP Search API -- you can continue to execute queries, and we have no plans to turn off the service in the future.
While the product was Google's first API and inspired a lot of Google's current developer products, we are no longer devoting resources to increase the capacity of the service, instead focusing our efforts on the AJAX Search API. While the AJAX Search API does not provide server-side access to search results, it has a number of more powerful features, including access to Video, Maps, Blog Search, and News search results.
 
Onkin yllättävää, että lopulta käyttöliittymätekniikka AJAX voi olla uhka WS:n suosion edelleen kasvamiselle. MS toki yrittää kaikin keinoin saada ujutettua WS protokollapino myös AJAXiin, mutta toki JSON, POX (plain old XML), RELAX NG, REST ovat siellä luontevampia ja tietty kevyempiä. Tässä hyvä yhteenveto REST vs. WS:stä.
 
Toinen harmaa pilvi WS rintamalla on standardoinnin älyttömän hidas eteneminen. On toki niin, että aluksi standardointi etenee nopeasti. Yhteisymmärrykseen on helppo päästä, kun puhutaan vielä yksinkertaisista, helposti toteutettavista tekniikoista - "Loosely specified" asioista. Mutta kun mukaan otetaan enemmän ominaisuuksia (kuten Web Service Security), niin eteneminen hidastuu. Ehdotettuja ominaisuuksia on yhä vaikeampi toteuttaa omiin tuotteisiin tai ne ovat ristiriidassa jo tehtyjen ratkaisujen kanssa. Näin on ehdottomasti käynyt WS standardoinnissa. On kiusallista, että tämä kuva on pysynyt samana ainakin kolme vuotta (en saa sisennettyä kuvaa tähän pahuksen blogi-softaan, mutta tuolla sivulla puolivälissä on Figure 3 - Adoption of Web Service Protocols).

Jos haluat ylipäänsä seurata WS-standardoinnin kehitystä, niin täällä on hyvin laadittu yhteenvetotaulukko standardien nykytilasta. Taulukko p
äivittyy valitettavan hitaasti - mutta se ei ole sivun ylläpitäjän vika : (
Valitettavasti.

//ahti
February 04

Animaatiot PPT-esityksissä

En yleensä pidä esityksissä olevista animaatiotsta. Muutta tässä esityksessä sitä käytetään todella hienosti. Hieno esitys muutoinkin.
November 03

Tehokas VoimaPiste-käyttö

Saan työni puolesta paljon seurata ja pitääkin PowerPoint-esityksiä. Powerpoint onkin tullut yhdeksi tärkeimmäksi kommunikointimuodoksi yritysmaailmassa, jätetäänhän tarjouksetkin nykyään usein PPT-esityksen kera.
 
Olen usein miettinyt, millaisia nuo kelmut oikein pitäisi olla. Toisaalta tiedän, että vähemmän on enemmän, mutta toisaalta kelmut ovat usein se ainoa dokumentti. Tämä aiheuttaa painetta laittaa kalvoihin paljon asiaa.
 
Yksi hyvä keino miettiä sopivaa esitystapaa on ottaa mallia hyvistä esityksistä. Paras (webistä) näkemäni esitys on tämä: http://www.identity20.com/media/OSCON2005/oscon_videos/oscon_wmf_lg.html
Se kannattaa ehdottomasti käydä katsomassa, vaikka tarkasti ottaen se ei ole PPT-esitys : ) Loistava, poikkeava tapa käyttää kalvoja. Tietty koko päivää ei tuollaista jaksaisi seurata, mutta piristävä poikkeus se varmasti on. Ja on muuten hyvä luento ylipäänsäkin user-centric autentikoinnista - Identity 2 :sta.

Tässä (http://presentationzen.blogs.com/presentationzen/2005/11/the_zen_estheti.html) on mielestäni hyvä blogi (seminaari)esiintymisestä. Tässä nimenomaisessa kirjoituksessa kiinnitetään huomiota ja analysoidaan MS:n keynote-esitysten (Bill Gates) kalvojen heikkoutta. Olen sattumoisin itsekin kiinnittänyt tähän huomiota, BG:n keynoten kalvot sisältävät aivan liikaa tavaraa. Vähemmän on enemmän.
 
Muutamia muita aihetta käsitteleviä linkkejä
Cliff Atkinson: http://www.sociablemedia.com/
* hänen blogi: http://www.beyondbullets.com/
Täällä hänen esityksensä:  How to Prevent PowerPoint Overload

Edward R. Tufte näyttää kanssa kirjoittaneen ja tutkineen aihetta. Web-sivusto ei kuitenkaan ole kovin hyvä: http://www.edwardtufte.com/tufte/index
 
 
//ahti
 
PS paras tapa voittaa esiintymisjännitys kerrotaan täällä : )
 
 

Linuxissa on enemmän .NET -sovelluksia kuin Vistassa

Kyllä, näin on!
Vistaan kyllä asentuu oletuksena .NET 3.0, mutta siinä ei ole (ilmeisesti) yhtään varusohjelmaa, joka olisi kirjoitettu .NETillä. .NETin voi, jos haluaa, jättää asentamattakin ja kaikki toimii.
 
Sen sijaan muutamissa Linux distroissa tulee Mono (Novellin tekemä GPL-lisensoitu .NET toteutus Linuxin ym. käyttiksiin) sekä muutamia ohjelmia, jotka on tehty sen päälle. Distroja, joihin sisältyy Mono, ovat: Fedora Core 5, SuSE Linux Enterprise Desktop 10 ja Ubuntu 6.10. Distrojen mukana jaettavia Mono-sovelluksia on ainakin Media Player ja F-Spot (kuvagalleriasovellus).
 
Mono sai tuulta purjeisiin tällä viikolla, kun Ballmer lupautui olemaan peräämättä patenttioikeuksiaan SuSe Linuxin mukana toimitetuista ohjelmoistoista. Monon ongelmahan on (mm.) ollut se, että siinä on jouduttu rikkomaan MS:n patentteja. .NETin standardoitu, avoin CLI-osuus, joka on jopa ISO-standardi, sisältää ainoastaan merkkipohjaisen sovellukseen riittävät kirjastot. Windows.Forms, ASP.NET tai ADO.NET eivät sisälly CLI:hin. Ne kuitenkin sisältyvät Monoon, jolta osin on ollut tämä patenttirikkomusuhka. Aikaisemmin MS:n johto ei ole antanut tähän liittyen mitään lausuntoa, joka on tehnyt vaikeaksi käyttää Monoa yrityssovellusten alustana. Mutta nyt siis Ballmerin suulla saimme kuulla, että Monoa voidaan huoletta käyttää. MS ei tule laittamaan kapuloita rattaisiin. Hyvä näin.
 
//ahti
May 24

Beta2 päivä

WinHec-sempun avajaispäivä oli tietysti se päivä, jolloin Beta 2:t tulivat jakeluun. Nyt on saatavilla Beta 2-versiot
  • Windows Vistasta
  • Windows Longhorn Serveristä
  • 2007 Office Systemistä
  • sekä WinFX:stä

Olen muutamaan otteeseen yrittänyt siirtyä työkoneessani Vistan käyttöön, mutta joutunut palaamaan takaisin XP:hen. Viikonlopun aikana teen jälleen uuden yritykset. Jospa nyt!

 

//ahti

 
May 19

CodePlex, uusi GotDotnet

www.codeplex.com kisaa www.gotdotnet.com -saitin kanssa .NET-projektien hallinnasta. Outoa, koska molemmat ovat puolivirallisia MS:n saitteja ja niiden tavoitteet ovat lähes identtiset.
 
GotDotNet on ollut kiusallisen hidas ja toiminnaltaan epävarma, joten on ihan hyvä, että se korvautuu uudella tekniikalla. Mutta eikö olisi ollut parempi korjata vanha kuin tehdä kokonaan uusi yhteisö?
 
Codeplexin tekniikka on mielenkiintoinen. Se on ainakin oman ilmoituksen mukaan tehty Team Foundation Serverin päälle, ja onkin paljon edeltäjäänsä tehokkaampi.
 
Ote heidän sivulta: "CodePlex is an online software development environment for open and shared source developers to create, host and manage projects throughout the project lifecycle. It has been written from the ground up in C# using .NET 2.0 technology with Team Foundation Server on the back end. CodePlex is open to the public free of charge."
 
//ahti
March 06

WinFX

Minulle on tullut muutamia kyselyjä siitä, mikä WinFX oikein on, uusi .NET 3? Tässä lyhyt katsaus WinFX:ään 'kilometrin korkeudesta'.
 
WinFX (Windows Framework) on yleisnimi .NET tekniikoille, jotka laajentavat .NET Framework 2.0:aa. WinFX julkaistaan vuoden 2006 loppupuolella samaan aikaan kun Windows Vista. WinFX:llä ei sinänsä ole tekemistä Vistan kanssa, tämä julkaisuaikataulujen yhteneväisyys on enemmänkin markkinallinen. WinFX toimii Windows XP:n, 2003 Serveriin ja Vistaan asennettujen .NET Frameworkin päällä, ei siis Windows 2000:ssa, vaikka se on  .NET Frameworkin tuettujen käyttöjärjestelmien joukossa.
 
 
WinFX on ennenkaikkea uusi API; se on uusia DLL:ä, joita sovelluskehittäjä voi omassa Visual Studio 2005-projektissaan referoida ja ottaa käyttöön. Tämän lisäksi WinFX SDK tuo uusia designereita ja projekti-templateja Visual Studio 2005:een, se siis myös laajentaan Visual Studio 2005:n toimintaa. WinFX:ää  käyttöönotettaessa on huomioitava, että
  • se ei ole uusi versio .NETistä, se ei mitenkään korvaa .NET Framework 2.0:aa vaan WinFX laajentaa .NET ohjelmointiympäristöä. WinFX-ohjelmointi on normaalia C# ja VB.NET 2 ohjelmointia
  • sovellukset kehitetään edelleen Visual Studio 2005:lla, jota WinFX SDK laajentaa muutamilla designereilla.
  • WinFX sisältää RunTime Components –kirjaston, joka tulee asentaa kaikkiin WinFX:ää hyödyntäviin koneisiin. Sovelluskehittäjät asentavat myös WinFX SDK:n (helpit, esimerkit, jne.) sekä Visual Studio AddOn:it.

WinFX:n osa-alueet ovat

  • Windows Communination Foundation WCF (aikaisemmin tunnettiin projektinimellä Indigo). WCF on uusi hajautettujen sovellusten ohjelmointiympäristö, se yhdistää niin Web Service (ASMX), .NET Remoting, System.Messaging (MSMQ) kuin COM+ (DCOM) –ohjelmointimallit yhdeksi eheäksi SOA:n mukaiseksi ohjelmointimalliksi. WCF yhtenäistää ja helpottaa hajautettujen, nykyaikaisten SOA:n mukaisten sovellusten tekemistä.
  • Windows Workflow Foundation WWF on uusi työnkulkusovellusten ja pitkien tapahtumien ohjelmointialusta. Sen muistuttaa MS Biztalk Server:in orchestration-työkaluja (jatkossa BTS:n orchestration tulee käyttämään nimenomaan WWF:a). WWF:n avulla voidaan sovelluksien sisältämät työnkulku- ja bisness-prosessit ’ulkoistaa’ siten, että niitä voidaan muokata siten, että itse sovelluskoodiin ei tarvitse koskea. Office 2007:n palvelin-osat käyttävät hyväkseen nimenomaan WWF:n ominaisuuksia.
  • Windows Presentation Foundation WPF (aikaisemmin tunnettiin projektinimellä Avalon) on uusi käyttöliittymän ohjelmointi- ja esitysmuoto. Se tuo siis kolmannen käyttöliittymämallin Windows.Forms ja WEB-liittymien rinnalle, yhdistäen paljon ominaisuuksia näistä molemmista ohjelmointimalleista. WPF käyttöliittymä voidaan muodostaa joko ohjelmallisesti (kuten Windows.Forms) tai markup-kielellä (kuten HTML-käyttöliittymä),  mutta sen ilmaisuvoima on jopa näitä molempia laajempi. WPF tuo myös kolmiulottuvuuden, skaalautuvuuden (ml. kontrollit, valikot jne) sekä animoinnin osaksi sovellusten käyttöliittymätyökaluja.
  • WinFS (Windows File System, vai pitäisikö olla Windows Storage Foundation) julkaistaan myöhemmin, se ei ehdi tämän vuoden julkaisuaikatauluun. WinFS tuo relaatiokantojen ohjelmointi- ja hallintamallin Windowsin tiedostojärjestelmään.

WinFX on tällä hetkellä (WinFS:ää lukuunottamatta) Beta 2-vaiheessa. WinFX-ohjelmointia on voinut kokeilla jo noin reilun vuoden ajan. Vuoden vaihteessa tuli myös ”go-live” lisenssimalli, joten WinFX:ää voi käyttää jo nyt tuotannollisissa sovelluksissa. Ensimmäinen virallinen versio on aikataulutettu tämän vuoden loppupuoliskoon.


//ahti

January 26

Hibernate-ongelma ja sen ratkaisu

Minä (tai paremminkin minun työkoneeni :) olen kärsinyt pitkään hibernate-ongelmasta - hibernate ei onnistu, vaan tulee virheilmoitus: "Insufficient System Resources Exist to Complete the API".
 
Asensin tämän hotfixin: http://support.microsoft.com/?kbid=909095 ja ongelma on poistunut. Ei pelkästään minulla, vaan esim. Aalille koitti myös "uusi elämä" tämän hotfixin asentamalla.
 
Kiusallista, että tämäkin on jälleen (ainakin osittain) muistin määrään liittyvä ongelma "This problem typically occurs when the computer uses 1 gigabyte (GB) or more of RAM." Olen aikaisemmin blogannut muutamissa verkkoajureissa havaittuun bugiin, joka niinikään ilmenee silloin, kun koneessa on yli 1 Gtavu muistoa. Olisiko vanhaa assembler-koodia (tai sen luonteisesti koodattua) ja väärässä kohdassa optimoitua muistinkäsittelyä?
 
//ahti
 
 
 
 
 
January 25

WinFX January CTP

Teen kuumeisesti ensi viikolla pidettävää Windows Workflow Foundation lurssimusta. Olen tehnyt sitä tähän asti koiralevyllä (=VPC:llä, joka on ulkoisella levyllä). Kyllästyin ulkoisen levyn raahaamiseen ja rohkenin eilen asentaa uuden WinFX January CTP-ympäristön Host-käyttikseen (Windows XP SP2). Näyttää pelittävän hyvin, nätisti rinnakkain Visual Studio 2005 / .NET 2 kehitysympäristön kanssa.
 
WinFX sisältää (asennusjärjestyksessä)
  • WinFX Runtime Components. Tuote on Beta 1, mutta sisältää mahdollisuuden Go-Live-lisenssiin. WinFx RC:n normaali asennuspaketti on vain 2 Mtavun kokoinen 'nenä', ja varsinaisen asennuksen yhteydessä haetaan netistä asennustiedostot. Tämä on hankalaa, koska asennuksen aikana (esim. VPC:ssä) on oltava nettiyhteys. Onneksi koko asennuspaketti voidaan ladata täältä. WWF on jo nyt Beta 2 tasoa, ja näyttääkin siltä, että tämä osuus valmistuu aikaisemmin kuin muut WinFX-osat.
  • Windows SDK. SDK jaellaan DVD img-kuvana. Asennuksen mukana tulee mm. WinFX helppitiedostot, jotka integroituvat .NET:in (Visual Studio 2005) helpin yhteyteen.
  • Visual Studio 2005 Extensions for WinFX, joka  on itse asiassa seuraavan Visual Studio-version (Orcas) CTP. Teknisesti tämä sisältää Avalon-designerin ja projektitemplatet, jotka asentuvat siis Visual Studio 2005:een.
  • Visual Studio 2005 Extensions for Windows Workflow Foundation, joka sisältää WWF-designerin ja projektitemplatet. Asennus Visual Studio 2005:een.

Microsoft Expression Graphic Designer January 2006 Community Technology Preview (CTP) on myös ladattavissa täältä. Tuote on ensimmäinen Avalonia käyttävä Web-sivujen (miksei myös WPF Windows-sivujen) suunnittelu- ja maalausväline. Asensin myös sen host-WinXP:hen, mutta käyttökokemuksia ei vielä ole.

 

//ahti

BTW, Enterprise Library 2.0 (for .NET 2) on myös valmistunut. Ladattavissa täältä.

 

 
November 19

Julkistusten viikot

Marraskuu on ollut MS-koodarille uusien tuotteiden kuukausi. Tässä minulle tärkeimmät tuotteet
  • .NET 2 / VS 2005 tuli 27.10. RTM:ään (Released To Manufacturing) ja on ladattavissa MSDN Subscribers Downloadissa. Myös maksuttomat (ensimmäinen vuosi) Express-versiot ovat ladattavissa
  • SQL 2005 tuli samaan aikaan RTM:ään ja on ladattavissa samasta paikasta. Myös maksuton Express-versio
  • eilen perjantaina 18.11 tuli Microsoft Dynamics CRM 3.0 RTM-versio samaiseen paikkaan.

Tärkeimmät WinFX APIt ja muut esiversiot ovat myös päivitetty VS 2005 RTM-versioiksi, kuten

  • Microsoft Pre-Release Software WinFX Runtime Components - November Community Technology Preview (CTP) (täällä) , eli Windows Communications Foundation (Indigo) ja Windows Presentation Foundation (Avalon)
  • Windows Workflow Foundation Beta 1.2 for Office "12" (Beta 1) (täällä), jossa on Windows Workflow Foundation beta 1.2, joka siis toimii VS2005 RTM:n kanssa
  • MS Ajax-ympäristö: Atlas - tai siis esiversio - toimii myös RTM:ssä. Ladattavissa täältä.
  • Visual Studio 2005 Team Foundation Server - Beta 3 Refresh. Ladattavissa MSDN Subscriber Download siteltä.
  • ja viimeisenä (muttei tietenkään vähäisimpänä) EntLibistä on tullut uusi esiversio "Enterprise Library for .NET 2.0 - November CTP", joka on ladattavissa täältä.  Myös tämä toimii VS2005 RTM:n kanssa.

Nyt voi siis vihdoinkin jättää VS2005 Beta 2:n arkistoon (siis Vista-levylle), ja päivittää kaikkiin tuotanto-VPC:hin VS2005 RTM. Hetkinen... DSL Tools toimii edelleen vain Beta 2:ssa, mutta siitäkin pitäisi tulla RTM:ssä toimiva versio näinä päivinä.

 

 

//ahti

November 16

32-bit aikakauden loppu lähenee

Longhorn Server tulee olemaan viimeinen 32-bit palvelinkäyttöjärjestelmä MS:lta (http://www.infoworld.com/article/05/11/15/HNms64bitplans_1.html)

"The server version of Microsoft's Longhorn operating system will come in both 32-bit and 64-bit versions, but Release 2 of Longhorn, scheduled for 2009, will be 64-bit only, Bob Muglia, senior vice president of Microsoft's Servers and Tools Business, said in a speech here. "

Tämä on tietysti odotettu ja positiivinen asia, kolkutteleehan läppäritkin jo tätä 4 Gtavun rajaa. I386:n kuoppaaminen on kuitenkin minulle itselleni haikea asia. Sattumoisin tein diplomityön I386:n käskykannasta ja sen vaikutuksesta sovelluskehitykseen (todellakin : ). Kirjoitin diplomityön Suomen ensimmäisellä 386-prosessorisella PC:llä - tai ainakin näin haluan asian ymmärtää. Kyseinen Compaqin386 Deskpro ostettiin KT-messuosastolta, jonne se lännätettiin ensiesittelyyn "suoraan tehtaalta". Koneessa ei ollut edes kovalevyä, mutta tehokas 32 bit 386 korvasti kyllä moisen puutteen.

Olen muuten aina ihmetellyt, miksi OS/2 v.3 (nykynimeltään NT) käyttää vain yhtä muistisegmenttiä, jolloin maksimi muistimäärä rajautuu tähän 4 Gtavuun? I386 sisältää käsitteen muistisegmentti, ja Intellin ajatus oli se, että kukin prosessi toimisi omassa segmentissään, jolloin muistiraja olisi 4 Gtavua/prosessi. 90-luvun alussa, jolloin NT-käyttäjärjestelmän tekniset ratkaisut tehtiin, tuntui tästä asiasta keskustelu perin "akateemiselta" - olihan muistiavaruutta kylliksi yhdessäkin segmentissä. Ja nyt lienee helpompi pidentää muistiosoitetta kuin alkaa pitäämään kirjaa segmenteistä.

 

//ahti

 

PS. [19.11.] Lisään näin jälkikäteen tähän merkintään myös samaisessa seminaarissa tehdyn julkistuksen, että seuraava Exchange-palvelin (Exchange 12) on myös vain 64-bittinen.

 
November 15

Virtual PC - Host muistin vapauttaminen

Käytän hyvin paljon Virtual PC:tä sekä sovelluskehityksessä että myös esityksien demoissa. Ohessa on käyttämäni CleanHost.BAT, jonka avulla pyrin vapauttamaan niin paljon Host-käyttiksen muistoa kuin mahdollista client-käyttiksen eduksi.
 
Aluksi stoppaan "kaikki" mahdolliset palvelut, ml. käyttämämme virustorjunnan (tätä käytän siis vain demojen esittämistä varten). Lopuksi suljen taskkill.exe:llä muutamia vakioprosesseja, mm. msn desktop search:in. Tämä on kyllä rumaa mutta usein kyse on siitä, että nopeasti pitäisi saada muistia sen verran, että VPC lähtee käyntiin.
 
//ahti
 
 
 
net stop mssqlserver
net stop "Sql Server (SQLEXPRESS)"
net stop "SQL Server FullText Search (MSSQLSERVER)"
net stop "SQL Server Integration Services"
net stop "SQL Server VSS Writer"
iisreset /stop
net stop "Message Queuing Triggers"
net stop "Message Queuing"
net stop "Automatic Updates"
net stop "Background Intelligent Transfer Service"
net stop "Dell Wireless WLAN Tray Service"
net stop "Symantec Antivirus Definition Watcher"
net stop "Symantec Antivirus Event Manager"
net stop "Symantec Antivirus Settings Manager"
net stop "Symantec Antivirus"
net stop "DirectX Debug Service"
net stop "Machine Debug Manager"
net stop "InCD File System Service"
net stop "Help and Support"
net stop "Firewall Client Agent"
net stop "Print Spooler"
net stop "Windows Image Acquisition (WIA)"
net stop "Terminal Services"
net stop "Task Scheduler"
net stop "SSDP Discovery Service"
net stop "IT Connection Manager"
net stop "Smart Card"
net stop "Infrared Monitor"
net stop "Error Reporting Service"
net stop "Web Client"
taskkill /IM WindowsSearch.exe
taskkill /IM WindowsSearchFilter.exe
taskkill /F /IM WindowsSearchIndexer.exe
taskkill /IM gcasDtServ.exe
taskkill /F /IM msnmsgr.exe
October 22

Microsoft Business Framework

Microsoft Business Framework (MBF) oli yksi niistä tuotteista, jotka MS julkaisi hyvin etukenossa vuoden 2003 PDC:ssä (esityksen kalvot ovat täällä). MBF näytti erittäin lupaavalta (täällä on sen kehityksen seurantaan keskittynyt saitti), mutta sen kehityspolku on ollut takkuinen. Tuote on siirtynyt Business Solutions -divisioonasta Visual Studio-divisioonaan ja nyt julkaistussa tilannekatsauksessa jälleen takaisin MBS:n hoiviin. Kuten tässä Mary Jo Foleyn artikkelissa todetaan, MBF ei tule olemaan oma tuotteensa, vaan se on osa useaa tuotetta, kuten:
  • Windows Workflow Foundation sisältää paljon MBF:n prosessihallinnon toiminnoista
  • LINQ on osa alkuperäisen MBF:n ORM:ää (tietokannan oliomaista käsitteltyä)
  • tuleva Common Data Platform (CDP) on myös MBF:n jatkoa

Varsinainen MBF:n entity- ja pattern-suunnittelualusta toimitetaan vain MBS:n uusien Dynamics-tuotteiden mukana. Harmi. Se, mitä olen MBF:stä nähnyt, on ollut erittäin mielenkiintoista ja lupaavaa.

 

//ahti

September 20

PDC 2005 matkaraportti

Tämän matkaraportin olen kirjoittanut yhdessä Timo Jokisen kanssa.
 
Yleistä
Professional Developer Conference (PDC) 2005 oli jälleen loppuunmyyty. Lähes 10 000 osallistujaa kokoontui kuuntelemaan ja keskustelemaan Windows sovelluskehityksen tulevista suuntaviivoista Microsoftin henkilöstön kanssa. Suomalaisia PDC:ssä oli parikymmentä. PDC:n esiintyjäkaartin muodostavat perinteisesti Microsoftin asiantuntijat, ne jotka todella vastaavat ja toteuttavat sovelluskehitysvälineet. Esitysten lisäksi järjestetään paljon keskustelutilaisuuksia, joissa jokainen asiasta kiinnostuneen on mahdollista vaihtaa mielipiteitä toistensa ja MS:n henkilöstön kanssa.
 
Los Angeles oli kolmannen kerran peräkkäin PDC:n ”alustana”. LA:ssa oli lähes shortsikeli, mutta messukeskuksen viileydessä se ei haitannut. Järjestelyt sujuivat totutun varmaan sävyyn, tosin pre-conferencepäivänä sattunut muutaman tunnin sähkökatkos vaikutti omalla mielenkiintoisella tavalla järjestelyihin. Bill Gates lohkaisikin avauspuheenvuorossaan, että kun hän on useaan otteeseen verrannut ja asettanut tavoitteeksi sen, että softasta pitäisi tulla yhtä helppokäyttöistä ja luotettavaa kuin vaikkapa sähkönjakelusta, niin hän tarkoitti kyllä toteutusmallia toisinpäin – siis softan luotettavuuden olisi parannuttava.
Vaikka PDC tilaisuutena on nimenomaan sovelluskehittäjille suunnattu, voidaan sen antia tarkastella myös käyttäjien ja infran näkökulmasta.
 
Käyttäjänäkökulmasta katsottuna keskeisimpinä asioina tuli esiin Office 12 uusi käyttöliittymämalli ja Windows Vista käyttöjärjestelmäversio. Vaikka näiden välillä ei olekaan suoraa teknistä riippuvuutta, niin ilmestymisaikataulut pyritään kuitenkin nitomaan toisiinsa siten, että seuraava iso muutos olisi uuteen käyttöjärjestelmään ja uuteen Office versioon siirtymisen aloittaminen ensi vuoden lopulla.
Infranäkökulmasta mielenkiintoisia asioita ovat esim. Vistan asettamat tekniset vaatimukset laitteistoille ja toisaalta käyttöjärjestelmäpalveluiden ja palvelinsovellusten kehittyminen ja aikatauluarviot. Tällä saralla mielenkiintoisimpana asiana tuli esiin IIS 7 ja merkille pantavaa oli myös Windows SharePoint palveluiden esiin nostaminen monessa eri yhteydessä.

 
Office12
Dokumentin tekemisen tuottavuuden parantaminen on haastavaa – softa osaa jo kaiken. MS:n tekemien tutkimusten mukaan kun käyttäjältä kysytään toivomuksia Officeen lisättävistä ominaisuuksista, niin yhdeksän kertaa kymmenestä toivottu ominaisuus on jo olemassa Officessa, mutta käyttäjä ei ole vain sitä löytänyt.
 
Office 12 kehittyykin nimenomaan käyttöliittymältään. Menu ja toolbar heitetään menemään!  Ribbon tulee tilalle.  Toki Context –valikot säilyvät. Käyttöliittymän muutosten keskeisenä motivaationa onkin ollut juuri keskittyä siihen, kuinka käyttäjät löytäisivät oikeat toiminnot oikeaan aikaan. Käyttöliittymää on pyritty muokkaamaan nykyisestä komento-ohjauksesta enemmän lopputulosohjautuvaksi. Mielenkiintoista nähdä kuinka tämä uusi käyttöliittymämalli lopulta toimii ja kuinka se saadaan sujuvasti käyttöön. Ensivilkaisulla uusi käyttöliittymä vaikuttaa kuitenkin erittäin hyvältä.
 
Officen perussovellusten muutosten lisäksi etenemistä on tapahtunut myös dokumentin elinkaaren hallinnassa. Sharepoint Portal Server ja tuleva Windows Workflow Foundation on integroitu Officeen saumattoman tuntuisesti. Office System pyrkii yhä pidemmälle hallitsemaan dokumentin tuottamisen lisäksi sen koko elinkaaren: työnkulun, dokumentin käsittelyketjut ja jakelun.
 
Iso muutos Office-tuoteperheessä on myös dokumenttien uusi tallennusformaatti. Oletusformaatiksi tulee XML- ja tiedostopohjainen järjestelmä. Office-dokumentti on itse asiassa zipattu hakemisto, jossa kukin dokumenttiosa (esim. kuvat) ovat omina tiedostoinaan. Itse dokumenttikin on useana tiedostona, esim. itse teksti on erillään muotoilusta. Uusi tiedostoformaatti tulee korjauspakettina myös Office XP ja 2003 ympäristöön. Avoin tiedostoformaatti mahdollistaa Office-dokumenttien tuottamisen ja modifioimisen ilman Office-tuotetta suoraan tiedostojärjestelmän avulla.

 

Ribbon korvaa perinteiset valikot ja toolbarit Microsoft Word, Excel ja PowerPoint –sovelluksissa.
 

Windows Workflow Foundation
Windows Workflow Foundation (WWF) on uusi, suoraan käyttöjärjestelmän hallitsema palvelu. Työnkulku voidaan suunnitella ja ohjelmoida Visual Studiolla. Työnkulun moottori ohjelmoidaan itse, tai käytetään Microsoftin tuotteita (tällä hetkellä niitä olisi Biztalk Server ja SharePoint Server). Myös kolmansien osapuolten tuotteet tulevat käyttämään tätä käyttöjärjestelmän uutta palvelua.
 
WWF vaikuttaa todella lupaavalta. Lähes kaikki yrityssovellukset tarvitsevat työnkulun hallintaa (yli sovelluksen tai Wizardin elinajan) ja tällä hetkellä ne toteutetaan pääsääntöisesti sovelluskohtaisesti (tai jätetään manuaalisesti toteutetuksi). WWF merkitsee samaa kuin aikoinaan relaatiokantojen tuleminen sovellusten pysyvän datan hallintaan tai Visual Basic 1 tapahtumaohjatun graafisen sovelluksen tekemiseen.
 
Windows Vista ja Longhorn Server
Windows Vista on aikaisemmalta koodinimeltään Longhorn Client. Longornin Server-versiosta käytetään edelleen nimeä Longhorn Server (tai Windows Server 2007). PDC ei tuonut erityistä uutta näiden projektien aikatauluun tai sisältöön. Nyt julkistetun arvion mukaan työasemaversio valmistuu ensi vuoden loppupuolella ja palvelinversio vasta vuonna 2007.

Melko suuri osa esityksistä ajettiin Windows Vista Beta 1:llä, mutta laiteajurien ja Virtual PC Additionsien puute tekee siitä vielä melko haastavan testattavan. Infranäkökulmasta miettimisen aihetta antaa myös tarvittava laitealusta. Vaikka Vista sinänsä  on asennettavissa ”nykystandardin” mukaisiin laitteisiin, saadaan paras toiminnallisuus aikaiseksi laitteissa, joissa grafiikkakiihdytinkortit ovat nykyistä huippuluokkaa. Eikä lisähertsien ja -gigojenkaan määrästä koneissa haittaa olisi.
 
Uusi, .NETin korvaava (tai sen seuraava versio, kuinka halutaankaan sanoa) ohjelmointirajapinta on Windows Framework, lyhenteenä WinFX. WinFX julkaistiin vuoden 2003 PDC:ssä, ja silloin sen piti tulla vain Longhorniin (ja sitä seuraaviin käyttöjärjestelmiin). Sittemmin suunnitelmia on tarkennettu, ja WinFX:stä tulee hieman suppeammin toimivat versiot myös Windows XP:hen ja Windows Server 2003:een. Tosin WinFX:ää ei toteta ensivaiheessa ”kokonaan”, vaan WinFS (future fileSystem) valmistuu myöhemmin. WinFx:n aikataulu ei seminaarissa erityisemmin tarkentunut, se on edelleen ”Windows Vista timeframe”, siis ensi vuoden loppupuoli.

WinFX – Windows Presentation Foundation
WinfFX:n käyttöliittymätekniikka WPF (aikaisemmin Avalon) tulee poikkeamaan huomattavasti nykyisistä Win32, Windows Forms ja ASP.NET käyttöliittymistä. Se perustuu XAML sivunkuvauskieleen ja tapahtumamalliin. Eräs suurista kysymysmerkeistä on WPF:n siirrettävyys muille selaimille, muihin käyttöjärjestelmäalustoihin ja/tai mobiiliympäristöön. PDC:ssä mainittiin WPF/E (Windows Presentation Foundation/Everywhere), jonka tavoitteena on tuoteuttaa siirrettävä XAML-kuvauskieleen perustuva käyttöliittymäalusta, mutta sen onnistumisen todennäköisyyttä on vielä liian aikaista arvioida.

Seminaarissa demottiin muutamia erittäin hienoja XAML-käyttöliittymiä. Lomakkeet ovat koreita, zoomaus ja videostreemit luonteva osa käyttökokemusta. Näiden ominaisuuksien todellinen ”business value” operatiivisten sovellusten parantamisessa jäi vielä ohueksi.

 
WinFX – Windows Communication Foundation
Indigo on nyt nimeltään Windows Communication Foundation (WCF). WFC yhdistää Microsoftin kaikki hajautus- ja palveluohjelmointimallit (esim. DCOM, .NET remoting, ASP.NET Web Services, MSMQ)  yhden ohjelmointimallin taakse. Kaikki hajautus perustuu Web Service standardeihin, etenkin uusimpiin WS-Security-standardeihin (WS-*) sekä SO arkkitehtuuriin. WCF tukee hyvin siirtymävaihetta, joten nykyisistä ohjelmointimalleista on suoraviivaista siirtyä joko kerralla tai vaiheittain WCF:hen.

LINQ ja C# 3 / VB.NET 9
Eräs mielenkiintoisimmista sovelluskehitykseen vaikuttavista pitkän aikavälin julkaistavista asioista oli .NET Language Integrated Query (LINQ). LINQ esiteltiin tässä vaiheessa suurelle yleiselle lähinnä kokemusten keräämistä varten. Kehittäjien antaman palautteen perusteella tämä tekniikka tulee vasta muutamien vuosien kuluttua käyttöön. LINQ:ssa on kysymys C#:iin ja VB.NET –kieliin  tehdyistä laajennuksista, joiden avulla voidaan suoraan ohjelmointikielissä tehdä kyselyja kaikkeen kokoelmadataan. LINQ:sta on laajennukset relaatiokantojen ja XML dokumenttien (ja myöhemmin DataSetien) käsittelyyn. Nämä laajennukset tekevät LINQ:sta myös ORM:n (Object relational Mapper). LINQ ei vaadi muutoksia itse CLR:ään, vaan on toteutettavissa kääntäjiin tehdyillä laajennuksilla.

LINQ:n toteutusaikataulua ei seminaarissa tarkennettu, mutta siitä on jo nyt käytettävissä tutustumista varten Beta1 versio.
 
Mielenkiintoinen ”irtiotto” VB kielessä tulee olemaan XML ohjelmointituen tuominen suoraan kieleen (versiossa VB.NET 9). Muuttujalle voidaan suoraan sijoittaa xml-muotoista dataa (siis ei merkkijonoa) ja käsitellä sitä sen jälkeen tyypitetysti. Datan joukkoon voidaan myös sijoittaa ”täyttökohtia”, jotka mahdollistavat dokumentin helpon muokkaamisen ilman oliomallin käyttöä. Toisaalta voidaan myös kysyä, onko XML:n ja VB.Netin sitominen toisiinsa näin vahvasti siinä mielessä perusteltua, että nyt kieli tulee riippuvaiseksi toisesta tekniikasta, jonka kehittymisen suuntaviivat eivät ole kielen kehittäjien ohjailtavissa.
 
Northwind db = new Northwind(…);
var contacts =
    from c in db.Customers
    where c.City == "London"
    select new { c.Name, c.Phone };
 
Kuva: tietokantakysely LINQ:n avulla (C# -kielinen)
 

Vaikutukset sovellusarkkitehtuuripäätöksiin nyt
PDC:ssä keskitytään aina pitemmälle menevään tulevaisuuteen, eikä tämän päivän tekniikoihin (esim. .NET 2.0 oli tämän seminaarin näkökulmasta jo ”valmis ja käytössä”, vaikka tuotantoversion ilmestymiseen onkin vielä muutama kuukausi).

Tänä päivänä aloitettavat projektit toteutetaan melko varmasti nyt olevilla (tai tulevilla, kuten Visual Studio 2005) välineillä eivätkä nämä uudet tekniikat vielä vaikuta niihin. Microsoft panostaa edelleen voimakkaasti SOA arkkitehtuurin toteuttamisvälineisiin. Web Service ja etenkin sen laajennetut standardit (WS-*) ovat MS arkkitehtuurissa etusijalla, joten niitä on syytä suosia jo nyt tehtävissä projekteissa.

Open Office-paine näkyy siinä, että MS panostaa yhä enemmän dokumenttien tuotannon lisäksi niiden elinkaaren hallintaan. MS Office System on alati kehittyvä ja muuttuva maalitaulu ja tavoite Open Source –toteutuksille. MS tarjoaakin todennäköisesti jatkossakin edullisimman vaihtoehdon dokumenttihallintakokonaisuuden ratkaisuksi.
Pidemmän aikavälin sovellusarkkitehtuurivaikutukset ovat lähinnä käyttöliittymän, workflown ja tietokantaliitynnän toteutusmuutokset. Näitä koskevien usean vuoden päähän tähtääviä ratkaisuja ei voi tehdä turvallisesti ennen kuin WPF:n ja LINQ:n onnistumisesta on näyttöä.

//timo jokinen ja ahti, LA, CA
 

Vista tuskaa

Työni puolesta saan ottaa käyttöön puolivalmiita tuotteita, usein jo beta-vaiheen alkaessa. NT 5:n otin pääasiallisen tuotantokoneeni  (=läppäri) käyttikseksi hieman ennen Beta 1:n aikaa, Windows XP:n Beta 2 versiosta lähtien. Visual Studio 2005:sta olen käyttänyt jo kaksi vuotta - pääasiallisena koodausvälineenä. Tulen mielestäni hyvin toimeen beta-versioiden kanssa.

Windows Vista on koettanut olan takaa kärsivällisyyttäni. Olen törmännyt lähes koko ajan kiusallisiin ongelmiin ja ne ovat työllistäneet "enemmän kuin laki sallii". Tässä lyhyt historia Vista-kokemuksistani.

Asensin Vistan Technology  Previewn (silloin toki nimeltään Longhorn Tech. Preview) vuoden 2003 kesällä PDC:n jälkeen. Se asentui kauniisti Virtual PC:hen (sen mukana tulivat VPC:n vaatimat Addtionsit). Tuotteen mukana tulivat myös Visual Studio Whidbeyn esiversio kuten myös WinFX esiversio. Opiskelin muun muassa Object Spacen täysin tässä ympäristössä. Yritin käyttää tätä VPC käyttistä pääasiallisena ympäristönä, mutta Longhorn esiversioon ei tullut lähes vuoteen uusia buildejä eikä asiakkaitamme näin varhaiset tuotteet kiinnostaneet, joten sen käyttö vähitellen jäi. Palasin päivittäisien rutiinien pyörittämisessä Windows XP / Windows Server 2003 ympäristöön.

Otin uuden alun tämän kesän lopulla kun Windows Vista Beta 1 ilmestyi. Asensin sen (varoituksista huolimatta) Virtual PC-ympäristöön (VPC). Asennus oli _niin_ hidas, että vasta kolmannella kerralla uskoni riitti suorittamaan sen loppuun (asennus kesti ilmeisesti (en jaksanut päivystää :) yli 6 tuntia). Vista toimi VPC:ssä, mutta sikahitaasti. Siis todella hitaasti, hiiren liikettäkin/ikkunan avautumista sai odottaa sekuntikaupalla. Tästä toki varoiteltiin, mutta oli se yllätys, varsinkin kun 2 vuotta sitten  julkaistu esiversio toimi paremmin (ilman additionseja), ja onhan toki VPC:n käyttö tullut lähes standardiksi uusien ympäristöjen koekäytössä. Vista Beta 1:een on olemassa tiskin alta jaettava VPC Additionsit, mm. täällä. Tämän asentamalla Vista toimii VPC:ssä jossain määrin kohtuullisesti, mutta uudet käyttöliittymäominaisuudet (mm. aero ja class) eivät ole 'näyttäviä'. Toki VPC-imagea voi käyttää esim. WinFX koealustana, mutta kyllä se vaatii hermoja.

VPC-kokeiluni tyssättyä päätin palata vuosien tauon jälkeen dual-boottiin. Dualboot vaatii sen, että koneessa on useampi partitio. Ulkoinen kovalevy (USB-levy) voisi toki olla se toinen partitio, mutta läppärin käytettävyyttä ulkoinen levy haittaa tosi paljon. Koska koneen sisäinen levyni on ollut varmaan jo 5 vuotta yhtenä partitioina, jouduin asentamaan PowerQuest:n PartitionMagic 8.0n, jolla onnistuneesti pilkoin C-levynin kahteen partitioon. Tuli melankolinen déjà vu  fiilis, kun joutui pähkäilemään minkä kokeiseksi partitiot jättäisi. Lohkaisin lopulta Vistalle 20 gigan partition (se on muuten riittänyt). Asensin tähän uuteen partitioon Vista Beta 1:n. Suorituskyky oli kohtuullinen, mutta verkkokortit (sekä WLAN että kiinteä) eivät toimineet - tai toimivat todella epävarmasti. Kooneeni kaatui usein. Tähän ongelmaan löytyi lopulta vastaus täältä (okei, se on uudempi linkki, mutta Tim Sneathin blogi on kullan arvoinen Vistaa käyttäville):
  • A number of Dell and other laptops have Broadcom 440x integrated network cards. The Windows XP driver for this card works on Windows Vista, but it will cause a blue screen crash on machines with more than 1GB memory. To resolve this problem, edit the boot.ini file to add a /maxmem=1024 switch for the Windows Vista partition. This will reduce the available memory for this partition to 1GB. Alternatively, you can of course disable the network driver.

Jouduin siis asentamaan Windows XP-ajurit verkkokorteilleni, ja nämä ajurit (siis myös WLAN) kaatuvat, jos koneessa on yli 1 giga muistoa. Kyllä alkoi luottamus ajurien luotettavuuteen ja testausten kattavuuteen horjua. Toki ajurit joudutaan kirjoittamaan erittäin 'unsafe' kielillä, kuten C:llä ja C++:lla, mutta silti. Että tälläinen todennäköisesti pointteriaritmetiikkavirhe on olemassa näinkin yleisesti käytetyissä ajureissa. Yhtä kaikki, rajoittamalla muistin gigaan Vista pelittää. Tosin uutta Glass-käyttöliittymää ei vieläkään voi demota, koska koneenin näyttökortille GeForce FX Go5200 ei ole Vista ajuria. Monille muille GeForcen korteille kyllä on esiversioita, mutta ei näille läppäreissä käytettäville versioille. Grafiikkamuistia olisi riittävästi (64 M) ja DirectX 9 tuettu, mutta ei ajuria (nämä ovat Glass-käyttöliittymän vaatimuksen, ihan niin kuin Tim blogissaan mainitsee). Läppärit ja VPC:t ovat huonommin tuettuja kuin varsinaiset desktop koneet - vaikka asian pitäisi olla juuri päinvastoin.

Jos päivität Vista Beta 1:n dual-boot koneessa, niin huomaat, että asennuksen jälkeen Vistaa käynnistäessä kone kaatuu. Tämä johtuu siitä, että uudelleenasennuksessa Boot.ini -tiedostoon tulee kaksi kertaa Vista-osion tiedot (kiitos Aali asian ratkaisemisesta :). Asia korjautui korjaamaalla C:n rootissa oleva Booti.ini tiedosto käsin (=poista toisteinen Vista-rivi).

Office 2003 asentuu Vista Beta 1:lle ongelmitta. Ohjelmointia (VSTO - Visual Studio Tools For Office) varten muista asentaa .NET Programming Support.

Visual Studio 2005 beta 2:n asennuksessa törmäsin myös MSXML6 parserin asennusongelmaan (kuten Tim blogissaan mainitsee. Jos aiot asentaa Visual Studion, lue tarkasti kohta "Windows Vista and Developer Tools"). XML parseri pitää asentaa Vistan asennuslevyltä ennen Visual Studion asentamista. Muihin ongelmiin en sitten törmännytkään. Paitsi tietysti se, että kaikki .NET ohjelmointivälineet ovat hyvin framework-versiosidonnaisia ja että aliversioltaan (kaksi jälimmäistä versionumeroa) kahta eri versiota koneeseen EI voi asentaa. Koneessa voi hyvin olla frameworkin versiot 1.0. 1.1 ja jokin 2.0 -versioista mutta ei kahta eri whidbey-versiota. Tämä hankaloittaa uusien asioidan tutkimista, esimerkiksi WinFX ja LINQ (Language Integrated Query) toimivat vain ja ainoastaan Beta 2- versiolla eivätkä uudemmalla RC1-versiolla. Puhumattakaan SQL Server 2005 / Visual Studio 2005 versioyhteensopivuusongelmista. Onneksi tämä versiorajoitus koskee vain aliversiota, ja on beta-vaiheen ohimenevä ongelma (nyt ristin sormeni ja koputin puuta - useasti :)

Yhtä kaikki: en ole halustani huolimatta voinut ottaa vielä Vistaa pääasialliseksi ympäristöksi. Whidbeyn, SQL CLR:n ja .NET APIen rinnakkainen kehittäminen on tehnyt beta-vaiheen testaamisesta erittäin hankalaa. Edes VPC ei ole auttanut, koska Vista ei siinä kunnolla toimi. Odotan todella .NET 2.0:n valmistumista. Oletettavasti odotukseni ei ole (enää) pitkä.

 

//ahti

August 22

Visual Studio 2005 julkaisuaikataulu

MS julkaisi (tai paremminkin bloggasi) ensimmäisen VS 2005/SQL 2005 aikataulun täällä: http://blogs.msdn.com/somasegar/archive/2005/08/22/451026.aspx.
 
MS nimesi jo kesän alussa 7.11.2005 alkavan viikon "Launch Week":ksi, mutta jätti tarkemmin speksaamatta, mitä se oikeastaan tarkoittaa. Toki oli kohtuullista olettaa, että julkaistavien tuotteiden RTM:t (release to manufacturing) olisi lähellä tuota päivää, mutta tarkkaavaiset lukijat kyllä näkivät, että näin ei välttämättä olisi.
 
Tässä lyhennelmä Somarsegarin (Corporate VP of Developer Division) blogista ja vähän muualtakin:
 
  • syyskuussa tulee VS RC1 (Release Candidate) ja samassa yhteydessä viimeinen SQL 2005 CTP
  • Team Foundation Server (TFS) Beta 3 julkaistaan samoihin aikoihin (sisältää GoLive-lisenssin)
  • TFS valmistuu Q1/2006
  •  
    Marraskuussa julkaistavista tuotteista RTM:ssä ollee SQL Server 2005 ja VS 2005. TFS ja BizTalk Server valmistuvat siis 2006 alkupuolella.
     
    //ahti
     
     
     
     
    July 05

    TechEd Amsterdam

    Olen TechEDin Ask the Expert (ATE) deskilla seuraavasti:
    • tiistaina klo 11:30 - 14:00
    • torstaina klo 14:016:30
    • perjantaina klo 13:00-15:00

    Kaykaapa moikkaamassa,

     

    ahti

    June 02

    MS:n "virallinen" MDD-kanta

    MSDN-sitelle tuli vihdoin Greenfieldin ja kumppaneiden jo blogeissaan julistama mallinnus(väline)kritiikki ja kanta tulevaan kehitykseen (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vstsmodel.asp).

    Artikkelissa on suoria otteita kavereiden blogeista, joita mm. Aali seuraa ja kommentoi aktiivisesti.

    MS:n virallinen kanta on siis kovasti pro MDD (Model Driven Development) ja DSL (Domain Specific Languages) ja samalla kritiikki UML:ää vastaan jatkuu.

    Tässä minun suosikkilainaus: 

    To summarize, we would recommend using UML and UML-based tools for:

    • Sketching.
    • White boarding.
    • Napkins.
    • Documentation.
    • Conceptual drawings that do not directly relate to code.

    //ahti

    June 01

    Virtual PC ja hyper threading (ongelma ratkaistu)

    Jokisen Timpalla ja minulla on ollut jo jonkin aikaa VPC ongelma (meillä on samanlaiset Dell Inspiron 5150 / Pentium 4 3.2 HT / 2 Gt ) läppärit. VPC SP1 / Win XP SP2 asentamisen aikoihin VPC (nimenomaan client-käyttikset) jumiutuivat aika ajoin muutamiksi sekunneiksi. Tämä on erittäin kiusallista, teki esim. VPC:n käyttämisen esityksissä mahdottomaksi. VPC:tä ei ole myöskään voinut käyttää sovelluskehityksessä.

    Ongelmaa on googlattu aikalailla, eikä ratkaisua ole löytynyt.

    Vihdoinkin tänään Timppa mailasi "Valoa tunnelin päässä", linkkinä tämä: http://blogs.msdn.com/dglover/archive/2005/03/30/403508.aspx

    Ongelma johtui siis hyper threadingistä. Ja siihen saatiin patch. Ja nyt pelittää :)

     

    //ahti

    Dynaamiset kielet ja .NET

    Karannan Antti, FCS:n UML ja Java-asiantuntija, on useaan otteeseen 'meuhkannut' dynaamisten kielten, kuten Ruby, Python, kehittymisestä. Ja hän ennustaa että niiden merkitys kasvaa merkittävästi muutaman vuoden kuluessa. Antti esitti kysymyksen, että mikäs niiden rooli onkaan .NET maailmassa?

    MS on jossain määrin ilmaissut  mielenkiintoaan dynaamisia kieliä kohtaan. Maaliskuussa pidetyssä
    PyCon 2005 konferensissa MS julkaisi "pre-alpha" version IronPythonista, ns. IronPython Shared Source Licensing Program (http://www.microsoft.com/resources/sharedsource/Licensing/nPython.mspx)

    Muutoin en näe .NET leirissä erityisempää kiinnostusta dynaamisia kieliä kohtaan. Tästä herää kysymys: miksi? Uskon, että syitä on kaksi

    1. Late Binding on tuttu tekniikka, ja tuo osan dynaamisten kielten eduista jo nyt
    2. koodin kirjoittamisen aikainen tuki on tärkeää ja vaikeasti toteutettavissa dynaamisissa kielissä (siis intellisense)

    Dynaamisia kieliä käytettäessä (yksikkö)testaus on must, sehän korvaa paljolti kääntäjän tekemän 'testauksen'. Tämä edellyttää, että testauksen pitää olla hyvin organisoitua ja automaattista. Team System tuo näitä ominaisuuksia Visual Studio IDEen, joten tämä ei estä dynaamisten kielten tuloa .NET maailmaan.

    Katsotaan näitä seikkoja yksityiskohtaisemmin

    Late Binding
    Tiedän, että myöhäinen sidonta (late binding) ei ole 'se juttu' dynaamisissa kielissä. Mutta käsittääkseni Visual Basic (kaikki versiot) ja COMin IDispatch (ja IDispatchEx) ovat tuoneet melkoisen osan niistä eduista, joita dynaamiset kielet tarjoavat, jo aikojen alusta lähtien. VB:n late binding on aivan erilailla käytettävissä verrattuna Javan (tai C#:n) reflectioniin. Late bindingia käytetäänkin hyvin paljon. VB siis mitätöi yhden dynaamisten kielten kilpailueduista.

    Intellisense
    Dynaamisten kieten käsittelyssä puhutaan paljon käännös- vrs. ajonaikaisesta tyyppitarkistuksesta. Lisäisin tähän kolmanneksi vaiheeksi koodin kirjoittamisen aikaisen tyyppitietoisuuden, joka näkyy ennen kaikkea intellisensenä. Eli koodia kirjoitettaessa tiedetään ja voidaan selvittää, mitä ominaisuuksia objektilla on. Intellisensen vaikutus koodauksen tuottavuuteen on erittäin suuri. Vaikutusta ei ole pelkästään kirjoitetun koodin virheettömyyden varmistamisessa jo koodatessa, vaan myös käytettyjen objektien ominaisuuksiin tutustumisessa. Intellisense korvaa paljolti object browserin. Dynaamisten kielten yleistyminen edellyttäisi IDEn melkoista kehittymistä, tekoälyn tuomista IDEen. IDEt ovatkin nykyään melko tyhmiä, jopa WORD osaa korjata vapaamuotoistakin tekstiä kirjoittamisen aikana, jonka luulisi olevan paljon haastavampaa kuin syntaksiltaan rajatun lähdekoodin korjaaminen. Mutta vasta VB.NET 2 tuo joitain (vaatimattomia) ominaisuuksia tähän suuntaan. Dynaamisten kielten IDEn pitäisi suorittaa koodia jatkuvasti, jotta se voisi tarjota edes osan niistä palveluista, joihin koodaaja on jo tottunut vahvasti tyypitettyjä kieliä käyttäessään.

    //ahti