/srv/irclogs.ubuntu.com/2012/03/03/#ubuntu-eg.txt

MohamedAlaa98excuse me..09:57
MohamedAlaa98there is a meeting today?09:58
amr_hello , is there an event tonight10:25
MohamedAlaa98yeah10:34
MohamedAlaa98about zeitgeist10:35
Mahmoud20070امال فين الاجتماع ده يا اخونا والمناقشه والكلام ده14:48
Mahmoud20070انا قاعد بقالى ساعه مستنى حد حتى يقول سلام عليكم14:48
MohamedAlaa98لسه14:54
seiflotfyhey guys18:10
seiflotfy:D18:10
seiflotfycan u give me 5 minutes please18:10
ashamsok :)18:11
MohamedAlaa98sure ;)18:12
seiflotfyok i am prepared18:24
seiflotfysorry18:24
seiflotfyso18:25
seiflotfyhi guys18:25
seiflotfy:D18:25
seiflotfyr u guys ready18:25
ashamsHi \o18:25
ashamsready, by me :)18:25
seiflotfyso my name is Seif Lotfy just like my nick says18:25
MohamedAlaa98ready!18:26
seiflotfyI am mainly a GNOME/KDE upstream developer18:26
seiflotfyi am known for my Zeitgeist work which is now part of Unity and KDE18:26
seiflotfy(and hopefully GNOME soon)18:26
seiflotfyI can introduce you to Gtk or Zeitgeist18:27
seiflotfyit is up to you to decide what you would like to know about18:27
MohamedAlaa98zeitgeist?18:27
ashamsZeitgeist +118:27
seiflotfyok if you don't mind i will get our project manager in here18:27
ashamscool18:28
MohamedAlaa98pretty18:28
seiflotfyhi m4n1sh18:28
seiflotfyguys meet m4n1sh18:28
ashamshi m4n1sh o/18:28
seiflotfyhe is the zeitgeist project manager18:28
MohamedAlaa98hello m4n1sh18:29
seiflotfyhe keeps the overview of the project and works closely with Ubuntu18:29
seiflotfyhe keeps the team intact and points us to stuff to be fixed18:29
seiflotfyso about Zeitgeisgt18:29
m4n1sh:)18:29
seiflotfyZeitgeist is a daemon18:30
seiflotfya process that runs in the  background18:30
seiflotfyit allows applications to tell it what they are doing18:30
MohamedAlaa98tracks activity18:30
seiflotfyMohamedAlaa98: exactly18:30
seiflotfyMohamedAlaa98: but it doesnt really track18:30
seiflotfytracker would assume we actively look what apps are doing18:31
seiflotfywe don't18:31
seiflotfyapps tell zeitgeist what they are doing18:31
m4n1shit logs activity18:31
m4n1shthe relevant activity18:31
m4n1shwhich you can use yourself18:31
m4n1shto enhance your user experience18:31
seiflotfyexactly18:31
seiflotfywhile ppl might argue its spyware18:31
seiflotfyit actually isnt18:31
seiflotfyit is what we call "myware"18:31
seiflotfywithout zeitgeist applications would save their logs in random places18:32
seiflotfywith zeitgeist you have a central log with total control18:32
m4n1shbasic safeguards are in place as other users can't read your activity18:32
m4n1shwhich uses unix permission model18:32
seiflotfywhich means you can tell zeitgeist what kind of activities it should or should not log18:32
seiflotfysomething that no other OS has till now18:33
seiflotfyzeitgeist was written in python18:33
seiflotfywhen i started hacking it i did not intend for it to be a daemon really18:33
seiflotfyit was a UI18:33
MohamedAlaa98and now vala18:33
seiflotfyand then we split the UI into a UI and a daemon18:33
seiflotfyyep18:33
seiflotfy2 years later its in vala18:33
seiflotfyso question...18:34
seiflotfywould you like to see a code sample of how to make apps talk to zeitgeist18:34
seiflotfyor do you want to understand the basic datamodel of zeitgeist18:34
seiflotfy?18:34
ashamsah, hard choice!18:34
MohamedAlaa98number 218:34
seiflotfy:D18:34
ashams2 +118:35
seiflotfyok18:35
seiflotfyThere is a tangible confusion around as to what Zeitgeist is and what it isn’t; what it can do and what it can’t do18:36
m4n1shit can log activity as events18:36
m4n1shlike you made a phone call18:36
m4n1shyou recieved a call18:36
m4n1shyou saved a file18:36
m4n1shyou switched your computer on18:36
m4n1shyou open a file18:36
seiflotfyyeah18:37
m4n1shyou connected to your wireless network18:37
m4n1shin this list not everything is logged18:37
m4n1shas not everything in this list is useful18:37
m4n1shlike when you connected and disconnected to network isnt very useful at this moment18:37
m4n1shwe mostly log files18:37
m4n1shand application lanches18:37
m4n1shyes, when you launch an application it is also logged18:37
seiflotfywe log interaction18:37
seiflotfyThe Zeitgeist daemon (also known as the engine) is a process that exposes an event logging framework as a DBus API18:38
m4n1shand the advantage is that you can then know which is the most famous application18:38
seiflotfyso again18:38
seiflotfyThe Zeitgeist daemon (also known as the engine) is a process that exposes an event logging framework as a DBus API18:38
seiflotfydbus being the common inter-process communication tool on linux18:38
m4n1shd-bus it is used by various application to talk to one another18:38
m4n1shright now we log file activity18:39
m4n1shwhich is pretty useful18:39
m4n1shlike it logs all the files you opened or saved using gedit18:40
m4n1shso we have a gedit plugin18:40
m4n1shmade by seiflotfy himself18:40
m4n1shwhen you open gedit18:40
m4n1shit shows you the most latest files you interacted using gedit18:40
m4n1shpretty useful18:40
ashamsyeah18:40
MohamedAlaa98Thats awesome!18:41
m4n1shfile activity and application launches logging is right now our focus18:41
m4n1shI can show you people an example of that gedit18:41
m4n1shthe thing which seiflotfy made18:41
seiflotfyhttp://www.youtube.com/watch?feature=player_embedded&v=ajCY0CXBY4A18:42
seiflotfyashams: MohamedAlaa98 ^18:42
ashamschecking it :)18:42
MohamedAlaa98me too18:43
m4n1shhave a look18:43
m4n1shhttp://i.imgur.com/7uaXC.png18:43
m4n1shhttp://i.imgur.com/Hy0uL.png18:43
m4n1shsorry for over zooming18:43
MohamedAlaa98np:)18:44
ashamsthat would help a lot :D18:44
m4n1shboth the images here http://imgur.com/7uaXC,Hy0uL#118:44
MohamedAlaa98yeah!18:45
m4n1shthat is very useful18:45
m4n1shi forgot searching for files18:45
m4n1shits like how i do on android18:45
m4n1shopen gallery18:45
m4n1shand dont care where my files are18:45
m4n1shall images are shown there18:45
seiflotfyso back to the zeitgeist datamodel18:46
seiflotfyzeitgeist works with events18:46
seiflotfyits something that differentiates zeitgeist from other competiotions in the semantic world18:46
seiflotfynepomuk and tracker for example18:47
seiflotfywho dealt with file metadata in general18:47
seiflotfyzeitgeist deals with events18:47
seiflotfyand files are metadata of an event18:47
seiflotfy---18:48
seiflotfy(the following is copied from the zeitgeist manual)18:48
seiflotfy---18:48
seiflotfyAs mentioned before Zeitgeist is an event log and not a search engine or file tracker. It just logs the various18:48
seiflotfyevents occouring on the system like file opened, file modified, call placed, IM received etc.18:48
seiflotfyAt the heart zeitgeist consists of an engine which runs as a daemon. It’s work is to simply receive events,18:48
seiflotfystore it in the database, provide the events when requested for.18:48
seiflotfyIf there are more than one user on the system, then every user will have their own Zeitgeist process and database18:49
seiflotfy 18:49
seiflotfyIf the engine is the heart, then the role of blood is being taken up by Events. Events are packet of information18:49
seiflotfywhich contain the data about any kind of activity occouring on the system.18:49
seiflotfyAn Event contains:18:49
seiflotfy1) id - Every event has a unique identifier which can be used to identify an event from others.( It is of type int)18:50
seiflotfythe id is given by zeitgeist18:50
seiflotfy2)  timestamp - This is the time when the event occoured. The value stored is the number of milliseconds since UNIX epoch. UNIX epoch is the moment which is 00:00:00 UTC on Thursday, January 1st, 1970.18:50
seiflotfy3) • interpreation - This defines ”what happened” (something was opened or closed) using a formal URI. The predefined set of URIs are available and will be covered later.18:51
seiflotfy2) manifestation - This defines how did this happen (a user activity or a world notification) using a formal URI. The predefined set of URIs are available and will be covered later18:52
seiflotfysorry that was 418:52
seiflotfy5)18:52
seiflotfyactor - The URI defining the entity responsible for this event. In most of the case it is an application.18:52
seiflotfyIn case of application the application:// URI is used. e.g. application://firefox.desktop18:52
seiflotfy6) subjects - This just represents the subject of the event. There can be more than one subjects but in majority of the cases, only one is needed18:52
seiflotfy7) payload - An array of bytes which can be used for freeform storage of any data associated with the event. The encoding or format of the data is not handled by the engine and is left upon the clients.18:52
seiflotfy----18:53
seiflotfyquestions?18:53
seiflotfyif not then i will give you a quick quizz18:53
ashamsWhy you give an id while you have a timestamp?18:53
seiflotfyashams: good question18:54
seiflotfywhat if you receive a file while openeing a document18:54
seiflotfy2 events with the same timestamp18:54
seiflotfyzeitgeist needs to differentiate between them18:55
seiflotfyso as soon as an event comes into zeitgeist we assign it an id18:55
ashamsaha18:55
seiflotfyMohamedAlaa98: questions?18:55
MohamedAlaa98does it works w/ lxde or xfce?18:56
seiflotfyyep18:56
seiflotfyit runs on linus18:56
seiflotfyit is up to the apps to talk to it and tell zeitgeist what they are doing18:56
m4n1shMohamedAlaa98: it can run on all desktop environments18:56
ashams.....and what is URI?18:57
m4n1shgnome, kde, lxde, xfce, elementary18:57
MohamedAlaa98like a firefox plugin ?18:57
m4n1shashams: any string which can be used to identify something18:57
seiflotfyuri ==> file:///home/seif/porn/suzan_and_hosni.avi18:57
m4n1shlike http://google.com is a URI or URL18:57
m4n1shURL is a kind of URI18:58
m4n1shURI - universal resource identifier18:58
m4n1shany identifier which can be used to locate  a resource18:58
seiflotfythe path to a file on the filesystem is a uri18:58
seiflotfy:D18:58
m4n1sha resource can be a file, a webpage anything18:58
m4n1shthe path of a file on file system is a URI as the path acts as an identifier for a resource (file)18:59
m4n1shevery file has a unique path18:59
seiflotfyMohamedAlaa98: ashams: got that?18:59
m4n1shashams: MohamedAlaa98 in case you didnt understand ask again18:59
m4n1shif not then again18:59
ashamsseiflotfy, yes, very much18:59
m4n1shthis isn't you school class where you will be looked down if you don't understand the first time :)18:59
ashamsthanks18:59
seiflotfyhahah19:00
m4n1shseiflotfy: continue19:00
MohamedAlaa98nope19:00
MohamedAlaa98thanks19:00
seiflotfyMohamedAlaa98: we write plugins for apps to communicate with zeitgeist19:00
seiflotfysome apps that communiate with gtk.recentmanager we cover automatically19:00
MohamedAlaa98yes, i was asking about this19:01
seiflotfy(gtk recent manager acting as a proxy)19:01
seiflotfySo firefox and chrome dont talk to gtk recent manager19:01
seiflotfyso we wrote plugins for them19:01
seiflotfyMohamedAlaa98: however gedit talks to gtk recent manager19:01
MohamedAlaa98yeah, i got it19:01
seiflotfyso we cover it via zeitgeist-dataub19:01
m4n1shzeitgeist is just a daemon19:02
m4n1shit does not magically log events19:02
seiflotfyhowever gtk recent manager is limited since it does not know when a file was closed and cant differentiate between read/modify19:02
m4n1shthere are applications which push events19:02
m4n1shlike datahub19:02
m4n1shor plugins19:02
MohamedAlaa98Thank you very much for your time.19:03
seiflotfyMohamedAlaa98: u got to go?19:03
MohamedAlaa98sure!19:03
seiflotfywe still have time so ping me when u r back19:03
seiflotfyanyhow ashams u still here right19:04
MohamedAlaa98just 2 minutes19:04
ashamsseiflotfy, yeah, thank you guys19:04
seiflotfym4n1sh: can u link them with the zeitgeist manual19:04
seiflotfyits not finished yet19:04
seiflotfybut i think ashams could help us write it19:05
m4n1shgit clone git://github.com:manish/The-Zeitgeist-Manual19:05
m4n1shbuilt it with build.sh19:05
ashamscool19:05
ashamsseiflotfy, how can i help :)19:05
MohamedAlaa98i'm here19:05
ashamsdoes it cover the predefined set of URIs?19:06
m4n1shashams: how are URIs predefined?19:09
m4n1shthey are unique19:09
m4n1shno two things should have same URIs19:09
m4n1shtwo seperate files have two seperate URIs19:09
MohamedAlaa98Can zeitgeist sync logs with ubuntu one?19:14
seiflotfyMohamedAlaa98: it can19:14
seiflotfythe old one could19:15
seiflotfywe need to port the extension19:15
seiflotfyzeitgeist allows extension19:15
seiflotfyso u can write an extension for zeitgeist to push events into ubuntu-one19:15
seiflotfyMohamedAlaa98: ashams are you ready for a small quiz19:15
seiflotfy?19:15
MohamedAlaa98i'm ready19:16
ashamsseiflotfy, fine by me :D19:16
seiflotfyok19:16
seiflotfyso19:16
seiflotfy"10:00 User used firefox to open http://youtube.com"19:16
seiflotfywhat is the timestamp19:16
seiflotfywhat is the subject19:16
seiflotfy?19:16
seiflotfylook at the definitions on the top19:16
ashamstimestamp 10:00:0019:17
MohamedAlaa98timestamp : 10:00 firefox :subject19:17
seiflotfytimestamp 10:0019:17
ashamssubject: visit youtube.com19:17
seiflotfyfirefox is not the subject19:18
seiflotfyashams: alsmost19:18
seiflotfysubject what is the event interpretation19:18
seiflotfy?19:18
MohamedAlaa98firefox?19:18
seiflotfyno19:18
seiflotfyok19:18
seiflotfylet me easy it19:18
MohamedAlaa98open?19:18
seiflotfyactor ===>  The URI defining the entity responsible for this event. In most of the case it is an application.19:19
seiflotfywhat is the actor19:19
MohamedAlaa98The URI defining the entity responsible for this event. In most of the case it is an application.19:19
seiflotfyso in this case19:19
ashamsseiflotfy, FF19:19
seiflotfyashams: correct19:19
seiflotfyok19:19
seiflotfynterpreation - This defines ”what happened” (something was opened or closed) using a formal URI. The predefined set of URIs are available and will be covered later.19:20
seiflotfyinterpreation - This defines ”what happened” (something was opened or closed) using a formal URI. The predefined set of URIs are available and will be covered later.19:20
seiflotfywhat is the interpretation ?19:20
* m4n1sh notices that ashams seiflotfy and MohamedAlaa98 are learning zeitgeist via quiz and games and is really happy19:20
ashamshahaha19:20
ashamsseiflotfy, open http://youtube.com19:21
MohamedAlaa98;D19:21
seiflotfyashams: "open" only19:21
ashamsah19:21
seiflotfyhttp://youtube.com is the subject19:21
MohamedAlaa98open19:21
MohamedAlaa98oh no!19:21
ashamsaha19:21
seiflotfylet me make the sentence more readable19:22
seiflotfy"via a user activity, firefox opened http://youtube.com at 10:00"19:23
seiflotfyactor = firefox19:23
seiflotfyinterpretation = opened19:23
MohamedAlaa98subject youtube19:23
seiflotfysubject is "youtube"19:23
seiflotfytimestamp is 10:0019:23
seiflotfywhat is the manifestation of the event19:23
seiflotfy?19:23
ashamsuser/activity/ff19:24
seiflotfyno ff19:25
seiflotfyonly user activity19:25
seiflotfyfirefox is the actor19:25
ashamsok19:25
seiflotfyuser activity is he manifestation of the event19:25
ashamswhat is the need of manifestation?19:25
seiflotfyto know how the event happened19:26
MohamedAlaa98i got it now19:26
seiflotfywas it the user explict activity19:26
seiflotfyor was it a notification19:26
seiflotfyor was it a scheduled activity19:26
MohamedAlaa98one more quiz please?19:26
seiflotfyok19:26
ashamsok19:26
seiflotfyuser received an instant message via empathy around 11:01"19:27
MohamedAlaa98ashams: let me answer this time!19:27
seiflotfywhat is the actor19:27
seiflotfy?19:27
MohamedAlaa98empathy19:27
seiflotfycorrect19:27
seiflotfytimestamp19:27
seiflotfy?19:27
MohamedAlaa9811:0119:27
seiflotfysubject19:27
seiflotfy?19:27
MohamedAlaa98received an instant message19:28
seiflotfynope19:28
seiflotfyinstant message only19:28
seiflotfyin arabic the interpretation is "fe3l"19:28
seiflotfyactor is "fa3el"19:28
ComputeristGeekHelloww Helloww19:28
seiflotfyhello19:28
seiflotfyMohamedAlaa98: so what is the fe3l in the example19:29
MohamedAlaa98hh19:29
MohamedAlaa98hhhhhh19:29
MohamedAlaa98received19:29
seiflotfyEXACTLY19:30
seiflotfyok now the interesting part19:30
seiflotfy"how did he receive the message"19:30
ashamshaha, epic, zg session turns into syntax lesson19:30
seiflotfyis it his activity19:30
seiflotfyor is is a world activity19:30
seiflotfyas in did he initiate the receiving19:30
seiflotfyor was is a notifications19:30
seiflotfy?19:30
MohamedAlaa98a notification?19:31
seiflotfyEXACTLY19:31
seiflotfya notification in zeitgeist is called "world activity"19:31
seiflotfyand that is the "manifestaion" of the event19:31
seiflotfyMohamedAlaa98: ashams got that19:32
seiflotfy?19:32
ashamsyep19:32
MohamedAlaa98Sorry, because i'm 13yo my English is weak19:32
seiflotfyMohamedAlaa98: ur 1319:33
seiflotfy?19:33
MohamedAlaa98yeah19:33
seiflotfyWOW19:33
seiflotfycan u program yet?19:33
MohamedAlaa98yeah19:33
MohamedAlaa98python and a little bit of c++19:33
seiflotfyMohamedAlaa98: very very good19:34
ComputeristGeekInteresting19:34
seiflotfyMohamedAlaa98: are u familiar with gtk19:34
ashamscool thing19:34
seiflotfy?19:34
MohamedAlaa98yes19:34
seiflotfyMohamedAlaa98: good good19:34
seiflotfyMohamedAlaa98: u want some task ?19:34
seiflotfyso back to zeitgeist19:35
seiflotfyu guys up for one more quiz19:35
MohamedAlaa98as you like19:35
ashamsas you wish :D19:35
m4n1shseiflotfy: go go go19:35
seiflotfy"10:00 edited file://home/user/test.py via gedit"19:36
ashamsactor gedit19:37
ashamsgot the easiest19:37
MohamedAlaa9810:00 timestamp19:37
seiflotfycorrent19:37
ashamsmanifestation edited19:37
ashamssubject file://home/user/test.py19:38
MohamedAlaa98nope19:38
MohamedAlaa98subject is edited19:38
ashamsyeah,  interpreation edited19:40
ashamsoops19:40
seiflotfyashams: correct19:41
seiflotfyinterpretation is edited19:41
seiflotfy:D19:41
seiflotfysubject is file://home/user/test.py19:41
seiflotfyand manifestation19:41
seiflotfy?19:41
MohamedAlaa98one more fault again :(19:42
seiflotfyits ok19:42
seiflotfyits not easy at first19:42
ComputeristGeekWell as a newbie here, I wouldn't mind a quick explanation :D19:44
seiflotfyinteresting19:45
seiflotfyashames do u mind trying to explain19:45
seiflotfy:D19:45
ashamscool19:45
ashamsComputeristGeek, you can read the logs: irclogs.ubuntu.com/2012/03/03/%23ubuntu-eg.html19:45
ashams:P19:45
ashamsComputeristGeek, it's about Zeitgeist19:46
ComputeristGeek:)19:46
ashamsand how it manages events19:46
ashamsit sets properties for each event to make it readable and easily represented19:46
ashamszg is a daemon that saves events from each user19:47
ashamsto a separate db19:47
ashamsand makes it available for other apps and the user him/herself19:47
ashamsinside datamodel,19:48
ashamsit gives to each event an id, timestamp, subject, interpretation, manifestation and a payload19:48
ashamsid an integer to make each event very unique19:49
ashamsaway from it's timestamp that could be shared19:49
ashamstimestamp is when it happened19:49
ashamsThe value stored is the number of milliseconds since UNIX epoch. UNIX epoch is the moment which is 00:00:00 UTC on Thursday, January 1st, 1970.19:50
ashamssubject: is what was the obect of that event19:51
ashamsobject*19:51
ComputeristGeekoh you're explaining here and I was reading there19:52
ashamsManifestation: is how that event happened, by user himself, or by the World, like receiving a msg19:52
ashamsnp :)19:52
ashamsit's the same19:53
ashamsalmost :P19:53
ComputeristGeek:D19:53
ashamsactor is the application that was used to do that event19:54
ComputeristGeekIs it part of the OS?19:54
ashamsnow, read that quizes and you'll get it19:54
ashamsComputeristGeek, no19:54
ComputeristGeekSo it's an application software that we choose to install19:54
ashamsyes19:55
ashamsand you choose what events you want to log too19:55
ComputeristGeekInteresting, but I thought logs were already kept19:55
ComputeristGeekSystem logs...Error logs....19:55
ashamsno, it uses different logs19:56
ashamsit logs what you do, not what happened to the system19:56
ashamslike, opened a file19:56
ashamsreceived a msg19:56
ashamssuch events are not logged on the system logs19:56
ComputeristGeekLike a self-inflicted spyware...or as seiflotfy delicately said it....myware19:56
MohamedAlaa98i've came back again, what i've missed?19:57
ashamsComputeristGeek, it doesn't track your activity, it's you who log for your self for later use19:57
ComputeristGeekYes I am aware (pun not intended) :D19:58
ashams:)19:58
MohamedAlaa98i've to go now, i've 3 exams tomorrow, see you next meeting!19:59
MohamedAlaa98bye19:59
ComputeristGeekAdieu20:00
ashamsMohamedAlaa98, bye20:00
ComputeristGeekFor months I've been staying away from freenode for not being able to get cloaked20:01
m4n1shComputeristGeek: use freenode webchat20:07
ComputeristGeekNo worries, I have my cloak now :D20:08
ComputeristGeekI'm just dumbstruck on the amount of useful chatrooms on freenode20:08
m4n1shyou are also from Egypt? Don't trust your govt? :)20:12
ComputeristGeekI am from Egypt, I don't trust anyone I do not know :D20:12
m4n1sh:)20:12
ComputeristGeekNot that either is related :P20:12
m4n1shI can understand20:13
ComputeristGeekWhere are you from?20:14
seiflotfyComputeristGeek: yo20:36
ComputeristGeeksorry, back20:39
ComputeristGeekashams, connection problems?20:40
ashamsyeah20:41
ComputeristGeekAh, my condolences XD20:41
m4n1shComputeristGeek: India20:42
ComputeristGeekYes, I recognized the name after asking you :D20:42
m4n1sh:)20:43

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!