Intel Rapid Storage AHCI Driver 12.8.0.1016 mi zavařil

Spustil jsem dneska po delší době Lenovo System Update a vypadl tam na mě mimo jiné „Intel Rapid Storage AHCI Driver – 7 [64]“ ve verzi 12.8.0.1016. Jak se následně ukázalo, úplně si to s mým ThinkPadem X230 nesedlo.

image

Projevil se tak, že mi fronta na disk (Resource Monitor / Disk Queue Length) běžně narostla na 10-50 (normální hodnoty jsou <1) a přišel jsem na to ve chvíli, kdy se mi začal dost cukat HD film z iTunes.

…pomohl Rollback Driveru z Device Manageru.

Vybírám notebooka III. – Objednal jsem si T440s

Dnes jsem si objednal Lenovo ThinkPad T440s 20AQ0066 :

  • 14.0 FHD 1920x1080mat IPS with Touch
  • i7-4600U@2.1GHz
  • 8 GB RAM PC3-12800 DDR3L SDRAM SODIM
  • 512 SSD SATA3
  • Intel HD 4400
  • Int7260 2x2AC+BT4
  • 720p HD Camera for Touch
  • WWAN (M.2.) Integrated mobile broadband (Ericsson N5321)
  • Fingerprint Reader
  • backlit keyboard
  • 2x TP Bat 3cell Li-Polymer 23.2Wh
  • Windows 8 Pro64 Czech/EN
  • vPro, noDVD, No M.2 Memory
  • 3 YEAR ON-SITE
  • ThinkPad Pro Dock (ten už dorazil)

…dorazit by měl začátkem prosince, napíšu pak první dojmy.

The Ultimate Agile Planning Handbook–zajímavý e-book zdarma od Teleriku

Telerik v rámci propagace svého produktu TeamPulse vydal a zdarma ke stažení nabízí e-book The Ultimate Agile Planning Handbook, knížku o plánování, odhadování, velocitách a podobých věcech v agilním pojetí vývoje.

Přímý link ke stažení PDF.

Řízení SW projektů a vztahů se zákazníky – slides [MS Fest Praha 2013]

Slides z mé nedělní přednášky pro MS Fest Praha 2013 (jiná podoba než MS Fest Brno 2013 před měsícem):

Z přednášky byl pořizován záznam, který najdete na našem HAVIT YouTube Channel:

Zkušenosti s přechodem na TFS a agilní techniky [MS Fest Praha 2013]

Slides z mé nedělní přednášky pro MS Fest Praha 2013:

Jakmile dostanu záznam z přednášky, bude vystaven na našem YouTube Channelu.

IIS Express: Managed Pipeline Mode – Classic

Pokud je Vaše aplikace psána pro Classic Managed Pipeline Mode, potom při standardním spuštění nad IIS Expressem dostanete krásnou chybku:

HTTP Error 500.22 – Internal Server Error

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

image

Mě to potkalo u přechodu z VS2012 (kde jsem aplikaci pouštěl nad vestavěným Cassini) na Visual Studio 2013, kde je již jenom IIS Express. Přepínač je lehce ukryt, najdete ho v Properties projektu webové aplikace:

image

SQL DMV: Most Expensive Queries, Missing Indexes

Kolem Database Management Views a jejich využití pro SQL performance diagnostics toho napsáno tuny, ale právě tato kvanta různých zdrojů uvádějí spousty různě kvalitních podob dotazu pro Most Expensive Queries.

Nebaví mě pokaždé hledat ten správný, nebo ho dokonce vymýšlet, proto si zde archivuji mojí oblíbenou podobu:

-- Most expensive queries
SELECT TOP 20
	SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1,
		((CASE qs.statement_end_offset
			WHEN -1 THEN DATALENGTH(qt.TEXT)
			ELSE qs.statement_end_offset
			END - qs.statement_start_offset)/2)+1)
		AS query_text,
    db.name AS [db_name],
    qs.total_elapsed_time/1000 AS total_elapsed_time_ms,
    qs.total_elapsed_time/qs.execution_count/1000 AS average_elapsed_time_ms,
    qs.last_elapsed_time/1000 AS last_elapsed_time_ms,
    qs.execution_count,
    qs.total_worker_time/1000 AS total_worker_time_ms,
    qs.total_worker_time/qs.execution_count/1000 AS average_worker_time_ms,
    qs.last_worker_time/1000 AS last_worker_time_ms,
    qs.last_execution_time,
    qs.total_logical_reads,
	qs.last_logical_reads,
    qs.total_logical_writes,
	qs.last_logical_writes
    --qp.query_plan
    FROM sys.dm_exec_query_stats qs
        CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
        CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
        LEFT JOIN sys.databases db ON (qt.dbid = db.database_id)
    -- WHERE db.name='DatabaseName'
    -- ORDER BY qs.total_logical_reads DESC
    -- ORDER BY qs.total_logical_writes DESC
    -- ORDER BY qs.last_worker_time DESC -- CPU time (active)
    -- ORDER BY qs.last_elapsed_time DESC -- clock time (včetně čekání na locky, atp.)
    -- ORDER BY qs.total_worker_time DESC
	ORDER BY qs.total_elapsed_time DESC

…a rovnou přidávám už méně používaný dotaz pro chybějící indexy (varuji před zkratkovitou úvahou, že tyto indexy je nutné přidat):

SELECT
	mid.statement
	  ,migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure,OBJECT_NAME(mid.Object_id),
	  'CREATE INDEX [missing_index_' + CONVERT (VARCHAR, mig.index_group_handle) + '_' + CONVERT (VARCHAR, mid.index_handle)
	  + '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']'
	  + ' ON ' + mid.statement
	  + ' (' + ISNULL (mid.equality_columns,'')
		+ CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
		+ ISNULL (mid.inequality_columns, '')
	  + ')'
	  + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
	  migs.*, mid.database_id, mid.[object_id]
	FROM sys.dm_db_missing_index_groups mig
		INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
		INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
	WHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) &gt; 10
	ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC

Vybírám notebooka II. – ThinkPad T440s + shortlist

Jak jsem již popisoval v předchozím článku, vybírám si nového notebooka, přesněji řečeno ultrabooka, jako náhradu za můj stávající Lenovo ThinkPad X230 (zkušenosti s ním už jsem také popisoval, obzvláště tragický clickpad).

Aktuální kritéria se vyvíjejí takto:

    • 13,3″-14,5″ IPS – snížil jsem hranici na 13.3″, byť stále preferuji větší display kolem 14,1″
    • váha < 1,7 kg, výška <21mm (Ultrabook)
    • CPU Haswell i7, 8GB RAM, SSD 256 GB
    • podsvícená klávesnice (ideálně s rozložením ála X230 – velký Enter, atp.)
    • ten zatracený touchpad, kdyby tak někdo uměl, to co má MacBook Air
    • dockovatelnost, fingerprint-reader, business-durable, ideálně plochý display s gorilla-glass ála MacBook Air

Shortlist

Shortlist se mi prozatím vykrystalizoval takto:

  1. Lenovo ThinkPad T440s – viz níž, byl jsem se na něj podívat
  2. Dell Lattitude 14 Series 7000 (E7440) – vypadá jako solidní alternativa, i když svého času jsme konvertovali od Dellu k Lenovo (na poslední notebook jsme čekali asi 5 měsíců od objednání a uhrazení, což mě na dlouho odradilo),
  3. Lenovo ThinkPad X1 Carbon 2 – zatím se o něm ví jenom to, že bude nejdříve v lednu 2014. Samozřejmě lze počítat s Haswell CPU, ale jinak je to velká neznámá. Líbí se mi „air“ provedení, ale odrazují mě tam dvě komplikace – 1. v potřebné výbavě se dostanu nejspíš nad 40 000 Kč a poslední, co by se mi chtělo, je odepisovat 4 roky; 2. nemá nativní dokovatelnost, ale jen USB 3.0 port-replicator, což je dost opruz (nenabíjí, grafika prý laguje, atp.)
  4. bočním okem stále sleduji, jestli se někde neobjeví nějaký další trhák:
    • Lenovo Yoga 2 Pro – příliš vysoké rozlišení, nedokovatelný, malý display?
    • Dell XPS 13 – ten protáčecí display ve mě nebudí důvěru, malý display?
    • Samsung ATIV Book 9 Plus – příliš vysoké rozlišení, malý display,
    • Acer Aspire S7 – nevěřím, že by mě Acer uspokojil kvalitou provedení a servisu
    • Asus Zenbook – ten kruhově broušený+leštěný hliník, nebo co to je, to je hnus,

Dilema

S čím se neumím vypořádat je rozlišení. Všichni výrobci tlačí na maximální rozlišení a verze s nižšími rozlišeními jsou často podřadnějšího ražení. Moc to nechápu, protože už na svém stávajícím 12.5″ X230 považuji 1366x768px za hranici přijatelné čitelnosti v poloze „na klíně“ (u televize, vlak, bus, atp.). Nikdo mi zatím nevymluvil, že by se Windows umělo důstojně v desktop-režimu vypořádat se škálováním UI. Mám trochu obavu, jestli na tom FHD něco uvidím, a to ani nemluvím o různých Samsung, Yoga, Retina, co mají rozlišení úplně jinde. Modely HD+ jsou bohužel okrajová skupina.

Lenovo ThinkPad T440s

Dneska jsem se byl podívat v showroomu na Harfě na Lenovo ThinkPad T440s. Zajímal jsem se hlavně o nový click-pad, protože jinak považuji tento notebook za přirozeného nástupce svého X230, pokud motivaci shrnu jako „stejná váha, trochu větší display, nové technologie“. Žiletkové ultrabooky jsou sice super, ale pokud poměrně často prezentuji přes VGA, pokud zvažuji zrušit desktop a potřebuji tedy dokování, pak trochu portovatější T440s, popř. Dell E7440, jsou myslím tím rozumným cílem pro mě.

Zpátky k cíli mé cesty – click-pad. Shrnu to slovy – není to zázrak, ale ani to není taková katastrofa, jak jsem se bál. Rozhodně se to na první dojem tvářilo o dost použitelněji než pupínkovaný click-pad mé X230. Je to hladké, je to velké, pro klikání to neklade tak velký protiodpor (to mě mimochodem překvapilo na X1 Carbonu, co tam stál vedle, že potřebuje taky poměrně velkou sílu na klik). Hlučí to. Při tap to drnčí. Rozhodně to není ideál, ale na rozdíl od X230 se s tím asi dá žít.

Jinak ta T440s se bohužel zatím prodává jen jako i5, na showroomu navíc měli dost chudý model bez touch, takže to mělo klasický display zapuštěný do rámečku. Přivázané na Kensington-lock se dost špatně posuzovala váha a provedení, ale budilo to dojem velmi lehkého až dutého stroje (oproti X230, které zase při potěžkání vypadá jako poměrně koncentrovaná věc, i když papírově lehčí). Celkově to vypadalo, asi i díky té nové šedé, plastověji a křehčeji, než jsem čekal, ale je to snad jen první dojem.

(…mimochodem nechápu taktiku Lenovo a Dell, že obě firmy začínají prodej T440s i E7440 nejslabšími verzemi, když v první lekci snad každého pojetí marketingu je řečeno, že jako první je potřeba slíznout smetanu od nedočkavců prodejem nejdražších verzí a až potom nasytit masy.)

Závěr

Budu čekat na T440s ve výbavě, kterou potřebuji (i7, 8GB, SSD, touch) a mezi tím se pokusím ještě někde prohlédnout ten Dell E7440. Budu taky sledovat, jestli se neobjeví specifikace nového X1 Carbon 2, abych o něco nepřišel. Aktuálně to ale vypadá, že zvítězí i trocha netrpělivosti a až se objeví to správné T440s, tak bude moje.

Jak mě dostalo UAC File System Virtualization: Virtual Store

Člověk se pořád učí. Dnes mě potkala lekce obzvláště těžká.

Na svých desktopech jsem vždy vypínal UAC, jeho zákoutí jsou mi tedy skryta a dosud mi to nechybělo. Dnes jsem narazil na něco, co mi chvíli dávalo zabrat.

Dohodl jsem se nedávno s účetní firmou na převzetí našeho účetnictví s tím, že ho povedou přes vzdálenou plochu na našem prostředí (Příjemně mě překvapilo, že jim to přišlo jako běžný požadavek.) Minulý týden jsme tedy nainstalovali čerstvé Virtual PC s Windows 7 a přesunul jsem na něj ze svého desktopu instalaci účetního systému Money S3. Účetní firmě jsme založili doménový účet, dali práva vzdáleného přístupu a vše jsem si vyzkoušel, když jsem se přes jejich účet na virtuál vzdáleně přihlásil a do účetnictví nastavil dovolené zaměstnanců za září, aby mohla účetní zpracovat mzdy. Během týdne jsem byl dost rozlítaný, takže mi účetní jen poslala mailem výstup ze zpracovaných mezd, vše jim fungovalo.

Dnes jsem si našel konečně čas, abych do Money naimportoval z našeho systému Goran vystavené faktury za září a připravil tak pro účetní část podkladů pro zpracování DPH. Přihlásil jsem se vzdáleně, provedl import a zaúčtování faktur, všechno v pohodě. Nakonec jsem si chtěl prohlédnout, jak účetní zpracovala mzdy.

Hledám marně. Mzdy tam nejsou. Chvíli přemýšlím, jestli to mohli nějak zpracovávat u sebe, nebo co se to děje. Zkoumám dál, v účetnictví nejsou ani ty dovolené, co jsem tam sám zadal. Panika, zmatek. Co se to mohlo stát, celé účetnictví vypadá tak, jako bych ho zrovna zmigroval ze svého desktopu. Nejsou v něm ani dovolené, ani mzdy, jen ty dnes importované faktury. Volám kolegovi, jestli nedělal nějaký restore staršího snapshotu VPC, nebo jestli netuší, co se to tam děje. Netuší.

Peklo, jak mám takovému stroji svěřit účetnictví? Co to tam hnije? Nechávám vypsat na počítači všechny soubory změněné po migraci účetnictví z desktopu, abych se alespoň trochu chytil, kdy se tam co dělo. Ve výsledcích jsem mj. zahlédl toto:

C:\Users\haken\AppData\Local\VirtualStore\Program Files\Money\Data\...

WTF? Co to je? Začíná mi to spínat…

Virtual Store

Nikdy předtím jsem o tom neslyšel (kupodivu). Nicméně ve zkratce řešeno je to mechanizmus ve Windows, který má sloužit pro podporu funkčnosti zastaralých legacy-aplikací, a když zjistí, že se aplikace pokouší zapisovat do Program Files, tak místo aby aplikaci vykopnul s odepřením přístupu, tak namapuje požadované soubory z profilu uživatele (VirtualStore). Stane se tak, že každý uživatel má vlastní podobu příslušné složky z Program Files. Ve finále jsem tedy měl v jednom uživatelském profilu Money s dovolenými a mzdami, v druhém pak s importovanými fakturami.

Jak to vypnout?

Popravdě řečeno jsem příliš detailně nepátral, jak to vypnout, nemám dneska chuť se s tím detailně drbat. U mě postačilo nastavit uživatelům Read+Write práva na příslušnou složku v Program Files a vypnout UAC. Vypadalo to, že samotná práva nestačí, přesněji řečeno zřejmě stačí, pokud jsou nastavena běžným uživatelům/skupinám, nikoliv však Administrators (tam administrátorský přístup právě hlídá ještě UAC). Administrátorům to vytvářelo VirtualStore, dokud bylo zapnuté UAC.

…no nic, složku v Program Files jsem přepsal verzí s dovolenými a mzdami a jdu naimportovat ty faktury znovu.

Visual Studio 2013 RTM ke stažení z MSDN

Visual Studio 2013 je ke stažení z MSDN, není co dodat.