Category Archives: IT Stuff

Windows Live Writer: Český spellchecker do anglické verze

Mám nainstalovanou anglickou verzi Windows Essentials 2012 (resp. Windows Live Writer z nich) a nejprve jsem se neznaje situace smířil s tím, že spellchecker je v tomto podružném produktu jen anglický. Omylem jsem ale na druhém počítači nainstaloval českou edici a byl pak mile překvapen, že mi to kontroluje češtinu.

Stačila pak již jen chvilka pátrání, abych zjistil jak češtinu dostat do anglické verze Windows Live Writeru:

  1. Spusťte „langselector“ (ať už Win+R, nebo přes vyhledávací box v menu Start).
  2. Ten slouží k přepnutí uživatelského rozhraní Windows Essentials do jiného jazyka, což způsobí i download a instalaci příslušného jazyka, pokud ho nemáte.
  3. Zvolte tedy „Čeština“ a přepněte celé Windows Essentials do češtiny.
  4. Spusťte Windows Live Writer a přepněte si v Nastavení spellchecker na Češtinu.
  5. Spusťte „langselector“ znovu a přepněte Windows Essentials zpět do angličtiny.
  6. …čeština už vám v nabídce spellcheckeru zůstane.

Nejspíš prostě samotný fakt doinstalace dalšího jazyka přepnutím na něj doplní nabídku spellcheckerů a bod 4 je možné pak udělat kdykoliv, to jsem neřešil.

Proč to nějak nesdílí spellchecker s instalovanými Office neřeším. :-)

Windows Live Writer: Jak na zmršené téma (blog template, motiv)

 

Windows Live Writer se pokouší vylepšit dojem WYSIWYG editace „stažením“ tématu. Přesněji řečeno vystaví na Váš blog na chvilku nový článek a ze získaného HTML a CSS se pokouší sestavit vlastní template. Má na to vlastní logiku, která ne úplně vždy dobře zafunguje.

V případě tohoto blogu to například dopadlo takto:

image

Windows Live Writer se totiž snaží v získaném HTML detekovat pozici titulku a těla, přičemž chce dále osekat HTML o hlavičku a další přebytečné věci, aby zbyl jenom ten titulek a tělo. V případě, že máte strukturovanější HTML nebo používáte-li dokonce „moderní“ elementy jako header či article (které třeba mé WordPress Twenty Twelve theme má), Windows Live Writer se těchto vymožeností v HTML kódu své šablony zbaví a na výsledné HTML aplikuje všechny původní styly (do nich zdá se nezasahuje).

Naštěstí se dá osekaná podoba HTML na disku najít a řešení je pak většinou snadné. Dalo by se sice upravit ono HTML, ale bylo by to poněkud lokální řešení. V mém případě nebyl problém přidat do CSS pravidel blogu taková, která se naaplikují ořezanou HTML šablonu Windows Live Writeru a výsledný dojem WYSIWYG editoru vylepší:

image

Windows Live Writer navíc používá jako HTML-engine jakýsi pravěk typu IE5 (hlouběji jsem nezkoumal), takže se dají použít i některé CSS hacky a triky pro cílení na tyto retro-technologie.

Viz též Johan Driessen: Fixing the blog preview theme in Windows Live Writer.

Vývojářské nástroje a software, který používám [Robert Haken, 09/2013]

Protože velmi často na kurzech i jinde dostávám otázky na software (nejenom vývojářský), který používám, sumarizoval jsem seznam toho, co mám na svých počítačích nainstalováno. Předesílám, že jsem za těch 20 let s počítačem přešel od pojetí maximalisty, který měl na PC nainstalováno kde-co (s přispěním AltaVisty), na přístup minimalistický.

Vývojářská platforma

  • Microsoft Visual Studio Ultimate – Základem veškeré vývojářské práce je samozřejmě Visual Studio, nyní už nejenom pro kódování, ale i jako klient k TFS (pro mě raději než web). Jinak pracujeme zásadně v režimu Web Application Project, nikoliv Web Site.
  • Team Foundation Server
  • SQL Server – Management Studio, Profiler, Data Tuning Advisor – Pro běžnou práci s SQL si vystačím s Microsoft nástroji, pro schéma DB využívám Database Diagrams. Žádné další IDE či designer třetí strany nepoužívám.

Visual Studio Add-Ins/Extensions

  • StyleCop (Free) – Doplněk pro kontrolu stylové čistoty zdrojových kódů. Hlídá názvové konvence, formátování kódu a spoustu dalšího. U nás ho máme jako součást continuous integration buildů a jakákoliv nesrovnalost failuje build. Taková automated nultá fáze code-review.
  • Web Essentials od Madse Kristensena (Free) – Must have každého webového vývojáře.
  • Resharper od JetBrains (Paid) – Za nezbytné jsem považoval v dobách VS.NET, od VS2005-2010 jsem nepoužíval, nyní se k němu vracím pro pár funkcí, které mi usnadňují živoat. Využívám v podstatě jen vyhledávání (Ctrl[+Shift]+T) a navigaci v kódu, protože prakticky již téměř vůbec nekóduji.
  • Productivity Power Tools (Free) – V podstatě se jedná o proof of concept pro nové funkce do Visual Studia. Jednak to, co Microsoft nestihl do releasu dostat a to, co testuje na uživatelých, jestli by se hodilo do releasu dalšího.
  • Team Foundation Server Power Tools (Free) – V podstatě z té sady používám jen Windows Shell Extensions a pár drobotin ze skupiny Team Explorer Enhancements.
  • HAVIT Visual Studio Extensions (Private) – Drobné pomůcky z domácí dílny, např. – Surround member with named region (Ctrl+K,R), Collapse all #regions (Ctrl+-), Expand all outlining (Ctrl++), Open local resources file (F6), Check Build, Run Business Layer Generator, atp.

Vývojářské nástroje

  • Fiddler od Teleriku (Free) – Zachytávání a analýza HTTP(S) komunikace na straně klienta.
  • SQL Compare a SQL Data Compare od RedGate (Paid) – Nástroj na porovnání schématu/dat mezi dvěma databázemi a jejich synchronizaci. Používám pro deployment nových verzí aplikací.
  • SQL Prompt od RedGate (Paid) – vylepšené intellisense pro SQL Server Management Studio, zejména umí nabízet podmínky do JOINů dle existujících FKs
  • .NET Reflector (Paid) – Nástroj, který umožňuje prohlížet a analyzovat zdrojový kód jednotlivých assembly, včetně samotného .NET Frameworku (decompiler). Díky MVP licenci je pro mě stále jedničkou. Jako free alternativa se nabízejí např. ILSpy nebo dotPeek od JetBrains.
  • ANTS Performance Profiler od RedGate (Paid) – I když performance-profiler je vestavěný ve Visual Studiu, ANTS Performance Profiler je pro mě jedničkou pro své přehledné uživatelské rozhraní.
  • TortoiseSVN (Free) – SVN jsme používali do roku 2012 jako hlavní nástroj pro source-code-management. Po migraci na TFS používám pouze pro přístup k cizím SVN a pro neaktivní archivované projekty.
  • WCAT a WCAT Extension pro Fiddler (Free) – Zátěžová zkouška webové aplikace. Přes Fiddlera lze označit requesty připravené proklikáním z browseru a následně je přehrát jako WCAT stress test.
  • Internet Explorer F12 Developer Tools (Free) – Pro ladění client-side, zejména HTML/CSS je pro mě stále jedničkou, i když jsem jinak Internet Explorer jako svůj primární browser opustil.
  • Pencil (Free) – skicování UI. Malé, nenápadné, primitivní a s docela líbivými výstupy. Hodí se v situacích, kdy jde o vizuální vyjádření myšlenky a nepředpokládá se editace (revize) návrhu UI zákazníkem. (V takových situacích používám většinou Excel, se kterým si každý poradí. Vlastně už používám skoro jenom Excel, ale asi se k Pencil pro některé scénáře vrátím.) Zkoušel jsem i PowerPoint Storyboarding, ale nezaujalo mě to.
  • Azure Diagnostics Manager a Cloud Storage Studio – Cerebrata (Paid) – administrace Windows Azure
  • Windows Debugger (WinDbg) od Microsoftu (Free) – debugger. Používám zejména pro analýzu memory-dumpů. Pro .NET používám pscor4.dll rozšíření.
  • Debug Diagnostic Tool (DebugDiag) od Microsoftu (Free) – analýza memory dumpů (nejenom).
  • Help & Manual od EC Software (Paid) – tvorba on-line dokumentace, viz třeba manual.goran.cz. Už jsem to dlouho neměl puštěné… :-)
  • Log Parser od Microsofty (Free) – command-line utilita, která umožňuje do klást SQL dotazy do textových logů, typicky do logů IIS. Nemám nainstalováno stále, ale občas se pro diagnostiku velmi hodí. Alternativou je importovat log do tabulky SQL serveru a ptát se tam.

Základ desktopu

  • Windows 7 64-bit EN – Windows 8 jsou pro mě pohromou ála Vista, k Windows 8.1 jsem se ještě nedostal. Pracuji raději s anglickým prostředím.
      • Windows Explorer – Pro veškerou práci se soubory používám základní Windows Explorer, obejdu se bez souborových manažerů ála Total Commander.
  • Microsoft Office EN – Outlook pro maily, kontakty a kalendář. Word, Excel. OneNote poměrně intenzivně na zápisky ze schůzek. Visio občas na nějaký ten diagram (za ideální ho nepovažuji, ale vhodnější jsem nenašel). PowerPoint na slides, které se snažím ve svých vystoupeních spíše omezovat. Dříve jsem používal Access s pár naklikanými formuláři pro editaci obsahu jedné DB, ale po skončení podpory .adp již není důvod. Publisher nepoužívám. Project jsem odsoudil do rubriky “kreslítko Gantt-chartů”, i když jsem mnoho marných pokusů přijít mu na chuť udělal.
  • Google Chrome – od jara 2013 můj primární browser. Roky jsem používal Internet Explorer s argumentací, že chci vidět weby tak, jak je vidí většina našich zákazníků. IE však svůj tržní podíl ztrácí, rozdíly renderování se zmenšují a Google Chrome si mě získal svojí jednoduchostí, rychlostí a synchronizacemi.
  • 7Zip (Free) – Komprese/dekomprese. Používám skrze kontextové menu ve Windows Exploreru.
  • PDF Creator (Free) – Virtuální tiskárna s výstupem do PDF souboru.
  • XnView (Free) – Prohlížeč obrázků/fotek. Neorganizuji fotky (zatím?) do žádných knihoven a pracuji s nimi čistě souborově (organizováno do složek), XnView používám čistě jako výchozí prohlížeč obrázků s jejich otevíráním rovnou do režimu FullScreen.
  • PSPad editor (Free) – lepší Notepad. Nepoužívám příliš často a v podstatě opravdu jenom jako náhradu pomalého Notepadu, takže od toho nic moc nečekám, nic lepšího jsem nehledal. Moc se v něm ani nevyznám a nejspíš bych se bez něj obešel.
  • Paint.NET (Free) – Editace obrázků. Nejsem žádný grafik, ani foto-geek. Tato jednoduchá napodobenina PhotoShopu mi na moje úkony bohatě dostačuje a jedinou slabinou je chybějící podpora formátu .PSD. Od foťáku mám licenci Photoshop Lite, ale nevyužívám ji. V mimořádných situacích sáhnu po GIMPu, ale trvale ho instalován nemám.
  • CDBurnerXP (Free) – Vypalování CD/DVD (už velmi zřídka). Původně jsem používal Nero Burning ROM, ale poslední dobou se nějak komplikovaně získává a z celého jednoduchého Nera se stala taková komplikovaná hydra, že jsem si našel CDBurnerXP. Vestavěné vypalování ve Windows (vyjma Burn ISO) jsem nepřijal za důvěryhodné.
  • Virtual CloneDrive (Free) – Virtuální CD/DVD mechanika pro připojení .ISO souborů.
  • Total Commander (Paid) – Nepoužívám jako hlavní správce souborů, ale především jako FTP klienta. Využití u mě má i pro pár dalších scénářů (prohlížení velkých souborů, porovnávání složek, atp.), nijak intenzivně ho však nevyužívám.
  • CrashPlan+ (Paid) – Automatické zálohování souborů do cloudu. Používám nejširší CrashPlan+ Family Unlimited plan pro počítače své a svých rodinných příslušníků. Nepoužívám dlouho, ale zatím jsem spokojen. Za asi $12/měsíc to na pozadí slízává soubory ze všech počítačů (včetně manželky MacOS) a zálohuje na cloud-storage poskytovatele služby.
  • Dropbox (Free) – Cloud storage. Nevyužívám příliš intenzivně, nemám ani stále spuštěno, ale občas se hodí, např. ke zpřístupnění souborů pro iOS. Mám i SkyDrive a GoogleDrive, ale zatím obecně cloud-storage moc nevyužívám.
  • Adobe Reader, Combined Community Codec Pack

Užitečné maličkosti

  • Copy Path To Clipboard od Jgaa’s Internet (Free) – Přidá do kontextového menu Windows Exploreru ke každému souboru/složce volbu „Copy Path to Clipboard“.
  • Paste As File od Chrise Gingericha (Free?) – Přidá do kontextového menu Windows Exploreru volbu „Paste As File“. Používám občas v kombinaci s PrintScreen nebo OneNote Snipping Toolem na ukládání screenshotů do souboru.
  • OutlookOnTheDesktop – po drobné úpravě (mapování klávesové zkratky) používám pro rychlé zobrazení mého týdenního kalendáře (FullScreen). Funguje i s Outlook 2013.
  • AutoHotKey (Free) – Používám pro jedinou funkčnost, zato téměř stále. Máme ve firmě napsaný jednoduchý skriptík, který na klávesovou zkratku Win+A vygeneruje skrz klávesnici edit-stamp používaný při editaci WorkItems v TFS:

image

  • FileLocator Lite (Free) – Vyhledávání souborů na desktopu. Používám od dob Windows XP jako náhradu za standardní nefunkční vyhledávání souborů (ve Windows 2000 jsem problém nikdy neměl). Je docela rychlý a hlavně spolehlivý. Původně se jmenoval Agent Ransack.
  • inSSIDer (Free) – Wi-Fi monitor. Zobrazí obsazení kanálů, sílu signálu jednotlivých AP, atp. Hodí se k vyhledání volného místa pro vlastní Wi-Fi, popř. k rychlé diagnostice/přehledu.

Blogging, Publikování

  • WordPress.com (Paid) – HAVIT Knowledge Base běží jako hostovaný blog na WordPress.com, komerční sekce projektu WordPress.org. Předtím jsem používal šest let Community Server a udělal krátký marný pokus s BlogEngine.NET. Využívám služby, které vycházejí asi na $90/rok.
  • Windows Live Writer od Microsoftu (Free) – Publikování blog-postů z desktopu, off-line příprava postů. Aktuálně součást Windows Live Essentials a není jasné, jestli to Microsoft nezařízne. Jiný editor jsem ani nezkoušel. Pro WordPress.com jsem musel nastavení WLW trochu poladit – vypnout HTML-encoding titulků postů.
  • WLW SourceCode Plug-In pro WordPress.com od Riche Hewletta (Free) – Plug-in pro vkládání code-snipettů do postů Windows Live Writeru při publikování na WordPress.com. Žádný zázrak, ale lepší řešení jsem zatím neobjevil.
  • Insert Files Plug-In pro WLW od ScottIsAFool – Plug-in pro vkládání souborových příloh do blog-postů.
  • Camtasia Studio od TechSmith (Paid) – Nahrávání a střih screencastů.

Business Administration

  • Money S3 (Paid) – finanční účetnictví, mzdy
  • Datovka od CZ.NIC Labs (Free) – klient pro obsluhu Datové schránky
  • HAVIT Goran (Paid) – provozní agenda – timesheety, náklady, plánování, fakturace, dovolené, CRM, atd.

Osobní pomůcky

  • SplashID Safe (Paid) – repository na hesla a jiné chráněné údaje. Používám se synchronizací na iOS.
  • Quicken od Intuit (Paid) – používám pro evidenci volného kapitálu a investičního majetku. Není ideální, ale lepší jsem nenašel. Je to určeno spíše pro US trh (napojení na banky, napojení na burzu) a spíše pro běžný rodinný rozpočet (evidence výdajů atp.).

Používal jsem dříve…

    • Cruise Control .NET (Free) – Před migrací na TFS náš hlavní build server.
    • Hide Main Menu (Free) – Visual Studio Extension. Na notebooku umožňuje získat řádek kódu navíc :-)
    • VisualSVN (Paid) – Visual Studio Extenction. Napojení na TortoiseSVN funkce přímo z kontextu Visual Studia. Intenzivnější práci se SVN si bez něj nedokážu představit. Používali jsme ve firmě všichni vývojáři dlouhé roky. Po migraci ze SVN na TFS již ani neinstaluji, pro ty občasné potřeby mi stačí holé TortoiseSVN,
    • GhostDoc (Free) – Visual Studio Extension. Generování XML dokumentace. Používal jsem zejména pro kopírování předchozích komentářů při overridech.
    • Ident Guides (Free) – Visual Studio Extension. Zobrazuje svislé čáry dle úrovně odsazení kódu. Existuje několik doplňků tohoto typu a je i obsaženo v mnoha širších balících, nyní je obsaženo i v Productivity Power Tools.
    • Code Contracts od Microsoftu (Free) – snažili jsme se je několik let ve firmě používat až jsme na ně definitivně zanevřeli v okamžiku, kdy jsme nenašli záměr jejich reimplementace nad Roslyn. Jejich stávající implementace pomocí post-compile rewriteru je zoufale pomalá a naprosto neodpovídající přidané hodnotě. Nakonec jsme si vytvořili vlastní tradiční implementaci s překrývající syntaxí, která sice umí jen základní scénáře typu Requires(), Assert(), Assume(), zato se časy buildů našich projektů vrátily z minut na vteřiny.

Podobné seznamy

Rozšíření WordPress šablony Twenty Twelve

V rámci svých bojů o novou podobu této Knowledge Base jsem potřeboval upravit WordPress šablonu Twenty Twelve Theme na větší šířku obsahu. Vzhledem k volbě služby WordPress.com, která neumožňuje zasahovat do definice šablony, ale jenom aplikovat CSS (v rámci služby Custom Design), ukázalo se být řešením pravidlo:

body .site {
        max-width: 82.5rem; /* řídí šířku celého layoutu! výchozí hodnota 68.5714rem */
}

Outlook/Exchange: Rule that applies to specific recipient email alias / Pravidlo s podmínkou na e-mail alias

I do have several generic e-mail aliases set to my Exchange mailbox. I want to create Outlook rules to process these messages separately and it was a little bit tricky to find the right condition which applies to messages sent to specific alias:

  1. You can use „with specific words in the message header“ condition, where you specify „To: <alias@domain.com>“ in Search list (or other forms applicable to message header as you need).
  2. The „with specific words in recipient’s address“ condition didn’t work for me.
  3. The „sent to people or public group“ condition didn’t work for me.

Mám na svém Exchange mailboxu nastavených několik generických aliasů typu (info@domain.com, admin@domain.com, atp.) a chtěl jsem vytvořit Outlook pravidlo, které by mi tyto zprávy zpracovávalo odděleně:

  1. Je potřeba použít podmínku „pokud obsahuje: určitá slova v záhlaví zprávy“ s volbou „To: <alias@domain.com>“ (nebo dle potřeby jiné formy použitelné v hlavičkách zpráv).
  2. Podmínka „pokud obsahuje: určitá slova v adrese příjemce“ mi nezabrala.
  3. Podmínka „odesláno uživateli: osoby nebo veřejná skupina“ taky nefungovala.

Outlook+Exchange: „Your server administrator has limited the number of items you can open simultaneously. Try closing messages or removing attachments and images from unsent messages you are composing.“

Pokud Vám Outlook (v mém případě 2013) vrací takovouto chybu (obzvláště ve spojení s Exchange 2013), pak vězte, že to ve skutečnosti znamená něco jako „příliš mnoho otevřených spojení jednoho uživatele na Exchange server“. Mně se to konkrétně děje, když si pustím Outlook na desktopu a notebooku zároveň, tak mi nejde pracovat s veřejnými složkami, protože pro ně si chce Outlook otevřít další spojení a Exchange už mu ho nedá.

Pokud zavřu jednoho z klientů, problém zmizí.

Viz též:

Update

Toto pomohlo (http://www.symantec.com/business/support/index?page=content&id=TECH198553):

  1. On each Exchange 2013 mailbox server, create a new registry DWORD value called Maximum Allowed Sessions Per User under the following registry key:
    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
    
  2. Set Maximum Allowed Sessions Per User to 0x00001388 to allow up to 5,000 sessions per user.

Chyba 404 při přístupu na ASP.NET aplikaci v Classic managed pipeline modu na II7

Symptom

Pokud přepneme application pool do Classic managed pipeline mode a dostáváme podivnou chybu 404, jedná se velmi pravděpodobně o chybu

HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.
Error Code 0x800704ec

Tuto podrobnější chybu se můžeme dozvědět, pokud přístup uděláme přímo ze browseru běžícím na serveru (což bohužel ne vždy lze, viz třeba problémy s lokální integrovanou authentizací).

Cause

Každopádně problém je v tom, že nejsou v nastavení IIS povoleny ISAPI extenze pro ASP.NET 4.0.

Action

  1. IIS Manager
  2. server level
  3. ISAPI and CGI restrictions
  4. u zakázaných ASP.NET 4.0 extenzí, které potřebujeme, nastavit Allow

Číslování stránek slovy v MS Word

  1. Vložte si do stránky klasické číslování (automatické pole)
  2. Pravým tlačítkem klikněte na číslo stránky a zvolte Toggle Field Codes
  3. Předpis pro automatické pole změňte ručně na
    • {PAGE \* CardText \* MERGEFORMAT} – pokud chcete číslo ve formátu „jedna“, „dva“
    • {PAGE \* OrdText \* MERGEFORMAT} – pokud chcete číslo ve formátu „první“, „druhý“, „třetí“ (bohužel nikoliv druhá)
    • …nejspíš se dají najít i další řídce dokumentované možnosti formátování
  4. Přepněte zpět pomocí Toggle Field Codes na výsledné zobrazení

Task Scheduler – dvojí Stop task if it runs longer than…

Pozor na Task Scheduler, pokud mu nastavujete limit „Stop task if it runs longer than“. Ten limit je tam totiž dvakrát, a už jsem se několikrát napálil, že na jednom místě byl nastaven dostatečný a z druhého místa mi to task sestřelovalo a nedobíhal:

  1. Prvním místem je záložka „Settings“ v dialogu vlastností tasku.
  2. Druhým místem jsou Advanced Settings v editaci nastavení Triggeru tasku (Pro každý trigger jde nastavit limit jiný, což je sice hezké, ale…)

Excel: Podmíněný součet SUMIF s odkazem na jinou buňku v podmínce

Opět jsem chvíli bádal, tentokrát, jak zapsat do funkce SUMIF podmínku, která by se odkazovala na hodnotu jiné buňky. Např. chci sečíst hodnotu, pokud je větší než hodnota v jiné buňce (konkrétně jsem řešil jakési plovoucí součty umořování, ale to ten není podstatné). Důležité je, že pokud se potřebuji v podmínce (criteria), která je jinak textovým řetězcem, odkázat na hodnotu určité jiné buňky, tak si tam mohu hodnotu té jiné buňky prostě dostat textovým skládáním onoho řetězce:

= SUMIF(C2:C10; ">" & A2; B2:B10)

…jak prosté.

Viz též Excel: Podmíněný součet SUMIF s podmínkou na (ne)prázdné buňky.