Category Archives: decentralized

Find Me on Diaspora

With all of the recent news about the NSA’s widespread spying, I have
decided to ween myself off of proprietary, centralized web
services. Facebook, Google, and other such corporations hold onto
massive amounts of our data that we’ve willingly given to them via
status messages, "like" buttons, searches, and emails. Using and
contributing to free (as in freedom), decentralized (like email) web
services is a really great way to re-establish control of our
data. These services rely on many small, interconnected nodes to
operate, rather than a monolithic website that is under the control of
one entity. If the distinction between centralized and decentralized
isn’t clear, consider how email functions. There are many email
providers to choose from. Users can communicate with others that
choose to use a different email provider. This is how web services
should work, but unfortunately very few work this way now.

The centralized web application that I spend too much time using is
Facebook. I have knowingly given Facebook a "frontdoor" into my life
for years now and I’m ready to move on. I think that the concept of a
"social network" is fun, so I wanted a Facebook replacement.
Fortunately, there is one: Diaspora.

Diaspora is a free, distributed, social networking web application
written in Ruby using the Rails framework. Diaspora is a community-run
project. Its success depends upon users, developers, technical
writers, user interface designers, etc. investing their time and/or
money into making it better. The Diaspora network is broken up into
many servers, known as pods. Users have the choice of which pod to
store their data on. Pods assert no ownership over their user’s data,
unlike Facebook, and do not use that data for targeted
advertisements. Diaspora is still a rather young project, but it does
everything that I need it to do. Goodbye, Facebook!

Since I’m a programmer, I naturally wanted to hack on some code and
contribute. The main developers are very friendly and give great
guidance to newcomers that want to help out. Every Monday is a "Bug
Mash Monday", where a list of open issues is presented to entice
contributors to resolve them. In the past few weeks, I have made two
contributions to the Diaspora project: a bug fix and a small
feature
. Diaspora is very hackable and I encourage other developers
with Ruby/Rails and Javascript knowledge to join in.

TL;DR: Diaspora is great. Create an account. Check out my profile. Start
sharing. Happy hacking. πŸ™‚

From the blog dthompson by David Thompson and used with permission of the author. All other rights reserved by the author.

My First Real FOSS Contribution

I spend a lot of my free time writing code. I usually work on my own
personal projects that never really go anywhere. So, I decided to take
a detour from my normal hacking routine and contribute to an existing
free software project. My contribution was accepted awhile ago now,
but I wasn’t blogging then so I’m rambling about it now.

It’s wise to find a project with a low barrier of entry. An active IRC
channel and/or mailing list with people willing to help newcomers is
ideal. I remembered hearing about GNU MediaGoblin at LibrePlanet
2012, so I decided to check things out. MediaGoblin is a media sharing
web application written in Python. Their bug tracker marks tickets
that require little work and don’t require a deep understanding of
MediaGoblin as ‘bitesized’.

I chose to work on this ticket because it didn’t require any
complicated database migrations or knowledge of the media processing
code. I added a new configuration option, ‘allow_comments’, and a
small amount of code to enforce the setting.

Eventually, the ticket got reviewed and Christopher Webber
(MediaGoblin’s friendly project leader) merged it: "Heya. Great
branch, this works perfectly. Merged!"

It was a very small change, but I was happy to finally have some
actual code of mine in a real free software project. I have a strong
passion for free software and the GNU philosophy, so it’s really great
to participate in the community. My job as a professional software
developer eats up a lot of my time these days, but I hope to find the
time to continue hacking and contributing.

From the blog dthompson by David Thompson and used with permission of the author. All other rights reserved by the author.