Arhiv za sekcijo ‘Računalništvo’

Pogoste zdravstvene težave programerjev
Thursday, August 12th, 2010

Objavljam povezavo do članka, ki opiše in predlaga načine za spopadanje z najpogostejšimi zdravstvenimi težavami “pravih programerjev”.

Članek se osredotoči na naslednje probleme:

  • Bolečine v zapestju.
  • Težave z očmi.
  • Težave s hrbtom.
  • Problemi s črevesjem in sečili.
  • Dehidracija.
  • Težave s hemeroidi in prostato.
  • Pomanjkanje vitamina D.
  • Težave s spanjem.
  • Splošna okorelost in bolečine.

Povezava: http://sheddingbikes.com/posts/1281257293.html

Deljenje v Word-u
Saturday, August 7th, 2010

Med pisanjem diplomske naloge se človek nauči novih trikov v Word-u. Trik, ki sem se ga naučil danes, je vstavljanje nedeljivega vezaja.

Če imamo v Wordu tekst, ki je daljši od ene vrstice, in ta tekst vsebuje pomišljaj “-”, potem nam Word pri pomišljaju samodejno deli vrstico. V spodnjem primeru je za besedo media pomišljaj, zato Word tam prelomi vrstico, česar pa na želimo.

Rešitev je uporaba nedeljivega vezaja. Obstoječega iz teksta izbrišemo in na njegovem mestu vstavimo novega s pritiskom kombinacije tipk Ctrl+Shift+pomišljaj. Na spodnji sliki je viden rezultat.

Pokerbot Challenge – tekmovanje poker botov
Sunday, May 30th, 2010

Pokerbot Challenge je prvo tekmovanje poker botov v Sloveniji. Kaj je poker bot? Citirano iz uradne spletne strani tekmovanja:
“Poker bot je računalniški program, ki zna igrati poker proti človeškemu ali računalniškemu nasprotniku. Kadar govorimo o poker botu, imamo v mislih predvsem umetno inteligenco, ki pozna pravila poker igre, zna razpoznati iz prejetih sporočil karte in akcije nasprotnika ter se na podlagi izbrane strategije odloča o svoji naslednji potezi. Cilj poker bota je premagati svojega nasprotnika, tako da si priigra več čipov kot nasprotnik. Zelo napredni poker boti znajo razpoznati kombinacijo kart, ki jo imajo, modelirati nasprotnika, predvidevati potek igre, spreminjati svojo strategijo, se prilagajati glede na igro nasprotnika in celo blefirati.”

Takoj, ko sem spomladi prejel vabilo na to tekmovanje, me je stvar pritegnila. Umetna inteligenca me že nekaj časa privlači, nad pokrom pa sem se malo resneje navdušil v zadnjem letu. Zavedal sem se dejstva, da mi žal čas trenutno ne dopušča, da bi se tekmovanju resno posvetil (služba, faks, selitev, …). Kljub temu pa me je vleklo k sodelovanju. Ne spomnim se niti natančno, kako se mi je porodila ideja, ampak kar naenkrat sem prišel do ideje, na kakšen način bom sodeloval.

Ker nisem imel časa, da bi napisal zapleteno logiko za igranje, sem se odločil za manjši eksperiment – da napišem nekaj zelo preprostega, ampak morda vseeno učinkovitega. Načrt je bil tak: Nekje na internetu najdem verjetnosti za zmago za vsako možno pre-flop kombinacijo kart. Nato se na podlagi kart, ki ju prejmem v posameznem handu, odločim za fold ali za all-in. V tem primeru mi ni treba skrbeti za nobeno logiko, ker sploh ni važno, kaj naredi nasprotnik. Vedno se bom že v pre-flopu odločil za odstop ali za all-in.

Vse skupaj mi je vzelo 4 popoldneve, še to ne cele. 1 dan sem porabil za iskanje podatkov o verjetnosti posamezne kombinacije. 1 dan sem porabil za študiranje protokola po katerem mora program igrati. 1 dan sem porabil za programiranje bota. 1 dan sem porabil za testiranje in izdelavo drugega bota. Na tekmovanju je namreč vsaka ekipa lahko sodelovala z dvema različnima botoma.

Prilagam sliko, ki prikazuje verjetnosti za zmago v procentih za vseh 169 možnih pre-flop kombinacij kart. Zelena barva prikazuje višjo verjetnost, rdeča nižjo. Procenti na diagonali in nad njo prikazujejo verjetnosti za karte različnih barv (unsuited), verjetnosti pod diagonalo pa se nanašajo na karte enakih barv (suited). Na sliki so obkrožena tista polja, ki imajo verjetnost 50% ali več.

Izbral sem strategijo, kjer grem all-in, če je verjetnost za zmago vsaj 50%, drugače od igre odstopim. Torej, igram v primerih, ko dobim eno izmed kombinacij, ki so na zgornji sliki obkrožene.

Pri izdelavi svojega drugega bota sem se odločil, da bo igral identično prvemu, le da mu bom spremenil mejo, ki odloča o tem ali grem all-in ali ne. Sprva sem imel namen to mejo dvigniti proti 60% (natančneje na 58%), vendar sem se na koncu premislil. Opazil sem namreč, da če imam mejo na 50% ali več, potem foldam v več kot polovici iger (približno v 58% iger). Okvirno se da to videti tudi na sliki – obkroženih polj je manj kot neobkroženih. To bi se lahko pokazalo kot pomanjkljivost. Če bi nasprotnik foldal vedno, kadar bi šel moj bot all-in, bi me brez problema premagal. Zato sem drugemu botu mejo nastavil na 47%, s čemer sem dosegel, da je enako verjetno, da bo šel moj bot all-in ali da bo foldal.

Tekmovanje je potekalo v torek, 25. maja na Fakulteti za računalništvo v Mariboru. Potekalo je v živo na velikem platnu. Ko sem gledal igre svojih botov, sem bil kar malo vznemirjeno nervozen. Tekmovalo je 29 botov, ki jih je žreb razdelil v 4 skupine. Znotraj posamezne skupine se je vsak pomeril z vsakim in tisti, ki je zbral največ zmag v vsaki skupini, je napredoval v polfinale. Selekcija je bila torej kar velika, izmed vseh prijavljenih botov so se v nadaljnje tekmovanje uvrstili samo štirje.

Na spodnjih slikah so rezultati skupin, v katerih sta tekmovala moja bota. Imeni mojih botov sta Indijanci 1 in Indijanci 2.

———–

Glede na vložen trud so se začetna pričakovanja kar uresničila. Pričakoval sem, da zagotovo ne bom zadnji na lestvici, na zmago prav tako nisem računal. Kot sem na začetku že omenil, je šlo za neke vrste eksperiment, kaj se da doseči z eno samo finto na takem tekmovanju. Med živimi igralci strategija zagotovo ne bi delovala, med boti pa bi lahko. Čeprav je botu Indijanci 1 za uvrstitev v sklepni del tekmovanja zmanjkala samo 1 zmaga, sem s tretjim mestom v svoji skupini za letos zadovoljen, v prihodnosti pa bi rad dosegel še kaj več. Če bo to tekmovanje res postalo tradicionalno, kot obljubljajo organizatorji, se ga bom z veseljem še udeležil. Bota bi za začetek lahko nadgradil tako, da se glede na verjetnost zmage  odloča med več kot dvemi možnostmi, torej da obstaja še vmesna možnost, kjer ne bi šel all-in, ampak bi stavil le del svojih žetonov. Nato bi v flopu ponovno izračunal verjetnost in se odločil za naprej. To bo že zahtevalo več kot 1 popoldne programiranja, vendar bom verjetno lahko za osnovo vzel letošnjo rešitev.

SQL Injection v vsakdanjem življenju
Tuesday, March 23rd, 2010

SQL Injection je tehnika, ki v računalništvu izkorišča varnostno pomanjkljivost v programu, ki za svoje delovanje uporablja podatkovno bazo.

Računalniško vešči bralci bodo spodnjo sliko razumeli, ostali pa samo skomignite z rameni, se nasmehnite in pozabite na vse skupaj.

Kako s pomočjo nadzorne kamere izbrisati bazo prehitrih voznikov:

SQL Injection
Vir: http://gizmodo.com

Ob tem sem se spomnil na nek že malo starejši strip z isto tematiko:

SQL Injection

Vir: http://xkcd.com

Excelerator
Wednesday, January 27th, 2010

Zadnje čase zaradi službe malo bolj sledim Excelu in njegovemu razvoju. Danes sem na email dobil povezavo do kviza o poznavanju Excela. Vprašanja so zanimiva in na vsa mi je uspelo pravilno odgovoriti (nekoliko tudi s pomočjo Googla). Zanimivo je na primer, da je bil prvi Excel izdan leta 1984 za Macintosh. Simpatično vprašanje je bilo tudi: Kako se imenuje zadnji stolpec v Excel knjigi (book)? Odgovor ni ZZZ, kot bi morda pričakovali, ampak XFD. In tako naprej …

Še bolj zanimiv se mi je zdel Alpha Geek Challenge, pri katerem moraš izpolniti določene naloge iz področja poslovne inteligence s pomočjo najnovejših tehnologij v Excelu. Najboljši reševalci naj bi bili na koncu tudi nagrajeni (npr. s plačilom udeležbe na Microsoftovi BI konferenci 2010). Ves vesel sem se že hotel spraviti k reševanju, ko opazim, da je stvar namenjena samo Američanom. Pejte v rit!

Aja, pri zgoraj omenjenem kvizu sem, kot sem že omenil, na vsa vprašanja odgovoril pravilno, zato sem dobil naziv “Excel Genius”. Kolega se je pošalil, da bom s tem nazivom zagotovo dobil veliko žensk. Jaz pa mu odgovarjam nazaj, da je meni osebno bolj važna kvaliteta kot kvantiteta, zato mi je dovolj, da spoznam eno in tapravo. Lep dan!

Bolha
Tuesday, January 19th, 2010

Po dolgem času sem spet uporabil Bolho. Vem, da je bila vmes prenovljena, nisem pa vedel, da so dodali možnost, ki sem jo do zdaj NAJBOLJ pogrešal, in sicer možnost “Zapomni se me” pri prijavi.

Vedno me je jezilo, ko sem se moral vsakič znova prijaviti. Po drugi strani je pa zanimivo, da sem ravno danes bral članek, kjer je avtor zaradi varnostnih razlogov odločno proti tej funkciji na spletnih straneh. Napisal je: “In my perfect world, no form has a “Keep me logged in” option, which of course would be a nuisance to end users.”
Vir: http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/

Če smo ravno pri varnosti, pa me je Bolha danes takoj spet ZELO razočarala. Ker sem pozabil svoje geslo, sem uporabil funkcijo “Ste pozabili geslo?” in uganete kaj se je zgodilo? Po emailu sem dobil svoje geslo! To pomeni, da naša gesla shranjujejo v tekstovni obliki (oz. obliki, ki omogoča, da se da gesla prebrati), česar se ne sme početi. Če oseba pozabi svoje geslo, potem ji je potrebno poslati novega, ker starega ne sme vedeti nihče razen uporabnika samega.

GMail Labs
Thursday, January 14th, 2010

Poleg tega, da so pri Google-u privzeto vsem vklopili https povezavo pri GMail-u, bi rad predstavil še par zanimivih reči, ki sem jih sam začel uporabljati.

V GMail-u kliknite na ikono, ki označuje “Labs features” (erlenmajerica napolnjena z neko zeleno snovjo :)). Če ikonice nimate prikazane, pridete do istih nastavitev, tako da kliknete na Settings in nato izberete Labs. Obe možnosti sta označeni na spodnji sličici:

Prikaže se vam dolg seznam neuradnih oziroma ekperimentalnih dodatkov za GMail. Meni osebno so najbolj uporabni:

YouTube previews in mail
Če v emailu dobite povazavo do kakšnega YouTube filmčka, poskrbi za to, da se video prikaže kar v samem emailu. Samo kliknete Play in si ga že lahko ogledate, tako da ni več potrebe, da kliknete na povezavo in se v novem oknu odpre YouTube stran.

Default ‘Reply to all’
Kadar želite pošiljatelju odgovoriti na email in kliknete v okno za odgovor, je privzeto nastavljeno, da pošiljete odgovor samo pošiljatelju (Reply). Ta funkcija to nastavitev spremeni tako, da privzeto odgovorite vsem naslovnikom in pošiljatelju (Reply to all).

Authentication icon for verified senders
Prikaže sličico ključa poleg emailov, poslanih od potrjenih pošiljateljev, ki jih spammerji pogosto želijo fake-ati. Zaenkrat deluje le za eBay ter PayPal.

Don’t forget Bob
Ko med naslovnike dodaš nekaj ljudi, ti GMail predlaga določene naslovnike na podlagi tega, katerim naslovnikom ponavadi pišeš skupaj.

Inserting images
Doda funkcijo dodajanja slike neposredno v sporočilo emaila, ne v priponko.

Google Docs Gadget
Doda okno, v katerem prikazuje nekaj zadnjih dokumentov iz Google Docs. Vsebuje tudi zelo hiter iskalnik dokumentov in možnost ustvarjanja novih dokumentov.

Zgoraj naštete tudi sam uporabljam. Najde se še veliko drugih. Naj samo naštejem nekaj tistih, ki se slišijo zanimivo:
- Picasa previews in mail (prikaže povezave na Picasa slike kot slike),
- Flickr previews in mail (prikaže povezave na Flickr slike kot slike),
- Message translation (omogoča prevod emaila v druge jezike),
- Superstars (omogoča uporabo več različnih simobolov za emaile označene z zvezdico),
- Signature tweaks (omogoča preureditev podpisa),
- Sender Time Zone (ob emailu napiše, koliko je ura pri pošiljatelju),
- Mail Goggles (pred pošiljanjem emaila ti zastavi matematično vprašanje, zato da preveri, da si dovolj priseben),
- Forgotten Attachment Detector (opozori, če si pozabil pripeti priponko na podlagi vsebine emaila),
- Vacation Time! (ko si na počitnicah, si lahko nastaviš avtomatski odgovor),
- Undo Send (ko pošlješ email, imaš par sekund časa, da si premisliš in razveljaviš poslan email),
- Got the wrong Bob? (na podlagi tvoje zgodovine pošiljanja emailov, te opozori, če misli, da pišeš napačnemu naslovnku),
- Google Calendar gadget (prikaže okno z vsebino iz Google Calendar).

Google opozarja, da so to eksperimentalni dodatki in lahko brez opozorila prenehajo delovati ali celo začnejo napačno delovati. V primeru, da bi se zaradi kakšnega dodatka pokvaril dostop do tvojega poštnega predala, so naredili varovalko, s katero ukineš vse svoje dodatke. Varovalko sprožiš s klikom na povezavo: ttp://mail.google.com/mail/?labs=0

Kako znova prikazati “Show Desktop” ikono
Saturday, November 21st, 2009

Windows XP:

1.)  Situacija je taka kot na spodnji sliki. V Quick Launch vrstici nimamo Show Desktop ikone za hitri prikaz namizja.

Show desktop

2.) Odpremo Notepad (beležnico) in vpišemo sledeči tekst:

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

Dokument nato shranimo kot datoteko “Show desktop.scf”.

Show desktop

3.) Na namizju se ustvari ikona Show desktop.

Show desktop

4.) Ikono z desno miškino tipko povlečemo v Quick Launch vrstico in iz menija izberemo Move here (Premakni sem).

Show desktop

5.) Dosežemo želen rezultat.

Show desktop


Windows Vista:

Odprite lokacijo na disku:
C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

V tej mapi se nahaja Show desktop bližnjica, ki jo kopirate v Quick Launch vrstico.

Pivot tabele in izvajanje analiz v Google Docs
Thursday, November 19th, 2009

Da, tudi Google Docs omogoča izdelavo pivot tabel iz vaših podatkov. Funkcija ni delo Googla samega, ampak so jo razvili v podjetju Panorama.

Kratek vodič:

1.) V Excelu (lahko tudi v drugih podprtih formatih) morate imeti pripravljene podatke. Za potrebe vodiča sem na hitro sestavil majhno tabelo s podatki. V prvi vrstici so headerji stolpcev, pod njimi pa podatki.

Excel podatki

2.) Odpravite se na spletno stran http://docs.google.com, se prijavite (če še niste) in kliknete na gumb Upload. nato na disku poiščete Excelov dokument iz prejšnje točke in ga uploadate v Google Docs. Uploadani dokument potem odprete in pred vami se prikaže Googlova preglednica z vašimi podatki.
(Druga možnost: Lahko bi tudi ustvarili novo Googlovo preglednico in vanjo ročno vpisali podatke ali jih od nekje prekopirali.)

Google Docs

3.) V meniju izberete Insert -> Gadget …

4.) Odpre se novo okno. V levem meniju izberete Tables.

Google Docs

5.) Na seznamu poiščete Analytics for Google spreadsheets (By Panorama software) in kliknete na gumb Add to spreadsheet.

6.) Odpre se novo okno, ki ga je potrebno izpolniti. V polje “Range” je treba vpisati (oziroma označiti z miško) katere celice na dokumentu vsebujejo podatke za analizo. V polju “Number of header rows” določite koliko vrstic obsega glava podatkov. V polju “Create Pivot Table” pustite izbrano Current Spreadsheet. Kliknete na gumb Apply and close.

Google Docs

7.) Prikaže se prazna tabela, kjer nastavite kaj želite prikazovati v vrsticah in kaj v stolpcih. Nato kliknite na gumb Finish.

Google Docs

8.) Odpre se pivot tabela, napolnjena z vašimi podatki. Gadget omogoča prikaz tabele in grafa na različne načine. Omogoča tudi uporabo formul, filtriranja, sortiranja, … skratka ponuja kar nekaj možnosti za izvajanje analiz.

Google Docs

Google Docs

9.) Dobrodošla lastnost je tudi možnost vkomponiranja gadgeta v poljubno spletno stran ter objava gadgeta na svoji iGoogle strani. Trenutni izgled lahko tudi shranimo v PDF datoteko.

Google Docs

Slabosti:
- na trenutke deluje  ZELO počasi

Prednosti:
- dostop preko brskalnika,
- brezplačna uporaba,
- enostavno deljenje med uporabniki (s pomočjo Googlove funkcije Share),
- lep uporabniški vmesnik

Kako onemogočiti Sync Center v Windows Vista?
Thursday, October 15th, 2009

Kratek nasvet za vse tiste, ki se vam zaradi takšnih ali drugačnih razlogov ob vsakem zagonu Viste zažene tudi Sync Center (taka zelena ikona se pojavi v sistemski vrstici (System Tray)) in bi se ga radi znebili:

1.) Klik na Start.
2.) Klik na Control Panel.
3.) Če še nimaš, preklopi na Classic View.
4.) Dvoklik na Offline Files.
5.) Klik na Disable Offline Files.
6.) Potrdiš in znova zaženeš računalnik.

Lep dan želim!


Powered by WordPress. Design in vsebina: Matevž Grbec