Wednesday, April 29, 2009
MySQL exercise
* world.sql.zip
* world-setup-en.pdf
world.sql.zip is a sample database containing data about countries of the world, their cities, and the languages spoken in each. world-setup-en.pdf contains the setup instructions.
Using your knowledge of SQL, determine the following information:
* What is the country code of the Philippines? Of Argentina? Of Nepal?
* What are the cities of the Philippines? Of New Zealand? Of Afghanistan?
* What country has the largest population? What country has the smallest population?
* Which countries speak German as their official language?
* What is the most populous city and which country is it located in?
* What is the most populous capital city? What is the least populous capital city?
Do some other queries. Make use of SQL joins to execute more complex queries.
You may want to refer to refman-5.0-en.html-chapter.tar.gz.
Wednesday, April 15, 2009
Presentations for Summer Classes
- Gnome - Paul Jims Cabahug
- KDE - Richard Tamala Jr.
- OpenOffice.org - Joshua Nadera
- The GIMP - Bonn Louie Arsenal
- Inkscape - Michael Shem Labor
- Perl - Hazel Joie Diez
- Python - Nichelle Andrea Lamoste
- PHP - Jaye Mempin
- Ruby - Moises Ayag
- MYSQL - James Vales
- PostgreSQL - Darlene Cang
- DB Designer 4 / MYSQL Workbench - Andrei Elizaga
- WordPress - Edle Ranolo
- Drupal - Jzel Ivy Tejada
- Joomla - Rhee Francis Jinon
- Moodle - Cindy Mae Paulo
- ModX - Ronil Rufo
- PHPBB - Andrew Pangilinan
- PHPMyAdmin - Regan Labadia
- Zope - Glenn Paul Yee
- CakePHP - Irene Lo
- Ruby on Rails - Angelie Abong
- OpenBravo - Karl Manlapus
- osCommerce - Alisa Abrasaldo
- TinyERP - Mahendra Dwiprasetyo
- Alfresco - Ingrid Cadano
- Knowledge Tree - Anthea Monica Dela Cruz
- Asterisk - Lloyd Belleza
- Wine - Lorenzo Penetrante
- Synfig - Majeed Mocamad
- Blender - Jayrik De Guzman
Wednesday, December 3, 2008
Notes on Gnome
- Gnome is a graphical desktop environment.
- As a desktop environment, it is independent of the underlying operating system. Therefore, it can run on any operating system; conversely, the operating system can also use another desktop environment.
- GNOME used to be an acronym which stood for GNU Network Object Model Environment; today, it does not have any specific meaning. It is just written as Gnome instead of GNOME.
- Gnome's underlying toolkit is GTK+.
- Gnome project started in August 1997 under Miguel de Icaza and Federico Mena as an alternative to the earlier KDE project; members of the GNU project were concerned with KDE's dependence on the non-free Qt library. In contrast, GTK+ is licensed under the LGPL.
- Gnome libraries are licensed under the LGPL; Gnome applications are licensed under GPL.
- Some useful Gnome applications:
- Brasero - CD burning application
- Cheese - webcam application
- dia - diagramming tool
- Ekiga - VoIP and videoconferencing application
- Evince - document viewer
- Evince - mail client and personal information manager
- Eye of Gnome - image viewer
- File Roller - archive creator and extractor
- gedit - text editor
- gnome keyring manager - password manager
- Gnome Terminal - terminal emulator
- Nautilis - file manager
- Sound Juicer - CD ripper
- Totem - media player
Open Source Business Model is "broken"
The main points of the article:
- Companies cannot make money from support and services alone because open source software is so reliable.
- Software has become a commodity. Open source is merely the means, not the end.
- Collaboration results in great software that everyone can use.
From reading the article, I take it that what the author means is this: that the old business models that made the rise of companies like Microsoft and Oracle are no longer viable with open source.
Tuesday, December 2, 2008
Free Software vs Open Source Software
GIMP and OpenOffice presentations
Tuesday, November 25, 2008
Software Licenses presentation
Open Source Communities
Major open source projects will have their dedicated Internet community resources. Some, like the Linux kernel development, make use of mailing lists and revision control systems; others, like Joomla, may make use of bulletin-board style forums.
Smaller projects may find a home in a forge, a site that offers hosting for source code, downloads, and mailing lists. Some of the major forges:
SourceForge: possibly the biggest currently in operation; has offered free access to hosting and tools for developers of free software / open source software for several years, and has become well-known within such development communities for these services.
GNU Savannah: a project of the Free Software Foundation, which serves as a collaborative software development management system for Free Software projects. Savannah currently offers CVS, GNU arch, mailing list, web hosting, file hosting, and bug tracking services. Savannah runs Savane, which is based on the same software as that used to run the popular SourceForge portal.
GNA: operated by the French chapter of the FSF; only accepts projects under the GPL
Alioth: a GForge system set up by the Debian project for development of free software and free documentation, especially software or documentation to do with Debian.
BerliOS: a German government-funded community designed to bring developers and users of open source software together
JavaForge.com: a community and hosting portal for open source Java projects
RubyForge: a community dedicated to projects related Ruby programming language
Monday, November 24, 2008
Free Software and the Law of Diminishing Returns
Brook's Law - specifically - is that adding people to a late project willy-nilly will only make it later. Brooks derived this law from his own personal experience as a project manager on IBM's original OS/360 project. In his book, The Mythical Man-Month, Brooks pointed out the fallacy of simply throwing more "man-hours" (labour units) at the project in order to deliver it earlier.
According to McConnell, Brook's analysis of his own laws suggests an exception to the rule. " ... if a project's tasks are partitionable, you can divide them further and assign them to ... people who are added late to the project."
In short, we can summarise Brook's Law in two parts:
1. If, in a (late) project, we can further subdivide tasks efficiently, we can add extra programmers or software engineers without penalty.
2. Otherwise, if tasks cannot be easily or effeciently subdivided, there will be a penalty for adding extra programmers or software engineers.
Additional Reading Material for the week of November 24
- Open Source Guide for SMEs: this is the book that I featured in my previous post. It gives an introduction to the principles of open source. Please read chapters 1, 2, and 3.
- An Introduction to Open Source Communities: examination of the dynamics of the open source community, the people that participate in it, and how development is done.
- Producing Open Source Software, Ch.4: the social and political structure of open source development teams.
- Apache and Mozilla Case Studies: in-depth look at the principles behind the development of Apache and Mozilla
- Making Lightning Strike Twice: another dissection of the open source development process.
Tuesday, November 18, 2008
How to do the presentation
Here's what I want from the presentations:
- What is the open source project about? What does it do? (Describe the project in detail. Give screenshots.)
- Why is this project important?
- Who are the current leaders of the project? What does the organization of the project look like?
- How many users does this project have?
- Under what open source license is the project?
- Where and how did it get started?
- How is the project being funded?
- How do you get end-user support for this project?
Presentation Assignments
| Gnome | Lidres E |
| KDE | Cayanong J |
| OpenOffice.org | Sarabia E |
| The GIMP | Panes P |
| Inkscape | Lo P |
| Java | Babao R |
| Perl | Cagampang M |
| Python | Clar Q |
| Ruby | Geguinto M |
| Smalltalk | Baula G. |
| MySQL | Insong C |
| PostgreSQL | Lao S |
| Apache Web Server | Veruasa M |
| PHP | Bitas R |
| Wordpress | Lagbas J |
| Drupal | Epe F |
| Joomla | Llego A |
| Plone | Isulat G |
| Zope | NiƱal J |
| Zend | Labadan R |
| CakePHP | Merecido P |
| Ruby on Rails | Penetrante M |
| Compiere / Adempiere | Lovitos A |
| SugarCRM | Palanca S |
| OpenBravo | Aserios J |
| Apache Open for Business | Herrera S |
| TinyERP | Nuenay J |
| Alfresco | Adarna A |
| KnowledgeTree | Dado G |
| Asterisk | Lagahit E |
| Ekiga | Oroc C |
| Wine | Perez D |
| America's Army | Ang M |
| Cube2 / Nexuz | Tan E |
| Synfig | Macadaeg M |
| Blender | S. Jalnaiz |
Guide to open source for SMEs
This guide (developed in the context of the FLOSSMETRICS and OpenTTT projects) present a set of guidelines and suggestions for the adoption of open source software within SMEs, using a ladder model that will guide companies from the initial selection and adoption of FLOSS within the IT infrastructure up to the creation of suitable business models based on open source software.
This is the third edition of the guide; the guide is distributed under a CC-attribution-sharealike 3.0 license. The author is Carlo Daffara.
A PDF copy of the guide is available.
IT312 tentative syllabus
| Week of | Lecture | Lab |
| November 18* | Analysis of the success of Linux Open source communities | Introduction to Ubuntu Customizing Ubuntu Internet apps in Ubuntu Linux command-line |
| November 25* | Free Software / Open Source Software Licenses Business Models | Graphics with the GIMP and Inkscape Sound editing with Audacity |
| December 2 | Gnome KDE OpenOffice.org The GIMP Inkscape | Setting up a LAMP environment Deploying Wordpress Deploying Joomla Deploying Drupal HTML and CSS exercises |
| December 9 | Java Perl Python Ruby Smalltalk | Setting up and using Eclipse Setting up and using Geany Programming challenges |
| December 16 | Mid-term Exams | No laboratory / More programming challenges |
| January 6 | MySQL PostgreSQL Apache Web server PHP | PHP application development 1 |
| January 13 | Wordpress Drupal Joomla Plone | PHP application development 2 |
| January 20 | Zope Zend CakePHP Ruby on Rails | PHP application development 3 |
| January 27 | Compiere/Adempiere (2) OpenBravo Apache Open for Business TinyERP | Ruby on Rails application development 1 |
| February 3 | Alfresco KnowledgeTree Asterisk Ekiga | Ruby on Rails application development 2 |
| February 10 | Wine America's Army Cube 2 / Nexuiz Armagetron | Ruby on Rails application development 3 |
| February 17* | Open source software selection process Summary | Gaming on Linux |
| February 24 | Final Exams | No laboratory |
Sunday, November 16, 2008
Links on Linux History
- kernel.org - official site of the Linux kernel
- Wikipedia entry on the Linux kernel
- Wikipedia entry on Linux
- Wikipedia entry on History of Linux
- Anatomy of the Linux kernel from IBM Developerworks
- Linux Timeline from Linux Online
- LinuxJournal's Linux Timeline
- Linux distro timeline
- Wikipedia entry on Linux's supported architectures
- Wikipedia entry on Soft Landing Linux System - one of the first Linux distributions
- Wikipedia entry on MCC Interim Linux
- Wikipedia directory of Linux kernel hackers
- LinuxWorld: Linux contributor base broadens
Lecture outline: a soft introduction to open source
- Comparison of Windows application stack and Linux application stack
- Most-used Windows applications: MS Office, Photoshop, Internet Explorer, messaging client, antivirus
- Linux equivalents: OpenOffice.org, The GIMP, Firefox, Pidgin
- End-user cost for Windows stack: ~P78,000 (USD1,500); end-user cost for Linux: free
- Advantages of Linux: faster to install, important applications already in place, low-cost
- Changing landscape of computer industry: more free and open source software
- How can it be free?
- Discussion of "free beer" and "free speech" concepts
- Yes, it's "free beer"-free, but more important is the "free speech"-free
- Allows people to package Linux with applications in distributions
- Most free and open source software as emanating from universities and hobbyists
- Despite the counter-intuitive nature, is actually sustainable model -- just look at the results
- The nature of open source
- Source code is available, can be modified
- Illustration: Stallman's cookie recipe sharing example
- Read Eric S. Raymond's Cathedral and the Bazaar
Additional resources:
Richard Stallman honorary degree speech at Pavia
Thursday, November 13, 2008
Guide questions for The Cathedral and the Bazaar
- What are the 19 lessons that Eric S. Raymond learned in his study of Linux development and his own work with fetchmail?
- In the bazaar model, what are the primary motivations for developers to participate in a project?
- Explain the statement: "Given enough eyeballs, all bugs are shallow."
- What is the Delphi effect?
- What is the central observation in Fred Brooks' The Mythical Man-Month?
- What does this statement mean: "When your language is nowhere near Turing-complete, synactic sugar can be your friend?"
- How was the Internet instrumental in the development of open source?
- What are the functions of software project management? How do they apply in the open source development model?
Answer any three questions from questions 2-8 and submit on a 1/2-sheet of yellow pad. Assignment due on Tuesday, Nov. 18.
The Cathedral and the Bazaar
Assignment for November 18: read The Cathedral and the Bazaar.
Welcome
This is the web site for assignments, assigned reading materials, and supplementary notes.
