Niels Thykier: Numbers and lintian
Lintian uses some small scripts to collect data from packages. In daily talk, they are usually referred to as collection scripts. Lintian uses files to track the status of collection scripts between runs. Consider the following directory listing on lintian.d.o:
I hope we can get the branch merged into master within 2-3 weeks, though there are still a few issues that needs to be worked out before then. Footnotes: [1] Actually it had 18 collections, but one of them are "auto-removed" so it is better not to include it in this case. [2] Content alone - metadata like permissions and such is ignored. [3] I admit it was more luck than intention! [4] The limit comes from the "32 000 hardlink per inode" limitation.
$ ls -al laboratory/binary/eclipse/.*-*
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.ar-info-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.bin-pkg-control-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.changelog-file-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.copyright-file-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.debian-readme-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.doc-base-files-1
-rw-r--r-- 1 user group 45 Jul 18 01:21 laboratory/binary/eclipse/.fields-1
[...]
This example shows that a bunch of collections scripts have been run for the eclipse binary package. Each of these files contain the version of Lintian that created them (or last wrote them) and a timestamp.
Why the interest in these files? Let us go a bit back in time to the 15th of June 2011. That was the day where Lintian 2.5.1 was uploaded to unstable. That version of Lintian had 17 collection scripts[1] for binary packages. So every binary package would have 17 files and there are over 35 000 binary packages in the Debian archive.
Ouch, so that makes about 595 000 files if we use this on all binary packages on the archive. The size of each of those files are about 45 bytes, so that is a total of 25.5 MB for all of these files[2]. So other than the inode abuse , this is not too bad. A little du -h should confirm this
$ du -h laboratory/binary/eclipse/.*-*
4.0K laboratory/binary/eclipse/.ar-info-1
4.0K laboratory/binary/eclipse/.bin-pkg-control-1
4.0K laboratory/binary/eclipse/.changelog-file-1
4.0K laboratory/binary/eclipse/.copyright-file-1
4.0K laboratory/binary/eclipse/.debian-readme-1
4.0K laboratory/binary/eclipse/.doc-base-files-1
4.0K laboratory/binary/eclipse/.fields-1
[...]
Whaaa oh the file system uses a block-size of 4K bytes, so I guess we have to pay a full block for these files. Let s see what that gives, 595 000 times 4 kB is 2.27 GB
Oops!
That was in the (not too distant) past. About a month later (12th of July), the code creating these files are refactored into:
sub _mark_coll_finished
my ($self, $collname, $collver) = @_;
# In the "old days" we would also write the Lintian version and the time
# stamp in these files, but since we never read them it seems like overkill.
# - for the timestamp we could use the mtime of the file anyway
return touch_file "$self-> base_dir /.$collname-$collver";
This turns out to be a very space-saving change if we ask du -h:
$ du -h laboratory/binary/lintian/.*-*
0 laboratory/binary/lintian/.ar-info-1
0 laboratory/binary/lintian/.bin-pkg-control-1
0 laboratory/binary/lintian/.changelog-file-1
0 laboratory/binary/lintian/.copyright-file-1
0 laboratory/binary/lintian/.debian-readme-1
0 laboratory/binary/lintian/.doc-base-files-1
[...]
Existing files are not emptied, so we still have some old non-empty files left on lintian.d.o. Nevertheless that was the "nice story" about "the side effect of being lazy sometimes reduces space waste"[3].
But we have another "number" problem. If you grep for "Too many links" in the lintian.log from lintian.d.o you should see:
$ grep -i "too many links" logs/lintian.log
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/aces3': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/boinc-cgi-stripchart': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/libbrailleutils-java': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/libbrailleutils-java-doc': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/libclippoly0': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/libclippoly-dev': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/xul-ext-cookie-monster': Too many links
mkdir: cannot create directory /srv/lintian.debian.org/laboratory/binary/cucumber': Too many links
[...]
$ grep -i "too many links" logs/lintian.log wc -l
3274
In the Lintian Laboratory every package is unpacked in a directory based on its type and name (as hinted in the output above). The problem is that ext3 has a limit of the amount sub-directories a directory can have[4]. This limit is just shy of 32 000 and (as a reminder) Debian has over 35 000 binary packages. So a lot of packages are currently not checked on lintian.d.o (#641468).
The current feature branch for #641468 already solves the directory limit issue (by using a "mirror-like" pool layout). It also removes the need for "1 file per completed collection" by writing this information in the existing "per entry" status file.I hope we can get the branch merged into master within 2-3 weeks, though there are still a few issues that needs to be worked out before then. Footnotes: [1] Actually it had 18 collections, but one of them are "auto-removed" so it is better not to include it in this case. [2] Content alone - metadata like permissions and such is ignored. [3] I admit it was more luck than intention! [4] The limit comes from the "32 000 hardlink per inode" limitation.
We use SugarCRM at work and I've complained about its not-very-RESTy
REST interface. John Mertic a (the?) SugarCRM Community Manager asked
me about what problems I'd had (apart from its lack of RESTfulness)
and I said I'd write a blog post about it.
In our case, the REST interface is used to integrate Sugar and RT so
we get a link in both interfaces to jump from opportunities to the
corresponding RT ticket (and back again). This should be a fairly
trivial exercise or so you would think.
The problems, as I see it are:
I was due for another Google interview mail it seems. I have to say I wasn't expecting it, but this week I had a follow up to my polite mail from 6 months ago that said "No thanks, I'm not looking" asking if it was still the case.
Normally I welcome this little bit of ego stroking; it's always nice to be wanted. Except that's not really the case, is it? It's an invitation to interview for something, not any indication that you've done more than tick some initial boxes. Google mails inevitably ask me if I'd like to work in SRE. It's always SRE. No one ever emails and asks if I want to work on self-replicating nanobots that will roam Mars searching for the perfect spot to build a beach house.
And that's where things fall down. If someone currently has a job, then emailing them out of the blue to ask if they want to come and interview for something vague is hoping that they're either looking, and just haven't come to you yet, or not looking but unhappy enough with their current role that all they needed to start was an email asking them to submit a recent CV.
For the former, if you're Google, do you really think that person doesn't know where to find you? For the latter, you're being quite presumptuous, aren't you? The act of updating my CV my be some effort (actually it's usually not, because the stuff that's not on it is the stuff I can't talk about because it's not released yet, or stuff that's specific and thus wouldn't go on a CV for a vague job spec). Even if it's not the act of interviewing is potentially a waste of time for both of us, if the role isn't clear.
One argument used is that people will be placed according to the skills they show during the interview process. That's fine from the employers point of view, but if you're actively trying to get some interest from people who are gainfully employed you really need to grab their attention somehow. I can't remember the last time I had an unsolicited email interview offer that actually wowed me, or indeed even showed more than a passing sign of tailoring a spec to my profile.
When I was running Black Cat I made a point of always replying to unsolicited CVs. How polite I was depended on how the covering emails were worded (a Word document with nothing else was likely to get short shrift, something well targeted in a Linux friendly format would normally get some comment about how we weren't hiring and were unlikely to be, but if that changed it would be mentioned on the website), but I felt people deserved a reply - I have been disappointed by not receiving responses myself to what I considered well targeted job inquiries.
So far I've so far taken the same approach with mails from corporate recruiters (less so with recruiters that are associated with recruitment firms, rather than directly with the companies they are hiring for), but I'm starting to feel like changing that stance. Candidates are told to tailor CVs to the role being applied for, provide a decent cover letter, and in general make companies want to talk to them. Companies who are sending out recruitment emails should be held to the same standard. Even assuming you do a basic phone screen first, I can probably expect to need to take a day off work assuming that goes well. You need to convince me I can justify that before I'm going to feel like engaging at all.
(And if I'm honest, based on what I've seen so far, it's unlikely to happen. All of the things I've considered have come from conversations with people I know directly about companies they own or work for, never some random contact via email. I try hard not to think of recruitment mail as spam, but I can how that line of thought follows through.)
I should apologize to Google here. They got mentioned as an example, but I don't think they're particularly bad. I did interview with them at one point, and made the decision not to continue that process after deciding a different, more certain, path was better for me. So I've displayed interest. And in response to my reply today of "I know where to find you, so please assume I'll do so if I change my mind." they've said they'll make a note on their records.
Woodchuck and FrOSCon
eysler.debian.org is now DSAed, online and building packages (including
autosigning). I will shutdown monteverdi.ayous.org which is still at my
place in the next days, reinstall the system and send it to Darmstadt as
another buildd for data center hosting there. After that happens all mipsel
buildds are DSAed as it should be, and are running in a data center and not
via some DSL line.
(In case you're looking for hardware at your place, there are a couple of
loongson 2f-systems available to buy. 2f is the successor cpu of 2e. Some
2f systems get delivered with Debian installed on it, see e.g.
The MeeGo community is frustrated with the news of the MeeGo brand being abandoned. Some are understandably angry or otherwise not happy about how Linux Foundation, Intel handled the
I ve been a long-time user of GNU Screen, as almost every person I know that spend a lot of time in a terminal.
I must admit I was happy, I really was. I was used to my workflow with 4 terminals 8 25 and a bunch of screens, with several nested-screens. I used awesome-wm before, so definitely I felt I wasn t using all the space in my laptop screen (my laptop is a ThinkPad X61, so 1024 768 in a 12 inches-screen) but that was OK, after all my workflow was, well, good.
Until 2 days ago, I was told to try tmux, in fact, I was told and why are you using screen? use tmux . As a daily-user of Screen my first reaction was I m used to , I can use it as I want , and a lot of excuses for just not trying something new. But then I made a little research (on Google, of course). In about 30 minutes I ended up with a multiplexer working as I wanted and as I never got Screen to work. Finally I was using just a terminal and using all the space available in my tiny-laptop-screen and plus: saving a lot of bandwidth with my permanent SSH connection (a really big plus now that I m living with a capped link to the net with a GSM-modem).

A continuation of my
Yesterday, I uploaded NBD 2.9.24-1 to Debian. The big new feature in
that release is that it now has an 'includedir' global configuration
variable, with which it supports a conf.d-style directory. This feature
was implemented by request of Vagrant Cascadian, of LTSP fame.
Only it
The last month I was supposed to work on a
This weekend we'll be having the 4th version of the Colombian Mini-Debconf. It will be held in the
Session reuse is one of the most important mechanism to
To avoid a full
Two mechanisms can be used to accomplish an abbreviated handshake:
It is difficult to get extensive results this way since you need to
install a lot of browsers to get something valuable. Surprisingly,
Android 2.3.4 browser (as shipped by Cyanogen Mod) does not support
any session resume.
Another way to check if a browser supports session resume is to use a
sniffer and to spot Client Hello messages. If a client tries to
resume a session, it will use an appropriate session identifier or
send a ticket. A simple
The program will try to establish five consecutive
Hope a few of my readers got it from the title of this blog post.
And maybe many others didn't. So let's talk about "Stop Making Sense".
You're warned: nothing to do with free software...or running, this
time. This is all about music.
Music from the 80's.
"Stop Making Sense" is indeed, in my opinion, one of the best achieved
musical movie. It is simple: it features a gig by the Talking Heads,
back in 1983, when this band was among the most innovative ones that
ever appeared in the late 70's.
And I finally managed to take time to actually buy the DVD and see it
again as I didn't see it since 1985.
For many people, Talking Heads is the incredible person that's David
Byrne. That's certainly true for some parts (and this is what lead to
their split in 1991), but the movie really gives credit to all members
of the band, either the "regular" ones (Tina Weymouth, Chris Frantz,
Jerry Harrison) or the tour musicians (Bernie Worrell, Alex Weir,
Steven Scales, Lynn Mabry, Edna Holt).
The construction of the movie is simple: it just starts with Byrne
bringing a music box on an empty stage, with his acoustic guitar and
playing an incredible tense "Psycho Killer" (there are so many
different version of that mythical piece but this one is among the
best). Then Tina joins for a not-so-often played "Heaven" and brings
her so inimitable bass line (I count Tina among my very favourite bass
player, immediately after Tony Levin). At the end of the piece, the
crew quietly brings a full drum set, then Chris Frantz joins, smiling
as ever, and the rhythm increases with "Thank you for sending me an
angel".
Then Jerry Harrison joins, to make the original Heads line-up for a
really funky "Found a Job", where Jerry shows that he was THE Heads
lead guitar (and Tina is still keeping the foundations so strong).
Continuing the increasing tension, the rest of the musicians join for
Slippery People, then Burning Down the House ("Who's got a
match?"). All this culmminates in a crazy joggin on stage during "Life
During Wartime" and Byrne performing incredible and stellar movements
on stage. THis one surely makes the band entirely exhausted. How can
they survive this?
The few next songs are a little bit less stunning (oh, well, "Making
Flippy Floppy" still features a dream bass line)...until
a really special "Once in a Lifetime" that...has just to be seen (SAME
AS IT EVER WAS), then
a break
where....the Tom Tom Club (namely Chris, Tina and the rest of the
band) perform a giant "Genius of Love", so funky.
All this is indeed meant for Byrne to prepare for his top appearance,
in "Girlfriend is Better", in a giant suit, that makes his head over
his long neck yet more...strange. This leads to a crazy "Take me to
the River" which has always been the top of the Heads shows during the
80's and a tireless encore on "Crosseyed and Painless".
The movie ends up and you nearly never had a breath. So, yes, if you
think you enjoy the Heads music and have never seen that movie, just
try doing it once. That's how music was in the 80's..and, doh, these
folks were so good! By the way, all parts of the movie can be seen on
YouTube in case you just want to see what *I* enjoy.
Ah, and yes I share the love of the Heads with Danese "we never meet
often enough" Cooper, by the
way. We once made a promise ourselves to sing Psycho Killer in karaoke
if we're happy (and drunk) enough to meet again before we're too old for
this..:-).
There's something brewing, moving in Jalisco (a state in Mexico's West, where our second largest city, Guadalajara, is located). And it seems we have an opportunity to participate, hopefully to be taken into account for the future.
Ten days ago, I was contacted by phone by the staff of
The following selected bibliography showcases only a small portion of
the academics who have demonstrated that while it may take two to
tango, it only takes one to give a scholarly paper a silly cliche
title:
An obvious question is why Linux doesn't support UEFI secure booting. Let's ignore the issues of key distribution and the GPL and all of those things, and instead just focus on what would be required. There's two components - the signed binary and the authenticated variables.
Windows has a feature called Dynamic Disks, which makes it ignore the DOS partition table and manage partitions its own ways. gparted is supposed to detect that, and warn the user that it can t deal with that. The solution is to reboot in Windows, switch the partition back to Basic disks , and then proceed with installing Debian (or Ubuntu).
However, a student of mine had an interesting experience because gparted did not detect the dynamic disk stuff and did not warn about it, so the student went ahead with installing Debian squeeze. After reboot in Windows, Windows sees the partition as invalid . The same happens with Ubuntu 11.04 (not really surprising).
I m surprised I did not find much information about that issue. Does someone has more info ?
The student was using two disks in his laptop, and only the second one (not the one used to boot windows) was using dynamic disks .