Feed posts tagged “MSWL”Rego’s Everyday Life - A blog about my work at Igalia.2012-08-04T00:00:00Zhttps://blogs.igalia.com/Manuel Rego Casasnovasrego@igalia.comPhoneGap at Master on Free Software2012-08-04T00:00:00Zhttps://blogs.igalia.com/mrego/2012/08/04/phonegap-at-master-on-free-software/<p>Like in the past 3 years, this year I’ve been teaching some lessons of the <a href="http://www.mastersoftwarelibre.com/2012/05/09/abierta-la-inscripcion-al-modulo-de-desarrollo-en-entornos-web-2012/">web module</a> inside the <a href="http://www.mastersoftwarelibre.com/"><strong>Master on Free Software</strong></a> organized organized by <a href="http://www.igalia.com">Igalia</a> and <a href="http://www.urjc.es/">URJC</a>.
Apart from some classes about Java, this time I’ve given a workshop about <strong><a href="http://phonegap.com">PhoneGap</a></strong> (now renamed to <a href="http://incubator.apache.org/cordova/">Apache Cordova</a>). If you don’t know it yet, maybe you want to take a look if you’re interested in web development (HTML + CSS + JavaScript) for mobile platforms.</p>
<p>The workshop tried to give an overview of this framework and during the class we developed a simple feed reader as example app. The main technologies used (apart from PhoneGap) were: <a href="http://jquery.com/">jQuery</a> (to manipulate the DOM), <a href="http://jquerymobile.com/">jQuery Mobile</a> (for the UI) and <a href="https://github.com/jfhovinne/jFeed">jFeed</a> (to read the RSS/Atom feed). You can find the slides of <a href="https://speakerdeck.com/u/rego/p/introduction-to-phonegap">my presentation</a> below and if you follow them you should be able to develop the example too ;-)</p>
<p>Finally, maybe you don’t know it yet, but some months ago I developed a small mobile application using PhoneGap. The app is called <a href="http://mrego.github.com/sergasapp/">SergasApp</a> and it allows request medical appointments for the <a href="http://en.wikipedia.org/wiki/Galician_Healthcare_Service">Galician Healthcare Service</a>. As usual, it’s free software and you can find the source code in <a href="https://github.com/mrego/sergasapp">GitHub</a> if you’re interested in review another example app developed with PhoneGap.</p>
<hr>
<p><a name="comments"></a></p>
<h3><i class="fa fa-comments"></i> Comments</h3>
<div class="small" markdown="1">
On 14/07/13 10:12, **Joel** wrote:
<blockquote>
<p>I would like to get a complete workable source code for the RSS feed project. Tell me where it is hosted.</p>
<p>On 14/07/14 09:38, <strong><a href="http://blogs.igalia.com/mrego/">Manuel Rego Casasnovas</a></strong> wrote:</p>
<blockquote>
<p>I’m sorry but we didn’t publish the source code anywhere, but it should be possible to somehow extract it from the slides.</p>
<p>Anyway, take into account that the presentation is from 2012 so it can be outdated.</p>
</blockquote>
</blockquote>
</div>
JAX-RS example with Jersey, Jetty and Maven2010-08-02T00:00:00Zhttps://blogs.igalia.com/mrego/2010/08/02/jax-rs-example-with-jersey-jetty-and-maven/<p>Last weekend I’ve been giving the last lesson of the Web module at <a href="http://www.mastersoftwarelibre.com/">Master on Software Libre</a>. In this lesson we’ve tried to advance as much as possible in the practice that the students are developing for this module, a web application using <a href="http://www.java.com/">Java</a> technologies: <a href="http://maven.apache.org/">Maven</a>, <a href="http://www.hibernate.org/">Hibernate</a>, <a href="http://jetty.codehaus.org/jetty/">Jetty</a> and <a href="http://www.zkoss.org/">ZK</a>.
The last part of this practice has the aim to create web services around this web application based on <a href="http://en.wikipedia.org/wiki/Restful"><strong>REST</strong></a> standard. In order to properly explain how this goal could be achieved I’ve created a small example that could be useful for more people.</p>
<p>The Java API for RESTful Web Services is called <a href="http://en.wikipedia.org/wiki/JAX-RS"><strong>JAX-RS</strong></a> (and it’s defined at <a href="http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html">JSR-311</a>) and the reference implementation is <a href="http://jersey.dev.java.net/">Jersey</a>. I’ve tried to find an example using Jersey, Jetty and Maven about how to add REST web services to a Java application, after failing in my search I decided to start my own example based in a <a href="http://blog.reardonsoftware.com/2009/03/jersey-jetty-and-maven-helloworld.html">post by Tim Reardon</a>.</p>
<p>These kind of services are intended to import/export data from/to a web application, the most common formats are <a href="http://en.wikipedia.org/wiki/Xml">XML</a> and <a href="http://en.wikipedia.org/wiki/Json">JSON</a>. For this example I decided to use XML, using <a href="http://en.wikipedia.org/wiki/JAXB"><strong>JAXB</strong></a> standard to map Java classes to XML files.</p>
<p>The final result is a simple application implementing the different HTTP methods (GET, POST, PUT and DELETE) that could help to other developers as example. Along with several bash scripts to to test the web service, I’ve also added a basic client written in Java. You can find the example application uploaded to <a href="http://gitorious.org/java-rest-example"><strong>Gitorious</strong></a> and you can download the source code from there.</p>
<hr>
<p><a name="comments"></a></p>
<h3><i class="fa fa-comments"></i> Comments</h3>
<div class="small" markdown="1">
On 10/08/25 00:28, **Greg Wilkins** wrote:
<blockquote>
<p>Your readme should say “mvn jetty:run” instead of “mvn jetty-run”.</p>
<p>cheers</p>
<p>On 10/08/25 10:50, <strong><a href="http://blogs.igalia.com/mrego/">Manuel Rego Casasnovas</a></strong> wrote:</p>
<blockquote>
<p>You’re right, I’ve just changed it. Thanks for the feedback.</p>
</blockquote>
</blockquote>
<p>On 12/01/03 20:42, <strong><a href="http://www.matthewcornell.org/">Matthew Cornell</a></strong> wrote:</p>
<blockquote>
<p>The link [post by Tim Reardon] is broken – <a href="http://blog.reardonsoftware.com/2009/03/jersey-jetty-and-maven-helloworld.html">http://blog.reardonsoftware.com/2009/03/jersey-jetty-and-maven-helloworld.html</a> . I found this one: <a href="http://codebeneath.blogspot.com/2008/03/jersey-jetty-and-maven-style.html">http://codebeneath.blogspot.com/2008/03/jersey-jetty-and-maven-style.html</a> , which is older.</p>
</blockquote>
<p>On 12/11/17 01:40, <strong>Mike</strong> wrote:</p>
<blockquote>
<p>Was disappointed that the attached code has nothing to do with Jetty as the title states.</p>
<p>On 10/08/25 10:50, <strong><a href="http://blogs.igalia.com/mrego/">Manuel Rego Casasnovas</a></strong> wrote:</p>
<blockquote>
<p>Mike I don’t understand your comment.</p>
<p>This is just an example of a JAX-RS application running in Jetty with Maven. Maybe, it’s not very related to Jetty, but in the README the instructions explain how to run the example in Jetty and not with any other servlet container.</p>
</blockquote>
</blockquote>
</div>
MSWL ends: Master Thesis & reStructuredText2009-11-23T00:00:00Zhttps://blogs.igalia.com/mrego/2009/11/23/mswl-ends-master-thesis-restructuredtext/<p>The second edition of <a href="http://www.mastersoftwarelibre.com/">Master on Free Software</a> finished. After this great and long year, I think that worth the effort of sharing work and study. I’ve learnt lot of things and improved my knowledge in several topics related with free software.
Last Friday, students did a presentation of our Master Thesis: In my case it’s called <a href="http://people.igalia.com/mrego/mswl/thesis/communication_between_desktop_and_web_applications.html"><strong>Communication between desktop and web applications</strong></a>, and it’s mainly centered in the GNOME platform and the library <a href="http://live.gnome.org/RTMGlib">RTM-GLib</a> (that was developed as part of the Master Practicum).</p>
<p>Finally, I wrote the thesis using <a href="http://docutils.sourceforge.net/docs/user/rst/quickref.html">reStructuredText</a> and it really rocks ;-). It’s just simple and very comfortable. Moreover, <a href="http://people.igalia.com/mrego/mswl/thesis/">sources</a> are also readable.</p>
<hr>
<p><a name="comments"></a></p>
<h3><i class="fa fa-comments"></i> Comments</h3>
<div class="small" markdown="1">
On 10/02/15 11:38, **Andre** wrote:
<blockquote>
<p>Hello… how did you hand in your thesis? in latex (exported using rst2latex)</p>
<p>On 10/02/15 11:53, <strong><a href="http://blogs.igalia.com/mrego/">Manuel Rego Casasnovas</a></strong> wrote:</p>
<blockquote>
<p>IIRC, using “rst2pdf” command (<a href="http://people.igalia.com/mrego/mswl/thesis/communication_between_desktop_and_web_applications.pdf">see the result</a>).</p>
</blockquote>
</blockquote>
</div>
RTM-GLib 0.1.02009-10-27T00:00:00Zhttps://blogs.igalia.com/mrego/2009/10/27/rtm-glib-0-1-0/<p>First of all, I’ve created the project homepage at <a href="http://live.gnome.org/RTMGlib">http://live.gnome.org/RTMGlib</a>, where you can find examples and download the last versions.
Today, I’ve announced the first public release of <strong>RTM-GLib</strong>, both in <a href="http://mail.gnome.org/mailman/listinfo/gnome-announce-list">GNOME announcements</a> <a href="http://mail.gnome.org/archives/gnome-announce-list/2009-October/msg00083.html">mailing list</a> and <a href="http://groups.google.com/group/rememberthemilk-api/">Remember The Milk API</a> <a href="http://groups.google.com/group/rememberthemilk-api/browse_thread/thread/8eb805f062a76b9e">Google group</a>. And I’m doing the same here :P</p>
<p>Some crazy ideas for the future work, now that the library is usable:</p>
<ul>
<li>Provide some methods through <a href="http://moblin.org/projects/mojito">Mojito</a> (via D-Bus) to get, for example, the list of tasks for today.</li>
<li>Develop a <em><a href="http://projects.gnome.org/tracker/">Tracker</a> data miner</em> in order to store the information about the tasks from Remember The Milk on Tracker infrastructure.</li>
<li>In some way <a href="http://projects.gnome.org/evolution/">EDS (evolution-data-server)</a> could use this library to keep synchronized the information about tasks between Remember The Milk and the desktop.</li>
</ul>
<p>Now is time to check the feasibility of these things and think about how to implement them.</p>
RTM-Glib released2009-10-06T00:00:00Zhttps://blogs.igalia.com/mrego/2009/10/06/rtm-glib-released/<p>Lately, I’ve been working on the last part of the <a href="http://mastersoftwarelibre.com/">Master on Free Software</a>, the Master’s Thesis.
First of all, I’ve started a small library called <strong>RTM-Glib</strong>, that is just a wrapper around the API of <a href="http://www.rememberthemilk.com">Rememeber The Milk</a>. It’s written in C and using <a href="http://www.gnome.org/">GNOME</a> technologies. It pretends to be similar to other libraries like <a href="http://live.gnome.org/TwitterGlib">Twitter-GLib</a> or <a href="http://librdf.org/flickcurl/">Flickcurl</a>, but for a different web service.</p>
<p>In order to develop this library I’ve used <a href="http://moblin.org/projects/librest">librest</a>, a great library which makes very easy the access to <a href="http://en.wikipedia.org/wiki/RESTful">RESTful</a>-like services.</p>
<p>For the moment RTM-Glib is just in an early stage, just some basic functions with tasks and lists are implemented. But the library should evolve in the future implementing more methods of the <a href="http://www.rememberthemilk.com/services/api/methods/">Remember The Milk API</a>.</p>
<p>Among other tasks (like improve the library), during the this month I should take a look at <a href="http://moblin.org/projects/mojito">Mojito</a>, trying to provide <a href="http://burtonini.com/blog/computers/mojito-facebook-2009-09-14-10-04">a new service supported</a> using RTM-Glib.</p>
<p>Finally, I’ve just created a repository for the project in <a href="http://gitorious.org/">Gitorious</a>, the URL is: <a href="http://gitorious.org/rtm-glib">http://gitorious.org/rtm-glib</a>. You can download the source code, check the <a href="http://gitorious.org/rtm-glib/rtm-glib/blobs/master/examples/rtm-glib-example.c">example</a> and test it. As usual, any comment and suggestion are welcomed ;-)</p>
Reviewing gedit project2009-08-01T00:00:00Zhttps://blogs.igalia.com/mrego/2009/08/01/reviewing-gedit-project/<p>As work for the last <a href="http://www.mastersoftwarelibre.com/">Master on Free Software</a> subject (<a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=40">Dynamics of Libre Software Communities</a>), I’ve redacted a brief <a href="http://people.igalia.com/mrego/mswl/dlsc/">article</a> that tries to analyze the <a href="http://projects.gnome.org/gedit/">gedit</a> project.
This article is just a collection of charts about gedit project activity. The information was extracted with <a href="http://www.dwheeler.com/sloccount/">different</a> <a href="http://tools.libresoft.es/">tools</a> that helps to analyze data sources of a project (lines of code, repository, mailing list, …).</p>
<p>For example, <a href="http://people.igalia.com/mrego/mswl/dlsc/ar01s02.html#figure_commits_by_author_per_year">one of these graphics</a> shows the number of commits by the main contributors per year:<br>
<img src="http://people.igalia.com/mrego/mswl/dlsc/images/commits_by_author_per_year.png" alt=""></p>
<p>This work just joint some information gathered from different sources, any comment, correction, idea and/or suggestion are welcomed.</p>
<p>BTW, all the needed steps to generate the different charts with the <a href="http://www.r-project.org/">R project</a> are explained in the article. Maybe this examples could be useful for other cases.</p>
GCDS Day 6 – Last day2009-07-10T00:00:00Zhttps://blogs.igalia.com/mrego/2009/07/10/gcds-day-6-last-day/<p>I spent the whole day attended to the <a href="http://www.grancanariadesktopsummit.org/node/331">GUADEC-ES talks</a>. And I liked specially two of them:</p>
<ul>
<li><em><a href="http://www.grancanariadesktopsummit.org/node/337">GTK+ 3.0, paso a paso</a></em> where <a href="http://blogs.gnome.org/carlosg/">Carlos Garnacho</a> showed us some interesting things that will be the future of <a href="http://www.gtk.org">GTK+</a></li>
<li><em><a href="http://www.grancanariadesktopsummit.org/node/340">Tracker. ¿Qué he hecho yo para indexar esto?</a></em> interesting talk about the new <a href="http://projects.gnome.org/tracker/">Tracker 0.7</a> by <a href="http://blog.ifrade.es/">Iván Frade</a>.</li>
</ul>
<p>Moreover, <a href="http://www.mastersoftwarelibre.com/">we</a> present our talk about <a href="http://www.grancanariadesktopsummit.org/node/342">Tarefas at GUADEC-ES</a>, it seems that people like the idea and how it was developed as part of the Master on Free Software. BTW, you can get <a href="http://people.igalia.com/mrego/mswl/guadec/guadec-es-2009-tarefas.pdf">the slides (in Spanish)</a>.</p>
<p>Finally, <a href="http://blogs.igalia.com/berto">Berto</a> and me went for a walk around the old city, this part is really nice.</p>
<p>Summarizing, it was a great week in Gran Canaria, where I could meet a lot of great hackers. A lot of interesting stuff: <a href="http://moblin.org/projects/mojito">Mojito</a>, <a href="http://projects.gnome.org/tracker/">Tracker</a>, <a href="http://live.gnome.org/GnomeZeitgeist">Zeitgeist</a>, <a href="http://www.midgard-project.org/midgard2/">Midgard2</a>, <a href="http://couchdb.apache.org/">CouchDB</a>, <a href="http://live.gnome.org/GnomeShell">GNOME Shell</a>, … I should take a look at some of them in the future, I hope to find some time ;-)</p>
GCDS Day 0 – Ready to learn2009-07-03T00:00:00Zhttps://blogs.igalia.com/mrego/2009/07/03/gcds-day-0-ready-to-learn/<p>Tonight, <a href="http://www.igalia.com">we</a> should be arriving to Las Palmas in order to attend <a href="http://www.grancanariadesktopsummit.org/">Gran Canaria Desktop Summit (GCDS)</a>.
This will be my GUADEC, and this is the first time that GUADEC and Akademy are organized together (a great idea in my opinion).</p>
<p>I hope to learn a lot during this fantastic event and meet a lot of interesting people. See you in Gran Canaria ;-)</p>
<p>BTW, I’ll be part of a talk given in the GUADEC-ES by all the <a href="http://www.mastersoftwarelibre.com/">Master on Libre Software</a> students. In this talk we’ll talk about our experience developing a GNOME application as a practice for the <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41">Development of Libre Software</a> subject.</p>
Python and Mono (a week between animals at MSWL)2009-02-28T00:00:00Zhttps://blogs.igalia.com/mrego/2009/02/28/python-and-mono-a-week-between-animals-at-mswl/<p>This week we’ve taken an overview of these projects from the community and technical point of views at <a href="http://mastersoftwarelibre.com/">Master of Software Libre</a>.
<a href="http://www.python.org/"><strong>Python</strong></a> seems an easy programming language with a lot of available modules that you can use to fill your needs. I liked a lot the command interpreter to learn and play with the language (i.e. you can use it as calculator, that’s going to make me forget <a href="http://www.gnu.org/software/bc/">bc</a> ;-)) moreover I also liked some other things:</p>
<ul>
<li>Good <a href="http://docs.python.org/">documentation</a> and <a href="http://docs.python.org/tutorial/index.html">tutorial</a></li>
<li><a href="http://docs.python.org/library/functions.html#dir"><code>dir</code></a> and <a href="http://docs.python.org/library/functions.html#help"><code>help</code></a> functions</li>
<li>How to manage the <a href="http://docs.python.org/tutorial/introduction.html#lists">lists</a></li>
<li>The easy way to define functions with an <a href="http://docs.python.org/tutorial/controlflow.html#arbitrary-argument-lists">arbitrary argument list</a> (maybe because I’ve never seen how to do it before)</li>
</ul>
<p>I don’t have a very good opinion about <a href="http://www.mono-project.com/"><strong>Mono</strong></a> and it’s not related with the platform that seems very good and productive, my concerns are more related with the patent issues of <a href="http://www.ecma-international.org/publications/standards/Ecma-334.htm">C#</a> and the large shadow of <a href="http://www.microsoft.com/net">Microsoft</a> behind the project.</p>
<p>Actually I don’t like the Mono’s position in a race where it’s always behind .NET and Microsoft decisions specially for technologies like <a href="http://www.asp.net/">ASP.NET</a> and <a href="http://silverlight.net/">Silverlight</a>.<br>
Moreover nobody knows what Microsoft is going to do in the future, maybe they could sue some Mono project because it breaks some patent just for use Mono, mainly if it’s a successful project. Then you should rewrite the program using other language to keep the project free (I don’t like it :-().</p>
<p>However there’re also good things, I liked a lot the <a href="http://www.mono-project.com/Monodoc"><strong>Mono documentation tool (Monodoc)</strong></a> particulary the way to add new documentation and contribute to improve the project documentation directly from the viewer tool. IMHO, it’s a clever way to improve the documentation of the project, if you know how a class works and it’s not documented yet, you can add your comments and share them with the world from the same tool.</p>
<p>Finally, I’d like to thank to <a href="http://blogs.igalia.com/dape/">Dape</a> and <a href="http://acsblog.es/">Álvaro del Castillo</a> for their <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41&topic=3">interesting</a> <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41&topic=4">sessions</a>.</p>
<p>Next week <a href="http://www.gnome.org/">GNOME</a> vs <a href="http://www.kde.org/">KDE</a> at <a href="http://mastersoftwarelibre.com/">MSWL</a>, let’s see what happens.</p>
<p>BTW, I’ve been using <a href="http://www.gnu.org/software/emacs/">Emacs</a> since a week ago and I’m adapting to it quite well so my <a href="http://people.igalia.com/mrego/.emacs"><code>.emacs</code></a> is growing everyday :D.</p>
Development Subject: Desktop & Mobile2009-02-24T00:00:00Zhttps://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/<p>Last weekend we started the <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41">Development of Libre Software</a> subject at <a href="http://www.mastersoftwarelibre.com/">MSWL</a> where we’ll develop a GNOME (I hope that you hear more news about that during the next month).
The first class was just an introduction to the subject contents: <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">GNOME</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">GTK+</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">GNOME Mobile</a> and <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">Maemo</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">Python</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">Mono</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">KDE</a>, <a href="https://blogs.igalia.com/mrego/2009/02/24/development-subject-desktop-mobile/">Qt</a>, … In the second class we had a look to the common tools used in the free software world: a brief approach to the <a href="http://en.wikipedia.org/wiki/C_programming_language">C programming language</a>, <a href="http://www.gnu.org/software/emacs/">Emacs</a>, <a href="http://www.gnu.org/software/gdb/">GDB</a> and <a href="http://valgrind.org/">Valgrind</a>.</p>
<p>As you can read we talked about <strong>Emacs</strong> and I’m a <a href="http://www.vim.org/">Vim</a> user. I’ve already tried to start with Emacs some time ago with no success, but now I’m ready to give it another chance ;-)<br>
In order to do that I’ve my own <em>reference card</em> that compares <a href="http://blogs.igalia.com/mrego/resources/#Emacs_vs_Vim_commands">Emacs and Vim commands</a> (this table should keep growing).</p>
Debian packaging, kernel hacking, openSUSE and eBox platform at MSWL2009-02-15T00:00:00Zhttps://blogs.igalia.com/mrego/2009/02/15/debian-packaging-kernel-hacking-opensuse-and-ebox-platform-at-mswl/<p>After more than a month learning <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=43">systems stuff at MSWL</a>, where we talked about a lot of things (bash, network, DNS, LDAP, git, email, security, firewalling, perl, virtualization, …), last two weeks we’ve had four practical technical studies:</p>
<ul>
<li><strong>Debian packaging</strong>: A very interesting class by <a href="http://inittab.com/">Alberto González Iniesta</a>. We saw the right way to create a Debian package from project sources and check its quality.</li>
<li><strong>Kernel hacking</strong>: <a href="http://blogs.igalia.com/berto">Berto</a> explained us a lot of things related with the kernel. We learned to create our own kernel with <code>kernel-package</code> and <code>make menuconfig</code>.</li>
<li><strong>openSUSE</strong>: A great talk by <a href="http://rodrigo.gnome-db.org/">Rodrigo Moya</a>, in which he talked about the begging of <a href="http://www.opensuse.org/">openSUSE</a> and the <a href="http://build.opensuse.org/">openSUSE Build Service</a>, a very interesting way to maintain the openSUSE pacakges, allowing to send patches automatically from the command line with <code>osc</code> (OpenSUSE commander).</li>
<li><strong>eBox</strong>: <a href="http://ebox-platform.com/company/management-team/">Javier Uruen</a> showed us the <a href="http://ebox-platform.com/">eBox platform</a>, a very easy way to manage a lot of services that you could need in a network. This platform is designed for users and not for system administrators, allowing anyone configure a network.</li>
</ul>
<p>Now it’s time for <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41">the development subject</a>!</p>
How to write a manual for a GNOME application with DocBook2008-12-31T00:00:00Zhttps://blogs.igalia.com/mrego/2008/12/31/how-to-write-a-manual-for-a-gnome-application-with-docbook/<p>This is the title of my work for <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=39">Introduction to Libre Software</a> at <a href="http://www.mastersoftwarelibre.com/">Master on Free Software</a>. You can read the article <a href="http://people.igalia.com/mrego/mswl/ils/index.html">here</a> or <a href="http://people.igalia.com/mrego/mswl/ils/how_to_write_a_manual_for_a_gnome_application_with_docbook.html">in only one page</a> or <a href="http://people.igalia.com/mrego/mswl/ils/how_to_write_a_manual_for_a_gnome_application_with_docbook.pdf">in PDF format</a> (generated with <a href="http://dblatex.sourceforge.net/">dblatex</a>). Furthermore you can <a href="http://people.igalia.com/mrego/mswl/ils/how_to_write_a_manual_for_a_gnome_application_with_docbook.xml">download the source file</a> or check the <a href="https://forge.morfeo-project.org/plugins/scmsvn/viewcvs.php/trunk/mrego/ils/work/?root=freeswmaster">SVN repository</a> (where you can find the works of my classmates).
For your information, I paste here the abstract of <a href="http://people.igalia.com/mrego/mswl/ils/index.html">my article</a>, if you like to do any comment about the article feedback will be welcomed ;-):</p>
<blockquote>
<p>This article is a guide about how to write help manuals for GNOME applications using DocBook as standard tool. This manual explains the right way to add a tutorial on a GNOME project, as well as the process to translate it. The integration process to add a new option in application menu that shows the help manual, is also explained in this article.</p>
</blockquote>
<p>Writing this article I’ve had my first contact with <a href="http://www.docbook.org/">DocBook</a>, from my point of view I’d only use it if you want a good HTML output for your document, however if you prefer a good PDF I’d use <a href="http://www.latex-project.org/">LaTeX</a>. For example, you can open any DocBook document directly with <a href="http://live.gnome.org/Yelp">Yelp</a> and you can see that the result is very good:
<code> yelp ghelp:/path/to/myfile.xml</code></p>
<a href="https://blogs.igalia.com/mrego/files/2008/12/yelp-docbook-example.png">
<img src="https://blogs.igalia.com/mrego/files/2008/12/yelp-docbook-example.png" alt="An example about how Yelp renders a DocBook document">
</a>
<span class="caption text-muted">An example about how Yelp renders a DocBook document</span>
<p>Moreover, I’ve used DocBook to create some slides to do <a href="http://people.igalia.com/mrego/mswl/ils/slides/index.html">a presentation of my article</a> (<a href="http://people.igalia.com/mrego/mswl/ils/slides/how_to_write_a_manual_for_a_gnome_application_with_docbook_slides.xml">source ifle</a>) in class and I like it a lot it’s very customizable with a good XSL and CSS. For example, I found <a href="http://www.goshaky.com/docman-distfiles/DHTML-Slides/">some stylesheets</a> that generates a good HTML for presentations. When I have some free time I’m sure that I’m going to play with DocBook slides. :-)</p>
My relation with free software2008-11-12T00:00:00Zhttps://blogs.igalia.com/mrego/2008/11/12/my-relation-with-free-software/<p>Past month I’ve started the <strong><a href="http://www.mastersoftwarelibre.com/">Free Software Master</a></strong> arranged by <a href="http://www.caixanova.com">Caixanova</a>, <a href="http://www.igalia.com">Igalia</a> and <a href="http://www.urjc.es">URJC</a> in Vigo, this’s the second edition of that master (previous was hosted at A Coruña) and this year I’m a student. I’m sure that I’m going to learn a lot of interested things about free software: philosophy, license, development, communities, …
As you can guess I’m going to use <a href="http://blogs.igalia.com/mrego">this blog</a> to post some comments about exercises, practices, examples or whatever interesting thing related with this master (you can take this post as the first example).</p>
<p>In the next paragraphs I’ll try to sum up my relation with free software from my first contact to nowadays trying to answer some question of the subject <em><a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=39">Introduction to Libre Software</a></em>.</p>
<!--more-->
<p><em>My first use</em> of free software could be the use of <strong><a href="http://en.wikipedia.org/wiki/Netscape#Open_sourcing">Netscape</a></strong> as web browser before enter University (more or less between 1999 and 2001), however at that moment I only know that I didn’t have to pay and it worked better than Internet Explorer nothing related with free software.</p>
<p>When I started my degree on Computer Science at University (2001) I had <em>my first contact</em> with free software because there was Linux installed on University computers (it wasn’t the default OS but it was installed), the distribution was a <strong><a href="http://en.wikipedia.org/wiki/Red_Hat_Linux">Red Hat 6</a></strong> and I installed it in my home with some problems: printer and modem internet connection didn’t work. This year I’ve also my first contact with <strong><a href="http://www.gnu.org/software/emacs/">Emacs</a></strong> without success.</p>
<p>During the years at University and after that I <em>tested a few distributions</em>:</p>
<ul>
<li><strong>Red Hat</strong>: The first contact and a good first step.</li>
<li><strong>Fedora</strong>: The evolution of Red Hat and my distribution for some years.</li>
<li><strong>Ubuntu</strong>: My default distribution since 2005.</li>
<li><strong>Open Suse</strong>: Nothing special to highlight only a test.</li>
</ul>
<p>From last years at University I’ve been a free software user but only as end user moreover I’ve tried to spread the use of free software applications, among other: Firefox, <a href="http://OpenOffice.org">OpenOffice.org</a>, <a href="http://www.eclipse.org">Eclipse</a>, …</p>
<p>After join Igalia I’ve started to collaborate in some free software projects mainly related with <a href="http://www.typo3.org">TYPO3</a> a content management system written in <a href="http://www.php.net">PHP</a>.</p>
<p>Finally I can say that <em>free software has evolved since my first contacts</em> and today it’s more than ready to be used by anyone. Maybe in a few years the main applications in any field would be free software, we should push for it.</p>