ceturtdiena, 2008. gada 30. oktobris

Surface projekts. Part 2. Virtual Earth

Neliels video, kurš demonstrē Virual Earth karšu lietošanu uz Surface, par kuru rakstīju iepriekš. Žēl, ka Microsoft ir zemas izšķirtspējas Latvijas satalītuzņēmumi - maps.google.com viņus apsteidz.

Daži photo: updated

Click on this:
From PDC2008

Valoda F# : that's cool

Valodas demo mani ļoti ieintersēja. Sākumā F# izliekās diezgan smieklīga un teorētiska valoda, bet, kad no uzrasktītā koda tiek iegūtas normālas .Net komponentes (klases ar metodēm), tad to jau sāku novērtēt. Koda rakstīšana ir ļoti efektīva. Pārsteidzoši vienkārši realizējams asinhronisms un paralēlisms.
Lai nesamelotu, neko vairāk neteikšu. Iesaku palasīt info un paskatīt sampļus šeit.

Noklausīta saruna 2

Lekotrs: "Mēs nerakstam kodu naudas dēļ, bet tāpēc, ka mums to patīk darīt..."

TFS & MS: tikai fakti

Dažai fakti par TFS (Team Foundation Server) lietojumu Microsoft:
  • 14.5k lietotāju (aktīvi pēdējās nedēļas laikā)
  • 2.5k projektu
  • 2.7m darba uzdevumu
  • 40m source code failu
  • 467k buildu
  • lielākajā projekta komanda – 2500 cilvēku.

PS.

Lektore: „MS izstrādātāji ir iedalāmi divās grupās: produktu grupas un MSIT jeb iekšējais IT personāls. Iespējams, ka jūs arī esat no šādas iekšējās IT grupas. MSIT ir 2000 darbinieki.”

Klausītāji: „Protams, mēs arī esam no TĀDAS grupas :)”

Windws Azure. Part 3

Tātad Azure ir operētājsistēma Mākonim (The Cloude). Tajā ir daudzi servisi, kurus jaunās aplikācijas varēs izmantot: datu bāze, darbu plūsmas, lietotāju identificēšana u.c. Kā reklāmas materiāls tas izklausās labi, bet diezgan biedējoši izstrādātājam, iedomājoties, ko nozīmē šādas sistēmas debugošana - faktiski viss ir Tur Ārā Mākonī. Tomēr satraukumam nav pamata, jo Microsoft Azure piedāvā izstrādes vidi, kurā Azure servisi ir pieejam lokāli. Visu debugošanu ir iespējams veikt lokāli uz izstrādāja darbstacijas.

trešdiena, 2008. gada 29. oktobris

Surface 2

Šodienas keynote sesijā konferences dalībniekus iepazīstināja ar Microsoft Research sasniegumiem. Lūk nākamā skārienjūtīgas virsmas paaudze:

Daži photo

Dažas bildes no pasākuma pieejams Picasā


From PDC2008

Windows Azure. Part 2. Service Bus

Jauka Windows Azure sastāvdaļa ir Service Bus (turpmāk - Servisu Autobuss). Tas nodrošina servisu "nogādāšanu" nepieciešamajā vietā. Pieņemsim, ka man ir serviss, kurš būtu publicējams ārpasaulei un jāpadara pieejams Mākonī. To varētu darīt divējādi: atvērt savu lokālo serveri visai pasaulei un cīnīties ar nepieciešamo drošību vai atrast pakalpojuma sniedzēju, kurš uztur Azure platformu ar Servisu Autobusu (šobrīd tāds ir tikai viens - Microsoft). Servisu autobusā es varu piereģistrēt savu servisu. Visiem klientiem, kuriem mans serviss būs nepieciešams, es iedošu tā adresi, ar norādi uz Servisu Autobusu. Tādejādi visi klientu pieprasījumi tiks maršrutizēti caur Servisu Autobusu uz manu serveri, un mans serviss būs jāpadara pieejams tikai un vienīgi manam Azure pakalpojuma sniedzējam.

Situācija patiesībā ir vēl labāka. Es varu pateikt, kuri ir autorizētie servisa lietotāji, un Servisu Autobuss, lietojot Live Identity, nodrošinās klientu autorizēšanu. Tādejādi: (1) deklaratīvi var atrisināt autorizēšanas jautājumus, (2) lietotāji var lietot savu visā webā lietoto identitāti.

Parallelism is about performance

Vienā no semināriem tika apskatīti paralēlisms un multicores aplikācijas. Mēģināšu reproducē dažas pamatidejas, par kurām pasākumā runāja.

Pamatideja: paralēlismu kodā vajadzētu ieviest tikai, kad tas ir nepieciešams, jo paralēlisms: (1) palielina kļūdu skaitu, (2) palielina sarežģītību. Tomēr rakstot kodu, vajadzētu analizēt un plānot, kurās vietās nākotnē, ja rodas kādas ātrdarbības problēmas, var ieviest paralēlismu.

Optimizējot esošu kodu, vajadzētu sekot šādos soļos:
  • jāsaprot, kas tad ir lēns;
  • pēc iespējas mēģināt optimizēt lēno kodu, neieviešot paralēlismu (visbiežāk ar algoritmu, atmiņas izmantošanas un IO operāciju optimizēšanu);
  • identificēt vietas, kurās paralēla apstrāde ir iespējama;
  • realizēt paralēlismu.
VS2010 un .Net 4.0 ir vairākas lietas, kuras palīdzēs veidot multicores aware programmas:
  • Programmēšanas valodās ir iestrādātas dažādas jaunas lietas:
    • pLINQ: parallel language integrated query;
    • komandas: parallel.for un parallel.foreach;
    • komanda: parallel.invoke {stmt1, stmt2, ....};
    • task_group, kas ļaus atzīmēt komandas, kuras drīkst izpildīties paralēli, piemēram, divu atšķirīgu sarakstu sortēšana.
  • VS2010 būs vairāki rīki, kuri palīdzēs analizēt sistēmas darbību, analizēt paralēlismus, identificēt savstarpējas bloķēšanās utt.

VB 10

VB 10 ir paredzēti vairāki jauninājumi, kuri pārsvarā ir saistīti ar koda rakstīšanas vienkāršošanu. Gadījumā, ja mainīgie deklarēšanas brīdī tiks inicializēti, varēs nenorādīt to datu tipus, piemēram, integer masīvu varēs deklarēt šādi:

dim iaCount = {10,20,30}

Būs pieļaujamas arī šādas konstrukcijas:

dim oArray = { 10, "kedas", 20 }

Manuprāt, tas vēl ir ļoti diskutējami, vai šādi "vienkāršojumi" ir labi :(

LINQ - vārbūt sākt lietot?

Konferences piemēros ļoti plaši tiek lietots LINQ. Faktiksi, visos gadījumos, ja no kāda saraksta vai masīva ir jātlasa ierakstu apakškopa (iespējams pat titikai viens ieraksts), tam tiek lietots LINQ. Tas izskatās ērti un patiesībā pat ļoti uzskatāmi. Turklāt tiek apgalvots, ka šādas komandas strādā ļoti efektīvi, katrā gadījumā ne sliktāk, kā pašu rakstītas pilnas pārlases.

Piemēram, lai atlasītu masīva elementus, kuri ir lielāki par 10, tiek piedāvāts šāda VB.Net komanda:

scores2 = from score in scores where score > 10 select score

Windows Azure. Part 1

Liekas, ka manas nezināšanas tuneļa galā sāk parādīties gaisma ;) Pēc pēdējo semināru apmeklējuma Azure platformas loma kļūst skaidrāka.


Microsoft mēģina izveidot platformu, kura varētu tikt lietota aplikāciju, datu u.c. izvietošanai Mākonī. Tur būtu pieejami SQL Servisi, Workflow servisi, lietotāju identificēšanas servisi u.c. Realitātē tas nozīmē, ka būs šādu servisu pakalpojumu sniedzēji, līdzīgi kā šobrīd ir webhostētāji: mums tiek piedāvāts zināms pakalpojuma serviss un saskarne tā lietošanai. To visu zinot, mēs varam veidot savas aplikācijas, izvietot pie attiecīgā servisa sniedzēja, administrēt pieejas tiesības u.c.


SQL Servisi nodrošinās datu bāzes funkcionalitāti, Worflow servisi - workflow izpildi utt. Svarīgi, ka izstrādātājam pašiem vairs nebūs jāsatraucas par savu aplikāciju pieejamību, kur tās fiziski strādā, kā skeilojas utt. Par to visu satraucas attiecīgā servisa pakalpojuma sniedzējs. Piemēram, workflow gadījumā, tas darba plūsmas kontrole notiek Tur Ārā un Tur arī tie nodrošinātās tās stāvokļa saglabāšana un nepieciešamo transakciju apkalpošana.

Lieki piebilst, ka šobrīd ir tikai viens šāda Azure servisa sniedzējs - Microsoft.

otrdiena, 2008. gada 28. oktobris

Noklausīta saruna

A: I coded for the Cloud
B: How was it?
A: GOOOODdd.....

TouchSmart

Prezentējot Windows 7 jaunās iespējas, tika demonstrēts HP TouchSmart. No parasta PC pēc būtības tas atšķiras vienīgi ar skārienjūtīgu ekrānu. Windows 7 to papildināja ar dažādām jaukām iespējām, kuras šobrīd Windows Vista nenodrošina. Tiem, kas lieto iPod vai IPhone, šīs lietas nebūtu nekāds jaunums, bet PC vidē tas izskatās iespaidīgi - attēlu stumdīšana ar pirkstiem, karšu grozīšana, multitouch iespēja, kura nodrošina ērtu attēlu zoomošanu.

Skārienjūtīgais ekrāns faktiski aizstāj visas peles funkcijas. Attiecīgi ar pirkstiem var normāli bakstīt arī tās aplikācijas, kuras nav Windows 7 "aware". Piemēram, Wordā ar peles rullīti ir iespējams browsēt dokumenta lappuses. Uz skārienjūtīgā ekrāna tam atbilst pirksta stumdīšana pa ekrānu. Attiecīgi tiek šķirstītas arī dokumenta lappuses. Glīti un ērti.

Liekas, ka skārienjūtīgām virsmām ir nākotne ;) Vienīgi ekrāni būs biežāk jātīra :D

Konferences materiāli: Part 3

Šodien, sākot ar plkst 1:00pm, visiem dalībniekiem sāks dalīt ilgi gaidītos konferences materālus HDD "iepakojumā". Stāsti liecina, ka tur būs iekļauti:
  • Windows 7 pre-beta
  • Visual team System Studio 2010 (versiju nezinu...)
Par citiem labumiem, pēc diska "atvēršanas"

Live Services: Office Live Worskapce

Keynotē tika apskatītas Live Service, demonstrējot Office Live Workspace, kurā varētu glabāt dažādus Office dokumentus. Tika demostrēts, kā no Office Live Workspace divi lietotāji rediģēšanas režīmā atver vienu un to pašu Word dokumentu. Vietas, kuras dokumentā viens lietotājs rediģēja, otram lietotājam tika atzīmētas kā „lokotas” un automātiski tika atjauninātas.
Dokumentus (Word, Excel un citus Office dokus) ir iespējams aplūkot renderētus arī interneta pārlūkporgammā (IE, Firefox). Turpat tiek piedāvāta arī dokumentu rediģēšana.
Varētu sākt spēli: kurš pirmais salabos dokumentu...

Pamattēma - Windows Azure

Šīs konferences pamattēma ir Windows Azure platforma. Tā tiek pasniegta kā "operating system for the cloud". Azure Mākonī nodrošinās abstraktu servisu izpildes vidi, "failsistēmu" (datu bāzu servisi), resursu rezervēšanu, programmēšas vidi. Daudz tiek stāstīts par Azure realizētajiem servisiem un to piedāvātajiem labumiem.
Jāsaka godigi, ka vēl aizvien nejūtu jaunās platformas revolucionārās idejas. Lielākā daļa iepriekšējo jaunievedumu bija patiešām manāmi jaunumi. No vienas puses Azure sniedz standarta servisus, kuru izstrādātiem būs pieejami Mākoņa servisu izstrādei, no otras - liekas, ka tas ir tikai Software+Service paradigmas neliels papildinājums. Ceru, ka nākamās trīs dienas viesīs skaidrību par Azure revolucionāro dabu ;)

Surface projekts

Konferences laikā ir iespējams pataustīt Surface projektu. Vairākas vietās ir izvietoti smuki galdiņi -skārienjūtīgi ekrāni jeb Surface demo. Šī ir pusotru gadu veca projekta reklāma:



Jāsaka, ka dzīvē daudz kas no tā arī strādā. Pie skārienjūtīgiem ekrāniem jau esam pieraduši un bilžu stumdīšana un mērogošana vienkārši bakstot ar pirkstiem jau ir ikdiena visiem iPod un iPhone lietotājiem. Attiecīgi tas nebija pārlieku liels pārsteigums. Protams, virsmas izmērs un izšķirtspēja ir iespaidīga.

Interesanta ir virsmas sadarbība ar cietiem objektiem/iekārtām. Konferencē dalībniekiem tika dalītas nelielas kredītkartes izmēra kartiņas, kurās bija "jāsavāc" attēli no dažādām hallēs izvietotajām virsmām. Savākt nozīmē: uzliec karti uz virsmas un atbilstošos attēlus "iestum" kartē. Kad nepieciešami attēli savākti, vari doties pēc t-krekla.

Expo zālē vairākas kompānijas rādīja dažādus Surface risinājumus: kartes, dažādu shēmu apskate uc. Vienā stendā varēja nofotografēties un uzliekot fotoaparātu uz virsmas, browsēt un ielādēt "virsmā" tikko uzņemtos attēlus. Kā izrādās, tad fotoaparāts bija nedaudz īpašs (iebūvēts WiFi, bet derot arī bluetooth)

pirmdiena, 2008. gada 27. oktobris

Čipsi

Vakar snakos bija pieejam čipši. Zināju, ka USA čipšus nedrīkst lietot, jo tiek ir very spicy. Paņēmu paciņu ar uzrakstu "Lightly salted"... Pēc 2min pusi paciņas izmetu :D

svētdiena, 2008. gada 26. oktobris

Team Foundation Server: lietojums

TFS ieviešana, neatkarīgi kādā vidē tiek veikta programmatūras izstrāde, var sniegt vairākus iegumuvus:

  1. centralizēta projekta komunikācija - serverī tiek uzturēti saraksti (work items, bugs, etc) un to apstrādes plūsmas, kuri nodrošina projekta uzraudzīšanu;
  2. versiju pārvaldība, kura ievērojami pārsniedz SourceSafe piedāvātās iespējas;
  3. automatizētu koda kompilēšanu un pārbaužu veikšanu.

Ja programmatūras izstrādes atbalstam tiek ieviests TFS, tad nav jēga ieviest tikai kādas divas no šīm lietām. Tās viena otru papildina un Visual Studio Team Explorer vidē ir ērti pārvaldāmas. Attiecīgi, ieviešot TFS, ir saprātīgi izstrādes procesus pielāgot visu trīs piedāvāto servisu lietošanai.

Team Foundation Server: licencēšana

Šodien uzzināju lietas par Team Foundation Server (TFS) licencēšanu, par kurām neviens programmatūras tirgotājs tā īsti nav stāstījis un arī MS Latvia nav neko teikuši.

Lai lietotu TFS piedāvātās iespējas, nepieciešamas servera un klienta (CAL) licences. Ja klients lieto kādu no Visual Studio Team Systems (VSTS) versijā (devloper, architect etc), tad TFS CAL jau ir iekļauts VS licences cenā. Savukārt, ja tiem lietot VS Professional tad nākas piepirkt CAL licenci.

Kas no tā izriet? Ja uzņēmumā programmatūras izstrādei nav nepieciešama VSTS piedāvātā funkcionalitāte, bet tikai TFS (versiju kontrole, projekta pārraudzība, atskaišu mehānisms u.c.), tad var mierīgi iepirkt TFS licenci, VS Pro un nepieciešamos CAL. Tas būs ievērojami lētāk, kā visiem izstrādātājiem VS Pro aizstāt ar kādu no VSTS versijām.

Konferences materiāli. Part 2


Šodien pēc reģistrācijas saņēmām pirmo konferences materiālu paciņu. Solītais HDD ar meteriāliem šajā komplektā vēl nebija, toties bija cits pārsteigums... nepatīkams pārsteigums. Ierastās konferences somas (parasti mugursoma vai pleca soma) vietā tiek pasniegts +/- plastikāta maisiņš, ar kuru var ērti doties uz RIMI pēc piena un maizes, bet laptopa nēsāšanai un citu konfereces dalībniekiem tik ierasto lietu izvietošanai tas ir kaut kas neiedomājami neērts. Labi, ka no Latvijas paņēmu līdzi mugursomu, kurā varēšu salikt visus štruntus. Žēl...

Patīkami, ka materiālu kaudzītē bija salīdzinoši maz spama: nācās izmest tikai kādus 6-8 reklāmas bukletus.

piektdiena, 2008. gada 24. oktobris

Konferences materiāli uz...

Pirmais konferences pārsteigums bija ziņa, ka visi materiāli (prezentācijas, piemēri un programmatūras betas / trial versijas) tiks izsniegti uz viena neliela externāla 160GB HDD. Tā ir laba ziņa vairākos aspektos:
  • nebūs jāšķiro kaudze ar dažādiem DVD;
  • uz rakstāmgalda nepalielināsies nekam nevajadzīgo un noputējušo disku kaudzīte;
  • externāls HDD ir lietojams ne tikai konfernces materiālu glabāšanai ;)
Šādai dāvaniņai ir arī zināmi mīnusi: agri vai vēlu sagribēsies uz HDD noglabāt savas lietas, kas novedīs pie nenovēršamas konferences materiālu izdzēšanas...

ceturtdiena, 2008. gada 23. oktobris

Wellcome!

Esmu uztapinājis jaunu īslaicīgu blogu PDC 2008 iespaidu publicēšanai. Līdz šim vienmēr tos esmu krājis ar domu "pastāstīt, kad atgriezīšos". Kā par nelaimi, kad atgriežos, tad jau puses domu pasijājušās. Ceru, ka šī reize būs efektīvāka un blogs sniegs savu labumu ne tikai man, bet arī citiem ;)