[00:02] jcastro, I took the bait and had a go at it. === Vic is now known as Guest92032 === rrittenhouse_ is now known as rrittenhouse === 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 || UOW Survey: http://is.gd/fZlwL || Event: Ubuntu Open Week - Current Session: Accessibility is Important - Instructors: charlie-tca [15:01] Welcome to Ubuntu Open Week's Wednesday sessions! This has been a really exciting week, and it just keeps going. [15:01] Logs for this session will be available at http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html following the conclusion of the session. [15:02] My name is Charlie Kravetz, also known as charlie-tca on IRC and the mailing lists. I would like to welcome everyone to a great time. [15:03] I will attempt to answer your questions during my session, but please place QUESTION: in front so the question is visible. [15:03] for example: [15:03] QUESTION: what is accessibility? [15:03] These are asked in #ubuntu-classroom-chat [15:04] I will then repeat the question here, and then answer it. If your question is not shown right away, don't repeat it fast. I will either answer it later, or tell you why. [15:05] Accessibility in Ubuntu, means the ability of anyone with a disability to use it [15:05] see, I answered. [15:05] Any questions? [15:06] Great! Let's get this rolling then [15:06] The leaders of the Ubuntu Accessibility Team are Penelope Stowe (pendulum) and Luke Yelavich (TheMuso). Penelope focuses on the outreach and documentation side of the team, while Luke runs the development side. [15:06] I triage accessibility bugs, and am in the process of re-writing the Accessibility Team wiki. The wiki is located at https://wiki.ubuntu.com/Accessibility . [15:06] Accessibility focuses on the Ubuntu desktop, because Gnome has good accessibility features. Would we like to see that expanded? Of course we would! [15:07] Want to know what accessibility means to us? If you are a non-disabled person, turn off your monitor and use your computer. [15:08] Can't do that? Missing anything? now put one hand behind your back and turn the monitor back on. [15:08] Go ahead, use your computer as you normally would! [15:08] Hmm, difficult to type now? [15:09] nigelb asked: As a non-disabled person, how can I help the accessibility team? [15:11] The Accessibility Team needs your help. We need to update our team wiki at https://wiki.ubuntu.com/Accessibility , we need to make sure accessibility features work, we need artwork that is visible for all of us. [15:11] We also need to advocate for Accessibility in all derivatives of Ubuntu, as well as applications. [15:12] I can give more references later. [15:12] The Accessibility Team has conducted a survey and created personas under the guidance of Penelope. We are now able to identify solutions and if required coordinate development to implement them. We also aim to increase awareness of the issues around accessibility with the rest of the Ubuntu project. [15:13] This session isn't a how-to guide and won't go into a huge amount of detail into any one program. I just hope to raise your awareness, if I can. I also want to get you involved, if possible. [15:13] Since Ubuntu 10.10 is the latest release, I will address software available in that Ubuntu 10.10 as well as Ubuntu 10.04 LTS. [15:14] Before I talk about specific programs, I want to talk about the Assistive Technologies menu, which can be found in System->Preferences -> Assistive Technology. [15:15] This menu is where you can select your preferred accessibility programs and enable assistive technologies. [15:16] You can use this menu to specify things such as how long to accept as a keypress, how to prevent accidental double clicking, and how quickly to respond to key presses. [15:16] This is also where I slow my own mouse double-clicks down so it knows about them. [15:17] It's also useful for turning off and on sticky keys or specifying keystrokes to stand in for things you'd normally do with a mouse. [15:18] This is also the menu you use to specify which programs you want for an alternate keyboard or as a screen reader. [15:18] Okay, before I start talking about programs, are there any questions on the Assistive Technology menu? [15:18] Question :i am not getting that why are you writing that one ...can you please give me a clear reason about that....please [15:19] Accessibility in Ubuntu, means the ability of anyone with a disability to use it [15:19] That is, for every person to be able to use a computer, regardless of their ability or disability. [15:20] that does help, genupulas ? [15:20] The first set of programs I'm talking about are the text-to-speech programs. [15:21] The most popular of these is the Orca, although it isn't strictly a screen reader, as it has other capabilities. [15:21] Orca includes a screen reader, magnification capabilities, and braille capabilities, so it is more than text-to-speech, however most people when you say Orca think of it as a screen reader. [15:21] Orca was developed by the Accessibility department at Sun Microsystems, however, with the aquisition of Sun by Oracle, it has moved to community-development only. [15:21] Orca can work with programs that include the at-spi toolkit including the GNOME desktop, Firefox, OpenOffice, and many others. [15:22] It can also be used with Xfce based applications. [15:22] More information about Orca can be found at http://live.gnome.org/Orca . [15:23] Okay, any questions about Orca (named for the whale)? [15:23] Another text-to-speech program is eSpeak. eSpeak is command line based. It supports quite a few different languages. [15:24] There are several different versions of eSpeak including one specific to emacs. [15:24] More information can be found at http://espeak.sourceforge.net/ . [15:24] These are the two main text-to-speech/screen reader options in the Software Center. [15:25] Are there any questions about espeak or other questions about text-to-speech in Ubuntu? [15:25] At the present time, there are no assistive technologies for people with learning/developmental difficulties specifically. Orca and some of the other programs are used by people with learning/developmental disabilities. [15:25] One thing that happens in the open source world is that other that specific hardware needs (such as integration with braile keyboards or USB switches), things are developed towards what the software needs to do, not why the person needs that software. [15:26] okay, moving on from text-to-speech, I'm going to quickly cover magnification software. [15:26] The two bits of magnification software commonly found in Ubuntu are gnome-mag and the magnification part of Orca. [15:26] These applications allow you to move the magnification screen around your desktop so as to give the total view. [15:26] For the normal sighted person, they can be cumbersome to use, but for the visually impaired, they allow us to see the entire screen. [15:27] Next I want to talk about alternate keyboards. [15:27] These are programs which can be used to replace or augment a traditional keyboard. They usually directly interface with the mouse however the mouse may be controlled. [15:27] The built-in alternate keyboard for Ubuntu is onBoard. It is basically an on-screen keyboard. [15:28] It includes everything except the function keys from a regular keyboard. [15:28] You click on the key or a sequence of keys using the mouse and it inputs directly into whatever program you're working on. [15:28] Not only useful as assistive technology, it's rather useful for people using Ubuntu on a tablet. [15:29] Unfortunately, you do need a mouse or other device to be able to use OnBoard [15:29] The other well known option for alternate keyboard capabilities is Dasher. [15:29] Dasher, rather than having a keyboard set-up, is mouse controlled by hovering the mouse over the letters on the screen. [15:29] It also has predicitve text capabilities, which can be quite useful. [15:29] If you run Dasher from the Applications menu in Ubuntu, it prints the characters in its own text editor and you can copy and paste into other programs. [15:30] From the command line you can run " dasher -a direct " which allows direct input into other programs. [15:30] There are also Windows and MacOS X versions of Dasher. [15:30] For those who have never tried an application like Dasher, I urge you to give it a chance. It is really fascinating how it builds words and sentences. [15:31] For more information (including video and a way to try without downloading) you can go to http://www.inference.phy.cam.ac.uk/dasher/ . [15:31] By all means, go to the website and try it for yourself. [15:31] Any questions about Alternate keyboards? [15:31] There are two programs in Ubuntu that help with alternate mouse controls. [15:32] These are applications that allow you to actually use the mouse without using your hands, if needed. [15:32] First, MouseTrap allows headtracking using a webcam to control your mouse. [15:33] The other application, MouseTweaks works with the Assistive Technologies menu to give the ability to allow the mouse to "click" even if the mouse user can't actually make the motion that allows a mouse to click normally. [15:33] These are terrific programs for those who can not use the hardware mouse! [15:34] And now the topic that everyone asks about: Voice Recognition software. [15:34] The short answer is that there are hacks and there are programs that sort of work, but there aren't great results for voice recognition in Ubuntu. [15:34] The only voice recognition software in the Software Center is Julius. Julius was originally developed in Japanese and is being ported to English. [15:35] Wait! A chance to help, even if you have no disability. [15:35] Unfortunately, as it's not finished software, the documentation is lacking. [15:35] The other thing which has worked for some Ubuntu users is to run Dragon Natural Speaking under Wine. [15:36] and, yes, sometimes we do have to accept that Microsoft and Wine work for us. [15:36] Any voice recognition questions? [15:37] jothejo2 asked: charlie-tca what is accessibility? [15:37] hm, you must be one of our late arrivals. [15:38] Accessibility means that anyone can use the computer. It doesn't matter if they have a physical disability, a visual disability, deafness, or any other issues. [15:38] All of us want to be able to use the computer just as everyone else can. [15:39] And, yes, I will answer that as many times as it is asked. Accessibility is very hard for the "normal" person to understand. [15:40] Now I want to talk quickly about Ubuntu derivatives which focus on accessibility (or have some relevence). [15:40] Probably the biggest of these at the moment is Vinux. [15:40] Originally started to be optimised for blind and visually impaired users, at this time, possible accessiblity additions or changes are tested in Vinux first. [15:41] For more information about Vinux, visit the website at http://vinux.org.uk/ . [15:41] Finally, we have Qimo4kids, which mhall119 developed partially as a way to create something that would be easy for kids with developmental disabilities to use. [15:42] There was a great session on Qimo4Kids yesterday. the logs are available at http://irclogs.ubuntu.com/2010/10/12/%23ubuntu-classroom.html for anyone that missed it. [15:43] sebsebseb asked: Does the accessibility team also work with upstreams such as Gnome, to make them more accessible? [15:43] Great question, sebsebseb [15:44] Yes, we do. Since Gnome has the best accessibility features of all the desktop environments, we work very closely with them. [15:44] as a matter of fact, Gnome A11y team is also often useful: gnome-accessibility-list@gnome.org & http://projects.gnome.org/accessibility/ [15:45] sebsebseb asked: Gnome 3 is coming, how do you think it will effect the accessability team? [15:46] This is a difficult question to answer. [15:46] Current changes in Gnome are making accessibility more difficult to integrate well. [15:47] I am sure they are temporary drawbacks, and the accessiblity team is working with the Gnome developers to insure access for everybody. [15:49] Where to get help or information: [15:49] The accessibility wiki is https://help.ubuntu.com/community/Accessibility [15:50] as well as http://wiki.ubuntu.com/Accessibility (which is out of date and in process of updating) [15:50] The Accessibility section of Ubuntu Forums [15:50] #ubuntu-accessibility on IRC [15:51] The mailing list at ubuntu-accessiblity@lists.ubuntu.com [15:51] There are 10 minutes remaining in the current session. [15:51] The ubuntu accessibility team wiki is http://wiki.ubuntu.com/Accessibility/Team [15:51] quietone asked: what about when I create documents, what can I do to increase their accessibility? [15:52] Great question from quietone! [15:52] Are your documents written using good grammar? [15:52] Are there references which are incomplete? [15:53] by that, I mean, things that the normal person sees, such as a wiki reference that reads "wiki.ubuntu.com" instead of "https://wiki.ubuntu.com" [15:54] that is a simple thing for most people. When the document is put on line, are the fonts fixed? Can I increase the size if needed without losing half the information? [15:54] Can I not have a document without contrasts? grey on black is really not visible. [15:55] Question: how well does 'simon' work? [15:55] I am not familiar with simon. I can not answer this for you. [15:55] There are 5 minutes remaining in the current session. [15:57] QUESTION: Please explain "Can I increase the size if needed without losing half the information" or make a recommendation of what to do. [15:58] On many on-line websites, the fonts are fixed. That is, the website creator has specified the font size in a css file. [15:59] When I go to that site, I use Ctrl + plus to increase the font size, and the font grows. Unfortunately, when I do that, the words go away from the page. [15:59] I can then read what should be there, because growing the font to make is visible makes it too big for the site pages. === 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 || UOW Survey: http://is.gd/fZlwL || Event: Ubuntu Open Week - Current Session: Intro to Ubuntu Development - Instructors: bilalakhtar - Slides: http://people.ubuntu.com/~nhandler/slides/openweekmaverick/IntroductionToUb [16:01] I hope this information is useful to you. We are always looking for more people to become more involved in Accessibility. [16:01] Slides for Intro to Ubuntu Development: http://people.ubuntu.com/~nhandler/slides/openweekmaverick/IntroductionToUbuntuDevelopment.pdf [16:01] Logs for this session will be available at http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html following the conclusion of the session. [16:02] Hellos folks [16:02] Hello people and welcome to the third day of the Ubuntu Open week! [16:02] The next session will be taken by bilal and here he is :) [16:02] Hello people and welcome to the third day of the Ubuntu Open week! [16:02] I am Bilal Akhtar, 14 (yes, 10+4) years old, studying at Delhi Public School, Riyadh, Saudi Arabia, though I am Indian by origin [16:02] sorry for repeating that line, happened by mistake [16:03] I am an Ubuntu Developer, and hence, I am here to give you an introduction to Ubuntu Development! [16:03] [SLIDE 1] [16:03] Before I begin with the session, I want you people to install the following packages, since these will be needed in packaging an application. [16:03] These packages are: dpkg-dev build-essential dh-make fakeroot devscripts . To install them, type in a terminal: [16:04] sudo apt-get install dpkg-dev build-essential dh-make fakeroot devscripts [16:04] [Slide 1] [16:06] So let's begin! [16:06] If you want to ask a question, ask it on #ubuntu-classroom-chat with the prefix QUESTION: eg. QUESTION: What does 'foo' mean? [16:07] Now, create an empty directory in your home directory [16:07] since I will now tell you how to package a small C application [16:07] [SLIDE 2] [16:08] Name the directory hello-packaging [16:08] and open a terminal and cd into it by typing cd hello-packaging [16:08] Then, download the source code of the upstream package. What is upstream? Let me explain [16:09] Upstream refers to the original application. The upstream application is packaged and made into a Debian package, also called a deb [16:09] Download the upstream source by running this command: [16:09] wget http://ftp.gnu.org/gnu/hello/hello-2.6.tar.gz [16:10] then extract the source by running: tar xzf hello-2.6.tar.gz [16:10] Okay, machinezilla just tols something about a postfix problem he is facing [16:10] sorry for ignoring it earlier [16:11] Set it to No configuration [16:11] nisshh asked: apparently there are multiple ways to package something, which is confusing for new developers, is there a "recommended" or "simple and easy" way to package the majority of things? [16:12] Of course there are multiple ways of packagign [16:12] *packaging [16:12] Packaging Python/PHP/Perl applications involve different processes [16:12] The simplest is packaging C/C++ apps [16:13] there are different ways in that as well [16:13] but I am telling the latest and best of them [16:13] which is, of course, *recommended* for new packages [16:13] Right! [16:14] Now, you shall have 1 folder and 1 file in your directory [16:15] Rename the hello-2.6.tar.gz file to hello_2.6.orig.tar.gz [16:15] and then cd into the hello-2.6 directory [16:15] okay, now you need to set up your packaging environment [16:15] for which you need to run the below commands: [16:16] echo "export DEBEMAIL \"YOUR_EMAIL_ADDRESS@something.com\"" >> ~/.bashrc [16:17] Replace YOUR_EMAIL_ADDRESS@something.com with your e-mail address [16:17] Alo run: [16:17] echo "export DEBFULLNAME \"Your Full Name\"" >> ~/.bashrc [16:17] Then run : [16:17] gpg --gen-key [16:18] Answer the questions, and you shall have a gpg key [16:19] Now, I assume you are in your hello-packaging/hello-2.6 directory === abadr_ is now known as abadr [16:20] Run the below command: === abadr is now known as badara [16:20] dh_make -c gpl3 -s === badara is now known as ABadr [16:21] -c gpl3 specifies the license === ABadr is now known as Badr [16:21] and -s means a single binary package === Badr is now known as ubuntero [16:21] Now, your hello-2.6 folder must be having a debian/ subfolder [16:21] cd into it [16:21] we need to remove the extra files [16:21] to do that, run: === 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 || UOW Survey: http://is.gd/fZlwL || Event: Ubuntu Open Week - Current Session: Intro to Ubuntu Development - Instructors: bilalakhtar - Slides: http://tinyurl.com/244y3k7 [16:22] [SLIDE 2] [16:23] Make sure you are in the debian folder, and run: [16:24] rm *ex *EX README.* info docs [16:25] Now, open the control file in the debian folder with your favourite text editor [16:25] Set the Homepage: line to Homepage: http://www.gnu.org/software/hello/ [16:26] This is the link to the main page of the project [16:26] And, you will need to add a description as well [16:26] so edit the Description: line and add a short description just after Description: [16:27] machinezilla asked: i am stuck at gpg keygen step. i keep getting the following: Not enough random bytes available. Please do some other work to give [16:29] You must leave it at the step for some time (upto 5 mins) so that it has enough random bytes [16:29] So I was at the Description: step [16:30] Enter a long description BELOW the line, intended with spaces [16:30] like this: [16:30] Hello is a tiny program that prints Hello World! [16:31] It follows GNU standards in coding [16:31] and can be translated into other languages [16:31] Make sure each line has a space before it, otherwise the description won't come as intended [16:32] Now, save and close the control file [16:32] Ignore the compat file, its usage is beyond the scope of this tutorial [16:32] Open the copyright file [16:34] In real packaging, you will have to fill the placeholders in the file with real URLs and real authors [16:34] that's all about this file [16:34] now, open control again [16:34] I missed something in it [16:35] Change the Section: to Section: misc [16:36] And remove the #Vcs- fields [16:36] Save and exit [16:36] Since this is a simple C application using GNU autotools [16:36] you don't need to modify the rules file [16:36] however, if you follow other packaging techniques, you do need to [16:37] so now for the changelog file [16:37] The changelog contains a list of all the changes in a package, version-by-version [16:37] let me give an example [16:38] http://changelogs.ubuntu.com/changelogs/pool/universe/a/a2ps/a2ps_4.14-1.1/changelog [16:38] This is a typical changelog [16:38] Too confusing, eh? But there is a utility to help you deal with debian changelogs [16:38] which is debchange [16:39] You already have it installed as part of package devscripts [16:39] so poke it with: [16:39] debchange -e [16:39] If it asks for an editor, select your favourite one [16:39] Now, let us analyse the changelog [16:39] The first line is something like this: [16:39] hello (2.6-1) unstable; urgency=low [16:39] Change unstable above to maverick [16:40] 2.6-1 is the version [16:40] though when packagign for Ubuntu it would be 2.6-0ubuntu1 [16:40] 2.6 is the upstream application number, 0 is the debian version for a package not in Debian, and 1 is Ubuntu revision number [16:40] Modify the second line like this [16:41] * Initial Release [16:41] that's all [16:41] Save and close [16:41] Now, run debuild in the terminal [16:41] machinezilla asked: what are the #Vcs fields? [16:41] They contain the links to the upstream revision control source location [16:41] What is that? [16:42] Its a link to the place where the latest source code is located [16:42] daker asked: do i have right to package a proprietary software ? [16:42] Yes you can, but you will need to have access to the source [16:42] and [16:42] you will need to mention about the license of the package PROPERLY in debian/copyright [16:43] Now, as I said, run the command debuild [16:43] It will build the package [16:43] machinezilla asked: so the vcs field is the "Homepage:" field? [16:43] no [16:43] Homepage: refers to the home page of the software project [16:43] which is meant for user [16:43] *users [16:44] while Vcs-* fields point directly at the developer source of the package [16:44] I hope the package is built now [16:44] and in the hello-packaging folder you should have a deb file [16:45] Congrats! You just packaged an application! [16:46] [SLIDE 3] [16:47] Oops, sorry for not mentioning this earlier [16:47] but you will need to modify the Maintainer: field in debian/control to: Maintainer: Ubuntu Developers [16:47] Now building should work [16:48] As the slide shows, Ubuntu is based on Debian http://www.debian.org [16:49] [SLIDE 4] [16:49] The slides now tell everything [16:49] Please ask questions if you have any [16:50] [SLIDE 5] [16:51] https://wiki.ubuntu.com/UbuntuDevelopment/Merging outlines the merging process [16:51] There are 10 minutes remaining in the current session. [16:52] [SLIDE 6] [16:52] autif asked: If I have a piece of software (say) of source forge or git hub and I want to submit it to debian. Where do I sent it to to be included as a part of the official repository? [16:53] Wait a minute, I am searching for a link [16:54] [SLIDE 7] [16:55] http://wiki.debian.org/HowToPackageForDebian [16:55] and [16:55] There are 5 minutes remaining in the current session. [16:56] [SLIDE 8] [16:56] http://mentors.debian.net/cgi-bin/maintainer-intro should help you if you want to get a new package in debian [16:57] https://wiki.ubuntu.com/ContributingToDebian will also help you [16:57] autif asked: What is the level of testing expected before that package is submitted to the official repository - I mean if my fav distro is xubuntu, do I need to test it on ubuntu or latest debian? [16:57] As I said [16:57] new packages should come into Debian first [16:58] so testing with latest Debian is the best [16:58] Xubuntu uses same repos as Ubuntu [16:58] [SLIDE 9] [16:58] And Ubuntu syncs from Debian [16:58] so getting a package in Debian will mean that it will come everywhere :) [16:58] kstailey_ asked: What does it take to get a PPA into Multiverse? [16:58] What do you actually mean? [16:59] You mean, a PPA Package? [16:59] you will need to check it for errors [16:59] [SLIDE 10] [16:59] And then apply through the sponsorship process for new packages [16:59] https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages [16:59] is the process :) [17:00] machinezilla asked: debuild is failing at gpp step. see paste: http://paste.ubuntu.com/512465/ [17:00] Make sure that your DEBEMAIL and DEBFULLNAME variables are set [17:00] and your GPG key e-mail address matches it [17:00] okay, almost time up [17:00] Any more Qs? === 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 || UOW Survey: http://is.gd/fZlwL || Event: Ubuntu Open Week - Current Session: Intro to Ubuntu and Cloud, running your 1st Ubuntu Server on EC2 - Instructors: kim0 [17:01] Logs for this session will be available at http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html following the conclusion of the session. [17:01] Good Morning, Good Afternoon and Good evening folks [17:01] Let me introduce myself .. This is Ahmed Kamal [17:01] I am the Ubuntu cloud liaison [17:02] So this session is cloud computing basics [17:02] Basically .. it introduces what cloud computing is all about [17:02] I do hear a lot from people who wonder what this cloud thing is all about [17:03] and what's in it "for me" [17:03] this session is exactly for that .. If you're more advanced however, I'd like to invite you to also attend the next session [17:03] by Dustin kirkland, a developer on the Ubuntu server team [17:04] This session is two parts [17:04] part1: I give an intro to cloud, and we have a Q+A session [17:04] part2: I will demo launching your first Ubuntu server VM on the Amazon EC2 cloud [17:05] which will include using cloud-init, a unique Ubuntu server package that makes it easier to work with VMs in the cloud [17:05] So the first thing you need to know about cloud computing .. is that everyone who knows about it has a different view on what it really is [17:06] i.e. every person has some definition, which I'm sure many other quite knowledgeable people would disagree about [17:06] If you're using Gmail/Facebook/Dropbox .. you're already using cloud computing [17:06] and you probably don't even know it! [17:06] I won't try to present a conclusive definition of cloud computing here, but I will say any cloud vendor should provide the following properties [17:07] -Pay per use [17:07] -Instant Scalability [17:07] -Security (If you trust your provider) [17:07] -Reliability [17:07] -APIs [17:07] let me quickly comment on each of those points [17:07] the first .. pay per use, really means that you only pay for what you use [17:08] this is as opposed to a more traditional VPS (Virtual Private Server) [17:08] where you rent by the month .. [17:08] in the pay per use model .. you can use 100 servers for 1 hour and only pay for that! [17:08] -Instant Scalability [17:08] This one means .. that most cloud providers [17:09] do not limit your scaling .. ie if you need more storage or more servers [17:09] you can go ahead and just get them .. no need for pre-committment [17:09] -Security (If you trust your provider) [17:09] Well .. a major debate point [17:09] however .. Some people will never trust their data on someone else's data-center [17:10] however .. some other people will say ... [17:10] just as you trust the bank with your money .. trust us with your data [17:10] it really depends on how valuable your data is to you, how much you trust the provider [17:11] however .. if you have no dedicated IT staff .. throwing your load on a public cloud may even provide better security than running things in house [17:11] -Reliability [17:11] Most cloud vendors will invest in building a reliable data center [17:11] replicated storage [17:11] fault tolerant equipment ...etc [17:11] you gain all of that .. [17:12] -APIs [17:12] The final point .. and it basically means that you control your cloud virtual data center [17:12] through a set of APIs [17:12] APIs are Application Programming Interfaces [17:12] basically .. a way to programmatically create servers, storage, hook them up together [17:13] so you can basically script or program everything that builds your entire virtual data-center [17:13] "automation" is thus big in the cloud world [17:13] and APIs do enable that [17:13] when you're managing hundreds or thousands of virtual servers .. automation is generally important [17:14] so .. [17:14] In essence when you decide to use cloud computing, you're outsourcing your IT services (storage, infrastructure, ...etc) to a vendor that uses his skills to provide a reliable,secure service and uses the economies of scale to provide them at very competitive prices [17:14] Any questions so far ? [17:15] jack002 asked: What happens if vendor stop supporting a cloud? [17:16] The question is what about if my cloud vendor dies/disappears/goes-out-of-business [17:16] A very valid concern indeed [17:16] that is why most cloud concerned IT people [17:16] try to avoid "vendor lock in" [17:16] which means having a standard API to manage your cloud [17:17] and being able to quickly and easily migrate your data and infrastructure off to a different cloud [17:17] there is a lot of effort in that direction [17:17] standardizing APIs .. [17:17] writing wrapper tools like the delta-cloud wrapper [17:17] to standardize cloud management [17:17] however .. the whole scene is too young and fast moving .. so there is not definitive answer yet [17:18] however indeed .. vendor lock in is something you should care about [17:18] Alright [17:18] So, let's move on to the different types of clouds [17:18] Most people categorize clouds as either [17:18] -IaaS [17:19] -PaaS [17:19] -SaaS [17:19] being .. Infrastructure, Platform, Software [17:19] as a Service [17:20] IaaS: Basically means .. you get the low level infrastructure as a service. i.e. what you get is, raw storage, networking bandwidth, load balancers, servers ...etc [17:20] and you build your code and applications on top [17:20] very similar to physical servers really [17:20] This is similar to the Amazon EC2 cloud .. the rackspace cloud and many others [17:20] PaaS: being .. Platform .. you get a "platform" to code against! [17:21] i.e. you don't really see "machine" and "storage" [17:21] you may not even know how many machines your code is running on [17:21] you may not know how the network is configured! [17:21] What you do get [17:21] is a "File-system" for example to put shared data on [17:21] you'd get an API to store/retrieve data from [17:21] ...etc [17:22] How this database you're using is actually configurd .. where does it run .. is none of your concerns! [17:22] The prime example of a PaaS .. is the Google App Engine platform [17:22] The major benefit of PaaS .. is that you don't care/know about the low level stuff [17:23] it all "just works" as far as you're concerned [17:23] however .. the bad part .. is that you don't know the low level stuff also! [17:23] you cannot change anything .. you have almost zero control on the low level configuration ...etc [17:24] Another major benefit, is that you get scaling, for very little or almost no effort [17:24] on the other hand .. with IaaS .. [17:24] you would have to build your application in a scalable manner [17:24] you'd have to use load balancers .. use caching in a smart way .. [17:24] manage DB replicas .. manage DB sharding ... etc [17:24] lots of stuff, which may consume a lot of effort [17:25] The last cloud type we mentioned was [17:25] -SaaS [17:25] basically Software as a service [17:25] What this means .. is that you get a final completed "Software" running in the cloud [17:25] and you just use it! [17:25] examples .. are like Salesforce.com [17:26] It is a complete CRM application [17:26] that is running in the cloud [17:26] you don't need to worry about buying servers, buying storage, running or scaling it [17:26] or backing it up ...etc [17:26] you just pay per use [17:27] the simplicity and benefits are obvious .. while of course vendor lockin is also fairly obvious and problematic [17:27] Cool .. [17:27] Another classification type of Clouds [17:27] is [17:27] private, public, hybrid [17:27] let's quickly comment on that [17:28] -Private: Means a cloud that you built and that you control .. in-house .. behind your firewall .. in your own datacenter [17:28] An enterprise may very well build its own private cloud for its internal users [17:29] -Public: This basically means a cloud that's available publicly on the Internet for anyone that pays [17:29] -Hybrid: This one is a mix of both public and private [17:29] for example .. you may build an inhouse cloud that handles the average load [17:29] however .. a couple of days per month [17:29] you get 5x the normal load for some reason [17:30] so you decide to "burst" out [17:30] to some public cloud [17:30] so you start some virtual servers (VMs) on a public cloud [17:30] perhaps establish a VPN connection between your enterprise and the public cloud [17:30] et voila .. you can expand your virtual datacenter as much as you want to handle the extra load [17:31] so .. any questions so far [17:32] kstailey_ asked: is libcloud an API? [17:32] libcloud is an abstraction library [17:32] that works across many cloud vendors [17:33] so if you're writing an in house script that connects to a public cloud [17:33] creates a few servers and configures them [17:33] if you build your script over libcloud [17:33] you'd be able to quickly replace [17:33] Amazon ec2 for example .. by linode [17:33] across many others [17:33] this is part of the solutions to the vendor lockin problem [17:34] ongolaBoy asked: I guess that all this kind of cloud involve tons of complex hardware and software to run. Am I right ? [17:34] Well .. [17:34] remember when we said public vs private clouds [17:34] One thing I would like to mention is that you can build a private cloud [17:35] today using Ubuntu [17:35] using Ubuntu Enterprise Cloud [17:35] UEC [17:35] that is integrated with the Ubuntu server CDs [17:35] to answer your question about "complexity" [17:35] I would say it is very "simple" for a sysadmin type person to install and get UEC cloud running [17:36] after all everything is easier with Ubuntu :) [17:36] however .. [17:36] of course for production clouds that serve the whole world [17:36] the likes of Amazon and Google data-centers [17:36] indeed the hardware and software involved can become quite involved [17:36] requiring teams of highly skilled unix geeks to keep up and running [17:37] you can start small .. UEC for example can be run on only 2 machines [17:37] or with some hacks .. even just one machine [17:37] and grow your infrastructure as much as you want [17:37] kstailey_ asked: does it make sense to run PaaS on Iaas? [17:38] Good question [17:38] It makes sense to me [17:38] The most popular PaaS platforms are however proprietary [17:38] for example .. the Google App Engine code is closed AFAIK [17:39] if it were open .. you could definitely get it running over IaaS [17:39] after all .. it needs to run over something [17:39] there definitely are some smaller PaaS frameworks that you can start using [17:39] I remember coding against a framework called web2py [17:39] which could either be deployed locally [17:39] OR could be deployed to run over google app engine [17:40] such solutions may be a good starting points to avoid vendor lockin [17:40] komputes asked: This all sounds great but how does one do this virtual datacenter expantion with minimum development knowledge? [17:41] Not sure if "development" in your question means linux sysadmin knowledge or actually development knowledge writing your app [17:42] with APIs .. you basically can create a virtual data-center [17:42] without too much IT infrastructure knowledge [17:42] i.e. without much knowledge of servers, storage, networking ...etc [17:42] an application developer can get by perhaps without a Linux admin at all [17:42] however .. ofcourse you still need app development skills to run your app [17:43] even more so .. to create an app that can be scaled to take advantage of the cloud [17:43] komputes asked: Is there a pre-built solution for using a cloud as a remote desktop middle-man (i.e. I want to support grandma but both of us are behind a firewalls and both ends can't port forward - not admin) [17:44] I don't think you need a cloud for that .. you can use applications like TeamViewer or logmein (free but not foss) [17:44] although you could write your own app if you wanted to of course [17:44] kstailey_ asked: how long before we see Ubuntu switch to OpenStack? [17:45] UEC is built on top of the best open source cloud technologies [17:45] at the moment .. that is Eucalyptus [17:45] openstack is a fine piece of evolving technology though [17:45] it's already in maverick universe .. so you can go ahead and play with it [17:46] we're kinda running out of time [17:46] just wanted to mention a couple of killer cloud use cases [17:46] If your application load varies significantly (top load / least load > 10) [17:46] then you most likely will benefit from running your load over a cloud [17:46] examples [17:46] The Washington Post: 200 EC2 instances (1,407 server hours), convert 17,481 pages of Hillary Clinton’s travel documents within 9 hours [17:47] The New York Times used 100 Amazon EC2 instances + Hadoop application to recognize 4TB of raw  TIFF image into 1.1 million PDFs in 24 hours ($240)  [17:47] Okay [17:47] so let's start with a quick demo [17:47] which I hope is going to actually work :) [17:47] In this demo we will use Amazon's EC2 cloud [17:47] we will launch Ubuntu server [17:48] Note that [17:48] if you want to experience Ubuntu server over EC2 cloud yourself [17:48] You can [17:48] For Free ! [17:48] Well actually Canonical pays for you [17:48] You can run it for an hour [17:48] by visiting http://10.cloud.ubuntu.com === [[NEO]] is now known as Neo31 [17:50] The first thing is identifying [17:50] which Ubuntu server you want to run [17:50] you can do so by visiting [17:50] http://uec-images.ubuntu.com/releases/maverick/release/ [17:50] or you can replace maverick by any other release name [17:50] You can pick any AMI you want [17:50] AMI = Amazon Machine Image [17:51] There are 10 minutes remaining in the current session. [17:51] basically a blueprint/template of the virtual server you will start [17:51] assuming you have the ec2 tools setup correctly [17:51] You can create and launch your server with one command like [17:51] ec2-run-instances ami-508c7839 --instance-type t1.micro --region us-east-1 -k MyEC2Key --user-data-file=cloudinit.txt [17:51] ami-508c7839 : Is the AMI we chose [17:52] t1.micro = is the smallest machine Amazon provides [17:52] MyEC2Key: Is my private key (my password if you will) [17:52] cloudinit.txt : [17:52] That is one interesting feature of Ubuntu in the cloud [17:52] cloud-init is a feature which allows the VM to automatically customizes itself [17:53] as it boots [17:53] i.e. you can tell the machine [17:53] to upgrade all software (apt-get upgrade) [17:53] and install apache2 [17:53] all while booting [17:54] Take a look at [17:54] http://paste.ubuntu.com/512497/ [17:54] Which shows the cloud-init file I am using [17:54] This file ensures that [17:54] the VM upgrades itself [17:54] runs byobu [17:54] imports my ssh public key from launchpad! [17:55] automatically so I can login [17:55] installs apache [17:55] and runs some commands at machine boot time [17:55] this is of course awesome [17:55] since all your servers launch from the same template [17:55] you need a way to customize them [17:55] into their respective roles [17:55] and cloud-init does just that [17:55] There are 5 minutes remaining in the current session. [17:56] If you visit [17:56] http://typewith.me/Eip1j21bJ3 [17:56] I will paste the command output interactively [17:57] The bold text ,, is called the machine ID [17:57] Now my server has been created [17:58] I ran describe instances [17:58] this gets me the public name [17:58] of my server [17:58] if you visit that [17:58] there should be apache [17:58] http://ec2-184-72-172-83.compute-1.amazonaws.com/ [17:58] Indeed .. it works! [17:58] that's how easy it is [17:59] to deploy an ubuntu server with a customized apache running on it [17:59] sorry folks if we're running out of time [18:00] one final thing I wanna show you [18:00] is the logs of the machine [18:00] http://paste.ubuntu.com/512499/ [18:00] notice how cloud-init has customized the server === 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 || UOW Survey: http://is.gd/fZlwL || Event: Ubuntu Open Week - Current Session: Deploying Web Applications in the Cloud - Instructors: kirkland [18:01] upgraded it and installed apache [18:01] Logs for this session will be available at http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html following the conclusion of the session. [18:01] howdy howdy howdy! [18:01] alright [18:01] so continuing on with the cloud theme, i'll invite you to join me for a real live demo [18:02] if you would be so kind as to: [18:02] ssh -C guest@ec2-174-129-94-110.compute-1.amazonaws.com [18:02] the password is 'guest' [18:02] i'll wait just a minute for people to log in [18:03] when you get in, you should see a shared Byobu session [18:03] with the matrix screen saver running [18:03] i have write access [18:03] everyone else should have read only access [18:03] now, i'm going to go through a few examples in that window, that everyone will be able to see [18:03] however, you're welcome to do the same things on your own system [18:04] all of what i'm going to do will work on your Ubuntu desktop, server, or virtual machine [18:04] and if you haven't already, go to http://10.cloud.ubuntu.com for your free hour of Ubuntu in the Cloud :-) [18:04] okay, so yeah, a free hour in the cloud ... as many people have asked [18:04] "so I logged in, and that's cool, but .... now what?" :-) [18:05] well, i find cloud instances great places for writing and deploying web applications [18:05] many web apps are small, and lightweight, and can work very well in a virtualized cloud environment [18:05] i'm going to go through a few examples of some sample web apps [18:05] you may or may not be interested in the particular applications that i demo [18:05] but hopefully they'll give you a good idea [18:06] alrighty, any questions before we get started? [18:06] great ... [18:07] alright, so first, we're going to deploy a web app in this cloud instance that will allow us to share pictures over the web [18:07] there are lots of public ones available, like Flickr, Picasa, etc. [18:07] and those are certainly great for what they are [18:07] but sometimes, perhaps, you want to run the server yourself [18:08] or, you don't want to upload your pictures to a 3rd party [18:08] or perhaps you just want to tinker with the source code, like me :-) [18:08] Ubuntu includes a number of such web apps [18:08] i'm going to show you how to deploy, configure, and install one such [18:08] and I picked it because I wrote it as a college student in 1999 :-) [18:09] sudo apt-get install pictor [18:09] i'm doing that in the shared screen session now [18:09] now i've got a stack of dependencies that are going to be installed [18:09] http://pastebin.ubuntu.com/512507/ [18:09] ^ if you're not following in screen [18:10] notice how fast these download and install in the cloud :-) [18:10] this is because Canonical provides a mirror of the ubuntu archive in EC2 itself [18:10] note that you're not charged for network bandwidth inside of EC2 [18:10] okay, cool, so now pictor is installed [18:10] let's point our web browser to it [18:12] um, i see i have an error message :-) one second ... [18:12] Your apache2 configuration is broken, so we're not restarting it for you. [18:13] (sorry, i just set this up before the session, purged it uncleanly) [18:14] okay, sorry [18:14] http://174.129.94.110/pictor/ [18:14] now it's up [18:14] so that's the default landing page of pictor [18:14] to review ... [18:15] sudo apt-get install pictor [18:15] i had to sudo service apache2 restart [18:15] then point a browser to http://174.129.94.110/pictor/ [18:15] there, i see an error message [18:15] ERROR [18:15] No pictures found. [18:15] Create a symlink to your pictures folder at [18:15] /usr/share/pictor/pictures [18:15] so i've seeded this instance with a few pictures [18:16] in ubuntu's home directory, we should see a Pictures dir [18:16] which you also have on your Ubuntu desktop [18:16] inside of the Pictures dir there can be a list of sub dirs [18:16] and subdirs can have subdirs, etc. etc. etc. [18:16] and so on [18:17] our error message at http://174.129.94.110/pictor/ says that we need a symlink [18:17] to tell pictor where our pictures are located [18:17] which is /home/ubuntu/Pictures [18:17] let's do this... [18:17] sudo ln -s /home/ubuntu/Pictures /usr/share/pictor/pictures [18:17] now refresh http://174.129.94.110/pictor/ [18:18] and you should see a list of the available albums [18:18] click on one of them, and you should either see more subdirs, or thumbnails of pictures [18:19] looks like my upload did not complete [18:19] anyway, you get the 'picture' ;-) [18:19] * kirkland finishes syncing [18:20] click on a given picture, and you get meta data details about the photo [18:20] you can dynamically resize, rotate it, etc. [18:20] let's take a quick look where this is happening ... [18:20] cd /var/cache/pictor [18:20] ls [18:21] resize thumbnails [18:21] there's a set of thumbnails cached here, which are taken out of the JPEG headers (if available), and if not, it uses ImageMagik to create and cache a thumbnail [18:21] we can clear this cache at any time, and it just gets rebuilt [18:21] ubuntu@ip-10-202-194-3:/var/cache/pictor/thumbnails$ sudo rm -rf * [18:22] now, just refresh http://174.129.94.110/pictor/?album=/Puppies/2007-12-17&thumbs=1 [18:22] note that it's easy to drop an .htaccess file in here and make this password protected [18:23] if you wanted to make these somewhat more "private" [18:23] and there's no database at all [18:23] all of pictor is driven from the filesystem and metadata included in the JPG [18:23] so it's trivial to move pictures around [18:23] upload more, etc. [18:24] also, it comes with a handy little utility called "pictor-unload" [18:24] which you can use to keep pictures from multiple cameras in sync [18:24] so if i'm shooting with one camera, and my wife is shooting with another [18:24] and their two clocks are in sync [18:25] we can unload the two flash cards, and name the pics accordingly [18:25] let me try to fake a demo of that ... [18:25] since clouds don't have flash media :-) [18:26] okay, let's pretend that /media/flash is my flash disk [18:26] and in there, there's a subdir of some pictures [18:26] and i want to "unload" those [18:27] let's make a new destination directory [18:27] pictor-unload /media/flash /home/ubuntu/Pictures/More\ Puppies [18:28] okay, now i have a copy of the pics in the current dir, renamed with their timestamp on the front [18:28] this helps keep things in order [18:28] and now, goto http://174.129.94.110/pictor/?album=/More+Puppies&thumbs=1 [18:29] and you see that the new pics are up already [18:29] okay ... so that a whirlwind tour of pictor [18:29] a fun little web app to deploy in the cloud (though you could just as easily do so on a server or a desktop) [18:29] let's now take a look at it's more musical cousin ... [18:29] musica [18:30] musica is a web app for streaming music [18:30] it's a nice way of accessing your entire music library remotely [18:30] (and another web app i wrote in college, back in 1998-1999) [18:30] sudo apt-get install musica [18:31] alrighty, just like that, musica is now installed [18:31] now, point your browser to http://174.129.94.110/musica/ [18:31] once again, we see that we need to put a symlink in place to tell musica where to find our tunes [18:32] and once again, i've preloaded this cloud instance with a few tunes from some of my musical friends [18:32] can everyone get to http://174.129.94.110/musica/ okay? [18:33] alright, now let's create that symlink [18:33] sudo ln -s /home/ubuntu/Music /usr/share/musica/music [18:33] and refresh http://174.129.94.110/musica/ [18:33] there's a couple of frames to this webpage [18:33] (yeah, i wrote most of this long before ajax existed) [18:34] the left most is a list of artists [18:34] which include my buddy "Jeff Luna" and his zaney comedic tunes [18:34] and Last Chance Dave -- a couple of guys with some nice soulful rock [18:34] clicking on either of them will show the albums that i have [18:34] for that artist [18:35] clicking on an album will then launch a flash based player [18:35] called jplayer, which is embedded [18:35] from there, you have the basic streaming functionality [18:35] play/pause, skip around, volume, etc. [18:36] you can also download an m3u playlist, or a tarball of the whole album [18:36] now, let's add some new tunes to our library [18:36] in case you missed it, jono's band, Severed Fifth released a new album this week-ish [18:37] it's freely downloadable from http://www.severedfifth.com/releases/ [18:37] wget http://audio.lugradio.org/severedfifth/nightmaresbydesign/severedfifth-nightmaresbydesign-2010-ogg.zip [18:37] and we watch that download to our cloud instance [18:37] .... done [18:46] sorry , network connectivity issue [18:46] :-( [18:46] tethered through phone now [18:46] okay, let's get some new music [18:47] now try refreshing http://174.129.94.110/musica/ [18:48] okay, so that's pretty much musica [18:48] again, like pictor, it's easy to add an .htaccess [18:48] and authenticate through [18:49] to "protect" your pictures and music [18:49] it's also easy to add SSL to the apache configuration [18:49] this is where the embedded player is really nice [18:49] it doesn't even need to know about that at all [18:50] There are 10 minutes remaining in the current session. [18:51] QUESTION: why aren't the severed fifth tunes playing? [18:51] IdleOne: possibly a bug in ogg support in jplayer, i'll need to take a look at that one [18:51] let's try to get to some questions [18:51] i had hoped to deploy a wordpress instance and a moodle server [18:51] i can do those quickly, without much detail if you like [18:51] or i can field some questions [18:52] Question:I loged into the cloud but I can see some letters scrolling ,..is it the same expected [18:52] that was the program 'cmatrix' [18:52] :-) [18:52] supposed to look like the matrix [18:52] i think it's a fun screen saver for servers :-) [18:52] Question:How long we cloud computing if try 10.ubuntu cloud page [18:53] those instances only last about ~1 hour [18:53] so it's really just for test driving [18:53] you can buy your own instance though, if you like [18:53] and keep it as long as you're willing to pay Amazon for it [18:53] (ubuntu is free though) [18:53] is that the standard-issue byobu profile? [18:53] i've tweaked a couple of things [18:54] i wanted to see the ec2-cost, network traffic, and number of people logged in [18:54] QUESTION: So basically pictor is a photo gallery program, but what is needed on a web server for it? [18:55] yeah, that's it basically; sudo apt-get install pictor will install all of its web server dependencies [18:55] There are 5 minutes remaining in the current session. [18:59] 17:56:32> QUESTION: How do these instances actually get created with CLOUD? [18:59] i created this instance using ec2-run-instance [18:59] and picked an image from http://uec-images.ubuntu.com/maverick/current/ [18:59] i used screenbin(1) to set it up for this classroom setting [18:59] where i have write access you have read access [19:00] 17:56:29> Please proceed with wordpress then [19:00] installing now ... [19:01] Logs for this session will be available at http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html [19:01] QUESTION: so how is deploying an app to a cloud any different from applying to Ubuntu Server. I am guessing the answer is that it isn't. Just ssh and sudo apt-get install -y. Is that correct? [19:01] autif: mostly the same === 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 || UOW Survey: http://is.gd/fZlwL || [19:41] aw schools over [19:41] Rusty49, you here still [19:42] yes [19:42] ok you good here then [19:47] cheers all === kdrsx is now known as kuadrosx