Posted on December 30, 2009 - by jono
Announcing Acire
After a wonderful week in England with family celebrating Christmas, Erica and I flew home to the East Bay. We were sat at Heathrow having a cup of coffee and I was thinking of what I occupy myself with on the plane ride over. Unfortunately, Lernid hacking was out of the question as I had no net connection on the plane, so I got to thinking of something else. After some busy hacking time at 35,000 feet I am proud to show of the results of my labor: a little program called Acire.
Let me provide a bit of an introduction.
I love Python and I love PyGTK and as I have waxed lyrical about recently, I am passionate about how tools such as Quickly are lowering the bar for opportunistic programmers to scratch their itch. The problem is, much as Python and PyGTK are incredible for writing apps, like any other tool they still need to be learned, and the best way to learn is by downloading, running and playing with code snippets. Traditionally this has involved finding scattered bits of sample code online and stuffing it into a directory. Not only do we download other people’s sample code but we often write our own little code snippets as we learn new parts of these tools, and these would be perfect to share with others. Unfortunately, many of us never end up putting them anywhere online. Acire is a first step in making this whole process easier.
Right now, Acire is a tool that allows you to browse snippets easily. It looks like this:

The combo box in the top left provides different categories of snippets. In the screenshot above you can see the general category PyGTK, but there is no reason why we can’t have sub-categories such as PyGTK -> TreeViews. When you select a category, the list underneath it shows all the current snippets. Clicking on a snippet not only loads the code in the view to the right, but also provides a simple description and location of the snippet underneath the code. You can then run the snippet by clicking the Execute button or copy the full code to the clipboard by clicking the Copy button.
To make snippets work in Acire, I have created some simple metadata tags that snippet authors should put at the top of the snippet in the code. Here is an example:
# [SNIPPET_NAME: Actions]
# [SNIPPET_CATEGORIES: PyGTK]
# [SNIPPET_DESCRIPTION: Demonstrates using Actions with a gtk.Action and gtk.AccelGroup]
To test this out I have already added this meta data content to all the examples from the PyGTK Manual. This functionality already makes browsing available snippets, running them and looking at the code an absolute doddle.
I have just got in from a day of traveling, I am exhausted, and headed to bed. I will get the code online tomorrow and talk more about plans for Acire.
24 Comments
We'd love to hear yours!
Leave a Reply
Here's your chance to speak.








Visit My Website
December 30, 2009
Permalink
Were you forced to call it that? Or was it just on a whim through puppy-dog-eyed naming conventions?
I think you should just flip-reverse it, some of the best Debian programs are named after random girls.
Visit My Website
December 30, 2009
Permalink
I am a 15 year old kid whose been wanting to jump into the world of programing with python, and I just want to thank you for making this and Quickly.
So thank you Mr. Bacon
Also, I am looking for some good books on the subject of learning python, from the perspective of someone who has never programmed before. I found this one called “How to Think Like a Computer Scientist: Learning with Python”. Would you have any suggestions?
Visit My Website
December 30, 2009
Permalink
Hi Jono, thanks again for a wonderfull idea and putting it in practice. I am not much of a programer but this might help me push some of my ideas into reality. Right on time for next years resolutions
BTW, I love the name of the program.
Thanks for everything and have good intro into 2010.
Nico
Visit My Website
December 30, 2009
Permalink
Who was it that said (at LUGRadio Live 2009) developers shouldn’t name programs
MPT I think..
I think he has a point.
ps. yes, I am aware that Acire = Erica
Visit My Website
December 30, 2009
Permalink
Hey Jono. I see that traveling is always a good time for hacking
At the last UDS day, Rick ran a “code snippet” session in the desktop track and here is the result: https://wiki.ubuntu.com/Quickly/Snippets I think that can heavily interest you
Simple application (Execute/Copy), searchable by domain (Pygtk and others): the developer handbook in a nutshell. Awesome!
Visit My Website
December 30, 2009
Permalink
Popey: well, at least it’s not as bad as KFoulEggs
Visit My Website
December 30, 2009
Permalink
This is actually a very good idea. Would be nice if you showed the code in a GtkSourceView widget, though (for syntax highlighting)
Visit My Website
December 30, 2009
Permalink
What a great and simple idea! Do you have plans to eventually create a site where people can submit snippits, and your app can then automatically search them?
Visit My Website
December 30, 2009
Permalink
It may make sense to include the pygtk-demo samples. I have found them to be useful at times.
Visit My Website
December 30, 2009
Permalink
Also check out Sugar’s pippy.
http://wiki.laptop.org/go/Pippy
Visit My Website
December 30, 2009
Permalink
As far as the app name…I’m still going to “blame popey”™
Visit My Website
December 30, 2009
Permalink
Looks nice–any chance this is going on Launchpad soon? In addition, I second Søren’s proposal—give us pretty source code!
Visit My Website
December 30, 2009
Permalink
I am getting into learning Python and this tool would definitely be useful for me. I realised the name Acire is the reverse of Erica. Good one.
Visit My Website
December 30, 2009
Permalink
Great! I would also suggest to allow the selection of multiple categories at a time, in order to obtain a very useful refinement
Visit My Website
December 30, 2009
Permalink
This just rocks
Visit My Website
December 30, 2009
Permalink
I’m assuming this is stored in CouchDB since it’s a Quickly app.
Should be easy enough to write an accompanying web application
Visit My Website
December 30, 2009
Permalink
one of the first focal points of my juvenile programming was the ‘ALL BASIC CODE’ packets.. where every two months you could download a collection of snippets of BASIC code. there was a fancy reader to browse them. it was very exciting. this has potential!
http://www.phatcode.net/downloads.php?id=205&image=abcxrd_02.png
Visit My Website
December 31, 2009
Permalink
What a fantastic idea! I wonder how hard it would be to extend it to other languages, especially scripting ones. Having a shared db of snippets is also an excellent idea.
Very sweet name, now I know what it means. ;o)
Visit My Website
December 31, 2009
Permalink
Way back in the old when i started coding, there was a tool called SWAG for pascal code. Used it quite alot too =) But now, there’s ofcourse google’s codesearch et al.
Visit My Website
January 1, 2010
Permalink
have you tried cherry tree
http://open.vitaminap.it/en/cherrytree.htm
Visit My Website
January 5, 2010
Permalink
This looks brilliant. I can’t wait to get a copy of this. I’ve been thinking about going a bit further than plain scripting for a while now and this might be just the thing to get me started.
When will this be going up on Launchpad?
One tiny thin, I agree with Søren, syntax highlighting would be the cherry on the top.
Good work!