Najsamhoršia vysoká škola

February 4th, 2006

Pred rokom som si zvolil podľa mňa jednu z najlepších technických vysokých škôl u nás – FEI STU. Hneď v prvom semestri je však vidieť, že toto bola tá najhoršia voľba.

V súčastnosti je FEI zase obalená tým pozlátkom, ktoré ročne na ňu zláka tisícky študentov. Za ním sa však skrýva len škola s nekvalitným systémom vyučovania, ktorá potrebuje nálakáť obrovské počty študentov kvôli normatívom.

Po tom, ako sa na začiatku roka vybavia potrebné formality pre štúdium, sa už o študenta nikto nestará. Samozrejme, nebudú nás vodiť za ručičku. Ale keď študent nemá dostupné žiadne učebné materiály, keď nemá prístup k akýmkoľvek informáciám o fakultách, skúškach, konzultačných hodinách učiteľov alebo výsledkov skúšok len preto, že učiteľ nie je zastihnutý ani v konzultačných hodinách.

Aby sme to nemali ľahké tento rok s matikou, mali sme 4+1 hodín na matike i logických systémoch. Najlepšie je na tom, že jedna, áno jedna!, hodina týždenne s doktorantkou nám vynahradila štyri hodiny s profesorkou! Podobne sa nedá porovnávať vysvetlovanie učiteľky Čípkovej so zmäteným vyučovaním docentky Galanovej.

Skriptá, ktoré sme dostali, sú samozrejme zastaralé. Na matike sa nedá vymyslieť nič nové, ale v súčasnej dobe je pre študenta absolútnym nezmyslom učiť sa tisícky poučiek.

Chyba skrípt je v tom, že sú z doby, kedy sa okrem učenia ešte dala pozerať len televízia. V súčastnosti musia študenti nielen zvládať učenie, ale aj prácu s modernými technológiami. Nový životný štýl potrebuje aj nový prístup k vyučovaniu, ktoré nemôže byť na technickej śkole založené na predvedení nabiflených vedomostí.

Namiesto toho, aby sme sa na ekonómii učili veci, ktoré v živote naozaj využije, napríklad ako je to s daňou, keď je študent zamestnaný ako brigádnik, tak sa učíme, ako vypočítať HDP alebo mieru nezamestnanosti. Vedieť, či si podať daňové priznanie je o dosť dôležitejšie, ako vedieť vyrátať nezamestnanosť - na takéto štatistiky tu máme Štatistický úrad.

Je mi naozaj ľúto, že na technickej škole učia učitelia, ktorý nedávajú študentom vzdelanie. Je to len čisté biflenie sa kvanta informácií. Pritom aktuálny životný štýl vyžaduje naučiť študenta ako nájsť informáciu, ktorú potrebuje. Matikárke určite vyhovuje prísť na hodinu, povedať si svoje poučky, zapísať celú tabuľu vetami a definíciami. Je to pre ňu pohodlné.

Zaujíma niekoho, že napr. limity by vôbec nameli byť vyučované na definovanie spojitosti funkcie? Nie! Je to tak matematicky správne. Ale každý vie, čo je spojitá funkcia, ale takmer nikto nemá správnu predstavu o limitách.

FEI by vo vlastnom záujme mala robiť prieskum o kvalite výučby nie raz za školský rok, ako je to zakotvené v zákone o vysokých školách, ale raz za semester. Malo by sa zmeniť to, že študenti sú tu pre FEI (kvôli normatívom). Je to naopak: FEI je tu pre študentov.

Windows RSS Platform

February 1st, 2006

Spolu s prehliadačom Internet Explorer 7 budú mať aj užívatelia OS Windows XP a 2003 dostupnú Windows RSS Platform. Toto API poskytne jednoduchý prístup k RSS zdrojom. Všetky aplikácie budú zdieľať užívateľov zoznam RSS zdrojov, čiže odpadne synchronizácia cez OPML bez viacerými RSS čítačkami.

API poskytne 3 komponenty: zoznam RSS zdrojov, synchronizáciu a úložisko pre zdroje. Bude podporovať rôzne RSS a Atom formáty, pričom vývojári sa nebudú musieť starať o implementáciu spracovania formátov – Windows RSS Platform poskytne cez Common Feed List rovnaké rozhranie pre prácu s rôznymi formátmi.

Užívatelia Windows Vista budú môcť štandardne pristupovať k RSS zdrojom cez IE7 alebo Sidebar. WRP zaistí, že aplikácie budú synchronizované.

Via: Windows RSS Platform

Štyri veci - Four Things

January 29th, 2006

Po 24 hodinách od začatia Four Things mi bola predaná štafeta Petrom Šlosárom.

Štyri zamestnania:

  • študent,
  • programátor,
  • sieťový administrátor,
  • kreslič (v AutoCAD-e).

Štyri filmy, ktoré môžem stále:

  • Lord of the Rings,
  • Futurama (síce je to seriál, ale čo už),
  • Saw,
  • Ice Age.

Štyri miesta, kde som žil:

  • Bratislava,
  • Brezno,
  • Košice,
  • Nemecko.

Štyri televízne relácie:

  • Top Gear (BBC World),
  • Simpsons,
  • 7dem s.r.o. (Markíza),
  • BBC News.

Štyri dovolenkové destinácie, kde som bol:

  • Černomorec, Bulharsko,
  • Prímorsko, Bulharsko,
  • Nízke Tatry,
  • Vysoké Tatry.

Štyri obľúbené jedlá:

Štyri navštevované weby:

Štyri miesta, kde by som bol radšej, ako som teraz:

  • dovolenka pri mori,
  • Senec,
  • lyžovačka,
  • na biku na hrázdi.

Štyri blogy, ktorým predávam štafetu:

Tuposť niektorých ľudí

January 29th, 2006

Čo si budeme nahovárať, P2P siete slúžia na distribúciu nelegálneho softwaru (k tomu patria aj filmy alebo hudba). Je možné napr. cez Torrent distribuovať Linux legálne, ale toto tvorí len mizivú časť prevádzky na P2P sietiach.

Niektorí ľudia sú dokanca tak vážne socky, že mesačne stiahnu 50GB filmov cez P2P siete, absolútne nelegálne a dovolia si povedať „nejde mi internet tak rýchlo, ako to je v zmluve a provider ma okráda“.

Na diskusii Jak Psát Web sa objavil thread rychlost internetu. Na nej sa pýtajúci vôbec netají tým, že mesačne stiahne 50GB filmov.

stahujem aj 50 GB do mesiaca(DC++)

mam: DC++ (taham hlavne filmy(som velky fanusik najnovsich filmov))

Takýto príživník je však strašne citlivý na svoje vlastné peniaze, ktoré musí „vyhodiť“ za pripojenie na internet.

… ze sa ma len snazi SLOVANET okradnut (tiez keby som chcel pomalsi net ,tak to mam lacnejsie ,a nie ze platim za 60 a mozem surfovat len 15))

Že on mesačne okradne filmové spoločnosti o tisícky korún mu nevadí, ale vadí mu to, že internet ide pomalšie, i keď to tak podľa zmluvy môže byť. Takýto človek totiž nemá na rýchle pripojenie a zaplatí si čo najlacnejšie pripojenie s vysokou agregáciou.

 

.NET 2.0: Nulové základné dátové typy

January 22nd, 2006

Niekedy je výhodné mať v základnom dátovom type ako int, float, double, DateTime a pod. uloženú hodnotu null. Všetko sú to hodnotové typy, čiže musia byť vždy inicializované na určitú hodnotu.

Problém nastáva pri práci s databázami, ktoré pri týchto dátových typoch umožňujú použitie hodnoty NULL, v .NETe reprezentovanej ako trieda DBNull.

Často sa teda do týchto štruktúr ukladali hodnoty, ktoré boli mimo rozsahu definovaného architektúrov programu (napr. máme tabuľku produktov, v ktorej sú produkty bez uvedenej ceny. Stĺpec je dátového typu money alebo decimal a umožňuje mať aj nulové hodnoty. Pri načítaní dát z DB treba kontrolovať, či hodnota nie je typu DBNull a ak je, vložiť do premennej hodnotu -1M, pretože zápornú cenu produkt nemôže mať.)

.NET 2.0 obsahuje novú triedu System.Nullable, ktorá umožňuje uchovať v hodnotových typoch aj hodnotu null. Je teda lepšie rozpoznateľné, či je hodnota nezadaná, alebo zadaná hodnota je z povoleného rozsahu, alebo nie. Jazyk C# obsahuje nový operátor ?? pre prácu s triedou Nullable<T> a umožňuje skrátený zápis pre nulový hodnotový typ.

Nulový hodnotový typ sa definuje napísaním ? za názov hodnotvého typu.

int? x;

Tento zápis je ekvivalentný zápisu

Nullable<int> x;

Na zistenie, či premenná obsahuje nejakú hodnotu, je možné použiť vlastnosť Nullable<T>.Has­Value alebo pri priraďovaní operátor ??.

Do hodnotového typu je operátorom ?? vložená hodnota nulového hodnotového typu ak je v ňom priradená nejaká hodnota. Ak je hodnota nulová, do hodnotového typu sa vloží hodnota na pravej strane operandu ??.

Taktiež je možné zavolať metódu Nullable<T>.Get­ValueOrDefault().

int? x = null;

// prvá možnosť – určenie vlastnej hodnoty v prípade „null“
int j = x ?? 0;
// druhá možnosť
int k = x.GetValueOrDe­fault(); // k = 0
// tretia možnosť
int j = 0;
int? x = null;
if (x.HasValue)
j = x.Value;

Poznámka: DBNull trieda existuje v pamäti vždy len jedna a to jej inštancia DBNull.Value. DBNull sa nikdy nerovná žiadnemu inému dátovému typu.

PS: Dnes to bolo bohužiaľ bez praktickej ukážky.

.NET 2.0: Prázdny alebo nulový reťazec

January 20th, 2006

Zistiť, či je text nulový (null) alebo prázdny (String.Empty, "") je častou zálažitosťou v programoch. Veľmi dobrá novinka v .NET 2.0 je statická metóda String.IsNullO­rEmpty(string). Táto metóda je oveľa prehľadnejšia a efektívnejšia, ako text == null || text == "". Dokonca je rýchlejšia, ako častý trik text.Length == 0. Totiž porovnanie text == "" je veľmi pomalé.

Pri testoch nie je String.IsNullO­rEmpty() rýchlejší, ako text.Length == 0, ale často sa zabúda na skontrolovanie, či je text nulový a po pridaní podmieny text == null je String.IsNullO­rEmpty() tým najrýchlejším zistením, či je text prázdny.

Využitie nájde napr. v triedach, ktoré načítavajú konfiguráciu. Trieda má v sebe napevno nakódované defaultné hodnoty nastavení, potom načíta zmenené hodnoty z konfiguračného súboru alebo databázy a zmení ich. Ak sa nové nastavenia načítavajú do nejakého poľa, napr. HashTable alebo niečoho podobného, tak kontrola, či nastavenie v HashTable má nejakú hodnotu je pomocou String.IsNullO­rEmpty veľmi efektívna.

string dataDir = „/App_Data“;

HashTable customSettings = LoadSettings();

if (!String.IsNu­llOrEmpty(cus­tomSettings[„da­taDir“]))
   dataDir = customSettings[„da­taDir“].ToStrin­g();

Nekupujte PC Secure od ST!

January 19th, 2006

Pozeral som si balíček od Slovak Telecom, ktorý by mal ochrániť Váš počítač pred vírusmi, červami a hackermi a keď som zbadal cenu, za akú to ponúkajú, tak som bol veľmi zhrozený (ako pri ostatných službách od ST). Balíček stojí 99,– Sk mesačne bez dane! Za nižšiu cenu (cca 95,– Sk s DPH) môžete mať neprekonateľný antivírusový systém NOD32, ktorý vás ochráni nie len pred vírusmi, ale aj spyware alebo rootkitmi. K tomu ešte vynikajúci osobný firewall Kerio Personal Firewall, ktorý je zdarma a máte rádovo lepšie zabezpečený počítač ako s balíčkom „PC Secure“.

NOD32 a Kerio PF sa nedajú porovnávať s programami Panda, ktoré sú dodávané v balíčku PC Secure. A ešte k tomu sú dostupné v slovenčine alebo češtine, čo obyčajný užívateľ určite ocení viac, ako angličtinu. A skúsený užívateľ ich už používa ;-)

Ak však používate dial-upové pripojenie, tak určite si nainštalujte bezplatný program proti tzv. dialerom – AntiDialer, ktorý ST ponúka. Predídete tak až niekoľko desaťtisícovým účtom za surfovanie na internete, ak by sa vám takýto program dostal do PC.

.NET 2.0: Rýchlejšie parsovanie čísel

January 5th, 2006

Veľmi častou úlohou pri programovaní je previesť text na číslo alebo dátum. Najčastejšie pri spracovaní vstupu od užívateľa, alebo spracovaní vystupných dát, ktoré nie sú „strongly typed“ (teda nenesú informácie o dátových typoch).

V .NET 1.0 a 1.1 sa používala načastejšie trieda Convert, ktorá obsahuje statické metódy pre konverziu medzi jednoduchými dátovými typmi (čísla, dátumy, logické hodnoty).

Problém nastáva v zložitom manažmente týchto konverzií. Ak sa totiž argument nedá previesť na daný dátový typ, tak vyhodia výnimku. Tzn. že celý blok kódu treba obaliť do try{} catch{}, ktoré zbytočne znižujú výkonnosť programu.

.NET 2.0 prináša nový prístup ku konverzii základných dátových typov. Je oveľa pohodlnejší a vyžaduje menej systémových prostriedkov. Stará koncepcia je totiž zlá – výnimky by sa mali používať naozaj vo výnimočnom prípade. Ak však užívateľ zadáva vo WinForm aplikácii do TextBoxu číslo a zadá ho zle, tak sa dosť časť nejde o výnimočný prípad ;-).

Preto existuje v .NET 2.0 v každom základnom dátovom type metóda TryParse(). Ako názov napovedá, metóda sa pokúsi spracovať zadaný vstup. Ak sa jej to podarí, vráti true, v opačnom prípade false. Čo však s konvertovanou hodnotou? Metóda má len návrtovú hodnotu bool… Použiť na vstupný text jednu z metód z Convert v bloku if() po úspešnom spracovaní textu metódou TryParse() by bolo jedno z riešení. Je vša neefektívne, pretože dochádza k dvojnásobnému spracovaniu vstupných dát.

Metóda TryParse() má parameter výstupný (out). Ide o premennú, do ktorej bude uložená skonvertovaná hodnota, ak bude konverzia úspešná. Toľko teória a teraz jeden jasný príklad:

int vek;
string input;

Console.Write(„Za­dajte Váš vek: ");

input = Console.ReadLine();

if (Int32.TryPar­se(input, out vek))
{
// správne zadané číslo, od dnešného datáumu odpočítame roky
DateTime rokNarodenia = DateTime.Toda­y.AddYears(-vek);

Console.Write­Line(“Narodili ste sa v roku {0}.„,
rokNarodenia.Year
);
}
else
{
Console.Write­Line(“Prosím, zadajte číslo.");
 }

Zdrojový kód programu: TryParse.cs.

Ukážku je možné vylepšiť o pridanie parametru NumberStyles.No­ne, ktorý neumožňí spracovaniezá­porného čísla. TryParse() by vyzeral takto:

Int32.TryParse(
    input,
    System.Globali­zation.Number­Styles.None,
    System.Globali­zation.Culture­Info.CurrentCul­ture.NumberFor­mat,
    out vek)

Paramater CurrentCulture­.NumberFormat podľa aktuálneho jazyka poskytne metóde informácie o kladnom, zápornom alebo desatinnom znamienku v číslach v aktuálnom jazyku (a aj ostatné dôležité informácie o číslach).

Prasiatko na vylete

January 3rd, 2006
Ide milé prasiatko do lesa na jahôdky. A milý zajačik mu hovorí
Prasiatko, ale veď je predsa zima.

A prasiatko na to:
- Ja mám svetrík.

Bulvár horší ako na Bleskovky.cz

December 29th, 2005

Na našom veľkom informačnom portáli, kde nájdete všetko o počítačoch a internete, Živě.sk, nájdete v spolednej dobe už len všetok bulvár o počítačoch.

Článok Nový font vo Windows Vista či Office 12 zrejme nie je až taký nový hovorí o podobnosti nového písma Segoe UI z Windows Vista s písmom Frutiger. To, že Segoe UI je licencované písmo typu Monotype. Čo je však podstatné: Segoe UI je optimalizovaný pre ClearType (zobrazovanie na LCD) a obsahuje vyše 2200 znakov. tieto podstatné „drobnosti“ Živě.sk, ako správny bulvár, neuvádza. Hlavne, že vydal v ten deň nejaký článok.

Zaujímavá je aj psychologická sonda v komentároch: to, že Microsoft písmo licencoval a upravil, sa samozrejme nepáči lenivým slovákom. Tí (nielen zo Živě.sk) samozrejme na jednej strane Microsoft obviňujú z plagiátorstva. Na strane druhej nemajú problém napísať:

co keby som zacal podnikat tymto sposobom aj ja? novy winblows vista nazvem doors rasta, pridam zopar zvuciek kapely doors, zopar grafickych tem v zlto zeleno cervenej a poviem ze som to neukradol ale vylepsil. kto ide do toho so mnou?

Lenivému slovákovi vôbec nerobí problém ukradnúť cudzí softvér a cudziu muziku. Možno paradoxne aj tento „podnikateľský nápad“ je realizovateľný. Problém je v tom, že by sa lenivému slovákovi nepáčil, pretože by musel zaplatiť licenciu za Windows a licenciu za hudbu od Doors a farby by si doupravoval. Plno výrobcov notebookov dodáva Windows s témou, ktorá je zmenená, aby zodpovedala ich obchodnej značke. A robia to plne legálne.

Ďalší článok Nebezpečné WMF obrázky: eliminujeme riziká nezaplátanej chyby vo Windows je úžasný PR článok pre Živě.sk – informuje neskúsených užívateľov v dostatočnej miere, uvedie odkazy na relevatné zdroje a keďže ide o bezpečnostnú chybu, v dostatočnej miere nakydá na Microsoft.

Áno, uvedená chyba je nebezpečná. Problém je v podaných informáciách: podľa samotného zdroja – F-Secure Blog – chyba bola objavená 28.12. 2005. To je včera! Napriek tomu si Filip Hanker dovolí 29.12. 2005 napísať vetu:

Microsoft na spomínanú chybu do dnešného dňa nevydal žiadnu záplatu.

Informácie o bezpečnostnej chybe 28.12. 2005 uverejnil F-Secure Blog, Secunia a vyšiel aj článok s popisom a postupom pre elimináciu chyby  na Microsoft Technet. Aby článok vyzeral fundovane a hackersky, tak ako zdroj opravy uvedieme „bezpečnostné fórum Full-disclosure“. Samozrejme že sa jedná o postup uvedený v oficiálnom článku na Microsoft Technet – Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution. A pre istotu na záver článku, aby sme nevyzerali, že iba kopírujeme informácie z ostatných serverov, uvedieme vetu:

Pre pokročilých užívateľov dodávame, že sme sa pokúšali docieliť pomocou rôznych editácií systémového registra aj to, aby Internet Explorer neotváral WMF súbory (MIME typ image/x-wmf) automaticky. Dospeli sme k záveru, že takáto možnosť takmer iste neexistuje.

(Samozrejme, že veľmi často existujú červy, ktoré zneužívajú chybu, dlhú dobu pred jej objavením. Ale kým nie je objavená, nie je čo opravovať.) 

Obidva uvedené články sú o Microsoft-e a nikdy som sa netajil sympatiami k Microsoft-u. Nejde však o bezhlavé obhajovanie Microsoft-u. Vôbec nie som nadšený, že existuje takáto chyba, ale určite nejde o jediné neprofesionálne články s nepresnými informáciami na Živě.sk. Ostatné články na Živě.sk nesledujem.