Jozef Izso

Fólia na iPhone 4

10. December 2010

Kúpil som si pre svoju novú hračku (iPhone 4) ochrannú fóliu na displej, aby som na ňom nemal zbytočné škrabance. Na iPod touch sa mi osvedčila fólia LE cristal od be.ez. Po niekoľkých rokoch je displej v poriadku, na fólii sú len dve mierne ryhy ktoré je trochu vidieť pod uhlom. Väčšinou sú v balení dodávané 3ks fólií, nie je problém s ich výmenou po pár rokoch.

Pre iPhon4 som si objednal Belkin fóliu pre iPhone 4 z Alzy. Aby som nemal problémy na slnku, tak som zobral matnú „matte“ verziu. Za 8 EUR dostanete tri fólie, handričku a kartu na vyhladenie fólie a odstránenie vzduchových bublín. Nasadenie fólie je jednoduché, treba si len dať pozor na správne zarovanie. Belkin fólia je presne kopíruje rozmery obrazovky, takže aj malá odchýlka spôsobí že fólia bude pretŕčať cez okraj a nebude sedieť. Pri správnej orientácii však sedí perfektne. Samozrejmosťou sú miesta pre Home tlačidlo, kameru a slúchadlo.

V čom má však fólia sklamala je práve jej matné prevedenie, ktoré spôsobuje že svetlo z displeja je rozkladané a obraz je prekrytý vrstvou mikroskopických RGB bodiek, ktoré veľmi kazia dojem z Retina displeja.

Fóliu teda budem meniť za lacnejšiu normálnu verziu (cca 6 EUR) aby som mal obraz na iPhone taký, aký má byť.

iPhone 4 obraz

iPhone 4 obraz s matnou fóliou

Rework – zabudnite na formálne vzdelanie

8. June 2010

Kniha Rework má zaujímavú kapitolu o Zabudnutí na formálne vzdelanie a väčšom spoľahnutí sa na ozajstnú prax. Na príklade ukazujú, aké zlé návyky môže človek dostať v škole:

  • The longer a document is, the more it matters.
  • Stiff, formal tone is better then being conversational.
  • Using big word is impressive.
  • You need to write a certain number of words or pages to make a points.
  • The format matters as much (or more) than the content of what you write.

To mi pripomenulo projekt na predmet Informačný systém podniku, ktorý nás učí Ing. Michal Grell, PhD., a kde je podstatná forma, nie obsah. Bohužial, je to zase jeden z tých „expertov“ z Ekonomickej univerzity… :-(

Dr. Ing. Jaroslav Kultan, PhD – zážitky z cvičení z databáz

22. May 2010

Učitelia majú na svojich stránkach väčšinou len informácie o sebe, nejaké tie publikácie čo napísali a prax. Kvality učiteľa sa však z tejto stránky študenti nedozvedia.

Tento semester sme mali tú česť mať na cvikách učiteľa Ing. Jaroslava Kultána. V skratke by sa dalo poradiť ostatným študentom: dajte si na neho bacha. Robí dosť zákernosti čo sa týka termínov odovzdávania zadaní – hlavne rád nastavuje v Moodli časy na 0:00 a potom sa teší, že študenti nemohli odovzdať zadania a následne dáva prednášky o tom, čo to znamená odovzdať niečo do 0:00. Počas semestra som sa dozvedel, že na dekanáte deklaroval, že máme na vypracovávanie projektov oveľa viacej času (2 týždne) ako sme reálne mali (4 dni). Celkovo sa nakoniec situácia na cvikách dosť vyostrovala, keďže nikto z triedy nadokázal akceptovať jeho prístup k študentom, hlavne keď sme od súkromnej školy čakali profesionálnejšieho učiteľa.

Cvičenia sme mali zakončiť prezentáciou projektu, ktorý sme spravili. Posledný termín prezentovania sme dostali na stredu 12.5.2010, kam sa niektorí študenti dostavili a zistili, že žiadne prezentovanie sa nebude konať, keďže sa cvičiaci nikde neukázal. Ešte v ten týždeň v piatok to malo dohru – Kultán vynadal študentom, že v utorok 12.5. nedošli na konzultácie – a nenechal si vysvetliť, že utorok bolo 11.5. a on sám uviedol dátum ako 12.5. Proste podľa neho pochybili študenti.

Finálne prezentovanie projektov sa konalo dnes, znovu v dusnej atmosfére. Externisti čo došli, boli vyhodení, pretože nemali projekt vytlačený. I keď v Moodli nebola žiadna zmienka o tom, že ho majú doniesť vytlačený. Pekne sa tu však prejavil charakter a povaha p. Kultána – byť arogantný, hľadať chybu v iných a stále točiť dokolečka niečo o dodržiavaní termínov (i keď je to od veci, túto problematiku spomína rád). A aby som nezabudol: platí iba to, čo vyhovuje jemu. (Čo bol hlavný dôvod, prečo som presadzoval písomnú komunikáciu pred ústnou.)

Samotné odovzdávanie mi prišlo divné, keďže často sa tváril, ako by sa to jeho netýkalo a ani ho nezaujímalo, čo hovorí dotyčný. Nejakými poznámkami a skákaním do výkladu sa snažil upozorňovať na chyby. Ak mu však niekto opontoval, debata skôr či neskôr končila frázou „To nie je podstatné“ – ostatne ako mnohé iné debaty s ním. Za dosť neprofesionálne určite považujem tvrdenie, že INT(10) v MySQL bude strááášne veľké číslo, až také, že to bude 64bitové a 32bitový procesor to nebude vedieť spracovať. Čo už len však dodať k tvrdeniu pána cvičiaceho, že 210 je väčšie ako 232 a pomaly rovnajúce sa 264? Asi len: to nie je podstatné.

Takéto správanie sa učiteľa voči študentom na štátnej škole by asi prešlo bez povšimnutia. Avšak bohužial aj na súkromnej škole sme si museli prejsť cez neadekvátny prístup k študentom, kvôli ktorému mnohí z nás investovali radšej do súkromnej školy, aby sme ho nemuseli zažívať. Niektorí by oponovali, že nás aj niečo z tých DB naučil. Nuž ak by sme však aspoň polovicu času namiesto riešenia podivných termínov sa učili, tak by vedeli o DB ešte viacej. Napísal som teda takúto kritiku ako reakciu na dosť nepodarené cvičenia tento semester, a nech táto spätná väzba nezostane len vnútri fakulty.

Nová éra vývojových nástrojov

14. April 2010

Dočkali sme sa a pre mňa celkom znenazdajky sa objavilo Visual Studio 2010 už v pondelok. Launch event počas troch dní uvádza Visual Studio 2010, nástroje pre vývoj v SharePointe, nový Silverlight 4 a vývoj pre Windows Phone. Celkom fasa veci, ak naozaj tie znalosti, ktoré mám z ASP.NET WebForms a zo Silverlightu viem bez problémov použiť v SharePointe a v Silverlighte bežiacom na Win Phone.

Hneď pri uvedení mali VS 2010 k dispozícii MSDN predplatitelia, študenti cez Dreamspark naň tiež vôbec nemuseli čakať, keďže sa tam Professional verzia objavila hneď, ostatní môžete použiť Express či 30 dňové trialky. Ešte keby im tak netrvalo sprístupniť mi MSDN Premium v rámci MSP programu…

Integrovaná podpora všemožných nových funkcií do VS je naozaj lákadlom – Office Ribbon v C++ má vlastný dizajnér, podpora pre Windows 7 Taskbar API priamo vo WPF a WPF či Silverlight dizajnéry. Malou novinkou je zmena v projektoch pre Windows a konzolové aplikácie, keď projekt je buildovaný pre x86 platformu. Spolu s .NET 4.0 to znamená podstatne zrýchlenie spustenia aplikácie. Oplatí sa po upgrade prejsť svoje staré projekty a manuálne v nich zmeniť platformu z AnyCPU na x86.

Validácia formulárov na klientovi v ASP.NET MVC

9. March 2010

Formuláre tvorené v ASP.NET MVC frameworku priamo podporujú validáciu vstupných údajov pomocou atribútov dostupných v Data Annotations API (System.ComponentModel.DataAnnotations). Tieto atribúty vedia skontrolovať, či bola zadaná nejaká hodnota, či je vyhovujúcej dĺžky alebo ju skontroluje voči regulárnemu výrazu. Obrovská výhoda tohto API je v generovaní klientských JavaScriptových pravidiel, s ktorými sa formulár zvaliduje v prehliadači bez zbytočného post backu na server.

Validácia v prehliadači vyžaduje knižnice MicrosoftAjax.js a MicrosoftMvcValidation.js. Skripty si automaticky zistia, či na stránke sú nejaké validačné pravidlá a tie použijú. Aby sme nemuseli tieto pravidlá písať ručne, ASP.NET MVC má jednoduchý spôsob, ako ich vygenerovať: HtmlHelper.EnableClientValidation(). Keď je na stránke zapnutá validácia na strane klienta, pre každý formulár sa vygenerujú pravidlá pre tie položky, pre ktoré ste zavolali funkciu HtmlHelper.ValidationMessageFor(). Nedochádza teda ku validácii celého objektu, ale iba tých vlastností, ktoré môžu byť na stránke upravované (napríklad pri editácii objektu sa nemusí dať meniť jeho názov – keďže pre takéto pole nezavoláte HtmlHelper.EditorFor() a ani HtmlHelper.ValidationMessageFor(), nebude validácia chybne hlásiť, že žiaden názov nebol vyplnený).

Trieda označená validačnými atribútmi vyzerá takto:

public class Comment
{
    [Required]
    [StringLength(40, MinimumLength = 5, ErrorMessage = "Meno musí mať 5 až 40 znakov.")]
    public string Name { get; set; }

    [Required(ErrorMessage = "Zadajte váš e-mail.")]
    [RegularExpression(@"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$", ErrorMessage = "Zadali ste nesprávny e-mail.")]
    public string Email { get; set; }

    [Required]
    [StringLength(140, MinimumLength = 5, ErrorMessage = "Správa musí mať 5 až 140 znakov.")]
    public string Text { get; set; }
}

Kód, ktorý zobrazí formulár môže byť takýto:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.Comment>" %>
...
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>

<fieldset>
    <legend>Fields</legend>

    <%= Html.EditorForModel() %>

    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>

<% } %>

Výsledné JSON pravidlá si môžete pozrieť na adrese http://codepaste.net/7jvdtv.

Oveľa bohatšiu podporu pre validovanie formulárov má jQuery Validation plugin. ASP.NET MVC nemá na serverovej strane žiadnu podporu pre túto formu validácie, avšak priamo MVC Futures obsahuje knižnicu MicrosoftMvcJQueryValidation.js ktorá validačné pravidlá MVC frameworku premení na formát podporovaný v jQuery. V tomto prípade nie je potrebné používať MicrosoftMvcValidation.js súbor.

Pri validácii v ASP.NET MVC 2 RC2 môžete naraziť na problém so StringLengthAttribute a jeho MinimumLength vlastnosťou. Pretože táto bola pridaná v .NET 4.0 a MVC podporuje aj .NET 3.5, tak sa generuje pravidlo, ktoré neobsahuje MinimumLength hodnotu. Na serveri teda dôjde k plnej validácii, na klientovi iba čiastočnej. Toto je možné obísť použitím regulérnych výrazov, ale napísaním si vlastnej StringLengthAttributeAdapter triedy. (Je otázne, či táto chyba bude odstránená v release verzii.)

Pozrite si výsledný formulár s validáciou.

PS: Regulérny výraz na e-mailovú adresu som prevzal z RegExLib.com.

DevDays 2009

24. November 2009

Rok sa z rokom zišiel a prišli DevDays 2009 na ktorých som nemohol chýbať. Novinky o Visual Studio 2010 (ten code editor je vážne rýchly), možnosť programovať pre SharePoint 2010 priamo z VS oveľa jednoduchšie ako doteraz, Test and Lab Manager pre veľmi pekné zachytávanie testovania klientských aplikácií s možnosťou automatizácie a rôzne iné vylepšenia ako WPF editor priamo vo Visual Studio.

Tento rok boli DevDays za poplatok 20?, tomu som sa však vyhodil ako ašpirant na Microsoft Student Partner program :) Obed bol super, trochu málo miesta na jedenie pre tak veľa účastníkov (v podstate sa šlo na dva krát do jedálne) a poddimenzovaný počet záchodov (3 pisoáre + 3 kabínky pre 300 ľudí). Organizácia v pohode, pekné hostesky a ešte Xboxy s obrovskými obrazovkami na hranie, ktoré však nevyzerali že prilákali veľa ludí.

Celkovo to bola fajn akcia, mám prehľad o nových funkciách a ako si zjednoduším prácu – napr. s Call Hierarchy (ako vystrihnutým z Eclipse), s novými refaktorovacími funkciami a inými fíčurkami.

Microsoft Student Partner

24. October 2009

Microsoft Student Partner program spojuje nejchytřejší a nejvíce inovativní studenty zabývající se vývojem aplikací a technologiem z univerzit na celém světě.

Microsoft-Student-Partners-PPT-logo

Upgradoval som dnes WordPress a som zabudol napísať že zo mňa bude Student Partner :). Bol to trochu boj dohodnúť si stretnutie s Romanom Russevom, ale nakoniec sa nám podarilo dohodnúť sa na meetingu. Požiadavku na znalosť MS technológií som vďaka MCPD v pohode splnil a teraz ma čaká len podpísanie pár formulárov budúci týždeň.

MSP je určený pre denných študentov informatiky na vysokej škole akreditovanej Ministerstvom školstva. Záujemca by mal mať záľubu v technológiách a zdieľať svoje vedomosti v rámci školy či komunity. Bude usporiadavať niekoľko seminárov na škole, alebo písať články, robiť na Hand on Laboch alebo sa môže zúčastniť ImageCup súťaže.

Za tieto aktivity má partner veľmi zaujímavé benefity:

  • 1 licenciu MSDN Premium počas doby trvania MSP titulu (v hodnote $2 500 (US cenník) alebo 2 900€ (SR cenník)),
  • preplatenie účasti na konferencii Microsoft TechEd (vstupné je 2 195€),
  • možnosť zapojiť sa do programu výmeny študentov a ísť na leto pracovať do Redmondu,
  • získa vouchery na certifikačné skúšky.

Cez MSP stránku som sa dostal na Dalibora Kačmára, pretože slovensko/česká sekcia stránky trošku blbne, ten ma odporučil na slovenského Developers Evangelistu Romana Russeva a potom už stačilo trochu vytrvalosti aby sme sa stretli. V konečnom dôsledku tá námaha bude celkom pekne odmenená.

Technický seminár Paralelné programovanie

21. October 2009

Dnes sme boli s Romanom na seminári Technický seminár Paralelné programovanie usporiadané KAI FHI Ekonomickej univerzity v spolupráci s Microsoftom. Ako sa paralelne programuje mal predvádzať Ing. Ján Hanák, MVP.

Seminár na pôde univerzity bol prekvapivo preplnený. Začiatok sa mierne odložil, kým sa spravila prezenčka a rozdali reklamné materiály s knižkou Základy paralelného programovania v C# 3.0 a 120 dňovou verziou Windows Server 2008 R2 x64. S polhodinovým meškaním otvoril seminár Roman Russev informáciami o programoch DreamSpark, BizSpark a WebsiteSpark. Jo a ešte MSDN AA.

Hneď po marketingu sa pán Hanák vrhol do paradigmy paralelného programovania. A ako sa do neho ponáral hlbšie, postupne začali odchádzať prví študenti. O nedlho nastal najväčší exodus poslucháčov, v ktorom bohužial odišli študentky ekonómie a už sa dalo pozerať iba na prezentáciu o POOP. Po približne hodine do vzdalo aj niekoľko programátorov, s Romanom sme vydržali asi dve hodinky.

Bohužial sa tento seminár neniesol v „Kubovčíkovom“ duchu: trochu teórie s marketingom a demá, demá, demá, ale šlo skôr o vysokoškolskú prednášku teoretickej informatiky aplikovanej na paralelné programovanie. Spojenia ako „empiricky inferované vzťahy“ mi moc nehovoria, skôr som za „Tu je classa, hodím sem jeden, druhý thread a fičím“. Enormné množstvo teórie bez ukážok, ako vôbec v tom C# sa dá niečo paralelné spraviť (malý hint z praxe: použiť MTAThreadAttri­bute je dobrý začiatok).

Možno praktické ukážky došli po prestávke. Ťažko povedať. To už sme s Romanom fičali na obed. Teoretických znalostí tam bolo strašne veľa. Akademický výklad hádam nemal chybu. Lenže bol natoľko odborný, že som si zo seminára odniesol iba reklamné materiály. I keď podľa mňa by sa celé dve hodiny dali zhrnúť do „Viacero vlákien môžeme efektívne spušťať na viacjadrových procesoroch a prepísanie komlpetnej aplikácie do paralelného kódu nie je najlepšie riešenie. Väčší výkon získame ak paralelizujeme iba časti programu u ktorých to je výhodné.“

Nové Visual Studio 2010 a MSDN

19. October 2009

Microsoft uvolnil pre MSDN odberateľov Visual Studio 2010 Beta 2. Spolu s redizajnom hlavnej MSDN stránky prichádza rada nových vecí ako napríklad fialová, fialová a fialová – logá a stránky majú výraznú zmenu farebného ladenia oproti doterajšej tehlovo červenej. Bohužiaľ Visual Studio logo stratilo svoj viacfarebný prúžok.

Pohľad do Subcriber Downloads časti prezrádza, že VS prejde zmenou v licencovaní a marketing sa zase hrá s názvami: „Express Combo“, Professional, Premium, Ultimate a niečo čo sa volá „Test Elements“. Otázne je, či Premium bude niečo viacej ako Professional (Prof + Team Foundation Server???), ale najskôr to je staré dobré VS Standard s chytľavejším názvom. Všetky verzie majú vypublikovanú aj Web Installer verziu.

Aktualizácia: Arstechnica má informácie o nových SKU: Premium je starý Team System a Ultimate je celý Team System (všetky TS veci, alebo taktiež Team System Team Suite – nový názov je lepší). Standard verzia mizne z ponuky.

Ako sa vyjadril Dave Mendlen (zodpovedný za marketing), všetky tieto zmeny sú symbolizované novým logom:

Visual Studio 2010     msdn logo

MSDN Library má novú Lightweight tému, ktorá sa stane čoskoro východzím vzhľadom.

A to by bolo na dnes všetko. Veľa marketingu a málo technických infošiek. Zdroje: Scott Hanselman a Arstechnica. Úplne na koniec ešte ukážka splash screenu:

VS 2010 Splash Screen

World of Warcraft patch 3.2.0 na Snow Leopard

12. October 2009

Skúšam Snow Leopard a nainštaloval som si tam WoWko. Na Leopardovi bežalo v pohode, zo stránky som stiahol inštalátor, opatchovalo sa to a WoW fičalo. V Snow Leopardovi som mal k dispozícii iba inštalačné súbory a patch 3.2.0 som sťahoval cez torrent, pretože to cez uTorrent trvá aj 5× menej ako cez Blizzard Downloader.

Patch som skúšal spustiť, ale nič sa nedialo. Ani sa neukázala ikonka v Docku. Akoby systém vôbec nespustil program. WoWko si patch sťahuje do svojeho priečinku v /Applications/World of Warcraft, tak som patch skopčil tam a stále to nešlo. Downloader síce súbor skontroloval (a bol správny), potom sa však nič nedialo.

Tak som spustil Console že či náhodou sa niečo neloguje a objavil som túto chybu:

10. 12. 2009 18:09:07   com.apple.launchd.peruser.501[76]       ([0x0-0x69069].com.blizzard.BNUpdate[1244]) posix_spawn("/Applications/World of Warcraft/WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer", ...): Permission denied
10. 12. 2009 18:09:07   com.apple.launchd.peruser.501[76]       ([0x0-0x69069].com.blizzard.BNUpdate[1244]) Exited with exit code: 1

Inštalátor nemal práva. Na WoW forách som našiel, že skupina admin by mala mať Read&Write prístup do priečinka s WoWkom a podpriečinkov. Nasledovala zmena práv, pretože admin mal nastavený iba Read.

chmod -R g+w /Applications/World\ of\ Warcraft/

Toto nepomohlo a pri ďalšom googlení som objavil, že WoW-3.2.0-enGB-patch.app nie je súbor, ale priečinok a má v sebe ďalšie súbory a jedným z nich je aj Contents/MacOS/In­staller.

ls -l WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer
-rw-rw-r--  1 izsak  admin  5947960 Oct 12 17:28 WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer

Installer je síce aplikácia, ale zrejme tým že bola sťahovaná cez torrent a patch nebol jeden súbor, ale štruktúra priečinkov a súborov, bol na disk uložený iba ako obyčajný súbor bez priradených execute práv. Jeden príkaz a WoWko sa mi patchuje ;)

chmod ug+x WoW-3.2.0-enGB-patch.app/Contents/MacOS/Installer