tag:blogger.com,1999:blog-48344892647500209262024-02-20T11:58:25.154-08:00Random thoughts and experiences with LinuxJust a place to post random experiences, thoughts and ideas about Linux .João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.comBlogger42125tag:blogger.com,1999:blog-4834489264750020926.post-62237472250687967352017-08-09T01:36:00.003-07:002017-08-09T01:36:43.205-07:00Cloud Foundry and Kubernetes for Beginners<div class="prose" itemprop="articleBody" style="text-align: justify;">
Cloud Foundry and
Kubernetes are probably the most prominent technologies for cloud
infrastructure development, they have a very different set of goals and
as such they follow significantly different solution design approaches.<br />
<br />
Cloud Foundry is a traditional Platform-as-a-Service technology, with
a specific design orientation towards enterprise-scale resources and
privileges management. It follows a top-down approach, where your
primary component is a CF "cloud" instance. Within a CF cloud you create
organizations and spaces, which are bound to resource quota plans.
Quota plans include both computing (CPU/RAM/instances) resources and
external services resources (e.g. database storage).<br />
<br />
CF users are assigned to organizations and can deploy/monitor their applications based on their <a href="https://docs.cloudfoundry.org/concepts/roles.html" rel="nofollow noopener" target="_blank">roles</a>. There is a list of CF supported development languages/frameworks, called <a href="https://docs.cloudfoundry.org/buildpacks/" rel="nofollow noopener" target="_blank">buildpacks</a>
. Developers/release managers can deploy and monitor their applications
using the Cloud Foundry command line client. CF application instances
run on Linux containers, on a CF platform you get the same level of
scalability/isolation that you can find on most containerized
application platforms.<br />
<br />
CF does a clear distinction between applications and services, on CF
parlance, a service is an abstract resource that can be instantiated and
bound to applications. Services are available from a CF's service
catalog «named marketplace per it's usual format on public clouds»,
example of CF services are object storage, SQL dbs, nonsql, bigdata /
deep learning APIs, messaging, etc.<br />
<br />
There are many CF powered PaaS providers, as an IBMer I am more familiar with IBM's offering, <a href="https://www.ibm.com/cloud-computing/bluemix/" rel="nofollow noopener" target="_blank">BlueMix</a>
. Bluemix provides a very large and diverse catalog of services, some
which rely on IBM exclusive technology. In any case, Cloud Foundry is an
open source project, which means you can deploy your own CF instance,
exploring your existing infrastructure and adapting services per your
requirements.<br />
<br />
Kubernetes is an application container orchestration technology, with
a specific design orientation towards application containers management
and integration. It follows a bottom-up approach, where your primary
component is the "pod", a "pod" is a group of one or more containers
that can be deployed into a Kubernetes cluster. Pod's are most commonly
composed using Docker images. There is no default organization structure
in a Kubernetes cluster, in order to achieve resource control on an
organization level you will need to setup Kubernetes namespaces with <a href="https://kubernetes.io/docs/concepts/policy/resource-quotas/" rel="nofollow noopener" target="_blank">resource quotas</a> and <a href="https://kubernetes.io/docs/admin/authorization/rbac/" rel="nofollow noopener" target="_blank">roles</a>.<br />
<br />
Developers/release managers (which can have namespaces bound roles)
can deploy/monitor their container images. There is no Kubernetes
specific list of images for application language/frameworks support, you
will need to select/deploy/compose the pod with images bundling the
required base O.S. image, SDK and applications.<br />
<br />
Kubernetes does not have an explicit distinction between applications
and services, a Kubernetes pod can be either an application fronted
(e.g. nodejs) or a back-end (e.g. postgresql), or both. A Kubernetes <a href="https://kubernetes.io/docs/concepts/services-networking/service/" rel="nofollow noopener" target="_blank">service </a>is as network level of abstraction, used to define a TCP service from the container that should be exposed externally.<br />
<br />
There are many Kubernetes distributions and services providers, and
there are also several PaaS solutions (e.g. RedHat's OpenShift) built on
top of Kubernetes. IBM is also on the Kubernetes train on it's cloud
platform. Kubernetes clusters are available as a CF service on <a href="https://console.bluemix.net/docs/containers/cs_ov.html" rel="nofollow noopener" target="_blank">BlueMix</a> . Kubernetes is also an Open Source project, you can try it or build your own infrastructure.<br />
<br />
<strong>Roundup</strong><br />
Cloud Foundry is a platform-as-a-service platform, with an explicit
organization structure and resource management control system, CF
provides officially supported SDKs, services are available as a
different level of abstraction, services instances can be created and
bound to applications. CF application instances are run within a
self-healing elastic containerized platform.<br />
<br />
Kubernetes is container-orchestration platform, capable of running
services on container based images (most commonly Docker). It provides
the freedom and responsibility for running a wide range of components
and services that are bundled into images. It provides optional resource
control facilities. Kubernetes is a self-healing elastic containerized
platform.<br />
<br />
The best option between a CF app or a Kubernetes pod will depend a
lot on the application requirements, team size, skills and other
business requirements.</div>
João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-92064312421072804182017-08-02T14:50:00.001-07:002017-08-02T14:50:30.680-07:00When m(IRC) and ANSI C were popularIt was 2005, I was amazed with internet chats, both as an user, and as a computer programming enthusiast. m(IRC), an Internet Relay Chat application was probably the most popular chat app. For some young people, at that time, being "online" was not merely about having an internet connection, it was about being online on "mIRC". Sometimes people actually scheduled to be "online" together. Having a continuous internet connection at home was still a luxury for many.<br />
<br />
As many of the early internet services and related software, installing and managing an IRC network was a complex activity, as such, most IRC chat networks were managed by large university groups and internet service providers. This was where I got in, improving the server side software, making it easier and more flexible to use for every body.<br />
<br />
IRC chat networks provided both chat rooms and private messaging. Users were identified by their chosen nickname, and the chat rooms «named IRC channels» had moderation features. IRC servers kept all is users and channels information only in memory. When servers were restarted all this information was lost To overcome this, many IRC networks implemented IRC "registration" services, these services worked as "robots" which assigned control over nicknames and chat-rooms, keeping that data on a persistent database, there services were also frequently extended with extra features like offline messaging.<br />
<br />
I believed that there was a great potential for more advanced IRC services, using web/mail integration features which I was not able to find in the existing software. That was when I decided to develop an IRC Services software from scratch. <br />
<br />
I didn't kept any record about the initial development time-line and I was not familiar with any open source version control system at the time. "PTlink IRC Services 3" was released around June 2005, containing around 20k lines of ANSI C code.<br />
<br />
It featured a C library providing an event driven API for all the IRC server protocol handling. For example, for an "on connect" message service, you would only need to bind your C function to the NEW_USER event, and from your function, you would use the irc_SendNotice() to delivery a message.<br />
<br />
Services were provided as a set of modules, these modules were implemented as shared object libraries that could be dynamic loaded/reloaded, this is something that you currently find on most software, modules/plugins support.<br />
<br />
Last but not least, the data store back-end was MySQL, while most IRC services were still using file based custom formats. This also allowed the development of a minimal web interface.<br />
<br />
In 2006 the development was halted, mostly because I lost ownership over the ptlink.net domain which was bound to the software, and due to the trending lose of popularity of IRC.<br />
<br />
It is a bit sad when you spend some hundred hours of development, specially open source, and it gets into a dead end. Nevertheless developing an event driven C library, with a modular IRC services integrator was a very challenging and exciting personal experience.<br />
<br />João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2tag:blogger.com,1999:blog-4834489264750020926.post-17447286516741201672017-04-09T03:45:00.000-07:002017-04-09T03:46:11.803-07:00AdwaitaThis weekend I have been playing with an open source project, the <a href="https://processing.org/">Processing</a> language, which seems to be a great tool for computer graphics design/development, it provides and high level language, abstracting you from the more l ow-level technical aspects of graphics programming.<br />
<br />
I have been looking on how to use it with Python as the development language, I have found two options:<br />
<br />
<ol>
<li><a href="http://py.processing.org/">Python Mode for Processing </a>which is a language supporte addon for Processing's IDE, it work as a wrapper for the processing java lib, it's based on jython,</li>
<li><a href="https://pypi.python.org/pypi/pyprocessing">pyprocessing pypi package</a> which is a regular python package, implementing the processing language using OpenGL and Pyglet for the renering</li>
</ol>
<br />
<br />
I preferred to go with the pypi package in order to be able to keep developing in a python ecosystem without java dependencies. Unfortunately I have found the pyprocessing development has been abandoned. I have found a github repository with the last commit from 5 years ago, and which actually fails to install/run because of a missing one line import statement.<br />
<br />
So here I was again, forking yet another repository, because I found a project which I believe to have a great potential but for whatever reason is no longer maintained. Since this is becoming a common case, creating "keep it working" repositories, I gave it some more thought.<br />
<br />
There are many abandoned, yet useful/interesting open source projects. It most commonly happens when projects are started/developed by a single person, sometimes just as prototypes, and at a given point in time the author loses the interest/capacity to maintain it. There is a lot of people with great technical skills/interest in software development, but very limited in community/team building. I have been there.<br />
<br />
This is the reason why I have decided to start a new project, with the name "Adwaita" whose goal is to maintain open source projects vitality. The primary focus will be on keeping "poorly maintained" open source projects in better conditions to be adopted/driven by project specific communities.<br />
<br />
In an "inception" kick-off style, Adwaita will be the first project managed by the Adwaita task force.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-14319832585678932692017-02-18T01:37:00.002-08:002017-02-18T01:37:36.121-08:00Testing OpenSUSE TumbleweedIt has been a long time since I have tested a new distro, so here I am again, Now trying openSUSE Tumbleweed. I never tried openSUSE for more than a few days, so hopefully this time I willl build my own oppinion. I am going for Tumbleweed, the rolling release, since I am the bleeding edge guy.<br />
<br />
<h3>
<b>Install</b></h3>
I have selected the NET install iso, because I have a decent internet connection, and I like to have a clean desktop, only installing software as needed. The iso is available from <a href="http://download.opensuse.org/tumbleweed/iso/">http://download.opensuse.org/tumbleweed/iso/</a> .<br />
<br />
I have created a bootable usb with the following procedure:<br />
<a href="https://en.opensuse.org/SDB:Create_a_Live_USB_stick_using_Windows#Using_ImageUSB">https://en.opensuse.org/SDB:Create_a_Live_USB_stick_using_Windows#Using_ImageUSB</a><br />
<br />
<h3>
<b>Post Install Issues</b></h3>
<div>
After installing a 3rd SDD disk do my desktop computer 2 years ago, installing any OS resulted in a broken boot system. It was no different with Tumbleweed, I just ended on a GRUB2 "No such device". However it was quite easy to fix, OpenSUSE's media has a "Boot from installed system" which detects an existing install, and boot from it. It worked like a charm. Then having some technical background on the issue. With a full booted and functional system, I have installed GRUB to the MBR from all the 3 disks, and it was done. A reboot presented me a nice boot graphical logo to select the system (OpenSUSE Tumbleweed or Windows 10).</div>
<div>
<br /></div>
<div>
I have switched from Gnome (2.0) to Cinnamon for the last couple of years, unfortunately the installer does not have a Cinnamon option for the install type. I have selected "Minimal X Environment" so that I could install cinnamon from the repositories later, that got me into another issue. The Minimal X provided IceWM and YaST «a nice system config management tool», however while attempting to configure the WiFi network, I have found that the system was missing the core packages required for Wifi connectivity (iw; wpa_supplicant), it was kind of blocking since I don't have a wired network. I had to boot into Windows to fetch the packages from:</div>
<div>
<a href="https://build.opensuse.org/package/binaries/hardware/iw?repository=openSUSE_Tumbleweed">https://build.opensuse.org/package/binaries/hardware/iw?repository=openSUSE_Tumbleweed</a></div>
<div>
<a href="https://build.opensuse.org/package/binaries/hardware/wpa_supplicant?repository=openSUSE_Tumbleweed">https://build.opensuse.org/package/binaries/hardware/wpa_supplicant?repository=openSUSE_Tumbleweed</a></div>
<div>
<br /></div>
<div>
I have filled a bug report for this issue:</div>
<div>
<a href="https://bugzilla.opensuse.org/show_bug.cgi?id=1026022">https://bugzilla.opensuse.org/show_bug.cgi?id=1026022</a></div>
<div>
<br /></div>
<div>
I am currently finishing this blog post from Tumbleweed, hopefully I will report about a more wide experience during next week :)</div>
<div>
<br /></div>
<b><br /></b>
<b><br /></b>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-65482730870593374142016-08-25T02:40:00.001-07:002016-08-25T02:40:38.205-07:00Creating a portable Python + VSphere Python SDK for Windows<div class="entry-title">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;">If you are working<span style="font-family: inherit;"><span style="font-family: inherit;"> with <span style="font-family: inherit;">Virtual Center </span>in <span style="font-family: inherit;">a<span style="font-family: inherit;">n </span></span><span style="font-family: inherit;">enterprise<span style="font-family: inherit;"> <span style="font-family: inherit;">environment<span style="font-family: inherit;">,<span style="font-family: inherit;"> there are high changes that <span style="font-family: inherit;"><span style="font-family: inherit;">your VC client<span style="font-family: inherit;">s are <span style="font-family: inherit;">W</span>indows systems<span style="font-family: inherit;"> running on<span style="font-family: inherit;"> <span style="font-family: inherit;">a secure</span> network (no network access).<span style="font-family: inherit;"> <span style="font-family: inherit;">This article <span style="font-family: inherit;">will let you build a portab<span style="font-family: inherit;">le Python <span style="font-family: inherit;"><span style="font-family: inherit;">extender</span> the</span> VSphere Python SDK <span style="font-family: inherit;">tha<span style="font-family: inherit;">t you can ju<span style="font-family: inherit;">st <span style="font-family: inherit;">copy<span style="font-family: inherit;"> and use <span style="font-family: inherit;">from your vcenter c<span style="font-family: inherit;">lient systems.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
<div class="entry-title">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
<h3 class="entry-title">
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;">Get the required packages<span style="font-family: inherit;"> on a system having network access: </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></h3>
<ul>
<li><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;">lessmsi <span style="font-family: inherit;">from </span>https://github.com/activescott/lessmsi/releases/latest </span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;">python<span style="font-family: inherit;">*.msi from https://www.python.org/downloads/windows/</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li>Python packages from pip:</li>
<ul>
<li>six-1.10.0-py2.py3-none-any.whl,
</li>
<li>
requests-2.10.0-py2.py3-none-any.whl
</li>
<li>suds-0.4.tar.gz</li>
<li>
pyvmomi-6.0.0.2016.6.tar.gz<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
</ul>
<h3>
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;">Create a .<span style="font-family: inherit;">bat file <span style="font-family: inherit;">that creates the <span style="font-family: inherit;">python portable directory:</span> </span></span></span></span></span></span></h3>
<blockquote class="tr_bq">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: small;">lessmsi-v1.4\lessmsi x python-2.7.12.amd64.msi python\<br />
cd python\SourceDir<br />
python -m ensurepip<br />
scripts\pip install ../../six-1.10.0-py2.py3-none-any.whl<br />
Scripts\pip install ../../requests-2.10.0-py2.py3-none-any.whl<br />
Scripts\pip install ../../suds-0.4.tar.gz<br />
Scripts\pip install ../../pyvmomi-6.0.0.2016.6.tar.gz
</span></span></blockquote>
<h3>
<span style="font-weight: normal;">Run it, you will get your portable content in the "python" folder</span></h3>
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-84590533063952262722011-11-01T17:18:00.000-07:002011-11-01T17:25:47.824-07:00More thinking on software bundles for LinuxThe post <a href="http://blogs.gnome.org/alexl/2011/09/30/rethinking-the-linux-distibution/">Rethinking the Linux distibution</a> made me revisit some of the ideas which I had in the past trying to address which in my opinion are major limitations in the current main packaging systems:<br />
<ul>
<li>No support for multiple versions of the same software</li>
<li>No support for rollbacks</li>
</ul>
A software bundle composed of the application and all it's "non core" dependencies can also add some other benefits:<br />
<ul>
<li>Cross Linux distribution delivery</li>
<li>Fine grain control of libraries and options used by an application</li>
<li>Reduced complexity with the removal of dependencies management</li>
</ul>
<div>
The disadvantages are:</div>
<div>
<ul>
<li>Increase on Disk and RAM usage from software containing different versions of common libraries</li>
<li>Applying security fixes on dependencies requires re-creating/re-distributing every affected bundle</li>
</ul>
<div>
Possible approach for implementation:</div>
</div>
<div>
<br /></div>
<div>
<u>Compiling</u></div>
<div>
Adapt an existing source base build system like Arch's "makepkg", with the following changes:</div>
<div>
<ul>
<li>Run time prefix must be set to /opt/bbundle</li>
<li>Build definitions for dependencies must be contained in the master build definition (this will lead to build definitions redundancy across bundles but will remove the risk of breaking builds by sharing dependencies building rules) </li>
</ul>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>Bundling</u></div>
<div style="text-align: justify;">
The bundle file format should be a commonly used archive format, since tar does not provide indexing, .zip is a better option. Having an indexed archive will allow to reduce download sizes by inspecting the bundle contents prior to the download and skipping the download for common files found at installed bundles. In order to save on-disk space, the bundle installer should check for identical files across bundles and use hard links instead of duplicating files.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>Installing</u></div>
<div style="text-align: left;">
Bundles installation should be as simply as extracting the bundle archive into /usr/local/bbundle/bundle_name. A watching service must identify .desktop and other exportable resources and make them available from the host desktop environment.</div>
</div>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-61917038991576865012011-05-12T06:40:00.000-07:002011-05-13T13:32:24.913-07:00Life changesIt has been more than 1 month since I left the Ubuntu community and started exploring other Linux distros. Meanwhile the increasing personal concerns added to the my country's economical situation prompted to re-evaluate where I am investing my life time.<br /><br />In short, I need to engage in profitable activities otherwise I may fail to support my family.<br /><br />While I will always be a strong FOSS supporter, because I believe on it's values. I no longer have the time for significant involvement in non profitable projects.<br />I will continue using and consequentially involved in the Linux ecosystem because it allows me to be more productive, both on my job and on other projects I may get involved with.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-71778925307761552762011-03-14T08:01:00.000-07:002011-03-14T08:32:44.798-07:00Building RPMs vs Building DEBsHaving a large experience with Debian package building it's refreshing to try something else. Last week I have learned the basics of RPM package building.<br />Here are the differences I have found so far and my opinions about them.<br /><br />The RPM .spec file package contains both package metadata (description, dependencies, etc) and compile rules while on DEB you have the data split into different files. I remember that on the beginning it was hard to understand the purpose of all those debian/* files, I have found .spec files easier to understand.<br /><br />The RPM .specs allows conditional building, during build the build target release can be used to dynamically adjust build flags, dependencies etc. While you can achieve this on Debian using some auto generation mechanism (debian/control.in), it is not naturally integrated in the building system, debian/* contains metadata and rules for a specific target system.<br /><br />Not so important but a nice feature it's the support for translated description/summary on RPM packages.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-16821503332954549782011-03-05T03:00:00.000-08:002011-03-05T03:03:14.617-08:00Some differences between Fedora and Ubuntu<span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.834728529622279">I have already noted a few technical differences between Fedora and Ubuntu which I am going to comment.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;">/tmp cleanup</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Fedora does not automatically remove /tmp contents on reboot, I prefer Ubuntu's behavior, applications do not rely on tmp contents across reboots and regular users should not be working on /tmp. If there is no other automated cleanup mechanism -did not check yet-, on the long run the user will get a full root file system.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;">Repository information cache</span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">I don’t have a YUM technical background, so please excuse me if I will write something terribly wrong here.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">From an user perspective I have noted that yum does not have an explicit cache mechanism, you don’t need to explicitly update the cache. The good side it automatically gets the required information when a new repository is added and frees the user from a repetitive action. The bad side is that it may introduce some network/time overhead during package management opertions.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;">Software update policy</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">I did not read Fedora’s update policy yet but I have noted that they provide regular release upgrades for some software, piding was updated to 2.7.10 from the regular updates repository.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2tag:blogger.com,1999:blog-4834489264750020926.post-31072203921945812902011-03-04T15:27:00.000-08:002011-03-04T16:09:28.187-08:00Impressions from Linux Mint 10 Main EditionNow that I am confident on the Fedora install I could afford to use my other partition and try Linux Mint 10 as suggested by a friend.<br /><br />The out-of-the box visual experience was one of the best I had so far with a Linux distribution, the menu -mintmenu- seems highly inspired in MS Windows menus, from my reading it's a fork of the SLAB Menu, I really loved the easy navigation and search capability.<br />Linux Mint 10 is based and compatible with Ubuntu 10.10, the default configuration points to the linux mint repository plus the Ubuntu archives for the usual packages.<br /><br />Besides the menu they provide their own set of tools, you can easily identify them with ls /usr/bin/mint*, some of them are just wrappers or tiny tools, but it shows they are working not only on cosmetics.<br /><br />I did not find any documentation about their decision making process or governance in general, but I have sent an email asking for information.<br /><br />They do care about community feedback, judging from the <a href="http://blog.linuxmint.com/?p=1686">running poll</a> .<br />There is a Debian based version (which I did not test yet), and it seems they will be deciding about switching to Debian for other flavors.<br /><br />I will keep an eye on it, it may be a nice project to join.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-36888417412503437322011-03-04T00:58:00.000-08:002011-03-04T01:49:42.169-08:00First day with Fedora 14I am starting my adventure searching for a new FOOS project to get involved with. I still think that a Linux distribution is one of the most interesting type of projects. We have so much Free Software that is not reaching yet those who would benefit from it.<br /><br />Yesterday I have switched from Ubuntu 10.10 to Fedora 14 I have chosen to try Fedora because it has an open governance model with a clear leadership. While there are a clear special capacities from the sponsor (RedHat), at the highest level the project is managed by an <a href="http://fedoraproject.org/wiki/Board">Executive Board</a>, the board is composed with a mix of RH appointed and community elected members.<br /><br />Now back to my first day experience, I was afraid that it would be an hard experience, I use Linux for my primary workstation so it really needs to work.<br />The install was smoothly, I did found a bug on a specific case of setting up an user with an existing home dir containing invalid symbolic links, nothing serious.<br /><br />I was able to install all my job required tools using Fedora 64 bits thanks to the multiarch supports which allows to install both 32 and 64 package versions, this is something I could not achieve with Ubuntu 64 bits, ia32libs is not sufficient for my case.<br />All the software that I needed was available from repositories or as an .rpm from upstream: Filezilla, KeepassX, Zim, X-Chat, Skype, VirtualBox, gnomedo, tsocks, eclipse, cairo-dock, geany. dropbox, pidgin .<br /><br />During a full work day I have found no significant usability differences between Fedora an Ubuntu.<br /><br />The only issue I had so far was related yum repository errors, this is one of my next steps, to understand Fedora repository types and package building.<br /><br />I will also try to understand if the distribution itself is effectively governed as documented.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com15tag:blogger.com,1999:blog-4834489264750020926.post-36895464983705728312011-03-02T13:36:00.000-08:002011-03-02T15:07:39.283-08:00Stepping down consideratelyThis is the right time to apply the last guide line from Ubuntu's Code of Conduct.<br /><br /><div style="text-align: justify;">I have started as an Ubuntu user in 2005, I have found it a promising project mostly because it was aimed at "humans" users, while most similar projects had still a greater focus on developers or development oriented aspects.<br />Getting involved was easy, the developers could be found on IRC some of them more friendly than others but always there, a point of connection with the community.<br />As soon I had some know-how I have started participating in the forums, each question was an opportunity for teaching, learning or improving, it was a great experience.<br /></div><br /><div style="text-align: justify;">During this stage I have found that a lot of answers were related on how to get a specific version of a software, or people failing to do it. The most frequently answer was teaching how to build from source. That did not seem good to me.<br />We were promoting all this great thing of Free Software, but we were unable to deliver the latest version meeting a particular need without requesting the "human" user to get some application building skills ?<br /></div><br /><div style="text-align: justify;">I have tried to engage the packaging (MOTU) team, It just didn't work for me. I was too eager to cover this need -only partially addressed by the back-ports project-. I did not find the process appealing I had no idea how to improve it, I just had minimal packaging skills.<br />People were not asking for the proper package, they just needed one that worked without disrupting their system (like they frequently did, compiling or installing from other releases). The GetDeb project was setup, it delivers packages to thousands of users.<br /></div><br /><div style="text-align: justify;">Lately I have mostly participated on AskUbuntu.com which in my opinion is Ubuntu's mostly valuable free support center.<br /></div><br />I will be looking for other Free Software collaboration opportunities, with a strong leadership that practices open governance and uses decision capacities that comes from transparency, straight discussion and communication.<br /><div style="text-align: justify;"><br />Thanks to Mark Shuttleworth for setting up a great project and paying the salaries to so many brilliant people.<br />Thanks to all the Ubuntu users and developers for helping and letting me help building a Free Software and Open Source solution.<br />.<br /></div>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com3tag:blogger.com,1999:blog-4834489264750020926.post-72329494833138909662011-03-01T15:00:00.000-08:002011-03-01T15:33:11.208-08:00Ubuntu Community Council ExperienceAs reported in a previous post I have requested the Ubuntu Community Council for the definition of a <a href="http://handypenguin.blogspot.com/2011/02/non-technical-driven-changes-to.html">control process for non technical driven changes</a> .<br />Today I have attended to the CC meeting and I would like to share my experience.<br /><br />I was able to expose my concerns, I got a long feedback from Mark, and as I understood his position and because no one was able to identify actions that worth be taken, everything is fine with Ubuntu change management. If you need more information about changes the recommended process is just to ask Mark he will point you to the right person.<br /><br />My feeling about the CC board per si, is that, except for Mark which had Canonical/himself all over his conversation, the Ubuntu community was properly represented.<br />However because the CC lacks any executive capacity, that meeting felt mostly like a social event to get the pulse of the Ubuntu community, not an event to have effective discussion of ideas.<br /><br />Logs available at: <a href="http://irclogs.ubuntu.com/2011/03/01/%23ubuntu-meeting.html">http://irclogs.ubuntu.com/2011/03/01/%23ubuntu-meeting.html</a>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com1tag:blogger.com,1999:blog-4834489264750020926.post-22869583678039876152011-02-27T14:46:00.000-08:002011-02-27T14:53:57.292-08:00Free and Open Source Gaming Challenge IdeaHello,<br />sometimes I find myself search for gamins at <a href="http://www.playdeb.net/">playdeb</a>, for my friends, family kids or just for my own entertainment.<br />I believe that there is still a lack of awareness about Free and Open Source Games and we can do something to improve it.<br /><br />The following idea is to run a FOS gaming challenge, unlike the traditional network based / score based competition this challenge would be about achieving a per game predefined objective for the largest possible number of FOS games. The primary goal is to reward gaming diversity, not expertise.<br /><br />The idea is presented at:<br /><a href="https://docs.google.com/present/view?id=dnnmb2s_59f64pmhdv" target="_blank">https://docs.google.com/<wbr>present/view?id=dnnmb2s_<wbr>59f64pmhdv</a><br /><br />If you like it and have a facebook account, check our <a href="http://www.facebook.com/pages/FOSGaming/149267945134585">facebook page</a>:<br /><br />If you want to get involved in the discussion and eventual organization of the event please subscribe to the mailing list:<br /><a href="https://lists.sourceforge.net/lists/listinfo/fosgaming-challenge" target="_blank">https://lists.sourceforge.net/<wbr>lists/listinfo/fosgaming-<wbr>challenge</a><br /><br />Please share this idea with those that you believe would be interested in participating, if we can gather the resources and sufficient interest this is likely to be more than just an idea.<br /><br />Thanks to the GetDeb team mates which helped refining the idea and building up the presentation.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2tag:blogger.com,1999:blog-4834489264750020926.post-30237714163877132992011-02-27T14:42:00.000-08:002011-02-27T14:46:13.494-08:00Non technical driven changes to upstream packagesHello,<br />today I have sent this request to the Ubuntu Community Council which I believe to be in the interest of the Ubuntu community:<br /><br />In light of the present Banshee default configuration change but also taking in account past events (<a href="https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/642839">bug 642839</a>) I would like to request the definition and implementation of a control process for non technical driven changes.<br /><br />As far as I understand such process is already in place for technical changes, and covers mostly stability, security and miscellaneous integration driven changes, with review/authorization being granted by the Ubuntu Technical Board when required.<br /><br />In the absence of a similar review/authorization request process for non technical changes I am afraid there is an high risk of changes being introduced without proper assessment and communication.<br /><br />This request does not seek in anyway to limit or condition Canonical's business authority for the Ubuntu trademark and product management, however such authority must be used in a way which is transparent to the Ubuntu community.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com1tag:blogger.com,1999:blog-4834489264750020926.post-39023025106830223062011-02-26T15:46:00.000-08:002011-02-26T15:51:33.910-08:00Software Center validating packages qualityToday I have found bug <a href="https://bugs.launchpad.net/ubuntu/+source/software-center/+bug/712377">712377</a>, it seems that Software Center is going to check packages quality and refuse to install them.<br /><br />This change is likely to affect many 3rd parties, does anyone know if it is planned to be enabled on Natty and where can we find the change specification/discussion ?João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com3tag:blogger.com,1999:blog-4834489264750020926.post-8116015964283679052011-02-26T02:00:00.000-08:002011-02-26T02:06:14.251-08:00GetDeb: New build serverThe packages building server was moved to a new infrastructure, the resources increase decreased the build time significantly.<br /><br />We have also developed a minimalist report with the name and logs of the packages recently build, you can check it at <a href="http://build.getdeb.net/">http://build.getdeb.net/</a> .João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-84496828761461262292011-02-24T14:28:00.000-08:002011-02-24T15:24:07.714-08:00Dear Ubuntu Community ManagerJono,<br />could you please provide us some insightful information about what REALLY happened regarding the Banshee music stores default configuration ?<br /><br />We were <a href="http://gburt.blogspot.com/2011/02/banshee-supporting-gnome-on-ubuntu.html">firstly informed</a> that there was a negotiation attempt between Canonical and Banshee developers and which terminated with Caconical's terms being rejected.<br /><br />Now we have your <a href="http://www.jonobacon.org/2011/02/24/banshee-in-natty-to-ship-multiple-stores-and-contribute-to-gnome-foundation/">communication</a> which attributes a mishandling responsibility to Cristian Parrino, however it does not provide a clear understanding on what happened.<br /><br />Is this new a plan a proposal to the Banshee core developers ? Was it accepted by both parties ?<br />The perception that the Ubuntu community (which Canonical is part of) followed-up up a failed negotiations by communicating an unilateral plan with different terms provides a sense of questionable intentions.<br /><br /><span style="font-weight: bold;">The Free Software License of Banshee grants Canonical the right to manage the announced changes without involving the Banshee core developers, how was that right used ? Did Canonical trustfully considered to establish mutually accepted terms or was this just a mishandling by setting up a negotiation which was not intended ?</span><br /><br />Thanks in advance.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2tag:blogger.com,1999:blog-4834489264750020926.post-84026100226364506252011-02-15T05:30:00.000-08:002011-02-15T07:29:41.032-08:00Mono and the Open Source CannibalismThe <a href="http://tirania.org/blog/archive/2011/Feb-14.html">recent post</a> from Miguel de Icaza demonstrates an incredible sense of business opportunity: Mono delivers what a mobile developer should care about, be everywhere.<br /><br />Why now ? Has mono reached some significant technical milestone this week ?<br />Not really, but right now many mobile open source developers, supporters and business partners are concerned, let's remember them that Mono is here.<br /><br />Who cares about the people involved in projects like Qt and Meego? They are just a bunch of losers, they are mobile developers so they should be using Mono anyway.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com6tag:blogger.com,1999:blog-4834489264750020926.post-12977656737456635332011-01-04T09:17:00.000-08:002011-01-04T09:27:47.650-08:00Does Canonical support help?If you have subscribed to <a href="https://bugs.launchpad.net/ubuntu/lucid/+source/gnome-panel/+bug/439448">bug 439448</a> you probably be wondering about the effectiveness or even usefulness of bug reporting. <br />It is a serious usability bug, present on a LTS release, and one year after being reported is not yet clear if it's Ubuntu specific, or the exact component causing the bug. Because it affects many, mostly non experienced users, those more than 300 comments on the bug are mostly wild guesses about causes and workarounds, digging them to find relevant information will be an expensive and futile exercise. <br /><br />Do you believe that subscribing Canonical's desktop support services would help in cases like this?<br /><br />If the company can win where the community fails, maybe we can setup a community economical effort to get company paid support.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2tag:blogger.com,1999:blog-4834489264750020926.post-14278200261382291562011-01-03T09:36:00.000-08:002011-01-03T09:41:28.931-08:00Why I am still supporting Free Software?Today I was debating with a friend the relevance of Free Software, he pointed that at the current development rate is very unlikely that Linux (most common Free Software subject) will have a significant end users market share in 50 years. I remembered him that Linux powered devices already a significant mobile market share. He noted that most of the mobile users do not care or do not know that they use a Free Software powered mobile phone – I had to agreed on this.<br /><br />Later today while providing some answers at askubuntu.com I have kept this debate on my head and asked myself, why I am still supporting Free Software ?<br /><br />When I started getting involved in free software development, about 15 years ago, I was a young programmer wanna-be, I was eager to learn all these bunch of languages, protocols, libraries, etc. As if it wasn't good enough I could even get help and help other people, which I always loved to do. I never managed to get a job with free software/open source (and probably will never do) but despite having a good job I always felt that working and programming with free software was closest to what I love doing, knowledge sharing.<br /><br />Today I no longer do programming, except for a few improvements at getdeb and some scripting at my job when I look at code this days is mostly to identify a problem or feature. For me the (open source) code has lost the magic it had a few years ago. Thankfully to my loved wife, daughter and friends I no longer have the required free time or desire to learn/work on what is required to fix bugs or develop new features. I have lost most of the capacity to use one Free Software's fundamental freedoms “The freedom to study how the program works, and change it to make it do what you wish (freedom 1)” , I can still do many things with the code, but no longer the ones I wish.<br /><br />Why am I still here, an Ubuntu member, supporting Free Software yet economically dependent on and surrounded by commercial/closed source software?<br /><br />I have assimilated the values of the Free Software -without the radicalism of some of it's activists-.<br />I believe that the ability to keep and expand such freedom is still more important than to use it.<br />I do not have the social skills usually required to influence or change minds, but I am sure I can reach others in ways that demonstrates the values of Free Software, which are hard to pass, specially for most people -which are not developers- .<br /><br />Happy New Year 2011João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com4tag:blogger.com,1999:blog-4834489264750020926.post-21786619431782110082010-12-30T14:24:00.000-08:002010-12-30T14:30:15.129-08:00Ubuntu Bug Fix Wishes for 2011I would like to see the following bugs fixed during 2011, the first randomly prevent users from logging off, the second randomly presents an “ugly” unexpected appearance.<br /><br /><a href="https://bugs.launchpad.net/ubuntu/lucid/+source/gnome-panel/+bug/439448">https://bugs.launchpad.net/ubuntu/lucid/+source/gnome-panel/+bug/439448</a><br /><a href="https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/574296">https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/574296</a><br /><br />Both are responsible for a disruptive desktop experience for many users. I also wish that the effort for the new “consistent user experience for desktop” does not keep or increase our current inability to fix such severe open source problems.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com3tag:blogger.com,1999:blog-4834489264750020926.post-25334465124278655902010-11-11T15:23:00.000-08:002010-11-11T15:28:22.866-08:00GetDeb mirror pool statusI was able to identify and fix the <a href="http://handypenguin.blogspot.com/2010/11/help-with-python-threading-deadlock.html">python threading deadlocking</a> problem, mirror-selector is fully functional now.<br /><br />I have also added some statistics which allow us to check mirrors health and traffic distribution, you can check it at:<br /><a href="http://archive.getdeb.net/status/">http://archive.getdeb.net/status/</a>João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com0tag:blogger.com,1999:blog-4834489264750020926.post-6229245558090344562010-11-09T05:52:00.000-08:002010-11-09T06:02:01.291-08:00Help with Python threading deadlockHello,<br />some <a href="http://handypenguin.blogspot.com/2010/07/getdeb-archive-traffic-distribution.html">months ago</a> I have started developing the mirror-selector daemon.<br />The main work is done, it is capable to run for a few hours serving some thousand requests but it then get's into a thread deadlock scenario (the web server stops responding, gdb shows all the threads waiting on a semaphore lock).<br />This was my first project using multi-threading with Python and I am having a bad time finding the bug. I have recently introduced some debug code that I hope will print the stacktrace for every thread and give me an hint on the cause. It is most likely related Queue management.<br />The mirror-selector code is not that complex, it's available from bzr "bzr branch lp:mirror-selector", if you are experienced with Python threading and can spare a few minutes reviewing the code for the possible cause, it would be helpful.<br /><br />ThanksJoão Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com3tag:blogger.com,1999:blog-4834489264750020926.post-12556542803997128442010-10-11T13:14:00.000-07:002010-10-11T13:19:58.457-07:00GetDeb/PlayDeb repositories for Ubuntu 10.10 are now openWe had another great Ubuntu release, the GetDeb/PlayDeb repository setup for the 10.10 is done and packages should start landing on the next days. For those which prefer to keep on the LTS release we will keep updating the packages for Lucid for at least the current release.João Pintohttp://www.blogger.com/profile/16629311413154341175noreply@blogger.com2