Posts Tagged ‘zanimivo’

Gmail koledar zna pošiljati SMS-e

Torek, Oktober 7th, 2014

Danes me je opomnik koledarja spet zmotil. Seveda sem ga prekinil in potem pa nanj pozabil. Malce sem razmišljal, da bi mi zelo ustrezalo, če bi namesto klasičnega opomnika dobil raje SMS.

Ne bodi len! Seveda sem se takoj zagnal na internet in pogledal, katera aplikacija mi zna za opomnik poslati SMS. Malce iščem med aplikacijami in njihovimi cenami/zmožnostmi… nakar opazim omembo Google koledarja 🙂

In res! Google koledar lahko – med vsemi ostalimi možnostmi – kot opomnik pošlje tudi SMS in to seveda zastonj.

Kako vključiti SMS pošiljanje opomnikov?

  1. Zaženete aplikacijo Google koledar in v gornjem desnem kotu Nastavitve.
    gmail_sms1
  2. Med nastavitvami koledarja boste našli tudi ‘Mobilne nastavitve’
    gmail_sms2
  3. Tu izberete državo in vpišete vašo telefonsko številko ter zahtevate varnostno kodo
    gmail_sms3
  4. Google vam po SMS-u pošlje varnostno kodo, ki jo vpišete v spodnje polje in to je to.
  5. Sedaj lahko kot opomnike uporabljate tudi SMS-e
    gmail_sms4

Skupinsko delo ali pomoč na daljavo

Ponedeljek, September 1st, 2014

Po daljši odsotnosti, vam bom v današnjem prispevku predstavil dve zelo uporabni spletni storitvi, ki vam lahko pomagata pri skupinskem delu in/ali delu na daljavo.

Osebno obe orodji uporabljam, kadar pomagam uporabnikom na daljavo oz. kadar se pogovarjamo po telefonu pa je potrebno zraven še kaj narisati in/ali napisati.

Skupinsko pisanje – MoPad

V kolikor se znajdete v situaciji, ko je potrebno nekaj zapisati, uporabniki pa so raztreseni po pisarnah ali celo mestih (državah 😉 ) lahko uporabite orodje MoPad (https://etherpad.mozilla.org/)

Uporaba orodja (spletne strani) je skrajno preprosta. Ko pridete na omenjeno spletno stran imate na izbiro dva gumba. Z enim odprete javno beležko z drugim pa lahko stvari še malce bolj omejite oz. ustvarite delovno skupino.

Ko torej odprete novo beležko, s tem dobite edinstven spletni naslov (URL), ki seveda vsebuje osnovno ime spletne strani, ter avtomatično generirano ime vaše beležke (npr: https://etherpad.mozilla.org/bxYEgcJ3RU)

Vse kar morate narediti je da uporabnikom oz. sodelavcem posredujete omenjen spletni naslov in vsi bodo takoj videli vašo beležko in lahko pisali vanjo.

skupinsko_delo_1

Kot lahko hitro vidite je zaslon razdeljen na 4 dele:

  1. Zgoraj imate orodja za preprosto urejanje besedila
  2. Večji del zaseda beležka, kamor lahko pišete
  3. Desno zgoraj lahko vsak uporabnik zapiše svoje ime in s tem dobi svojo barvo
  4. Desno spodaj pa lahko uporabniki tudi govorite »chatate«, ne da bi pri tem pokvarili besedilo v beležki

Skupinsko risanje – WhiteBoard Fox

Arhitekturno enakovredno orodje za risanje pa se imenuje WhiteBoardFox in domuje na naslovu (http://whiteboardfox.com/). Ideja je povsem enakovredna že predstavljeni, le da v tem primeru uporabniki ne vpisujemo teksta (no seveda ga tuli lahko), temveč skupaj rišemo.

Tudi uporaba je enakovredna. Odprete novo risalno ploščo (delavno tablo) in njen naslov posredujete ostalim. S tem se lahko tudi ostali pridružijo skupini in skupaj ustvarite skico.

skupinsko_delo_2

In še najlepše…

Ker vse deluje v spletnem brskalniku lahko orodji uporabljate tako na računalniku, kot tablicah, telefonih in ostalih napravah, ki so povezane v splet in imajo spletne brskalnike.

Hitrost računalnika in “virtualne živalice”

Sobota, Maj 17th, 2014

Današnji prispevek nima hude uporabne vrednosti, ponuja pa zanimiv pogled na moč današnjih računalnikov.

V zadnji številki reviji ŽIT (Življenje in tehnika) je tudi članek o evolucijskih algoritmih. Ker se s to vedo računalništva nisem ukvarjal vse od programiranja prvih preprostih programov in posledično tki. ‘Igre življenja’, sem članek z veseljem prebral.

Čisto tako vmes: ‘Igra življenja’ je zelo preprost računalniški algoritem, kjer je svet predstavljen kot 2D mreža. V vsakem polju na mreži lahko »živi« organizem. V kolikor je ob njem še en organizem, potem naslednjo generacijo preživita oba in mogoče ustvarita novega potomca, če ob njem ni nobenega organizma potem pogine zaradi osamljenosti, če je ob njem preveč organizmov pogine zaradi prenaseljenosti… V glavnem, kot programer imate na voljo različne pogoje in s tem nadzorujete kako »vaš svet« živi.

Če se torej povrnem k tematiki. Ko sem prebral članek, ki je sicer resnici na ljubo čisto prekratek in ne pove kaj veliko, me je prešinilo vprašanje: “Kako hitro pa lahko kaj dandanes simuliramo življenje v računalniku?”.

V svetu evolucije ima mati narava pač na voljo generacije živih biti, da se »izživlja« nad njimi in nad nekaterimi lahko to hitro počne (recimo vinske mušice imajo zelo kratko življenjsko dobo in zato lahko ima vsak dan novo generacijo). Po drugi strani pa ljudje potrebujemo kar 20 let za novo generacijo (no dandanes se to pomika proti 30 let). Kako hitro pa lahko dandanašnji računalnik torej simulira življenje oz. posamezne generacije?

Seveda je to čisto presplošno vprašanje in odgovora nanj niti ne gre iskati, saj je predvsem pomembno koliko dela mora opraviti nek algoritem da ustvari novo generacijo. To vprašanje je torej presplošno, je pa zanimivo kako hitri pa so današnji računalniki v primerjavi z nečim, kar je nam blizu oz. s čimer se lahko poistovetimo.

V našem svetu je nekako 1 sekunda minimalni čas neke akcije. Predpostavimo torej da sestavljamo kocke in vsako sekundo smo sposobni zložiti dve kocki. Sedaj pa si predstavljajo računalnik, ki ravno tako opravlja neke naloge in v neki enoti je sposoben opraviti minimalno delo. Kakšna je torej tista minimalna enota v kateri je računalnik sposoben opraviti neko delo?

V računalniku je glavno božanstvo »ura«, ki udarja in vsak udarec ure (CPU cikel), računalnik izvede eno operacijo. (Seveda to spet ni čisto res, saj je dandanašnji računalnik sposoben v enem ciklu narediti celo več kot 1 operacijo a pustimo takšne »malenkosti« in se osredotočimo na zanimivosti). Hitrost računalnika pa merimo ravno v hitrosti njegove ure in hitrejša kot je ura hitrejši je računalnik (spet ne bodimo dlakocepski!).

No in sedaj si končno poglejmo kako hitro tiktaka nek čisto povprečen računalnik. V času pisanja tega prispevka lahko za 200EUR kupimo namizni računalnik, ki tiktaka s hitrostjo 3,6GH. Torej 3,g »gigahercov« ali 3.600.000.000 cikov na sekundo! Računalnik za 200EUR torej v eni sekundi opravi vsaj 3600 milijonov operacij.

Seveda pa računalnik ne more oz. vsaj ni smiselno da dela kar nekaj brezveze zato mora navodila, kaj naj počne, dobivati iz svoje okolice. Predstavljamo si, da je računalnik človek, ki sedi za mizo in opravlja pisarniško delo, ki je zapisano na listih, listi pa se nahajajo na njegovi mizi, v predalih mize, v omarah v sobi, v drugih sobah, v drugih hišah, v drugih mestih…. Na drugih planetih.

Računalniku najbližje so njegovi registri, ki jih ni ravno veliko (nekaj 10) in od njih dobi nov list v enem samem ciklu – to je torej enakovredno listu na mizi. Naslednje področje, ki mu lahko dostavi list je tki. L1 predpomnilnik. Do njega potrebuje 4 cikle in to bi predstavljalo predal ob mizi. Potem je L2 predpomnilnik do katerega potrebuje 10 ciklov, pa L3 predpomnilnik, do katerega potrebuje 70 ciklov in šele potem pride tisto, ker vsi poznate – to je glavni pomnilnik računalnika (famozni RAM) in za dostop do njega potrebuje računalnik nekaj 100 ciklov.

Da bi se ni izgubljali v besedilu si poglejmo kar tabelo z dostopi. Seveda so vsi podatki v tabeli približni (za vse »ne-fizike« še hitra ponovitev časovnih enot: 1s = 1.000 ms (milisekund) == 1.000.000 mikrosekund = 1.000.000.000 ns (nanosekund))

Dostop Št. cikov Porabljen čas
Register 1 0,3ns
L1 predpom. 4 1,2ns
L2 predpom. 10 3ns
L3 predpom. 70 21ns
RAM 400 120ns
SSD disk 400.000 120.000ns
»navaden« disk 15.000.000 4,5ms

Ok. S to tabelo smo izčrpali vse, ki računalniku lahko dajejo ukaze in se nahajajo v njegovi škatli. Ob tem pa smo uvideli tudi, da je razmišljanje v ciklih utrujajoče, zato se preusmerimo samo na čas in si poglejmo dostop do drugih računalnikov in interneta

Dostop Porabljen čas
Register 0,3ns
L1 predpom. 1,2ns
L2 predpom. 3ns
L3 predpom. 21ns
RAM 120ns
SSD disk 120.000ns
»navaden« disk 4,5ms
mrežni disk 10ms
Strežnik SIOL 20ms
Strežnik v Ameriki 200ms

In sedaj je čas, da vam predstavim glavno tabelo, ki me je tudi vodila v zapis tega prispevka. Povrnimo se torej na analogijo živih bitij, ki bi živela virtualno življenje v vašem računalniku. In privzamimo, da je en cikel v računalniku pač 1 sekunda njihovega življenja.

Dostop Računalnik Virtualno bitje
Register 0,3ns 1s
L1 predpom. 1,2ns 4s
L2 predpom. 3ns 10s
L3 predpom. 21ns 1min
RAM 120ns 7min
SSD disk 120.000ns 4,5dni
»navaden« disk 4,5ms 173dni
Mrežni disk 10ms 1 leto
Strežnik SIOL 20ms 2leti
Strežnik v Ameriki 200ms 20let

Naše virtualno bitjece mora torej kar 20let čakati, da dobi podatek iz strežnika v Ameriki 🙂

Kaj sem vam sploh želel prikazati s to analogijo? Ne vem sicer ali mi je uspelo, a želel sem vam prikazati, kako smo ljudje povsem nesposobni dojemati razmerje količin kadar so slednje nepredstavljivo majhne ali nepredstavljivo velike. S stališča računalnika je dostop do registra in dostop do strežnika v Ameriki sorazmerno kot 1 sekundna proti 20 letom!

Virtualna bitja torej živijo zelooo hitro. Mogoče še ena zelo zanimiva primerjava.

Moj delovni računalnik se prestarta v 15 sekundah. Če torej virtualno bitje, ki živi v mojem računalniku in katerega ena sekunda življenja predstavlja 1 cikel mojega računalnika (ki je mimogrede, samohvala!, še hitrejši od prej predstavljenega) uspavamo, ko se računalnik ugasne; koliko čase preteče, ko se računalnik spet zbudi?

Analogija je torej sledeča. Ko se računalnik ugasne se podatki o virtualnih bitjih shranijo na disk in ko se računalnik prižge, se podatki o virtualnih bitjih zopet preberejo ter bitja zopet oživijo. Kot, da bi nas uspavali in potem bi z vesoljsko ladjo potovali daleč vstran, nakar bi nas zopet prebudili. Kot rečeno, traja zagon mojega računalnika 15 sekund, kar je torej 15.000.000.000 ns oz. 45.000.000.000 sekund v življenju virtualnega bitja oz. 1400 let!

Za virtualna bitja mojega računalnika traja torej ponovni zagon računalnika 1400 let. Zanimivo!