Instalace Windows Vista je rychlá a jednoduchá !

12 februára, 2007

Aktualizovana mapa bojiska…..

1 februára, 2007

Bojisko

DRM vo Windows Vista

29 januára, 2007

badvista.pngNedavno som cital clanok o zamyslanom systeme ochrany proti kopirovaniu digitalneho obsahu, ktory bude priamo integrovany do jadra operacneho systemu Windows Vista. Tato ochrana bude spocivat v dvoch principoch a to na vypnuti vystupu a snizovaniu kvality signalu. V praxi to bude vyzerat tak, ze ak si na Windows Vista pustite cd s hudbou, ktora bude chranena prostrednictvom DRM, tak vam jadro systemu zablokuje digitalny vystup S/PDIF na vasej zvukovej karte, alebo napriklad pri prehravani filmu chraneneho DRM na sucasnom monitore nepodporujucom DRM Vam Vista na videu podstatne znizi kavlitu prehravaneho videa. Podla specifikacie ma byt obraz vraj len lahko rozpity to iste ma nastat v pripade prehravania zvuku. Implemtovanie tejto ochrany na urovni jadra bude mat nielen neblahe dosledky na stabilitu systemu, kedze ovladace hardware budu neustale kontrolovat procesy a pri vyskytu nieco neobvykleho moze to byt napriklad. prepatie alebo mechanicky otras, Vista v tom pripade okamzite preberie kontrolu nad pocitacom a zrestartuje graficke prostredie aby doslo k obnove chraneneho prostredia, ale bude to mat drasticky dopad aj na celkovy vykon pocitaca. Takze mily uzivatelia tohto “skveleho” OS mate sa naco tesit.

Rychlostny test Java vs C#

25 januára, 2007

javac_.jpgDnes som sa rozhodol Vam predlozit maly test, co sa tyka porovnania rychlosti Java vs. C#. Casto pocuvam nazory typu aka je Java pomala a C# neskutocne dobry a pod. No ved uvidime….

Na test som sa rozhodol pouzit nejaky realny algoritmus zo “zivota”. A co uz moze byt viac zo “zivota” ako program, ktory porovnava bloky DNA. Tento algoritmus porovnava DNA sekvenciu s milionmi vzoriek vyjadrenych ako regularny vyraz /regular expressions/. Tento kod moze byt pouzity na niekolko realnych aplikacii ako napriklad spamovy filter, program na kategorizaciu RSS kanalov, alebo nejaky druh filtra sprav.

Test bol uskutocneny uz na trosku starsom stroji a to:

Pentium Celeron 2,6 GHz
1 GB RAM
80 GB HDD

Frameworky boli tejto verzie:

Java 6.0 /Mustang/
Microsoft .Net Framework 2.0.50727

Operacny system bol Windows XP.

Tu je kod v C#:

using System.Text.RegularExpressions;

using System.Text;

using System;

namespace TestRegex

{

public class RegexBench2

{

private static String _doc =

“CGAATCTAAAAATAGATTCGGACGTGATGTAGTCGTACAAATGAAAAAGTAAGCC”;

private static int ITERATIONS = 1000000;

public static void Main()

{

long start = System.DateTime.Now.Ticks / 10000;

long end;

int length = 1;

for( int i = ITERATIONS; i <= ITERATIONS * 2; i++ )

{

length = (int) (Math.Log((double)i)/Math.Log(4));

String matchthis = generateWord(i, length + 1);

Regex regexpr = new Regex(matchthis, RegexOptions.Compiled);

Boolean b = regexpr.IsMatch(_doc);

if( b )

{

end = System.DateTime.Now.Ticks / 10000;

Console.WriteLine(“found {0} at {1} it took {2} miliseconds”,

matchthis, i, end – start );

}

}

end = System.DateTime.Now.Ticks / 10000;

Console.WriteLine(“.NET regex took {0} miliseconds”,end – start);

}

public static String generateWord(int value, int length )

{

StringBuilder buf = new StringBuilder();

int current = value;

for(int i = 0; i < length; i++ )

{

int v = current % 4;

current = current / 4;

buf.Append( convert(v) );

}

return buf.ToString();

}

private static String convert(int value)

{

switch(value)

{

case 0: return “A”;

case 1: return “G”;

case 2: return “T”;

case 3: return “C”;

default:

return “0”;

}

}

}

}


A tu je kod v Jave:

import java.text.*;

import java.util.regex.*;

public class RegexBench2

{

static String _doc = “CGAATCTAAAAATAGATTCGGACGTGATGTAGTCGTACAAATGAAAAAGTAAGCC”;

static int ITERATIONS = 1000000;

public static void main(String args[]) {

long start = System.currentTimeMillis();

int length = 1;

for( int i = ITERATIONS; i <= ITERATIONS * 2; i++ ) {

length = (int) (Math.log((double)i)/Math.log(4));

String matchthis = generateWord(i, length + 1);

Pattern regexpr = Pattern.compile(matchthis); Matcher matcher = regexpr.matcher(_doc);

boolean b = matcher.find();

if(b){

long end = System.currentTimeMillis();

System.out.println( MessageFormat.format(“found {0} at {1} it took {2} miliseconds”,

new Object[] {matchthis, “” + i, “” + (end-start) } )); }

}

long end = System.currentTimeMillis();

System.out.println(“Java regex took ” + (end – start) + ” miliseconds”);

}

static String generateWord(int value, int length ) {

StringBuffer buf = new StringBuffer(); int current = value;

for(int i = 0; i < length; i++ ) {

int v = current % 4; current = current / 4; buf.append( convert(v) );

}

return buf.toString();

}

static String convert(int value) {

switch(value) {

case 0: return “A”; case 1: return “G”; case 2: return “T”; case 3: return “C”; default: return “0”; }

}

}

Povsimnite si, ze kod v Jave je o dost kratsi, aj ked to podla toho sa kvality jazyka posudzovat nedaju.

Vysledky testu:

Beh programu v Jave:

found AAAGTAAGCC at 1000000 it took 0 miliseconds
found AAATGAAAAAG at 1048960 it took 312 miliseconds
found GAAAAAGTAAG at 1085441 it took 499 miliseconds
found TCTAAAAATAG at 1179694 it took 967 miliseconds
found ACGTGATGTAG at 1204636 it took 1107 miliseconds
found AATAGATTCGG at 1548576 it took 2822 miliseconds
found TCGTACAAATG at 1576094 it took 2963 miliseconds
found CGGACGTGATG at 1599255 it took 3072 miliseconds
found ATTCGGACGTG at 1689064 it took 3524 miliseconds
found AGATTCGGACG at 1859204 it took 4350 miliseconds
found TGATGTAGTCG at 1984902 it took 4990 miliseconds
found AAATAGATTCG at 2000000 it took 5052 miliseconds
Java regex took 5052 miliseconds

Beh programu v .Net:

found AAAGTAAGCC at 1000000 it took 439 miliseconds
found AAATGAAAAAG at 1048960 it took 105269 miliseconds
found GAAAAAGTAAG at 1085441 it took 186051 miliseconds
found TCTAAAAATAG at 1179694 it took 395031 miliseconds
found ACGTGATGTAG at 1204636 it took 450476 miliseconds
found AATAGATTCGG at 1548576 it took 1287582 miliseconds
found TCGTACAAATG at 1576094 it took 1355968 miliseconds
found CGGACGTGATG at 1599255 it took 1415477 miliseconds
found ATTCGGACGTG at 1689064 it took 1637892 miliseconds
found AGATTCGGACG at 1859204 it took 2036435 miliseconds
found TGATGTAGTCG at 1984902 it took 2326200 miliseconds
found AAATAGATTCG at 2000000 it took 2360373 miliseconds
.NET regex took 2360373 miliseconds
Ako vidno z testu, slimak C# uplne prepadol na plnej ciare. Ak sa najde nejaky C# expert, ktory zoptimalizuje kod pre C# urobim test znova, ale dost o tom pochybujem. Cely C# je len zle okopirovana Java. Tento jazyk sa nehodi ani na to, aby v nom clovek napisal nieco zlozitejsie ako kalkulacka. Nechapem ako ho moze niekto pouzivat na “business critical” aplikacie. V porovnani s teraz uz Open Source Javou je C# ubohy pokus Microsoftu utrhnut cas kolaca trhu. At sa radsej vratia na svoje male pieskovisko so svojou parodiou na programovaci jazyk ala Visual Basic a vacsie riesenia prenechaju profesionalom ako je firma Sun a ich skvely multiplatformny jazyk Java.

Zdroj

Oblubena “funkcia”….

24 januára, 2007

Windows_Vista_joke

Ako mozete vidiet ani v novom operacnom systeme Windows Vista nepridete o svoju najoblubenejsiu funkciu – Blue Screen of Death. Aspon v niecom su kompatibilny s predoslou verziou…..

Windows Vista predpoveda buducnost…..

24 januára, 2007

Vestecka_gulaSucastnou noveho Windows Vista bude aj nova “skvela” funkcia predpovedania spustenia dokonca az 3 aplikacii, ktore pravdepodobne spustite! System to bude vyhodnocovat na zaklade dlhodobeho sledovania a vyhodnocovania chovania uzivatela a dane aplikacie bude prednacitavat. No nie je to skvele? Uz by to rovno mohlo predpokladat co chcem robit a urobit pracu za mna, nie? Ale nie teraz vazne, podla mna je to len dalsia zbytocna funkcia ako napriklad slavny pan Sponka v MS Office, ktora len zvysuje hardwarove naroky na pocitac a to nehovorim uz tom kam vsade tie data bude zasielat. Z hladiska vykonu by ma zaujimalo, ze ak sa netrafi s predpovedou aplikacie, ktoru spustim ako sa to prejavi v rychlosti spustenia, kedze bude musiet uvolnit pamat. Ale “odbornici” v MS to asi vedia lepsie ako my sprosti uzivatelia….

Suse Linux Enterprise len za 10% ceny Windows Vista

23 januára, 2007

Suse Linux Enteprise

Spolocnost Novell na svojich strankach vydala studiu (a asi nebola sponzorovana Microsofotom) podla ktorej je Suse Linux ovela lepsim riesenim oproti Windows Vista v pomere cena/vykon. Riesenie postavene na Suse Linux ponuka 90% funkcnosti Windows za 10% ceny Windows. K tym percentam by som este pridal aj kopec dalsich programov vratane funkcionality Microsoft Office.