Nové ikony ve Visual Studiu 2005
Zhruba před rokem Soma na svém blogu oznámil, že nové Visual Studio bude obsahovat aktualizovanou sadu ikon pro použití ve vlastních programech zdarma. Dneska jsem se chtěl na tyto ikony podívat a ejhle – nikde jsem je nemohl najít. Pokud máte stejný problém, hledejte v adresáři C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary – zde leží soubor VS2005ImageLibrary.zip, který všechny ikony v několika formátech obsahuje.
Nasazení ASP.NET aplikace využívající SQL Server Express na běžném hostingu
Až doposud jsem si myslel, že nasazení ASP.NET aplikací je snadnou až triviální záležitostí. Podle všech reklamních sloganů i logiky architektury ASP.NET by měl fungovat zázrak jménem xcopy deployment, zvlášť když nový SQL Server 2005 umožňuje databáze jednoduše nahrát jako jeden nebo několik MDF souborů. Jak ale vypadala realita, když jsem někde na netu potřeboval zprovoznit ASP.NET aplikaci do školy?
Začal jsem na svém hostingu, kde ASP.NET a SQL Server 2005 Express běží někdy od listopadu. Jakýkoliv pokus o práci s databází však končil chybou „Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed.“ Asi hodinu jsem se problém snažil řešit s pracovníkem podpory, na webu jsem pročetl mnoho článků a diskuzních fór, ale vše bez úspěchu (mezi nejlepší zdroje patřil článek Tomáše Petříčka Nejčastější chybové hlášky SQL Express 2005 a diskuze na MSDN forums). Chyba je kdoví kde – možná jsou na nějaký soubor špatně nastavená práva, možná by pomohla reinstalace, ale jisté bylo jen to, že na mém hostingu aplikaci zřejmě nezprovozním.
There is already an open DataReader associated with this Command which must be closed first
Představte si následující kód, ve kterém je využíváno jediné připojení k databázi (detaily jsou vynechány):
reader = command.ExecuteReader();
while (reader.Read()) {
...
updateCommand.ExecuteNonQuery();
...
}
Tento kód skončí výjimkou „There is already an open DataReader associated with this Command which must be closed first“.
První věcí je, že popis výjimky moc vývojáři nepomůže. Zpráva
totiž napovídá, že je s jedním Commandem asociováno víc
DataReaderů, což ale na první pohled není pravda – jediný otevřený
DataReader je asociován s objektem command
, který není
totožný s objektem updateCommand
. Navíc vykonáváme
ExecuteNonQuery a žádného DataReadera nevytváříme. Pro začátečníka
mého typu je tedy hláška zcela k ničemu, naopak je spíše matoucí.
(V souvislosti s tím doporučuji shlédnout skvělý track
PRS223: Getting Users to Fall in Love with Your Software:
2005 Edition z videí z PDC 05, kde se
na téma zbytečných hlášek pobavíte a poučíte zároveň.) Jen pro
úplnost poznamenám, že hláška svůj smysl má, protože oba objekty command
jsou propojeny přes objekt Connection a DataReader se vytváří i při
ExecuteNonQuery, protože tento příkaz vrací počet ovlivněných řádků.
Ale to je celkem jedno, hláška prostě dobrá není.
Historie jazyků C a Visual Basic (tak trochu jinak)
Pokud se chcete dobře pobavit, přečtěte si články History of the BASIC family of languages a History of the C family of languages. Zde je malý aperitiv:
1997 – Taking the advice of hallucinating industry analysts, Corel decides to rewrite all their applications, including WordPerfect, in Java. The end result is the first known word processor that is slower to use than a typewriter.
Omea končí?
JetBrains Omea je zajímavý kousek softwaru, který primárně používám jako RSS čtečku, ale umí pracovat třeba s usenet skupinami, s maily, s webovými záložkami atd. Právě byla vydána nová verze 2.1 (release notes), což je prima, ale současně jsem se v diskuzní skupině dočetl, že Omea je už od září oficiálně nepodporovaný projekt:
Since September'05, development team was cut significantly. JetBrains decided to not support the product anymore, and most of the latest development/fixes were done in our free time (those Omeans who remained in the JetBrains have their new responsibilities in IntelliJ IDEA project). Thus I hope everybody understands now that the latest months were just really hard.
Tohle je hrozný web
Chcete vidět typický příklad špatně udělaného blogu? Právě se na něj díváte.
- Je použit defaultní skin WordPressu, což je trapné a velmi málo nápadité. Autor, který si neumí zařídit aspoň trochu osobitý design, pravděpodobně ani sám moc osobitý nebude.
- Přeložena je pouze část uživatelského rozhraní. Slovíčka „posted in“, „comments“, ale i divný formát data (Leden 12th, 2006) svědčí o značném amatérismu.
- Kategorie jsou nekoncepčně připravené a články nejsou vždy zařazeny do odpovídající rubriky.
Návštěvnost a párek v rohlíku
Blogování je zajímavá činnost. Já jsem začal tak, že jsem si různé věci zapisoval, aniž jsem vlastně věděl proč. Nikde jsem svůj blog nepropagoval, nikdo o něm nevěděl a nikdo ho tudíž nenavštěvoval. Sigmund Freud by nejspíš psaní blogu pro sebe samého nazval trochu přísněji než jen podivnou kratochvílí, nicméně ať tak či onak, v minulosti vzniklo několik zápisků, které bych už dnes asi nenapsal.
Soutěží LCD za web počínaje mi na blog chodí lidi. Ne, nejsem jako onen hostinský z Hospody na mýtince a naopak zde návštěvníky vřele vítám. Určitými indíciemi aktivity na tomto webu jsou sem tam zanechané komentáře, ale abych poznal, které články jsou zajímavé, odkud sem návštěvníci proudí (nebo spíše chodí :) ) a tak dále, rozhodl jsem se blogovníček monitorovat dvěma službami pro audit návštěvnosti. Téma sledování vlastního webu je zajímavé a určitě o něm napíšu samostatný článek, ale celé tohle má být o něčem jiném.
Windows Media v QuickTime playeru - a hlavně naopak
Microsoft na svých stránkách nabízí Windows Media Components for QuickTime, které umožní přehrát .wmv a .wma přímo v QuickTime playeru.
Co ale asi potěší daleko větší množství uživatelů, je QuickTime Alternative, sada kodeků umožňující naopak QuickTime formát přehrát ve Windows Media Playeru. Dostat QuickTime pod WMP má jednu zásadní výhodu: jakmile přehrávání funguje tam, začne fungovat i v dalších aplikacích využívajících stejné API, např.
Jak zrychlit start .NET aplikací
Seznam užitečných tipů a triků pro zrychlení startu vyvíjené .NET aplikace by neměl uniknout nikomu, kdo to s použitelností vlastního programu myslí vážně. Rychlý start je jedna ze základních věcí, která může uživatelům velmi zpříjemnit život.
Monad je feature complete
Monad, snaha Microsoftu přinést na svou platformu sílu *nixových shellů, je feature complete. V současnosti je ke stažení beta 3, k vydání by mělo vyjít současně s Exchange 12, tedy někdy na konci roku 2006 nebo začátkem roku 2007.
Pokud se chcete o Monadu dozvědět víc, doporučuji shlédnout prezentaci TLN303: Monad: Advanced Command Line Scripting z loňského PDC.
před 5 let 42 týdny
před 5 let 42 týdny
před 6 let 12 týdnů
před 6 let 26 týdnů
před 6 let 39 týdnů
před 6 let 48 týdnů
před 6 let 49 týdnů
před 7 let 1 den
před 7 let 6 týdnů
před 7 let 15 týdnů