Search Results: "ron"

18 April 2010

Eugene V. Lyubimkin: dealing with unwanted recommends using cupt

Some people use '--without-recommends' switch and the problem is gone. I think that's overkill.

This post will tell how (would I recommend) to deal with unwanted recommends. The following text tells about cupt package manager, and though ideas are applicable to any package managers, the techniques may differ.


Stage 1. Facing problems

Suppose we want to install the package kde-minimal:

-8<-
$ sudo cupt install kde-minimal
[sudo] password for jackyf:
Building the package cache... [done]
Initializing package resolver and worker... [done]
Scheduling requested actions... [done]
Resolving possible unmet dependencies...
The following 16 packages will be INSTALLED:

dolphin kappfinder kde-minimal kdebase-apps kdebase-bin kdebase-data kdepasswd
kfind kinfocenter konqueror konqueror-nsplugins kwrite libkonq5
libkonq5-templates libkonqsidebarplugin4 plasma-widget-folderview

The following 1 packages will be UPGRADED:

konsole

Need to get 6024KiB/6024KiB of archives. After unpacking 14.9MiB will be used.
Do you want to continue? [y/N/q]
->8-

Umm, kinfocenter? No, we don't want it to be installed.

Stage 2. Searching for a reason

Now we will use the 'reason tracking' feature of libcupt's resolver. Let's add '-s' switch (simulating) and '-D' switch (tracking reasons):

-8<-
$ cupt -s install kde-minimal -D
Building the package cache... [done]
Initializing package resolver and worker... [done]
Scheduling requested actions... [done]
Resolving possible unmet dependencies...
The following 16 packages will be INSTALLED:

dolphin
reason: kdebase-apps 4:4.3.4-1 depends on 'dolphin (>= 4:4.3.4-1)'

kappfinder
reason: kdebase-apps 4:4.3.4-1 depends on 'kappfinder (>= 4:4.3.4-1)'

kde-minimal
reason: user request

kdebase-apps
reason: kde-minimal 5:55 depends on 'kdebase-apps (>= 4:4.3.1)'

kdebase-bin
reason: kdebase-apps 4:4.3.4-1 depends on 'kdebase-bin (>= 4:4.3.4-1)'

kdebase-data
reason: kappfinder 4:4.3.4-1 depends on 'kdebase-data (= 4:4.3.4-1)'

kdepasswd
reason: kdebase-apps 4:4.3.4-1 depends on 'kdepasswd (>= 4:4.3.4-1)'

kfind
reason: kdebase-apps 4:4.3.4-1 depends on 'kfind (>= 4:4.3.4-1)'

kinfocenter
reason: kdebase-apps 4:4.3.4-1 recommends 'kinfocenter (>= 4:4.3.4-1)'

konqueror
reason: kdebase-apps 4:4.3.4-1 depends on 'konqueror (>= 4:4.3.4-1)'

konqueror-nsplugins
reason: kdebase-apps 4:4.3.4-1 recommends 'konqueror-nsplugins (>= 4:4.3.4-1)'

kwrite
reason: kdebase-apps 4:4.3.4-1 depends on 'kwrite (>= 4:4.3.4-1)'

libkonq5
reason: kdebase-apps 4:4.3.4-1 depends on 'libkonq5 (>= 4:4.3.4-1)'

libkonq5-templates
reason: libkonq5 4:4.3.4-1 depends on 'libkonq5-templates kdesktop'

libkonqsidebarplugin4
reason: konqueror 4:4.3.4-1 depends on 'libkonqsidebarplugin4 (>= 4:4.3.4)'

plasma-widget-folderview
reason: kdebase-apps 4:4.3.4-1 depends on 'plasma-widget-folderview (>= 4:4.3.4-1)'


The following 1 packages will be UPGRADED:

konsole
reason: synchronized with package 'kdebase-apps'


Need to get 6024KiB/6024KiB of archives. After unpacking 14.9MiB will be used.
Do you want to continue? [y/N/q]
->8-

Now, the output is much bigger. Every package has reason(s) to change its state appended. Let's look at the chain: kinfocenter is installed, because... kdebase-apps is to install. Ok, look further, kdebase-apps is to install because... of kde-minimal. The final chain is 'kde-minimal -> kdebase-apps -> kinfocenter'.

Stage 2.5. Analyzing reason

After determining a full chain one may try to think - is this dependency chain looks OK? Maybe, some Depends/Recommends should be turned up to a less strict dependencies? If that so, it's a good idea to fire a command 'reportbug <package>' to report an unwanted dependency.

In this example, the dependency chain looks OK (at least, to me :)).

Stage 3. Installing a package without unwanted dependency(ies)

The resolution of the problem depends on the answer to the question "Why I don't want this package to be installed?"

Case 1. Only this time/package

If the answer is, say, "Because dependency 'kdebase-apps -> kinfocenter' doesn't make sense on this system", then you do:

-8<-
$ sudo cupt install kde-minimal kinfocenter-
[sudo] password for jackyf:
Building the package cache... [done]
Initializing package resolver and worker... [done]
Scheduling requested actions... [done]
Resolving possible unmet dependencies...
The following 15 packages will be INSTALLED:

dolphin kappfinder kde-minimal kdebase-apps kdebase-bin kdebase-data kdepasswd kfind konqueror konqueror-nsplugins kwrite libkonq5 libkonq5-templates libkonqsidebarplugin4 plasma-widget-folderview

The following 1 packages will be UPGRADED:

konsole

Need to get 5463KiB/5463KiB of archives. After unpacking 13.2MiB will be used.
Do you want to continue? [y/N/q]
->8-

And that's all, kinfocenter won't be installed.

Consequences:

1. This answer implies that you are not against installing kinfocenter if some other package needs it. So, while installing other packages which recommend kinfocenter cupt will suggest you to install kinfocenter again.

2. If you will want to upgrade the package, and the new version contains the same relation, cupt will not suggest to install kinfocenter.

Case 2. Forever

If the answer is "Because I don't want to see kinfocenter in my system ever", then the good choice is APT pinning system.

Place the next three lines into your APT preferences file (usually, /etc/apt/preferences or any file in /etc/apt/preferences.d directory):

-8<-
Package: kinfocenter
Pin: version *
Pin-Priority: -10000
->8-

-10000 is a very low priority, usual priorities are (0 - 1000), so cupt will not ever suggest you to install kinfocenter because of soft (Recommends or Suggests) dependencies. Moreover, if in some actions cupt will need to choose between, say 'kde-virtual kde-virtual-alternate', where kde-virtual depends on kinfocenter and kde-virtual-alternate does not, then cupt will choose kde-virtual-alternate. The exceptions possible in (very unlikely to happen) cases, when non-installing kinfocenter will result in very bad solution for selected actions. The less priority kinfocenter has, the less chances it has to be installed when not requested explicitly (as in 'cupt install kinfocenter').

Steve Kemp: Different cultures call us by different names

This past week has had a couple of minor software releases:
chronicle
I made a new release which improves support for foreign language; so dates can be internationalised, etc. The online demos now include one in with French month names.
slaughter
The perl-based sysadmin tool had a minor update earlier today, after it was pointed out that I didn't correctly cope with file content checks. I'm still pretty pleased with the way this works out, even if it is intentionally simple.
milli
This is a simple bug-record-thingy which I was playing with recently, and I've now started using to record bugs in other projects. I'll pretend its a fancy distributed-bug-tracker, but actually it isn't. It's nothing more than a bunch of text-files associated with a project, which have sufficiently random names that collisions are unlikely and which thus becomes semi-distributed-friendly.
Today I'll be learning to love Javascript a little more. I want to use the gallerific image gallery - but it doesn't make thumbnails automatically - which galleria does. I need to either come up with my own which looks like galleriffic, or port the thumbnail bits over. (I'm currently using a slightly modified version of gallerifific for my people-shots.) ObFilm: Hancock

16 April 2010

Andrew Pollock: [tech] On the iPad

I tend not to be a huge Apple fanboy. They make nice stuff, but it's just too closed for my liking. I like to tinker. I had a PowerBook for a while, but I gave it to Sarah in favour of a Linux laptop. Sarah's been a happy Mac user for a number of years, and had an iPhone (until I gave her a Nexus One). For a "normal" user like her, a Mac is fine, especially if you want to embrace Apple's entire ecosystem. Anyway, the iPad. When it was announced, I sat up and took notice. Why? This seemed like something I might actually use as a casual computing device. I mean, I'm almost in the target market for Chrome OS these days. I spend most of my time in a web browser, and the rest of my time in a terminal window SSHing to another computer. I could leave this thing lying around on the coffee table in the living room, and instead of digging my phone out of my pocket to look something up, I could pick this up instead. It is also appealing because I found Microsoft's Surface to be pretty cool. The iPad is like a more affordable, portable, version of that. It also appeals to me as a computing platform for my parents. Their computing needs have simplified over the years, but they're still running Windows, largely because I've never had the time to try and foist Linux on them. Since I moved to the US, my visits back home have been too brief to do a proper migration. I think an iPad that supported user switching would be perfect. Mum and Dad could share it, and read their email and do their web browsing from anywhere in the house. Since the first generation iPad doesn't do user profiles and lacks a camera, I'll wait impatiently for the second generation one. I heard a rumour today that it would have a camera, and do user profile switching based on the face of whoever was in front of it. That would be pretty cool. I'd also be very interested in an Android tablet. I love Android's speech to text input support, and I could really see an Android tablet stuck to the wall in the kitchen, instead of a whiteboard on the fridge and a paper calendar. The WePad also sounds intriguing. So I'm not so bothered by the iPad's closed nature. I think for the set of users who have basic computing needs, and don't care about openness, it's very cool.

Joey Hess: 10 years

This month is the ten year anniversary of when I started blogging with this post. After a strong start in 2000 thanks to advogato.org, I slowed down, and 2003 saw no blog posts at all. Since then I have kept going fairly steadily, to no set schedule, writing when I feel the need. In all, 984 posts over ten years, or almost two posts per week. 205000 words. 650 pages if it were all bound into a book. (Sounds like a lot maybe, but the software I've grown to run the blog is 3 times longer.)

15 April 2010

Gustavo Noronha Silva: WebKit2 and WebKitGTK+

So you ve seen people talking about WebKit2, perhaps have seen someone claiming it drops support for Linux , and you ve been wondering what the hell that means for WebKitGTK+. Well, welcome to the preemptive Q&A section with WebKitGTK+ maintainers =D. Let s first explore some history so we can better understand what exactly is going on. What exactly is WebKit2? Currently, when we say WebKit we really mean one of the ports that are built on top of WebCore using the WebKit layer. WebCore is the part that does all of the hard Web-related work, WebKit an API layer that exposes WebCore functionality in a coherent way, so that the platform-specific ports can expose a public API layer for their applications to use, which is usually also called WebKit . This WebKit layer was designed by Apple to build the Mac, and Windows ports it maintains, and was later released as Free Software so that other ports, such as the GTK+, Qt, EFL ports could be built on top of it, instead of having to do all the heavy lifting from WebCore directly.

Current WebKit model WebKit2 is nothing more than the second version of that interface, with a whole lot of changes on what you can expect from it, and on how it interacts with WebCore, and the platform-specific API and UI. First of all, the first WebKit was not API stable, and that interface was usually not made public by the various ports - they only exposed their platform-specific APIs. WebKit2 is being designed to provide a stable, cross-platform, C-based, non-blocking public API. This is huge. It will allow cross-platform code to be written without having to consider language, and port differences for basic functionality. The second big change is the API will be made fully non-blocking. Currently most things you do are asynchronous already, but some of them may be completed in a synchronous ways (like, loading a string into WebKit instead of an URI). This is important for responsiveness, and is also a very important need for what comes next: process splitting. WebKit2 will bring into WebKit proper the concept of splitting the UI process from the Web process, similar to what Chromium has. It also much more awesome than what Chrome has for a large number of reasons, including, but not limited to:

  1. It s being contributed directly to the WebKit project, in a cross-platform way that lets ports such as WebKitGTK+ take advantage of it, instead of being shipped directly into Safari, like Google does with Chrome;
  2. The process separation goes bellow the API layer, meaning that all complexity involved in managing the process separation is handled by the library, and hopefully none of it leaks to the application using it; that means that applications like Devhelp and Yelp will be able to take advantage of this without having to make their lives more complicated;
There s a much better diagram in WebKit2 s wiki page, but here goes a simplified version that demonstrates what I m talking about:
WebKit2 model
What WebKit2 is not? WebKit2 is NOT a rewrite of the whole WebKit stack. Webcore will continue mostly unchanged, and all ports currently building on top of it will keep working. It is also not a fork - the code lives in the same tree as the current version of WebKit, which will allow us to progressively move towards using this new, improved layer. WebKit2 is not Apple-only, and it is not dropping Linux support. Initial builds of the code that is being landed will likely show up building on Linux in the near future (specially because us porters are already eager to play with it). What happens to WebKitGTK+? In the near future, nothing special. We will continue working towards making it feature-complete, more stable, faster, and rocking on it as always. We will, though, start working out how we can best take advantage of WebKit2 in order to provide an even more awesome library for the G world. What this means is you can expect us to have a library that will provide a nice GTK+ widget, just like we have today, with a GObject-based API, like we have today, but that is built on top of this new WebKit2 infrastructure, taking advantage of the process-splitting, and the bigger focus on not blocking the UI thread. This should give us a platform that is more stable, and faster and more responsive than what we already have today. The API is bound to change, of course, but the WebKit2 version of WebKitGTK+ will be a separate, parallel-installable library, and we will keep supporting the WebKit1 version while we work on making the new one at least as good as the current one. This is long term we re talking here. We ll likely see WebKitGTK+ 1.4, and 1.6 come to life before we are satisfied enough with WebKitGTK+2. We hope this clears some of the doubts up, and lightens your hearts! The WebKitGTK+ maintainers.

13 April 2010

Gunnar Wolf: Regarding the fatal cycling accident in Ciudad Universitaria

My blog is written in English, even though I sometimes post content relevant locally. Anyway, I want this to be as widely known as possible. We are about to launch a website/community for my University's cyclists, BiciUNAMonos. Please note the site I'm linking is still very preliminary in several ways. But that's the least relevant for now. I am translating here a message written by fellow cyclist (and researcher in the Institute of Astronomy of my University) Sergio Mendoza.
Regarding the fatal cycling accident in Ciudad Universitaria Yesterday night I got home, and was quite surprised to open my mailbox and find a considerable amount of messages under the subject Urgent: Fallen cyclist! I immediately noticed something was very wrong, and was surprised they were contacting me. When I decided to read the first such message, I realized what happened: Dr. Jorge Villanueva was run over by the Puma [internal University service] bus number 14, route 2, which was being driven over the speed limit. This happened last Sunday, April 11. On Sundays, all of Ciudad Universitaria becomes a cycling and running circuit. I was immediately brought back to the moment that, when I was leaving my office in the Astronomy Institute and heading towards Cerro del Agua avenue, a lady driving over the speed limit on the circuit that comes from Metro Universidad threw her car at me. I saw her at a few centimeters distance from her windshield... To the day I don't know how I pulled my bike away, as I was going to hit the windshield with my shoulder. Everything happened in slow motion, I just heard several cars honking at this imprudent lady. I didn't have a scratch, but got excessively close to getting a strong hit, and with the adrenaline raging I gave a kind caress with my closed fist to her brand new car. I had to free my adrenaline somehow... My legs were trembling when I tried to pedal. I told her, lady, I am excessively visible in my bike, why did you do this? , she didn't answer, she just looked despectively at me. This kind of accidents happen every day in the University and its main entries. Precisely today, a University professor threw his car at me entering the University via Cerro del Agua. When I reached him and confronted him, he told me completely sure of his words that I was invading the lane with my bike, and that it was my fault. Anybody would have thought a car-driving university professor is capable of reading the Metropolitant Transit Regulations that clearly states on its 1st article: The priority for using the public space, for the different transport modes will be according to the following priorization: I. Pedestrians; II. Cyclists; III. Users and providers of massive, collective or individual public transport service; IV. users of particular automotor transport; and V. users and providers of freight transport. We are now organizing to put up the first ghost bike in Ciudad Universitaria. This happens few days before the formal inauguration of BiciUNAMonos, the universitary association of urban cyclists; we will do this remembering our university mate. I see every day more people in the University hitting their bike pedals to get to their faculties, centers and research institutes, but what is striking is the lack of University infrastructure. The few cycleways we have are built to use a bycicle system that is open only until 16:00. It is good, but it is in no way useful for those of us who use the bike every day and at every hour, no matter the weather. The main problem lies at the communication points, when cyclists arrive from outside Ciudad Universitaria and have to take the regular circuits to reach the cycleways. The Transit Regulation, in the 1st article I quoted above, defines in an excellent way the priorities that must exist to allow human movility. In this regard we have to mention that:
  1. The pedestrians must be enormously protected with walkways and semaphores to allow them to safely walk. In Ciudad Unviersitaria there are many places that don't even have a walkway or semaphores, and drivers do not respect the pedestrian's preference. Also, now in the central area of Ciudad Universitaria we have the Pumabus system on a confined lane, providing an excellent service to the pedestrians to move within the campus.
  2. The cyclist comes next in this priorization, but there is nothing obvious for him. There are a couple of cyclist ways, usually invaded by pedestrians, and explicitly made to use the Bicipuma system. Cyclists need their own lane for circulation in the Universitary circuit; pedestrians have walkways, Pumab s has its confined lanes, but the cyclists still lack it. The third lane that remains is precisely for the IV and V entries in the Metropolitan Transport Regulations. They can perfectly share the remaining lane in the campus.
The last thing I wanted was to formally announce BiciUNAMonos reminding a fallen cyclist and dedicating a ghost bycicle to his memory in Ciudad Universtiaria, but we don't have a choice. We have to make it very clear to the University community that the bicycle is the best transport system, and that the drivers' imprudence inside Ciudad Universitaria must be strongly punished. Sergio Mendoza
President
http://www.biciunamonos.org
Coincidentally, today I also had a freightening experience. Taking one of my usual routes to work, going up from the sporting area in the Western half of the campus (just before where the map lists the highest point in my ride), just by Investigaciones Biom dicas, I heard a car hitting the breaks behind me and passing me (on my right side) quite narrowly. I was, as always, driving towards the center of the lane, to be able to respond to unforseen events (as this one, precisely). The Universitary authorities had the great(?) idea of placing round, small bumps before the Pumabus stations to avoid drivers parking in front of them. I have seen a strong accident caused by them, and was close to suffering one myself some months ago. I know that just after Biom dicas there are some such bumps, so I never ride too much to the right I don't know what was on this driver's head. Ciudad Universitaria has a 40 Km/h speed limit. Yes, it might seem too low - Circuits are wide and well planned. But there is a lot of cyclist and pedestrian transit, at all times, and I must recognize such a limit is well in place. I often take a longer route to my Institute, bordering the University along Av. Delf n Madrigal. People tell me I'm crazy, as this is an avenue that's often taken at high speed - Usually, cars pass me by between 60 and 80 Km/h. However, I even feel safer going that way than going inside the University. Contrary to the popular belief, Universitary people do not have better driving habits than the bulk of the population. And it's often much easier to drive along a way where the traffic even if it goes at three times my speed runs only in one direction, unlike the swarming of people going in every possible direction inside the main campus. Anyway, last Sunday we lost a University professor, we lost a cyclist. Some people lost a friend, a family member. We have to make this case well known, we have to speak with the authorities so they see the Bicipuma system is good, but not enough. Cycling is the only way to go for a city as complex as ours. A much needed first step is to allow proper vial connections linking the University and the many avenues that surround it. Another one is to make a campaign so the cyclists are not seen as Sergio regards as intruders in the streets The street belongs to us all. Cyclists should never drive on walkways or among pedestrians. Drivers need to learn to share the streets with us.

12 April 2010

Chris Lawrence: epcp for R

I finally have packaged up a very rough port of my epcp routine from Stata to R as part of a package unimaginatively called cnlmisc; you can download it here. In addition to the diagnostics that the Stata routine provides, the glm method includes a bunch of R-square-like measures from various sources (including Greene and Long). The only part I m sure works at the moment is the epcp for glm objects (including survey s and Zelig s wrappers thereof); the others that are coded (for polr and VGAM) are probably half-working or totally broken, and some wrappers aren t there yet at all. The error bounds suggested by Herron aren t there either. The print routines need a lot of work too; eventually it will have a nice toLatex() wrapper as well. But it beats having it sit on my hard drive gathering dust; plus I may eventually get motivated to write a JSS piece or something based on it. epcp for Stata is still available at my site. For more information on the measure, see Michael C. Herron (1999), Postestimation Uncertainty in Limited Dependent Variable Models Political Analysis 8(1): 83 98 or Moshe Ben-Akiva and Steven Lerman (1985), Discrete Choice Analysis, MIT Press.

11 April 2010

John Goerzen: Final comments on our trip to Europe

I wrote a lot about our trip to Europe here, and I had a few more comments to share. I had a great time there. It was fun to stay with people, and it was also fun to explore cities on our own. I am eager to be able to go back. Communication
I ll admit I wasn t sure how I d do there. I speak only a little German, and no Czech at all. I have never been in a situation in which I don t speak the dominant language, and this is probably typical for Americans. (I m not going to count the few exceptions of eating at small Mexican restaurants in the USA where the staff speaks little English, as it s not really the same experience to be in that situation for an hour or two.) I was most apprehensive about our time in Berlin and Prague. In those cities, we didn t know anyone. And, although I speak a little German, I speak no Czech at all. In the end, though, it all worked out fine. I never saw anyone get frustrated with us for our lack of language knowledge, and we also never got rattled. With patience and a bit of ingenuity, we figured things out in every different situation. I feel a sense of accomplishment from that, and I think it s left me more ready to travel in the future. And, I d also have to say, that was one of the most interesting lessons of the trip: how two people that don t share a common language can still communicate. It might be slow, but it s also rewarding and easier than I might ever have thought. I remember particularly buying a couple of fragile carved wood souvenirs at the Zeidler Holzkunst (wood art) shop in the Altes Rathaus in Leipzig (Seiffener Volkskunsterzeugnisse was on the window). The shopkeeper spoke no English. We were interested in some rather fragile items, and I wanted to ask her if she could pack it in a box. I didn t know the German words for pack or box . So after a couple seconds thought, I realized I knew how to tell her, in German, that we re from America. And then I asked, Can you? (in German) and gestured for a square box, figuring maybe she d put it together that we d need to pack it well to take it home with us. Success. She quickly produced a box, and asked if that s what we wanted. A few minutes later, a bit of pointing towards the glass case communicated what we wanted to buy. It took a little longer than it would have from someone that spoke English, but this was more rewarding in the end. The train station in Prague was another challenge. It didn t have nearly as much English signage as other train stations we d been in. We did a little wondering around, and some educated guesses, and a brief English conversation in a bank, we eventually found an ATM, a place to change the big bills for smaller ones, and a Metro ticket shop that was open. Clothes Many Americans, and American travel books, suggest not wearing jeans and tennis shoes in Europe. Many commented that people dressed more formally in Europe. That advice appeared to be rather wrong, especially in L beck, where it appeared that many people dressed less formally than in the USA. As we went south and east, we saw fewer jeans, but still they were rather common. Our biggest blunder here was probably the shoes that we brought for Terah. She brought some shoes that looked nice, but weren t very good for walking. She wound up with some painful blisters on her feet, and wished she had just brought her regular tennis shoes. Luggage and Packing We try to travel light when we can. All of our luggage for the entire trip fit into two carryon-size suitcases, though we sometimes separated some items out into a backpack for ease of use in airports/airplanes. This worked out about right. We did laundry once in Germany so we didn t have to pack enough clothes for the entire trip. As far as electronics go, we brought along an international GSM phone from onesimcard.com, my Droid (which could use Wifi but not GSM), Terah s iPod Touch, a GPS, my digital camera, and a laptop. That also was about right. We used the Droid to call back to Indiana to check on the boys, using SIP over WiFi for free calling via Google Voice. The laptop is a small one, so didn t add a lot of weight or bulk. It was nice to have to check out maps and Facebook. The GPS was somewhat less useful than I had anticipated. I had pre-loaded it with street-level maps of most of Europe, and also put on it points in Berlin that had been suggested to us. The transit maps were really more useful most places, especially when combined with a detailed street-level map. In Berlin, though, the detail on the street-level map from our hotel was somewhat lacking, so the GPS came in handy. It was also nice to quickly be able to see where the nearest S-Bahn and U-Bahn stops were, then cross-referencing with our transit map to figure out how to get where we wanted to go. One night in Leipzig, after a concert at the Gewandhaus, we made a couple of wrong turns on our way to a tram stop. The GPS would have saved us 15 minutes of walking had we brought it along, but we figured it out with our street map and it wasn t really a problem. Rick Steves is a big advocate of money belts when traveling. These are a belt with a zippered pouch, and are worn under your pants (though over your shirt, if it s tucked in). The idea is that it s hard to pickpocket. He suggests having a days worth of cash in a front pocket, and passports and larger bills in the money belt. We brought one but never used it. I kept small cash in my pocket, and we kept passports and my wallet (with larger bills) in Terah s purse, which was on a strap around her neck, zippered shut, and held under her arm. We had no problems. I tend not to keep my wallet in my back pocket even when traveling in the USA. Also, the hotels we stayed in had safes, and the residences were of course plenty safe, so we had no problem leaving valuables there. I brought only a single lens for my Digital Rebel XTi, a 28mm fixed lens that is small and light. That was just fine, and I was happy to have a fixed lens for photography in dark churches. Also, I wouldn t have wanted to carry around a bulky zoom lens all over. We sometimes took the camera with us, and sometimes not. In Berlin in particular, we just left it in the hotel room. I figured (correctly) that there would be plenty of photos on Flickr of the sites we were visiting, and we could just enjoy the time a little better if we weren t worrying about a camera too. But I was glad to have it along. Transportation The transportation systems in the cities we visited felt more, well, balanced than they often are in the USA. It s not that there weren t busy car-filled avenues, but more that there were also quiet shopping streets where cars were banned. Cars often seemed to be more of an option than a necessity, and not always the best option at that. Public transportation was common, as were pedestrian routes and bicycle lanes. The only American city I ve visited that felt even close to this approach was Portland, OR. I wish we adopted it more often here. I also admire the German intercity rail service, operated by Deutsche Bahn. You can get all over the country pretty quickly. The trains we rode on were quiet, smooth, and timely. I wish we had that kind of service in more parts of the USA.

Gunnar Wolf: Lets all get running

There is no clear reason, but for many months already, I have almost given up running Which is a shame, as I enjoy it so much. And yes, I can talk a lot about why not, but outside of one seemingly stupid point there is really no reason. And yes, I have taken on cycling, although on a very different fashion: Cycling is by far not as good as an exercise as running Yes, cycling for ~1h on average 3 times a week has kept my body from becoming sedentary again, but I do feel some increased clumsiness and a undeniable weight gain that I don't want to allow. I said there is one seemingly stupid point: Shoes. My running shoes are around two year old, and they are an important factor on me not running. Why? Because they started giving me blisters at ~5Km. And my shoe size is beyond what is considered as normal by Mexican standards European 44-45 (US 10 -11). Shoe-shopping is always frustrating and very off-putting for me, as instead of what most people do (go to one store, ask for their favorite n pairs on their size, test them on, pay, be happy), I follow almost the opposite process (go to n stores, ask for whatever they have on my size, test it on, pray, pay). Of course, for some people, entering many stores and checking what's offered at each is a thrill by itself. For me, that sounds as thrilling as visiting the dentist for an endodontic treatment. Oh, and to make things even better, I am quite low on cash. Scarcity economics explain that if a given good is hard to find, it will probably be more expensive. So, while many people in Mexico buy ~US$30 shoes, I often get to pay ~US$90. Fun, hah? Anyway, I had a short semi-vacation to Argentina. I decided to kill this excuse, and went shoe-shopping. Fearsome memories sprang in my mind when the first store said they didn't have anything right for me. But they pointed to a second store, one block away, where I found (I was even able to choose between several models!) a nice pair of Olimpikus. In 2008, I was routinely running slightly over 10Km. Today I went out to get back the feeling, and made a not-so-great-but-still-satisfying 4Km. And upon arriving back home, I read Christian's chronicle on his Paris Marathon run Well, only 10% of what my fellow DD achieved But I am definitively back on track. I expect to make some time to get a run, at least three times a week, trying to push my limit at least back to the nice spot I was at two years ago.

Andrew Pollock: [life] I (apparently) have obstructive sleep apnea

A while ago now, Sarah commented that one night when she's woken up in the middle of the night, that she'd observed me stop breathing for a while in my sleep. She wanted me to go see the sleep doctors that she'd seen (she was diagnosed with obstructive sleep apnea a couple of years ago). So I eventually packed myself off to the Stanford Sleep Disorders Clinic, which is at Stanford's shiny new outpatient centre in Redwood City. They took a look at me, and declared I had a crowded mouth, and a narrow airway, and asked me to do a sleep study. I did the sleep study in the middle of January. That was "interesting". I had a ton of wires glued to me, and needless to say, I didn't sleep particularly well, but apparently I slept enough for them to be able to diagnose me. A couple of weeks later, I got a letter with the results. I had a Respiratory Disturbance Index of 16.6. The letter from the clinic defined RDI as including "events of 10 seconds or more with cessation of airflow or discernable reduction in airflow associated with arousal or oxygen desaturation of 3% or more". I had one obstructive sleep apnea event, and 119 obstructive hypopnea events during the sleep study. At one point my O2 saturation dropped to 89%, but it was very briefly. The overall average was 96%. A month ago I did another sleep study, this time while I was hooked up to a CPAP machine, and they fiddled with the pressure. I was fairly exhausted that night, and slept like a log. Based on the results of the second sleep study, I've been prescribed an auto PAP machine with a pressure ranging between 13 to 15 cm of water pressure (whatever that means). I got the machine, a ResMed S8 AutoSet II a week ago last Friday. It's slightly more advanced than the CPAP machine that Sarah uses, in that it'll adjust its pressure within the range it is set to, as it deems necessary throughout the night. It also backs off the pressure when you exhale, like Sarah's does. I'm not particularly thrilled to be sleeping with this thing on my face. The first night I used it, I slept fine. Something like from 10:30pm until 6am. Subsequently, I keep waking up at precisely 3:30am for some reason, and it's hard to get back to sleep with it on, so I take it off. A few nights, some sort of mask leakage alarm has gone off at some random point in the night. I haven't been in any state to try and diagnose what's going on when that happens, so I just take off the mask and turn the whole thing off. I was curious as to whether I'd notice some sort of life-changing difference between using it and not using it, like Sarah does, but so far, I can't say I've noticed any discernable difference. I also haven't gone a night without using it yet. Getting a properly fitting mask was a bit of a challenge. I spent ages at the durable medical equipment supplier trying on different sorts of masks. The one I've currently got still leaves a bit of a red mark across the bridge of my nose. I can take it back in the first 30 days, and get refitted, so I might still be doing that.

Christian Perrier: [life] Paris marathon 2010~bubulle-1 ACCEPTED

Upload accepted by organisers. Upload time has been 3h49'29" (my watch says 27", eh!). That was a good one, really (actually, I can compare to only 3 as it was my fourth marathon after Paris and Cologne 2009, plus the unofficial Rambouillet Forest marathon I ran alone 6 weeks after Paris 2009). For marathoners around, here are the chronometric data. Please note that GPS watches tend to overestimate the distance, mostly because of the jerky way one runs in mass events, as well as geometric considerations related to the imprecision of GPS (imprecision may be lateral and thus the line recorded by the watch is often less straight than the real one). For instance, according to my watch, Paris marathon was 42.63km long, so an overestimate by nearly 500meters. As a consequence, the recorded speed of 5'23"/km should be corrected to 5'25". So, times below should be increased by 2 seconds. As a conclusion, even though I can improve the pace and avoid going too fast in the first 25km, I'm very happy as I avoided nearly collapsing as I did last year (with sometimes over 7'00/km and a few walks). Going back home was OK and I had no cramps and I still haven't any. This is also what one gets when preparing well. My only regret is that I didn't run over 30km since, indeed, Cologne Marathon! That made the difference in the last 12 kilometers, obviously. Having spent the winter on many half-marathons (either alone, or a few officials) clearly improved my "performance" up to 25km. For the next marathon (a marathoner always thinks about the next one), I need to have 1 or 2 long trainings a few weeks before. Now, I have to find out which one will be the next one... and I wish good luck to my friend No l K the, who is preparing the Mainz marathon for May 9th as well as Dirk who's certainly preparing another one. Guys, rendez-vous is of course for Debconf10 in NYC. We won't run a marathon for sur, but how about an half one? :-)

10 April 2010

John Goerzen: Jacob has a new computer and a favorite shell

Earlier today, I wrote about building a computer with Jacob, our 3.5-year-old, and setting him up with a Linux shell. We did that this evening, and wow he loves it. While the Debian Installer was running, he kept begging to type, so I taught him how to hit Alt-F2 and fired up cat for him. That was a lot of fun. But even more fun was had once the system was set up. I installed bsdgames and taught him how to use worm. worm is a simple snake-like game where you use the arrow keys to eat the numbers. That was a big hit, as Jacob likes numbers right now. He watched me play it a time or two, then tried it himself. Of course he crashed into the wall pretty quickly, which exits the game. I taught him how to type worm at the computer, then press Enter to start it again. Suffice it to say he now knows how to spell worm very well. Yes, that s right: Jacob s first ever Unix command was . worm. He d play the game, and cackle if he managed to eat a number. If he crashed into a wall, he d laugh much harder and run over to the other side of the room. Much as worm was a hit, the Linux shell was even more fun. He sometimes has a problem with the keyboard repeat, and one time typed worrrrrrrrrrrrrrrrrrm . I tried to pronounce that for him, which he thought was hilarious. He was about to backspace to fix it, when I asked, Jacob, what will happen if you press Enter without fixing it? He looked at me with this look of wonder and excitement, as if to say, Hey, I never thought of that. Let s see! And a second later, he pressed Enter. The result, of course, was: -bash: worrrrrrrrrrrrrrrrrrm: command not found Dad, what did it do? I read the text back, and told him it means that the computer doesn t know what worrrrrrrrrrrrrrrrrrm means. Much laughter. At that point, it became a game. He d bang at random letters, and finally press Enter. I d read what it said. Pretty soon he was recognizing the word bash , and I heard one time, Dad, it said BASH again!!! Sometimes if he d get semicolons at the right place, he d get two or three bashes . That was always an exciting surprise. He had more fun at the command line than he did with worm, and I think at least half of it was because the shell was called bash. He took somewhat of an interest in the hardware part earlier in the evening, though not quite as much. He was interested in opening up other computers to take parts out of them, but bored quickly. The fact that Terah was cooking supper probably had something to do with that. He really enjoyed the motherboard (and learned that word), and especially the CPU fan. He loved to spin it with his finger. He thought it interesting that there would be a fan inside his computer. When it came time to assign a hostname, I told Jacob he could name his computer. Initially he was confused. Terah suggested he could name it kitty , but he didn t go for it. After a minute s thought, he said, I will name it Grandma Marla. Confusion from us did he really understand what he was saying? You want to name your computer Grandma Marla? Yep. That will be silly! Sure you don t want to name it Thomas? That would be silly! No. I will name my computer Grandma Marla. " OK then. My DNS now has an entry for grandma-marla. I had wondered what he would come up with. You never know with a 3-year-old! It was a lot of fun to see that sense of wonder and experimentation at work. I remember it from the TRS-80 and DOS machine, when I would just try random things to see what they would do. It is lots of fun to watch it in Jacob too, and hear the laughter as he discovers something amusing. We let Jacob stay up 2 hours past his bedtime to enjoy all the excitement. Tomorrow the computer moves to his room. Should be loads of excitement then too.

Andrew Pollock: [tech/security] How not to do it

From http://www.symantec.com/connect/articles/active-directory-and-linux...
An alternative to allowing anonymous searches on your Active Directory is to allow the nss_ldap routines to bind as an administrator DN to your directory and perform searches in privileged mode. To do this, insert the following lines in your /etc/ldap.conf file: binddn cn=Administrator,cn=Users, bindpw You should be used to the "" thing by now. WARNING: The above example shows that the administrator user name and password have been coded in clear text in the /etc/ldap.conf file! Unfortunately, this file must always remain world-readable, because otherwise users logged on to the system will not be able to read data from the directory. You should not do this on a system where any user has shell access to your system, or can in any other way read this file.
If you've put the Administrator password in a world-readable file, you've already lost.

9 April 2010

Enrico Zini: apt-xapian-index now comes with a query tool

apt-xapian-index now comes with a query tool I've just uploaded a new version of apt-xapian-index to unstable. Now it comes with a little query tool called axi-cache. You can search this way:
axi-cache search foo bar baz facet::tag sec:section
In fact, you can use most of the things described here. You can then say axi-cache more to get more results, or axi-cache again to retry a search, or axi-cache again wibble wabble to add keywords to the last search. This allows to start with a search and tweak it. In order to work it needs to save the last search so again or more can amend it. Searches are saved in ~/.cache/axi-cache.state. You can search tags instead of packages by adding --tags. It will suggest extra terms for the search, and also suggest extra tags. It can even correct spelling mistakes in the query terms once the index has been rebuilt with this new version of update-apt-xapian-index. I need to thank Carl Worth who, with notmuch, reminded me that if I just build a nice interface on top of Xapian's query parser I go quite a long way towards making a Xapian database extremely useful indeed. axi-cache also integrates with bash-completion so that tab completion is context-sensitive to the command line being typed:
$ axi-cache search image pro
probability      process          processors       programmability  provides         
problem          processing       production       pronounced       proving  
$ axi-cache search kernel pro
problems     processor    production   proved       provided     
processing   processors   programming  provide      provides     
Thanks to David Paleino who wrote the bash completion script. Just for reference, this is the command line help:
$ axi-cache help
Usage: axi-cache [options] command [args]
Query the Apt Xapian index.
Commands:
  axi-cache help            show a summary of commands
  axi-cache search [terms]  start a new search
  axi-cache again [query]   repeat the last search, possibly adding query terms
  axi-cache more [count]    show more terms from the last search
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -s SORT, --sort=SORT  sort by the given value, as listed in /var/lib/apt-
            xapian-index/values
  --tags                show matching tags, rather than packages
  --tabcomplete=TYPE    suggest words for tab completion of the current
            command line (type is 'plain' or 'partial')
If you install the package for the first time, you may need to rebuild the index by running update-apt-xapian-index as root before using axi-cache.

Ingo Juergensmann: Syncing N97

We now have year 2010 but sometimes it still feels like living in the Stone Age of Computing. There's a smartphone, let's call it N97, with Symbian on it. Then there are a bunch of client computers such as a Debian workstation/homeserver running Sid, a Laptop running OS X with iCal and a Windows XP machine at work. Every machine itself (well, with the exception of the XP machine) is a nice piece of hard- and software offering a bunch of possibilities: you can manage your calendars, contacts and tasks.

The difficulty arise when you want to sync those calendars, contacts and tasks between all of the different machines.

There are several ways to address this task:

  1. WebDAV:
    Setting up a WebDAV is no rocket science and you can easily sync your calendars easily with Sunbird or Thunderbird/Lightning for example. But that leaves the N97 ouf of syncing. The N97 can be synced with iSync on OS X, but iCal is not able to work on a single calendar. You can either export a calendar to a remote WebDAV or subscribe it. iCal ignores changes done in other clients and will overwrite those.


  2. CalDAV 1:
    CalDAV (calendarserver) does require some more configuration before you can use it properly, but when done, it should be capable of syncing calendars, resources, tasks and such. Using CalDAV should work aorund the limitations of WebDAV as mentioned above. The calendars can be synced to CalDAV from iCal by creating a remote account and you can sync with iSync via Bluetooth. But you will need a local calendar in iCal, because you can't use iSync to sync your smartphone to your CalDAV remote calendar in iCal.

    iSync unable to use CalDAV for syncing


    Additionally there are problems when you delete an event from your CalDAV calendar on your smartphone. iSync will report an error like this:

    Freitag, 9. April 2010 21:45
    [Nokia N97]
    Changes of Events in writeprotected calendar on this phone are not permitted. These changes were ignored: test, 04/09/2010 23:00


    Deleting events in your local iCal calendar, however, is working well. In the end this result is not encouraging as I need the CalDAV calendars being in sync.
    Syncing with Sunbird on OS X doesn't work either. Maybe it would with DAViCal as server frontend?


  3. CalDAV 2:
    Because syncing via iSync doesn't work as expected it would be a decent solution if the N97 could sync directly to CalDAV. Unfortunately it can't, although there seems some progress with Symbian there. If that is already integrated into v21.0.102 of N97 firmware, it would nice if someone could point me to how configure the N97 properly.


  4. SyncML:
    Maybe another option would be to use some sort of SyncML server in order to sync calendars and stuff between those machines, but I don't know how OS X will work with that approach. Again, hints are welcome!


Syncing calendars and other stuff really seems to be painful. Using a third party webservice such as .Mac or Google Calendar is no option at all. I don't want to give private data out of my hands and control. So, a self hosted service is needed.
Dear lazyweb, is there a solution available for my problem? I hope so...

John Goerzen: Introducing the Command Line at 3 years

Jacob is very interested in how things work. He s 3.5 years old, and into everything. He loves to look at propane tanks, as the pressure meter, and open the lids on top to see the vent underneath. Last night, I showed him our electric meter and the spinning disc inside it. And, more importantly, last night I introduced him to the Linux command line interface, which I called the black screen. Now, Jacob can t read yet, though he does know his letters. He had a lot of fun sort of exploring the system. I ran cat , which will simply let him bash on the keyboard, and whenever he presses Enter, will echo what he typed back at him. I taught him how to hold Shift and press a number key to get a fun symbol. His favorite is the hat above the 6. Then I ran tr a-z A-Z for him, and he got to watch the computer convert every lowercase letter into an uppercase letter. Despite the fact that Jacob enjoys watching Youtube videos of trains and even a bit of Railroad Tycoon 3 with me, this was some pure exploration that he loves. Sometimes he d say, Dad, what will this key do? Sometimes I didn t know; some media keys did nothing, and some other keys caused weird things to appear. My keyboard has back and forward buttons designed to use with a web browser. He almost squealed with delight when he pressed the forward button and noticed it printed lots of ^@^@^@ characters on the screen when he held it down. DAD! It makes LOTS of little hats! And what is that other thing? (The at-sign). I ve decided it s time to build a computer for Jacob. I have an old Sempron motherboard lying around, and an old 9 black-and-white VGA CRT that s pretty much indestructible, plus an old case or two. So it will cost nothing. This evening, Jacob will help me find the parts, and then he can help me assemble them all. (This should be interesting.) Then I ll install Debian while he sleeps, and by tomorrow he should be able to run cat all by himself. I think that, within a few days, he can probably remember how to log himself in and fire up a program or two without help. I m looking for suggestions for text-mode games appropriate to a 3-year-old. So far, I ve found worm from bsdgames that looks good. It doesn t require him to have quick reflexes or to read anything, and I think he ll pick up using the arrow keys to move it just fine. I think that tetris is probably still a bit much, but maybe after he s had enough of worm he would enjoy trying it. I was asked on Twitter why I ll be using the command line for him. There are a few reasons. One is that it will actually be usable on the 9 screen, but another one is that it will expose the computer at a different level than a GUI would. He will inevitably learn about GUIs, but learning about a CLI isn t inevitable. He won t have to master coordination with a mouse right away, and there s pretty much no way he can screw it up. (No, I won t be giving him root yet!) Finally, it s new and different to him, so he s interested in it right now. My first computer was a TRS-80 Color Computer (CoCo) II. Its primary interface, a BASIC interpreter, I guess counts as a command-line interface. I remember learning how to use that, and later DOS on a PC. Some of the games and software back then had no documentation and crashed often. Part of the fun, the challenge, and sometimes the frustration, was figuring out just what a program was supposed to do and how to use it. It will be fun to see what Jacob figures out.

David Welton: US Exports: "The Cloud"?

An Economist special report in last week's print edition talks about how the US will need focus more on savings and exports:

A special report on America's economy: Time to rebalance I've been thinking about that for a while too, especially after the dollar's recent weakness, although it has been strengthening some, lately, apparently due to the state of Greece's finances... I think that the computing industry is, in general, well poised to take advantage of that. For instance, what could be easier to export than computing power or "Software as a Service"? All it takes is a few minutes for someone in Europe to sign up to a US-based service with a credit card. For instance, compare Linode's prices and good service with most of their European competitors (gandi.net for instance, who are good people, and you have to love that they put "no bullshit" right on their front page). Not that they don't have good service in Europe, but it's very difficult to compete on price with the dollar being significantly cheaper. With the dollar where it is right now, gandi is almost, but not quite, competitive with Linode. If you don't include taxes. If the dollar weakens again, though, things could easily tilt far in Linode's favor. Besides a weak dollar, I think it will be important for companies in a position to do so in the US to focus on "the rest of the world". The US is a big, populous country where it's very easy to forget about far-off lands. Compare my home town of Eugene, Oregon to where I live in Padova. Google Maps says that it takes 7+ hours to drive to Vancouver, Canada (which, to tell the truth, isn't all that foreign in that they speak English with an accent much closer to mine than say, Alabama or Maine). Going south, Google says it's 15+ hours just to San Diego, although I think that's optimistic myself, given traffic in California. From Padova, I can be in France in 5 hours, according to Google, 3 hours to Switzerland, 4 to Innsbruck, in Austria, less than 3 hours to the capital of Slovenia, Ljubljana, and around 3 hours to Croatia, too. And if you wanted to throw in another country, the Republic of San Marino is also less than 3 hours away, according to Google's driving time estimates. You could probably live your entire life in a place like Eugene and never really deal much with foreigners, whereas here, nearby borders are both a historic and an ever-present fact. The outcome of this is that, to some degree, people in the US have traditionally focused their businesses "inwards" until they got to a certain size. Which is, of course, a natural thing to do when you have such a big, homogenous market to deal with before you even start thinking about foreign languages, different laws, exchange rates and all the hassle those things entail. However, if exchange rates hold steady or favor the US further, and internal spending remains weaker, it appears as if it may be sensible for companies to invest some time and energy to attract clients in "the rest of the world". "Cloud" (anyone got a better term? this one's awfully vague, but I want to encompass both "computing power" like Linode or Amazon's EC2, as well as "software as a service") companies likely will have a much easier time of things: for many services, it's easy to just keep running things in the US for a while, and worry about having physical or legal infrastructure abroad later. Your service might not be quite as snappy as it may be with a local server, but it'll do, if it performs a useful function. Compare that with a more traditional business where you might have to do something like open a factory abroad, or at the very least figure out the details of how to ship physical products abroad and sell them, and do so in a way that you're somewhat insured against the large array of things that could go wrong between sending your products on their merry way, and someone buying them in Oslo, Lisbon or Prague. Since this barrier to entry is lower, it makes more sense to climb over it earlier on. As an example, Linode recently did a deal to provide VPS services from a London data center, to make their service more attractive to European customers. However, they still don't appear have marketing materials translated into various languages, and presumably they don't have support staff capable of speaking languages like Chinese, German or Russian either (well, at least not in an official capacity). This isn't to pick on them; they may have considered those things and found them too much of an expense/distraction/hassle for the time being - they certainly know their business better than I do - and that they simply are content to make do with English. Other businesses, however, may decide that a local touch is important to attracting clients. What do you need to look at to make your service more attractive to people in other countries? In no particular order:

There's certainly no lack of work there, but on the other hand, it's possible to do almost all of it from wherever you happen to be located, rather than spending lots of money and time flying around to remote corners of the globe, as is still common practice in many industries.

Bdale Garbee: TeleMetrum v1.0 Boards Arrive

The first production run of TeleMetrum boards arrived from our assembler today, and overall things are looking good! Unfortunately, I specified the wrong value for a capacitor associated with the new and improved 150mA 3.3 volt regulator. The resulting symptom was interesting to debug... everything seemed to be fine except that the GPS chip wouldn't talk to us. After some investigation, it became clear that the 3.3 volt power supply was taking much longer to stabilize than it should... long enough that the power-on reset circuit was relaxing before the supply was stable! The cc1111 apparently handles this just fine, but the GPS chip doesn't. Since the new cap is optional, just removing it caused everything on the first test board to start working! The ultimate solution will probably be to both replace the new bypass capacitor with one of the correct value, and to swap out the cap in the reset circuit for a somewhat larger value to ensure we have plenty of margin in the reset circuit. I now have 4 of the new boards completed, turned on, and passing initial tests. Hopefully tomorrow I'll be able to wrap up the rest of the required functional testing. I then need to focus my attention on a business trip all of next week... but if all keeps going well, we're very close to taking our first orders. Stay tuned!

Gustavo Noronha Silva: Designing from the bottom up

Have you ever seen, while dealing in a support channel with a novice that just got in touch with the power of UNIX a conversation that goes like this?:
<novice> How can I process the output of a command, so that any number of spaces gets turned into a newline?
<seasoned> What are you trying to do?
<novice> I want to list the contents of a directory, but I want one per line.
<seasoned> ls -1
I have seen this numerous times, even as one of the actors. At times I was the novice, and many times in #debian-br I was the seasoned person trying to get the novice to focus on the problem they were trying to solve, not on the solution they thought was right. While reading M ir n Duffy s awesome paper about contributing to Free Software as a designer I couldn t help but get that image brought to my memory again, and again. Specially when I read this part:
This means the language and even the approach FLOSS projects take to solving problems tend to be focused on implementation and technology rather than starting with a real-life user problem to solve and determining appropriate implementation afterwards.
That does sound like us, and it does sound like many of the solutions we come up with. While I was reading her paper, there was a reference I got very interested in checking. It s a PDF with no links in it, so I only had the number of the reference. What I would have to do is I would have to scroll to the end of the paper, and find the reference, then somehow come back to the place I was looking at. My most immediate thought was you know, maybe evince should have tabs . Why? Because I could open a new tab, go to the place the reference was at, and to go back I just needed to close the new tab. Other options require much more effort - remembering the page I was at, or maybe the scroll offset more or less, and scan for the part of the text I was at. But those are not the only options! I could have the application set a marker on where I am, and have an easy command to go back to that marker, for instance, or evince could provide a way of looking ahead without throwing away the current state at all. I m pretty sure if I look around enough I will find tools that solve this problem in a fairly good way. Now, I think that is exactly how we ended up with tabs in so many places they do not make sense in, and with so many ad-hoc solutions that solve our problems in half-assed ways. Even in browsers, we tend to use tabs as ad-hoc solutions to real problems we have no real solution to handle yet, such as I want to check this other thing out real quick, but I do not want to lose any state of this page , or I want to check this out, but not right now, so let me open it, and then I ll come back to it , or maybe even I want to look at this now, but since it is going to take a while to load, I might as well let it load in the background, and when I finish reading this I can go look at it . These are the real problems we have, and I think we need better designs that solve them for real, instead of just patching them with the ad-hoc solution that tabs are. The other extreme of the spectrum is, of course, not doing something, or even anything for lack of the perfect solution. Using this is not a real solution as an excuse to not implement something that could serve as a temporary solution to a problem may cause more frustration than having to deal with the ad-hoc solution that is tested, and being applied to other applications for some time. After all, in many cases the ad-hoc solution can be later replaced with a proper one. I guess this is another instance of the very difficult problem of balancing different realities: proper design is not always available to start something up, specially if the application is backed by individuals and not by a company or a bigger project that could bring in designers to work on it from the start. In this case having something up and running is usually a very important first step in a free software project - usually required to get enough interest to make it worth designing for.

8 April 2010

Stefano Zacchiroli: RC bugs of the week - issue 26

RCBW - #26 RC bug count: 666 It is getting down, even though the current number is scary. My personal RC bug count is not so mystical and as low as 205 RC bugs to go, which is quite encouraging. Without any further ado, here are this week squashes: Random points:

Next.

Previous.