Telepathic Flirt With Chromium
I tried to bring a prototype to provide IM/Chat support built-in to the Chromium browser. Watch the screencast below. Please click here in case you do not see the embedded video. Please see the video in full screen HD.
Under the Hood
- I have used Telepathy as the underlying library for implementing the basic chat support.
- The source code is mostly a prototype which will have to go through a rigorous design review and improved upon if you need to use it in a production machine. This is mostly to satisfy a personal itch and not of good quality yet.
- The patches are attached in the Chromium bug http://code.google.com/p/chromium/issues/detail?id=98990
- I chose Telepathy because it seem to provide the best implementation for XMPP 0174 protocol, Serverless Messaging, which was my primary aim. Also it is agreed upon by both GNOME and KDE. Isn't it something rare ;-) ?
- The heart of the code is only about 5 days old and is not of good quality yet.
- telepathy-glib has a C interface. Chromium is written using C++ . So, I wrote a TelepathyBridge class with static members to marshal the requests from Chromium to Telepathy and vice-versa. I wrote a TelepathyBean class to move across these layers. Also, there were ArattaiUI and ArattaiHandler classes to take care of the Chromium side of things (like registering a protocol, webui etc.) The user-interface you have seen is provided by the arattai.html and arattai.js files.
- I believe having IM support may be important for Chromium as IM is one of the important activities that could not be performed yet on the browser.
- There are things like webRTC which will form the future of communication. However, we still have dozens of protocols that work with existing clients which the browser should support (like support for Novell Groupwise, MSN, Office Communicator etc.)
- My personal opinion that, C++ is a needlessly complex language, strengthened. There are a dozen ways to do casting, smart pointers, const functions etc. but no native async/event support. I love C# as a programming language. Sadly C# does not seem to have an appealing future on Linux anymore.
- The guy who invented Javascript should have been a C++ programmer.
- Javascript typing can get on a C programmer's nerves
- Telepathy hackers in #telepathy are extremely helpful. Thanks a lot folks.
- Open source libraries in general have very poor documentation, if not backed by a company like Google.
- If Telepathy support has to be included into Chromium, it should be available in Windows too.
- Automatic memory management is bliss.
Hardware needed for openSUSE on ARM
openSUSE Conference 2011 Greek's Review
Talks & Workshops!
Everything was interesting. People couldn't decide which session to attend! There were many technical sessions from low-level development to kernel tools. There were marketing and social sessions, focused on how openSUSE can be spread all over the world! Packaging sessions weren't missing and they were detailed teaching the attenders how to create a package from scratch! There were interesting conversations like Robert Schwelkert’s talk, about “Where do we improve?” where we talked about the improvements that must be done at documentation, wiki, translations, Bugzilla and other stuff.
From the openSUSE Conference couldn't be missing the openSUSE project meeting where we discussed about the upcoming elections and the status of openSUSE Foundation and a number of interesting development ideas about the distribution.
The one presentation to remember was by Gregory Zysk about “Introduction to Cross-Cultural Communication, Conflict and Collaboration. After presenting his model of cross-cultural communication model and his ambitions, he made an awesome test... He made everyone in the room pick a mate that he hadn't worked with him at all or get to know and after he gave us two papers of different scenarios he made us conflict and find a common solution to solve the scenario!
Furthermore, from the openSUSE conference couldn't be missing the incredible openSUSE women! There was a conversation about “How to get more Women into openSUSE” by Lydia Pintscher of KDE who talked about the difficulties that women face in a community and how can a community attract and get more women.
Moreover, there were interesting presentations based on openSUSE sub-projects like Education, and Tumbleweed. Also, there was a topic about openSUSE in commercial, and especially for enterprise and other services which gives us the impression that openSUSE is spreading and deployed everywhere!Last but not lease, there were “Lighting Talks” from people of openSUSE and other communities, introducing themselves, talk about their jobs, their hobbies, their interests and in general talk about their everyday life.
Have a lot of fun!
Every day was different! The beautiful decorated location and the German beergarden was perfect for geekos to have fun. There were different happenings everyday after the sessions were over. “Pizza Party” with many pizzas and beers, “Barbeque Party” with sausages and other meet, “Rodeo Texas Party” with poker tables and bull riding, different live concerts with interesting music like the “8bit Music concert” where the music came from tweaked GAME BOYS. Last, it was awesome that we went at a city nearby to see the man that made us the “Old Toad” openSUSE beer! We were guided in the factory rooms and saw how beer is made. After that, we ate local food and drunk local beer at the local restaurant where we stayed there till late at night discussing, drinking beer and having fun!
Summary
We are happy that we participated at the openSUSE Conference successfully. People from all over the worlds were there in order to meet the geekos and attend the sessions. Thanks to our sponsors, we had a great internet connection and many parties and happenings for geekos to attend.
You can also read the daily reports from Greeks.
Greek openSUSE community, Translation of openSUSE Weekly news in Greek (issue 194)

Hello everyone!
I am very pleased to announce the new issue (194) of openSUSE Weekly News in Greek.
In this issue you will read about:
* SUSE Hackweek 7 – Next Week
* Thomas Schmidt: openFATE News
* Koudaras Konstantinos: Systemd is being removed from Tumbleweed
* Petr Baudis: Realtime Signal Analysis in Perl
* The VAR Guy: SUSE Linux Prepares Partner, Customer Surprises
As well as many interesting news about openSUSE and useful advice, which can make our lives easier.
Enough said though... Read more at: http://own.opensuse.gr, http://el.opensuse.org/Weekly_news or www.os-el.gr
We are always looking forward to receiving your comments as well as suggestions regarding things you would like to read about in our next issue.
The openSUSE Weekly News is being translated in the Greek language from issue #150. You can read older translated issues here: http://el.opensuse.org/Κατηγορία:Weekly_news_issues
Enjoy it!
Efstathios Agrapidis (efagra)
openSUSE 12.1 Beta testing
So it's openSUSE 12.1 Beta 1 testing time !
Before filing new bugs, make sure you search for existing bugs first.
If you're as annoyed by Bugzilla's search interface as I am, you can use this page to search for 12.1 Beta 1 bugs: just type in keywords and done.
The page also has an opensearch descriptor in order to add 12.1 Beta bug search to the list of search engines in your favorite browser.
Learning about Connect openSUSE
In the wiki page about it there is more about technical details then about social aspects, which is not surprising:
- Guys that created it are technicians, software developers, that know how to handle code and have a lot to say about it, but they seldom have great popularization skills, like marketing guys. I like this way, as being popular in the software world doesn't relate always to a good code,
- Wiki article was written when Connect was in initial stages without many add on features (plugins) it has now, so it is time to take a new look at it.
- Comment on existing layout and features.
- Propose new ones, specially if you, or someone that you know, can code and come up with working solution, or at least something that is easy to adjust to Connect.
Terrible Vagrant/Virtualbox performance on Mac OS X
I recently started using Vagrant to test our auto-provisioning of servers with Puppet. Having a simple-yet-configurable system for starting up and accessing headless virtual machines really makes this a much simpler solution than VMware Fusion. (Although I wish Vagrant had a way to take and rollback VM snapshots.)
Unfortunately, as soon as I tried to really do anything in the VM my
Mac would completely bog down. Eventually the entire UI would stop
updating. In Activity Monitor, the dreaded kernel_task was taking
100% of one CPU, and VBoxHeadless taking most of another. Things
would eventually free up whenever the task in the VM (usually apt-get install or puppet apply) would crash with a segmentation fault.
Digging into this, I found an ominous message in the VirtualBox logs:
AIOMgr: Host limits number of active IO requests to 16. Expect a performance impact.
Yeah, no kidding. I tracked this message down to the “Use host I/O cache” setting being off on the SATA Controller in the box. (This is a per-VM setting, and I am using the stock Vagrant “lucid64” box, so the exact setting may be somewhere else for you. It’s probably a good idea to turn this setting on for all storage controllers.)
When it comes to Vagrant VMs, this setting in the VirtualBox UI is not very helpful, though, because Vagrant brings up new VMs automatically and without any UI. To get this to work with the Vagrant workflow, you have to do the following hacky steps:
- Turn off any IO-heavy provisioning in your Vagrantfile
-
vagrant upa new VM -
vagrant haltthe VM - Open the VM in the VirtualBox UI and change the setting
- Re-enable the provisioning in your Vagrantfile
-
vagrant upagain
This is not going to work if you have to bring up new VMs often.
Fortunately this setting is easy to tweak in the base box. Open up
~/.vagrant.d/boxes/base/box.ovf and find the StorageController node.
You’ll see an attribute HostIOCache="false". Change that value to
true.
Lastly, you’ll have to update the SHA1 hash of the .ovf file in
~/.vagrant.d/boxes/base/box.mf. Get the new hash by running
openssl dgst -sha1 ~/.vagrant.d/boxes/base/box.ovf and replace the
old value in box.mf with it.
That’s it. All subsequent VMs you create with vagrant up will now
have the right setting.
Update
Thanks to this comment on a Vagrant bug report you can enable the host cache more simply from the command-line for an existing VM:
VBoxManage storagectl <vm> --name <controllername> --hostiocache on
Where <vm> is your vagrant VM name, which you can get from:
VBoxManage list vms
and <controllername> is probably "SATA Controller".
The VM must be halted for this to work.
You can add a section to your Vagrantfile to do this when new VMs are created:
config.vm.provider "virtualbox" do |v|
v.customize [
"storagectl", :id,
"--name", "SATA Controller",
"--hostiocache", "on"
]
end
And for further reading, here is the relevant section in the Virtualbox manual that goes into more detail about the pros and cons of host IO caching.
Target ARM Hardware
1001 bugs - or: the golden rules of bad programming
If you missed my talk at the openSUSE conference or want to see the slides (including notes) again - here we are:
1001 bugs - or: the golden rules of bad programming as PDF
(If you need an editable LibreOffice file, just drop me a note.)
FOSDEM 2012: call for devrooms
So here we go again, FOSDEM, the largest and coolest open source contributor event in Europe is prepping up for its 2012 edition.
I've just opened the Call for Developer Rooms, the deadline for submissions is 2011-10-27.
Other call-for-stuffs will open very soon (lightning talks, stands, main tracks).
