Search Results: "spa"

19 March 2010

Filip Van Raemdonck: Indeed it is



Here's to another company with a sense of humour.

Granted, this is actually a former Sun webspace, so it wasn't Oracle that put the PostgreSQL most advanced badge on there.
But Sun did own the MySQL brand, before.

Alexander Reichle-Schmehl: RC-Bug statistics for Squeeze, calendar week 11:

Note: Please see RC-Bug statistics for Squeeze, calendar week 6 for an explanation of the numbers.
Total:615-84
Affecting Squeeze:481-78
Squeeze-only:105-12
Unfixed bugs remaining in Squeeze:376-66
Of these 376 bugs...
... are pending20-16
... are patched:50-15
... are duplicates:49+2
... are in Non-free or contrib:7-3
... are claimed by someone:12-2
... are fixed in the delayed queue:1-4
... are somehow marked as fixed:42-11
Or in other words:
Release critical bugs left in squeeze, when ignoring all these:
228 (-34 compared to previous statistics). With this release managers views, 402 (-70 compared to previous statistics) bugs remain to be fixed somehow before we can release.

Jon Dowland: The Dice Man and Generation X

The movie ' Fight Club' had a profound effect on me when I first saw it in 1999. I wasn't as fond of the originating novel, although there was something about the prose that Palahniuk used which I did enjoy. Since then I've read more of Palahniuk's work. My favourite of his books is actually Non-Fiction (a.k.a. Stranger than Fiction ): a collection of essays and interviews. Reading some of the stories in that collection, it becomes very clear where some of the concepts in his fiction originate. There are also a number of pieces on the craft of writing. He writes some really gushing praise about Amy Hempel:
When you study Minimalism in the novelist Tom Spanbauer's workshop, the first story you read is Amy Hempel's The Harvest. After that, you're ruined every other book you ever read will suck.
I recently read a couple of novels, both of which reminded me a lot of Fight Club. 'Generation X: Tales for an Accelerated Culture' by Douglas Coupland is an interesting tale of three or more societal drop-outs. Fight Club was written five years after Generation X and owes it a lot. 'Generation X' has curt, clipped passages and many dictionary-definition-esque side notes decoding hipster-slang, which add a lot of colour to the non-events of the story. These remind me both of the copous asides in Pratchett novels, or the chapter introductions in Philip K Dick's excellent 'Ubik'.
Historical Overdosing: To live in a period of time when too much seems to happen. Major symptoms include addiction to newspapers, magazines, and TV news broadcasts.
The novel goes absolutely nowhere, but that's actually one of the appealing things about it. When I mentioned this to my partner (who, as far as I know, has not read the book), she said that it sounded like the perfect tonic to a stressful life: imagine lying on a sunbed, doing nothing, reading about people lying on sunbeds, doing nothing. This is the first of Coupland's novels that I have read, but I managed to pick up a copy of 'Generation A' (so far as a I can tell, not a sequel, as such) 70% off as part of the closing-down sale at my local Borders store, so I will probably read that too. I also recently finished The Dice Man , by Luke Reinhart. It's a tongue-in-cheek pseudo-autobiography written under a pen-name about a psychiatrist who opts to delegate all life decisions to the throw of dice. Once again, Fight Club owes a lot to this book. The unhinged situations that occur are used to shine a satirical light on modern society. 'modern society' in the book is the 1970s. The distance between society then and now adds something to the novel's value now. Having said that, the narrator is not a particularly likeable character and it's hard to relate to him. Coincidentally my dad recently read this book and described it as 'misogynistic', which might be an understatement. Mind you, most of the characters, female or otherwise, are fairly 2D: perhaps intentionally the only fleshed out human is the narrator. In my favourite scene of the book, the narrator is in a situation under the influence of more than one drug. A TV set is on in the background. As the scene progresses, the events taking place on the TV are written about with increasing prominence compared to the main events of the scene. This escalates to a point where they are of equal importance and you can no longer easily distinguish the events taking place in the real world from those taking place on the television. This is the only part of the book that I can recall that employed any narrative tricks. The rest is by-the-numbers, and mostly internal monologue. The book is also at least 50% too long: the concept just doesn't stretch as far as it's forced to.

Dirk Eddelbuettel: R Project selected for the Google Summer of Code 2010

Earlier today, Google announced the list of accepted mentor organizations for the Google Summer of Code 2010 (GSoC 2010). And we are happy to report that the R Project is once again a participating organization (and now for the third straight year) joining a rather august group of open source projects from around the globe. An R Wiki page had been created and serves as the central point of reference for the R Project and the GSoC 2010. It contains a list of project ideas, currently counting eleven and spanning everything from research-oriented topics (such as spatial statistics or automatic differentiation) to R community-support (regarding CRAN statistics and the CRANtastic site) to extensions (NoSQL, RPy2 data interfaces, Rserve browser integration) and more. I also just created a mailing list gsoc-r@googlegroups.com where prospective students and mentors can exchange ideas and discuss. As for other details, the Google Summer of Code 2010 site has most of the answers, and we will try to keep R-related information on the aforementioned R Wiki page.

18 March 2010

Debian News: Debian selected for the Google Summer of Code 2010

Debian has been selected as a mentor organization for the Google Summer of Code 2010.

Whether your are a Debian Developer or a Student, this might be a good time to:

Remember that the sooner we get project ideas and personal proposals, the longer we can work on them to make them into great summer projects!

You can read more about the Google Summer of Code in their website. Also, if you are interested in participating, it is very important checking the program time line.

Obey Arthur Liu

Clint Adams: BSPs and Triage and squeeze

Some people want Debian 6.0 (codename "squeeze") to be released sometime this year. Personally I think there is some kitsch value in releasing it during DebCamp or DebConf, and there is something to be said for doing it just beforehand so that everyone can break unstable into insanity while rolling around on the quad under the hot August sun. Some people want it to happen sooner, possibly as soon as possible. Irrespective of your preferences, or if you care at all, we will repeat the time-honored mantra: it will be released when it's ready. Readiness is somewhat of a subjective measure, but we typically do not consider a potential release ready when the RC bug count is high. There are a lot of RC bugs right now. Typically these are fixed at some point by their maintainers. There are also some self-motivated individuals who enjoy fixing these bugs themselves, and this practice predates the RCBW initiative, though perhaps not to the same level of combined intensity and endurance. Then there are bug-squashing parties, or BSPs. A BSP can be held virtually which means that a bunch of people get together online and say that they are having a party, or it can be at a designated physical space. I attended one of the latter type not too long ago. This BSP was targeted specifically to newbies or people who might feel that they are unqualified to help squash bugs, but wished to learn how to contribute. Some group and one-on-one mentoring occurred, in areas of how packages are put together, how to patch things, how to submit patches to the BTS, how to reproduce bugs, and other more problem-specific topics. I really don't know how successful this endeavor was since getting metrics on the effectiveness of teaching has been a historically difficult problem. On the other hand, we did spend a fair amount of time actually squashing bugs, which is a bit easier to assess. One problem we had was that some people liked to be loud and distracting and demand unreasonable amounts of attention for topics that had nothing to do with bugs, Debian, or free software, but we made progress regardless. Marc Brockschmidt thinks we need more BSPs and more focus on bug triage. Bug triage can be very demotivating and many people dislike doing it. BSPs seem to have powers of motivation through group camaraderie or friendly competition, so I would agree that it's worth experimenting with.

17 March 2010

Chris Lamb: Per-channel BTS bot filtering

Just a short announcement that my Debian BTS IRC bot which hangs out on #debian-devel-changes can now spam your favourite subproject's channel with specific bug activity and uploads. Filtering is done with a regular expression tested against the package name. /msg me with your (channel, regex) tuples (in Python re format, please).

Gunnar Wolf: Getting away from Panam

Several months ago, around the Central American Free Software Encounter (ECSL) in Estel , Nicaragua, I started stirring the waters The Central American regions have vibrant, beautiful Free Software communities, but have mostly (with some very notable examples, of course) shied away from being active participants in major development projects. What was I to do about it? Of course, try to get them to become Debian contributors! During the following weeks, I talked about it with several friends from the region, and the result was an announcement and lots of arguments that followed it. Panam was decided as the host country, and many people have put a lot of work into making the MiniDebConf happen. Mauro Rosero and Anto Recio came up with what appears to be a wonderful local venue and a set of sponsored amenities, and the Debian project is sponsoring what is needed in terms of transportation for people from the whole region (spanning from Mexico to Ecuador and Venezuela IIRC). I am very sorry, however, that I cannot attend this meeting. This very same weekend, I will fly three hours, but in the opposite direction: I will go to Tijuana, where fate decided I will present my first round of CENEVAL equivalence exams (Acuerdo 286 Licenciatura). I expect that to be the topic of another post, to come soon. So, while my friends will be having a good time and talking about Debian and group work, I will sit through three periods of four hours, answering an exam for the first time in a very long time. Fun, hah? Anyway, I will meet Guillermo Amaral (thanks for hosting me! ;-) ), which ensures I will not miss all of the fun ;-)

16 March 2010

Ian Wienand: Handling hostnames, UDP and IPv6 in Python

So, you have some application where you want the user to specify a remote host/port, and you want to support IPv4 and IPv6. For literal addresses, things are fairly simple. IPv4 addresses are simple, and RFC2732 has things covered by putting the IPv6 address within square brackets. It gets more interesting as to what you should do with hostnames. The problem is that getaddrinfo can return you multiple addresses, but without extra disambiguation from the user it is very difficult to know which one to choose. RFC4472 discusses this, but there does not appear to be any good solution. Possibly you can do something like ping/ping6 and have a separate program name or configuration flag to choose IPv6. This comes at a cost of transparency. The glibc implementation of getaddrinfo() puts considerable effort into deciding if you have an IPv6 interface up and running before it will return an IPv6 address. It will even recognise link-local addresses and sort addresses more likely to work to the front of the returned list as described here. However, there is still a small possibility that the IPv6 interface doesn't actually work, and so the library will sort the IPv6 address as first in the returned list when maybe it shouldn't be. If you are using TCP, you can connect to each address in turn to find one that works. With UDP, however, the connect essentially does nothing. So I believe probably the best way to handle hostnames for UDP connections, at least on Linux/glibc, is to trust getaddrinfo to return the sanest values first, try a connect on the socket anyway just for extra security and then essentially hope it works. Below is some example code to do that (literal address splitter bit stolen from Python's httplib).
import socket
DEFAULT_PORT = 123
host = '[fe80::21c:a0ff:fb27:7196]:567'
# the port will be anything after the last :
p = host.rfind(":")
# ipv6 literals should have a closing brace
b = host.rfind("]")
# if the last : is outside the [addr] part (or if we don't have []'s
if (p > b):
    try:
        port = int(host[p+1:])
    except ValueError:
        print "Non-numeric port"
        raise
    host = host[:p]
else:
    port = DEFAULT_PORT
# now strip off ipv6 []'s if there are any
if host and host[0] == '[' and host[-1] == ']':
    host = host[1:-1]
print "host = <%s>, port = <%d>" % (host, port)
the_socket = None
res = socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_DGRAM)
# go through all the returned values, and choose the ipv6 one if
# we see it.
for r in res:
    af,socktype,proto,cname,sa = r
    try:
        the_socket = socket.socket(af, socktype, proto)
        the_socket.connect(sa)
    except socket.error, e:
        # connect failed!  try the next one
        continue
    break
if the_socket == None:
    raise socket.error, "Could not get address!"
# ready to send!
the_socket.send("hi!")

Russell Coker: Thinkpad T61

picture of my new Thinkpad T61 I ve now had my new Thinkpad T61 [1] for almost a month. The letters on the keyboard are not even starting to wear off which is unusual, either this Thinkpad is built with harder plastic than the older ones or I m typing more softly. Memory The first thing I did after receiving it was to arrange a RAM upgrade. It shipped with two 1GB DDR2 666MHz PC2-5300 SODIMM modules and as I want to run KVM I obviously need a lot more than that. The Intel Chipset page on Wikipedia is one of the resources that documents the Intel GM965 chipset as supporting up to 8G of RAM. Getting 4G in two 2G modules seemed like a bad idea as that would limit future expansion options and also result in two spare modules. So I decided to get a 4G module for a total of 5G of RAM. I ve updated my RAM speed page with the test results of this system [2], I get 2,823MB/s with a matched pair of DIMMs and 2,023MB/s with a single DIMM. But strangely with a pair of unmatched DIMMs Memtest86+ reported 2,823MB/s I wonder whether the first 2G of address space is interleaved for best performance and the last 3G runs at 2,023MB/s. In any case I think that losing 29% of the maximum RAM speed would be an acceptable trade-off for saving some money and I can always buy another 4G DIMM later. I had to order a DDR2-800MHz PC2-6400 module because they are cheaper than the PC2-5300 modules and my Thinkpad works equally well with either speed. I have used the spare 1G SODIMM in my EeePC701 which takes the same RAM presumably because the EeePC designers found PC2-5300 modules to be cheaper than slower modules (I think that the 701 was at the time it was released the slowest PC compatible system that was selling in quantity). The EeePC gets only 798MB/s out of the same memory. My document about Memtest86+ results has these results and more [2]. I noticed that if I run Memtest86+ booted from a USB flash device then inserting or removing a USB device can cause memory errors, but if I boot memtest86+ from a CD it seems to work correctly. So it seems that Memtest86+ doesn t disable some aspect of USB hardware, this might be considered a bug or it might just be a don t do that issue. Misc To get the hardware virtualisation working (needed to load the kvm_intel kernel module) I had to enable it in the BIOS and then do a hard reset (power off). Telling the BIOS to save and reboot was not adequate. This would be a BIOS bug, it knew that I had changed the virtualisation setting so it should have either triggered a hard reset or instructed me to do so. The default configuration of Debian/Lenny results in sound not working, I had to run alsaconf as suggested on the Debian Etch on Thinkpad T61 howto [3] which solved it. Generally I m happy with this system, the screen resolution is 1680*1050 which has 20% more pixels than the 1400*1050 screen on my Thinkpad T41p, it s a lot faster for CPU operations and should be a lot faster for video when I get the drivers sorted out (currently it s a lot slower), and I have virtualisation working again. But when you buy a system that s much like the last one but 6 years newer you expect it to be better. Generally the amount of effort involved in the process of buying a new system, upgrading the RAM to the desired specs, installing Linux and tweaking all the options is enough to make me want to wait at least another 6 years before buying another. Part of the reason for this difficulty is that I want to get so much functionality from the machine, a machine with more modest goals (such as a Netbook) takes a lot less time to configure. Problems There is Bluetooth hardware which is apparently enabled by default. But a quick search didn t turn up any information on how to do the basic functions, I would like to just transfer files from my mobile phone in the same way that I transfer files between phones. The video card is a nVidia Corporation Quadro NVS 140M (rev a1). 3D games seem slow but glxgears reports 300fps. It doesn t have Xvideo support which appears to be the reason why mplayer won t allow resizing it s display area unless run with the -zoom option, and it s also got performance problems such that switching between virtual desktops will interrupt the sound on a movie that mplayer is playing although when alsaplayer is playing music the sound isn t interrupted. Also when I play a Youtube video at twice the horizontal and vertical resolution it takes half of one CPU core. It s a pity that I didn t get an Intel video controller. It seems that Debian is soon going to get the Nouveau NVidia drivers so hopefully video performance will improve significantly when I get them [4]. The next thing I have to do is to get the sound controls working. The older Thinkpads that I used had hardware controls, the T41p that was my previous system had buttons for increasing and decreasing the volume and a mute button that interacted directly with the hardware. The down-side of this was that there was no way for the standard software to know what the hardware was going to do, the up-side was that I could press the mute button and know that it would be silent regardless of what the software wants. Now I have the same buttons on my T61 but they don t do anything directly, they just provide key-press events. According to showkeys the mute key gives 0 71 0xf1 , the volume down button gives 0 72 0xf2 , and the volume up button gives 0 73 0xf3 . Daniel Pittman has made some suggestions to help me get the keyboard events mapped to actions that can change the sound via software [5] which I haven t yet had time to investigate. I wonder if it will ever be possible to change the volume of the system beep. The system has an SD card slot, but that doesn t seem to work. I m not really worried at the moment but in the future I will probably try and get it going. It has a 100G disk which isn t that big, adding a 32G SD card at some future time might be the easiest way to upgrade the storage copying 100G of data is going to be painful and usually a small increment in storage capacity can keep a system viable for a while. Any advice on getting sound, the SD card, and Bluetooth working would be appreciated. I ll probably upgrade to Debian/Testing in the near future so suggestions that require testing features won t be ruled out.

Dirk Eddelbuettel: Rcpp 0.7.10

Versions 0.7.7 to 0.7.9 of Rcpp contained a bug: protecting paths with quotes was supposed to help with Windows builds, but did the opposite at least in 'backticks mode' for getting path and/or library information. Using the shQuote() function instead helped. Our thanks to the tireless R-on-Windows maintainer Uwe Ligges for an earlier heads-up about the problem. So another quick bug-fix release 0.7.10 is now in Debian and should be on CRAN some time tomorrow. We also put two small improvements in, see the full NEWS entry for this release:
0.7.10  2010-03-15
    o	new class Rcpp::S4 whose constructor checks if the object is an S4 object
	
    o	maximum number of templated arguments to the pairlist function, 
	the DottedPair constructor, the Language constructor and the 
	Pairlist constructor has been updated to 20 (was 5) and a script has been
	added to the source tree should we want to change it again
    o   use shQuotes() to protect Windows path names (which may contain spaces)
As always, even fuller details are in Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page

15 March 2010

Joey Hess: pre to droid

in which the Pre unsuprisingly continues to suck My Palm Pre was killed by a forced over the air WebOS upgrade. You can't avoid those upgrades, even if you are sure they'll be bad news. The previous WebOS upgrade spared my Debian partition, but lost all other customizations (including Palm Pre privacy fixes), and wasted hours. When I went to use my phone and it didn't even boot, and displayed only "http://palm.com/rom", I knew that was the last straw. (Shouldn't forcing an upgrade that breaks a working phone to the point that it can't even call 911 be well, illegal?) switching cell providers in the US: suprisingly doable I thought about ditching the smart phone and using VOIP, but I seem to have gotten addicted. So I got a Droid. That meant switching cell phone companies. I've heard a lot about how horrible the US cell phone company contracts are. My experience has me wondering if all that is well... not overblown, but oversimplified. I was half a year into a two year contract. Today I got my closing statement, and I really got out of it with no early termination fee. The trick seems to be, switch to a different cell phone company. They'll be happy to get you out of your old contract, salivating at the chance of locking you in to a new one. They probably have a script to use when calling to cancel. Or "know a guy". Or claim to know a guy, then just use a script, and get lucky. Given the hard sells and vague promises they tried on me, I assume that these places are where all the car salesmen ended up. Trust == 0. But it worked. If you're good on the phone, and are looking for a new business idea: Start a business of getting people out of their cell phone contracts, for a reasonable fee and no other obligation. Use loopholes like rate changes. As long as the cell phone companies can raise their monthly rate 2 cents, and 99.9999% of their users accept it, and they make untold millions of dollars, for free, they seem to not care if the remaining fraction use a loophole to get out. Especially if they're able to take advantage of other comanies loopholes to switch over users. So there seems to be a niche there in which one could prosper. droid first impressions So now I have a slightly larger lump in my pocket and the Pre is on a shelf, and will either be used for future development and testing of Debian piggyback ideas, or donated to someone like Lennart who can make good use of it. Compared with the Pre, the droid's hardware is all superior. The keyboard, especially, is great, with arrow keys, and all the symbols I need. At the same time, the phone is bigger, and oddly clunky. But in an endearing way. Only thing I really dislike about the hardware is the "back" button is easy to accidentially swipe while typing on the keyboard. Compared with WebOS, the Android UI has some clunkiness and non-obvious things. Like the status bar at the top not doing anything when you click on it. And there being no way to close an app. Especially annoying is that this means opening the web browser returns to whatever page I was on last, which is never what I want. The UI is however much, much snappier. I don't use the Google email, etc services so can't comment on them; I assume the amount of info Google is gathering about me went up by a few percentage points; I've blocked their analytics on my network to knock it back down. (PS: DuckDuckGo now avoids logging IP addresses at all.) The best thing is the ConnectBot application, which is a very usable shell and ssh client. It's a terminal, in my pocket, which I can easily use for an hour without feeling like my interactions are feeding through a stifling soda straw. Between the keyboard and the app, the Pre has nothing at all that compares. Under the hood, Android annoys me terribly, with its lack of busybox, its kernel that does not even have the ext* filesystem, its hard-partitioned storage, and its general lack of every single thing I like in a Linux system. Compare this with the Pre, which has a package manager, a userspace based on busybox with a full standard Linux stack (all the way up to PulseAudio) and a kernel with lots of standard filesystems, and even LVM. Sigh. It's amazing that WebOS and Android have found such broadly different ways to suck. There is significant interest and activity around running a Debian chroot on the Droid. The best tries so far put it on a loop mounted ext2 filesystem (which means you need to get ahold of a matching ext2.ko somehow), living on the FAT formatted SSD. And there are apparently some bad problems with IO to that starving/locking the system, so I have not tried it.

Adnan Hodzic: FoolControl, Gnome, Squeeze?

Other day I read Refreshing The Ubuntu Brand , upcoming visual style changes for Ubuntu 10.04 Lucid Lynx and my only comment to this whole story was Don t tell me you re moving window control elements to the left side of window in Lucid Side Frown
Either way if this is the revolutionary change for Ubuntu, then I have a visual style suggestion for Squeeze as well. Since Gnome is default desktop environment in Debian and as it looks like right now 2.30 will be what s going to be included into Squeeze; nothing much, or nothing really will visually change in Gnome by then. So how about this Lamp For some time now I ve been troubled by some things in Gnome, and what s bothering me the most is System menu. Why? Well because the list of utilities listed both under Administration and Preferences is so long that it s almost useless. So without losing your precious seconds of your life and losing fair amount of nerves well this is what s required to find what you were initially looking for. Interesting enough is the fact (please do stress) that Gnome consists of a fine thing called gnome-control-center which is not included in any of Gnome menus. IDK I really do enjoy Gnome vanilla flavor (overall am fan of vanilla flavored apps.) but what I ve been doing for quite time now is fixing this ridicule by having my own version of Systems menu, which consists of Add/Remove App. (synaptic) and Fool Control (gnome-control-center) Final result is that I get what I m looking for in couple of seconds without any lost nerves Victory Either way, after reading the redesigning Ubuntu article, this only encouraged me to go live with this suggestion. I know it s a minor change, but how about we have this implemented into Squeeze? Of course change my silly button labels; if not, what are my options? Make package that will do this for you? Rolls Eyes I m really interested to hear your input on this topic. Talking about redesigning stuff, is anyone up to do start doing this with Debian homepage? Yea? Count me in Wink

Jaldhar Vyas: 7DRL Challenge - Final days

I'm afraid that in the end I failed the challenge. As the last minutes of Saturday night ticked down, I was still mired in the minutiae of C++ Run-Time Type Identification (RTTI.) Sunday was my 12th wedding anniversary and I know from past experience that this is one day when it is advisable to step away from the computer. So I have to concede defeat for now. But I only actually spent about 48 hours on this project this week so if you really think about it, I still have 120 hours available. That's what I choose to believe anyway. The galling thing is in theory I know how this is supposed to work. A.L.F.s model (in the model-view-controller design pattern) is a class called World. World has an array of Rooms which represent rooms in the dungeon. In my original almost working version of a few days back, this Room class had all manner of verious members for different objects in the dungeon but I decided to redesign it the right way by consolidating all the redundant bits into an abstract base class called Item which would have concrete subclasses: Potion, Treasure, Monster etc. Room now only has to hold a pointer to the Item associated with that room. (Later on I will consider allowing multiple items per room but for now there can only be one.) A factory function creates Items and assigns them to each Room (or leaves them empty) It returns a pointer to an object of the appropriate class but we can access that object through the Item* because they are derived from Item. So far so good. The fun part happens when we want to know what the Item* really is. For example, combat makes sense for Monsters but not for Treasure. I only want to activate combat if the Item* is a Monster*. It's easy in theory:

if(dynamic_cast<Monster*>(contents))
    return FIGHT;
                            
...but it didn't work. Problem number 1. C++ RTTI only works on polymorphous classes. (Ones that contain atleast one virtual member.) So a little redesign of my classes was necessary. Problem #2, once you start slinging pointers around, segfaults soon follow. I had to go back and make absolutely sure I wasn't double-deleting objects and things of that nature. As I write this, I think I have finally got it all sorted out. So I am going to persevere and finish this game, its just going to take a bit longer than 7 days.

Clint Adams: Core team transparency

Contrast: This and this and this and this and this and this versus this and this and this and this

Maximilian Attems: New release klibc 1.5.16 uploaded

The upload reduced RC count by one as klibc builds against recent linux-libc-dev including 2.6.34-rc1. Also libklic-dev uses them directly once installed thanks to a patch from Ben Hutchings. The klibc build saw several fixes from a big and refined Google patch queue. The klibc-utils mount grew several useful features and ipconfig saw lots of bug fixes (send requested optional hostname, raise field length for rootpath DHCP option, ..): hpa klibc 1.5.16 release announce, Git klibc repo. Update: According to build log there is still work todo for i386 and sparc. :)

13 March 2010

Steve Kemp: You do know there are more guns in the country than there are in the city.

Lenny Backports
After a couple of days I've spotted a few things that don't work so well on Lenny:
gtk-gnutella
gtk-gnutella is a client for a peer-to-peer filesharing system. Unfortunately the version of the client in Lenny dies on startup "This version is too old to connect".
gimp
The graphics program, The Gimp, doesn't show a live preview when carrying out things such as colour desaturation. Although not an insurmountable problem it is moderately annoying if you do such things often.
So I've placed backported packages online. I expected to have to backport KVM, and I guess I realised I needed a new kernel to match too. So they're available in the kvm-hosting repository; take the kernel with "birthday" in its name - the other is more minimal and has no USB support, etc.
blog spam
Since I last reset the statistics the blog spam detector has reported, rejected, and refused just over half a million bogus comments. It can and should do better. I've been planning on overhauling this for some time; even to the extent of wondering if I can move the XML::RPC service into a C daemon with embedded lua/perl to do the actual analysis. (Right now the whole service is Perl, but I'm a little suspicious of the XML::RPC library - my daemon dies at times and I don't understand why.) I'd say "test suggestions welcome", but then I'd have to explain what is already done. If you're curious take a look at the code...
ObSubject: Hot Fuzz

12 March 2010

Matt Brubeck: Discovering Urbit: Functional programming from scratch

C. Guy Yarvin is a good friend of Mencius Moldbug, a pseudonymous blogger known for iconoclastic novella-length essays on politics and history (and occasionally computer science). Guy recently published under his own name a novel project in language and systems design. His own writing about his work is entertaining but verbose (as Moldbug's readers might expect), so I will attempt to summarize it here. Nock, Urbit, Watt First there is Nock, a tool for defining higher-level languages comparable to the lambda calculus, but meant as foundational system software rather than foundational meta mathe matics. Its primitives include positive integers with equality and increment operators, cons cells with car/cdr/cadr/etc., and a macro for convenient branching. Nock uses trees of integers to represent both code and data. Next, Guy provides the rationale for Nock. In short, he asks how a planet-wide computing infrastructure (OS, networking, and languages) would look if designed from first priniciples for robustness and interoperability. The answer he proposes is Urbit: a URI-like name space distributed globally via content-centric networking, with a feudal structure for top-level names and cryptographic identities. Urbit is a static functional name space: it is both referentially transparent and monotonic (a name, once bound to a value, cannot be un- or re-bound). Why does this require a new formal logic and a new programming language? In Urbit, all data and code are distributed via the global namespace. For interoperability, the code must have a standard format. Nock's minimal spec is meant to be an un ambiguous, unchanging, totally standardized basis for computation in Urbit. Above it will be Watt, a self-hosting language that compiles to Nock. Urbit itself will be implemented in Watt, so Nock and Watt are designed to treat data as code using metacircular evaluation. The code A prototype implementation of Watt is on GitHub. It is not yet self-hosting; the current compiler is written in C. Watt is a functional language with static types called molds and a mechanism for explicit lazy evaluation. (I was suprised to find I had accidentally created an in com patible lazy dialect of Nock despite its goal of unambiguous semantics just by implementing it in Haskell.) The code is not fully documented, but the repository contains draft specs for both Watt and Urbit. Beware: the syntax and terminology are a bit unconventional. Guy has offered a few exercises to help get started with Nock and Watt:
The Nock challenge:
Write a decrement operator in Nock, and an interpreter that can evaluate it.
Basic Watt:
Write an integer square root function in Watt.
Advanced Watt:
How would you write a function that tests whether molds A and B are orthogonal (no noun is in both A and B)? Or compatible (any noun in A is also in B)? Are these functions NP-complete? If so, how might one work around this in practice?
If you want to learn more, start with these problems. You can email your solutions to Guy. Will it work? I find Urbit intellectually appealing; it is a simple and clean architecture that could potentially replace a lot of complex system software. But can we get there from here? Guy imagines Urbit as the product of an ages-old Martian civilization:
Since Earth code is fifty years old, and Martian code is fifty million years old, Martian code has been evolving into a big ball of mud for a million times longer than Earth software. (And two million times longer than Windows.) Therefore, at some point in Martian history, some abject fsck of a Martian code-monkey must have said: fsck this entire fscking ball of mud. For lo, its defects cannot be summarized; for they exceed the global supply of bullet points; for numerous as the fishes in the sea, like the fishes in the sea they fsck, making more little fscking fishes. For lo, it is fscked, and a big ball of mud. And there is only one thing to do with it: obliterate the trunk, fire the developers, and hire a whole new fscking army of Martian code-monkeys to rewrite the entire fscking thing. This is the crucial inference we can draw about Mars: since the Martians had 50 million years to try, in the end they must have succeeded. The result: Martian code, as we know it today. Not enormous and horrible tiny and diamond-perfect. Moreover, because it is tiny and diamond-perfect, it is perfectly stable and never changes or decays. It neither is a big ball of mud, nor tends to become one. It has achieved its final, permanent and excellent state.
Do Earthlings have the will to throw out the whole ball of mud and start from scratch? I doubt it. We can build Urbit but no one will come, unless it solves some problem radically better than current software. Moldbug thinks feudalism will produce better online reputation, but feudal reputation does not require feudal identity; it is not that much harder to build Moldbug's reputation system on Earth than on Mars. I still have not figured out the killer app that will get early adopters to switch to Urbit.

Stefano Zacchiroli: RC bugs of the week - issue 24

RCBW - #24 Some pause, and here we go with another RCBW issue. The pause has involved various Debian-related work, such as preparing OCaml batteries included for Squeeze and of course preparing my DPL platform. Without any further ado, here are this week's squashes: Random points:

Craig Small: VMware at last

Well I suppose its a bit heretical running something such as VMware, but its an important piece of software at my workplace, it also allows me to run some important VMKs or modules. But at first it just wouldn't compile.

And then I found this wonderful blog about Installing VMware on Ubuntu and it worked wonderfully. The author patched the code and it all installed nicely.

The next problem was one of the services would not start. Port 8308 would refuse to work and when I went to the management screen and said Service Unavailable. I tracked this down to the Java program dying at socket binding time.

The absolute first thing you should check if you are having TCP/IP problems with Java is the sysctl path net.ipv6.bindv6only which you can check with
sysctl net.ipv6.bindv6only.

If it is 1, it might mean bad Java code network problems. And in fact this time it was the problem, changing it to 0 and the Java daemon started and stayed running and all was good.

Incidently if you use the Cisco ASA firewall Java client and it dies, use this trick for it too. On Debian systems, edit the file /etc/sysctl.d/bindv6only and set that option to 0. I don't think its the fault of the key, but bad Java code (but is there anything but bad Java code?)
<script defer="defer" src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script>

Next.

Previous.