== App Developer Week -- Lightning Talks -- james_w -- Fri, Apr 15th, 2011 == {{{#!irc [21:59] okay, so for anyone who's not familiar with what a lightning talk is [22:00] it's a very quick presentation, where the speakers only have about 5 minutes to say everything they have to say [22:00] they've become quite popular at conventions [22:00] 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 [22:01] as always, you can ask questions in -classroom-chat === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu App Developer Week - Current Session: Lightning Talks - Instructors: stefano-palazzo, duanedesign, davidc3, kirkland, MeanEYE, muesli, nhandler [22:01] Logs for this session will be available at http://irclogs.ubuntu.com/2011/04/15/%23ubuntu-classroom.html following the conclusion of the session. [22:01] but remember, they only have 5 minutes, so don't expect them to answer everything [22:01] so, without wasting any more of their preciouos time [22:02] our first speaker is sefano-palazzo, talking about StackExchange App }}} === StackExchange App === {{{#!irc [22:02] Hello, I'm Stefano - I'll be talking about StackExchange [22:02] Stack Exchange is a network of question and answer websites [22:02] it includes sites like http://stackoverflow.com, http://serverfault.com, and of course [22:02] http://askubuntu.com - the best place to ask questions and get answers about Ubuntu [22:03] I've also written the Ask Ubuntu Lens for Unity, [22:03] http://askubuntu.com/questions/31712 [22:04] The Lens is designed to work with Ask Ubuntu, but it also supports every other Stack Exchange site [22:05] If you're interested in geographic information systems, guitars, maths, star trek, ... there's probably a site for you. [22:05] If you're running Natty Narwhal, you can add our Team's PPA to install the lens: https://launchpad.net/askubuntu-lens [22:05] 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 [22:06] 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 [22:06] And if you don't know what Stack Exchange or Ask Ubuntu are, [22:07] 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: [22:07] http://blip.tv/file/4909346 [22:08] 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 http://chat.askubuntu.com [22:09] thank you very much for your time :) [22:09] mhall119 asked: does it search every stackexchage site by default, or do you have to enable the ones you're interested in? === tubadaz is now known as tubadaz_away [22:10] 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" [22:11] MeanEYE asked: Will your lense be integrated with default Ubuntu installation? [22:11] the modifier is the first part of the site's URL, what ever comes before .com [22:11] 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 [22:12] alright, thanks stefano-palazzo! [22:12] next up is duanedesign with CLI Companion [22:12] take it away duanedesign === tubadaz_away is now known as tubadaz [22:14] okay, we'll try him again later [22:14] davidc3 is next with Unity Book Lens [22:14] davidc3: ready? }}} === Unity Book Lens === {{{#!irc [22:14] Yes :) [22:14] the floor is yours [22:15] Hello, I'm David and I'm going to introduce you to my pet project: the Books Lens. [22:15] 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. [22:15] More precisely, my goal was to reduce the time from searching to reading: [22:15] To put it another way: type, click, read a book. Like any document on your computer. [22:15] 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. [22:16] 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... [22:16] So it was time to get my hands dirty and I started to blindly modify some values and experiment on stefano's code :) [22:16] I also found the Google Books JSON API documentation to be very helpful. [22:16] 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. === erichammond1 is now known as erichammond [22:17] 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! http://img39.imageshack.us/img39/8454/screenshot4xn.png [22:17] But... my web browser was just a click away and it could do all of this much faster and better... [22:17] So, it was time to had features: [22:17] 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. === crazedpsyc_ is now known as crazedpsyc [22:18] It does work on most searches and find authors from Sophocles http://img861.imageshack.us/img861/7618/screenshotss.png [22:18] ...to Jono Bacon! http://img200.imageshack.us/img200/7219/screenshot1sf.png :) [22:18] Another feature is a localization trick: the lens finds out your session's language and tries to present you books in your language first. [22:18] What's coming next: [22:19] * More focus on free books! (the actual "Free Books" search is clunky, but it will eventually be default). [22:19] For now, most of the time, instead of: "Type, click'n'read", it's: type, click and "an Amazon link, really?" [22:19] * Search in Project Gutenberg and Forgotten Books (with help from Blekko, a really nice search engine) [22:19] * Special searches, like "50's sci-fi"! [22:19] * 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. [22:20] How you can help: [22:20] Add the PPA: https://launchpad.net/~davidc3/+archive/books-lens [22:20] Try it and report bugs: https://bugs.launchpad.net/unity-books-lens [22:20] 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! :) [22:21] Any questions? [22:21] MeanEYE asked: After finding a book using Unity, will default book reader application open or just URL? [22:22] For now, just URL, but the ultimate goal is to open it in the appropriate reader. [22:22] Or device! [22:22] Project Gutenberg makes it very easy to download things in kindle format, for example. [22:23] More questions? [22:23] alright, thanks davidc3, I'm sure i will get less work done in Natty now ;) [22:23] up next is kirkland and Bikeshed [22:23] Thanks mhall119 :) }}} === Bikeshed === {{{#!irc [22:23] mhall119: thanks [22:24] right, so Bikeshed ... [22:24] Bikeshed was the answer to a problem I've struggled with for some time now [22:24] I had a growing number of really cool, convenient scripts stacking up in my own ~/bin directory [22:24] many of which might be useful to other people [22:25] and so I tried to contribute them to upstream projects [22:25] but many of these upstream projects were old, or stagnant; others were new and active, but just uninterested [22:25] more importantly, the actual implementation of a few them them were debated endlessly [22:25] this gave rise to the Bikeshed project [22:26] where the term "bikeshedding" has become very commonly used in modern open source development circles [22:26] http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality [22:26] ^ if you don't know what it means to "bikeshed" [22:27] so anyway, I created the "Bikeshed" project in Launchpad, as a breeding ground for new/interesting/even-trivial-but-helpful scripts and programs [22:27] it's sort of an incubator [22:27] or even an orphanage [22:27] a place I often put things that other people might use, until it finds a more permanent home [22:27] some of the things to land in Bikeshed ... [22:28] most recently, "apply-patch" [22:28] which is a wrapper for patch, that can retrieve patches via URL, and automatically detects the strip-level [22:29] 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) [22:29] col1 .. col9 is a really slick wrapper that does the equivalent of "awk -F"$something" '{print $N}' [22:29] dman remotely retrivies manpages from manpages.ubuntu.com [22:30] wifi-status is a watch wrapper that monitors your wireless connection in real time [22:30] and so on [22:30] a few things have "graduated" out of bikeshed to be projects of their own [22:30] 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 [22:30] (really useful in cloud computing circles) [22:31] and the errno utility was one of the proverbial straw that broke the camels back, and inspired me to create bikeshed [22:31] errno searches Linux error numbers, names, and descriptions [22:32] there's a few more [22:32] but I should probably save a few minutes for quesitons [22:32] questions, even [22:32] my classbot fu is out of date [22:33] MeanEYE asked: Do you have any graphical part of application which can help us easily install/remove scripts? [22:33] MeanEYE: hmm, currently every thing is command line only [22:33] MeanEYE: and bikeshed itself is kind of a mish-mash of random scripts [22:34] 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?? [22:34] 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 [22:34] davidc3: absolutely! every script/program MUST have a manpage to land in bikeshed :-) it's my most important requirement [22:34] davidc3: the best place to learn is http://blog.dustinkirkland.com/search/label/Bikeshed [22:35] alright, thanks kirkland! [22:35] mhall119: thank you! [22:35] so everyone dig around in your ~/bin and see what you can toss in the shed [22:36] Up next is MeanEYE with his app: Sunflower FM! }}} === Sunflower FM === {{{#!irc [22:37] Oh, is it me already. Great! [22:37] Hello everyone. [22:37] My name is Mladen, although using my nick is just fine. [22:37] I'll use this short time span to present you with Sunflower. [22:38] Sunflower is twin-panel file manager based on GTK+. [22:38] Idea is to create keyboard driven file manager that seamlessly integrates into Gnome desktop environment (and Unity of course). [22:39] So, without dragging this more than I should... I'd like to give you a few screenshots of my little program in action. [22:39] http://img231.imageshack.us/img231/2310/screenshot3vk.png [22:39] http://img560.imageshack.us/img560/834/screenshot1pl.png [22:40] http://img855.imageshack.us/img855/3793/screenshotvw.png [22:40] I tried to be creative and add many options but at the same time keep user interface clean and organized. [22:41] I believe many of you already used some twin-panel file manager like Total Commander, Gnome-Commander, Midnight Commander, etc. [22:42] Since I like talking with people, feel free to ask questions. [22:42] For impatient people you can download it from: http://code.google.com/p/sunflower-fm/ [22:43] mhall119 asked: You said it's keyboard controlled, does that mean everything had a keyboard shortcut? [22:43] Yes, not everything but most commonly things do have them. Those that don't have shortcuts can be accessed using a keyboard. [22:44] 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. [22:45] Program is also multi-threaded so if you have more than one core on your processor program will use this. [22:45] mhall119 asked: Is this in Universe or a PPA? [22:46] No, not at the moment. It's still in early alpha stage. [22:46] Although there are some people who are using it heavily without any issues. [22:46] okay, if anybody has any further questions for MeanEYE, feel free to ask [22:47] but now it's time for us to move on to muesli and Tomahawk Player [22:47] 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! [22:47] Ok, thanks every one! }}} === Tomahawk === {{{#!irc [22:47] 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 [22:47] 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 [22:48] 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 [22:49] 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 [22:50] 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? [22:50] 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 [22:50] Whether it is available on Spotify, Youtube or found on an MP3 blog by Skreemr. It just finds it and plays it [22:51] There are 10 minutes remaining in the current session. [22:51] We go even beyond that and try to utilize existing metadata from public APIs (like Echonest or Last.fm). 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 [22:51] Join us on channel #tomahawk and we'll get you started with not only Ubuntu packages, but also Win32 and OS X binaries [22:52] Check out our blog for a few how-to and demo videos: http://tomahawk-player.org/blog/tips_tricks/stations and follow the project on GitHub: https://github.com/tomahawk-player/tomahawk [22:52] mhall119 asked: How does it know which of your friends is using it? [22:53] 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. [22:54] The Twitter plugin will look for an invite message, which you can either send to all your followers or just a handful of people [22:54] mhall119 asked: Have you considered the legal impact (copyright) of streaming music to your friends? [22:55] Yes, we have thought and written about this situation here: http://tomahawk-player.org/legal [22:55] james_w asked: does it stream music over twitter? [22:56] 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. [22:56] thanks muesli, this certainly is a new take on music players! [22:56] Thanks for your time, hope to see you on #tomahawk [22:57] alright everybody, wrapping up this session and this week is nhandler and our very own lovable, huggable, perl-icious ClassBot! }}} === ClassBot === {{{#!irc [22:57] Hello everyone. ClassBot is an IRC bot I wrote a while ago to help with running classroom sessions in #ubuntu-classroom [22:57] We had a brief lightning talk at UDS given by cjohnston, but no IRC talk was ever given [22:58] Some information about ClassBot is available here: https://wiki.ubuntu.com/Classroom/ClassBot [22:58] 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 [22:59] All of this information comes from of Classroom calendar: http://people.ubuntu.com/~nhandler/classroom.html [22:59] 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 [23:00] You can then choose to have the question go to the classroom (!y) or reject it with (!n [optional comment]). [23:01] One probably lesser known feature of ClassBot is that it is responsible for keeping the classroom identi.ca feed up-to-date: http://identi.ca/ubuntuclassroom . You can subscribe to that feed to always know when a session is goin on. [23:01] mhall119 asked: When will the OOP re-write be ready?\ [23:02] 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. [23:02] 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 [23:03] 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). [23:03] CTCP messages would be a bit inappropriate to use for something like this. [23:03] So in short, it does not currently respond to them and it probably will not gain that feature. [23:03] 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. [23:05] 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) [23:06] There are 5 minutes remaining in the current session. [23:06] Any more questions? [23:08] 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 [23:08] Finally, if anyone is interested, here is an old set of slides I prepared to explain classbot: http://people.ubuntu.com/~nhandler/myslides/ [23:09] Well, this conlcudes my lightning talk, the lightning talk session, and Ubuntu App Developer Week. [23:09] I hope everyone has enjoyed the lineup of sessions and learned a lot [23:10] 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 ubuntu-classroom@lists.ubuntu.com or stop by #ubuntu-classroom-backstage [23:11] Logs for this session will be available at http://irclogs.ubuntu.com/2011/04/15/%23ubuntu-classroom.html [23:11] Finally if you missed a session, logs are available on the wiki: https://wiki.ubuntu.com/UbuntuAppDeveloperWeek [23:11] Thanks for coming everyone }}}