Updates from November, 2010 Toggle Comment Threads

  • Urban 13:27 on 28 Nov. 2010 Permalink  

    Gravity Lab for iPad 

    Gravity Lab is an iPad gravity simulator. It allows you to create massive bodies on a 2-D plane and set their initial velocities by dragging your finger. Their attraction is then simulated, which causes them to accelerate (and combine) according to Newton’s law of universal gravitation. Newton’s law states that every massive body in the universe attracts every other massive body; such attraction is proportional to masses of both bodies and inversely proportional to the square of the distance between them.

    All beings living on Earth’s surface become, through life’s experience, intimately acquainted with the force of gravity. Gravity keeps us from drifting freely into space. Yet there’s something extremely limiting in our perception: the only significant gravitational force that we can perceive is that of the Earth, which has mass approximately 60,000,000,000,000,000,000,000 times greater than an average human being standing on its surface. The gravitational attraction doesn’t feel very mutual (although the forces of attraction of both bodies are equal in size), which is due to the much higher mass and consequently higher inertia of the Earth.

    Gravitational force is also the weakest force in nature, either compared to electromagnetic, weak or strong force. Take a look at the comparison here. The strength of the gravitational attraction is for a factor of 1036 (or 1,000,000,000,000,000,000,000,000,000,000,000,000) times weaker than the electromagnetic force (which also works universally — that is, with unlimited range). The value of the gravitational constant G used to calculate the force in the Newton’s equation: F=Gm1m2/r2 is 0.00000000006674, which means the masses have to be extremely large and distances reasonably short for force F to become noticeable.

    That’s where a simulator can help. Generating large massive bodies has never been easier. The simulator then calculates and updates the forces between them in real-time and, besides helping you get a feeling of how gravity works on a larger and more massive scale, also allows you to perform different experiments and demonstrate various phenomena:

    • create your own solar system
    • demonstrate complex interaction patterns of multiple massive bodies
    • collide massive bodies and demonstrate the conservation of momentum
    • display vectors of acceleration due to gravitational forces and observe the acceleration of orbiting bodies
    • observe first two of the three Kepler’s laws of planetary motion
    • demonstrate gravitational slingshot (gravity assist) for increasing the spacecraft’s velocity, etc.

    More info and purchase:

     
    • dare 08:48 on 2 Dec. 2010 Permalink

      čestitam! a dela multitouch? na tistem flash-based gravity simulatorju nisem mogel dveh planetov v vzajemno orbito spravit…

    • božo 16:05 on 2 Dec. 2010 Permalink

      torej če pravilno razumem so ti potrdili zadevo – BRAVO!

    • Urban 21:14 on 2 Dec. 2010 Permalink

      hvala, hvala 🙂 res je 14 dni za čakat, se vid da so vsi navalili z updati ob releasu novega OS-a 🙂

  • Urban 15:50 on 21 Nov. 2010 Permalink  

    Vremenski sateliti 

    Vem, da imamo internet in da s tremi kliki prideš do vremenske napovedi za 10 dni naprej, pa do radarske slike in do satelitskih posnetkov. Ampak tole ima svojevrsten čar in dela tudi brez interneta, pa že precej časa.

    V prejšnjem postu sem pisal, da NOAA sateliti z analognim oddajanjem1 počasi ugašajo, ampak nekaj jih še vedno živi. Še več, zadnjega so komaj izstrelili (NOAA 19, feb 2009). Nisem mogel verjeti, pa sem poskusil, in res pripiska mimo.

    Ujel sem NOAA 17 in 19, glede na podatke pa sta aktivna še NOAA 15 in 18. Njihove oddajne frekvence so med 137 in 138MHz, kar pomeni, da so samo 30MHz nad pasom FM radijskih postaj (ta je širok 20MHz, od 88 do 108 MHz).

    Sateliti oddajajo v FM, tako kot radijske postaje. Edina razlika je, da je valovanje desnosučno krožno polarizirano in za sprejem potrebuješ ustrezno anteno. Ta mora biti prav tako desnosučno polarizirana in jo je dokaj enostavno narediti. Po internetah je dovolj tutorialov, da se v to ne bom spuščal (ključna beseda je “wxsat turnstile”).

    Da zvemo kdaj sateliti pridejo naokrog (zemljo obkrožijo v približno 100 minutah, vendar ne nad istim krajem), si lahko pomagamo z obilico odličnega softvera; še vedno se dobi WXTrack, ki se ga spomnim še iz leta 2004. Takole izgleda in lepo napoveduje prihodnje prelete.

    Ko enkrat vemo uro preleta, se postavimo na odprto in posnamemo signal na 137MHz v obliki avdia. Takole se sliši.

    NOAA 19, prelet čez Bohinj, 21.11.2010 ob 11:55

    Potem pa wav dekodiramo, npr. s programom WXtoimg ali WXSat, pa dobimo takole sliko2 v vidnem in IR delu spektra.

    (Tale je iz mojega arhiva; danes sem dobil premajhne čase preletov in so vse slike visoke samo za četrt zgornje).

    Program WXtoimg pa omogoča tudi avtomatsko delovanje: računa prehode satelitov, ko letijo čez, jih posname in dekodira posnetek v sliko, to pa lahko tudi kar naloži na spletno stran. Enkrat mogoče pustim zadevo v tem načinu, da vidim kaj se nabere.

    1. t.i. APT — Automatic Picture Transmission []
    2. Za tole sem uporabil anteno lastne izdelave, sprejemnik Yaesu VR-120D, za snemanje Audacity, za procesiranje pa WXsat []
     
    • božo 20:26 on 22 Nov. 2010 Permalink

      zanimivo…

      ampak kje “zvohaš” take zadeve? sam se nebi spomnu niti približno na kaj takega…

    • Urban 21:23 on 22 Nov. 2010 Permalink

      Hehe, to pa je kompliment 🙂
      To sm enkrat slučajno najdu v študentskih letih in me je žrlo da je blo 137MHz tko blizu, pa vseen tako daleč. Takrat sm brez pravih TK osnov poskušal zmiksat signal na 88-108 MHz da bi ga poslušal s starim avtoradiem.. na koncu sm pa kupu kr scanner.

  • Urban 20:35 on 1 Sep. 2010 Permalink  

    iPhone GPS logger 

    V prejšnjem postu sem se razburjal nad odsotnostjo GPS-ov v fotoaparatih. Pa sem razmišljal naprej: imam telefon, ki je izjemna lokacijska naprava — združuje vsaj 3 lokacijske tehnologije:

    • Triangulacijo z uporabo baznih postaj (natančno na 1-5 km).
    • Zna uporabljat WiFi lokacijo1 (na kakih 50 m natančno).
    • Z obojim lahko pomaga pravemu GPS-u, omrežni A-GPS od mobilnega operaterja pa mu postreže še z almanahi in točno uro. Z vsem tem se GPS dobro ogreje za štart in res hitro najde točno lokacijo.

    Kombinacija vseh tehnik pa, poleg hitre določitve lokacije, z omejeno natančnostjo dela celo v zaprtih prostorih. Velika hitrost lociranja in dodatna podatkovna povezava za nalaganje podatkov na strežnik pa za saboj brez problema pustita Garmine in razne namenske loggerje.

    Edini problem predstavlja moja želja, da naj taka aplikacija teče v ozadju in me locira periodično na par minut, česar pa Steve Jobs, logično, ne pusti.

    Na jailbreakanem telefonu to ne bi smelo biti tak problem. Pa je kar. 🙂 Tule bom podokumentiral korake na poti k uspehu, ki sem jih mukoma prehodil v zadnjem tednu.

    Najprej sem našel pripomoček findme. Gre za konzolno aplikacijo, napisano za iPhone OS še pred časom SDK. Uporablja Skyhook API za WiFi geolokacijo in ne dela dobro. Izgleda, da locira samo po IP-ju, in kaže isto točko za celo Ljubljano. To sem seveda ugotovil šele, ko sem napisal bash skripto, ki je klicala curl za posredovanje podatkov na strežnik, in potuhtal kako skonfigurirati LaunchDaemona, ki je skripto periodično poganjal. Dodaten problem: LaunchDaemon opravil ne izvaja med spanjem, si pa zapomni da jih je zgrešil in jih izvede ko se naprava zbudi. Na žalost še vedno precej neuporabno.

    Seveda je iPhone SDK postregel s CoreLocation API-jem. Ta omogoča, da dobimo točno lokacijo na osnovi vseh treh tehnologij (Cell ID, WiFi, GPS), se pa pojavijo drugi problemi. Najde se sicer primer kode, prevajanje konzolne aplikacije, ki uporablja nedokumentirane apije za zbujanje telefona, pa je jama brez dna2. Končno aplikacijo z gornjega linka sem našel tudi na Cydii, in se je razsula še preden se je zagnala. Z zgornjo kodo se zato nisem več trudil.

    Naslednja postaja: iLocalis. Kar dodelana zadeva, ki omogoča spremljanje lokacije, podobno kot Mobile Me, zraven pa še zaklepanje telefona, snemanje avdia na daljavo, nastavitev preusmeritev, pošiljanje SMS in klicanje, ter brisanje podatkov s telefona — vse na daljavo. Aplikacija dela presenetljivo dobro (trudi se ne izprazniti baterije, dobro lovi exceptione in tudi v logih od telefona lepo izpisuje stanje), in spisal sem že tudi skripto, ki iz strani pobere koordinate in jih zloži v mojo bazo3.

    Ampak imel sem pa zelo neprijeten občutek; zadovoljstvo, ki sem ga pridobil z arhivom svojih koordinat, me je minilo, če sem pomislil, kaj vse lahko avtor iLocalisa naredi z mojim telefonom (pobriše ali ukrade popolnoma vse podatke, pošilja SMS-e ali naredi kakšen klic na 090 in se malo pofinancira). Zato sem bil praktično prisiljen njegov server zamenjati s svojim. 🙂

    Kako? Aplikacija je zaprta in podpisana, tako da popravljanje binarne datoteke (na windowsih silno uporabna tehnika) odpade.

    Problem sem rešil tako, da sem domeno, na katero daemon pošilja podatke, v iPhonovem /etc/hosts preusmeril na svoj IP naslov. Potem sem z vzvratnim inženiringom spisal nekaj svojih PHP skript, ki dovolj dobro imitirajo originalen strežnik, da se aplikacija ne pritoži. Problem pa se je pojavil, ker je edina povezava, ki me je zanimala — to je tista, ki je pošiljala podatke na strežnik — delovala preko HTTPS. Moj samopodpisani certifikat pa je povzročil napako v povezavi in prenos se ni izvršil.

    No, izkazalo se je, da je za delovanje dovolj že, če izdelaš svoj CA (Certificate Authority), z njim podpišeš certifikat za strežnik, potem pa certifikat od CA registriraš na telefonu (enostavno ga odpreš iz maila ali s spletne povezave). In zadeva končno deluje. GPS logger, ki ga vsak dan nosim s sabo in mu redno polnim baterije. 🙂

    Vas že slišim, kako pravite: “kaj pa boš s tem?” Ne vem še. Kaj pa bo Stephen Wolfram z dvajsetimi leti podatkov iz keyloggerja? Za nekaj bodo že uporabni, če ne za kaj drugega, pa za označevat fotografije glede na uro.

    1. MAC naslovi WiFi dostopnih točk so globalno unikatni in če enkrat prevoziš cel svet in si zapišeš, kje se kakšna dostopna točka nahaja, lahko že s tem, katere MAC-e vidiš, približno veš kje si; firma Skyhook je naredila točno to. []
    2. Dependency hell pri prevajanju toolchaina, različne verzije iPhone OS-a, Applovo podpisovanje, joj, prejoj []
    3. če koga zanima: na strani iLocalis.com moraš sharati svoj zemljevid, ta pa preko AJAX-a vleče podatke iz enega URL-ja v XML formatu. Potrebno je samo narediti cron job ki vsake pol ure poparsa ta XML []
     
    • dare 09:53 on 2 Sep. 2010 Permalink

      zvito, ni kaj 🙂

  • Urban 21:51 on 19 Aug. 2010 Permalink  

    Lifestream in content stream 

    Vedno težje spremljam kje vse puščam svoj content — sprobal sem že 101 platformo za shranjevanje, deljenje ali organiziranje informacij, kak ducat pa jih tudi redno uporabljam.

    Poglejte kaj mislim: imam blog za resne poste, fotoblog za izbrane slike, Picaso za malo manj izbrane slike, še kakšen blog za čačke, Google reader shared feed, spam blog na Tumblrju, Twitter za mini statuse, Delicious za bookmarke, Youtube za favoritanje posnetkov, Instapaper za daljše članke, Evernote za zapiske, Dropbox za fajle, pa še par platform ki jih ne uporabljam zares za posredovanje vsebin (Facebook, Flickr, LinkedIn), itd., itd.

    Večina od teh storitev je pri meni zapolnila kakšno res specifično nišo. Spam postov nočem objavljati na glavnem blogu, hkrati pa jih ne morem sharati na Google Readerju (vsaj dokler niso napisani). Sharanih postov na Google Readerju — skupaj z duhovitim komentarjem, za katerega porabim več časa kot upam priznati in včasih naraste že skoraj v svoj post — pa tudi ne morem nikomur poslati kot link, ker pač nimajo permalinka (fail).

    Ta vedno večja množica opcij, ki se vse bolj prekrivajo, mi počasi že začenja iti na živce (paradoks izbire: sedaj se moram pred vsakim sharanjem še odločati, kaj bi bila najprimernejša platforma 🙂 ).

    Zares grdo pa postane, ko hočem kaj najti. Kje sem zadevo napisal, sharal ali komentiral? Dostikrat stvari hitreje na novo najdem na Googlu, kot da se prebijem čez vse svoje storitve in eno po eno preiskujem oz. ugibam ključne besede.

    In nenazadnje: storitve crkujejo1; dogajajo se zlorabe, zapirajo se accounti, in hitro lahko ostaneš brez podatkov2. Podatki pa so vredni toliko, kot je bil vreden čas, ki si ga porabil, ko si jih ustvarjal.

    Zaradi vseh naštetih razlogov sem čutil silno potrebo po tem, da ves svoj content stream nekako zberem vkup. Pa sem ga (večino).

    Najprej disclaimer: lahko bi izbral lažjo pot in inštaliral WP lifestream. Tako bi dobil strašno fin lifestream, z lepimi ikonami. (Sicer precej bolj namenjen agregaciji statusov, manj pa arhiviranju pravega contenta).

    Ker pa ga seveda nisem našel na prvi strani prvega searcha, sem se odločil za agregiranje RSS-ov z WP-o-Matic-om. Ta omogoča, da vse svoje smetenje po raznih platformah potegnem v svoj posebej za to narejen WordPress kot polnokrvne poste. S tem dobim tudi zastonj search in arhiv celotne zgodovine (in ja — WP-o-Matic zna cachirati tudi slike).

    Glede na to, da je vsa dosedanja vrednost v preteklih objavah, je bilo nujno poskrbeti za kompleten izvoz vseh starih vsebin. S tem pa je bilo več dela kot sem mislil.

    Štartal sem z Delicious.com, kjer imam 3000+ javnih bookmarkov (privatnim se zaenkrat odpovem). Delicious preko RSS daje na voljo samo največ 100 objav, lahko pa jih dobiš v celoti na spodnjem linku.

    https://api.del.icio.us/v1/posts/all

    Seveda so v delicious XMLu in ne v RSS, zato sem jih s spodnjo quick’n’dirty Ruby skripto prepisal v RSS ter nato z WP-o-Maticom importal kot file s svojega strežnika. (Skripta z if-om v 18. vrstici tudi izloči vse privatne bookmarke).

    require 'rexml/document'
    include REXML
    
    data = open('all.xml')
    xml = Document.new(data)
    root = xml.root
    
    puts '<?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/">
      <channel>
        <title>Delicious</title>
        <link>http://delicious.com/urbans</link>
        <description>Delicious bookmarks</description>
        <atom:link rel="self" type="application/rss+xml" href="http://feeds.delicious.com/v2/rss/urbans?count=15"/>'
    
    count=1
    root.each_element do |e|
    	if e.attributes["shared"].to_s != "no"
    		desc = "<description>" + e.attributes["description"].to_s + "</description>"
    		puts "<item>
          <title>#{e.attributes["description"].to_s}</title>
          <pubDate>#{e.attributes["time"].to_s}</pubDate>
          <guid isPermaLink=\"false\">http://delicious.com/url/#{e.attributes["hash"].to_s}#urbans</guid>
          <link>#{e.attributes["href"].to_s}</link>
          <dc:creator><![CDATA[urbans]]></dc:creator>
          <comments>http://delicious.com/url/#{e.attributes["hash"].to_s}</comments>
          <wfw:commentRss>http://feeds.delicious.com/v2/rss/url/#{e.attributes["hash"].to_s}</wfw:commentRss>
          <source url=\"http://feeds.delicious.com/v2/rss/urbans\">urbans's bookmarks</source>
            #{desc}
          </item>"
    		count+=1	
    	end
    end
    
    puts '</channel></rss>'
    

    Naslednji je na vrsti Google Reader. Z malo brskanja najdemo tale URL:

    http://www.google.com/reader/public/atom/user%2F{USER_ID_HERE}%2Fstate%2Fcom.google%2Fbroadcast?r=n&n=100000

    Zamenjati je treba {USER_ID_HERE} z našim Google Reader user idjem. Naj vas ne zavede tako kot mene — to ni ime vašega accounta. Dejansko se rabiš zlogirat v Reader, kliknit Sharing settings in skopirat numeričen user id (slika).

    Potem lahko številko n nastavimo na poljubno visoko in importamo celotno zgodovino (Yay, Google). Samo ne pozabit zbrisat potem tega joba in narediti enega, ki vleče samo 10 itemov, da ne bo WP-o-Matic vsakič nalagal vseh itemov.

    Za WordPress je bilo najhitreje, da sem začasno povečal output RSSa na dovolj veliko številko (Settings / Reading / Syndication feeds show the most recent n items).

    Pri Twitterju lahko potegnemo preko RSS-a do 200 updatov, če na konec RSS URL-ja dodamo ?count=n. Za več bi bilo treba kodirat in uporabit API.

    Pri parih zadevah pa sem imel tudi srečo, da še ni prav veliko objav in sem vse potegnil kar preko običajnega RSS-a.

    Saga še ni končana, precej je še storitev, ampak nekako po Paretovem pravilu sem podelal tistih 20% za 80% izkupička, tako da iskanje in permalinkanje delata zelo zadovoljivo — zadeve pa imam zdaj seveda na svojem serverju in jih lahko v prihodnje uporabim tudi za trening kakšnega bayesovega filtra (recimo za rangiranje blogpostov, ki jih pregledujem).

    Update (15.9.2010): WP-o-matic mi vsake toliko povsem naključno podvaja objave. Izgleda, da gre za nek long-standing bug, delno odpravljen, v enih primerih pa še vedno nagaja. Na hitro sem pogledal kodo in plugin res preverja unikatnost objave glede na hash, nisem pa naprej debugiral kje se zalomi, ker je napaka preveč sporadična. Kot rešitev sem zato inštaliral plugin Duplicate Post Eraser.

    1. Sajt Ma.gno.lia je tekel na enem ne-backupiranem Macu mini, in ko je ta izdihnil, so vsi uporabniki ostali brez bookmarkov []
    2. da ne omenjamo, da tudi linki umirajo; zanimiv eksperiment bo, ko enkrat preverim, koliko od mojih 3000 bookmarkov na Deliciousu še kaže na žive linke. []
     
    • dare 15:04 on 24 Aug. 2010 Permalink

      “Podatki pa so vredni toliko, kot je bil vreden čas, ki si ga porabil, ko si jih ustvarjal.”

      Love this.

    • dare 15:06 on 24 Aug. 2010 Permalink

      Drugač pa super, tole si bom tut jaz zrihtal. Nisi pa nič elaboriral kaj je narobe z WP-Lifestreamom?

      Naslednja naloga: na enem mestu zberi vse komentarje na vse sharane zadeve 🙂

    • Urban 17:32 on 24 Aug. 2010 Permalink

      WP Lifestream je super. Samo da sem štartal s temle, pa kasneje tud nisem več probaval, če bi se dalo zrihtat search, shranjevanje celotnih postov, import zgodovine in cachiranje slik.

      Drugače pa za commente še najbližje pride Disqus, ampak za sajte ki ga nimajo (recimo tale), to odpade :s .. Drugače pa nimam ideje kako bi sploh iskal commente; pri WP se načeloma lahko naročiš tud na commente na posameznem postu, ampak to niso samo tvoji.

    • dare 23:24 on 31 Aug. 2010 Permalink

      evo, zdele sem se cist slucajno spomnil, da sem ti pustil komentar in da si mogoce kaj odgovoril 🙂

      dost neucinkovita komunikacija, ce mene prasaste

  • Urban 01:09 on 13 Jul. 2010 Permalink  

    Logiranje tipk 

    Po Wolframovi ideji, o kateri pišem v prejšnjem postu, sem tudi sam izdelal aplikacijo, ki beleži aktivnost na tipkovnici in klikanje miške. Zadeva je trivialna (lotil sem se v dobrem starem VB61 🙂 )

    'mouse & keyboard deklaracija za v BAS file ========
    Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
    
    Public Function GetKey() As Integer
        For i = 0 To 255
            If (GetAsyncKeyState(i) And &H8001) <> 0 Then
                GetKey = i
                Exit Function
            End If
        Next i
    End Function
    
    'LOG keys and clicks ================ 
    Private Sub keytimer_Timer()
        'get keys
        newkey = GetKey
        'Replace letters with X to prevent keylogging
        If newkey > 48 And newkey < 100 Then
            dbkeycode = 88
        Else
            dbkeycode = newkey
        End If
        
        If oldkey <> newkey And newkey <> 0 Then
            'open db, insert
            Set Db = OpenDatabase(App.Path & "\data.mdb")
            Set Rs = Db.OpenRecordset("SELECT * FROM key_log", dbOpenDynaset)
            Rs.AddNew
            Rs!Time = Date & " " & Time
            Rs!keycode = dbkeycode
            Rs.Update
            Db.Close
        End If
        oldkey = newkey
    End Sub
    

    Prva finta opisane kode je, da beleži tako evente tipkovnice kot miške. Če funkcija GetKey vrne 1, 2, 3 ali 4, gre za gumb na miški, ostalo je tipkovnica. To zadevo sem nekaj časa uporabljal in beležil vse GetKey evente v MDB bazo, nakar sem postal rahlo paranoičen. MDB je vseboval vse passworde in vedno obstaja verjetnost, da taka zadeva pride v napačne roke. Zato v zgornji kodi brž replacal vse alfanumerične znake z ‘x’. Razlog, da nisem vseh, je naslednji: želel sem pustiti notri kode tipk, ki bi se izkazale za uporabne. Takšne so naprimer delete in backspace; ti dve omogočata, da beležiš kolikokrat se je uporabnik zmotil pri tipkanju; sigurno pa so še druge podobne skrite informacije.

    Že ti podatki lahko dajo dokaj dobro analizo produktivnosti glede na čas dneva, če pa bi jih uparili še z imenom aplikacije, Shazam detekcijo muzike, ki se vrti v ozadju, s podatki o količini dnevnega gibanja (recimo s FitBita), kvaliteti spanca (FitBit/SleepTracker), s TV sporedom, porabo električne energije v bajti, zunanjo in notranjo temperaturo, telesno temperaturo, srčnim utripom in/ali ročno vnesenimi podatki (splošno počutje, lakota, žeja), bi dobili pravi recept za optimalne pogoje produktivnosti ali kreativnosti.

    Problem take rešitve je, da predstavlja precej velik vdor v zasebnost uporabnika. Edina sprejemljiva varianta je, da reč zapakiraš v desktop aplikacijo, s tem pa izgubiš vse prednosti oblaka: spremljanje več naprav, centraliziran pregled statistike, ipd.

    Glede na to, da tudi sam takih podatkov ne bi zaupal nikomur (in da sem takoj odinštaliral Rescue Time, ki podobne podatke zbira na webu), vidim kot edino možnost privaten oblak. Mnogi (tudi Eric Schmidt) menijo, da bo regulativa na tem področju šla po sledeh bank, in da se bo nivo zaupanja do ustreznih ponudnikov dvignil do te mere, da bomo podatke “nakazovali” brez strahu, da jih bo kdo ukradel. In ko bo mogoče najeti simpl sef za podatke, bo tudi take občutljive zadeve možno preko VPN shranjevati od kjerkoli.

    1. ta je še ena antična, z začetki v 2006 kot aplikacija, ki je bila po želeni funkcionalnosti na las podobna današnjemu ManicTime-u []
     
    • dare 09:55 on 13 Jul. 2010 Permalink

      tipu se je res odprl…

    • Urban 10:47 on 13 Jul. 2010 Permalink

      🙂 mwahaha.. ma mi je prov škoda vse te kode in idej, ker že men mal peša spomin 🙂

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel