App Developer Week -- Lightning Talks -- james_w -- Fri, Apr 15th, 2011

   1 [21:59] <mhall119> okay, so for anyone who's not familiar with what a lightning talk is
   2 [22:00] <mhall119> it's a very quick presentation, where the speakers only have about 5 minutes to say everything they have to say
   3 [22:00] <mhall119> they've become quite popular at conventions
   4 [22:00] <mhall119> for this session, we have people who are going to give a quick overview of some program they are involved in, so you can see what small projects are out there that you might want to get involved in
   5 [22:01] <mhall119> as always, you can ask questions in -classroom-chat
   6 === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - || Support in #ubuntu || Upcoming Schedule: || Questions in #ubuntu-classroom-chat || Event: Ubuntu App  Developer Week - Current Session: Lightning Talks - Instructors: stefano-palazzo, duanedesign, davidc3, kirkland, MeanEYE, muesli, nhandler
   7 [22:01] <ClassBot> Logs for this session will be available at following the conclusion of the session.
   8 [22:01] <mhall119> but remember, they only have 5 minutes, so don't expect them to answer everything
   9 [22:01] <mhall119> so, without wasting any more of their preciouos time
  10 [22:02] <mhall119> our first speaker is sefano-palazzo, talking about StackExchange App

StackExchange App

   1 [22:02] <stefano-palazzo> Hello, I'm Stefano - I'll be talking about StackExchange
   2 [22:02] <stefano-palazzo> Stack Exchange is a network of question and answer websites
   3 [22:02] <stefano-palazzo> it includes sites like,, and of course
   4 [22:02] <stefano-palazzo> - the best place to ask questions and get answers about Ubuntu
   5 [22:03] <stefano-palazzo> I've also written the Ask Ubuntu Lens for Unity,
   6 [22:03] <stefano-palazzo>
   7 [22:04] <stefano-palazzo> The Lens is designed to work with Ask Ubuntu, but it also supports every other Stack Exchange site
   8 [22:05] <stefano-palazzo> If you're interested in geographic information systems, guitars, maths, star trek, ... there's probably a site for you.
   9 [22:05] <stefano-palazzo> If you're running Natty Narwhal, you can add our Team's PPA to install the lens:
  10 [22:05] <stefano-palazzo> It also contains stack applet; A little, App Indicator sized utility that keeps you up to date with your profile on any stackexchange site - if you're already an Ask Ubuntu user
  11 [22:06] <stefano-palazzo> It's written by George Edison, and, if you're interested in what's happening in your Stack Exchange account, this app is for you
  12 [22:06] <stefano-palazzo> And if you don't know what Stack Exchange or Ask Ubuntu are,
  13 [22:07] <stefano-palazzo> I urge you to check them out. They're the best place on the web if you just want to get an answer to your question. Jorge has recorded a screen cast providing a gentle introduction:
  14 [22:07] <stefano-palazzo>
  15 [22:08] <stefano-palazzo> That's about all I've got - if you're interested, join Ask Ubuntu (you don't need to register an account). And if you want to talk to me about developing Apps that integrate with Stack Exchange sites, I'm often in #ayatana, or the Ask Ubuntu chat at
  16 [22:09] <stefano-palazzo> thank you very much for your time :)
  17 [22:09] <ClassBot> mhall119 asked: does it search every stackexchage site by default, or do you have to enable the ones you're interested in?
  18 === tubadaz is now known as tubadaz_away
  19 [22:10] <stefano-palazzo> It searches Ask Ubuntu by default, but if you want to search on any other site, you can use special modifers. A typical search might be "@guitars telecaster sustain", or "@programming open source license"
  20 [22:11] <ClassBot> MeanEYE asked: Will your lense be integrated with default Ubuntu installation?
  21 [22:11] <stefano-palazzo> the modifier is the first part of the site's URL, what ever comes before .com
  22 [22:11] <stefano-palazzo> No, then lens will not be part of the default installation, it will in all likelihood appear in the Independend category of the software centre
  23 [22:12] <mhall119> alright, thanks stefano-palazzo!
  24 [22:12] <mhall119> next up is duanedesign with CLI Companion
  25 [22:12] <mhall119> take it away duanedesign
  26 === tubadaz_away is now known as tubadaz
  27 [22:14] <mhall119> okay, we'll try him again later
  28 [22:14] <mhall119> davidc3 is next with Unity Book Lens
  29 [22:14] <mhall119> davidc3: ready?

Unity Book Lens

   1 [22:14] <davidc3> Yes :)
   2 [22:14] <mhall119> the floor is yours
   3 [22:15] <davidc3> Hello, I'm David and I'm going to introduce you to my pet project: the Books Lens.
   4 [22:15] <davidc3> There are a lot of free online libraries, such as Google Books or Project Gutenberg, and as a heavy books reader, I wanted to find a way to search them all at once.
   5 [22:15] <davidc3> More precisely, my goal was to reduce the time from searching to reading:
   6 [22:15] <davidc3> To put it another way: type, click, read a book. Like any document on your computer.
   7 [22:15] <davidc3> The project started when I found stefano-palazzo's first commits for the askubuntu lens. It presented me a simple way to get results from the Internet displayed in Unity, in Python.
   8 [22:16] <davidc3> Why in Python? Because I'm not a developer, because I didn't know any more code than a few terminal tricks and because "everyone" says Python is easy...
   9 [22:16] <davidc3> So it was time to get my hands dirty and I started to blindly modify some values and experiment on stefano's code :)
  10 [22:16] <davidc3> I also found the Google Books JSON API documentation to be very helpful.
  11 [22:16] <davidc3> By the way, an API is a set of rules to ask other services questions and to interprate the answers and JSON is a language easy to interprate in Python.
  12 === erichammond1 is now known as erichammond
  13 [22:17] <davidc3> A few hours later, I had a working lens! You could search every books indexed by Google, and authors, and subjects! The power of Google in the palm of my hand!
  14 [22:17] <davidc3> But... my web browser was just a click away and it could do all of this much faster and better...
  15 [22:17] <davidc3> So, it was time to had features:
  16 [22:17] <davidc3> The first one is called "Focused Author". When you get search results, the lens uses the first author it finds, and presents other books from her or him.
  17 === crazedpsyc_ is now known as crazedpsyc
  18 [22:18] <davidc3> It does work on most searches and find authors from Sophocles
  19 [22:18] <davidc3> Jono Bacon! :)
  20 [22:18] <davidc3> Another feature is a localization trick: the lens finds out your session's language and tries to present you books in your language first.
  21 [22:18] <davidc3> What's coming next:
  22 [22:19] <davidc3> * More focus on free books! (the actual "Free Books" search is clunky, but it will eventually be default).
  23 [22:19] <davidc3> For now, most of the time, instead of: "Type, click'n'read", it's: type, click and "an Amazon link, really?"
  24 [22:19] <davidc3> * Search in Project Gutenberg and Forgotten Books (with help from Blekko, a really nice search engine)
  25 [22:19] <davidc3> * Special searches, like "50's sci-fi"!
  26 [22:19] <davidc3> * Smart pre-population via Zeitgeist: you are looking at a web page or some other document, then open the lens: without needing you to type anything, it finds out what you are doing on your computer (using the title of the most recently accessed document) and present you related books.
  27 [22:20] <davidc3> How you can help:
  28 [22:20] <davidc3> Add the PPA:
  29 [22:20] <davidc3> Try it and report bugs:
  30 [22:20] <davidc3> That's all, if you want to talk to me about this project, I'm often in #ayatana (nick davidcalle), thank you for your time! :)
  31 [22:21] <davidc3> Any questions?
  32 [22:21] <ClassBot> MeanEYE asked: After finding a book using Unity, will default book reader application open or just URL?
  33 [22:22] <davidc3> For now, just URL, but the ultimate goal is to open it in the appropriate reader.
  34 [22:22] <davidc3> Or device!
  35 [22:22] <davidc3> Project Gutenberg makes it very easy to download things in kindle format, for example.
  36 [22:23] <davidc3> More questions?
  37 [22:23] <mhall119> alright, thanks davidc3, I'm sure i will get less work done in Natty now ;)
  38 [22:23] <mhall119> up next is kirkland and Bikeshed
  39 [22:23] <davidc3> Thanks mhall119 :)


   1 [22:23] <kirkland> mhall119: thanks
   2 [22:24] <kirkland> right, so Bikeshed ...
   3 [22:24] <kirkland> Bikeshed was the answer to a problem I've struggled with for some time now
   4 [22:24] <kirkland> I had a growing number of really cool, convenient scripts stacking up in my own ~/bin directory
   5 [22:24] <kirkland> many of which might be useful to other people
   6 [22:25] <kirkland> and so I tried to contribute them to upstream projects
   7 [22:25] <kirkland> but many of these upstream projects were old, or stagnant;  others were new and active, but just uninterested
   8 [22:25] <kirkland> more importantly, the actual implementation of a few them them were debated endlessly
   9 [22:25] <kirkland> this gave rise to the Bikeshed project
  10 [22:26] <kirkland> where the term "bikeshedding" has become very commonly used in modern open source development circles
  11 [22:26] <kirkland>
  12 [22:26] <kirkland> ^ if you don't know what it means to "bikeshed"
  13 [22:27] <kirkland> so anyway, I created the "Bikeshed" project in Launchpad, as a breeding ground for new/interesting/even-trivial-but-helpful scripts and programs
  14 [22:27] <kirkland> it's sort of an incubator
  15 [22:27] <kirkland> or even an orphanage
  16 [22:27] <kirkland> a place I often put things that other people might use, until it finds a more permanent home
  17 [22:27] <kirkland> some of the things to land in Bikeshed ...
  18 [22:28] <kirkland> most recently, "apply-patch"
  19 [22:28] <kirkland> which is a wrapper for patch, that can retrieve patches via URL, and automatically detects the strip-level
  20 [22:29] <kirkland> bzrp is a wrapper for bzr, that puts the output through a pager if it's more than one screen (sort of like git does automatically)
  21 [22:29] <kirkland> col1 .. col9 is a really slick wrapper that does the equivalent of "awk -F"$something" '{print $N}'
  22 [22:29] <kirkland> dman remotely retrivies manpages from
  23 [22:30] <kirkland> wifi-status is a watch wrapper that monitors your wireless connection in real time
  24 [22:30] <kirkland> and so on
  25 [22:30] <kirkland> a few things have "graduated" out of bikeshed to be projects of their own
  26 [22:30] <kirkland> ssh-import-id $LAUNCHPAD_USER is a cool tool that securely retrieves a public SSH key from Launchpad and installs it to the authorized_keys file of the system
  27 [22:30] <kirkland> (really useful in cloud computing circles)
  28 [22:31] <kirkland> and the errno utility was one of the proverbial straw that broke the camels back, and inspired me to create bikeshed
  29 [22:31] <kirkland> errno searches Linux error numbers, names, and descriptions
  30 [22:32] <kirkland> there's a few more
  31 [22:32] <kirkland> but I should probably save a few minutes for quesitons
  32 [22:32] <kirkland> questions, even
  33 [22:32] <kirkland> my classbot fu is out of date
  34 [22:33] <ClassBot> MeanEYE asked: Do you have any graphical part of application which can help us easily install/remove scripts?
  35 [22:33] <kirkland> MeanEYE: hmm, currently every thing is command line only
  36 [22:33] <kirkland> MeanEYE: and bikeshed itself is kind of a mish-mash of random scripts
  37 [22:34] <ClassBot> davidc3 asked: Do all the scripts have man or help? And do you have some wiki page where we can learn a bit more about them??
  38 [22:34] <kirkland> MeanEYE: part of the process of "graduating" a script out of bikeshed means making it into its own package/project, which is then installable from the Ubuntu Software Center
  39 [22:34] <kirkland> davidc3: absolutely!  every script/program MUST have a manpage to land in bikeshed :-)  it's my most important requirement
  40 [22:34] <kirkland> davidc3: the best place to learn is
  41 [22:35] <mhall119> alright, thanks kirkland!
  42 [22:35] <kirkland> mhall119: thank you!
  43 [22:35] <mhall119> so everyone dig around in your ~/bin and see what you can toss in the shed
  44 [22:36] <mhall119> Up next is MeanEYE with his app: Sunflower FM!

Sunflower FM

   1 [22:37] <MeanEYE> Oh, is it me already. Great!
   2 [22:37] <MeanEYE> Hello everyone.
   3 [22:37] <MeanEYE> My name is Mladen, although using my nick is just fine.
   4 [22:37] <MeanEYE> I'll use this short time span to present you with Sunflower.
   5 [22:38] <MeanEYE> Sunflower is twin-panel file manager based on GTK+.
   6 [22:38] <MeanEYE> Idea is to create keyboard driven file manager that seamlessly integrates into Gnome desktop environment (and Unity of course).
   7 [22:39] <MeanEYE> So, without dragging this more than I should... I'd like to give you a few screenshots of my little program in action.
   8 [22:39] <MeanEYE>
   9 [22:39] <MeanEYE>
  10 [22:40] <MeanEYE>
  11 [22:40] <MeanEYE> I tried to be creative and add many options but at the same time keep user interface clean and organized.
  12 [22:41] <MeanEYE> I believe many of you already used some twin-panel file manager like Total Commander, Gnome-Commander, Midnight Commander, etc.
  13 [22:42] <MeanEYE> Since I like talking with people, feel free to ask questions.
  14 [22:42] <MeanEYE> For impatient people you can download it from:
  15 [22:43] <ClassBot> mhall119 asked: You said it's keyboard controlled, does that mean everything had a keyboard shortcut?
  16 [22:43] <MeanEYE> Yes, not everything but most commonly things do have them. Those that don't have shortcuts can be accessed using a keyboard.
  17 [22:44] <MeanEYE> One nice example of this is when you are working with files and you need a terminal in that very directory, all you need to do is hit CTRL+Z and program will open terminal with that path.
  18 [22:45] <MeanEYE> Program is also multi-threaded so if you have more than one core on your processor program will use this.
  19 [22:45] <ClassBot> mhall119 asked: Is this in Universe or a PPA?
  20 [22:46] <MeanEYE> No, not at the moment. It's still in early alpha stage.
  21 [22:46] <MeanEYE> Although there are some people who are using it heavily without any issues.
  22 [22:46] <mhall119> okay, if anybody has any further questions for MeanEYE, feel free to ask
  23 [22:47] <mhall119> but now it's time for us to move on to muesli and Tomahawk Player
  24 [22:47] <MeanEYE> If someone is willing to join and help package it or translate it, just refer to that link I gave you and I'll help!
  25 [22:47] <MeanEYE> Ok, thanks every one!


   1 [22:47] <muesli> Good evening! My name's Chris, I'm the lead developer of a young project called Tomahawk, a "social" music player written in C++ / Qt4
   2 [22:47] <muesli> I know what you're thinking "great, exactly what the world needed, yet another music player", but bear with me for a second. Tomahawk handles your music collection differently than any of the players that you have used so far
   3 [22:48] <muesli> Tomahawk allows you to connect to your friends' music collections via Jabber or Twitter - it simply re-uses your social graphs and tries to find contacts that are currently running Tomahawk. Once you're connected, you can stream all their music and even play your friends' playlists
   4 [22:49] <muesli> Whenever you load a playlist, Tomahawk automatically determines the best source for each of the playlist's tracks: If you have a copy of the track locally it'll prefer that, otherwise the track will get streamed from one of your friends - on demand and automatically. It just plays
   5 [22:50] <muesli> But what if you load a playlist and none of your friends is currently online - and you don't have a local copy of a track either?
   6 [22:50] <muesli> Tomahawk tries to help out and will also find music all over the internet for you. It is extensible by so-called resolvers, which are little plugins or scripts running in the background. They try to find a streamable url for any song you wanna listen to
   7 [22:50] <muesli> Whether it is available on Spotify, Youtube or found on an MP3 blog by Skreemr. It just finds it and plays it
   8 [22:51] <ClassBot> There are 10 minutes remaining in the current session.
   9 [22:51] <muesli> We go even beyond that and try to utilize existing metadata from public APIs (like Echonest or Tomahawk can automatically prefill your playlists by a variety of criteria, so you'll always find a set of tracks that fit your current mood
  10 [22:51] <muesli> Join us on channel #tomahawk and we'll get you started with not only Ubuntu packages, but also Win32 and OS X binaries
  11 [22:52] <muesli> Check out our blog for a few how-to and demo videos: and follow the project on GitHub:
  12 [22:52] <ClassBot> mhall119 asked: How does it know which of your friends is using it?
  13 [22:53] <muesli> That depends on the connectivity (called SIP) plugin you're using. When it comes to Jabber, it'll use a specific resource, so it can identify other Tomahawks in your contact list.
  14 [22:54] <muesli> The Twitter plugin will look for an invite message, which you can either send to all your followers or just a handful of people
  15 [22:54] <ClassBot> mhall119 asked: Have you considered the legal impact (copyright) of streaming music to your friends?
  16 [22:55] <muesli> Yes, we have thought and written about this situation here:
  17 [22:55] <ClassBot> james_w asked: does it stream music over twitter?
  18 [22:56] <muesli> No, it won't use Jabber or Twitter to stream the music. Those protocols are only used to initiate a connection. From there on it's a direct connection between two Tomahawks.
  19 [22:56] <mhall119> thanks muesli, this certainly is a new take on music players!
  20 [22:56] <muesli> Thanks for your time, hope to see you on #tomahawk
  21 [22:57] <mhall119> alright everybody, wrapping up this session and this week is nhandler and our very own lovable, huggable, perl-icious ClassBot!


   1 [22:57] <nhandler> Hello everyone. ClassBot is an IRC bot I wrote a while ago to help with running classroom sessions in #ubuntu-classroom
   2 [22:57] <nhandler> We had a brief lightning talk at UDS given by cjohnston, but no IRC talk was ever given
   3 [22:58] <nhandler> Some information about ClassBot is available here:
   4 [22:58] <nhandler> As you probably have seen, classbot has been working tirelessly this past week to ensure the /topic stays updated and that instructors get voiced and devoiced
   5 [22:59] <nhandler> All of this information comes from of Classroom calendar:
   6 [22:59] <nhandler> ClassBot also helps instructors keep track of questions. You can currently get the next question (if you are an instructor or helper) with: /msg classbot !q
   7 [23:00] <nhandler> You can then choose to have the question go to the classroom (!y) or reject it with (!n [optional comment]).
   8 [23:01] <nhandler> One probably lesser known feature of ClassBot is that it is responsible for keeping the classroom feed up-to-date: . You can subscribe to that feed to always know when a session is goin on.
   9 [23:01] <ClassBot> mhall119 asked: When will the OOP re-write be ready?\
  10 [23:02] <nhandler> mhall119 is asking about a major re-write I am doing to make it easier to add a few features to ClassBot. I've gotten a bit behind due to some real life work, but I hope to start working again after the second week in May. It should be done and ready to launch in #ubuntu-classroom at the end of May.
  11 [23:02] <ClassBot> MeanEYE asked: Does it respond to CTCP. Might be handy so you don't have to switch tabs when getting next question and similar. :D
  12 [23:03] <nhandler> MeanEYE: Switching tabs all depends on your IRC client. For example, I have my client set to show PMs in the current window (rather than creating a new query window).
  13 [23:03] <nhandler> CTCP messages would be a bit inappropriate to use for something like this.
  14 [23:03] <nhandler> So in short, it does not currently respond to them and it probably will not gain that feature.
  15 [23:03] <ClassBot> MeanEYE asked: Did you consider making classroom topic to be displayed before other information? In many clients you have to scroll to find the rest of the text.
  16 [23:05] <nhandler> If by Classroom topic you mean the current session information, I believe we decided to put it on the end to ensure that the information at the beginning always shows up and won't get cut-off due to a lot of instructors and a long session title/event name. So yes, we considered it, but we decided on the current layout (note that it is easily configurable though)
  17 [23:06] <ClassBot> There are 5 minutes remaining in the current session.
  18 [23:06] <nhandler> Any more questions?
  19 [23:08] <nhandler> If you ever have any issues using classbot during a session, I encourage you to stop by #ubuntu-classroom-backstage or ask one of the people listed on the calendar as a helper. They will usually be able to help you or point you in the right direction
  20 [23:08] <nhandler> Finally, if anyone is interested, here is an old set of slides I prepared to explain classbot:
  21 [23:09] <nhandler> Well, this conlcudes my lightning talk, the lightning talk session, and Ubuntu App Developer Week.
  22 [23:09] <nhandler> I hope everyone has enjoyed the lineup of sessions and learned a lot
  23 [23:10] <nhandler> If you ever wish to lead a session (or have a suggestion for a session you would like to see), please do not hesitate to email or stop by #ubuntu-classroom-backstage
  24 [23:11] <ClassBot> Logs for this session will be available at
  25 [23:11] <nhandler> Finally if you missed a session, logs are available on the wiki:
  26 [23:11] <nhandler> Thanks for coming everyone

MeetingLogs/appdevweek1104/LightningTalks (last edited 2011-04-18 13:12:47 by 210)