<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>an act of subversive playful cleverness &#187; gsoc</title>
	<atom:link href="http://blog.stone-head.org/tag/gsoc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stone-head.org</link>
	<description>personal blog of Rudy Godoy</description>
	<lastBuildDate>Mon, 23 Jan 2012 17:55:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>Copyright © Rudy Godoy :: an act of subversive playful cleverness 2010 </copyright>
	<managingEditor>rudy@stone-head.org (an act of subversive playful cleverness)</managingEditor>
	<webMaster>rudy@stone-head.org (an act of subversive playful cleverness)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://blog.stone-head.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>an act of subversive playful cleverness</title>
		<link>http://blog.stone-head.org</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>personal blog of Rudy Godoy</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>an act of subversive playful cleverness</itunes:author>
	<itunes:owner>
		<itunes:name>an act of subversive playful cleverness</itunes:name>
		<itunes:email>rudy@stone-head.org</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://blog.stone-head.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Compute clusters for Debian development and building &#8211; final report</title>
		<link>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/</link>
		<comments>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 03:02:24 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=291</guid>
		<description><![CDATA[Compute clusters for Debian development and building &#8211; final report Summary &#8212;&#8212;- The goal of this project was intended to have Eucalyptus cloud to support ARM images so it allows Debian developers and users to be able to use such facility for taks such package building, software development (ie. Android) under a Debian pre-set image, [...]]]></description>
			<content:encoded><![CDATA[<p>Compute clusters for Debian development and building &#8211; final report</p>
<p>Summary<br />
&#8212;&#8212;-<br />
The goal of this project was intended to have Eucalyptus cloud to<br />
support ARM images so it allows Debian developers and users to be able<br />
to use such facility for taks such package building, software<br />
development (ie. Android) under a Debian pre-set image,<br />
software testing many others.</p>
<p>What was expected to have at the end is a modified version of Eucalyptus<br />
Cloud that supports ARM images on the first place. To date this goal has<br />
been reached but is not complete, read production-ready. Extensive test<br />
needs to be done. Besides that we have another goal which is to get<br />
Debian community to use this new extended tool.</p>
<p>Project overview<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Eucalyptus is a hybrid cloud computing platform which has a Open Source<br />
(FLOSS) version. It&#8217;s targetted to be used for PaaS (Platform as a<br />
Service), IaaS (Infrastructure as a Service) and other &#8216;distribution&#8217;<br />
models. It can be used also for cloud management. Given that it has<br />
implemented the EC2, for computing, and the S3, for storage, API, it&#8217;s<br />
compatible with existing public clouds such Amazon EC2. Currently it<br />
supports running i386 and amd64 images or NC (Node Controllers) in<br />
Eucalyptus naming.</p>
<p>Eucalyptus is a complex piece of software. It&#8217;s architechture it&#8217;s<br />
modular composed by five components. Cloud Controller (CLC), Walrus (W),<br />
Storage Controller (SC), Cluster Controller (CC) and Node Controller<br />
(NC). The first three are written in Java and the remaining are written<br />
in C. Our project modifications was targetted to the NC component,<br />
altough there is a remaining task for hacking the UI to allow setting<br />
the arch of the uploaded NC image instance.</p>
<p>The Node Controller is in charge of setting the proper information for<br />
Eucalyptus to be able to run virtualized images. Eucalyptus uses XEN and<br />
KVM hyphervisor to handle internal virtualization subsystem, and<br />
Libvirt, which is an abstraction of the existing virtualization<br />
libraries, for program interfacing.</p>
<p>Having that in mind we are back to our project. For our project to be<br />
sucessful we had various tasks to do. Beginning with understanding such<br />
complex piece of software, followed by hacking the requiered bits and<br />
later integrate the work so it results in a useful tool. Our approach to<br />
the project was then inline with such description.</p>
<p>The project&#8217;s history<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>I started my participation in GSoC approaching Steffen to discuss about<br />
what was expected, or more accurately, what was in his mind. We<br />
exchanged emails previous to my application and that resulted on my<br />
application being submitted. From the beginning I should tell that I<br />
wasn&#8217;t much clear on the &#8216;final product&#8217; of the project, however we<br />
refined ideas and goals during the weeks following to the official<br />
begining of the project. What was clear for me, after all, is that for<br />
this to &#8216;see the light&#8217; and gain adoption Eucalyptus code needed to be<br />
dealt with.</p>
<p>Our first task was review ARM image creation from scratch, using the<br />
work done by Aurelien and Dominique in previous GSoC. I&#8217;ve managed to<br />
get an updated ARM image running under qemu-system-arm. The issues<br />
presented in the past were almost unexistant now that the versatile<br />
kernel is official. You can see this on my first report.</p>
<p>After that being done and sometimes in parallel my main goal was then understand<br />
the internals of the Eucalyptus software in order to figure out it&#8217;s<br />
feasibility, where do we need to extend and how big the task is, we<br />
didn&#8217;t knew upfront. From the beginning of the project Steffen was kind<br />
to introduce me to the Eucalyptus developers and that have resulted in a<br />
good outcome for Debian, IMHO, to date.</p>
<p>Understanding Eucalyptus internals was quite a fun task to say the less. As you<br />
can see on the first part of the report Eucalyptus is modularized and<br />
the component I was expected to work with was the NC (Node<br />
Controller). Given that I isolated my work focus, I started to focus on<br />
learning the internals about that component.</p>
<p>Node Controller as described is in charge of &#8216;talking&#8217; with<br />
virtualization hyphervisors in order to arrange things to run guest<br />
image instances. The module has basically one main component: handler.c,<br />
in charge to talk to the appropiate hyphervisor and there are<br />
&#8216;extensions&#8217; (think of OOP polymorphism but acknoledge it&#8217;s plain C)<br />
that interact with KVM or XEN.</p>
<p>I figured that if qemu-kvm is ran in Hyphervisor mode we can manage to<br />
run an ARM image with qemu-system-arm. Given that Eucalyptus has<br />
interaction with KVM hyphervisor in place, this answered the question of<br />
the project&#8217;s feasibility. First green light on.<br />
&gt;From this point the scope reduced to interacting with the KVM handler<br />
(node/handler_kvm.c) and extend it to support running an image that is<br />
not amd64 or i386.</p>
<p>NC makes use of libvirt to abstract interaction with Hyphervisors. So,<br />
the next phase was learning about it&#8217;s API and figure what&#8217;s needed to<br />
be modified next. Libvirt uses a XML file for setting Domain (in<br />
libvirt&#8217;s naming) definitions. So, Eucalyptus provides a Perl wrapper to<br />
generate this file on runtime and allow the NC to invoke libvirt&#8217;s API<br />
to run the instance. Next task then, was adapt such script to support<br />
ARM arch. The current script is taiolred for amd64 and i383. I worked on<br />
that front and managed to get a script prototype, that can later be<br />
improved and support more arch&#8217;s.</p>
<p>Generating an adequate Libvirt&#8217;s XML Domain definition file for ARM can<br />
be a heroic task. There are many things to have in mind given the<br />
diversity of the ARM processor and vendors. I focused on the versatile<br />
flavour given that I was going to test the image I built on the first<br />
place and it ran fine under qemu-system-arm.<br />
The Perl script wrapper then was adapted for such configuration and it<br />
can be tested independently by issuing the following command:</p>
<p>$ tools/gen_kvm_libvirt_xml &#8211;arch arm</p>
<p>The &#8211;arch parameter is what I implemented and it&#8217;s intended to be<br />
called from the kvm handler on instance creation. With the extensibility<br />
in mind I&#8217;ve created a hash to associate the arch with their<br />
corresponding emulator.</p>
<p>our %arches = (<br />
&#8216;amd64&#8242; =&gt; &#8216;/usr/bin/kvm&#8217;,<br />
&#8216;arm&#8217; =&gt; &#8216;/usr/bin/qemu-system-arm&#8217;,<br />
);</p>
<p>Added the arch parameter to the GetOptions() function and used<br />
conditions to tell whether the user is looking for a particular arch,<br />
arm in our case. The most important parts to be considered are the<br />
,  and  entries.</p>
<p>hvm</p>
<p>$local_kvm</p>
<p>There&#8217;s also  and  that require to be tailored for arm.</p>
<p>root=0800</p>
<p>As output the script generates an XML template that can be adapted to<br />
your needs and it could be used and tested with tools like Libvirt&#8217;s<br />
virsh. So that, it can be useful independently of Eucalyptus. I managed<br />
to get to this point before the midterm evaluation.</p>
<p>Now that we had the XML wrapper almost done, the next task was to make<br />
the handler call pass the arch as an argument to the script, so the<br />
image is loaded with the proper settings and we are able to run it.</p>
<p>Eucalyptus doesn&#8217;t have a arch field for NC&#8217;s instances. So, after approaching<br />
Eucalyptus developers, with whom we had already being interacting, I<br />
settled to my proposal of extending the ncInstance struct with an arch<br />
field (util/data.h). The ncInstance_t struct stores the metadata for the<br />
instance being created. It&#8217;s used for storing runtime data as well as<br />
network configuration and more. It was indeed the right place to add a<br />
new field. I did so by creating the archId field.<br />
Now I needed to make sure the arch information is stored and later used on the<br />
libvirt&#8217;s call.</p>
<p>typedef struct ncInstance_t {<br />
char instanceId[CHAR_BUFFER_SIZE];<br />
char imageId[CHAR_BUFFER_SIZE];<br />
char imageURL[CHAR_BUFFER_SIZE];<br />
char kernelId[CHAR_BUFFER_SIZE];<br />
char kernelURL[CHAR_BUFFER_SIZE];<br />
char ramdiskId[CHAR_BUFFER_SIZE];<br />
char ramdiskURL[CHAR_BUFFER_SIZE];<br />
char reservationId[CHAR_BUFFER_SIZE];<br />
char userId[CHAR_BUFFER_SIZE];<br />
char archId[CHAR_BUFFER_SIZE];<br />
int retries;</p>
<p>/* state as reported to CC &amp; CLC */<br />
char stateName[CHAR_BUFFER_SIZE];  /* as string */<br />
int stateCode; /* as int */</p>
<p>/* state as NC thinks of it */<br />
instance_states state;</p>
<p>char keyName[CHAR_BUFFER_SIZE*4];<br />
char privateDnsName[CHAR_BUFFER_SIZE];<br />
char dnsName[CHAR_BUFFER_SIZE];<br />
int launchTime; // timestamp of RunInstances request arrival<br />
int bootTime; // timestamp of STAGING-&gt;BOOTING transition<br />
int terminationTime; // timestamp of when resources are released (-&gt;TEARDOWN transition)</p>
<p>virtualMachine params;<br />
netConfig ncnet;<br />
pthread_t tcb;</p>
<p>/* passed into NC via runInstances for safekeeping */<br />
char userData[CHAR_BUFFER_SIZE*10];<br />
char launchIndex[CHAR_BUFFER_SIZE];<br />
char groupNames[EUCA_MAX_GROUPS][CHAR_BUFFER_SIZE];<br />
int groupNamesSize;</p>
<p>/* updated by NC upon Attach/DetachVolume */<br />
ncVolume volumes[EUCA_MAX_VOLUMES];<br />
int volumesSize;<br />
} ncInstance;</p>
<p>With that in place what was left was modifying the functions that<br />
store/update the ncInstance data, and also the libvirt&#8217;s function that<br />
calls the gen_kvm_libvirt_xml script. I&#8217;ve modified the following files:<br />
- util/data.c<br />
- node/handlers_kvm.c<br />
- node/handlers.{c,h}<br />
- node/test.c<br />
- node/client-marshall-adb.c</p>
<p>Most important the allocate_instance() function that is in charge of setting up<br />
the instance metadata a prepare it to pass it to the handler, then<br />
hyphervisor trough Libvirt&#8217;s API. The function now has a new archId<br />
parameter as well, to keep coherence with the field name. It also<br />
handles whether the field is set or not. We (Eucalyptus developers and<br />
I) haven&#8217;t settled wether to initialize this field with a default value<br />
or not. I&#8217;d stepped up and initialized with a NULL value for this string<br />
type var.</p>
<p>if (archId != NULL){<br />
strncpy(inst-&gt;archId, archId, CHAR_BUFFER_SIZE);<br />
}</p>
<p>Stores the value only if it&#8217;s passed to the function. This is essential to<br />
don&#8217;t break existing functionality and keep consistency for later releases.<br />
With this we almost finished the part of extending Eucalyptus to support<br />
arm images. It took quite long to get to that point. Next step: test.</p>
<p>As I mentioned in my previous report the current Eucalyptus packaging<br />
has issues. From the beginning I&#8217;ve approached the pkg-eucalyptus team,<br />
who were very hepful. So I myself set me up and joined the pkg team with<br />
commit access to the repo. Even the GSoC is not intended for packaging<br />
labour, I needed to clear things on that side because what we want is<br />
adoption so anyone, say a DSA or a user, could setup a cloud that has<br />
support for running arm instances under amd64 arch.</p>
<p>Over the weeks between mid-term evaluation and past week I&#8217;ve worked on<br />
that front. Results were good, as you can see in the pkg-eucalyptus<br />
mailing list and SVN repo.<br />
Eucalyptus has a couple of issues that because of it&#8217;s nature and complexity<br />
triggered build errors. Those issues came from the Java side of the project and<br />
few form the C-side. The C-part was a problem with AXIS2 Jar used to generate<br />
stubs for later inclusion on build-time. There&#8217;s no definitive solution to date<br />
because one of the Makefile on gatherlog/Makefile issues a subshell call that<br />
doesn&#8217;t catches the AXIS_HOME environment variable. I&#8217;ve worked around this<br />
by defining it as a session env var from .zshrc. The other problem is related<br />
to the Java libary versioning and most likely (we had to investigate further)<br />
to groovy versioning.</p>
<p>As I explained Eucalyptus has 3 components written in Java. The Java code uses<br />
extensively the AXIS2 library for implementing webservices calls, the groovy<br />
language for JVM, and many other Java libaries. Eucalyptus open source version<br />
ships both &#8216;online&#8217; and &#8216;offline&#8217; versions. The difference is basically that<br />
the offline version ships the Java libaries JAR files inside the source code,<br />
so you can build with all required deps.</p>
<p>Our former packaging used a file to list which Java libraries the package<br />
depends on and it symlinked them using system wide installed packages. This<br />
rather than helping out triggered a lot of problems I explaing with more detail<br />
on the pkg-eucalyptus ml. I worked around this by telling the debian/rules<br />
not to use such file to symlink and instead use the existing ones from<br />
the source. The last weekend I managed to get to that point and built<br />
sucessfully the software under Debian. I&#8217;ve done that in order to have a<br />
complete build-cycle for my changes, and then test. In fact today I&#8217;ve<br />
spotted and fixed a couple of bugs there.</p>
<p>What&#8217;s available now<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
To date we have a Eucalyptus branch where my patches are sent. The level of<br />
extension is nearly complete, more testing needed. One missing bit is to<br />
change the UI so that the user selects which arch her image is and that<br />
value is passed to the corresponding functions on the Node Controller<br />
component.</p>
<p>We also have an ARM image that can be tested and later automated. I&#8217;ve<br />
recently learned about David Went&#8217;s VMBuilder repo that extends Ubuntu&#8217;s<br />
vmbuilder to support image creationg. I might talk to him to adapt the tool<br />
in order to support creation of arm images and use it to upload to an<br />
Eucalyptus cloud.</p>
<p>I&#8217;ve also created a wiki page with different bits on which I was working on.<br />
I&#8217;ve yet need to craft it to be more educational. I guess I&#8217;m going to use<br />
this report as a source :)</p>
<p>We also had more strong cooperation with the Eucalyptus project and<br />
involved their developers on the packaging and this project, which is<br />
something I consider a great outcome for this project and GSoC goals:<br />
to attract more people to contribute to FLOSS. I&#8217;ve also been contacted by<br />
people from the Panda Project and we might cooperate also.</p>
<p>Future work<br />
&#8212;&#8212;&#8212;&#8211;<br />
I plan to keep working on the project regardless the GSoC ends. Our goal<br />
as Debian could be integrating this into the Eucalyptus upstream<br />
branch. We have good relations with them so expect news from that side.<br />
I also plan to keep working with the Eucalyptus team and related<br />
software in Debian, given that I&#8217;m familiarized with the tools and<br />
projects.<br />
I&#8217;m also planning to advocate SoC for Debian in my faculty. To date we<br />
had already 4 students, IIRC, that have participated in the past.</p>
<p>Project challenges and lessons<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>During the project I faced many challenges both in the personal side<br />
and in the technical one. This part is a bit personal but I expect we<br />
learn from this.</p>
<p>First challenge was the &#8216;where do I sit&#8217; problem. My project was<br />
particular, indeed quite different from the others on it&#8217;s nature. I had<br />
to work on a software that is not Debian&#8217;s and then come and say &#8216;Hey we<br />
have this nice tool for you, come test it!&#8217;. So, indeed, my focus was on<br />
the understanding of such tool, Eucalyptus, and not much on looking back<br />
at Debian because I didn&#8217;t feel I had something to advertise yet and<br />
indeed I got most valuable/useful feedback from Eucalyptus developers<br />
rather than Debian&#8217;s, which for the case is OK IMHO. I had great<br />
mentoring. This situation probably looked a bit of &#8216;isolation&#8217; from my<br />
side, from Debian&#8217;s POV, but it was not intended it&#8217;s just how it needed<br />
to be IMHO.  I felt that I wasn&#8217;t contributing directly to the<br />
project. I&#8217;ve spoke about such thing with Steffen a couple of times. I&#8217;d<br />
like to say that it was also my concern but I probably failed on<br />
communicating this, second challenge.</p>
<p>Third challenge was more technical and related to the first one. Since I<br />
was not writing any code for a Debian native package/program but instead for<br />
other project I faced the situation of where to publish my<br />
contributions. Eucalyptus had some issues on managing their FLOSS repo<br />
and the current development one is outdated comparing to the<br />
-src-offline 2.0.3 release. The project didn&#8217;t fit pkg-eucalyptus repo<br />
neither, even we thought to branch the existing trunk and ship my<br />
contribs as quilt patches, but it involved a lot of more work and burn<br />
on reworking something that has issues now. Later on time I branched the<br />
bzr eucalyptus-devel Launchpad repo and synced there with the<br />
src-offline code. I was slow to react on thing I can say.</p>
<p>Fourth challenge was also technical and still dealing with. I was looking to<br />
setup a machine to set a cloud and test my branch. The Dean of my faculty<br />
kindly offered a machine but I&#8217;ve never managed to get things arranged<br />
with the technical team. Steffen and I discussed about this and evaluated<br />
options, at the end we settled on pushing adoption rather than showcasing it.<br />
Since for adoption we need a use case, I&#8217;ve spend some SoC money on hardware<br />
for doing this. I should have news this week on that side :)</p>
<p>Finally, I&#8217;d like to thank everyone on the Debian SoC team for this<br />
opportunity to participate. I like to thank Steffen for his effort on<br />
arranging things for me, Graziano from Eucalyptus for his advice on<br />
working with the software code. The different people from Eucalyptus I<br />
interacted with and showed interest on  the project&#8217;s sucess. My<br />
classmates and teachers from the Computer Science School at UCSP in<br />
Arequipa-Peru, friends from the computing community in Peru &#8211; SPC and<br />
finally my family. Thank you, I learned a lot, specially on the personal<br />
side. As Randy Pausch put: &#8220;The brick walls are there to give us a<br />
chance to show how badly we want something.&#8221;</p>
<p>Resources<br />
&#8212;&#8212;&#8212;</p>
<p>Please see the Wiki page[1] for any reference to the project&#8217;s resources.</p>
<p>1- http://wiki.debian.org/SummerOfCode2011/BuildWithEucalyptus/ProjectLog</p>
<p>Best regards,<br />
Rudy</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GSoC: Status report 01</title>
		<link>http://blog.stone-head.org/gsoc-status-report-01/</link>
		<comments>http://blog.stone-head.org/gsoc-status-report-01/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 00:36:32 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[eucalyptus]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=248</guid>
		<description><![CDATA[Hello, this is the official project report for the Debian GSoC admins and everyone. It&#8217;s been few days since the official coding phase started. Most of the time I&#8217;ve been figuring out the details regarding integration of non-x86 images to the Eucalyptus IaaS and working on the ARM image, as you&#8217;ll learn later. I&#8217;m also [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, this is the official project report for the Debian GSoC admins and everyone. It&#8217;s been few days since the official coding phase started. Most of the time I&#8217;ve been figuring out the details regarding integration of non-x86 images to the Eucalyptus IaaS and working on the ARM image, as you&#8217;ll learn later. I&#8217;m also in the process of starting to design the set of tools we&#8217;ll be delivering as part of the project.</p>
<p>The project&#8217;s goal is to be a useful resource for Debian developers and porters. I&#8217;ve joined some porters list in order to learn what are the things they are struggling with and how the project can help to address them. I&#8217;ll be starting a wiki page with such topics.</p>
<p>Bonding period:<br />
Bonding period has been more fruitful than I expected. As mentioned in my previous post, Steffen and I got in touch with the Eucalyptus team, since they show their early interest on the project. We are coordinating cooperation between our teams. Besides my mentor and I defined to start working on the ARM image. Coordination went OK. We&#8217;ll be having meetings every two weeks.</p>
<p>Project Status:<br />
Resuming Dominique&#8217;s <a href="http://wiki.debian.org/Cloud/CreateImage">work</a> I began working on the ARM image. Aurélien&#8217;s <a href="http://www.aurel32.net/info/debian_arm_qemu.php">work</a> was a great resource. Currently I have a working and updated Debian testing ARM image using the versatile kernel that can be used under qemu-arm. I&#8217;m currently making tests and figuring out the next phase which is &#8220;cloudify&#8221; it. Over this weekend I expect to finish on that side and then began on the design and implementation of the tools that will be the project&#8217;s result.</p>
<address>Until now I haven&#8217;t faced much issues, but the Eucalyptus part since the docs are targeting x86 and amd_64 archs. However I think I can run qemu-arm on top. I&#8217;ll talk to them about the idea.<br />
</address>
<p>Future plans:</p>
<p>week 3:</p>
<p>- Finish tests with the ARM image.</p>
<p>- Design the base tool-set, thinking integration with dpkg-buildpackage and <a href="http://wiki.debian.org/qemubuilder">qemubuilder</a>.</p>
<p>week 4-8:</p>
<p>- Write the necessary code.</p>
<p>mid-term evaluation.</p>
<p>Other bits:</p>
<p>Latest days have been quite busy for me, since I&#8217;m still have to attend class, my semester ends in five weeks. This week was quite overwhelming with &#8220;media&#8221;, my University published an <a href="http://www.ucsp.edu.pe/index.php/noticias/46-notas-de-prensa/1687-alumno-ucsp-desarrollara-proyecto-para-google.html">article</a> (Spanish) about me and the program. I&#8217;m the third student of the CS school participating in GSoC, in the past we had Gentoo Project and KDE students. Later, a local Cable TV program interview me on the same matter, it went fine. I managed to talk about Debian and what we do (we get free Advertising yay!) :) also about Google&#8217;s Summer of Code program and invited students to participate both in FLOSS projects and the program. Still don&#8217;t know if they have put it on air, I think it will be next week.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/gsoc-status-report-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GSoC 2011: Compute Clusters Integration for Debian Development and Building</title>
		<link>http://blog.stone-head.org/gsoc-2011-compute-clusters-integration-for-debian-development-and-building/</link>
		<comments>http://blog.stone-head.org/gsoc-2011-compute-clusters-integration-for-debian-development-and-building/#comments</comments>
		<pubDate>Mon, 16 May 2011 15:49:57 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[eucalyptus]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=245</guid>
		<description><![CDATA[Hi, been offline for a while and now after my mid-term exams I&#8217;m glad to tell that I&#8217;ll be working on this year&#8217;s GSoC project called: &#8220;Compute Clusters Integration for Debian Development and Building&#8221;. The main idea for this project is to give Debian developers and downstream developers a set of tools for helping them [...]]]></description>
			<content:encoded><![CDATA[<p>Hi, been offline for a while and now after my mid-term exams I&#8217;m glad to tell that I&#8217;ll be working on this year&#8217;s GSoC project called: &#8220;Compute Clusters Integration for Debian Development and Building&#8221;. The main idea for this project is to give Debian developers and downstream developers a set of tools for helping them to leverage the power of a cloud-based infrastructure for their development duties. This is specially targeted to porters, multi-arch and cross-development, So I&#8217;ll ask such teams for feedback on the subject over the next days.</p>
<p>People at Eucalyptus has been very helpful and willing to cooperate with us to make this project a success. We expect to get them involved on the packaging and probably as Debian contributors, if not developers, also. Next week is the official coding phase start, but I&#8217;ve been talking and working together with my mentor Steffen and the Eucalyptus people already. We&#8217;ll be starting working on the qemu ARM images, reusing and resuming the job did by Dominique Belhachemi in the past GSoC.</p>
<p>Of course I welcome as much feedback as you might find useful. I plan to post a project update every two weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/gsoc-2011-compute-clusters-integration-for-debian-development-and-building/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is Debian listening to its users?</title>
		<link>http://blog.stone-head.org/is-debian-listening-to-its-users/</link>
		<comments>http://blog.stone-head.org/is-debian-listening-to-its-users/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 23:32:44 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[userfeedback]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=113</guid>
		<description><![CDATA[For some time ago I&#8217;ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I&#8217;m posting here a very preliminar draft of my findings and an idea for a posible software project. It&#8217;s pretty written on-the-fly while I&#8217;ve managed to have some minutes [...]]]></description>
			<content:encoded><![CDATA[<p>For some time ago I&#8217;ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I&#8217;m posting here a very preliminar draft of my findings and an idea for a posible software project. It&#8217;s pretty written on-the-fly while I&#8217;ve managed to have some minutes between work and uni. Rigurous wording isn&#8217;t P1.</p>
<p><a href="http://www.debian.org/social_contract">Debian&#8217;s social contract</a> 4th item states:</p>
<blockquote><p><strong>Our priorities are our users and free software</strong> We will be guided by the needs of our users and the free 	  software community. We will place their interests first in 	  our priorities.</p></blockquote>
<p>When we make decisions, either technical, legal and others regarding the operating system we deliver, this is one of the most referred argument. Altough that&#8217;s seen as high priority often we don&#8217;t have ways to properly know what our users want. While working on translations on the Spanish team we&#8217;ve faced this situation. Do our users find them useful? they are able to understand them? they find that a much familiar wording would be bette than high technical details? We didn&#8217;t know. Then, the question still exists.</p>
<p>Altough Debian has ways for users to provide feedback (BTS, mailing lists, IRC,  popcon, etc) none of them is designed to offer a way for the user to provide feedback on features, development roadmap and other non-bug aspects that developers and the project can tally and use for prioritize on releases. It&#8217;s rather amusing to note that one of the most valuable assets free software community has is user involvement and contribution.</p>
<p>But before we enter in details let&#8217;s start on the basics. For using this information we first need to know who our users are? do we? From my findings and interaction with the community I&#8217;ve identified two kinds of Debian users who can be clearly named.</p>
<p>1) The derivatives or pure blends, who use the Debian base and framework to build niche distributions.</p>
<p>2) The lead users (using E. Von Hippel&#8217;s definition), who are the developers, contributors and a group of users. Debian is, if not the only, one of the projects who is best for fostering lead users. Most of them at some point involve themselves in the development process and some, later become developers.</p>
<p>There is a more diverse group who are end-users but it&#8217;s unclear to me how we can group them. Despite that they probably represent the biggest part of the pie.</p>
<p>So, how we do please everyone? can we? In my opinion we can, at some degree. By implementing tools for first: gather user feedback, make statistical data, tally, we later can take informed decisions. In Debian decisions are voted and the set of people who votes are only developers with their own constraints.</p>
<p>I think this would ease the constant that release-decisions-regarding-foo-tech-legal-issue represented on each release iteration, saving time, health and bits.  It could be useful for knowing more about who are the ones we develop things for. I&#8217;m thinking of some sort of Dell&#8217;s IdeaStorm.com for software.</p>
<p>What do you think? I&#8217;m willing to co-mentor this if someone finds that is an interesting project for GSoC. Let me know!.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/is-debian-listening-to-its-users/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Academia y software libre en la UPC</title>
		<link>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/</link>
		<comments>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 07:26:41 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Academia]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Talks]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[gnuupc]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[osswatch]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[upc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=82</guid>
		<description><![CDATA[El software libre, desde sus inicios, ha tenido un estrecho vínculo con la academia. Proyectos como GNU, FreeBSD, Linux, se han gestado en los claustros de conocidas universidades, por sus estudiantes. Hoy en día, una buena parte del software libre, que podemos encontrar en sitios como freshmeat.net, es desarrollado dentro de entornos académicos. Toda esta [...]]]></description>
			<content:encoded><![CDATA[<p>El software libre, desde sus inicios, ha tenido un estrecho vínculo con la academia. Proyectos como GNU, FreeBSD, Linux, se han gestado en los claustros de conocidas universidades, por sus estudiantes. Hoy en día, una buena parte del software libre, que podemos encontrar en sitios como freshmeat.net, es desarrollado dentro de entornos académicos. Toda esta producción inicial se ha realizado en un entorno pre-ecosistema  de software libre, en el que, además del software, también se construyeron las bases de la cultura y prácticas adoptadas por la comunidad.</p>
<p>Hoy, el desarrollo que ha alcanzado el ecosistema de software libre ha permitido que cada vez más organizaciones, empresas, e instituciones adopten las soluciones de software creadas por éste. Por un lado, estudios recientes, como los de <a href="http://www.gartner.com">Gartner</a>, señalan que <a title="Gartner predict open source usage in commercial software" href="http://arstechnica.com/news.ars/post/20080205-gartner-80-percent-of-commercial-software-programs-will-include-open-source-by-2012.html">para el 2012 gran parte de los productos comerciales de software emplearán componentes de software libre</a> y que <a title="Gartners top predictions for 2008" href="http://www.gartner.com/it/themes/economy/audio/FallEuroSymWebCannes.ppt">por lo menos una tercera parte del presupuesto de las empresas para software de aplicación se destinará a servicios de suscripción</a>.</p>
<blockquote><p><a title="IDC view of open source" href="http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;newsId=20060814005620&amp;newsLang=en">IDC</a> said “Open Source is the most significant all-encompassing and long-term trend that the software industry has seen since the early 1980’s.”</p>
<p><a title="Gartner predict open source usage in commercial software" href="http://arstechnica.com/news.ars/post/20080205-gartner-80-percent-of-commercial-software-programs-will-include-open-source-by-2012.html">Gartner predict</a> that “ <strong>By 2012, 80 per cent of all commercial software will include elements of open-source technology.</strong> ”</p>
<p>A <a title="Actuate survey findings" href="http://www.computerworlduk.com/toolbox/open-source/open-source-business/news/index.cfm?newsid=11278">survey</a> of nearly 1000 IT staff in the UK, Germany, France and North America, commissioned by Actuate, showed that fifty four percent of businesses in the UK felt that the benefits of open source outweighed any negative aspects</p>
<p>Another Gartners <a title="Gartners top predictions for 2008" href="http://www.gartner.com/it/themes/economy/audio/FallEuroSymWebCannes.ppt">top predictions for 2008</a> is that “by 2012, at least one-third of business application software spending will be as a service subscription instead of as a product licence”.</p></blockquote>
<p>Por otro lado, esto también presenta una situación en la que la demanda de profesionales con conocimiento de tecnologías de software libre se incrementa, mientras que la oferta parece ser cada vez más escasa, según demuestran <a title="Actuate survey preliminary findings" href="http://www.actuate.com/company/news/press-releases-resources.asp?ArticleId=13847">estudios de Actuate</a>.</p>
<blockquote><p><a title="Actuate survey preliminary findings" href="http://www.actuate.com/company/news/press-releases-resources.asp?ArticleId=13847">Research conducted for Actuate</a> found that six in every ten respondents said there “were <strong>serious problems finding the right IT skills to implement and manage open source solutions</strong>”</p></blockquote>
<p>El pasado sábado 22, tuve la oportunidad de ofrecer una charla en mi universidad, la <a href="http://www.upc.edu.pe">UPC</a>, en la que desarrolle estos temas. El enfoque tenia como objetivo el saber cómo aprovechar, inteligentemente, como estudiantes de computación, las oportunidades y recursos que existen hoy para desarrollarnos profesionalmente haciendo lo que nos apasiona: software libre. En este sentido, conversamos acerca del programa <a href="http://code.google.com/soc/">Google Summer of Code</a> como una manera de avanzar hacia tal objetivo, por los beneficios que ofrece a nivel académico y profesional. Además, presenté el proyecto <a href="http://www.oss-watch.ac.uk/">OSS Watch</a>, cuyo objetivo es fortalecer el vínculo entre la comunidad académica y la de software libre a través del desarrollo de material académico que introduzca prácticas  de desarrollo de la comunidad en los cursos de computación. A través de esto el proyecto busca mejorar las capacidades de los futuros profesionales que les permitan desarrollar soluciones basadas en tecnologías de software libre.</p>
<p>La charla estuvo organizada por el grupo <a href="http://www.gnuupc.org">GNU UPC</a>, conformado por alumnos y ex-alumnos de la universidad, que está en un proceso de reactivación de actividades y retomando proyectos a futuro, de los cuales seguro tendré algún grado de culpa. Las <a href="http://wiki.stone-head.org/bin/view/UPC/AcademiaSoftwareLibre?slideshow=on;skin=print#GoSlide1">diapositivas</a> de mi presentación están en el <a href="http://wiki.stone-head.org">wiki</a> que he creado para publicar mis trabajos academicos y proyectos personales.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

