The last couple of days the Zeitgeist team has been pretty busy with coding! With the help of the guys hanging around #gnome-zeitgeist and Jason Smith (aka DBO) we managed to improve performance and the UI! There is still alot to come and a release will be hopefully sometime soon! We would really appreciate testing and new hackers (especially if you are new to python why not take a look its only 2500 lines of code
). I don’t intend to start a weird topic! But since we kind of have a plan of what we are doing! I am thinking of taking 2 days to start porting to mono if the rest of the gang is ok with it! Right now its all in python! what do you think? To mono or not to mono!
You can pull the code from launchpad:
bzr branch lp:gnome-zeitgeist
Here is a quick video preview of what it can do now! More features to come soon!
I would leverage Mono if I was doing this, it is a really cool framework. I think it would be very well suited for this kind of job also it might open up for new contributors and new functionality.
Please port it to mono. I might join fixing bugs then
I’ll have a look at the python. While I think mono is really cool technology I would like to keep core desktop as lean as possible and not require yet another VM and library. If you want to port to something exotic why not JavaScript and GnomeIntrospection?
Since you guys are going to do it it’s your take, but how about doing it in javascript as the gnome-shell proyect? since I guess it will be part of gnome 3.0 maybe it makes sense to have the most prominent new features in javascript with gis as a showcase of the new 3.0 plataform features.
This looks a lot like the feature described as some kind of timeline file manager for the new gnome-shell, maybe this can be it?
do you think port to Vala?
You port to LOLCODE soon! you do soon? I only help if in LOLCODE!!111!!
Hooray – show us your warez!
but still – looks like a great project…
@Rasi
next on the list are blacklists!
+1 for staying with Python. I like the language and the fact that you can hack on installed apps without needing a development system (chmod a+w on installed .py files suffices
Btw. is there a web viewer available for your current repository? I don’t have bzr available right now but like to have a look at the code.
@Seif Lotfy
Well, i only meant that you should probably make sure, such stuff is not shown on public screencasts…
As I’ve said in the past, I’m willing to go either way on this, provided that there are justifiable reasons behind the switch.
What’s the rationale behind switching, and why now?
@oliver
Yes, please see http://bazaar.launchpad.net/~gnome-zeitgeist/gnome-zeitgeist/gnome-zeitgeist/files
@oliver
http://bazaar.launchpad.net/~gnome-zeitgeist/gnome-zeitgeist/gnome-zeitgeist/files
have fun!
@Natan Yellin
We can rewrite a clean code with a plugin manager that mono provides!
DBO would join the team! Federico could help us wiht memory stuff!
but python just works and is pretty portable. And quick forward!
Very nice!
But please DO NOT port it to Mono!
Since you’re quite close to GNOME Shell, why not use it’s C + Javascript combination? Else Vala is here for this kind of project (or Genie if you love Python-like syntax)!
Since Zeitgeist is intended to be a ligthweight tool that should start very quickly, it would be a shame to require a VM, which would mean keeping it in memory all the time to improve start time. Especially if you’re planning to run in the backround to track documents…
You could get the best of both worlds using Boo, because it runs on Mono and its syntax is very easy (inspired on Python).
Could you port GNOME-Zeitgeist to Vala instead of Mono?
Vala (http://live.gnome.org/Vala) has the syntax and the power of Mono and it is as fast as C.
To Vala or not to Vala!
Use GObject
so C or Vala.
mkike: when using Gtk# with Mono you’re using GObject as well.
I think you should really consider using vala if your intention is to rewrite the app
Could you port GNOME-Zeitgeist to Vala instead of Mono?
Vala has the syntax and power of Mono and the speed of C.
To Vala!
I would say either stay with Python or go for Vala. Personally i would love to see more programs getting written in Vala (or Genie).
We need to reduce and not increase the amount of desktop stuff that uses mono! Please leave it using Python unless there’s really a compelling reason to switch and, especially if it’s performance, consider Vala. The more projects that switch to mono, the more effort it’s going to take to get rid of it.
No Mono please, I don’t want to be blackmailed by Microsoft in the future.
Stay with Python or Java (since you are close to GNOME-shell and everybody is improving performance with it).
Is there are reason you want to port it to Mono? What wrong with Python?
Just to be clear the porting will only take place after the first release!
There is still some things that have to be done till then! So when we port a fairly stable code it will be snappier! The reason Mono is a good candidate is that every1 can program with whatever syntax he/she likes! I like python thus boo would be my first choice! Others like C#! this way we just divide the program into modules and every1 gets going!
What do you gain by porting the code to Mono?
You say Zeitgeist is pretty small currently, and Mono is a nice, and fast, framework to work with, but that still a bunch of extra effort that otherwise wouldn’t be needed if you stick with Python.
Vala! Its syntax is like C#, but it doesn’t require a VM and, more importantly, it would allow you to refactor your code so that it can become a GtkWidget, reusable (for free, through GObject’s introspection) by any other language for which GLib bindings are available (C, C++, C#, Python, Javascript, Perl, …).
What themes are you using for GTK+ and metacity? Looks great!
mono is slower on older pc.
Do you know that if your port will be to MONO the whole open source community will ignore your project just before it begins?
It’s a wonderful program, but I suggest a language like vala…
@Matt
same thing would happen if I go with Jasvascript and GObject’s introspection right? Out of most of the arguements here only a few were somehow backed up by good reasons!
I would like however if people tried it out and told me what they think too
+1 no mono
+1 javascript/GnomeIntrospection
Gnome is a community project, not a microsoft project.
Please, please, refrain from porting it to Mono. There are a lot of good things written in Python, but if you really want to move somewhere from it, consider Vala instead. GnomeIntrospection would be kewl, but it’s not popular yet, while Vala – you can see it from the comments – is quite well-known already.
Please no mono…
Don’t do it in mono. Use VALA, because this will be a core component of gnome3!
Mono is great, but this is not the right thing to use it for. Also, you will find it easy to code in Vala, if you like csharp.
I sincerely see things like that:
one person say: I want to change a thing that I dislike and I will use this, and others are pro or against.
What is cool on Vala:
- is already there
- have Genie for python like syntax
- it use gobject and introspection
What is not so cool to Vala:
- it is admittedly more beta than Mono
- have bad tools for leaks, etc. (to not say almost none)
- the best IDE for Vala for now seems to be MonoDevelop or gedit
What is cool on Mono:
- IDE works pretty well, by this I mean all: code completion, reference adding, importing from/to projects, etc.
- can be integrated easy with a test suite (MonoDevelop integrates with NUnit)
- have a decent debugger from Mono 2.0
- theoretically at least: a better memory manager (so no leaks, or not so much)
- easier to maintain (as
What is not so good:
- bashing against Mono as a Microsoft clone (I wonder why they did not bash in the past GCJ as being Sun’s clone, or yeah Sun is not so evil)
- Mono still lags against C pure code (or Vala’s) in pure performance numbers
- on old machines, mostly with the current GC, the pauses will make feel Mono apps to be sluggish
Taking the pure present, I would choose Mono: it is mature (or more mature than Vala) and is already a part of Gnome (from 2.16 with TomBoy). Thinking to future, I would chose Mono: it is commercially backed, as raw performance numbers, they gonna improve (like changing the GC algorithm, some tuning are still happening). Some language features do not match in Vala: generics works without specialization, there is no LinQ support, hard to write and extend as easy the code.
Picking Vala anyway I think it will be the close second as platform, the C + Gtk stuff makes me at least to love Qt and Mono… But I think at least to this happen is to make the Vala team to help porting and working around the bugs, elsewhere, there is no sense, you will start with half made product and you will see that many bugs which are regarding memory management will not work as good: there is a ownership management for memory, etc. which is nicer as is reference counted but not as great as automatically memory management provided by a GC.
I suggest to use vala, since zeitgeist will be part of gnome and good performances are welcomed.
Benchmark:
http://code.google.com/p/vala-benchmarks/wiki/BenchResults
Agreed on Vala: good perfs, friendly syntax.
+1!
I think forcing the use of Mono for a project like Zeitgeist is a bit overkill and even if I don’t really care about possible legal threats… you know.
Please use Vala. Mono is resource-hungry and slow, but we need a fast solution! Vala will be the GNOME programing language of the future and is already nice and easy.
Why not stick with Python?
Python, Vala, Javascript, whatever.
Not Mono.
Unfortunately, if, without any plausible reason (“every1 can code as he prefers” is not plausible, since learning python enough to fix a bug is much easier than learning to “code as every1 prefers” in Mono), you decided to move to Mono, despite what everybody suggests, I’m afraid you have your reasons (I really hope someone at Novell is paying you) and the Free Software community has lost another occasion to be unite and really free.
So do as you prefer, our opinion evidently doesn’t have that much influence. But please refrain from saying things as “bashing against Mono as a Microsoft clone”… the point is not the clone, but the patents, which are the last possibility for Microsoft to try to break the Free Software community. The best demonstration of that risk is that everybody writing in Mono, and in particular coming from Novell, omits this argument. Fortunately, someone doesn’t:
http://itmanagement.earthweb.com/osrc/article.php/12068_3812891_1/Bruce-Perens-Microsoft-and-TomTom-Settle-Justice-and-Linux-Lose.htm
@Pietro Battiston
We decided to stay with Python! Vala would be too GNOME oriented. Not that I have some thing against that but it is not as portable as python and mono!
Mono however although very appealing would just cause as much enemies as friends.
Python seems to me the way to go. As you said it is easier for people to jump into development using python by fixing bugs etc…
I think Python is somehow the middle ground and if I am not mistaken it is not that far away from boo or iron python.
So Python it is.
Lol, if you mind about startup speed, the first thing you _must_ do is to refuse from language with vm (java, mono, python and other interpreters).
And please – stop this project. It’s just a shit. Looks like functional languages vs imperative. Some things are slightly better, but there are things that is much harder and annoying – this is exactly your case (nautilus vs your shit).
@Angry Anonymous
Good for you that you know how to use the word “sh*t” in a sentence! Because of that I will stop the project!
Thanks, you would done well.
I would thank you more if you help me to stop idiotic gnome-shell. The reason is the same.
Seif, well, I admit I didn’t expect that. Thank you on behalf of all the community for your choice.
And sorry if in my former comment I wasn’t very trustful… today I have learned a lesson: never judge someone on the basis of the language he likes…
(… but only on the basis of the language he uses