Canonical Voices

Posts tagged with 'opportunistic developers'

jono

If you are new to Python and coding, Rick Spencer from the desktop team will be running some beginners Python tuition sessions in an hour:

  • Thu 25th Feb 2010 – 15.00 UTC – Ubuntu Opp Dev Week Prep: Intro to Python for total beginners
  • Thu 25th Feb 2010 – 16.00 UTC – Ubuntu Opp Dev Week Prep: Intro to Python for programmers

These sessions are best experienced using Lernid. If you would prefer to use a normal IRC client, just join #ubuntu-classroom and #ubuntu-classroom-chat to join in the fun. :-)

Read more
jono

Ready for the awesomeness that is Ubuntu Opportunistic Developer Week, we have a shiny new Lernid for you all to rock the week with. Lernid is the online learning tool for getting the most out of our learning weeks. It makes connecting a doddle and provides interactive features such as showing slides, web pages and more.

The new 0.6 release has had a tonne of bug fixes and is by far the most stable release yet. It also includes these new features:

  • New icon – awesome new icon, and looks smooth as silk in docky too.
  • Nick completion – just like a normal IRC client, type in the first few letters of the nickname, hit tab and boom! there is the nick!
  • Option for show time in class and chatroom – want to see the times? Simple.
  • Possibility for pausing automatic browser updating – don’t like that browser updates? Sorted.
  • NickServ authentication – now you can use your nickserv password when connecting.
  • Question button – want to ask a question in the right format? Click the Question button and then type in your question. Job done.
  • Gwibber support (tweet the ongoing session) – click the Event menu when a session is running and Tweet current session to share your attendance with Twitter/identi.ca/Facebook/FreindFeed etc (only works on Lucid).

Kudos to Michael Budde for taking over the reigns on Lernid as the new maintainer, and for the fantastic little Lernid community for making such a stunning release!

Getting Lernid

It is highly recommended that you download this version of Lernid ready for the event. This is how…

Ubuntu 9.10 Karmic Koala

You can download Lernid for Karmic from the releases PPA. Just click Applications -> Accessories -> Terminal and cut and paste in these commands.

sudo add-apt-repository ppa:lernid-devs/lernid-releases
sudo apt-get update
sudo apt-get install lernid

Then click Applications -> Internet -> Lernid.

Ubuntu 10.04 Lucid Lynx

If you are running Lucid, Lernid is easier to install than ever as it is now available in Universe! Thanks to the awesome Didier Roche for his work today in getting this into the archive!

As such, installing Lernid is as simple as using the Applications -> Ubuntu Software Center or typing:

sudo apt-get update
sudo apt-get install lernid

Then click Applications -> Internet -> Lernid.

Read more
jono

I just wanted to summarize some fun opportunistic developer things going on over the next few weeks. all of these events provide a great opportunity to get started having fun making awesome apps that you can share with others.

Presenting The Opportunistic Developer Vision

On Wednesday 24th Feb at 11am / 2pm EST / 7pm UTC/GMT I will be giving the talk that I delivered this past weekend at SCALE in LA in which I talk about the work going on in the Ubuntu community to embrace Opportunistic Developers in writing awesome free software apps. If you are curious about all this blathering about opportunistic developers from me, be sure to tune in and check it out. Tune in here.

Ubuntu Opportunistic Developer Week

A few weeks ago I announced the plan to put together Ubuntu Opportunistic Developer Week: a week of IRC tuition sessions aimed at helping opportunistic developers scratch their itches and write fun and useful programs using our awesome platform. The week takes place from 1st – 6th March 2010.

The response so far to the call for sessions has been fantastic, and we already have the following sessions scheduled, all visible from the timetable for the week:

  • Welcome! Ubuntu For Opportunistic Developers – Jono Bacon
  • Gooey Graphics with GooCanvas – Rick Spencer
  • Testdrive – DustinKirkland
  • CouchDB support in your app with DesktopCouch – Stuart Langridge
  • Creating stunning interfaces with Cairo – Laszlo Pandy
  • Hot rodding your app for translations support – David Planella
  • Creating a PyKDE app – Rich Johnson
  • Creating an application from scratch with Quickly – Rick Spencer
  • Microblog from your app with the Gwibber API – Ken VanDine
  • What’s new in Quickly 0.4 – Didier Roche
  • Learning through examples with Acire and Python-Snippets – Jono Bacon
  • Building in Application Indicator support – Sense Hofstede
  • Writing a Rhythmbox plug-in – Stuart Langridge
  • Create games with PyGame – Rick Spencer
  • Write Beautiful Code (and Maintain it Beautifully) – rockstar
  • Using GTK+ signals in Python – Sense Hofstede
  • Integrated development workflow with Ground Control – Martin Owens
  • Building multimedia into your app with GStreamer – Laszlo Pandy
  • Speed your development with quickly.widgets – Rick Spencer
  • Web browsing and rapid UI with WebKit – Ryan Paul

Each of these sessions is designed to give you a taste of the topic and get you up and running, enough to be productive and start exploring the features of the tool being discussed. In addition to this we will have a series of showcase sessions:

  • SHOWCASE: Gwibber – Ken VanDine
  • SHOWCASE: Lernid – Jono Bacon
  • SHOWCASE: Photobomb – Rick Spencer

These sessions explain the story behind the app: talking about which tools, modules and technology that was used to put these apps together and what challenges were solved. This is a great way to learn more about tools available for opportunistic developers so that when you need to do something, you know which tool to reach out for.

All of this awesome content is best experienced using Lernid. Expect a new Lernid packaged and ready for the week of opportunistic goodness. If you would prefer to use a normal IRC client, just join #ubuntu-classroom and #ubuntu-classroom-chat to join in the fun. :-)

Introduction To Python Tuition Sessions

Now, many of you will be entirely new to Python and entirely new to coding. To give you folks a head start before Ubuntu Opportunistic Developer Week kicks off, Rick Spencer from the desktop team will be running some beginners Python tuition sessions on the Thursday before Ubuntu Opportunistic Developer Week:

  • Thu 25th Feb 2010 – 15.00 UTC – Ubuntu Opp Dev Week Prep: Intro to Python for total beginners – Rick Spencer
  • Thu 25th Feb 2010 – 16.00 UTC – Ubuntu Opp Dev Week Prep: Intro to Python for programmers – Rick Spencer

This is a great way of getting your opportunistic development kickstarted!

Again, this awesome content is best experienced using Lernid. If you would prefer to use a normal IRC client, just join #ubuntu-classroom and #ubuntu-classroom-chat to join in the fun. :-)

Rock and opportunistic roll, my friends. :-)

Fun Apps And Hacking Parties

With an awesome week of opportunistic developer learning ahead of us, I was keen to put together some sessions where you good folks can just hack on fun projects in the same room, ask each other questions and more. As such, at the end of each Opportunistic Developer Week day, there will be a a series of parties. These include:

  • Mon 1st March 2010 – 21.00 – 23.00UTC – Hacking Party – Work on your app together, ask/answer questions and have fun together!
  • Tues 2nd March 2010 – 21.00 – 23.00UTC – Hacking Party – Work on your app together, ask/answer questions and have fun together!
  • Wed 3rd March 2010 – 21.00 – 23.00UTC – Hacking Party – Work on your app together, ask/answer questions and have fun together!
  • Thu 4th March 2010 – 21.00 – 23.00UTC – Snippets Party – Join us and create Python snippets!\
  • Fri 5th March 2010 – 21.00 – 23.00UTC – Hacking Party – Work on your app together, ask/answer questions and have fun together!

This is an awesome opportunity to get together and make something fun. So, I have a challenge for you good folks: before we start next week, think of a fun app to focus on writing next week. Pick something that will do something useful for you and something not too large and comprehensive (e.g. don’t pick a word processor or spreadsheet!).

The Place To Be: #ubuntu-app-devel

As part of building an awesome community and platform for opportunistic developers, I created #ubuntu-app-devel on Freenode and we have a great group of enthusiastic developers in there who can answer your questions and help you get started. Join us and join in hte fun!

Read more
jono

On Wednesday 24th Feb at 11am / 2pm EST / 7pm UTC/GMT I will be giving the talk that I delivered this past weekend at SCALE in LA in which I talk about the work going on in the Ubuntu community to embrace Opportunistic Developers in writing awesome free software apps. If you are curious about all this blathering about opportunistic developers from me, be sure to tune in and check it out. Tune in here.

On Friday 26th Feb at 11am / 2pm EST / 7pm UTC/GMT I will be doing a full hour devoted to Q+A on Ubuntu, community management and whatever else you want to discuss. Tune in here.

I hope to see you all there!

Read more
jono

A few awesome opportunistic developer updates:

  • Firstly, I have been adding some parties every day during Ubuntu Opportunistic Developer Week. These include a couple of hacking parties in which you should come and join us and hack on your new apps and be around folks to ask for help, answer questions and share progress.
  • Secondly, given the interest brewing around opportunistic developers on Ubuntu, I have created a new IRC channel called #ubuntu-app-devel where you can go to hang out with others writing apps, you can ask questions there, share progress and talk about how we can make Ubuntu a rocking system for harnessing the creative inclinations of opportunistic developers.

Rock and roll, my friends. :-)

Read more
jono

Recently I announced Project Awesome Opportunity; an ambitious goal to build awesome collaboration facilities into Ubuntu that makes working together on projects as simple as possible. Project Awesome Opportunity is not just about coding: it is about people opportunistically creating things that scratch their itches. This could could anything from software to learning materials and more.

The project targets three primary use cases:

  1. Creating a software project – creating and working on a project be as simple as possible using the wonderful Quickly as a tool.
  2. Collaborating on content – working together with Bazaar and sending content to Launchpad.
  3. Fixing a Bug – taking the pain out of how you grab a bug to fix and contribute your fix back to the project.

I just wanted to follow up with the third of these three goals which Martin landed in Ground Control this week. Let me explain how it works.

Imagine you want to fix a bug. I created an example bug to do this demo:

To get started, you first go to your Projects directory and you can see some buttons:

Let’s now see how you can grab a project. Click the Fetch Project button and a dialog pops up where you can type in a project name which is hosted on Launchpad:

As you can see above, when you search, the projects are listed below. Just select the project and click OK and a directory appears in your Projects directory:

If you double-click on that directory you will see a few different buttons. We want to fix a bug, so click the Fix Bug button:

You will now see a dialog box where you can search for a bug within the project. When you search for a bug name or number the bugs appear. Click on the bug you want to fix and click the OK button:

Now a branch of the code will be downloaded to your directory:

When the code is downloaded the directory is named after the bug number:

You can now double-click on the directory and see the code:

Let’s do a simple change and add the following content to the README file:

#################################
##### THIS IS A TEST CHANGE #####
#################################

When you have made some changes, you will see a new Upload Fix button in the file browser:

When you click that button you will now see a dialog box where you can enter what changes you made to the project (this is a commit message, and useful adding details about your bug fix):

Click OK and another dialog box will appear, this time asking for a content for a merge proposal – a merge proposal is a request to the owners of the project to merge your bug fix into the main code base. Enter a message and click OK:

The fix will then be uploaded and your merge proposal made and you can now see a View Request button:

When you click the button your browser will show the merge request page where you can have a conversation with the project developers about your proposed merge, work out any kinks and otherwise collaborate together:

In addition to making the merge proposal, Ground Control also attaches your branch with the fix to the original bug report:

This process takes a significant level of complexity out of the process of fixing bugs and streamlines the developer on the bookends of the process: identifying what you want to fix and submitting the fix. This gives the developer more time to focus on the bug fix itself, which in my mind is the point of great developer tools.

For this feature to flourish and for us to rock the socks off opportunistic developers everywhere, we are going to need your help, particularly with testing and where possible bug fixes. Here are the main ways in which you can help:

  • Fixing Bugs – Martin is largely a one man band on this project and he needs help fixing Ground Control Bugs. If you are interesting in helping, see the bug list here and get involved. He will love you and I will hail you. :-)
  • Testing – Testing is critical to this project. We have a tight timeframe on this, so we need you to help. How do you test? Simple, grab the dailly PPA of Ground Control set up by the awesome Nathan Handler, test it and report bugs.

The next step is building in top-level support for the awesome Quickly model of creating new applications and working on those applications at a code/UI and development level. This will neatly mesh together the application development ease of use of use in Quickly and the integration with Launchpad with Ground Control. Didier is a total rock star with Quickly, and 0.4 is sounding awesome, and I am excited to see how these tools will work together and make opportunistic development accessible for all.

Read more
jono

Twitter, identi.ca and Facebook have become an increasingly common medium in which people are communicating. While Google Wave vies to be the next generation of communication (as we waxed lyrical about on the recent Shot Of Jaq), in reality email and microblogging are unlikely to be unseated as primary methods of communication. Naturally, we want to make these methods of connecting people rock good and hard in Ubuntu.

Today Ken VanDine uploaded a new Gwibber to Lucid which adds improved reliability, multi-column views, a new theme and more. It looks like this:

I love you Ryan Paul. I cried 140 individual tears of joy.

This leads me to a simple conclusion:

Goodbye Tweetdeck. You suck considerably more than Gwibber.

No more ugly Adobe Air app. No more closed source Twitter client. No more lack of identi.ca support. No more horrible notification bubbles. Instead, sweet, native, effortless microblogging, right from my Ubuntu desktop. A veritable ass kicking at at it’s finest.

Now, this is cool in of itself, but then combine it with the ability to tweet/dent right from the Me menu:

Microblogging built in, sleek and elegant. I am stoked, and Gwibber is rocking the house. Also, if you are the opportunistically development minded, don’t forget that you can build microblogging support into your apps with Gwibber’s API too, and there will be a session on how to do this at Ubuntu Opportunistic Developer Week.

Read more
jono

In the continued interests of helping to make Ubuntu rock as a platform for scratching itches and making awesome apps, I am putting together a new online learning event: Ubuntu Opportunistic Developer Week, happening online between 1st – 6th March 2010.

The week will be just like our previous online learning events such as Ubuntu Developer Week and Ubuntu Open Week, but instead providing a week jam packed with awesome sessions about writing applications that scratch your itch, and predominantly focusing on Python tools and frameworks, Bazaar, Launchpad and infrastructure. The goal for the week is give attendees a head start on a given technology useful for applications.

So, I am looking for volunteers. If you feel you could give a tutorial about a given Python module or associated technology (e.g. Glade, Launchpad, Bazaar etc), please drop me an email at jono AT ubuntu DOT com and I will liaise with you to get it scheduled. I am also look for some showcase sessions: stories about how you put together an application, how it scratched your itch and what tools you used. Thanks to everyone who contributes to leading a session!

The week has already been added as a Lernid event and I am going to encourage session leaders to create slides for their sessions. As each session is confirmed it will appear in Lernid and on the wiki page. Rocking!

Read more
jono

In the continued interests of making Ubuntu a rocking platform for opportunistic developers, today we formulated the plan for Project Awesome Opportunity. The goal is simple: build an opportunistic development workflow into Ubuntu. You will install one package from Universe and your Ubuntu will be hot-rodded for opportunistic application development, making development more fun and more accessible for a glorious itch scratching smackdown.

At the heart of the project is Ground Control by Martin Owens and Quickly by Rick Spencer and Didier Roche. I have been thinking about the challenges of how we build a great first incarnation of a platform optimised for opportunistic developers, and it struck me that we can divide the first set of tasks into three broad areas:

  • Creating a Project – we need to help opportunistic developers ramp up as quickly as possible: they feel the itch and they are ready to scratch right away.
  • Collaborating on a project – it should be really simple grab code, create a contribution and submit it to the project.
  • Fixing a Bug – bugs are at the heart of software projects, and we should optimize the bug fixing process making it a doddle for opportunistic bug fixing developers to grab some code and make it work.

A key part of this workflow which I designed yesterday is the Fixing a Bug component, and this is something I am really passionate about us trying to deliver in the Lucid timeframe. This is not a formal project that my team is working on, this is something that I am focused on in my spare time and coordinating with Ground Control author and rock star, Martin Owens.

Let me explain how it works:

Opportunistic development lives in the Projects/ directory in your home directory. When you load this directory in Nautilus, you see this:

Ground Control places three buttons that identify the key use cases we are keen to satisfy. When the user clicks the ”Fix Bug” button the following dialog box appears

For the first cut of this feature a bug number is required, but the feature could also include a search box for finding bugs and even potentially have an option on the Launchpad project page saying ”Fix a bug on your desktop” (or some other descriptive term) and when you click that link, Nautilus opens up and is fed the bug number.

When a bug number is submitted, Ground Control will create a branch that the bug affects (typically trunk) into your Projects/ directory. You can then go and hack the code:

When a source file in the branch is changed (and ultimately the coder fixes the bug), we now see an ”Upload Fix” button:

At this point the branch has the fix committed, so the coder clicks the button and then sees this dialog box:

This dialog box asks for the following:

  • The first box is the content that goes into the commit message.
  • The second box is the content that goes into the merge proposal.
  • The third box is optional additional characters for the branch name.

When the user clicks the OK button, the following process occurs:

  • Bazaar commits to the local branch.
  • The branch is pushed to the branch location specified.
  • The branch is added to the bug report.
  • A merge proposal is made.

So, I fleshed this idea out over the last few days and documented it and had a chat with Martin Owens who created Ground Control, and he has committed to finish off the current feature set of Ground Control and creating the Fix a Bug feature in the next two weeks. Martin has volunteered to invest a significant amount of time and effort into solving this problem in Ground Control, and I am going to be working to grow awareness of the project, handle the packaging in Universe, and help to get more people involved in testing and translations. See the Create a Project, Collaborate and Fix a Bug blueprints for this feature. Feel free to subscribe to them to track progress.

For this feature to flourish and for us to rock the socks off opportunistic developers everywhere, we are going to need your help, particularly with testing and where possible bug fixes. Here are the main ways in which you can help:

  • Fixing Bugs – Martin is largely a one man band on this project and he needs help fixing Ground Control Bugs. If you are interesting in helping, see the bug list here and get involved. He will love you and I will hail you. :-)
  • Testing – Testing is critical to this project. We have a tight timeframe on this, so we need you to help. How do you test? Simple, grab the dailly PPA of Ground Control set up by the awesome Nathan Handler, test it and report bugs.
  • Moral Support – Martin Owens is doctormo on Freenode. Ping him and tell him he is awesome. He and I hang out in #ubuntu-community-team: buy him a virtual beer.

So that is the goal. Let’s see if we can rock it and fire up more opportunistic developers.

Read more