Enterprise Social Search is a way to search, manage, and share information within a company. Who can help you find relevant information and nothing but relevant information? Your colleagues, of course
Archive for the ‘Software’ Category
I’ve been working wit git lately but I have also missed the darcs user interface. I honestly think the darcs user interface is the best I’ve ever seen, it’s such a joy to record/push/pull (when darcs doesn’t eat your cpu)
I looked at
git add --interactive because it had hunk-based commit, a pre-requisite for
darcs record-style commit, but it has a terrible user interface, so i just copied the concept: running a
git diff, filtering hunks, and then outputing the filtered diff through
git apply --cached.
It supports binary diffs, file additions and removal. It also asks for new files to be added even if this is not exactly how darcs behave but I always forget to add new files, so I added it. It will probably break on some extreme corner cases I haven’t been confronted to, but I gladly accept any patches
Here’s a sample session of
$ git-darcs-record Add file: newfile.txt Shall I add this file? (1/1) [Ynda] : y Binary file changed: document.pdf Shall I record this change? (1/7) [Ynda] : y foobar.txt @@ -1,3 +1,5 @@ line1 line2 +line3 line4 +line5 Shall I record this change? (2/7) [Ynda] : y git-darcs-record @@ -1,17 +1,5 @@ #!/usr/bin/env python -# git-darcs-record, emulate "darcs record" interface on top of a git repository -# -# Usage: -# git-darcs-record first asks for any new file (previously -# untracked) to be added to the index. -# git-darcs-record then asks for each hunk to be recorded in -# the next commit. File deletion and binary blobs are supported -# git-darcs-record finally asks for a small commit message and -# executes the 'git commit' command with the newly created -# changeset in the index - - # Copyright (C) 2007 Raphaël Slinckx # # This program is free software; you can redistribute it and/or Shall I record this change? (3/7) [Ynda] : y git-darcs-record @@ -28,6 +16,19 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# git-darcs-record, emulate "darcs record" interface on top of a git repository +# +# Usage: +# git-darcs-record first asks for any new file (previously +# untracked) to be added to the index. +# git-darcs-record then asks for each hunk to be recorded in +# the next commit. File deletion and binary blobs are supported +# git-darcs-record finally asks for a small commit message and +# executes the 'git commit' command with the newly created +# changeset in the index + + + import re, pprint, sys, os BINARY = re.compile("GIT binary patch") Shall I record this change? (4/7) [Ynda] : n git-darcs-record @@ -151,16 +152,6 @@ def read_answer(question, allowed_responses=["Y", "n", "d", "a"]): return resp -def setup_git_dir(): - global GIT_DIR - GIT_DIR = os.getcwd() - while not os.path.exists(os.path.join(GIT_DIR, ".git")): - GIT_DIR = os.path.dirname(GIT_DIR) - if GIT_DIR == "/": - return False - os.chdir(GIT_DIR) - return True - def git_get_untracked_files(): Shall I record this change? (5/7) [Ynda] : y # On branch master # Changes to be committed: # (use "git reset HEAD file..." to unstage) # # modified: document.pdf # modified: foobar.txt # modified: git-darcs-record # new file: newfile.txt # # Changed but not updated: # (use "git add file file..." to update what will be committed) # # modified: git-darcs-record # What is the patch name? Some cute patch name Created commit a08f34e: Some cute patch name 4 files changed, 3 insertions(+), 29 deletions(-) create mode 100644 newfile.txt
Get the script here: git-darcs-record script and put in somewhere in your $PATH. Any comments or improvements is welcome !
Here’s what it looks like:
The right-hand panel contains a number of megaphone applet instances, one for each contact I often talk to. If I click on the avatar (or the generic contact icon) it creates a text chat. The beauty of Telepathy is that the text chat will be handled by my favorite text chatting application, in this case Empathy itself, but it could be konqueror or whatever other program capable of handling text chats.
The first time the applet is added, you can choose a contact to be displayed. The contact chooser re-uses the empathy contact list as found in libempathy-gtk. Simply find your contact in the list, click ok and you’re set.
The applet also offers an ‘Information’ dialog, taken again from libempathy-gtk that allows you to view and edit the contact vcard, and edit the groups to which it belongs.
And amazingly, the applet only has 570 lines of C code and that includes the gobject and applet boilerplate…
In completely unrelated and old news, we got our traditional gourmet restaurant with vincent, xavier and cédric at Birmingham. Delightful!
Vincent certainly seems to enjoy the moment !
This wednesday our local louvain-la-neuve LUG (louvain-li-nux) will participate to a student fair showcasing all activity groups present in the university. We had the idea of creating a photo booth stand where people can stop by take a picture by pressing a button and then send that picture on a dynamic website or on a big projector live. All this using free software of course. It’s a good way to engage conversation with people!
I searched the internet for something existing but unfortunately couldn’t find anything except this little snippet of code for the Nokia 880 device. I took the code, embraced and extended it resulting in:
Basically it uses gstreamer to grab frames from the webcam then it feeds a double pipeline, one displaying the image on screen on the gtk widget, and the other allowing to take a buffer when the user clicks the button and encode it to whatever image format is needed.
There is of course the little countdown from 3 to ‘Smile’ when clicking the button, and i plan to add the white screen thingy when the shot is made.. I think apple can sue me right away
The code will be released next week after the application has been proved in the field to be stable enough
Gossip has now video/audio capabilities !
Coming soon in your favorite distribution. Notes:
- In reality I’m handsome, the weird face is due to the camera’s angle
- The black square is actually the video preview frame where you see yourself (but it can’t be screenshotted)
- The meters aren’t working yet
- If no video is possible, then only the button+status and the meters are shown in the window
- All this is powered by Telepathy and the telepathy branch of Gossip
- I’m not alone on this stuff, many thanks to Xavier Claessens and Eitan Isaacson for maintaining the telepathy branch!
- This stuff is experimental, blabla, and also it’s not a final design, it’s open for discussion, etc
- Come and help/discuss on
#telepathyon Freenode or
You can get the code using
darcs get http://www.gnome.org/~rslinckx/darcs/gossip-telepathy-voip
Merry Christmas and Hapy New Year !
You are probably aware of the Google Code Search. It’s a very neat tool.
How hard is it to parse the 1000′s of valid emails appearing in the source code file ?
Do a code search for
Then use this shell script (Stupid wordpress do some funky escaping stuff with my html..)
Rinse and Repeat with page 2 of 4150000..
As Mikkel “Kamstrup” noted on his blog, bug hunting is all about attitude.
Here is mine:
Note how the photographer interrupted the bug-fixer, forcing him to simulate a smile.
Also note the reference manual in case the man pages are missing.
What’s your bug hunting attitude ?
To make it short, here is a summary of the killer features in epiphany 2.14
- Easy RSS subscription, integration with gnome programs (liferea, blam, straw)
- “Tagged” Bookmarks management (very Web 2.0)
- Adblock extension working out of the box
- HIG and gnome integration everywhere
- Simple and easy to understand preferences
- Light and responsive
- Very few popups, unobtrusive error pages are used instead
…but he missed the deskbar integration, which i will fix now:
- Deskbar will index and allow to search through bookmarks
- Deskbar will index and allow to search through your browsing history
- Deskbar will allow you to quickly search using epiphany smart bookmarks
This is my epiphany toolbar, i have three smart bookmarks, one to search for gnome bug number, another one to search stock quotes by ticker symbol, and the last one is google.be search
This is the epiphany dropdown when i stype somehting in epiphany URL bar, allowing me to use one of my smart bookmark with the query. Here i’m searching for a random bug number
And finally, i can use deskbar, even if the browser isn’t running, a keyboard shortcut away, to use my smart bookmarks. Here i’m going to search for yahoo quotes for GOOG symbol. Also note how i have history pages, and bookmarks appearing too, allowing me to quickly open them.
There is also a way to associate a keyboard shortcut to search engines, and/or a ‘keyword’ in deskbar preferences:
In deskbar preferences, when you select ‘Web searches’, you can click the ‘More…’ button to get more smart bookmarks preferences.
As you can see, i have the ‘g’ letter for google, which means i can type in deskbar
g test to search in google the term ‘test’.
Even better, i can directly use the shortcut to open the term in google without even selecting it in the list: I type ‘test’, then hit
Alt-g, and it fires up a google search (this of course only works when you have a one-letter keyword)
This is also a feature we want to extend for every possible action in future versions of deskbar.
Now, use epiphany, and be happy !
One last thing…
And finally a quick tip: if you want to open a command-line program and see it’s output, type it’s name and instead of selecting it in the list, hit
Alt-t, it will start the program and redirect it’s output in a text window using zenity, useful for example to see if the command executes successfully.
After launching a sitecopy command with alt-t, i receive the output of the command in a nice window, useful for quick commands like that.
Deskbar and beagle screencast
Following up to my previous post, Bjørn Haagensen – a long time deskbar tester – has contributed a screencast of deskbar and beagle integration, this time in GIF (made with byzanz).
Warning: the screencast is eating all my RAM, so i can’t view it. I guess i can blame gecko for that.. YMMV
Call for volunteers
Someone recently asked in deskbar-applet-list if someone could help improve the mailman system they use at gnome.
I just recently joined the Gnome Moderator Team which handles
moderation requests for all of the Gnome Projects mailing lists. As
most of you know, we use mailman to manage this, which is written in
We have had a nagging issue for sometime now, where each list that
needs an e-mail approved or denied must be visited and handled
individually. Not a big deal until a spammer hits every gnome mailing
list with a message that must be binned, and we are forced to login to
the same page and click the same 3 buttons a hundred times.
A ‘unified moderation panel’ has long been a wish of ours [...]
You can find the full mail here. It’s a great way to get started in the gnome community, if you know python. GO !
Contact moderator gnome org is your contact to get started on this, specify the mail or something in the mail so they get what you are talking about. (And don’t forget to replace spaces with appropriate @ and .)