Linux OS

This week's longer-than-usual episode mentions that there is a business meeting coming up that we need to settle on a date and time for. Also included is retransmission of a partial excerpt of "Issues in the News" from the US government's external broadcaster Voice of America which has some news analysis concerning the recent cyber-snooping news.

Download here (MP3) (ogg) (FLAC) (Speex), or subscribe to the podcast (MP3) to have episodes delivered to your media player. We suggest subscribing by way of a service like gpodder.net. Matériel purchasing needs of the Air Staff can be found from time to time via Amazon where such can be purchased and sent to them.

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/.

Cronograma de charlas:

936445_10151633345239354_268407999_n

 

Cronograma de talleres:

944373_10151633345179354_1808598048_n


Over my time working with Debian packages, I've always been concerned that I have been missing catchable mistakes by not running all the static checking tools I could run. As a result, I've been interested in writing some code that automates this process, a place where I can push a package and come back a few hours later to check on the results. This is great, since it provides a slightly less scary interface to new packagers, and helps avoid thinking they've just been “told off” by a Developer.

I've spent the time to actually write this code, and I've called it debuild.me. The code it's self is in it's fourth iteration, and is built up from a few core components. The client / server code (lucy and ethel) are quite interconnected, but firehose works great on it's own, and is (finally) a single, unified (and sane!) spec that is easy to hack with (or even on!). Hopefully, this means that our wrappers will be usable outside of debuild.me, which is a win for everyone.

Backend Design

The backend (lucy) was the first part I wanted to design. I made the decision (very early on) that everything was going to be 100% Python 3.3+. This lets me use some of the (frankly, sweet) tools in the stdlib. Since I've written this type of thing before (i've tried to write this tool many, many, many, many times before), so I had a rough sense of how I wanted to design the backend. Past iterations had suffered from and overly complex server half, so I decided to go ultra minimal with the design of debuild.me.

The backend watches a directory (using a simple inotify script) and processes .changes files as they come in. If the package is a source package, a set of jobs are triggered (such as lintian, build and desktop-file-validate), as well as a different set for binary packages (such as lintian, piuparts and adequite). Only people may upload source packages (without any debs) and only builders can upload binary packages (without source).

The client and server talk using XML-RPC with BASIC HTTP auth. I'm going to (eventually) SSL secure the transport layer, but for now, this will work as a proof of concept.

Since I tend to like to keep my codebase simple and straightforward, I've used MongoDB as Lucy's DB. This lets me move between documents in Mongo to Python objects without any trouble. In addition, I evaluated some of the queue code out there (ZMQ, etc), and they all seemed like overkill for my problem, and had a hard time keeping track of jobs that (must never!) get lost. As a result, I wrote my own (very simple) job queue in Mongo, which has no sense of scheduling (at all), but can do it's job (and do it well).

Jobs describe what's to be built with a link to the package document that the job relates to, and it's arch and suite (don't worry about the rest just yet). Jobs get assigned via natural sort on it's UUID based _id, and assigned to the first builder that can process it's arch / suite. Source packages are considered arch:all / suite:unstable (so they always get the most up-to-date linters on any arch that comes along).

Lucy also allows for uploads to be given an X-Lucy-Group tag to manage which set of packages they're a part of. This comes in handy for doing partial archive rebuilds, or eventually using it to manage what jobs should be run on which uploads. This will allow me to run much more time-consuming tools for packages I want to review versus rebuilding to ensure packages don't FTBFS or aren't adequite.

Client Design

The buildd client (ethel) talks with lucy via XML-RPC to get assigned new jobs, release old jobs, close finished jobs, and upload package report data. When the etheld requests a new job, it also passes along what suites it knows of, which arches it can build, as well as what types it can run (stuff like lintian, build or cppcheck.) Lucy then assigns the builder to that job (so that we don't allocate the same job twice), and what time it was assigned at.

Ethel then takes the result of the job (in the form of a firehose.model tree) and transmits it over the line back to the Lucy server as a report (which also contains information on if the build failed or not), at which point lucy hands back a location (on the lucy host) that the daemon can write the log to.

If the job was a binary build, the etheld process will dput the package to the server, with a special X-Lucy-Job tag to signal which job that build relates to, so that future lint runs can fetch the deb files that the build produced.

Tooling

Ethel runs a set of static checkers on the source code, which are basically fancy wrappers around the tools we all know and love (like lintian, desktop-file-validate, or piuparts) which output Firehose in place of home-grown stdout. This allows us to programmatically deal with the output of these tools in a normal and consistent way.

Some of the more complex runners are made of 3 parts - a runner, wrapper and command. The server invokes the command routine, which invokes the runner (the command just provides a unified interface to all the runners), who's output gets parsed by the wrapper to turn it into a Firehose model tree.

The goal here is that tons of very quick-running tools get run over a distributed network, and machine-readable reports get filed in a central location to aid in reviewing packages.

Ricky

In addition to the actual code to run builds, I've worked on a few tools to aid with using debuild.me for my DD related life. I have some uncommon use-cases that are nice to support. One such use-case is the ability to rebuild packages from the archive (unmodified) to check that they rebuild OK against the target. This is handy for things like arch:all packages that get uploaded (since they never get rebuilt on the buildd machines, and FTBFSs are sadly common) or packages that have had a Build-Dependency change on them.

Ricky is able to create a .dsc url to your friendly local mirror, and fetch that exact version of the package. Ricky can then also use the .dsc (in a monumental hack) to forge a package_version_source.changes file, and sign it with an autobuild key and upload it to the debuild.me instance. Since it can also modify the .changes's target distribution, you can also use this to test if a package will build on stable or testing, unmodified.

Fred

Fred is a wrapper around Ricky, to help with fetching packages that may not exist yet. Fred also contains an email scraper to read off such lists as debian-devel-changes, and add an entry to fetch that upload when it becomes available on the local mirror, pass it to ricky, and allow debuild.me to rebuild new packages that match a set of criteria.

I'm currently playing around with the idea of rebuilding all incoming Python packages to ensure they don't FTBFS in a clean chroot.

Loofah

Loofah is also another wrapper around Ricky, but for use manually. Loofah is able to sync down the apt Sources list, and place it in Mongo for fast queries. This than allows me to manually run rebuilds on any Source package that fits a set of critera (written in the form of a Mongo query), which get pulled and uploaded by Ricky.

An example script to rebuild any packages that Build-Depend on python3-all-dev in Debian unstable / main would look like:

[
    { "version": "unstable", "suite": "main" },
    { "Build-Depends": "python3-all-dev" }
]

Or, a script to rebuild any package that depends on CDBS:

[
    {},
    {"$or": [{"Build-Depends": "cdbs"},
             {"Build-Depends-Indep": "cdbs"}]}
]

You can use anything that exists in the Sources.gz file to query off of ( including Maintainer!)

Future Work

The future work on debuild.me will be centered around making it easier for buildd nodes to be added to the network, with more and more automation in that process (likely in the form of debs). I also want to add better control over the jobs, so that packages I upload only go to my personal servers.

I'd also very much like to get better EC2 / Virtualization support integrated into the network, so that the buildd count grows with the queue size. This is a slightly hard problem that I'm keen to fix.

I'm also considering moving the log parsing code out of the workers, so that the parsing code can be fixed without upgrading all the workers. This would also drop the Firehose dep on the client code, which would be nice.

Migration from a debuild.me build into a local reprepro repo is something that would be fairly easy to do as well, likely to be done remotely via the XML-RPC interface, which calls a couple of reprepro commands (such as includedsc and includedeb) and publishes it to the user's repo. This is a nice use of the debs that get built, and could also allow debuild.me to be used like a PPA system, but this allows the user to not migrate packages that may contain piuparts issues.

You've likely heard me say (and maybe even sing) that:

"Ubuntu is not just software."

I would like to introduce you to the Five "P's" in Ubuntu

Ubuntu is a:

Philosophy

that inspires

People

to participate in a massive collaborative

Project

that creates a rich and solid

Platform

that supports useful and freedom-respecting

Products

that the whole world can enjoy.

--
When I was in Budapest at a UDS, Matthew Paul Thomas (mpt) presented a plenary session and introduced me to the concept of thinking about Ubuntu as more than an OS. I am greatly thankful to him for doing that and for inspiring this post. We stand taller on the shoulders of giants.

I added sha512 support to the PassHash firefox extension here (and added pull request to get it into the upstream branch). I felt its important to do this after reading this article.


I’ll be spending the week after next (June 17-23) in London for the annual meeting of the International Communication Association where I’ll be presenting a paper. This will be my first ICA and I’m looking forward to connecting with many new colleagues in the discipline. If you’re one of them, reading this, and would like to meet up in London, please let me know!

Starting June 24th, I’ll be in Ann Arbor, Michigan for four weeks of the ICPSR summer program in applied statistics at the Institute for Social Research. I have been wanting to sign up for some of their advanced methods classes for years and am planning to take the opportunity this summer before I start at UW. I’ll be living with my friends and fellow Berkman Cooperation Group members Aaron Shaw and Dennis Tennen.

I would love to make connections and meet people in both places so, if you would like to meet up, please get in contact.

I usually don't wade into politics, but this hits too close to home to not voice an opinion, and there is a link to Ubuntu.

When I was growing up, I loved the music of Prism , a band that hails from Vancouver. Now that I call Vancouver home, I love them even more. Here's an interesting fact for the space lovers amongst us: "On Sunday, March 6, 2011, Prism's "Spaceship Superstar" was chosen as the wakeup song for the Space Shuttle Discovery crew members." How cool is that? If you love space, please take a listen. It will cheer you up and inspire you before you read the rest of my article.

Late last week some news broke about a different group with a lacklustre name and no musical talent. Terrible musicians who unfortunately stole the name of one of my favourite bands for their pet project - spying. Very disappointing. And, it seems they have a list of friends that you'll recognize.

News of this project and its goals did not come as a surprise to me, and likely not to you as well.

Take a deep breath and read this.

Take another deep breath and read this.

If the articles are a surprise to you, please consider the logical fallacy known as "false premise". Perhaps growing up you were given a premise that certain places are beacons of freedom and free speech and that they protect the same. You may have received this "information" from movies, television, newspapers, etc. And if you lived in certain places, you may have even sung songs to that effect. You were lied to.

So, knowing that these events have occurred and will continue to occur, what is an appropriate and direct action that you can take? On the surface it seems like an intractable problem to solve. Fortunately it's not. Here are a few simple steps that you can take right now to protect yourself, your friends and your family:

1) Start with yourself. Think about all the services you use and whether they are on the list. If they are, take immediate steps to discontinue their use. Are you a Verizon customer? Time to leave. Liking Facebook? What's stopping you from using Diaspora instead?

2) Next help your friends and loved ones. If you have people in your life that you care about that use services or products from the companies listed in the report, please reach out to them and help them leave TODAY. Does your best friend use Yahoo mail? Offer an alternative. Help make it easy for them.

3) Double down your efforts on Ubuntu. Encourage your friends who have been sitting on the sidelines to do the same. The only way to achieve freedom and the promise of a shared humanity is to build it. Don't waste your time trying to fix a broken political process that is built on greed and psychopathy. The best way forward is to build a system that works better. (Luckily, many of you reading this post are already involved in Ubuntu. Thank you! Please tell your friends.)

There is a saying that I like to cite in circumstances like this: "You can't change the world, but you *can* change your world."

Start simple. Start local. Be the change you want to see.

-----
Image by "Colourless Rainbow" http://www.flickr.com/photos/irteza/ CC by-nc-sa

When last time I was in Cambridge we had a discussion about ARM processors. Paweł used term “ARMology” then. And with recent announcement of Cortex-A12 cpu core I thought that it may be a good idea to write a blog post about it.

Please note that my knowledge of ARM processors started in 2003 so I can make mistakes in everything older. Tried to understand articles about old times but sometimes they do not keep one version of story.

Ancient times

ARM1 got released in 1985 as CPU add-on to BBC Micro manufactured by Acorn Computers Ltd. as result of few years of research work. They wanted to have new processor to replace ageing 6502 used in BBC Micro and Acorn Electron and none of existing ones did not fit their requirements. Note that it was not market product but rather development tool made available for selected users.

But it was ARM2 which landed in new computers — Acorn Archimedes (1987 year). Had multiply instructions added so new version of instruction set was created: ARMv2. Just 8MHz clock but remember that it was first computer with new CPU…

Then ARM3 came — with cache controller integrated and 25MHz clock. ISA was bumped to ARMv2a due to SWP instruction added. And it was released in another Acorn computer: A5000. This was also used in Acorn A4 which was first ARM powered laptop (but term “ARM Powered” was created few years later). I hope that one day I will be able to play with all those old machines…

There was also ARM250 processor with ARMv2a instruction set like in ARM3 but no cache controller. But it is worth mentioning as it can be seen as first SoC due to ARM, MEMC, VIDC, IOC chips integrated in one piece of silicon. This allowed to create budget versions of computers.

ARM Ltd.

In 1990 Acorn, Apple and VLSI co-founded Advanced RISC Machines Ltd. company which took over research and development of ARM processors. Their business model was simple: “we work on cpu cores and other companies pay us license costs to make chips”.

Their first cpu was ARM60 with new instruction set: ARMv3. It had 32bit address space (compared to 26bit in older versions), was endian agnostic (so both big and little endian was possible) and there were other improvements.

Please note lack of ARM4 and ARM5 processors. I heard some rumours about that but will not repeat them here as some of them just do not fit when compared against facts.

ARM610 was powering Apple Newton PDA and first Acorn RiscPC machines where it was replaced by ARM710 (still ARMv3 instruction set but ~30% faster).

First licensees

You can create new processor cores but someone has to buy them and manufacture… In 1992 GEC Plessey and Sharp licensed ARM technology, next year added Cirrus Logic and Texas Instruments, then AKM (Asahi Kasei Microsystems) and Samsung joined in 1994 and then others…

From that list I recognize only Cirrus Logic (used their crazy EP93xx family), TI and Samsung as vendors of processors ;D

Thumb

One of next cpu cores was ARM7TDMI (Thumb+Debug+Multiplier+ICE) which added new instruction set: Thumb.

The Thumb instructions were not only to improve code density, but also to bring the power of the ARM into cheaper devices which may primarily only have a 16 bit datapath on the circuit board (for 32 bit paths are costlier). When in Thumb mode, the processor executes Thumb instructions. While most of these instructions directly map onto normal ARM instructions, the space saving is by reducing the number of options and possibilities available — for example, conditional execution is lost, only branches can be conditional. Fewer registers can be directly accessed in many instructions, etc. However, given all of this, good Thumb code can perform extremely well in a 16 bit world (as each instruction is a 16 bit entity and can be loaded directly).

ARM7TDMI landed nearly everywhere – MP3 players, cell phones, microwaves and any place where microcontroller could be used. I heard that few years ago half of ARM Ltd. income was from license costs of this cpu core…

ARM7

But ARM7 did not ended at ARM7TDMI… There was ARM7EJ-S core which used ARMv5TE instruction set and also ARM720T and ARM740T with ARMv4T. You can run Linux on Cirrus Logic CLPS711x/EP721x/EP731x ones ;)

According to ARM Ltd. page about ARM7 the ARM7 family is the world’s most widely used 32-bit embedded processor family, with more than 170 silicon licensees and over 10 Billion units shipped since its introduction in 1994.

ARM8

I heard that ARM8 is one of those things you should not ask ARM Ltd. people about. Nothing strange when you look at history…

ARM810 processor made use of ARMv4 instruction set and had 72MHz clock. At same time DEC released StrongARM with 200MHz clock… 1996 was definitively year of StrongARM.

In 2004 I bought my first Linux/ARM powered device: Sharp Zaurus SL-5500.

ARM9

Ah ARM9… this was huge family of processor cores…

ARM moved from a von Neumann architecture (Princeton architecture) to a Harvard architecture with separate instruction and data buses (and caches), significantly increasing its potential speed.

There were two different instruction sets used in this family: ARMv4T and ARMv5TE. Also some kind of Java support was added in the latter one but who knows how to use it — ARM keeps details of Jazelle behind doors which can be open only with huge amount of money.

ARMv4T

Here we have ARM9TDMI, ARM920T, ARM922T, ARM925T and ARM940T cores. I mostly saw 920T one in far too many chips.

My collection includes:

  • ep93xx from Cirrus Logic (with their sick VFP unit)
  • omap1510 from Texas Instruments
  • s3c2410 from Samsung (note that some s3c2xxx processors are ARMv5T)

ARMv5T

Note: by ARMv5T I mean every cpu never mind which extensions it has built-in (Enhanced DSP, Jazelle etc).

I consider this one to be most popular one (probably after ARM7TDMI). Countless companies had own processors based on those cores (mostly on ARM926EJ-S one). You can get them even in QFP form so hand soldering is possible. CPU frequency goes over 1GHz with Kirkwood cores from Marvell.

In my collection I have:

  • at91sam9263 from Atmel
  • pxa255 from Intel
  • st88n15 from ST Microelectronics

Had also at91sam9m10, Kirkwood based Sheevaplug and ixp425 based NSLU2 but they found new home.

ARM10

Another quiet moment in ARM history. ARM1020E, ARM1022E, ARM1026EJ-S cores existed but did not looked popular.

UPDATE: Conexant uses ARM10 core in their next generation DSL CPE systems such as bridge/routers, wireless DSL routers and DSL VoIP IADs.

ARM11

Released in 2002 as four new cores: ARM1136J, ARM1156T2, ARM1176JZ and ARM11 MPCore. Several improvements over ARM9 family including optional VFP unit. New instruction set: ARMv6 (and ARMv6K extensions). There was also Thumb2 support in arm1156 core (but I do not know did someone made chips with it). arm1176 core got TrustZone support.

I have:

  • omap2430 from Texas Instruments
  • i.mx35 from Freescale

Currently most popular chip with this family is BCM2835 GPU which got arm1136 cpu core on die because there was some space left and none of Cortex-A processor core fit there.

Cortex

New family of processor cores was announced in 2004 with Cortex-M3 as first cpu. There are three branches:

  • Aplication
  • Realtime
  • Microcontroller

All of them (with exception of Cortex-M0 which is ARMv6) use new instruction sets: ARMv7 and Thumb-2 (some from R/M lines are Thumb-2 only). Several cpu modules were announced (some with newer cores):

  • NEON for SIMD operations
  • VFP3 and VFP4
  • Jazelle RCT (aka ThumbEE).
  • LPAE for more then 4GB ram support (Cortex A7/12/15)
  • virtualization support (A7/12/15)
  • big.LITTLE
  • TrustZone

I will not cover R/M lines as did not played with them.

Cortex-A8

Announced in 2006 single core ARMv7a processor core. Released in chips by Texas Instruments, Samsung, Allwinner, Apple, Freescale, Rockchip and probably few others.

Has higher clocks than ARM11 cores and achieves roughly twice the instructions executed per clock cycle due to dual-issue superscalar design.

So far collected:

  • am3358 from Texas Instruments
  • i.mx515 from Freescale
  • omap3530 from Texas Instruments

Cortex-A9

First multiple core design in Cortex family. Allows up to 4 cores in one processor. Announced in 2007. Looks like most of companies which had previous cores licensed also this one but there were also new vendors.

There are also single core Cortex-A9 processors on a market.

I have products based on omap4430 from Texas Instruments and Tegra3 from NVidia.

Cortex-A5

Announced around the end of 2009 (I remember discussion about something new from ARM with someone at ELC/E). Up to 4 cores, mostly for use in all designs where ARM9 and ARM11 cores were used. In other words new low-end cpu with modern instruction set.

Cortex-A15

The fastest (so far) core in ARMv7a part of Cortex family. Up to 4 cores. Announced in 2010 and expanded ARM line with several new things:

  • 40-bit LPAE which extends address range to 1TB (but 32-bit per process)
  • VFPv4
  • Hardware virtualization support
  • TrustZone security extensions

I have Chromebook with Exynos5250 cpu and have to admit that it is best device for ARM software development. Fast, portable and hackable.

Cortex-A7

Announced in 2011. Younger brother of Cortex-A15 design. Slower but eats much less power.

Cortex-A12

Announced in 2013 as modern replacement for Cortex-A9 designs. Has everything from Cortex-A15/A7 and is ~40% faster than Cortex-A9 at same clock frequency. No chips on a market yet.

big.LITTLE

That’s interesting part which was announced in 2011. It is not new core but combination of them. Vendor can mix Cortex-A7/12/15 cores to have kind of dual-multicore processor which runs different cores for different needs. For example normal operation on A7 to save energy but go up for A15 when more processing power is needed. And amount of cores in each of them does not even have to match.

It is also possible to make use of all cores all together which may result in 8-core ARM processor scheduling tasks on different cpu cores.

There are few implementations already: ARM TC2 testing platform, HiSilicon K3V3, Samsung Exynos 5 Octa and Renesas Mobile MP6530 were announced. They differ in amount of cores but all (except TC2) use the same amount of A7/A15 cores.

ARMv8

In 2011 ARM announced new 64-bit architecture called AArch64. There will be two cores: Cortex-A53 and Cortex-A57 and big.LITTLE combination will be possible as well.

Lot of things got changed here. VFP and NEON are parts of standard. Lot of work went into making sure that all designs will not be so fragmented like 32-bit architecture is.

I worked on AArch64 bootstrapping in OpenEmbedded build system and did also porting of several applications.

Hope to see hardware in 2014 with possibility to play with it to check how it will play compared to current systems.

Other designs

ARM Ltd. is not the only company which releases new cpu cores. That’s due to fact that there are few types of license you can buy. Most vendors just buy licence for existing core and make use of it in their designs. But some companies (Intel, Marvell, Qualcomm, Microsoft, Apple, Faraday and others) paid for ‘architectural license’ which allows to design own cores.

XScale

Probably oldest one was StrongARM made by DEC, later sold to Intel where it was used as a base for XScale family with ARMv5TEJ instruction set. Later IWMMXT got added in PXA27x line.

In 2006 Intel sold whole ARM line to Marvell which released newer processor lines and later moved to own designs.

There were few lines in this family:

  • Application Processors (with the prefix PXA).
  • I/O Processors (with the prefix IOP)
  • Network Processors (with the prefix IXP)
  • Control Plane Processors (with the prefix IXC).
  • Consumer Electronics Processors (with the prefix CE).

One day I will undust my Sharp Zaurus c760 just to check how recent kernels work on PXA255 ;D

Marvell

Their Feroceon/PJ1/PJ4 cores were independent ARMv5TE implementations. Feroceon was Marvell’s own ARM9 compatible CPU in Kirkwood and others, while PJ1 was based on that and replaced XScale in later PXA chips. PJ4 is the ARMv7 compatible version used in all modern Marvell designs, both the embedded and the PXA side.

Qualcomm

Company known mostly from wireless networks (GSM/CDMA/3G) released first ARM based processors in 2007. First ones were based on ARM11 core (ARMv6 instruction set) and in next year also ARMv7a were available. Their high-end designs (Scorpion and Krait) are similar to Cortex family but have different performance. Company also has Cortex-A5 and A7 in low-end products.

Nexus 4 uses Snapdragon S4 Pro and I also have S4 Plus based Snapdragon development board.

Faraday

Faraday Technology Corporation released own processors which used ARMv4 instruction set (ARMv5TE in newer cores). They were FA510, FA526, FA626 for v4 and FA606TE, FA626TE, FMP626TE and FA726TE for v5te. Note that FMP626TE is dual core!

They also have license for Cortex-A5 and A9 cores.

Project Denver

Quoting Wikipedia article about Project Denver:

Project Denver is an ARM architecture CPU being designed by Nvidia, targeted at personal computers, servers, and supercomputers. The CPU package will include an Nvidia GPU on-chip.

The existence of Project Denver was revealed at the 2011 Consumer Electronics Show. In a March 4, 2011 Q&A article CEO Jen-Hsun Huang revealed that Project Denver is a five year 64-bit ARM architecture CPU development on which hundreds of engineers had already worked for three and half years and which also has 32-bit ARM architecture backward compatibility.

The Project Denver CPU may internally translate the ARM instructions to an internal instruction set, using firmware in the CPU.

X-Gene

AppliedMicro announced that they will release AArch64 processors based on own cores.

Final note

If you spotted any mistakes please write in comments and I will do my best to fix them. If you have something interesting to add also please do a comment.

I used several sources to collect data for this post. Wikipedia articles helped me with details about Acorn products and ARM listings. ARM infocenter provided other information. Dates were taken from Wikipedia or ARM Company Milestones page. Ancient times part based on The ARM Family and The history of the ARM CPU articles. The history of the ARM architecture was interesting and helpful as well.

Please do not copy this article without providing author information. Took me quite long time to finish it.

Changelog

8 June evening

Thanks to notes from Arnd Bergmann I did some changes:

  • added ARM7, Marvell, Faraday, Project Denver, X-Gene sections
  • fixed Cortex-A5 to be up to 4 cores instead of single.
  • mentioned Conexant in ARM10 section.
  • improved Qualcomm section to mention which cores are original ARM ones, which are modified.

David Alan Gilbert mentioned that ARM1 was not freely available on a market. Added note about it.

Related content:

  1. Samsung will have big.LITTLE. So what?
  2. What interest me in ARM world
  3. Death to Raspberry/Pi — Beaglebone Black is on a market
  4. Calxeda announced ARM server product
  5. Speeding up BitBake builds


All rights reserved © Marcin Juszkiewicz
ARMology was originally posted on Marcin Juszkiewicz website

I was thinking about starting dogfooding Ubuntu Touch, and really for me the blocker is having a torch app! :) so here it is:

https://code.launchpad.net/~vtuson/+junk/torchapp

Tap in the lightbulb to turn the tourch on (tested on Galaxy Nexus). Image by  Ryan Hyde

 


torchontorchoff


Packages for the release of KDE SC 4.10.4 are available for Kubuntu 13.04, 12.10 and 12.04. You can get them from the Kubuntu Updates PPA for 13.04 and from the Backports PPA for 12.10 and 12.04.

Bugs in the packaging should be reported to kubuntu-ppa on Launchpad. Bugs in the software to KDE.

If you’re a Google Chrome user on Ubuntu and you’re having problems regarding libdev.so.0 here’s a quick one-line fix.

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

 

The post Silly Chrome It’s libdev.so.1 Now appeared first on Sam Hewitt | Blog.

I’ve been thinking: to what degree of permanency does our online life have?  Should our biggest concern be that our data (and if you’re alive today and use the internet, you probably have some to one degree or another) has made us immortal? –so to speak.

It is no far cry to assume that if you use any online services (provided by a corporation) the data that you give them is stored. It’s also no mystery that it’s then used to better advertise to us. (And we’d be naive to think this isn’t exploited by governments legally or otherwise –see PRISM– for “surveillance/security purposes”).

Cameras in our pockets have changed everything as well. Combined with facial recognition it’s possible to snap a picture of someone, before meeting them in a bar for example, and use the internet to get their name and then use their name to find them on the internet, and so on. (Remember when Facebook bought face.com?)

But, I’m not breaking out the tin foil hats (just yet).

I like to think that’s nothing on the internet is free; there’s two ways we can pay for the convenience of internet services: with money or with data, and that we as internet users have to be comfortable with relinquishing one or both of those.

I will agree that there needs to be more transparency from the companies that have our data; that they openly share what they collect and how they use our data. Or have a more open-source approach to things.

One of the caveats of (and one of the lesser reasons I predominantly use) open-source software is the liberation one gets from knowing what goes into it –we can be assured (mostly) that no malicious elements are added to them.

warhol15minutes

In the past there was a notion where people wanted to have “15 minutes of fame”. Today, I don’t think that that’s true. It might be more difficult to get 15 minutes of anonymity –we’ve probably all used that 15 minutes up: right out of the womb.

But I digress.

I gave this post the title “The Threat of Immortality” as I think death is not the biggest threat, as far as our legacies and the internet is concerned. When we’re long dead, all the data we’ve pumped online will still linger, and like the cave paintings of ancient times, our children’s children are going to thought-Google us from their neurological implants and find our antiquated profiles. Then they’ll point and laugh at how we used to have and hold and paw at a piece of glass like a cat to communicate and be social instead of using our minds –”How droll”.

So how can we expect to live our lives? I guess we must simply be cognisant of what we post, tweet, photograph, buy, like, say, watch, upload, download, write, edit, on the Internet. Else unplug.

As I like to say/joke it’s probably easier to fake one’s own death than to delete your online life.

The post The Threat of Immortality appeared first on Sam Hewitt | Blog.

Yes! It is possible!

I’ve done it!

On my production linode!

It was a bit hard, and I made quite a few mistakes, but I’m convinced that a minimal system can be sanely crossgraded. I did it and only had an hour or so of server downtime In the process. However, most of the stack gets stripped down and back out, so I fear what happens with the X stack (nevermind GNOME Or anything that depends on it)

A more detailed post to follow!

Thanks to the dpkg team for making this happen!

2839-000

With every Ubuntu release I find myself deep into the bowels of the default GTK theme tweaking this or that. Not so much driven by dissatisfaction, I am motivated by the possibility of improvement resulting in a better user experience.

I’ve noticed a trend is afoot to flatten the appearance of themes. Chrome OS is a good example of this and it is rumored the new iOS 7 will be the same. Evidence of this is observable in Ubuntu as the file manager icons of the navigation tree are flat.

I used this as a design goal for this release and I am pleased to announce the availability of the AmbianceX (AX) theme for Ubuntu “13.04″.

The following screen shots illustrates how the theme presents.

Files

Ubuntu 13.04 uses Nautilus 3.6 by default. The tool bar is flat and has been enhanced with navigation buttons matching the “open files” dialog control. Tree view elements are tinted when the mouse hovers over them to aide in navigation.

2839-010

The scroll bars mimic those found on web pages such as Facebook or Google Drive.

Rhythmbox

The tool bar playback controls are now tinted when you hover your mouse over them.

2839-015

Inkscape

GTK2 applications like Inkscape are themed to match their GTK3 siblings to the extent possible.

2839-020

Appearance Dialog

The appearance dialog contains a plethora of UI elements and is a good example of how these elements compliment each other.

2839-025

Errata

The menus in Libre Office do not highlight as desired on the mouse over event. This is also an issue with core Ambiance.

Installation

Step 1 – Download installation package

Download the installation package here.

Step 2 – Expand the Archive

2839-050

Step 3 – Open Terminal

Open a terminal window by simultaneously pressing the “ctrl-alt-t” keys or open from the Unity menu.

Step 4 – Move to AX Directory

~$ cd Downloads/AX-Install

Step 5 – Run Installation Script

~$ sudo bash InstallAX.sh

Step 6 – Confirm Installation

2839-055

Step 7 – Log out

When the installation script completes log out and then log in.

Installation Notes

The installation script automatically disables the auto scroll bar feature. To re-enable run the EnableUbuntuScrollbars.sh script.

To uninstall AX simply run the script and select uninstall from the menu.

Enjoy :)

The post AX Theme Released For Ubuntu 13.04 appeared first on j-Baer.

As you may know, the LDAP backend in ownCloud 5 got a couple of new features and some changes under the hood (see point 3 on ownCloud 5 released, Google Reader Alternative). Seven maintenance releases later, some bugs have been smashed, but an irksome quirk is left.

A newly introduced behaviour in creating the ownCloud username may be unwanted in the way the default is. Back in ownCloud 4.5, there were just usernames that were used to display and to identify users. In the LDAP backend we make sure that no concflicts with usernames appear in order to avoid same usernames between LDAP users, local users and other possible backends. Having the same username would make files and data availablle for all of them.

Generating (internal) Usernames

In onwCloud < 5 the username was restricted to basic ASCII chars. Our approach in the LDAP backend was to create the username from the value of the attribute given in the "User Display Name Field". Special characters were replaced were possible, or omitted. On collisions, the DN was addded in a almost readable manner. The username is stored in a database table and assigned to a reliable LDAP identifier to find him again.

In ownCloud 5.0 Display Names were introduced. The internal username (shown as Login Name on the Users page, a bit misleading) is still the same, but now there is support for a fancy name per user and without character limitations. With the LDAP backend, we made use of it and did the following: because the internal username was not visible for the User anymore, the internal ownCloud name will be generated from the UUID now. This avoids sanitation and is already practicably unqiue. The ownCloud display name is exactly what the value of the attribute specified as "User Display Name Field" retrieves.

From Undesirable Side Effects…

This decision (made close to Feature Freeze) had some effects:

  1. The user directory in ownCloud is named after the internal username (if not specified differently in "User Home Folder Naming Rule")
  2. All the *DAV URLs contain the internal username in the path.
  3. The Ampache server (Media Player) also expects the internal username for login as it does the authentication on its own

Reactions after the release made us aware that often the login name and "User Display Name Field" were the same in the "old days of ownCloud 4.5", leading to undesired behaviour. Issue #1 is acutally not much of a problem and can be fixed with the settings option mentioned above. Issue #2 and #3 (special in it's own way) could not be circumvented. Until 5.0.7.

… To More Flexibility

With ownCloud 5.0.7 we introduce a new tab in the ownCloud settings called "Expert". The attribute used for creating the internal username can be customized there, so that it matches with the uid (or whichever attribute you prefer) again. Please note that it does not have effect on existing users, because there is no rename mechanism in ownCloud. You should ensure that those values are unique, because on naming collisions a username in the pattern of attributevalue_1234 (random number) will be created instead.

Another option is to specify the UUID attribute. Actually, the default behaviour is identical to what we did in ownCloud 4.5. Since uids, cn or DNs may change, we need a permanent value to recognize LDAP users. We need to be able to reliably map the internal ownCloud username to an LDAP representation. You can override this behaviour, too. Note: this will not have immediate effect on existing users, but can cause trouble when a user DN changes. Do not use it after putting your ownCloud in production use.

Furthermore mapping tables can be deleted. The mapping tables associate the internal ownCloud username with the LDAP user representation. You do not want to click on them on a production server! More information provides the LDAP Backend Documentation Page

The Missing Icing On The Cake

For existing users there is not much to gain, unfortunately. What you can do there is to change the owncloud_name in the oc_ldap_user_mapping table as well as in database columns where the username is used (for instance 'share_with' and 'uid_owner' in oc_share and more depending on the apps in use). This is scriptable. Also scriptable is to update the UUID values from the current to the desired attribute. However, the scripts (or as improvements to the backend) need to be done first.

Yesterday I spent a bit of time reading a thread on Arch Linux ARM forum about their issues with Samsung ARM Chromebook. And found interesting information there.

Why Arch Linux ARM? Because they posted guide for replacing original U-Boot with normal one. I plan to make some modifications to my Chromebook (once it return from service as I want my speakers back) and this will be one of them (other will be serial ports).

If someone want to try this distribution then Craig Errington describes on his blog how to install XFCE. I did not used it and do not plan to but will check for tweaks and hints to get my Ubuntu experience better.

So if you play with running other distributions than ChromeOS on you Chromebook then check their forum — maybe you will find something useful as well.


All rights reserved © Marcin Juszkiewicz
Arch Linux ARM on Chromebook was originally posted on Marcin Juszkiewicz website

Alan Turing was a British mathematician, logician, cryptanalyst, and computer scientist. He was highly influential in the development of computer science, giving a formalisation of the concepts of “algorithm” and “computation” with the Turing machine, which can be considered a model of a general purpose computer. Turing is widely considered to be the father of computer science and artificial intelligence.  You can read more here.

On this day in 1954 we lost this great mind, and I just wanted take a minute to thank and remember this remarkable man.

Alan Turing (1912-1954)

This special edition discusses the current news of revelations of government acquisition of Verizon cell phone customer call records and discusses some software solutions available for preserving privacy.

Related links:

Download here (MP3) (ogg) (FLAC) (Speex), or subscribe to the podcast (MP3) to have episodes delivered to your media player. We suggest subscribing by way of a service like gpodder.net.

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/.

Today I recorded a video demo of Ubuntu running on the Galaxy Nexus and showcasing much of the progress in May to turn the phone into a usable daily phone for early testers. The demo shows recieving a call and text, web browser, social networking integration, multitasting, a number of the apps, messaging menu, and more.

Here it is:

Can’t see it? Watch it here.

Mark Johnson returns to be with Tony Whitmore and Laura Cowen for the fifteenth episode of Season Six of the Ubuntu Podcast from the UK LoCo Team!

 Download OGG Play in Popup  Download MP3 Play in Popup

In this week’s show:-

We’ll be back in one week with an interview with Daniel Foré of ElementaryOS. In the meantime, send us your feedback!

Please send your comments and suggestions to: podcast@ubuntu-uk.org
Join us on IRC in #ubuntu-uk-podcast on Freenode
Leave a voicemail via phone: +44 (0) 203 298 1600, sip: podcast@sip.ubuntu-uk.org and skype: ubuntuukpodcast
Follow our twitter feed http://twitter.com/uupc
Find our Facebook Fan Page
Follow us on Google Plus
Leave us some segment ideas on the Etherpad

Digg This  Reddit This  Stumble Now!  Buzz This  Vote on DZone  Share on Facebook  Bookmark this on Delicious  Kick It on DotNetKicks.com  Shout it  Share on LinkedIn  Bookmark this on Technorati  Post on Twitter  Google Buzz (aka. Google Reader)  

Bruce Lawson started a very interesting discussion about the Encrypted Media Extensions to HTML a few months ago, with learned and interesting commentary from John Foliot and others. After devoting some thought to this, I believe that the amount of argument around this subject is at least partially caused by its separation of the web from the spirit of the web.

A few things to dismiss first. This is about DRM. John’s technically right that that’s not all that EME is about, but that’s frankly disingenuous. DRM is most of what EME is about, it’s all of what objectors object to, and pointing at the other reasons is like walking into St. Thomas’s Hospital and saying that smoking reduces the risk of Alzheimer’s. It does…but you are missing the point.

Secondly, this discussion is not about whether DRM is a good idea at all. Certainly many people have an opinion on that. It is also reasonable, if you dislike DRM, to believe that EME is a bad idea because it further legitimises DRM, and to make an argument in those terms. But if you fundamentally disagree with DRM then your argument is better directed either at movie studios (to stop them producing movies with it) or at ordinary purchasers (to convince them that avoiding DRM is more important than watching movies). I do not believe that anyone rationally discussing EME is acting in genuine bad faith – there is no big conspiracy here. From what I’ve seen, this is a discussion of pragmatism: given that DRM exists and movies use it and people want movies, is it a good idea to integrate DRM movie playback more tightly with the web? I do not propose that anyone’s sacred right to be heard is compromised: what I suggest is that arguments are best directed against those most able to fix it. If you hate DRM, send your ire against Paramount or your neighbours, not your web browser.

OK, those distractions aside, the point I was making is this: one of the really nice things about the web is that it is set up to be open, and in order to participate, you have to be too. Stuff on the web is available to accessibility technologies; you can read the code that makes up a page; it’s available on many devices including ones you’ve never heard of; it’s backwards compatible right down to text browsers. Of course it’s possible to build stuff on the web which fails to meet these things, but in general, participation in the web means that you’re automatically building something that meets those goals, because that’s built in to the whole concept. There is a reason that the web took off rather than Hypercard or FoxPro. So, historically, “let’s get this new technology onto the web” meant, at least partially, that that new technology would need to become accessible and available to everyone on every operating system and every device and open. So adding a new technology to the web was a good thing for people who wanted to use that technology in places that weren’t anticipated by the tech owners. The web enables everybody; therefore, everybody’s in favour of things being on the web. QED.

The Encrypted Media Extensions are not like that. They are explicitly designed to provide a framework to plug in other technologies, with no guarantee whatsoever that those other technologies are actually available. What this actually means, in practice, is that Microsoft will build a shim layer between EME and the PlayReady DRM parts of Silverlight, and then we’ll be in exactly the situation we are in now: if you have Silverlight now, you’ll be able to use EME then. If you don’t, you won’t. All that’s happened is that DRM plugins have now been blessed as being “part of the web” — PlayReady can now claim to be “HTML5″ rather than a plugin. Hooray. What have we gained?

Well, there are some benefits. Given that DRMed video will be available through HTML’s <video> element (I assume), we’ll be able to, say, put that video on the side of a 3D CSS rotating cube, and other similar effects. Obviously not all video manipulation will be possible; at the moment it’s quite easy to digitally manipulate a <video> through a <canvas>, and that’ll have to be stopped if you’re trying to manipulate a DRMed video. It’s nice that DRMed video will at least partially be part of the HTML world rather than siloed off in a little plugin window.

However, I don’t think that that justifies the work. Adding EME to HTML will mean that everyone who can already watch Harry Potter movies can continue to watch them. It will not extend this any further; it will not widen the viewing audience; it will not decentralise the control; and it will divide the web further into the haves and the have-nots. One of the big reasons that the web is a good idea is that it stops there being any have-nots. EME bringing DRM to <video> will stomp all over that. There is no difference, none, between a a <video> tag which requires a platform-specific plugin to work and an <object> tag which plays a video and requires a platform-specific plugin to work. The argument has been made that if the web doesn’t embrace this stuff, people won’t stop watching videos: they’ll just go somewhere other than the web to get them, and that is a correct argument. But what is the point in bringing people to the web to watch their videos, if in order to do so the web becomes platform-specific and unopen and balkanised? The goal wasn’t “get everyone on the web”, it was “bring knowledge and entertainment and everything to everyone”, and the web was the best way to do that. If getting the “everything” means giving up on the “everyone”, we’re doing it wrong.

A few months ago the ubuntu touch core apps project was launched. For those of you following along with Michael's regular updates have gotten to see these applications grow up rather quickly.
Autopilot Says: How can I help?
Now it's time to add some more testing around these applications as they have reached a basic functional level of usability. Automated testing via autopilot to the rescue!

To help kickstart this process we've put together a recipe for writing autopilot tests specific to QML applications and added it to developer.ubuntu.com. In addition, we'll be hosting a hackfest next week on June 13th to help add basic autopilot testcases for each of the core apps. Folks will be on-hand ready to field your questions and hack together on the autopilot testcases needed for the applications. Join us and help support the wonderful community of application developers making awesome applications for ubuntu!

So how can you help? 
  1. First, go read through the recipe on writing autopilot tests for QML applications. It's also a good idea to have a look through the official tutorial for autopilot and bookmark the API reference link so it's handy.
  2. Armed with your new knowledge, start hacking on some autopilot tests for the core apps. Here's a list of core applications along with the status of autopilot tests. Choose something that looks interesting to you and add some tests.
  3. Follow the contributing guide to help you get your work contributed into the ubuntu touch core application project you chose.
  4. Finally come out to the hackfest! It's your chance to share your work, ask questions, get your tests sorted and merged and socialize and meet other members of the community.
  5. Don't forget there is a wonderful quality community you can be a part of and get help from if you get stuck! There's a mailing list for ubuntu-touch, and ubuntu-quality as well as IRC channels #ubuntu-touch, #ubuntu-autopilot and #ubuntu-quality. Use these resources to help you!
See you next week and happy testing!

Charm Tools

  • No major changes this week

Charm Helpers

  • “Core” package available as Python library. “programmable” forking interface coming soon
  • No easy way to install and use at the moment (no ppa, pip, etc) must branch in to charm

Testing

  • GUI team using testing plug-in and giving feedback / proposals.
  • Harness coming out this week to streamline testing

Docs

  • Landing Real soon now, UI stuff is done.
  • Just relocated into juju core. lp https://launchpad.net/juju-core/docs
  • What team should “own” docs?
  • docs should follow juju-core milestones

Blockers on Trello

  • Still waiting on backports/PPA for 12.04.
  • Still stuck on removing drupal6 from the store.

Charm Framework updates

  • Jeff and Mims need to start working on node.js.
  • Rails, blocking on arosales
  • gunicorn - Patrick Hetu has redone the Gunicorn charm as a subordinate. ~charmers overall think this is a great direction to explore, having the app be the primary, and the webserver be the subordinate. Nice job Patrick!

Events

Misc

Jorge Castro’s recent post Let’s Reinvigorate the Water Cooler about what is ‘wrong’ with the forums started me thinking about the ‘social’ part of the Ubuntu Community. I think the issue that is being discussed is larger than any issues with the forums. Focusing on the products people are using Facebook, Google+, Twitter, Reddit, mailing lists, or forums is not the right focus. The issue we are discussing is communication and community. The last year and a half as been a difficult and bumpy one for the community in regards to communication; there is a communication problem. The problem is not that the forums are broken or that developers do not like forums; the issue is improving communication in the community.

groups of colourful stick men 400x200

When I look at the Ubuntu Community I see several sub-groups:

  • Users
  • Sys Admins / Dev-Ops
  • Core Developers / App Developers
  • Marketing / Evangilists
  • Artists / Design

There may very well be other groups, but this small sample is good enough to illustrate what I feel the issue is; the groups do not cross-communicate naturally. Each group has a ‘style’ of communication that works for them. There are people who cross between the groups and when the project was smaller that was enough to ensure ‘good’ communication. The project is larger now and that is not working well at this point.

The Question Becomes:
Is there a communication platform or tool that will naturally encourage these sub-groups of the community to communicate with one another.

Communication_00

A Different View:
Jorge has put in to focus one very clear point:

In Ubuntu we mostly run our own infrastructure. Mailing lists, forums, launchpad, and so on. We also participate in places where we don’t really control the platform. These include Facebook, Google Plus, reddit, and Ask Ubuntu. Anyone of these services could go away today and we’d be pretty much left out in the cold.

I took something a bit different than Jorge intended from this point; there has been a great deal of growth in the tools used to communicate. This is something has caused me issues with my own communications; I do not like to post items to Google+, Twitter, Facebook, Linked-In, Ubuntu forums, and my blog. What ends up happening is that I post to the one I like the most and that fits the style of communication desired. (example: I am posting this on my blog because it is longer that 140 characters and it is more suited to a blog than Google+). I know that I have a different audience for each service and there are times I would really like everyone in all audiences to see my posts, but it is a pain to post on multiple services.

The Same Desired Outcome:
Even though I view the problem differently I think the desired outcome is the same. What the Ubuntu Community needs is a reliable communication platform that naturally encourages the various sub-groups in the community to communicate with one another. In order to do this I believe we have to cast aside our preconceived ideas based on the current forms of communication and be open to different options.


Well, title says it all really.  The Ubuntu Forums now has  a Facebook Page. It is still being set up, but the intention is to provide another platform to relay forum announcements and notices to the outside world.  It might also be used to aid in community building, who knows? ;)

This is my third Core Apps update, you can go back and read about the Clock and Calendar apps if you missed them.  Today I’m going to show off the Calculator app.

Calculator Features

Basic Functions

The Calculator does exactly what you would expect a calculator to do.  It’s a four-function calculator and does it’s job perfectly well.  But it has a few unique features that make it so much more useful.  Using the old paper-roll calculators as inspiration, the calculator lets you label the numbers in your calculation, so you can go back and see “7 what?”.  When you’re done with a calculation, instead of clearing it off, you simply drag upwards to “tear off” that individual calculation.

Calculation History

Just because you’ve torn off a calculation, doesn’t mean you’ve thrown it away.  Instead, your calculation is stored in a browseable history.  This makes the labels even more useful, because you can go back hours, days, even months to an old bit of calculating.  You can even tap on any number in any of those calculations to insert it into your current one.  If you really are done with a calculation, you can swipe it to the right or left to delete it from your history.

Visual Designs

The Design team says we’ll have visual designs for the Calculator later this week, so the developers will be able to start on implementing those.  Keep an eye on the design team blog and Google+ to see them when they come out.

Release Schedule

The release schedule for the Calculator is the same as the Clock.  It’s already well past what would be considered an Alpha release, so we just called May for that milestone.  Going forward, we plan on delivering a Beta in July that includes the visual designs, followed by a final release in August.

Yesterday I blogged about how psyched I was to have cellular data on my phone. Then I listed some things that the Ubuntu Touch needed to reach parity with my old Android phone, for me, personally. One of those missing things was a way to share images from my phone. But look! This actually works already. It turns out that there is a good start of social integration already started and working. 

Thanks to Bill Filler for walking me through the simple steps. Here's what to do if you want to get Twitter working.

Step 1: In your terminal, run the command $uoa-create twittter . So for me, I did "uoa-create twitter rickspencer3".(to get Facebook integration use $uoa-create facebook . 


Step 2: Wait for the Twitter auth web page to open. For some reason it is really tiny and you can't zoom it. The Facebook page is also tiny, but you can zoom it. However, be careful, the Facebook page requires you to click the commit button, which is way down on the bottom right. 

Step 3: Go to the Application lens. Search for the Friends app, and launch it.
Step 4: Glory in having your timeline on your phone!


Note that only Twitter and Facebook are integrated so far, more networks coming soon. Also note that you can't tweet pics from your gallery yet, but that is coming soon as well.

Of course, we can't rely on using a terminal to set up things like this. I'll be excited to see more social networks and a a GUI configurator land in the image.

A few months back, there was a poetry competition, the Ian Lauder Competition for Poetry 2012. My daughter came fourth out of over five hundred entrants. I am pretty proud of this. They’ve just published a little booklet and her poem’s in it.

niamh-poem

I am in the process of moving my blog to a video blog. I will be embedding the videos here.

So, In this video I look over the install process and a quick look at the three launchers that Kubuntu 13.10 ships. Application Launcher, Application Launcher Menu and Homerun.

Cheers!

Last week was the 2013 edition of Solutions Linux, a yearly French exhibition about Linux and free software. This exhibitions features both professional and associative booths, with all the fun usually happening in the associative booths.

As usual, KDE had a booth there. This year, it was handled by four of us: Sébastien Renard, Benjamin Port, Nathan Sala and myself.

thumb_the-team.jpg

Left to right: Aurélien Gâteau, Benjamin Port, Nathan Sala and Sébastien Renard

We had a great time demonstrating KDE workspaces and applications. I brought a copy of the awesome "Comics with Krita" DVD, which we used to catch the visitor eye. This strategy worked quite well and provided an unusual way to demonstrate KDE products compared to other years: we would talk about Krita, widen the discussion to demonstrate Calligra, then widen it more to show Plasma workspaces and the other KDE applications.

thumb_krita-dvd.jpg

"Comics with Krita" playing

Speaking of Plasma, we got a lot of questions about Plasma Active and Contour: users are really eager to give it a try. Unfortunately we did not have hardware to demo it, so we had to resort to video demonstrations. This makes me even more willing to get a Vivaldi tablet once they are available.

Our booth was located between the GNOME and the Enlightenment booths, an ideal setup for some fine trolling discussions :)

This year we had a wireless keyboard with integrated trackball. It took a bit of time to get used to the trackball, but this device made it easier to do demonstrations while talking with visitors, removing the need to crouch to reach the laptop keyboard.

thumb_ben-on-the-keyboard.jpg

Benjamin on the keyboard

On the second day, we demonstrated (among other things) a little-known aspect of KDE products: games! We had good fun with KTuberling, KBounce and KBreakout, tried with limited success to beat the computer at Bovo, but Granatier was without doubt the real star of the day. At one point we plugged the wireless keyboard on the demo laptop and enjoyed a few 4-player games, thanks to a finely tuned keyboard configuration (keep in mind the laptop sees the two physical keyboards as only one logical keyboard...)

thumb_granatier.jpg

A 2-player game of Granatier running

We even got our GNOME neighbors to play a game on our booth :)

thumb_granatier-and-gnomies.jpg

Our GNOME neighbors playing Granatier

That's it for this year, we will be back in 2014!

Yesterday I posted the first in a new series of Core App Update, featuring the Clock App’s development.  Today I’m going to cover the status of the Calendar

Calendar Features

Calendar View

The calendar now provides several different views you can choose from.  You start off with a full month at the top, and your events for the day below.  Swiping left and right on the month will take you back or forward a month at a time.  Swiping left or right on the bottom half will take you back and forward a day at a time.

Pull the event area down and let it go, and the month will collapse down into a single week. Now swiping left and right there will move you back and forward a week at a time.  Pull down and let it go again and it will snap back to showing the full month.

Finally, you have an option in the toolbar (swipe up from the bottom edge) to switch from an event list to a timeline view of your events.

Adding Events

You can current add events to the calendar app, and they will be stored in a local database.  However, after discussions with Ubuntu Touch developers, the Calendar team is refactoring the app to use the Qt Organizer APIs instead.  This will allow it to automatically support saving to Evolution Data Server as a backend as soon as it’s integrated, making calendar events available to other parts of Ubuntu such as the datetime indicator.  Being able to import your ical feeds is also on the developer’s TODO list.

Visual Designs

We don’t have new visual designs for the Calendar yet, but it is one of the apps that the Design team has committed to providing one for.  Now that they are done with the Clock’s visual designs, I hope to see these soon for the Calendar.

Release Schedule

Once again I worked with the Calendar developers to set release targets for their app.  The alpha release is targeted for month-2, this month, and should include the switch to Qt Organizer.  Then we plan on having a Beta release in August and a Final in September.

Last week I was in Washington DC house hunting (successfully, I might add ;) ). Since I abandoned my Android phone for full time Ubuntu Touch phone, the lack of cellular data was painful, but not as painful as I thought it would be because there was wireless everywhere. However, there were a couple of times that I would have liked to have checked email and such when I wasn't around wireless. Also, I get lost easily, so not being able to check a map was a painful regression once or twice.

So, today, I was really happy to get the cellular data set up on my phone, and knock around Seattle a bit trying it out. It worked really well. It was interesting to see how so much of the slowness of my old phone was the phone itself, and not the cellular network speed as I had thought. I got a nice snappy experience on Ubuntu Touch.

In the image above, you can see that one needs to use the terminal to turn the cellular data connection on and off. I wish we had co-developed the GUI with the backend support. I would like us to start thinking more across the team, seeing if we can bring experiences out in full. That said, I know it was a huge amount of work to get data working, and having the back end working and keeping it working is certainly a solid way to develop. So, great job to the Phonedations team!

Having cellular data completes the "daily driver" goals we set! Never one to rest, now I am thinking about what would bring parity for my Ubuntu Touch phone in terms of the features that I actually used on my Android phone. The list is modest:

  1. My phone sometimes gets hot and then the batter runs down faster than it should. Would love to figure out what is going on there and get longer batter life.
  2. Getting pictures *off* my phone. I can take pictures, but can't share them yet.
  3. Loading up and watching videos. I like to take videos to the gym and on trips and watch them on my phone sometimes.
  4. Euchre. I know this is silly, but I have passed a lot of time playing this card game on my last phone. Maybe I can make my own implementation, but programming a card game seems like it would best be done with a framework, and it's not really up my ally.
I'm sure everyone has a different list like this, but I bet I am the only one with Euchre on their list. :)
Ubuntu Server 11.04 has proven to be a venerable server platform, it has nonetheless, reached its end of life on October 28, 2012. Whether or not you are blissfully unaware, end-of-life means that updates and security patches have been discontinued.

As part of the EOL'ing of a release, the mirrors are retired over time. Last week the mirrors for 11.04 were retired from archive.ubuntu.com, which in turn propagated through to the S3 EC2 mirrors. Any person using Ubuntu 11.04 and the S3 mirrors or archive.ubuntu.com will be unable to install software.

Over the last week, the Cloud Image team has fielded several questions from distraught users caused by the continued use of 11.04. We strongly suggest that those running Ubuntu Server 11.04 and the recently expired 11.10 and 8.04 LTS upgrade to a supported release to prevent any disruptions to their infrastructure. The current supported LTS is 12.04 with 13.04 being the latest stable release. Ubuntu 10.04 LTS is supported until April of 2015.

Those who continue to run expired Ubuntu releases may experience issues and may be required to mitigate the movement of mirrors from the S3 and main archive servers to old-releases.ubuntu.com/ubuntu [2]. While Ubuntu 8.04 LTS and 11.10 are currently available at the main archive and S3 locations, they will be removed anytime, per policy [3]

The Symptom

For those who are still running 11.04 and are running the 11.04 Cloud Image, you mostly likely have encountered or will encounter some ugly error messages when you try to access the S3 archives for EC2 images in the form of 404 and 403 errors. For example:

Err http://security.ubuntu.com natty-security/main Sources
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/universe Sources
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/main amd64 Packages
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/universe amd64 Packages
  404  Not Found [IP: 91.189.92.201 80]
Ign http://security.ubuntu.com natty-security/main Translation-en_US

And....

Err http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ natty-updates/main libapr1 amd64 1.4.2-7ubuntu2.1
  403  Forbidden
Err http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ natty/main libaprutil1 amd64 1.3.9+dfsg-5ubuntu3
  403  Forbidden

The reason for this is that when the archives were expired the S3 mirrors themselves replicated the expiration. This is a friendly way to let you know that you should upgrade [3]  to the Ubuntu Server 12.04 LTS.



If, however, you are unable to upgrade, there are two options. 

Fix Option 1:

sudo sed -i 's,http://.*ubuntu.com,http://old-releases.ubuntu.com,g' /etc/apt/sources.list
sudo apt-get -y update

If you intend on rebundling the image, you will need to run the following commands to ensure that bundled images retain the settings:

dpkg-divert --local --rename --add /etc/cloud/templates/sources.list.tmpl
sed -i  's,http://.*ubuntu.com,http://old-releases.ubuntu.com,g' \
     /etc/cloud/templates/sources.list.tmpl.distrib \
    | sudo tee /etc/cloud/templates/sources.list.tmpl

Fix Option 2: Starting new instances

If you are starting a new instance, you can configure your cloud-config to default to the new mirrors. The relevent option is the 

#cloud-config
bootcmd: 
- sed -i 's,\$mirror,http://old-releases.ubuntu.com/ubuntu,g' -e 's,http://security.ubuntu.com.,http://old-releases.ubuntu.com,g' /etc/cloud/templates/sources.list.tmpl.distrib > /etc/cloud/templates/sources.list.tmpl

References

[1] http://fridge.ubuntu.com/2012/10/28/ubuntu-11-04-natty-narwhal-end-of-life-reached-on-october-28-2012/ 
[2] http://old-releases.ubuntu.com/ubuntu/dists/
[3] https://help.ubuntu.com/community/PreciseUpgrades


This item is only available in Spanish, if you want to see it enters. http://jhosman.com/es/documentacion-ubuntu/hardware10/293-construir-un-robot-seguidor-de-l%C3%ADnea-con-arduino-softwarelibre-hardwarelibre.html

Foto: :) Documentación terminada y en espera de la entrega final :D Yuhuuu primer trabajo de la universidad desarrollado a totalidad con Software y Hardware Libre =)

JULY PAOLA CHITIVA ORTIZ
JHOSMAN ALFONSO LIZARAZO MORA

DOCENTE NORBERTO NOVOA

ARQUITECTURA DE COMPUTADORES

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLOGICA

TECNOLOGIA EN SISTEMATIZACIÓN DE DATOS

Video http://www.youtube.com/watch?feature=player_embedded&v=k3OWezAWlbo

Photos: Click here

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20130604 Meeting Agenda


ARM Status

Q/master: lp1176977 (“XFS instability on armhf under load”) – cherry picked
more fixes for the preallocation code, rerun the swift benchmark with different
fs sizes but unfortunately some xfs tests failed, under investigation.
*/highbank: lp1182637(“cpu_offlining fails to run on ARM”) – little progress on
this one, but i’m still working on it.
There was a question whether we had helped test the Nexus 7 kernel for phonedations.
They stated they didn’t have the hw
That was the only blocker from it landing in the touch images
Will sync with rtg upon his return then


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

It appears not all the blueprints are setting the series properly and thus we may be missing some
work items for our team. I’ll review any oversights and update the table next week.

   ogasawara    foundations-1305-kernel    1 work item   
      mobile-power-management    1 work item   
   rtg    foundations-1303-phablet-kernel-maintenance    2 work items   
   sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   
   smb    servercloud-s-virtstack    1 work item   


Status: Saucy Development Kernel

Our Saucy unstable branch has been rebased to the latest v3.10-rc4
upstream kernel. Saucy master-next is currently at v3.9.4. We are
debugging some boot issues with the v3.10-rc4 rebase, so will hold off
on uploading a v3.10 based kernel until those are resolved.
We still anticipate an AppArmor pull request this week from the security
team to get the latest AppArmor patches into our phablet kernels.
Important upcoming dates:
Thurs June 20 – Alpha 1 (opt in)


Status: CVE’s

Currently we have 71 CVEs on our radar, with 2 CVEs added and 0 CVEs retired in the last week.
See the CVE matrix for the current list:

  • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

    Overall the backlog has decreased slightly this week:

  • http://people.canonical.com/~kernel/status/cve-metrics.txt

  • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Lucid/Hardy

Status for the main kernels, until today (Jun. 04):

  • Lucid – In Verification;
  • Precise – In Verification;
  • Quantal – In Verification;
  • Raring – In Verification;
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html

    Future stable cadence cycles:

  • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


Open Discussion or Questions? Raise your hand to be recognized

Thanks everyone

This is my friend’s project. She wrote the screenplay. Please help her fund the (really inexpensive) production if you can! http://www.kickstarter.com/projects/1186647220/copy-that-a-comedy-about-magic-love-and-toner

In many Ubuntu conversation I’ve been part of many of the participants agreed  that we need “more transparency”. It’s very easy to agree on as transparency is a good thing, it feels good and it makes things better. Achieving it in a meaningful way is a hard problem to solve though. Meaningful to me means not just “all information is available”, but also “relevant information is easy to find”. In Ubuntu development where hundreds of people put of lots of hard work into Ubuntu, we depend on thousands of other open source projects, where there’s discussions on IRC, on mailing lists, hangouts, in specifications and elsewhere, it’s incredibly easy to lose track of what’s important or relevant.

A lot of teams forming the core of Ubuntu send out weekly summaries of their work, which is great. Among them the Mir and Unity 8 team, the kernel team, Unity APIs team, the Ubuntu Touch team and there’s bits of information everywhere. While this is a great start in being able to get a more complete picture, it also takes some time to read, digest, understand and probably talk to people. To help with this we came up with an idea we already discussed at UDS.

The plan is to read and digest the news and have regular hangouts to which invite engineers to talk about what they’ve been doing, show what’s new and answer questions from the audience. To make this even a bit more interesting, we’d like to invite people from tech blogs and tech news sites. The idea being that they know what their readers would like to hear about and what’s interesting. This would bring together the best of many worlds: what’s new in Ubuntu, the new devices, apps, great stuff from the tech press and live interviews with engineers.

What I’d need now is a bit of help with organising this and setting this up. Please leave a comment or drop me a mail, if you think this is a great idea too and would like to help. :-D

This is my monthly summary of my free software related activities. If you’re among the people who made a donation to support my work (70 €, thanks everybody!), then you can learn how I spent your money. Otherwise it’s just an interesting status update on my various projects.

The Debian Administrator’s Handbook

Spanish translation completed. The Spanish team finished the translation of the book. The PDF build process was not yet ready to build translations so I had to fix this. At the same time, I also improved the mobipocket build script to make use of Amazon’s kindlegen when available (since Amazon now requires the use of this tool to generate Mobipocket files that can be distributed on their platform).

Once those issues were sorted I made some promotion of this first completed translation because they really deserve some big kudos !

Plans for the French translation. You know that the Debian Administrator’s Handbook came to life as a translation of the French book “Cahier de l’Admin Debian” (published by Eyrolles). This means that we currently have a free translation of a proprietary book. It’s a bid of an odd situation that I always wanted to fix. I discussed with Eyrolles to find out how we could publish the original book under the same licenses that we picked for the English book… and the result is that we setup a new crowdfunding campaign to liberate the French book and then make it an official French translation of the Debian Administrator’s Handbook. Read the rest and support us on the ulule project page (a kickstarter like for people who are not based in the US).

Liberate the Debian Handbook

Debian France

I updated our membership management application (galette) to version 0.7.4.1 with numerous bug fixes but the true highlight this month was “Solutions Libres et Opensource”, a tradeshow in Paris where Tanguy Ortolo, me, and other volunteers (Cédric Boutillier, Arnaud G., and some that I have forgotten, thanks to them!), held a Debian booth for two consecutive days (May 28-29). For once we had lots of goodies to sell (buffs, mouse pad, polos, stickers, etc.) and the booth was very well attended.

The Debian Booth (Tanguy on the left, Raphaël on the right)

Google’s Summer of Code

Last month I was rater overwhelmed with queries from students who were interested in applying for the “Package Tracking System Rewrite” project that I offered to mentor as part of Google’s Summer of Code. In the end, I got 6 good student applications that Stefano and me evaluated. We selected Marko Lalic.

The “Community Bonding Period” is just starting and we’re fleshing out details on how we will organize the work. We’ll try to use the IRC channel #debian-qa on OFTC for questions and answers and weekly meetings.

Misc Debian packaging

I packaged zim 0.60 and with the release of Wheezy, I uploaded to unstable all the packages that I staged in experimental (cpputest, publican). I sponsored the upload of libmicrohttpd 0.9.27-1.

I filed a couple of bug reports that I experienced with the upcoming dpkg 1.17.0 (#709172, #709009). In both cases, the package was using a wrongly hardcoded path to dpkg-divert (the binary moved from /usr/sbin/ to /usr/bin/ a while ago and the compatibility symlink is dropped now). I also dealt with #709064 where the user reported upgrade issues related to multiarch.

I also filed an upstream bug report on publican to request some way to avoid so much duplication of files (actually I filed it as a response to the Debian bug #708705 that I received).

Kali work

I had to update OpenVAS for Kali but some parts failed to build in a Debian 7 environment. I diagnosed the problem and submitted a patch upstream.

I also got in touch with the Debian OpenVAS maintainer as I wanted to contribute the package back to Debian, but timing issues have pushed this back for a little longer.

Thanks

See you next month for a new summary of my activities.

One comment | Liked this article? Click here. | My blog is Flattr-enabled.

Welcome to the Ubuntu Weekly Newsletter. This is issue #319 for the week May 27 – June 2, 2013, and the full version is available here.

In this issue we cover:

The issue of The Ubuntu Weekly Newsletter is brought to you by:

  • Elizabeth Krumbach Joseph
  • Jasna Bencic
  • Paul White
  • David Morfin
  • And many others

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License

One feature that didn’t land in Ubuntu 13.04 was the new Smart Scopes functionality in the Ubuntu dash. This feature greatly widens the scope (pun intended) of the dash returning results for a wide range of online services as well as local results. The whole system was re-architected to be more efficient, and designed to scale across our multi-device strategy.

Although the feature didn’t land in 13.04, the team assured us that it would land in the 13.10 cycle early yet it hasn’t appeared yet. I reached out to the team to get some clarity on why this hasn’t arrived yet, and Thomas Strehl, engineering manager for the feature has provided an update:

When we tried to complete scopes for 13.04 back in March we also introduced some issues which needed quite some time during April to resolve. Especially, resolving the result update flickering and completing all reviews with design (mostly related to previews) took us until the second week of May; that was after our sprint in Oakland. During a review session with Mark Shuttleworth at the sprint it became also apparent that the current way we do scopes isn’t exactly the right one, so we started investigating the right approach also in preparation for a scopes sprint end of May. That preparation work in combination with some more fixing and a lot of merging (around 10 branches), bumping versions etc and having mhr3 leaving for vacation slowed down the progress until 17th of May.

Trying to get everything landed was then suddenly blocked by too many autopilot failures which then turned out to not be the scopes fault but rather a regression when upgrading autopilot 1.3 (as well as problems in jenkins for a few days). Good news is that all those issues had been resolved last week, meaning that after autopilot was fixed the reported autopilot issues of scopes went below the required threshold.

However, it still hasn’t landed as of today, as everything has been prepared for making the switch from raring to saucy so a big chunk is waiting for landing, including the scopes (as discussed at vUDS, everything needs to be moved at the same time as autopilot 1.3, hud touch are backward incompatible). To land all this all dependencies (libhybris, ofono, …) of the entire stack have to be resolved first and tests need to continue to pass. We will get there soon…didrocks, sil2100, rsalveti, and cyphermox are heavily working on it as we speak.

So, in a nutshell, things have been delayed due to an intricate web of dependencies, the switch to saucy, and some infrastructure gremlins. Fortunately though, we should see this land soon. Thanks to the team for all their efforts, and to Thomas for providing a thorough update!