Search Results: "ag"

25 April 2011

Obey Arthur Liu: Welcome to our 2011 Debian Google Summer of Code students!

I d like to extend a warm welcome to our new batch of students selected for the 2011 Debian Google Summer of Code! They should soon be posting on Debian Planet and you re welcome to come talk to them on #debian-soc on irc.debian.org Further details will be posted in the coming days to our wiki: http://wiki.debian.org/gsoc Automated Multi-Arch Cross-Building and Bootstrapping aka autocrossbuild , by Gustavo Prado Alkmim, mentored by Wookey
Enable easy and automated setup of cross-platform automated build systems and bootstrapping for QA in the Multi-Arch era. This involves the creation of multi-stage bootstrap build sequencing tools and a reliable automated multi-arch cross-builder. APT/Dpkg Transaction Ordering for Safety and Performance aka aptordering , by Chris Baines, mentored by Michael Vogt
The ordering code in libapt is responsible for ordering the unpacking/configuration of debs so as to ensure dependencies are satisfied etc. Currently it organizes the ordering into big batches. This project further implements an ordering satisfying more constrains such as minimal amounts of dpkg invocations , minimal amount of broken packages at any point . DebDelta APT Native Integration aka debdelta , by Ishan Jayawardena, mentored by Michael Vogt
Improve user experience of APT and its front-ends by speeding up the upgrade process. This provides a better framework for unified handling of debdelta and future APT improvements such as parallelism. Support for stable and security ugprades as well as multiple APT related libraries is expected. Dpkg Declarative Diversions aka declarativediversions , by Sam Dunne, mentored by Steve Langasek
The dpkg-divert command should be replaced with a new control file with a declarative syntax which Dpkg will parse and process directly as part of the package unpack and removal phases, eliminating the problems resulting from non-atomic handling of diversions. Backend Tools and Infrastructure for DEX aka dextools , by Nathan Handler, mentored by Matt Zimmerman
EX is a new program designed to help improve Debian and its derivatives by merging in changes made downstream and encouraging discussions between the various projects. As this is a new project, most of the infrastructure does not exist (or is rather hackish and incomplete). This project will create the necessary backend tools and infrastructure so that all Debian derivatives can easily make use of the DEX project. Jigsaw Modularized Java in Debian aka jigsaw , by Guillaume Mazoyer, mentored by Tom Marble
The Java Development Kit (JDK) is a big monolithic software tool: many of its features are only useful in limited areas (GUI toolkits are useless for a web server). This project will bring the Jigsaw modular JDK to Debian, helping performance (start-up, size, etc) but also the dependency resolution (to match Debian packaging). Some work exists upstream does not fit with Debian. This project will package the current development version of Jigsaw, update Debian Java Policy, and create the necessary packaging tools for software depending on it. Python Multi-Build for Python Extensions Packaging aka pythonmultibuild , by Mesutcan Kurt, mentored by Piotr O arowski
This project creates a tool to build Python extensions for all Python versions supported by Debian at the time. The project should detect the upstream build system and testing frameworks and use them. It will be interfaced with CDBS and the dh sequencer, replacing their Python snippets. Debian Teams Activity Metrics aka teammetrics , by Sukhbir Singh, mentored by Andreas Tille
This project will gauge the performance of teams in Debian by measuring metrics such as: postings on relevant mailing lists, package upload records from the Ultimate Debian Database and commit statistics from project repositories The information gathered will help in evaluating team performance by measuring how people in a team are working together. An interface to access this information easily will also be developed. Compute Clusters Integration for Debian Development and Building aka computeclusters , by Rudy Godoy, mentored by Steffen M ller
The project s main goal is to enable developers to easily use compute clusters (Eucalyptus, OpenStack ) as environments for arch-specific development by providing a set of tools they can use to setup and run an extended platform for their development, testing and building tasks. Good luck to everyone!

Dirk Eddelbuettel: RInside 0.2.4

After several months, it was time for a new release 0.2.4 of RInside which is now on CRAN. RInside is a set of convenience classes which facilitate embedding of R inside of C++ applications and programs, using the classes and functions provided by the Rcpp R and C++ integration package. This new release contains a few small internal changes to the initialization code, as well as a number of slightly improved examples employing more of the simplifications which Rcpp offers. Also included is a brand new example embedding R inside of the Qt framework; an earlier blog post had already discussed this example. Two more examples were added to the standard/examples directory which now contains fourteen plus two tests. We also added a NEWS file, the entry for this release is below.
0.2.4   2011-04-24
   o    Minor code cleanups in initialization code 
   o    New example embedding R inside a Qt application, along with pro file
        for Qt's qmake providing a complete simple C++ GUI application
   o    New examples rinside_sample 10,11  based on questions on the
        r-help and r-devel mailing list
   o    Some improvements and simplifications throughout examples/standard 
        as well as examples/mpi/
   o    Added this NEWS files -- with entries below summarised from ChangeLog
        and the corresponding blog posts
And courtesy of CRANberries, here are the changes from the previous release.
RInside-0.2.3/RInside/inst/ChangeLog only RInside-0.2.3/RInside/libRInside.a only RInside-0.2.4/RInside/ChangeLog only RInside-0.2.4/RInside/DESCRIPTION 24 ++++-- RInside-0.2.4/RInside/R/RInsidePaths.R 4 - RInside-0.2.4/RInside/doxyfile 8 +- RInside-0.2.4/RInside/inst/NEWS only RInside-0.2.4/RInside/inst/THANKS 1 RInside-0.2.4/RInside/inst/examples/mpi/rinside_mpi_sample0.cpp 10 +- RInside-0.2.4/RInside/inst/examples/mpi/rinside_mpi_sample1.cpp 11 +-- RInside-0.2.4/RInside/inst/examples/mpi/rinside_mpi_sample2.cpp 10 +- RInside-0.2.4/RInside/inst/examples/mpi/rinside_mpi_sample3.cpp 9 -- RInside-0.2.4/RInside/inst/examples/qt only RInside-0.2.4/RInside/inst/examples/standard/rinside_sample1.cpp 30 ++++---- RInside-0.2.4/RInside/inst/examples/standard/rinside_sample10.cpp only RInside-0.2.4/RInside/inst/examples/standard/rinside_sample11.cpp only RInside-0.2.4/RInside/inst/examples/standard/rinside_sample2.cpp 15 +--- RInside-0.2.4/RInside/inst/examples/standard/rinside_sample3.cpp 6 - RInside-0.2.4/RInside/inst/examples/standard/rinside_sample5.cpp 10 +- RInside-0.2.4/RInside/inst/examples/standard/rinside_sample6.cpp 12 +-- RInside-0.2.4/RInside/inst/examples/standard/rinside_sample7.cpp 9 -- RInside-0.2.4/RInside/inst/examples/standard/rinside_sample9.cpp 2 RInside-0.2.4/RInside/inst/include/RInsideAutoloads.h 35 ++++++++-- RInside-0.2.4/RInside/inst/include/RInsideEnvVars.h 13 +-- RInside-0.2.4/RInside/src/Makevars 2 RInside-0.2.4/RInside/src/RInside.cpp 21 +++--- 26 files changed, 121 insertions(+), 111 deletions(-)
More information is on the RInside page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

Mirco Bauer: Amazon MP3 Downloader and 64-bit Linux

Last night I wanted to buy an album on Amazon and I couldn't do the checkout as the site required me to install the Amazon MP3 Downloader to make the purchase and download of the album. The downloader is not needed for a single song though, but buying each song separately would be more expensive and more work. The good news is that it automatically offered me packages for different Linux distros: Ubuntu, Debian, Fedora and OpenSUSE instead of telling me off for using Linux and leaving me behind with a Windows only download. But here comes the catch, all offered packages are only for the Intel 32-bit architecture. Now this is a showstopper for me, as I am running an AMD64 Debian which is a 64-bit architecture. I first tried to download and run the 32-bit debian package nonetheless as there was some hope with the ia32-libs and ia32-libs-gtk package. But this was not working as the application needs gtkmm libraries like libglademm and bailed when I tried to run it. So I filed a wishlist bug report against ia32-libs-gtk for inclusion of gtkmm and possibly other needed libraries to run the Amazon MP3 downloader on AMD64. So I bought the album using MusicLoad instead which simply puts all songs in a single archive on-the-fly and let me download that archive. When I tweeted my frustration on Twitter I was hinted by Jo Shields and also by Gabriel Burt that there would have been a much simpler solution to this issue by using Banshee which includes an Amazon MP3 Store plugin: Banshee screenshot showing the Amazon MP3 Store plugin This plugin allows you to log into your Amazon account browse their store like the regular Amazon store, plays the song samples directly, purchase songs, downloads the songs and imports them into Banshee's database so you can play them right away. And as if this wasn't good enough yet, with the the purchase of MP3 songs on Amazon using Banshee automatically makes a donation to the GNOME foundation. As I am the only one who forgot or wasn't aware of this awesome solution this deserved some blogging. Update: some people pointed out that clamz is also available to make MP3 purchases on Amazon.

24 April 2011

Tiago Bortoletto Vaz: New members on the Brazilian Internet Steering Committee

I feel happy about the last CGI.br election results, mainly concerning two new representatives from the third sector. I want to point them here:

Adnan Hodzic: Price of bleeding edge? (update)

Since Debian is in GNOME3 transition period, after last dist-upgrade I lived on bare minimum of GNOME DE and its apps. basically all I had working right was Chromium and Terminal, instead of Rhythmbox I used mpg321, instead of Gedit it was Vim and so on, which is all fine except the fact it had me living in 2000 again. It was all due to python-gtk2 version that was missing in Sid repositories. Furthermore, as I was unable to restart X and had my notebook on suspend after every login I had to retype my wifi passphrase due to a bug in gnome-keyring. I believe I did my part, reported the bugs and waited maintainers responsible for those packages to do something. But this situation went on for 8 days. I remember the times when you couldn t fire up X for weeks, but after those days Unstable has gained reputation that it s not like that anymore, but after having a situation like this one, it makes me wonder. Please, don t take this the wrong way, I mean no harm but the ultimate question that is brought up here is is this the price of bleeding edge? *Update As many of you came down on me with anger, let me say couple of things. First of all, when I first wrote this post I was kind of using it for venting. Second of all original title was Price of freedom as it sounds too confrontational and for some misleading I had it changed to Price of bleeding edge . What happened above could ve been avoided if I used safe-upgrade instead of dist-upgrade, as at the time I was just too tired and wasn t paying enough attention to the list of all the packages that are going to be removed. I use Sid for few years now, and am of a opinion if used with attention it is the the best bleeding edge/devel distro out there. I wasn t ranting and am still of opinion that things like this need to be discussed among us, of course we can just stick to the line debian is the best and we re not going anywhere. Maybe I did go over the line with this attempt of positive criticism, but I really don t see nothing wrong with what I did here, as one of items from Debian Social Contract is We Won t Hide Problems thus let s talk about it. Again, I apologize if I offended anyone, as point of this whole post wasn t of such nature.

Joey Hess: abc

Alphabetical order's not nice
But use it if no others suffice.
Can you think of a way to
Do better?
Each manual page option sorted, not by its
First letter, but
Grouped in a sequence, by sense.
Highly structured, to be scanned at a glance!
I think that is better, and "So Say We All".
Just think of the savings, in time for us all.
Kaleidoscopic knowledge, swirled around, then
Left to sit, on the page alone,
Makes me wish that in kindergarten,
No ABCs graced the top of the classroom.
Only... it's true, in printed
Pages of text,
Queries are satisfied best by
Running ones finger along, in order,
Stopping at the word one desires.
Truth. But...
Until these days of glittering screens and even e-ink pass,
Vacently staring at text all in order, or smudging the screen, is not best.
Wikipedia alphabetical? Surely you jest!
Xenophobia is best hyperlinked; not followed by xylophonists.
Years from now, will we care about
Zany alphabets? (Unicode could take this to a higher plane, but I'll stop here.)
Inspired by: Debian bug #499487 Debian bug #551741 Debian bug #561017 Debian bug #623890 and many more.

Dirk Eddelbuettel: RcppArmadillo 0.2.19

Last Monday, Conrad Sanderson released version 1.2.10 of his most excellent Armadillo templated C++ library for linear algebra; I followed up the same day with version 0.2.19 of our RcppArmadillo wrapper for R based on our Rcpp library. However, the chief gatekeeper at CRAN took a well-deserved vacation last week, and with that it arrived only today on CRAN. The short NEWS file extract follows below containing just Conrad's entry for 1.2.0. No further changes from our side (and the benchmark comparison between R, compiled R and Rcpp for computing a VAR(1) dataset which I blogged about yesterday is only in SVN and will be in the next release.)
0.2.19	2011-04-18
    o	Upgraded to Armadillo version 1.2.0 "Unscrupulous Carbon Emitter"
	  * Added ability to use Blas & Lapack libraries with capitalised
	    function names 
	  * Reduction of pedantic compiler warnings
And courtesy of CRANberries, here are the diffs to the previous release.
 RcppArmadillo-0.2.18/RcppArmadillo/inst/doc/RcppArmadillo-unitTests.tex                     only
 RcppArmadillo-0.2.19/RcppArmadillo/ChangeLog                                                   10 
 RcppArmadillo-0.2.19/RcppArmadillo/DESCRIPTION                                                 10 
 RcppArmadillo-0.2.19/RcppArmadillo/R/fastLm.R                                                   2 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/NEWS                                                   22 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/doc/Makefile                                            5 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/doc/RcppArmadillo-unitTests.pdf                     binary
 RcppArmadillo-0.2.19/RcppArmadillo/inst/doc/unitTests-results/RcppArmadillo-unitTests.html     16 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/doc/unitTests-results/RcppArmadillo-unitTests.txt      40 -
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_meat.hpp           14 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/arma_ostream_proto.hpp           4 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp                 6 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/auxlib_meat.hpp                128 +--
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/blas_proto.hpp                  92 +-
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/compiler_setup.hpp              12 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/config.hpp                       3 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/constants.hpp                   20 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/diskio_meat.hpp                  2 
 RcppArmadillo-0.2.19/RcppArmadillo/inst/include/armadillo_bits/lapack_proto.hpp               344 ++++++----
 19 files changed, 460 insertions(+), 270 deletions(-)
More information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

Kai Wasserb ch: S3TC-compressed textures with Wine

Yesterday I received another report for a game, which wasn't working with the wine-unstable packages built by me. The reason why the reporter wrote to me and suspected a bug in my builds was, that the same game worked on the system of a friend (using a different distribution). After some exchanged e-mails it became apparent that this was yet another installment of S3TC-compressed textures. And as this wasn't the first time I got such reports, I thought I blog about the solution today. As S3TC is one of those patent-encumbered texture compression formats (don't ask me why one can get a patent for such things, it's, IMHO, a very bad thing and we'd be better off, with a lot less patents), Mesa doesn't support it out of the box. You need to install an additional library or the proprietary driver for your graphics card. Before installing the library, make sure, that it is legal in your jurisdiction (i.e. check whether the patent is valid in your jurisdiction). If that is the case, you can install libtxc-dxtn0 from the Debian Multimedia repository or compile it yourself from source. If the patent is valid in your jurisdiction, you're most likely required to get a license from the rights holder for using the library, but I'm no lawyer so you might want to consult one prior to making your decision. For amd64 users, there is an additional caveat: Wine needs the 32 bit variant installed. At the moment, this means downloading the i386 package from debian-multimedia.org and extracting the library to /usr/lib32. For users with the r600c/g driver it gets (currently) really tricky, as there is no fully working support for loading libtxc_dxtn.so (current status is WIP). Here the only solution I know, would be to use the proprietary driver or writing patches for r600g (last option preferred *g*).

Craig Small: Flash sometimes doesn t like SSL

I found a strange problem recently. Using Gallery I could always upload new pictures but someone else using Vista could not upload any pictures. It didn t matter if she used IE or Firefox, every single upload made Gallery come up with error #2038 (IO). I could say that anyone that uses Vista deserves everything they get, but that would be a little churlish (if true). A few searches showed that this basically gallery saying something bad happened with your upload . No, really? You mean it s not supposed to be a big red box and no uploaded file? It s not the world s most useful error message. What got me onto the right path was a message on the gallery forums though it was the other way around. Gallery uses a flash uploader which and this is the same flash if you use Firefox or IE. It seems it doesn t like strange SSL certificates, such as chained certificates like that site uses (and my site too). No doubt there is probably some work-around or setting to fix it, but being Vista its probably buried in 20 menu items under some obscure reference. Setting up the gallery under a non-ssl site fixed it. Perhaps more correctly it was a work-around.

Jonathan McDowell: onak 0.4.0 released

I don't normally mention the PGP keyserver I've been working on for the past 9 years, but there are a few keyserver related comments I've been meaning to make that prompt me to do so this time. onak is the keyserver powering the.earth.li (AKA wwwkeys.uk.pgp.net). Back in February I finally enabled hkps (HKP over SSL) access to it as I promised dkg I would do back at DebConf10. I also turned on IPv6. Most of the active keyservers out there are running SKS. I think there might be a few OpenPKSD instances as well. If you're running SKS please ensure that you have at least one address in your mailsync file, so that you send key updates to the non SKS keyservers out there - it seems that SKS requires the receiving keyserver to send out updates via email, rather than each server sending out any updates it processes to its mailsync peers. Feel free to add pgp-public-keys at earth.li - no need to contact me to do so (but you can drop me a line if you want me to send you mail updates back). Also in the past there was a pgp-keyserver-folk mailing list, originally on flame.org, then on alt.org. Both of these have been dead for a while. I created a local pgp-keyserver-folk some time ago, but never publicised it. I believe the SKS lists are fairly active, but limited to that community, so it would be nice to have somewhere that was keyserver agnostic that admins could talk to each other. Anyway. onak 0.4.0. Largely fixes to keyd, which is a backend daemon that handles talking to the key database. This is particularly useful for large/busy keyservers. Also a couple of fixes that make the db4 backend a lot more reliable (especially with queries that return lots of results). And various other minor cleanups. If you're one of the 3 people running it you probably want to upgrade; updated packages have already been uploaded to Debian unstable.

John Goerzen: Adventure: 1 dad, 2 boys, and lots of trains

Terah and I recently decided that each of us could use a day off of not having to do work or supervise boys. Yesterday I had the day off work so that was mine. I took my Kindle, along with its Gutenberg copy of War and Peace, which yes, I m reading for fun. I slept in a bit, then got breakfast and sat down at Botanica, the Wichita Gardens with the Kindle for awhile. That was a nice way to spend the morning. Today was Terah s day off. Initially I thought of taking the boys to The Cosmosphere, one of the world s premier space museums, or to the Kansas Aviation Museum. But then I realized that the Midland Railway, a historic excursion line in Baldwin City, KS, was having their first train trip of the year. And it s the Easter special: you take the train a few miles out of town, get off, the kids do an Easter egg hunt, then also get to get their picture taken with the Easter bunny. Kid paradise, right? What could be better? So this is how my alarm came to be set for 5:15 on a Saturday morning. Oliver woke up early, but I had to get Jacob up. He was groggy, trying to cover his face and ears, and annoyed at me for trying to wake him up. Until I said, Jacob, it s time to get ready for the car trip to the train ride. Can you go get dressed for the day? Silence. Then about 5 seconds later, he jumped up, said, OK dad, I will do it, and he did. We drove our 2.5 hours. I had set out a non-dirty breakfast in the car for them the night before, so they munched while we drove. Then had to wait in a huge line for our tickets. An hour later we had them got the last 3 tickets for the first departure of the day, 10AM and ran to get on the train before it left. Jacob and Oliver both got very quiet. Sometimes Jacob especially does that when he s very excited about things. He doesn t always look it right then, but I knew I d be hearing about it later. He had his face almost pressed to the window the whole way. IMG_5685.JPG Oh, and yes, he dressed himself and I didn t check to make sure he had the correct shirt, or that it wasn t on inside-out, until it was too late. Oops. We rode in an ex-CP car built in 1936. One of the cars on the train was built in the 1890s quite some neat equipment. Anyhow, next came the hunt. There were two large lawns covered in eggs, separated by age group. Jacob and Oliver were in the younger group, but still only got a few eggs (there were lots of other parents, uhm, helping their kids by picking up eggs the kids were too slow to get and putting them in baskets ) But they were thrilled with the experience so that s what counts. They moved the locomotive to the other end of the train for the trip back using an adjacent track. Lots of the kids watched them couple it back on. Jacob and Oliver were particularly interested nothing could have distracted them from watching that train though they didn t particularly like the noise of the horn. IMG_5655.JPG On the way back, someone in an Easter bunny suit was on the train for pictures. I took the boys there. They usually refuse to sit on laps of Santa and such, so I didn t figure much success. They actually agreed to do it. And despite their expressions in this photo, Jacob later told me over and over how much fun it was to be with the Easter bunny. IMG_5671.JPG After we got back, we headed for the car. Jacob insisted on carrying his own Easter bag, and predictably wound up carrying it upside down for awhile. So his bag had some grass in it from picking the candy back up. Oliver discovered some rocks by a ditch and had fun throwing them in to make a splash, so we paused for that for awhile. By this point it was about noon. So at this point, what does a dad who has managed to keep two active boys in line for an hour, help them with an egg hunt and giant rabbit, and keep them from falling into the ditch they re throwing rocks into, do? Say that it s time to eat lunch and then head for home so we can be there in time for supper? Or go for MORE ADVENTURE? I said, Jacob, how would you like to eat lunch inside a big train station in Kansas City? Pause for a couple of seconds to think. YEAH! I have never had lunch in a train station before! Let s go! Shall we go NOW? So I gave them the leftover breakfast to eat during the hour drive on towards the beautiful Kansas City Union Station. It s one of the few grand American train stations that survives intact, and is just stunning. Jacob and Oliver both fell asleep on the way there. We parked, walked inside, and Jacob just froze. Dad WOW! That ceiling is SO HIGH! I can t even reach it! He then raised his hand as high as it would go and said, See dad, it is so high I can t touch it! (Most ceilings are, but this one is indeed much, much taller than most.) We ate lunch in the second level of a restaurant right in the Grand Hall, which Jacob really enjoyed. Here s Jacob, annoyed that I pulled out the camera again: IMG_5693.JPG Then we went exploring for an hour. Jacob talked about his adventure . We went up the elevators and checked out the balconies. Then we found the Model Railroad Experience. And oh my. The boys were visibly the most excited they had been all day. Oliver just froze at the spot he walked through the door, not caring to move and see the rest of the exhibit because he was so fascinated by what he already saw. There was a huge layout in the middle of the room, and smaller ones in adjacent rooms. We finally made our way there, and Oliver just ran round and round one of them, following a train, excitedly yelling There it is! There it is! There it is! Here s a photo from the big layout: IMG_5706.JPG Jacob cried when it was time to go, but I had promised them some dessert before we left, so after a bite of ice cream we were on our way. On the way home, every 15 minutes or so, Jacob would make a remark like this: Dad, the train ride was SO fun! or Dad, I really liked Kansas City Union Station! and so forth, naming every highlight of the day for him several times over: the Easter bunny, the egg hunt, train ride, and everything about Union Station. On the way home, we stopped at our favorite restaurant in Emporia: BobbyD s Merchant St. BBQ. This is always a hit for everyone in the family. A down-home place that has excellent food, is not far off our path, and never seems to have a wait. Yum.

Ben Hutchings: Upcoming changes in Debian Linux packages for i386

The major upcoming configuration change in Linux 2.6.39 is to get rid of the '686' flavour. This may be surprising, because it's the most widely used flavour of the 4 we have a present:
Name Minimum CPU features Maximum total CPU threads Physical address space
486 486-class 1 4 GiB
686 686-class; CMOV instruction 32 4 GiB
686-bigmem 686-class; PAE 32 64 GiB
amd64 x86-64 512 64 TiB
However, the physical address limitation means that an increasing proportion of new PCs and the majority of PC servers need the '686-bigmem' flavour. Even those that have less than 4 GiB RAM do support PAE and can run the '686-bigmem' flavour. There is a small cost (up to about 0.1% of RAM) in the use of larger hardware page tables. There is also an important benefit on recent processors: the larger page table entries include an NX bit (also known as XD) which provides protection against some buffer overflow attacks, both in the kernel and in user-space.. Q: What about 686 processors without PAE? There are only a few 686-class processors that support CMOV but not PAE: most Intel Pentium M models, the VIA C3 'Nehemiah' and the AMD Geode LX. These also all lack SMP support, which means the '486' flavour is suitable for them. Some benchmarking on two of those - a Pentium M model 745 and a C3 'Nehemiah' - indicated that they run the '486' flavour slightly faster than the '686' flavour. It appears that the performance gain from using plain uniprocessor code (rather than SMP-alternatives, which are patched with NOPs on uniprocessor systems) outweighs the performance loss from avoiding use of some newer instructions. Q: Why get rid of '686' but keep the 'amd64' flavour? We intend to get rid of 'amd64' too, but we need to ensure that upgrades from linux-image-2.6-amd64:i386 to linux-image-2.6-amd64:amd64 work properly. Q: If '686-bigmem' will be the default, isn't 'bigmem' redundant? Yes, it is. Therefore '686-bigmem' will be renamed to '686-pae'.

23 April 2011

Iustin Pop: Second system effect

A recent email from a user of one of my small software tools prompted me to write this entry If you read Wikipedia's page on Second system effect, it doesn't say much and it's hard to internalise what it means. Some other resources describe it better, but actually learning it first-hand is, shall we say, enlightening. Fortunately, I learned this in my spare time, and not at work. Back in 2002, I started working on a small tool (bakonf) to basically backup /etc and generate a tar archive out of it. It had some other features of course that made it a bit more useful than tar c /etc, but not many. It worked well and I was using it to make incremental dumps of server configuration ready to write to a CD on a few servers. A while later (around a year or so), I came to the conclusion that just having a tar archive is not enough, and rather one would want to be able to check differences between the filesystem and the archive, and ideally between multiple servers configurations (note, this was before DVCSs) online. I started working on cfvers in my free time and initially made reasonable progress. However, I didn't know to hold back from changing the scope and features, so actual progress in the form of a beta release was always postponed. Then came changes to the transport protocol, to the structure of the app, etc., all the fun. Note that this was in my free time, done in bursts of work in a month, then a few months with no work at all, so not too much work overall. Still, I slowly realised that this will go nowhere, so at the end of 2006 I finally gave up on developing it and marked the project as obsolete. However, bakonf is still doing its job, and I've done a few small commits to it in order to add compatibility with Python 3.x as recent as last year. I got an email about it from a user at the start of this year, so it definitely outlived its supposed replacement. Hah! Overall, it was a great lesson. Maybe it wasn't just second system effect, but also not enough effort invested by me, or bad planning, so on. But for me it drove the point home that writing the second version of something is filled with dangerous decisions

Lars Wirzenius: python-tracing 0.3

I've just made my first upload to PyPI, the Python Package Index, which is the closest thing to CPAN that Python has. I chose tracing as my first package, since it is small and simple and has no dependencies outside the standard library. tracing provides a couple of functions for logging debug messages, and allows the user to enable or disable logging for particular code modules. It is sometimes practical to add a lot of debugging log messages to a program, but having them enabled all the time results in very large log files. Also, logging that much takes quite a bit of time. This module provides a way to turn such debugging or tracing messages on and off, based on the filename they occur in. The logging can that be left in the code, and only enabled when it is needed, for example with a command line option. The actual logging happens via logging.debug.

Ben Hutchings: Recent changes in Debian Linux packages

Linux 2.6.38 and 2.6.39 As you've probably seen, the testing suite finally got a new upstream kernel version (Linux 2.6.38) and is currently synchronised with unstable. I'm just about to upload a new version of linux-2.6 based on upstream stable update 2.6.38.4. Linux 2.6.39 is well on its way to release, so 2.6.39-rc4 should soon be in experimental. The Debian source package will add support for the new armhf (ARM with hardware floating-point) architecture. Splitting linux-2.6 The linux-base package, introduced to handle transitions and other support functions for 'image' packages, is now built from a separate source package. It won't be changed very often, so you will no longer need to upgrade linux-base every time you upgrade an 'image' package. (This doesn't apply within 'squeeze', but I may have a way to work around that.) The firmware-linux-free package, containing a few firmware and configuration blobs from Linux that are DFSG-compliant, is also now built from a separate source package. These blobs have not changed for a very long time, so again you will no longer be recommended to upgrade this package every time you upgrade an 'image' package. Secondly, this allows us to remove the entire 'firmware' directory from the upstream source rather than carefully removing and patching to leave just the DFSG-compliant bits. Wireless regulations The '2.4 GHz' and '5 GHz' ISM bands used for wifi are not defined identically around the world. The exact frequency ranges and maximum permitted power levels vary between countries. Radio equipment manufacturers have a legal responsibility to ensure their equipment operates within these regulations. Since it is expensive to implement such regulations in hardware (including many different variants for different regions), these restrictions are usually implemented in the driver using a country code retrieved from the hardware's EEPROM or flash. So this is now our responsibility. We need to be able to look up regulations by country codes, and we also need to support the case where a device sold in one country is used in another country with tighter regulations. For some time, the wifi configuration library (cfg80211) included regulatory information for a small number of countries and regions. However, the default since Linux 2.6.34 has been to build-in only the 'world' domain (intersection of all the restrictions) and to request information from user-space. In Debian, we didn't have anything to provide this information, so for example channels 12-13 became unavailable for users in Europe. The regulatory information should be provided by the Central Regulatory Domain Agent (CRDA) from a current database. These are now packaged as crda and wireless-regdb respectively. Drivers that do not use cfg80211 (mostly those from the 'staging' area) will not be affected, and may or may not implement correct regulations. When you travel to another country or use an imported wifi device with an incorrect country code (I hear 'CN' is common), you can use iw reg set to ensure that your wifi devices operate within the regulations of the country you are in. Set the REGDOMAIN variable in /etc/default/crda to make this persistent. These will be intersected with the regulations specified by the hardware.

Dirk Eddelbuettel: Another nice Rcpp example

While preparing my slides for the Rcpp workshop this Thursday, I had wondered about more nice examples motivating Rcpp. So I posed a quick question on the rcpp-devel list. And I received a few friendly answers. My favourite, so far, was a suggestion by Lance Bachmeier who sent me a short script which used both R and C++ (via Rcpp) to simulate a first-order vector autoregressive process (and he ensured me that it worked well enough on his graduate students). It is indeed a great example as it involves (simple) matrix multiplication in an iterative fashion. Which makes it a great example not only for Rcpp but also for our RcppArmadillo package (which wraps Conrad Sanderson's wonderful Armadillo C++ templated library for linear algebra and more). And at the same time, we can also add another look at the new and shiny R compiler I also blogged about recently. So Lance and I iterated over this a little more over email, and I now added this as a new (and initial) example file in the RcppArmadillo SVN repo. (As an aside: The newest version 0.2.19 of RcppArmadillo has been sitting in incoming at CRAN since earlier in the week while the archive maintainer takes a well-deserved vacation. It should hit the public archive within a few days, and is otherwise available too from my site.) So let's walk through the example:
R> ## parameter and error terms used throughout
R> a <- matrix(c(0.5,0.1,0.1,0.5),nrow=2)
R> e <- matrix(rnorm(10000),ncol=2)
R> ## Let's start with the R version
R> rSim <- function(coeff, errors)  
+   simdata <- matrix(0, nrow(errors), ncol(errors))
+   for (row in 2:nrow(errors))  
+     simdata[row,] = coeff %*% simdata[(row-1),] + errors[row,]
+    
+   return(simdata)
+  
R> rData <- rSim(a, e)                     # generated by R
This starts with a simple enough loop. After skipping the first row, each iteration multiplies the previous row with the parameters and adds error terms. We can then turn to the R compiler:
R> ## Now let's load the R compiler (requires R 2.13 or later)
R> suppressMessages(require(compiler))
R> compRsim <- cmpfun(rSim)
R> compRData <- compRsim(a,e)              # generated by R 'compiled'
R> stopifnot(all.equal(rData, compRData))  # checking results
Nice and easy: We load the compiler package, create a compiled function and use it. We check the results and surely enough find them to be identical. With that, time to turn to C++ using Armadillo via RcppArmadillo:
R> ## Now load 'inline' to compile C++ code on the fly
R> suppressMessages(require(inline))
R> code <- '
+   arma::mat coeff = Rcpp::as<arma::mat>(a);
+   arma::mat errors = Rcpp::as<arma::mat>(e);
+   int m = errors.n_rows; int n = errors.n_cols;
+   arma::mat simdata(m,n);
+   simdata.row(0) = arma::zeros<arma::mat>(1,n);
+   for (int row=1; row<m; row++)  
+     simdata.row(row) = simdata.row(row-1)*trans(coeff)+errors.row(row);
+    
+   return Rcpp::wrap(simdata);
+ '
R> ## create the compiled function
R> rcppSim <- cxxfunction(signature(a="numeric",e="numeric"),
+                        code,plugin="RcppArmadillo")
R> rcppData <- rcppSim(a,e)                # generated by C++ code
R> stopifnot(all.equal(rData, rcppData))   # checking results
Here we load the inline package to compile, link and load C++ snippets. We define a short C++ function in the code variable, declare a signature taking a and e as before and ask cxxfunction() to deploy the plugin for RcppArmadillo so that it and Rcpp are found during build. With that, we have a compiled function to generate data, and we once again check the result. The C++ code is pretty straightforward as well. We can instatiate Armadillo matrices directly from the R objects we pass down; we then run a similar loop building the result row by row. Now, with all the build-up, here is the final timing comparison, using the rbenchmark package:
R> ## now load the rbenchmark package and compare all three
R> suppressMessages(library(rbenchmark))
R> res <- benchmark(rcppSim(a,e),
+                  rSim(a,e),
+                  compRsim(a,e),
+                  columns=c("test", "replications", "elapsed",
+                            "relative", "user.self", "sys.self"),
+                  order="relative")
R> print(res)
            test replications elapsed relative user.self sys.self
1  rcppSim(a, e)          100   0.038   1.0000      0.04        0
3 compRsim(a, e)          100   2.011  52.9211      2.01        0
2     rSim(a, e)          100   4.148 109.1579      4.14        0
So in a real-world example involving looping and some algebra (which is of course already done by BLAS and LAPACK libraries), the new R compiler improves by more than a factor of two, cutting time from 4.14 seconds down to about 2 seconds. Yet, this still leaves the C++ solution, clocking in at a mere 38 milliseconds, ahead by a factor of over fifty relative to the new R compiler And compared to just R itself, the simple solution involving Rcpp and RcppArmadillo is almost 110 times faster. As I mentioned, I quite like this example ;-).

Russell Coker: Links April 2011

Sebastian Thrun gave an interesting TED talk about the Google driverless car project and explains how his main aim is to avoid all the needless road deaths that are due to human error [1]. Finally a good use for the Google street-view type data! AnnMarie Thomas gave an interesting short TED talk about using play-dough to make circuits [2]. There are two recipies for play-dough, the one made with salt conducts well and the one made with sugar conducts poorly. That allows making wires with salty dough and insulators with the sugar dough. John Robb has published an interesting article about a Chinese fake revolutionary group that is triggering a backlash from Chinese security forces [3]. Even if this isn t accurate it seems like a good way to make people hate their local security forces and thus demand political change. Chris Rock made an interesting observation, we aren t making progress on racial issues, white people are getting less crazy [4]. Red Hill has an interesting article about 486 motherboards with fake cache chips that were sold in the 90 s [5]. One thing I disagree with is that they blame the customers for seeking low prices. When a white-box PC cost $2000 (which is $3000 in today s money) it made sense to try and get the cheapest option possible. Now that major department stores sell name-brand laptops for $400 it really makes sense to buy name-brand quality rather than white-box rubbish. IHollaBack.org is an interesting project to combat street harassment of women [6]. Psychology Today has an interesting article by Joe Navarro (former FBI counter-intelligence agent and author) about the serious implications of attempting to detect lies [7]. His main point is that most people over-estimate their ability to detect lies and because the legal system believes such claims from law enforcement officers many innocent people get found guilty and criminals get away free! Cory Doctorow wrote an informative article about the ways of persuading people to pay for content that can be obtained for free [8]. The main message seems to be that the big media companies are doing things the wrong way in everything that they do. The news satire site CBS Breaking News has an interesting about page explaining their mission [9]. They stopped their automated disaster generator after the Japanese Tsunami, while I can understand them wanting to keep some good taste and be sympathetic to the plight of the Japanese people it seems that they have forgotten that there is always a disaster somewhere. The typical bus plunge is just as bad as the Tsunami to the people on the bus and their relatives! Psychology Today has an interesting blog post by Satoshi Kanazawa explaining how criminals don t specialise, the psychological factors that make someone likely to commit one crime will make them likely to commit others, this makes it logical to collect DNA samples from all criminals [10]. Psychology Today has an interesting blog post by Dave Niose about a landmark US legal case in 1948 where Vashti McCollum had to escalate to the Supreme Court to allow her children to receive secular education [11]. We need something like this in Australia now as the religious extremists are going too far in indoctrinating children. Sam Richards gave a TED talk titled A Radical Experiment in Empathy which aims to teach Americans how to understand the way that people in the middle-east feel [12]. The comments suggest that his talk wasn t successful. Of course the fact that empathy doesn t have a clear definition in the English language doesn t help, and the fact that most people don t seem to interpret it in any way that corresponds to any dictionary and that most people seem unable to define what they mean by it makes things worse. At the moment I can t think of any examples of successfully teaching empathy to unwilling people. The people who want to learn will do so eventually, you can have some good success in helping them to learn faster. Kathryn Schulz gave an interesting TED talk about Being Wrong [13]. One interesting point that she makes concerns the way that people assume that people who disagree are ignorant, stupid, or evil instead of just having a different set of data or a different understanding of the same data. Of course it is possible for someone to be ignorant/stupid/evil AND have a different understanding. Marcin Jakubowski gave an inspiring TED talk about his project to develop free blueprints that allow anyone to create all machines needed to sustain civilisation with minimal cost [14]. His Open Source Ecology project has a blog and a wiki with blueprints and files for CAD/CAM [15]. Dave Meslin gave an insightful TED talk about apathy in the political process [16]. Among other things he compares council notices that supposedly request citizen input with adverts for running shoes which encourage people to buy them. One thing he didn t mention is the difference that technology can make, a short council advert with a QR code is probably a lot more useful than the current dense text-based adverts for today s audience.

22 April 2011

Steve McIntyre: Bias in the news

Apologies for yet more politics; normal-ish service will be resumed shortly, I hope. I've just put the following into the "BBC News website feedback" form, but I doubt it will have any impact. Quoting it here for the record... The BBC news website appears to be showing a systemic bias over the AV referendum. For the last few weeks, there has been regular coverage of the referendum and it seems that there has been the usual blind adherence to "balance" - every story about AV has included some of the (incorrect, unscientific, even hate-filled) propaganda from the "no to AV" campaign without critique or analysis. It's difficult to see any justification for this except deliberate editorial bias, but I don't imagine that there's much that can be done about that. However, right now on the BBC News front page at http://www.bbc.co.uk/news/ I can see that there is a link "Referendum views" that points to yet another opinion piece from a "No" campaigner (Frederick Forsyth). I only see a single view here, not the plural "views" suggested. I don't see any positive view for AV promoted from the front page at all, nor any link from this puff piece to the other articles that have been written in the recent past. Looking further, I can see that there *has*, in fact, been a positive piece on the News Front Page today (from Billy Bragg) but there are no visible links to it any more. Both articles were posted/updated at the same time this morning (22nd April, 08:34 BST) yet now only the negative one remains. Very shoddy, and not at all what I would expect from the BBC.

Michal &#268;iha&#345;: Photo of a week 15

As you can see in week number, I failed to take photo every week. Nevertheless I will try to continue, maybe I won't skip that much. To compensate it a little, I've decided to publish two photos taken in Prague Botanical Garden on annual butterfly event. Butterfly Butterfly

Filed under: English Photography 3 comments Flattr this!

21 April 2011

Joey Hess: USB powered Sheevaplug

I was given this Sheevaplug. The idea with plug computers is they look like just a wall wart, but are a whole computer. Ideally, a FreedomBox. The wall wart computer concept doesn't entirely work for me because first, I don't like socket blocking wall warts, and secondly, I'm living in the island of Offgridistan with its weird 12 volt wall sockets. Solution was to convert it to be USB powered. This is easy because the Sheevaplug's built-in power supply runs it at 5 volts.
my Sheevaplug, powered by my laptop, with serial console also hooked up to show boot.
The USB power cable was conveniently routed in through a clip that holds the power socket in place. Bonus: The clip lets the cable be pushed in, but not pulled out, which avoids strain on the connection.
Then it's just a matter of connecting the obvious wires. (I couldn't find a 4 pin connector on short notice so I reluctantly cut the short cord from the AC power supply.) I'd probably not want to fly with the result (want to install a proper USB socket for power to avoid the dangling exposed wire effect), but it's otherwise pretty perfect. I've replaced my nslu2 wifi/dialup/cache/mpd box with the Sheevaplug, and the massively increased memory and speed, at nearly the same power, is a nice improvement.
I did run into two weird issues. I have to use a USB stick for storage, since both SDHC cards I tried, a 16 gb Transcend and a 1 gb no-name had lots of IO errors (error -110). I don't seem to be the first to encounter that, but there is not a sure workaround, although recompiling the kernel wirth high speed SD disabled might fix it. Also, u-boot refused to boot from my USB stick when I used one USB hub; with a different hub it worked ok.

Next.

Previous.