Archives for March, 2006

19
Mar

Chyby v programech

Před několik dny jsem slyšel zajímavou myšlenku, pokusím se ji přetlumočit i zde: “Není důležité psát programy bez chyb, ale takové programy, které se dokáží s chybou vyrovnat.”.

Myslím, že to je velmi pěkně řečeno. Vezmu-li v úvahu, kolik (malých) chyb musí člověk zákonitě udělat při vývoji programu, případně, které již existují, bylo by opravdu dobré zaměřit se na zotavení po (větší (množině)) chybě (pramenících z více malých).

Asi nikdo z nás neví, co se stane za hodinu nebo co bude za rok, musíme jen doufat, že chyby (nejen v programech) se nám bude dařit řešit a hlavně jim předcházet.

15
Mar

Jak (ne)násilně vypnout Windows Media Encoder?

Používám WME k ukládání nějakých pořadů z TV karty, když nemám v tu chvíli čas na shlédnutí. Přes SDK ovládám celou tuhle “věc” v konzoli. Problem je, že mám udělány skripty, které vše zařídí, atp. Jsem (přirozeně) líný pokaždé editovat skripty a tak mám nastavenu délku záznamu na 4 hodiny. To většinou stačí (a to i když se seknu o hodinu při spuštění :) ).

Pokud však pořad už skončí a já už jsem v té chvíli chci něco jiného, musím WME nějak (ne)násilně ukončit. Ale. Pokud se na stroj přihlásím a přes TaskManager zabiju daný proces, není soubor korektně zakončen a jsou s tím jen problémy (OK je to přirozeně jen pokud se vysílání neukládá a dívám se “live”, ale to je málokdy). Dlouho jsem se pokoušel najít nějaká řešení, jak encoder ukončit. Až jednou… Přišel jsem na vskutku systémové řešení.

Prostě přenastavím hodiny na počítači o pár hodin dopředu a proces jednoduše korektně skončí. :) Toť vše.

12
Mar

C# 3.0 – něco na tom je

Zase jsem se po dlouhé době dokázal prokousat všemi možnými dokumenty, které jsem měl načtené v Opeře a jedním z dlouho-tam-ležících byl i článek C# 3.0 and LINQ. Obecně nejsem člověk, co má všechny novinky hned v malíčku a používá poslední jazykové konstrukty, co mě tam ale zaujalo, byla možnost rozšíření tříd o vlastní metody. No řekněte, není tohle nádhera:

public static class StringExtensions
{
  public static int ToInt32(this string s)
  {
    return int.Parse(s);
  }
}

Opravdu myslím, že tohle budu používat. :)

6
Mar

Co je to upgrade? // What’s upgrade?

Nahrazování starých chyb novými! // Replacing the old bugs with new ones!