sobota, 18. september 2010

Mali Ekrani

Ko dvigneš noge nekam višje, položiš roke na telo in se zleknjen spraviš gledat novo epizodo priljubljene televizijske serije. Paše teh 20-40 minut malo odklopit in se prepustiti zgodbi. Za gledanje filma pa se je že potrebno psihično pripravit in malo načrtovat delovnik. No vsaj pri meni je tako. Slabe oz. dobre pol ure se nikjer ne pozna. Če pa je osebek ti. »serijski gledalec serij« mu ena epizoda ni dovolj. Poišče si še kakšno drugo serijo, ki jo bo spremljal, saj je čakanje na novo epizodo preveč boleče, časa je pa očitno preveč.

Sam se uvrščam med tiste z zmernim apetitom za serije. Seveda apetit na trenutke eskalira. To se zgodi običajno, ko spremljam kakšno starejšo serijo in imam na zalogi več epizod, sezon. Seveda pa lahko serije postanejo tudi naporne za spremljanje. To opazimo predvsem tisti, ki smo precej ciljno naravnani, se pravi, da končujemo začeto.
Zadeva ti mora biti res pisana na kožo, da se ne naveličaš. Kvaliteta serij niha med sezonami in ko število gledalcev pade pod neko mejno vrednost jo preprosto ukinejo. Jasno je, da potem gledamo »schnellkurs« sezono z vsebino N-tih sezon. Generalno gledano sem pa kar vesel, ko je konec kakšne serije.
Malo sem pobrskal po spominu in naredil seznam serij, ki sem jih gledal oz. jih še.



Naslov

Sezone

Epizode

Trajanje [min]

Vsebina

Podnapisi

Končana

Prison Break

4

22, 22, 13, 23

43

zapori, pobegi, prevare, korupcija, Michael Scofield

SLO

DA

Desperate Housewives

6

23, 24, 23, 17, 24, 23

43

skrivnosti sosedov, življenje v predmestju

SLO

NE

Dexter

4

12 na sezono

55

forenzik, serijski morilec, Dexter Morgan

SLO

NE

House M.D

6

22, 24, 24, 16, 24, 21

43

zdravniki, eksotični primeri, karakter, Gregory House

SLO

NE

24

8 in film

24 na sezono

43

protiteroristična enota, agent Jack Bauer

SLO razen 8 sez.

DA

How I Met Your Mother

5

22, 22, 20, 24, 24

22

osvajanje žensk, teorije, družba, Barney Stinson

SLO

NE

The Big Bang Theory

3

17, 23, 23

22

znanstveniki, geeki, asocialci, Penny, Sheldon Cooper

SLO

NE

Californication

3

12 na sezono

30

ženske, pijača, onegavljenje, Hank Moody

SLO

NE

Gossip Girl

3

18, 25, 22

43

Chicks Dig It :)

ANG

NE

'Allo 'Allo!

9

7, 7, 6, 6, 26, 8, 10, 7, 6

25-45

2. sv. vojna, francoski uporniki, René Artois

SLO

DA

Band of Brothers

1

10

60

2. sv. vojna, tovarištvo, neznosne razmere, četa Easy

SLO

DA

Hiter izračun pokaže naslednje številke. 36.961 minut oz. 616 ur kar je malo več kot 25 dni. Zanimivo bi bilo videti številke nekaterih, ki spremljajo po 15+ serij na leto.


Do konca serije 24 mi manjka še par epizod potem pa nekaj časa ne mislim gledati nič novega. Samo te serije, ki se še niso končale, pa že teh je kar veliko. No spremljal bom seveda naše Prepisane in morda kdaj v bližnji prihodnosti celo Family Guy-a.


Da predstavim še ti dve seriji v podobni tabelarični obliki kot zgoraj.


Naslov

Sezone

Epizode

Trajanje [min]

Vsebina

Podnapisi

Končana

Family Guy

8 in 3 filmi

7, 21, 22, 30, 18, 12, 16, 21

22

animirana, nenavadna družina, pes Brian

ANG

NE

Prepisani

1

30

5-8

bivša Juga, stripovsko vzdušje, Jonas

NE

NE


Za sledenje vsem serijam pa uporabljam enostaven koledarček na tejle povezavi. http://tv.stamcar.com/
Idealno bi seveda bilo RSS obveščanje. Če kdo uporablja kaj takšnega pa kar s predlogi na plan.

petek, 10. september 2010

Java in String switch

Končno mi je uspelo usposobiti tudi barvanje kode tukaj na blogu tako, da bom lahko lepše objavljal izrezke kode. Pa poskusimo.
Kot je znano Java 6 ne omogoča uporabe nizov (Stringov) v switch stavkih. Omogoča samo primerjavo Integer-jev, char-ov in enum-ov. S slednjimi pa si lahko pomagamo pri implementaciji želenega switch stavka za String-e. JDK7 sicer obljublja to že nekaj časa ampak bomo po vsej verjetnosti zadevo ogledali šele nekje v sredini leta 2011 (plan B). Ta JDK izdaja pa bo vsebovala samo del predvidenih specifikacij za JDK7. Kompleten paket je predviden za izdajo nekje ob koncu leta 2012 kot JDK8 (plan A).
No pa se vrnimo k namešmu problemu. Recimo, da hočemo implementirati switch stavek, ki nam bo vračal vrednosti za poljubne lastnosti grafičnih komponent. Zaradi lepše implementacije bomo te vrednosti vračali kar kot String-e.
Kot rečeno si bomo pomagali z naštevnimi tipi (enumi). Naštejmo imena komponent (velike črke) s katerimi bomo kasneje preverjali za kateri tip komponente gre. Najlažje s kratkimi imeni. Dodajmo pa še nek tip, ki nam bo predstavljal vse ostalo kar ne bo možno kasneje pretvorit.
/*
     * Enum with our simple class names
     */
    private enum ClassesEnum {
        TEXTFIELD, JCOMBOBOX, JTEXTAREA, JLABEL, JLIST, OTHER
    };
Zdaj pa definirajmo še našo metodo, ki bo vračala vrednost glede na tip komponente. Kratko ime razreda našega argumenta (komponente) pretvorimo v ustrezen naštevni tip, ki smo ga prej definirali. Seveda moramo ta imena v naštevnem tipu natančno definirati, mi smo jih z velikimi črkami.
/*
     * Returns value of given component
     */
    private static String getValue(Component component) {
        //get simple class name
        String className = component.getClass().getSimpleName().toUpperCase();
        //try to convert into enum
        try {
            ClassesEnum.valueOf(className);
        } catch (IllegalArgumentException e) {
            className = ClassesEnum.OTHER.name();
        }
        //convert to enum an get related property
        switch (ClassesEnum.valueOf(className)) {
            case JTextArea:
                return ((JTextArea) component).getText();
            case TextField:
                return ((TextField) component).getText();
            case JComboBox:
                return ((JComboBox) component).getSelectedItem().toString();
            case JLabel:
                return ((JLabel) component).getText();
            case JList:
                return ((JList) component).getSelectedValue().toString();
            default:
                return "Component is not defined!";
        }
    }
No zdaj pa še preverimo našo metodo z različnimi argumenti.
//Our test method
public static void main(String[] args) {
         // Test data
        JLabel label = new JLabel("This is label!");
        TextField textField = new TextField("This is text field!");
        JTextArea textArea = new JTextArea("This is text area!");
        JComboBox jComboBox = new JComboBox(
                    new Object[]{"This is selected item in JComboBox!"});
        jComboBox.setSelectedIndex(0);
        JList list = new JList(new Object[]{"This is selected item in JList!"});
        list.setSelectedIndex(0);
        Button button = new Button("Not defined!");

        /*
         * Test output
         */
        System.out.println(getValue(label));
        System.out.println(getValue(textField));
        System.out.println(getValue(textArea));
        System.out.println(getValue(jComboBox));
        System.out.println(getValue(list));
        System.out.println(getValue(button));
    }
To je trenutno najboljša rešitev, če ne želimo čakat na JDK7. Omenimo pa lahko še eno rešititev.
HashMap<String, Integer> map = new HashMap<String, Integer>() {
            {
                put("JTEXTAREA", 0);
                put("TEXTFIELD", 1);
                //...
            }
        };
        String testString = textArea.getClass().getSimpleName().toUpperCase();
        switch ((Integer) map.get(testString)) {
            case 0:
                System.out.println("This is text area!");
        }
Pa še končni rezultat.

nedelja, 5. september 2010

Reader


Danes bom predstavil eno zadevo, ki je iz meni neznanih razlogov premalo uporabljana. Prispevek je namenjen vsem, ki še niste slišali za Google Reader ali pa ga ne uporabljate. Gre za spletni zbiralnik novic, ki zna brati RSS in Atom vire. Gre za obrnjeno filozofijo saj novice poiščejo nas namesto da mi iščemo njih. Vse kar je potrebno narediti je, da poiščemo vire, ki nas zanimajo in se naročimo nanje. To naredimo tako, da kliknemo na katero od teh ikonna želeni strani ali pa v Readerju dodamo povezavo ročno. Podpira pa tudi naročanje na strani, ki ne ponujajo nobenih virov (klik). Za uporabo Readerja potrebujete samo Googlov (oz. gMail) račun.

Ideja
Ideja Readerja je, da poskrbi za vaše zaznamke (bookmarke), ki se jih nabere ogromno skozi čas. V najboljšem primeru je njihovo pregledovanje neprijetno, sploh če tam ni nobene nove vsebine. Ta aplikacija to dela namesto vas in vas obvešča o novih prispevkih. Seveda pa ne priporočam, da se naročite na vse možne vsebine! Najdite neko razumno število virov, ki vas res zanimajo saj drugače postane neobvladljivo in časovno potratno za vas. Tiste vire z veliko prispevki, ki jih redno pregledujete, raje še vedno obdržite med zaznamki v orodni vrstici. Naročite pa se na tiste zaznamke (vire) z manj prispevki, ki jih redkeje ali pa sploh ne obiskujete. Viri so lahko spletne strani, blogi, gmail…

Google Reader
Vire lahko potem organiziramo v mape, jih označimo, dodamo zvezdice, komentiramo, delimo s prijatelji, lajkamo, pošiljamo po elektronski pošti, pregledujemo v načinu Play…

Način Play
Za posamezen vir lahko pogledamo še ostale podobne vire ali pa pregledamo priporočene vire oz. pakete virov. Po novicah se premikamo z miškinim koleščkom ali pa s tipkovnico, novica se potem avtomatsko označi za prebrano.
Zelo pomemben del se mi zdi tudi sledenje prijateljem. Obvešča nas o novicah, ki jih delimo, in komentarjih na novice, ki s(m)o jih delili prijatelji.
Novice lahko berete tudi preko mobilnika, igralne konzole Wii ali pa kar brez povezave ampak ne več preko Google Gears.
Zadnja novost v Readerju pa so trendi. Avtomatsko se vodi statistika zate in za tvoje prijatelje o bralnih navadah, prebranih novicah in popularnosti. Na voljo je tudi vsa statistika za vire na katere si naročen. Ko si »prebral« 300k novic ti nehajo vodit statistiko zaradi performans. Na ta način lahko hitro vidimo kateri viri so »mrtvi« ali pa nas ne zanimajo in jih odstranimo.

Trendi
No ko smo pa že pri trendih si pa poglejmo še uporabo Readerja skozi leta.

Uporaba narašča
Če še niste prepričani pa je tukaj še demonstracijski video.


Če želite poskusiti začnite tukaj  Pa veselo obvladovanje spleta vam želim.

četrtek, 2. september 2010

(Space Jam)^-1

Za nami je še ena tekma košarkarske reprezentance na svetovnem prvenstvu v Turčiji.
Podaje, prodori, preigravanja, trojke in skupinske akcije. Atomska Slovenija! Uspevalo jim je tudi tisto kar ne znajo, res, ni da ni. A kaj ko se nam je spet zgodila ista stvar kot ponavadi, ko dominiramo (še pomnite fuzbal tekme proti Jugoslaviji?)...

Tekma
Da, zgodilo se nam je tistih 6 minut, ki uničijo, zadavijo in zakopljejo našo kokoš. Zgodi se Space Jam! Naši športniki imajo težave tudi z osnovnimi motoričnimi sposobnostmi. Žoge uhajajo, tekanje je nekontrolirano, smer je vprašljiva in destinacija je neznana. Gledalci pa se samo čudimo, pulz raste, sivi lasje tudi... Kako, zakaj, WTF, klinika? Preprosto ni bilo pulza.

Igra Slovenije
Tokrat smo odnesli celo kožo. Ravno ob pravih trenutkih se je pojavil pulz. Jaka nam je trznil, še sreča. Ob koncu pa je zadel še Boki.
Končni rezultat Brazilija : Slovenija 77:80 nam bo po vsej verjetnosti za tekmeca prinesel Avstralijo ali Angolo. Na papirju ugodna tekmeca...


Podobna tekma a obrnjena
P.S. Pohvale pa gredo Vidmarju. Fant zna in se bo še razvijal.