>>> def itsimportant(thing):
... print "why isn't", thing, "implemented, it's really important"
...
>>> [itsimportant(x) for x in ["video", "audio", "backgrounds", "games"]]
why isn't video implemented, it's really important
why isn't audio implemented, it's really important
why isn't backgrounds implemented, it's really important
why isn't games implemented, it's really important
We know there are features not implemented, we know you think they are pretty basic and they should be available for emesene to be a "serious" project.
But as you may know, we develop emesene because we like to, in our free time, for free, so when we can we try to implement the basic things missing and improve the project.
all multimedia stuff is really hard and platform dependent so even when emesene 1.6 has video support we get a lot of "my webcam doesn't work", "it's slow", "why not audio" etc.
Not only is hard, it also breaks with new versions, so all your time invested goes through the window when MS thinks it's fun t break everything. See here for more information.
if you can help in any way then do it, but please understand that we know what is missing and that is important.
saying things like "I would use emesene if it has X" won't make us run and implement it, because our time is limited and we don't like that kind of pressure.
we try to make emesene awesome, if you think emesene could be better then you can hire the main developers, they will work full time and will have to implement that features because that is what they are paid for ;)
one last so you understand: I don't even use the msn network since 2 years ago, so I'm not even developing something I use (I use emesene 2 with the jabber support only). So I'm developing features that I won't use just for you to have a nice alternative to MSN on linux. This should give you an idea of how much we like emesene to be awesome, even when I don't use almost all the features it has.
Tuesday, May 18, 2010
Wednesday, May 05, 2010
making the wheel spin again
hi! remember me? remember this project?
well, I've been busy lately (now I'm an engineer :) and this days I started using emesene 2 with the jabber backend so I force myself to fix bugs and improve it.
I started fixing some bugs but I noted that the project was a little stalled on github.
As any project we can't depend on the time or willing to code of one person (not just me, I'm taling about cloud, cando, and all the other people that help regularly), so we need to get more people willing to help us making emesene 2 the best IM client around.
That means that if you can try it, test it, find bugs and hopefully fix them, then you should, and if you want to go an extra mile, please talk about this project wherever you can so we may reach people willing to help us.
right now I fixed some bugs regarding adium themes, loading preferences and extensions, an exception while connection to jabber and some smaller ones. But we can't depend on one coder so if you are willing to help, then jump on board.
any question you have on how to collaborate, leave a comment or go to the forum and make some noise about emesene 2.
well, I've been busy lately (now I'm an engineer :) and this days I started using emesene 2 with the jabber backend so I force myself to fix bugs and improve it.
I started fixing some bugs but I noted that the project was a little stalled on github.
As any project we can't depend on the time or willing to code of one person (not just me, I'm taling about cloud, cando, and all the other people that help regularly), so we need to get more people willing to help us making emesene 2 the best IM client around.
That means that if you can try it, test it, find bugs and hopefully fix them, then you should, and if you want to go an extra mile, please talk about this project wherever you can so we may reach people willing to help us.
right now I fixed some bugs regarding adium themes, loading preferences and extensions, an exception while connection to jabber and some smaller ones. But we can't depend on one coder so if you are willing to help, then jump on board.
any question you have on how to collaborate, leave a comment or go to the forum and make some noise about emesene 2.
Friday, March 12, 2010
new attemp at an old project
do you want to try something new? do you have a cool place to recommend? help me to add new cool places in http://pleinu.appspot.com (advices/complaints are welcome)
this time it starts from the basics and will grow according to your feedback
for the geeks like me, it's made with python over google appengine using tubes*
* http://a-series-of-tubes.appspot.com/ and http://github.com/marianoguerra/tubes
this time it starts from the basics and will grow according to your feedback
for the geeks like me, it's made with python over google appengine using tubes*
* http://a-series-of-tubes.appspot.com/ and http://github.com/marianoguerra/tubes
Wednesday, March 03, 2010
Friday, February 19, 2010
facebook chat on emesene 2
really experimental but it works (sort of)
the day that facebook announced support for jabber on facebook chat I made some changes on emesene 2 to make possibly to use emesene to chat on the facebook network. It wasn't so hard thanks to how awesome xmpp (jabber) is.
I added the possibility to parametrize host and port on preferences and now it's possible to chat through jabber on any server (that means, gtalk, facebook chat, jabber itself and I think AIM too).
the things that works:
thins that work some time: status update of the contacts
things that don't work: all the others :D
I will try to bring the jabber support up to date.
to connect follow this guide: http://www.facebook.com/sitetour/chat.php
the day that facebook announced support for jabber on facebook chat I made some changes on emesene 2 to make possibly to use emesene to chat on the facebook network. It wasn't so hard thanks to how awesome xmpp (jabber) is.
I added the possibility to parametrize host and port on preferences and now it's possible to chat through jabber on any server (that means, gtalk, facebook chat, jabber itself and I think AIM too).
the things that works:
- log in
- list contacts
- chat
thins that work some time: status update of the contacts
things that don't work: all the others :D
I will try to bring the jabber support up to date.
to connect follow this guide: http://www.facebook.com/sitetour/chat.php
what are you listening?

I think the plugin that most people may use according to how many mails I get with that subject is the "current song" plugin.
So to start polishing the plugin system on emesene 2 I decided to implement the "music" plugin, that is like "current song" but on emesene 2.
you can see the code here:
http://github.com/marianoguerra/emesene/tree/master/mesinyer/plugins/music/
basically you have to create a file called handler_<your music player name here>.py and copy the content of handler_mpd.py replacing the body of the functions for the code required to do those actions on your preferred music player, after you finished that, change the last line:
songretriever.register('mpd', Handler())
by changing 'mpd' for the name of your player and then add a line at the bottom of the songretriever.py file to import your module.
and that's all!
please if you want to contribute a handler for this plugin use pylint on the file before sending it to me, code quality is one of the goals on emesene 2 :)
Thursday, January 28, 2010
MSN protocol resources
Someone asked me about which resources do I use to implement the MSN protocol library on emesene, so I will write them down here so anyone interested can start playing with it.
a wiki about the protocol
http://msnpiki.msnfanatic.com/index.php/Main_Page
an outdated wiki about the protocol
http://www.hypothetic.org/docs/msn/
a forum to ask when something is not working for you:
http://forums.fanatic.net.nz/index.php?showforum=91
if you want to do some reverse engineering you should use ospy (windows only, to hook to Windows Live messenger)
http://code.google.com/p/ospy/
more generic and multiplatform
http://www.wireshark.org/
happy hacking!
a wiki about the protocol
http://msnpiki.msnfanatic.com/index.php/Main_Page
an outdated wiki about the protocol
http://www.hypothetic.org/docs/msn/
a forum to ask when something is not working for you:
http://forums.fanatic.net.nz/index.php?showforum=91
if you want to do some reverse engineering you should use ospy (windows only, to hook to Windows Live messenger)
http://code.google.com/p/ospy/
more generic and multiplatform
http://www.wireshark.org/
happy hacking!
Saturday, January 16, 2010
my other projects
here is a list of my other projects, maybe you may find some of them useful:
efene: website, code, blog
efene is a programming language with a C-like syntax for the erlang virtual machine, I created it to make it easier for people to go from "traditional" languages to erlang (BTW erlang rules :P)
tubes: website, code
a really small framework to create websites and REST APIs without to much code, it takes the repetitive code out, it also contains some code to generate repetitive js code for the models and the REST APIS, and to test the APIs.
travlr.in: website
a site that is like a wikipedia for cool places, you create a "spot" put information about it, add events, comments, associate links, images, videos. The idea is to go there to search for cool places around you whether you are on a new place or just want to look for interesting stuff around you. It can be also be used to search for more common stuff like shops, pharmacies etc.
webless: code, screenshot
a really small project that I had based on an idea about doing server side rendering and filtering using jquery, basically you put an url, and write some javascript (you can use jquery and json2.js libraries) you can modify the site with javascript as you wish, the result is returned to you. If you find the "mashup" useful you can save it and you have an URL to load the content. Imagine extracting the weather, currency, or headlines from a site to be used by another or some stuff like that.
repiola: website and code
repiola is a small desktop and mobile app to make programs with an assembly style syntax that draw in a surface, I made it to play with something on my phone while waiting for something.
if you find some of it useful, want to report bugs or something like that, just contact me luismarianoguerra in gmail.
efene: website, code, blog
efene is a programming language with a C-like syntax for the erlang virtual machine, I created it to make it easier for people to go from "traditional" languages to erlang (BTW erlang rules :P)
tubes: website, code
a really small framework to create websites and REST APIs without to much code, it takes the repetitive code out, it also contains some code to generate repetitive js code for the models and the REST APIS, and to test the APIs.
travlr.in: website
a site that is like a wikipedia for cool places, you create a "spot" put information about it, add events, comments, associate links, images, videos. The idea is to go there to search for cool places around you whether you are on a new place or just want to look for interesting stuff around you. It can be also be used to search for more common stuff like shops, pharmacies etc.
webless: code, screenshot
a really small project that I had based on an idea about doing server side rendering and filtering using jquery, basically you put an url, and write some javascript (you can use jquery and json2.js libraries) you can modify the site with javascript as you wish, the result is returned to you. If you find the "mashup" useful you can save it and you have an URL to load the content. Imagine extracting the weather, currency, or headlines from a site to be used by another or some stuff like that.
repiola: website and code
repiola is a small desktop and mobile app to make programs with an assembly style syntax that draw in a surface, I made it to play with something on my phone while waiting for something.
if you find some of it useful, want to report bugs or something like that, just contact me luismarianoguerra in gmail.
Closing issues
I added the "No group" to group all the users that are not in a group (duh!).
I added the option to group all the offline users inside a special group.
Also added Ctrl+Esc and Ctrl+Tab shortcuts on the conversation window.
thanks to cando who started contributing code.
Now start testing and contributing!
I added the option to group all the offline users inside a special group.
Also added Ctrl+Esc and Ctrl+Tab shortcuts on the conversation window.
thanks to cando who started contributing code.
Now start testing and contributing!
Wednesday, January 06, 2010
emesene 1.6 - "mate" has been released!
With loads of bugfixes, gui awesomeness and the new year here comes the new release of your beloved msn client:
- Improved gui usability
- New preference window (arielj, ukblacknight, nicolaide, mehd36)
- Implemented nick and personal message roaming (pablo)
- Fixed tons of bugs all around the code (we're too lazy to write 'em all)
This time, even if the changes are big, the changelog is very small: while we make emesene better we're looking towards emesene2 (if you're not reading the blog, do it!) and we need all your support in order to bring our beloved program to a new level :)
You can cooperate with the emesene team in any way you want:
- New features
- Bug fixes/reports
- Plugins
- Translations
- Themes
- Support to other users
- Spreading the word
Tuesday, December 29, 2009
lolwut
I just tried emesene 2 on a windows machine and it worked :D
I never tested it until today and seems to run fine except for a bug with some code loading emoticons on the conversation window.
some screenshots




for the people that want to try, I installed
python 2.5.4
and
http://www.bonifazi.eu/appunti/2008/04/pygtk-all-in-one-installer.html
then downloaded a zip of the git repo and it worked :D
I never tested it until today and seems to run fine except for a bug with some code loading emoticons on the conversation window.
some screenshots
for the people that want to try, I installed
python 2.5.4
and
http://www.bonifazi.eu/appunti/2008/04/pygtk-all-in-one-installer.html
then downloaded a zip of the git repo and it worked :D
Saturday, December 26, 2009
Bugs/Requests here for emesene 2.0
Since I need some hints on where to work on emesene 2.0 I want you to post feature requests and bug reports here:
http://github.com/marianoguerra/emesene/issues
we had troubles with trac and redmine lately so I want something easy and not on our servers. We will see how it works.
please check if the bug/request is already there to avoid duplication (I have to work when someone makes a duplicate request, so less time coding :D)
http://github.com/marianoguerra/emesene/issues
we had troubles with trac and redmine lately so I want something easy and not on our servers. We will see how it works.
please check if the bug/request is already there to avoid duplication (I have to work when someone makes a duplicate request, so less time coding :D)
the time has come
to start coding for emesene 2 again.
now with less responsibilities and some free time I will start to code again. Today I started adding support for storing and retrieving nick and personal message from/to the server so those are retrieved no matter where you are.
I fixed the bug that didn't changed the status on login, a bug that didn't remembered the nick/pm when the main windows was redrawn and some other small bugs, I also merged with c10ud's repo.
Finally I made the code work on python 2.5 since that is the default on debian squeeze.
I you find some annoying bugs let me know, I will try to fix them ASAP.
now with less responsibilities and some free time I will start to code again. Today I started adding support for storing and retrieving nick and personal message from/to the server so those are retrieved no matter where you are.
I fixed the bug that didn't changed the status on login, a bug that didn't remembered the nick/pm when the main windows was redrawn and some other small bugs, I also merged with c10ud's repo.
Finally I made the code work on python 2.5 since that is the default on debian squeeze.
I you find some annoying bugs let me know, I will try to fix them ASAP.
Thursday, November 12, 2009
adium styles FTW
today I finished hacking a first working version of adium styles. I started this as a separated project so other projects (like AMSN2) can use it, it's located here: http://github.com/marianoguerra/pyadium-themes
any contribution is more than welcome.
to show you the status a nice screenshot (but you can try it for yourself).
any contribution is more than welcome.
to show you the status a nice screenshot (but you can try it for yourself).
Tuesday, November 10, 2009
I'm alive
so, lot of time since my last post, pretty busy right now, but I will have more time in the next weeks/months.
today I fixed some annoyances on emesene 2 related to webkit errors, the contact list not having ellipsize support and a lot of notifications when using the jabber backend.
but this post isn't to talk about those fixes (despite the fact that they are useful :D)
I created a new project separated from emesene 2 (that will be used by it) to handle the famous and now defacto standard to define conversation themes: adium themes.
this project is separated since it could be useful for other projects like amsn2 or someone who would like to create something like gwibber.
the project was created a moment ago and it doesn't have code, but if you want to help us then it will :D.
the first thing to do is to read the adium documentation on themes:
http://trac.adium.im/wiki/CreatingMessageStyles
and then download some themes and see how they are structured.
the idea is to make a module to load/download/validate adium themes and another to allow using them on webkit.
if you want to help, start reading and join the emesene mailing list so we can define the structure and other stuff.
today I fixed some annoyances on emesene 2 related to webkit errors, the contact list not having ellipsize support and a lot of notifications when using the jabber backend.
but this post isn't to talk about those fixes (despite the fact that they are useful :D)
I created a new project separated from emesene 2 (that will be used by it) to handle the famous and now defacto standard to define conversation themes: adium themes.
this project is separated since it could be useful for other projects like amsn2 or someone who would like to create something like gwibber.
the project was created a moment ago and it doesn't have code, but if you want to help us then it will :D.
the first thing to do is to read the adium documentation on themes:
http://trac.adium.im/wiki/CreatingMessageStyles
and then download some themes and see how they are structured.
the idea is to make a module to load/download/validate adium themes and another to allow using them on webkit.
if you want to help, start reading and join the emesene mailing list so we can define the structure and other stuff.
Friday, October 16, 2009
Emesene 2.0 alpha :)
this week I gave emesene some coding love, to sum up:
and now I want you to start testing it, reporting bugs (in this post by posting comments), and asking for small features or fixes (no p2p, webcam, audio, background sharing and the like yet).
happy testing & commenting
- don't fail if papyon is not available
- fixed some small bugs
- enhanced the Plus parser to handle weird utf-8 nicks
- refactoring made to remove all reference to gui on e3 code
- added a button to show/hide the calendar on the chat history window
- finally removed the e3common folder
- enhanced the look of the plugin window
- fixed a bug that made X crash because of an infinite loop displaying error messages
and now I want you to start testing it, reporting bugs (in this post by posting comments), and asking for small features or fixes (no p2p, webcam, audio, background sharing and the like yet).
happy testing & commenting
Friday, October 09, 2009
I want to get the code of emesene 2
Some people is asking where is emesene 2 code available.
well, it's not on svn like emesene 1.x, since the start of emesene 2 we are using git and the code is located at github.
what is git?
simply explained it's a distributed version control system, that means that it allows people having their own repositories.
why would you want that?
anyone that want's to start coding something new can "clone" (copy) a repository and start working on it doing local commits and pushes, people can watch the repository, get the code, test it play with it and even clone it. When it's done this user can ask other programmers to "pull" (get) his code into their repositories. That makes the main repository stable and allow people to try new things and show them.
imagine also that I go crazy and start to port emesene 2 to whitespace, people can clone the latest sane version of emesene and keep coding from there.
also, you can follow experimental branches if you want, or clone the code to play with it.
why git?
I made a poll some time ago and git won :)
so where is the code?
the main repositories are mine and the on from boyska and dxdx they are here:
http://github.com/marianoguerra/emesene
http://github.com/boyska/emesene
http://github.com/dequis/emesene
nice, how do I *really* get the code?
you can click the download button or you can clone the repository using git
firts install it:
sudo aptitude install git-core
or similar for other distros..
then clone the repo
git clone git://github.com/marianoguerra/emesene.git
you can update periodically doing
git pull
edit:
I fixed the problem appearing when papyon wasn't installed, if it's not available the papyon extension will be disabled, try cloning again my repo or updating it.
if you want the papyon extension (to see display pictures) you will have to install it from here:
http://launchpadlibrarian.net/31746931/python-papyon_0.4.2-1%7Eppa9.04%2B1_all.deb
well, it's not on svn like emesene 1.x, since the start of emesene 2 we are using git and the code is located at github.
what is git?
simply explained it's a distributed version control system, that means that it allows people having their own repositories.
why would you want that?
anyone that want's to start coding something new can "clone" (copy) a repository and start working on it doing local commits and pushes, people can watch the repository, get the code, test it play with it and even clone it. When it's done this user can ask other programmers to "pull" (get) his code into their repositories. That makes the main repository stable and allow people to try new things and show them.
imagine also that I go crazy and start to port emesene 2 to whitespace, people can clone the latest sane version of emesene and keep coding from there.
also, you can follow experimental branches if you want, or clone the code to play with it.
why git?
I made a poll some time ago and git won :)
so where is the code?
the main repositories are mine and the on from boyska and dxdx they are here:
http://github.com/marianoguerra/emesene
http://github.com/boyska/emesene
http://github.com/dequis/emesene
nice, how do I *really* get the code?
you can click the download button or you can clone the repository using git
firts install it:
sudo aptitude install git-core
or similar for other distros..
then clone the repo
git clone git://github.com/marianoguerra/emesene.git
you can update periodically doing
git pull
edit:
I fixed the problem appearing when papyon wasn't installed, if it's not available the papyon extension will be disabled, try cloning again my repo or updating it.
if you want the papyon extension (to see display pictures) you will have to install it from here:
http://launchpadlibrarian.net/31746931/python-papyon_0.4.2-1%7Eppa9.04%2B1_all.deb
Saturday, September 26, 2009
[OT] announcing a new project that might interest you
hi, this is a little off topic, but I want to announce my new project here because there are some of you who like to code in python.
my new project is a small python library (or framework if you like it more buzzword compliant) to make it easy to build REST APIs and websites based on REST (what some people call web 2.0 or ajax...)
the page is self hosted here:
http://a-series-of-tubes.appspot.com/
I hope you like it :)
my new project is a small python library (or framework if you like it more buzzword compliant) to make it easy to build REST APIs and websites based on REST (what some people call web 2.0 or ajax...)
the page is self hosted here:
http://a-series-of-tubes.appspot.com/
I hope you like it :)
Thursday, September 24, 2009
avatar support
thanks to the papyon backed implemented by otacon and c10ud I had to add support for display pictures on mesinyer (and e3).
I added cache support for avatars and custom emoticons and display of avatars on contact list and conversation window. All this code will work out of the box for e3.msn when p2p is implemented (dx...)
also a combo and loading gif were added to the login window by c10ud.
a screecast is worth a 1000 screenshots and 1000^2 words....
I added cache support for avatars and custom emoticons and display of avatars on contact list and conversation window. All this code will work out of the box for e3.msn when p2p is implemented (dx...)
also a combo and loading gif were added to the login window by c10ud.
a screecast is worth a 1000 screenshots and 1000^2 words....
Subscribe to:
Posts (Atom)


