[ home | blog home | recent activity | guestbook | plugins i'm using (19) ]
Page 1 of 67 >> (less recent)
PyBlosxom uses Sphinx for documentation
now. I was having problems with using -- for em-dash and it not
showing up like an em-dash in the HTML output.
The docutils FAQ says to use the actual unicode character for emdash. I don't really want to do that because I'm not sure about what happens when the source files are opened up by a non-unicode-friendly text editor.
Turns out that doesn't matter because Sphinx allows -- for
en-dash and --- for em-dash. Is this something that should
get added to the Sphinx documentation?
Today I read You can't crowdsource software. The title sums up what it's about.
I've had this experience with Miro. We occassionally get patches from non-PCF people but most of the work is done by PCF developers. We've spent a lot of time and effort over the last few years on getting more code contributors and reducing the barriers to entry. We haven't had much success.
However, there's a lot of other "stuff" that goes into developing an application and the article only focuses on code. Some of this "stuff" can be successfully crowdsourced without a lot of effort. For example, Miro crowdsources all of our strings translation work through Launchpad.
I work on another project called PyBlosxom. We have a core group of developers (right now this is me) who do the bulk of the core code work. I do some plugin work, but the bulk of the plugin work is done by users of PyBlosxom many of whom have never touched the core code. For PyBlosxom, plugin development is crowdsourced.
The article suggests that it's a waste of time to help bring new contributors come up to speed and contribute because they often don't contribute much. That conclusion really concerns me. How can we get more people helping out if we're not working on getting people to help out?
Jono Bacon wrote an article titled Project Awesome Opportunity which talks about a few projects that are reducing the barriers to contributing and making it a lot easier. It's very Launchpad-centric, though.
OpenHatch is a startup working on building the next generation of contributors and connecting contributors to projects that need help. They're wrestling with how to effectively fix these problems, but without tying the fix to a project development silo (e.g. Launchpad, GitHub, ...). I think that's really important.
I think systems like these will reduce the effort in getting contributors and make it easier to crowdsource code contribution.
And if you, dear reader, are looking for a project to help out on that's written in Python and need someone to mentor you, let me know.
February 5th, 2010: I should clarify I think the article is fine. I don't think the conclusion that code contribution doesn't crowdsource well is poorly formed or anything like that. Just that the implications suck.
minutes
Miro 3.0 status (roadmap) (was Miro 2.6)
Miro Community 1.0 status (roadmap)
Ben
Luc
Janet
Will
Paul
bugzilla
minutes
Miro 3.0 status (roadmap) (was Miro 2.6)
Miro Community 1.0 status (roadmap)
Paul
Janet
Luc
Ben
Will
bugzilla
Spent a while figuring out how to get Miro to handle media keys in Gnome. My current understanding (and this could be entirely wrong) is that as of 2.18, Gnome handles the multimedia keys. In order for your application to respond to multimedia keys, you have to connect to the signal through dbus.
My biggest problem is that my web searching revealed a lot of bugs, but no documentation. I did finally find Handling multimedia keys in GNOME 2.18 and then worked out the rest. I still have no clue where to find the documentation for it.
Here's what I got working:
import logging
import dbus
from miro import app
class MediaKeyHandler(object):
def __init__(self):
self.bus = dbus.Bus(dbus.Bus.TYPE_SESSION)
self.bus_object = self.bus.get_object(
'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/MediaKeys')
self.bus_object.GrabMediaPlayerKeys(
"Miro", 0, dbus_interface='org.gnome.SettingsDaemon.MediaKeys')
self.bus_object.connect_to_signal(
'MediaPlayerKeyPressed', self.handle_mediakey)
def handle_mediakey(self, *mmkeys):
for key in mmkeys:
if key == "Play":
app.widgetapp.on_play_clicked()
elif key == "Stop":
app.widgetapp.on_stop_clicked()
elif key == "Next":
app.widgetapp.on_forward_clicked()
elif key == "Previous":
app.widgetapp.on_previous_clicked()
def get_media_key_handler():
try:
return MediaKeyHandler()
except dbus.DBusException:
logging.exception("cannot load MediaKeyHandler")
If you see problems with this, let me know so I can ammend the code.
I keep seeing people say things like, "I'm not a programmer, so I can't help."
I think this is a common misconception about Free Software. Free Software empowers you. Let me say that again...
Free Software EMPOWERS You.
Miro is a Free Software project and like all Free Software projects, there are a variety of ways that you can be involved. By being involved you are taking the responsibility to help solve your own problems.
You can test nightly builds and release candidates.
You can submit bugs and help us triage and fix them.
You can send in patches. Patches can be for code, documentation, packaging, ...
You can package Miro for other distributions.
You can translate strings.
You can tell your friends and family about Miro and help them get setup. You can blog about Miro. You can dent about Miro.
You can adopt a line of code. This helps fund ongoing development. If we had more funds, we could have more paid developers.
Miro is built and maintained by all of us working together contributing our time and resources. There are features to be implemented, bugs to be squashed, systems and software to integrate with, standards to develop--the future is great with possibilities. There's a lot of stuff that can be done and you can help the Miro community do it.
On the dev conference call today we talked about how many things have been fixed, changed, implemented, et al in the Miro 2.6 development cycle. We decided this isn't a .1 improvement--it should get it's own major version number.
As such, we're changing the version number for the next version of Miro from 2.6 to 3.0.
The effects of this are pretty small--it's just a name change. However, our Bugzilla Roadmap urls are specific to a version.
Instead of using:
http://bugzilla.pculture.org/roadmap.cgi?product=Miro&target=2.6
Use this:
http://bugzilla.pculture.org/roadmap.cgi?product=Miro&target=3.0
minutes
Miro 3.0 status (roadmap) (was Miro 2.6)
Miro Community 0.9 status (roadmap)
Janet
Ben
Will
Paul
bugzilla
minutes
Miro 2.6 status (roadmap)
Miro Community 0.9 status (roadmap)
Janet
Luc
Will
Ben
Paul
bugzilla
minutes
Miro 2.6 status (roadmap)
Miro Community 0.9 status (roadmap)
Janet
Will
Luc
Paul
bugzilla
Page 1 of 67 >> (less recent)
All contents Copyright 1996 to 2010 Will Guaraldi Kahn-Greene.
This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.