Rok sa z rokom zišiel a prišli DevDays 2009 na ktorých som nemohol
chýbať. Novinky o Visual Studio 2010 (ten code editor je vážne rýchly),
možnosť programovať pre SharePoint 2010 priamo z VS oveľa jednoduchšie
ako doteraz, Test and Lab Manager pre veľmi pekné zachytávanie testovania
klientských aplikácií s možnosťou automatizácie a rôzne iné vylepšenia
ako WPF editor priamo vo Visual Studio.
Tento rok boli DevDays za poplatok 20?, tomu som sa však vyhodil ako
ašpirant na Microsoft Student Partner program :) Obed bol super, trochu málo
miesta na jedenie pre tak veľa účastníkov (v podstate sa šlo na dva krát
do jedálne) a poddimenzovaný počet záchodov (3 pisoáre + 3 kabínky pre
300 ľudí). Organizácia v pohode, pekné hostesky a ešte Xboxy
s obrovskými obrazovkami na hranie, ktoré však nevyzerali že prilákali
veľa ludí.
Celkovo to bola fajn akcia, mám prehľad o nových funkciách a ako si
zjednoduším prácu – napr. s Call Hierarchy (ako vystrihnutým
z Eclipse), s novými refaktorovacími funkciami a inými fíčurkami.
November 24th,2009
Osobné |
No Comments
Hľadal som spôsoby ako jednoducho písať a spravovať dokumentáciu
k softvérovému projektu. DocBook som hneď obišiel, keďže sa mi nechcelo
písať ručne XML značky. Preferujem, aby som hneď videl naformátovaný
výsledok (potrebujem „Word experience“). Visual Studio 2005 SDK obsahuje
HelpStudio Lite, čo
je voľne dostupná verzia WYSIWYG editora dokumentácie, ktorý dokáže
vygenerovať MSHelp 2.x súbory (to sú .HxS a podobné balíčky dostupné
s Visual Studiom 2005 a 2008 v ktorých je dokumentácia a prezerajú sa
pomocou Document Explorera).

Druhá moja požiadavka bola môžnosť upraviť si výstup tak, aby
pripomínal nový MSDN Lightweight štýl – ten fialový branding MSDN
knižnice. HelpStudio Lite umožňuje vytvoriť si vlastné šablóny a
štýlovanie pre HTML stránky, ale aj podporné súbory pre MSHelp (index
dokumentov, navigácia, atď.). Šablóny sú obyčajné HTML súbory
s vloženými špeciálnymi značkami označujúci miesta, kde sa majú
vložiť údaje z dokumentácie. Samotné dáta sú uložené v HelpStudio
projekte – .hsp – čo je XML súbor obsahujúci celú vytvorenú
dokumentáciu.
<!--DXMETADATA start type="Stylesheets" --><!--DXMETADATA end-->
<!--DXMETADATA start type="ProjectTitle" -->Project Title<!--DXMETADATA end -->
Šablóny sa v pohode dajú upravovať v editore ktorý je súčasťou
HelpStudia. Ja som však využil Dreamweaver, lebo sa v ňom oveľa ľahšie
čistil kód a robili štýly.
Nevýhoda Lite verzie je nutnosť výstupu iba do MSHelp 2.x verzie. HS
3 vie spraviť aj HTML výstup. Je to však také krkolomné: treba vypnúť
zmazanie vygenerovaných HTML súborov. Balíčky MSHelp totiž obsahujú HTML
dokumenty a HS v prvej časti kompilácie vygeneruje HTML obsah a ten v druhej
fáze spojí do balíčka .HxS. S prechodom na HS 3 prišli aj trošku
problémy: najprv nedokázal rozpoznať moju šablónu, pretože config.xml
súbor obsahoval starú definíciu šablóny a HelpStudio ju nevie automaticky
prekonvertovať. Druhý problém bol podobný. Definícia tzv. HTML Scraps je
síce stále uložená v .txt súbore ale z textovej definície prešli na
nový XML formát a síce šablóny fungovali s pôvodnou verziu, niektoré
premenné generovali len tak rôzne XML fragmenty do HTML kódu.
Samotnú šablónu som uverejnil na Google Code hostingu ako hs3msdn2010template
projekt pod BSD licenciou. Ako verziovací systém som zvolil Mercurial, pretože si myslím že
umožní prípadným používateľom tejto šablóny oveľa jednoduchšie
lokálne verziovanie kódu. Stačí si stiahnuť binárky a zadať
tento príkaz na „naklonovanie“ zdrojákov:
hg clone https://hs3msdn2010template.googlecode.com/hg/ hs3msdn2010template
Síce HelpStudio Lite a 3 má veľkú výhodu vo vizuálnej editácie
dokumentácie, slušné HTML editory, kontrolu pravopisu, rôzne podporné
nástroje a jednoduché rozhranie, má aj veľa nevýhod a problémov:
nezdokumentované šablóny, kompilácia je nechutne pomalá, občas padne a
predávajú ho za nekresťanských cca 350? za 1 licenciu. Preto teraz
študujem možnosti projektov Sandcastle a DocProject. Ale o nich
nabudúce.
November 17th,2009
Software |
No Comments
Študenti majú teraz cez Dreamspark
prístup k beta verzii Visual Studio 2010 Ultimate, čo je najvyššia
edícia.
DreamSpark is simple; it's all about giving students
Microsoft professional-level developer and designer tools at no
charge so you can chase your dreams and create the next big
breakthrough in technology – or just get a head start on your career.
November 6th,2009
Software |
No Comments
Objavil som blog nášho učiteľa
Informatickej bezpečnosti a spomenul tam veľmi dôležitý prípad
v používaní (budúcej) Elektronickej zdravotnej karty občana (EZKO):
lekári by mali mať prístup k EZKO – čo je legitímne pokiaľ je to teda
ošetrujúci lekár pacienta, avšak veľkým problémom môžu byť
správcovia, ktorí budú udržiavať počítače a softvér u lekárov. Často
sú informačné systémy navrhnuté tak, že správcovia majú prístup
všade – aj k faktúram na ekonomickom oddelení, aj k návrhom zmlúv
z marketingu a tak podobne.
Pevne verím že EZKO nebude nepodarok a prístup administrátorov do
systému bude vyriešený tak, že síce budú mať možnosť riešiť problémy
v ňom, ale v žiadnom prípade nebudú môcť pristupovať k údajom
o pacientoch.
November 4th,2009
IT |
1 Comment
Čítam si knižku Configuring Windows Server 2008 Network
Infrastructure a učím sa používať príkaz netsh na
správu sieťových rozhraní vo Windowse. Po veľmi dlhej dobe som konečne
našiel príkaz ktorým sa dá zmeniť názov sieťového pripojenia. Tie
štandardné názvy sú príliš dlhé: Local Area Connection a
v laboch preferujem mať popisné názvy ako WAN pre
pripojenie do internetu na serveri a Contoso LAN na lokálnych
sieťových adaptéroch. Doteraz som to menil len cez Explorera, avšak už
môžem zvýšiť svoju produktivitu vďaka netsh:
netsh>interface
netsh interface>set interface ?
...
Examples:
set interface name="Local Area Connection" newname="Connection 1"
netsh interface>set int name="Local Area Connection" newname="Contoso LAN"
An interface with this name is not registered with the router.
netsh>
Dosť nečakaná chyba An interface with this name is not registered
with the router. prekazila moje plány na zmenu názvu tak som radšej
rýchlo prešiel na nastavovanie IPv6 adries, aby som sa nezdržoval v takúto
neskorú hodinu.
netsh interface ipv6>set add "Local Area Connection" fd00::2/64
The requested operation requires elevation (Run as administrator).
Príčina chyby bola hneď jasná: nie som administrátor a Windows 7. Pred
chvíľou som nastavoval IPv6 adresu na Windows 2008 R2 Serveri kde tento
príkaz zbehol v pohode. User Account Control je po nainštalovaní Windowsu
zapnuté pre všetkých administrátorov okrem štandardného konta
Administrator. Je tu ale rozdiel medzi serverovým a klientským
Windowsom:
- Serverový OS: počas inštalácie nastavíte heslo a prihlasujete sa pod
Administrator
- Klientský OS: počas inštalácie zadáte názov konta a heslo a
prihlasujete sa pod ním
Príkazový riadok som samozrejme zabudol spustiť s administrátorskými
právami a bohužial vo Windowse normálne nie je príkaz sudo :(
Spustenie novéhopríkazového riadku s riadnymi právami umožnilo používať
netsh na konfiguráciu Windowsu a zmena mena adaptéru zbehla
v pohode. Škoda len, že niekto v MS si nedal tú námahu naprogramovať do
všetkých častí netshu, ktoré upravujú systém, kontrolu práv.
October 24th,2009
IT |
No Comments
Microsoft Student Partner program spojuje nejchytřejší a nejvíce
inovativní studenty zabývající se vývojem aplikací a technologiem
z univerzit na celém světě.
Upgradoval som dnes Wordpress a som zabudol napísať že zo mňa bude
Student Partner :). Bol to trochu boj dohodnúť si stretnutie s Romanom
Russevom, ale nakoniec sa nám podarilo dohodnúť sa na meetingu. Požiadavku
na znalosť MS technológií som vďaka MCPD v pohode
splnil a teraz ma čaká len podpísanie pár formulárov budúci týždeň.
MSP je určený pre denných študentov informatiky na vysokej škole
akreditovanej Ministerstvom školstva. Záujemca by mal mať záľubu
v technológiách a zdieľať svoje vedomosti v rámci školy či komunity.
Bude usporiadavať niekoľko seminárov na škole, alebo písať články,
robiť na Hand on Laboch alebo sa môže zúčastniť ImageCup súťaže.
Za tieto aktivity má partner veľmi zaujímavé benefity:
- 1 licenciu MSDN Premium počas doby trvania MSP titulu
(v hodnote $2 500 (US cenník) alebo 2 900€ (SR cenník)),
- preplatenie účasti na konferencii Microsoft TechEd
(vstupné je 2 195€),
- možnosť zapojiť sa do programu výmeny študentov a ísť na leto
pracovať do Redmondu,
- získa vouchery na certifikačné skúšky.
Cez MSP stránku som sa dostal na Dalibora Kačmára, pretože
slovensko/česká sekcia stránky trošku blbne, ten ma odporučil na
slovenského Developers Evangelistu Romana Russeva a potom už stačilo trochu
vytrvalosti aby sme sa stretli. V konečnom dôsledku tá námaha bude celkom
pekne odmenená.
October 24th,2009
Osobné |
No Comments
Dnes sme boli s Romanom na
seminári Technický seminár Paralelné programovanie
usporiadané KAI
FHI Ekonomickej univerzity v spolupráci s Microsoftom. Ako sa
paralelne programuje mal predvádzať Ing. Ján Hanák, MVP.
Seminár na pôde univerzity bol prekvapivo preplnený. Začiatok sa mierne
odložil, kým sa spravila prezenčka a rozdali reklamné materiály s knižkou
Základy paralelného programovania v C# 3.0 a 120 dňovou verziou
Windows Server 2008 R2 x64. S polhodinovým meškaním otvoril seminár Roman
Russev informáciami o programoch DreamSpark, BizSpark a WebsiteSpark. Jo a ešte
MSDN AA.
Hneď po marketingu sa pán Hanák vrhol do paradigmy paralelného
programovania. A ako sa do neho ponáral hlbšie, postupne začali odchádzať
prví študenti. O nedlho nastal najväčší exodus poslucháčov, v ktorom
bohužial odišli študentky ekonómie a už sa dalo pozerať iba na
prezentáciu o POOP. Po
približne hodine do vzdalo aj niekoľko programátorov, s Romanom sme
vydržali asi dve hodinky.
Bohužial sa tento seminár neniesol v „Kubovčíkovom“ duchu: trochu
teórie s marketingom a demá, demá, demá, ale šlo skôr o vysokoškolskú
prednášku teoretickej informatiky aplikovanej na paralelné programovanie.
Spojenia ako „empiricky inferované vzťahy“ mi moc nehovoria, skôr som za
„Tu je classa, hodím sem jeden, druhý thread a fičím“. Enormné
množstvo teórie bez ukážok, ako vôbec v tom C# sa dá niečo paralelné
spraviť (malý hint z praxe: použiť MTAThreadAttribute
je dobrý začiatok).
Možno praktické ukážky došli po prestávke. Ťažko povedať. To už sme
s Romanom fičali na obed. Teoretických znalostí tam bolo strašne veľa.
Akademický výklad hádam nemal chybu. Lenže bol natoľko odborný, že som si
zo seminára odniesol iba reklamné materiály. I keď podľa mňa by sa celé
dve hodiny dali zhrnúť do „Viacero vlákien môžeme efektívne spušťať
na viacjadrových procesoroch a prepísanie komlpetnej aplikácie do
paralelného kódu nie je najlepšie riešenie. Väčší výkon získame ak
paralelizujeme iba časti programu u ktorých to je výhodné.“
October 21st,2009
Osobné |
No Comments
Microsoft uvolnil pre MSDN odberateľov Visual Studio 2010 Beta 2. Spolu
s redizajnom hlavnej MSDN stránky prichádza rada nových vecí ako napríklad
fialová, fialová a fialová – logá a stránky majú výraznú zmenu
farebného ladenia oproti doterajšej tehlovo červenej. Bohužiaľ Visual
Studio logo stratilo svoj viacfarebný prúžok.
Pohľad do Subcriber Downloads časti prezrádza, že VS prejde zmenou
v licencovaní a marketing sa zase hrá s názvami: „Express Combo“,
Professional, Premium, Ultimate a niečo čo sa volá „Test Elements“.
Otázne je, či Premium bude niečo viacej ako Professional (Prof + Team
Foundation Server???), ale najskôr to je staré dobré VS Standard
s chytľavejším názvom. Všetky verzie majú vypublikovanú aj Web Installer
verziu.
Aktualizácia: Arstechnica má informácie o nových SKU: Premium
je starý Team System a Ultimate je celý Team System (všetky TS veci,
alebo taktiež Team System Team Suite – nový názov je lepší). Standard
verzia mizne z ponuky.
Ako sa vyjadril Dave Mendlen (zodpovedný za marketing), všetky tieto zmeny
sú symbolizované novým logom:

MSDN
Library má novú Lightweight
tému, ktorá sa stane čoskoro východzím vzhľadom.
A to by bolo na dnes všetko. Veľa marketingu a málo technických
infošiek. Zdroje: Scott Hanselman a Arstechnica.
Úplne na koniec ešte ukážka splash screenu:
October 19th,2009
Osobné |
4 Comments
Skúšam Snow Leopard a nainštaloval som si tam WoWko. Na Leopardovi bežalo
v pohode, zo stránky som stiahol inštalátor, opatchovalo sa to a WoW
fičalo. V Snow Leopardovi som mal k dispozícii iba inštalačné súbory a
patch 3.2.0 som sťahoval cez torrent, pretože to cez uTorrent trvá aj 5×
menej ako cez Blizzard Downloader.
Patch som skúšal spustiť, ale nič sa nedialo. Ani sa neukázala ikonka
v Docku. Akoby systém vôbec nespustil program. WoWko si patch sťahuje do
svojeho priečinku v /Applications/World of Warcraft, tak som patch skopčil tam
a stále to nešlo. Downloader síce súbor skontroloval (a bol správny), potom
sa však nič nedialo.
Tak som spustil Console že či náhodou sa niečo neloguje
a objavil som túto chybu:
10. 12. 2009 18:09:07 com.apple.launchd.peruser.501[76] ([0x0-0x69069].com.blizzard.BNUpdate[1244]) posix_spawn("/Applications/World of Warcraft/WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer", ...): Permission denied
10. 12. 2009 18:09:07 com.apple.launchd.peruser.501[76] ([0x0-0x69069].com.blizzard.BNUpdate[1244]) Exited with exit code: 1
Inštalátor nemal práva. Na WoW forách som našiel, že skupina
admin by mala mať Read&Write prístup do priečinka
s WoWkom a podpriečinkov. Nasledovala zmena práv, pretože admin mal
nastavený iba Read.
chmod -R g+w /Applications/World\ of\ Warcraft/
Toto nepomohlo a pri ďalšom googlení som objavil, že
WoW-3.2.0-enGB-patch.app nie je súbor, ale priečinok a má
v sebe ďalšie súbory a jedným z nich je aj Contents/MacOS/Installer.
ls -l WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer
-rw-rw-r-- 1 izsak admin 5947960 Oct 12 17:28 WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer
Installer je síce aplikácia, ale zrejme tým že bola sťahovaná cez
torrent a patch nebol jeden súbor, ale štruktúra priečinkov a súborov, bol
na disk uložený iba ako obyčajný súbor bez priradených execute práv.
Jeden príkaz a WoWko sa mi patchuje ;)
chmod ug+x WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer
October 12th,2009
Osobné |
1 Comment
Upgradoval som jeden počítač s Vista Business 32bit na Windows
7 Professional 32bit. Upgrade prebehol v pohode, ale bol problém s jednou
nefunkčnou CD romkou a o pár dní užívateľ vravel, že počítač sa dlho
vypína, dokonca aj spadne do Blue Screenu.
Prvé informácie o BSOD sú v Event Logu:
Chybový sektor 0x9F_4_cdrom_IMAGE_jraid.sys, typ 0
Názov udalosti: BlueScreen
Odozva: Nie je k dispozícii
Identifikácia kabinetu: 0
...
Priložené súbory:
C:\Windows\Minidump\090409-106078-01.dmp
Vďaka tomuto padá prvé podozrenie na ovládač pre JMicron JMB36X
Controller (jraid.sys). Keďže však tento ovládač nie je priamo spomenutý
v zázname a aj pre kontrolu je dobré zanalyzovať Memory Dump ktorý je
v priečinku Minidump.
Analýza výpisu pamäte (Memory Dump)
Súbor 090409–106078–01.dmp som otvoril v 32bitovej
verzii programu WinDbg a spustil som analýzu príkazom
!analyze.
0: kd> !analyze
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 9F, {4, 258, 855ec798, 82f66b24}
Probably caused by : cdrom.sys ( cdrom!DeviceSendPowerProcessRequest+15b )
Followup: MachineOwner
Prvá dôležitá informácie je, že Blue Screen vznikol na základe Bug
Check stavu – kernel zistil, že niečo nie je v poriadku so zariadením
alebo ovládačom a prepol teda na Blue Screen pretože nemôže normálne
pokračovať. Súčasťou Blue Screenu je zaznamenanie stavu pamäte do .dmp
súboru (ak je zapnutá voľba Zápis pamäte pre ladenie > Výpis
pamäte jadra (Kernel memory dump)).
Rozšírené informácie o stave pamäte dostaneme príkazov !analyze
-v:
0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DRIVER_POWER_STATE_FAILURE (9f)
A driver is causing an inconsistent power state.
Arguments:
Arg1: 00000004, The power transition timed out waiting to synchronize with the Pnp
subsystem.
Arg2: 00000258, Timeout in seconds.
Arg3: 855ec798, The thread currently holding on to the Pnp lock.
Arg4: 82f66b24
...
Vďaka dostupnosti .pdb symbolov je možné zistiť význam jednotlivých
parametrov Bug
Check 0×9F priamo z analýzy. Prvý parameter Arg1 = 0x04
označuje typ problému pri DRIVER_POWER_STATE_FAILURE. Bohužial
zatiaľ nie je zdokumentovaný na webe MSDN Library ani vo Windows 7 Driver
Kit. Typ 0×04 bol pridaný vo Vista SP2 a Windows 7. Podľa
Melissi Hannah to znamená, že došlo k deadlocku v threadoch a pokiaľ
sa neodblokujú do určitého času (Arg2) bude vyvolaný Bug Check
0×9F s kódom 4.
Dlhé vypínanie
Z druhého parametru Bug Checku sa dá vyčítať, ako dlho bude systém
čakať pri deadlocku threadov pri vypínaní: 0×0258 = 600, údaj je
v sekundách, čiže to je 10 minút, kým systém spadne do Blue Screenu. Čo
korešponduje s popisovaným problémom – že počítač sa dlho vypína.
Neznamená to však, že k BSOD dojde vždy. Je možné, že ovládač sa
niekedy „rozbehne“ a vypne. Bez BSOD by sa to však tak ľahko nepodarilo
zistiť 
Zdroj problému
Tretí argument Bug Checku reportuje adresu threadu, ktorý bol zablokovaný
(The thread currently holding on to the Pnp lock.). Detail si
zobrazíme príkazom !thread 855ec798. V tomto threade je
používaný ovládač cdrom.sys. Aj podľa rozšírenej analýzy
problém nastal vo funkcii volanej týmto ovládačom –
DeviceSendPowerProcessRequest.
...
SYMBOL_NAME: cdrom!DeviceSendPowerProcessRequest+15b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: cdrom
IMAGE_NAME: cdrom.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bbf1c
FAILURE_BUCKET_ID: 0x9F_cdrom!DeviceSendPowerProcessRequest+15b
BUCKET_ID: 0x9F_cdrom!DeviceSendPowerProcessRequest+15b
...
Príkazom lmvm cdrom získame bližšie informácie
o ovládači. Jedná sa o štandardný ovládač dodávaný so systémom.
Z Správcu zariadení (Device Manager) je vidieť, že CD-Romky sú pripojené
cez JMicron JMB36X. Skontrolovanie tohto ovládača cez lmvm jraid
odhalí, že je celkom starý – z novembra 2008.
0: kd> lmvm jraid
start end module name
8b400000 8b418000 jraid T (no symbols)
Loaded symbol image file: jraid.sys
Image path: \SystemRoot\system32\DRIVERS\jraid.sys
Image name: jraid.sys
Timestamp: Fri Nov 21 16:05:38 2008 (4926CE42)
CheckSum: 000215C8
ImageSize: 00018000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
Server JMicronu obsahuje novšie ovládače pre ich chip
(R1.17.50 z augusta 2009) na adrese ftp://driver.jmicron.com.tw/…_Vista_Win7/.
Podľa ReleaseNotes.txt
odvtedy opravovali niekoľko problémov s BSOD. Ovládač som nainštaloval a
teraz budem čakať, či sa chyba prejaví a budem môcť analyzovať ďalší
problém, alebo je to vyriešené.
PS: Pre mnohých sú BSOD veľkou pohromou a symbolom nefunkčnosti Windows.
Pre mňa sú vďaka Markovi
Russinovichovi najcennejším zdrojom riešenia problémov.