Search Results: "tar"

10 September 2009

Carl Chenet: Python-keyring : accessing the system keyring service from Python


It s always painful to enter passwords in apps. Sometimes you just can t remember, especially if you don t use them on a regular basis. Keyrings fortunatly are really popular now (Gnome-keyring, KWallet) and provide a great way to manage your passwords, only requiring the unique keyring password. The Python keyring library offers a unique and simple library to access the active keyring on your system. Based on a idea by Tarez Ziad (official Python distutils module maintainer) and coded by Kang Zhang during the 2009 Google Summer of Code, this library aims to be merged when mature to the official Python getpass module. Python-keyring is looking for a sponsor. The Debian package for python-keyring has been uploaded on mentors.debian.net accessible at the following urls :

http://mentors.debian.net/debian/pool/main/p/python-keyring/
http://mentors.debian.net/debian/pool/main/p/python-keyring/python-keyring_0.1+hg66-1.dsc Please feel free to contact me if you re interested in sponsoring the Python keyring library.

Pablo Lorenzzoni: Code testing coverage

I like building tests for my code. That is not an old habit, it s just something I ve been developing in the recent months or some few years. No, I am not doing TDD (although that doesn t sound like a bad idea): I just build tests after I code as a safeguard to be sure I haven t broken anything. I suspect there are more programmers like myself than those using tests as part of a TDD (BDD, SDD, etc) approach, but that is just an opinion. Well I just recently became found of code coverage estimates and tools, and rcov is such a nice tool that sometimes I just find myself building tests just to please it. I also suspect there are at least a bunch of people that do the same. Here are the results of the test coverage of one of my projects:

spectra@rohan:~/work/xmpp4r-observable$ rake rcov
(in /home/spectra/work/xmpp4r-observable)
rm -r coverage
Loaded suite /usr/bin/rcov
Started
........................
Finished in 70.995814 seconds.
24 tests, 97 assertions, 0 failures, 0 errors
+----------------------------------------------------+-------+-------+--------+
                   File                                Lines    LOC     COV    
+----------------------------------------------------+-------+-------+--------+
 lib/xmpp4r-observable.rb                                648     414    61.4%  
 lib/thread_store.rb                                      58      39    87.2%  
 lib/observable_thing.rb                                 187     118    91.5%  
+----------------------------------------------------+-------+-------+--------+
 Total                                                   893     571    69.4%  
+----------------------------------------------------+-------+-------+--------+
69.4%   3 file(s)   893 Lines   571 LOC
spectra@rohan:~/work/xmpp4r-observable$
Sure it s tempting to get more of lib/xmpp4r-observable.rb covered, isn t it?

Ben Hutchings: DebConf 9 videos

Several people have been asking after the videos. My answer to them is "we release when it's ready". Seriously, though, I'm sorry about the delay in publishing videos. There was some miscommunication between me and the sysadmin team at DebConf which meant I couldn't take files away with me then. Peter Palfrader reassembled the video RAID later, copied the necessary files onto a single hard disk, and posted that to me. This disk apparently got lost on the way, but eventually arrived here last week after a 3-week journey. Over the weekend I dealt with most of the videos that required editing, and today I was able to resume the transcoding process. Tomorrow I intend to start uploading again.

9 September 2009

Isaac Jones: Proprietary Bits in Language

I've been on a Sci-Fi kick. I just finished reading The Dispossessed by Ursula K. Le Guin. I've read a few of her books before, but I really liked this one a lot. It reminded me a of some of Daniel Quinn's ideas. I picked it up sorta randomly because I'd read a couple of her books before. I had it sitting on my desk at work, and a few people said, "Oh, you're reading that? That's one of the best books I've ever read". Of course, I got it used for $3.50 at Powell's. I wonder how they get away with reprinting such books for $15. One interesting aspect of the book is that one of the languages used doesn't really express possessives. So instead of saying, "my book" it was always rendered as "the book". I didn't really notice this until near the end. When I did notice it, was when Le Guin wrote, "the mother" instead of "his mother". This didn't seem quite right to me, because it doesn't represent the relationship between "him" and "mother", but it's not really Le Guin's fault... there's no convenient way to represent this in English without using the possessive form. Perhaps "the mother of the man," but that still seems a bit possessive. I believe this is also true of Russian and Spanish at least. One way to look at it is that humans are so focused on possession that we don't have a convenient way to express relationships. But we are certainly not saying, "The mother that I own." Another way to look at it is that the so-called possessive case expresses more than just possession. In fact, it sometimes means possession and sometimes not. If my mother fell off her horse and I had to rush back to Ohio to visit her, and someone asked me why I was going, I might say, "Because she's my mother!" Not possessive. But clearly, it is sometimes possessive, particularly in romantic relationships. Jealousy is possible in all forms of relationships, but is probably most clear in romantic ones. "Why did you go to the prom with him when you're MY girlfriend?" This reminded me of the "object" formulation in object-oriented programming languages. (Didn't know that I was going to say THAT, did you? Ha!) In a language like Java, you say something like "the car's first wheel's last screw", "car.wheel[0].screw[3]". In Haskell, you also have aggregate types, where one type is composed of others but to access them, instead of saying, "the car's wheel" we say, "there's a relationship between cars and wheels. It doesn't matter what the relationship is, but the function from cars to wheels is called "wheels". So we have "last $ screws $ first $ wheels car". That is, "the last screw of the first wheel of the car"... actually that's clearer than "the car's first wheel's last screw" isn't it? There we go. I've once again proven that Haskell is morally and technically superior to C++. Randomness Here is an article linked from Slashdot about how people are giving up on the internet because of spam and spyware. The article doesn't mention GNU/Linux or Firefox. I just took one of those quizes that you've all been doing, and I was pretty disappointed.

Dann Frazier: Demuxing Personality Disorder (DPD)

I suffer from an in ability to successfully monitor multiple sources of information. For example, I rarely check on lists that I have procmailed out to their own folder. If its a list I need to stay on top of, I have to dump it to my primary inbox. For one list, I even dump messages to my inbox *and* keep a copy in a subfolder. That way I can keep on top of what's going on, but also keep a low-barrier-to-delete since I know I have an archival copy. I do think its important for me to check e-mail regularly, but there is some part of my brain that considers e-mail to be a time sink, and prevents me from going beyond what it considers the bare-minimum: Inbox messages. Another instance of this disorder struck me with RSS. There are web pages that I check every day, and not all of them have RSS feeds. I played with a few different RSS readers a while back, and decided that straw was my favorite. But I could not get myself in the habit of bringing up a second application. Later I started using Firefox, and I thought I'd have better luck with something like Sage. But even that was easy to avoid because it requires actually opening up the sage panel. I would either never check it or, in times of boredom, check it too often. Since then I've given up on RSS readers. These days I've stolen an idea from Alex Chiang and just keep a bookmark folder called "daily" and one called "monthly". Every morning I hit the "Open All in Tabs" item in the daily folder, and quickly ctrl-w through pages w/ no new content. My daily folder includes things like bug reports I'm monitoring for activity, gitweb views of files where I'm waiting for a fix, blogs, parcel tracking, comics, wiki watch lists, etc. Since a few of these pages are rather important, I always remember to do it and therefore force myself to browse the others as well. Most days I spend less than 10 minutes "wasting time" going through them. Its strange to both be aware of poor working habits, yet know from years of experience that I'll be more successful if I work around them rather than trying to retrain myself.

Matthew Palmer: Water Tanks, Reliability, and Redundancy

Water supply, in the developed world, is one of those things you just pretty much take for granted. You turn on the tap, and clean, cool, refreshing water comes out. Similarly, when I go to a fire in my shiny fire truck, no matter what time of the day or night, I expect to able to hook up to a hydrant and have a strong, steady supply of water available. This level of reliability is something that we in the IT industry can typically only dream of. Practically 100% reliability over a period of decades, without constant maintenance and tweaking? Not a hope. To even get close to that, we need clusters of fully-redundant servers, fancy database replication techniques, and probably something totally out of left-field like Erlang's ability to reload code on the fly. But how do the water utilities do it? Clusters of fully-redundant high-capacity pumps, fancy pipe re-routing techniques? Or something totally out of left-field like a big water tank and gravity? Where I live, we've got the latter. Thinking about how it probably operates and is managed, I'm blown away by the sheer simplicity and robustness of the whole design, and how it can handle all manner of failures. First off, consider how few components have to be working in order for the water supply to continue for a while after some sort of catastrophic failure. We need: Note that this list of elements doesn't include any moving parts, or even guaranteed continuous water supply from a dam or other huge supply store. You can lose your feed pump(s), supply lines, or anything else that's on the supply side of the water tank for some period of time and nobody on the consumption side will know or care. Need more resilience to supply-side failure? Just build a bigger tank. This blows my mind, it really does. Need to do pump maintenance? No problem, just make sure that the tank is large enough to service demand over the period of the "outage", and go for it. Can't find a pump supplier to give you a restoration SLA of less than a week? Just make sure you've got a water tank that'll provide for a week's consumption. Basically, any supply-side reliability problem can be solved with "build a bigger tank", and while there's a limit to how big we can make tanks, I'll bet we know a lot more about building huge water tanks to withstand some freaky failure conditions than we do about building pumps that won't fail for 100 years. If you do need more capacity than a single tank can provide, just parallelise -- horizontal scaling of the water supply. Woohoo! Your big water tank also provides cost savings in your other equipment. If you had to pressurise a water supply using pumps, not only would you need your redundant array of very expensive pumps (Hmm, RAVEP-5 sounds like a Doctor Who villain), but those pumps would need to be able to provide your peak consumption flow (toilet breaks during the Super Bowl, probably). I'd imagine that could get mighty expensive, and without providing much benefit for 99% of the time. I see this capacity problem at work all the time. Customers who have the occasional massive traffic spikes need to massively over-provision their average utilisation to successfully service that 1% of the time that they're doing heavy traffic. Yes, I know, cloud computing, horizontal scaling, capacity on demand, yadda yadda yadda. It's not a panacea, and the number of apps that are designed to properly scale horizontally over a large range of traffic volumes is miniscule. My general point, though, is that it when you've got a variable load, it costs a whole lot more to provision systems to supply peak demand than to provision systems that can deal with average demand. A suitably large water tank means you can easily deploy a much smaller capacity feed pump. All you have to do is make sure that when demand exceeds supply, you've got enough water in your tank to cover the difference between the demand and supply over that period. When your peak capacity increases, and is starting to strain your infrastructure, you've got a choice, too: you can upgrade the pump or increase your storage capacity, whichever is cheaper / easier / quicker / provides better kickbacks / whatever. This is all well and good, you say, but computer systems aren't water supplies. There's a lot more moving parts, inputs, and outputs, and those all have to be handled. This is quite true. Water-powered computers are not in high demand. However, I think we could produce some much more reliable systems if we looked for ways we could simplify capacity and redundancy issues, water supply style, instead of layering more and more cruft into our solutions.
Ironically, just after I started writing this post (and this gives you an idea of how long it's been sitting in my drafts folder), I saw an article in the RISKS digest about a water supply problem in Santa Cruz, caused by a power outage killing the refill pump for an extended period and resulting in the storage tank running dry. Hey, I never said that it was a foolproof system -- especially when you've got failures of imagination that result in the system that tells people that there's no power relying on the power source it's monitoring being up in order to be able to tell people that there's no power...

Brett Parker: LVM weirdness

I'm having some issues with LVM, basically it appears that I can't assign over a certain amount of my pv, where that certain amount is somewhere around 1.5TB... output from all the relevant chunks are:
ensenada:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/main/root
  VG Name                main
  LV UUID                ZR33WS-glE2-bUn6-adCX-n50C-37eX-Fc7Pde
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                7.45 GB
  Current LE             1907
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0
  --- Logical volume ---
  LV Name                /dev/main/voldemort
  VG Name                main
  LV UUID                DrT0co-THRw-6Zcy-Q3PT-OiQj-4KBz-xfV0Un
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.37 TB
  Current LE             358400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1
ensenada:~# vgdisplay
  --- Volume group ---
  VG Name               main
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  56
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               5.45 TB
  PE Size               4.00 MB
  Total PE              1428053
  Alloc PE / Size       360307 / 1.37 TB
  Free  PE / Size       1067746 / 4.07 TB
  VG UUID               ddVSIr-W9BU-XOWJ-gdSo-HZ4m-vw3M-S33Q3s
ensenada:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               main
  PV Size               5.45 TB / not usable 1.54 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              1428053
  Free PE               1067746
  Allocated PE          360307
  PV UUID               sFxRYg-Ua60-zpMT-DMqo-tpD5-d24W-qfW31p
ensenada:~# lvcreate -n test -L 74G main
  Logical volume "test" created
ensenada:~# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sda3  main lvm2 a-   5.45T 4.00T
ensenada:~# lvs
  LV        VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  root      main -wi-ao  7.45G
  test      main -wi-a- 74.00G
  voldemort main -wi-ao  1.37T
ensenada:~# lvremove /dev/main/test
Do you really want to remove active logical volume "test"? [y/n]: y
  Logical volume "test" successfully removed
ensenada:~# lvcreate -n test -L 75G main
  device-mapper: reload ioctl failed: Invalid argument
  Aborting. Failed to activate new LV to wipe the start of it.
  LV main/test in use: not deactivating
  Unable to deactivate failed new LV. Manual intervention required.
ensenada:~# lvremove /dev/main/test
Do you really want to remove active logical volume "test"? [y/n]: y
  Logical volume "test" successfully removed
ensenada:~# lvcreate -n test -L 74G main
  Logical volume "test" created
ensenada:~# lvremove /dev/main/test
Do you really want to remove active logical volume "test"? [y/n]: y
  Logical volume "test" successfully removed
ensenada:~#
Please, someone, put me out of my misery - this is driving me nuts! Extra info:
ensenada:~# uname -a
Linux ensenada 2.6.26-2-amd64 #1 SMP Fri Aug 14 07:12:04 UTC 2009 x86_64 GNU/Linux
ensenada:~# dpkg -l lvm2
Desired=Unknown/Install/Remove/Purge/Hold
  Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
 / Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
 / Name                  Version               Description
+++-=====================-=====================-==========================================================
ii  lvm2                  2.02.39-7             The Linux Logical Volume Manager
ensenada:~#
ensenada:~# cat /etc/debian_version
5.0.1
(Erm, just remembered that I haven't got comments enabled at the mo, so if you've got fixes, please mail me! iDunno@sommitrealweird.co.uk - thanks!)

8 September 2009

Michal Čihař: Fun with blacklists

Yes, blacklists are great, especially if wrongly used. Currently I can not renew SSL certificate I used to have from StartSSL, because they somehow use blacklist from Google to block sites with malware. The word somehow is important here, because I am not listed as being suspicious, but they still see me blacklisted. And the more funny thing seems to be that Google found sometimes some malware on my site, but there is no way to find out what it was. Maybe it is somehow related to the broken antivirus complaining that NSIS binary contains a virus, but who knows... As the funny story goes on, I get to know that it is because I'm on AS:15685 network. Well I am. And as well are about other thousands of servers hosted in that place. So what? PS: Just to be sure, I just did full scan of all files on dl.cihar.com and here is the result:
----------- SCAN SUMMARY -----------
Known viruses: 621888
Engine version: 0.95.2
Scanned directories: 133
Scanned files: 3975
Infected files: 0
Data scanned: 14546.95 MB
Data read: 2462.58 MB (ratio 5.91:1)
Time: 1093.524 sec (18 m 13 s)

Frans Pop: debtree-next - More steroids

Funny how working on a program immediately inspires to do more. Remember that the initial motivation for debtree was to find out why a package was installed? It can now show that in the dependency graphs! I'm not quite ready to do a new release, but the new version is available from the git repository. Let's start with a simple example (all graphs are based on Lenny).
$ debtree -I --rdeps-depth=3 apt
reverse deps for apt Only installed packages are displayed here; if the -I option is omitted, debmirror will display all, but that does tend to explode the graphs, especially for common libraries. As for forward dependencies, the color of the arrows indicates Pre-Depends, Depends and Recommends. The reverse dependencies are shown three levels deep (one is default). The graph will always include all direct reverse dependencies (both on the package itself and all virtual packages provided by it. For indirect reverse dependencies there's a cut of that is set at five by default. Example is debconf, that apparently has 9 reverse Pre-Depends and 58 reverse Depends installed on my system. The next one is simply beautiful.
$ debtree -I --rdeps-depth=20 --no-conflicts libcairo2
reverse deps for libcairo2 Because of the --rdeps-depth=20 this shows the full recursion! I was surprised that this graph remained a reasonable size. Apparently no packages depend on the virtual package libcairo, at least none that I have installed. The final one is extreme, and I must confess that I have cheated a bit by suppressing the least interesting reverse depends (which explains why it does not match the numbers from the apt graph).
$ debtree -I -R --no-recommends --no-conflicts debconf
reverse deps for debconf The most interesting thing here is how it shows the debconf-2.0 transition. Most packages depend on 'debconf debconf2.0'; tex-common instead has 'debconf cdebconf', while tasksel and exim4 have both combinations (probably one explicitly in debian/control and the other added by debhelper. ucf is missing the alternative; apparently does not use debhelper (no prizes for guessing who the maintainer is :-). Notice anything about iamerican and ibritish? Yes, they really have a double dependency on 'debconf debconf2.0'. The one thing missing is the version info for versioned dependecies. Not sure yet if I want to add that for reverse dependencies. P.S. SVG versions of the images are available in the same directory as the JPGs.

Gustavo Noronha Silva: WebKitGTK+ 1.1.14 is here!

1.1.14 is definitely worth blogging about. While I was updating the gtk-doc stuff to update the documentation that is available in our website I was thinking that this is probably the release with the largest amount of API addition I have seen in my time as a contributor to the project! Before I start talking about the new APIs, though, let me talk of something that went under the hood: Xan has patched WebKitGTK+ to override libsoup s connection limits, so that our limits match those of other modern browsers - we now allow up to 60 connections total, and 6 per host. People have been reporting load performance improvements for some sites! We have an initial set of APIs to deal with the data that was loaded to render the page, represented by the new DataSource object. This allows you to peek at the source of the HTML that was rendered, for instance. In the near future we will have ways of getting the data and other information for each resource that is downloaded to compose the page. Jan Alonzo has spent quite some time studying, implementing and perfecting this API, with some help from me and Xan. One initial piece of the larger API to control resource loading is already there, as well. The WebView will use the new resource-request-starting signal to let you know that a request is about to be sent, and allow you to modify headers, or even the URI that is going to be fetched. For some, the greatest news here is that this allows a basic implementation of AD blocking, which is now supported in Epiphany with the WebKit backend, as of version 2.27.92, released today! This is something I have been looking at in my Collabora time for some time now, and working along with Xan and Jan, we finally seem to have figure out the API interactions correctly. There s more to come regarding resource loading tracking, in the near future. That would already be a lot, from my point of view, but there s a whole lot more. A new contributor, Martin Robinson, has arrived proposing new API pieces for an important HTML5 tool: web databases, which brings with it the concept of SecurityOrigin. Jan has exposed API to put the WebView in view source mode, Xan has given us undo/redo support for editable content, and Zan Dobersek has done some overall improvement of our HTML5 media player. That s a lot of change for a release, which also goes to show we still have quite a gap to fill, but we are being able to move forward and fill them quite quickly. If you want to help out, pick something in your area of interest, and send us patches!

7 September 2009

Joey Hess: look who's packaging

So, Debian is still trying to decide if it likes upstream developers including debian directories in their source. Unlike the rpm world, where including a spec file in the tarball is expected, there has historically been some dislike about this being done on the deb side, mostly because of tool limitations. In the meantime, an interesting thing is happening in the wider world. Developing "apps" for mobile phones is appealing to lots of developers. And in an inversion of the linux distro status quo, part of making such an "app" is packaging it. Typically, for linux-based phones, into a .deb package, or something very close to it. Since N900 apps can fairly easily be ported to/from desktop linux, I won't be suprised if debian directories start popping up in lots more upstream sources. Like it or not.

Adnan Hodzic: New GPG key

I wanted to renew my key for what seems as eternity, and finally I ve done it, didn t even want to participate in keysigning party on DC9 for the same reason. So here s my RSA 4096 bit replacement for my old 1024 DSA.
pub  4096R/2D516C09 2009-09-07
Key fingerprint = 6878 DFA1 A95C 3D55 713F  42B1 EE0E 2790 2D51 6C09
uid  Adnan Hodzic (AbsintheSyringe) <adnan@foolcontrol.org>
uid  [jpeg image of size 3877]
sub  4096R/E3FBC33A 2009-09-07
We ll see how/when will I get it signed, even though I got some basic idea how we can start doing it remotely Smile

Russell Coker: Bad but Appealing Copyright Arguments

Some people seem to believe that the problem with copyright law is the inability of people on the free culture side of the debate to compete with the large amounts of money that are being spent but the RIAA et al. I think that a significant part of the problem is that many intelligent and well-meaning people are simply unaware of or unconvinced by the arguments. For example the Reid Report post titled Paul Porter speaks truth to Black radio [1] includes the quote Only the United States, North Korea and Iran don t pay royalties for performers on free AM/FM radio . This point actually sounds quite reasonable and will convince many intelligent and well-meaning people who have an interest in politics such as Ms Reid. Cory Doctorow has written an interesting article titled Internet rapshoot: How Internet Gatekeepers Stifle Progress [2]. He describes how the big entertainment companies are failing to properly represent their customers or the artists who produce the content, and in the process creating monopolies out of companies such as Apple and Google. Cory starts by raising the issue of cultural discourse, monopolies in the distribution of popular art will lead to control over the political process. Ironically the article that Ms Reid cited [3] mentions the issue of pay for play which led to a steady diet of misogyny, violence and drug culture on the airwaves. Brendan Scott has written about a similar issue in Australia where the music copyright holders are trying to get massive increases in license fees from restaurants and other small businesses [4]. The expected result of this is greater use of classical music (which is out of copyright) and more interest in purchasing licenses from small musicians who aren t affiliated with the music cartels. One of his main points is that playing music in public places (including public radio frequencies) is the major form of advertising for musicians. Michael Tiemann writes about a Brazilian band that has been quite profitable by skipping the recording industry, providing the fans what they want, and selling CDs direct to fans [5]. This is one of many examples to illustrate the fact that the current music factory system is not required for musicians to make a profit. Amanda Palmer has written an interesting blog post about how the Warner music group wasn t getting as much money from Youtube as they wanted so they demanded that HER music videos be removed [6] (among many others). So we have a music studio that doesn t even pay the artist (below a certain number of sales the artist gets no payment, selling 30,000 albums is not enough to get a cent) demanding that the music videos be made unavailable to fans when the artist wants them published. This is a travesty and if similar licensing schemes are implemented for radio stations then we can expect that some radio stations will be financially discouraged from playing music even when the artist would be happy to have it played for free! In Australia we have an organisation that secretly taxes all viewing of material that they think is under copyright with a suitable license (they give no detailed information on how they determine the copyright and license status they probably violate my license by taxing universities for copying posts from my blog). Educational institutions and other organisations that sign up get to pay them some money based on what they are deemed to have used. The money is then distributed to the creators in proportion to the amount of use their material received. The distribution rules state that any amount less than $50 per year for an Australian resident or $200 per year for a non-resident will be instead redistributed to other people [7]. Usually analysis of The Long Tail [8] comprises the majority of the sales if users are given enough opportunities to search for a product that is a good match for their requirements. This is the entire basis of businesses such as Amazon.com. The Australian Copyright Agency (Copyright Agency Limited CAL) seems to have a business model of taking all the revenue that might be earned by the creative people in the long tail and give it all to the top performers. If a similar system was implemented for the US music industry then it would be great for Michael Jackson s estate, but bad for the vast majority of musicians. It seems likely to me that the current situation with the music industry is fairly optimal for making a few very popular musicians very rich. The proposed changes for the US will make things even better/worse (depending if you are among the rich few or the majority of the population). One thing we need to ask ourselves is whether we want laws that will make a few people rich or laws that will give many people an adequate income for work they enjoy and which also enriches our culture. This correct decision seems obvious to me. Can anyone think of other good points that should be raised when discussing such issues with people who don t consider copyright to be a big issue?

6 September 2009

Uwe Hermann: identi.ca - a microblogging service based on Free Software, AGPL, and Creative Commons

identi.ca logo After a long time of ignoring (or at least not using) micro-blogging services such as Twitter, I recently tried the Free-Software based identi.ca service, and I'm beginning to like it. The choice of service was pretty obvious while Twitter uses proprietary software and has custom Terms of Service, identi.ca is based on software under the GNU Affero General Public License, and the contents are CC-BY 3.0 licensed. The code behind identi.ca is called Laconica (recently renamed to StatusNet) and is hosted at gitorious:
 $ git clone git://gitorious.org/laconica/mainline.git
My account details are available under http://identi.ca/uwehermann, where I'm posting smaller announcements and notes about random technical stuff I'm working on (slightly more regularly than in this blog). Sometimes I use the web interface for posting, but using the Jabber integration available at identi.ca is even more convenient. You can both be notified of new posts ("dents") in real time via Jabber, as well as post your own dents from within your Jabber client, which is nice. identi.ca seems to become more popular every day, which will hopefully make the proprietary Twitter pretty much irrelevant sooner or later.

5 September 2009

Jon Dowland: exploring git repositories

I am in the process of moving the Doom packages that the Debian Games Team maintain from subversion to git. I started with a small native package called game-data-packager. The clone operation took hours to run and resulted in a 90-odd Mb git repository. Since game-data-packager is a relatively small collection of shell scripts with a recent history, I have reason to believe that git svn has imported much more of the Games Team SVN repo than just the game-data-packager bits. After fiddling with git repack -a -d, git prune and git gc --aggressive, the repository is still 80Mb large. How do I determine what is using all this space? Can anyone advise me on the best way to analyse a repository like this?

Christian Perrier: Tempted to break my system...

Since Petter summarized what's happening to Debian's boot process, I'm pondering "aptitude install upstart". I've already been among the pionneers for parallel and dependency-based boot stuff....and never had any problem with it. So, really, moving one step forward is tempting. Anyone to discourage me to do so? :-)

4 September 2009

Marc 'Zugschlus' Haber: TCP and mobile IP

Steinar H. Gunderson, sesse, has written an interesting article about TCP performance. I didn t find your blog s comment function, so I am commenting with a trackback. (note: which didn t work either, The auto-discovered trackback URI does not match our target URI ) I frequently use mobile internet, using various of the German GSM/UMTS network operators, out of a moving train. As you have written, this frequently causes packet loss which is not only not caused by congestion, but sends the congestion avoidance algorithms on a false path. For example, when the train passes through the 3575 m long Distelrasentunnel between Frankfurt and Fulda, my network link is broken for like two minutes. Passing through other parts of Germany sometimes gives me a ping response of hundreds of thousands of microseconds by virtue of the rather huge send buffer the UMTS equipment has. In these circumstances, ssh sessions frequently take tens of minutes to notice that the network is back before the session is useable again. Frequently, it doesn t come up again before an hour has passed. And I have not found a way to work myself around this. Can you explain what s happening here, and do you have any ideas to solve the issue?

Russell Coker: Ownership of Laptops for Work

Jetstar has announced some new changes to the way they manage their IT infrastructure [1]. Some parts of it are obvious things that people have been doing (or wanting to do) for a long time such as using thin clients with no moving parts (not even cooling fans). But the really interesting part is their plan for managing laptops. They are using a virtual machine image on a flash storage device that can run on any system. So deploying a new system will only require installing the virtual machine software and inserting a storage device. Moving a user s environment to a different system (EG due to hardware failure) will merely require inserting the storage device in a new system. That raises the issue of ownership of the device. It seems that Jetstar are considering using systems that are owned by employees, Stephen Tame said In two years time a laptop should be a condition of employment, and this includes bringing your own laptop . When introducing that I expect there would be some resistance by employees who don t want to spend the money. However
I have previously estimated the costs of running a car [2] which works out to more than $1,650 per year for insurance, registration, basic maintenance, and the interest that would have been received if the car had not been purchased and the money had been invested. Laptops can be purchased for significantly less than $1000 (currently the EeePC 701 is on sale for $219) and can be expected to last for three years or more if you are careful to avoid damage and don t run demanding software. So a job that demands ownership of a laptop is asking for a much smaller financial investment than one which demands ownership of a car. But I expect that many employees won t see it that way. The up-side for employees to bring their own laptops is that they can choose a model that suits their preference. Everyone has preferences regarding the size of keys on a keyboard, the distance that they travel and the pressure required to register a key-press. For desktop machines it s easy to swap keyboards but for laptops there is no such option. Then there s the issue of the trade-off between physical size and weight vs display resolution, personal preferences in this regard will depend to some extent on the body mass and strength of the employee. Now there are a number of security issues related to personal laptop use. Obviously if the laptop has a Trojan-horse program installed then it could sniff any data that goes past on the network. The most trivial case of this could be addressed by running VPN software inside the emulated environment. This would force a Trojan to compromise the virtual environment (EG by modifying the address space) or to compromise the files on disk (insert a Trojan inside the filesystem for the virtual environment). The former would be tricky to get right while the latter would be trivial. Both attack methods have been used in the past and proven to work. This is why many companies prohibit their employees from connecting their own systems to the corporate network. One example of a system that is based around running virtual machines for all desktop operations is the NSA NetTop project [3]. NetTop involves a SE Linux system that runs multiple instances of VMWare for different desktop environments. Each VMWare instance runs at a particular sensitivity level and uses a VPN connection to a back-end network running at the same level. The aim of NetTop is to prevent applications in the different VMWare instances from communicating with each other. The significant difference between a typical NetTop installation and what JetStar might be doing is that NetTop runs on a secure base it s hardware that has been purchased and installed by a military organisation and is run in a secure facility. While personal laptops that are owned by employees can be expected to be infected with viruses and Trojan-horse programs. In the past I have suggested that an employment package for any skilled employee should include some budget for buying things that facilitate the work [4]. It seems to me that a company like JetStar could best achieve their goals by assigning a budget to each new employee to buy a machine for their use. The employee then gets to choose a machine up to that budget which would only be for work purposes. Then when the employee leaves or the machine becomes due for replacement it could be sold at auction. When considering all the costs involved in hiring a new person, spending something less than $1,000 to buy a laptop is nothing. Finally if buying machines for work purposes, you really don t want employees using them for surfing porn. Porn sites tend to be particularly bad for malware distribution. To reduce the incidence of such problems I think that work machines should have their sound hardware disabled and laptops should not be purchased with overly large displays. There is no need to make work machines totally unsuitable for porn surfing (which would also make them less effective for work), but making them less suitable than a $500 budget PC should dramatically reduce the scope of the problem.

Erich Schubert: Friends update - LiveDash, HoneyWish, Amiando

A short update on some friends of mine.First of all, Patrick F. Riley - I worked with him on some projects when I was visiting the UC Berkeley, one of which was a predecessor to his latest thing: LiveDash. It's really cool: it allows you to search almost in realtime in TV feeds. It also live-indexes Twitter, blogs, news sources etc.Secondly, HoneyWish (currently only available in German) is a service for a "honeymoon travel gift list" thing. It works like the traditional gift lists, except that instead of putting all kind of household stuff on it, there are all the parts of the honeymoon trip on the gift list. This makes much more sense these days: people tend to get married later; they might even be sharing a house for some time before getting married. So they don't need much silverware anymore, but they for sure will enjoy their honeymoon trip - so what could be a better gift for them?Third, Amiando a web-based ticketing and event management service. Founded already some years ago by some friends, it has been growing and coming along nicely. Every now and then, it won some award, many of them in the "top startup" category.There are of course many more projects of friends I'd like to point out, but these three definitely are highlights.

3 September 2009

Martin-&#201;ric Racine: wanted: Geode "Red Cloud" GX2 hardware

Ever since X server 1.5 was released, various regressions started affecting our GX2 code in xf86-video-geode. We couldn't figure out what went wrong since our GX2 code hadn't changed in ages and we couldn't think of any ABI or API migration that would cause these regressions. Well, it turns out that someone had quietly rewritten part of the X server core, which broken things from under our feet. In the end, the change required to restore operation was minimal, but it nonetheless caused problems for several thin client users who complained loudly while the xf86-video-geode team scratched their head wondering what went wrong. Still, it essentially meant that GX2 users suffered through Intrepid and Jaunty without a solution in sight, which is of course unacceptable. I'm also aware of at least one startup who lost a fairly lucrative LTSP maintenance contract, simply because their customer's GX2-based thin clients could not be made to work on Ubuntu since Hardy. Ouch! In order to prevent this from ever happening again and to ensure that regressions get noticed before they reach critical mass, I'd like to solicit a hardware donation: something GX2-based with a small hard-disk or CompactFlash socket and 100baseT Ethernet. My contact info can be found on my homepage. Please make sure that you contact me upfront to agree on the delivery method, before sending me any hardware. Thanks!

Next.

Previous.