Search Results: "will"

24 July 2007

John Goerzen: Trip to Oregon

Last week, Terah, Jacob, and I boarded a train in Kansas. We were bound for Los Angeles, then would go up the coast of California, eventually winding up in Portland for OSCON.

Our first train was the Southwest Chief out to LA.

img_2926

Jacob had a great time on the train. This is a picture of Jacob and Terah in our sleeping car room. Jacob slept in his carseat at night and played with us during the day. See all recent photos of Jacob.

We had the option to get off the train for a few minutes in La Junta, CO. I took some photos trackside.

img_2962

Here's Jacob enjoying the lounge car. There were dozens of Boy Scouts on our train, heading to the Boy Scout camp near Raton, NM. Many of them hung out in the lounge car, so Jacob had plenty to watch and keep him entertained.

img_2995

The lounge car has wrap-around windows. We got an expansive view of the Rockies on the first day of our trip, and of the California desert on the second. This route really gives you a feeling of being alone sometimes. There are times where you can look out the window, and as far as you can see, there is no evidence of people or civilization.

Here's a picture out the lounge car, looking at the train as it rounded a curve.

img_2977

The lounge car was in the middle of the train, so the train really was longer than it might appear here.

We had a bit of an adventure in Lamy, NM. Apparently a terminal cancer patient was riding the train, and died in the night. We were held up for about 2 hours for authorities to arrive, perform their investigation, etc.

While we were there, passengers could get off the train and look around. I took a few photos there.

img_3000

This is a photo looking towards the front of the Chief. It uses bi-level cars, so every car has an upstairs and a downstairs.

Just outside the Lamy station is an old dining car. It is now a stationary restaurant. The restaurant had closed just before we arrived, but they let me in to take a few quick photos anyway.

img_3007

Just past Albuquerque, one of the two locomotives on our train failed. That meant that, combined with the delay at Lamy, we were more than 3 hours late into Los Angeles. That, in turn, meant that we missed our connection to the Coast Starlight. So the new plan was to take a bus to Bakersfield, then the San Joaquin train to Sacramento, where we could catch up with the Coast Starlight and get to Portland as scheduled.

img_3038

Jacob really enjoyed the Bakersfield train station. I carried him up to the stone walls, which he enjoyed exploring with his hands.

img_3034

This is the Bakersfield station. It's a nice building. But their large metal sign reads "To trains and busses." Someday I will forget about them misspelling "buses" on a large metal sign.

I've got two more pictures of Jacob at Bakersfield that you'd enjoy: one, two. He sure was a popular baby. We got countless compliments from strangers, and he got even more smiles and greetings from people. Even when he was fussy, people kept saying what a good baby he was. We were a little surprised at that. A few people even found his cry to be cute and funny!

img_3051

One of the nice side-effects of missing our connection was seeing the grand old Sacramento train station. A beautifully-decorated building. We were there until about 12:30AM because the Coast Starlight had been delayed as well.

Terah saw a sign out the door saying "Quiznos: Now Open." I figured that meant that the store was open, not that the place was open late into the night, but she wanted to check. She stepped out and then back in again. "As soon as I got out, homeless people started yelling at me! Plus the store wasn't open," she reported.

img_3070

On the Coast Starlight, we discovered the absolutely stunning Pacific Parlour Car. These cars were originally built in the 1950s for the Santa Fe railroad, and have been renovated and restored by Amtrak for service on the Coast Starlight. That's the only train where they run, and they are available only to first-class passengers.

I noticed stairs going to the lower level of the Parlour, and was curious what was down there. So I went down to check it out, and it is a small (18 seats, I think) theater!

img_3087

We sat down there for awhile and talked to some of the other people.

The view from the Coast Starlight was amazing. The trip through the mountains was particularly nice. We saw mountains from the distance, up close, and at some points could look out our window directly down into a deep valley below. There were lakes, waterfalls, and little creeks all along.

img_3095

And finally, this is the grand Portland train station. Still an active station and a sight to see, though not as nice as Kansas City's.

So that's the trip to Portland. More to come on the convention and the city itself.

Russell Coker: Xen and Bridging

In a default configuration of Xen there will be a virtual Ethernet device created for each interface which will be associated with a bridge. A previous post documented how to configure a bridge named xenbr0. The basic configuration of Xen that most people use is to have a single virtual Ethernet port for each Xen instance and have them all connected to the one bridge, and then the Dom0 will have an IP address on the bridge interface that is used for routing packets to the outside world. This works really well if you have a subnet that you are using for all Xen DomU IP addresses, if you are using NAT for communication, or if the DomU needs no communication outside the Dom0 and other DomU’s on the same machine (a common case for testing). But if you have a collection of servers that you want to consolidate on a single piece of hardware then you end up using a single sub-net that spans some physical machines, some Xen Dom0’s, and some DomU’s. The solution to this is to use bridged networking. Unfortunately most documentation of bridged networking is really confusing, and non of my google searches turned up the most relevant fact: When setting up a bridge on the local Ethernet you must make your physical ethernet device (eth0 or whatever) be strictly a slave to the bridge and then assign the IP address used for the physical network to the bridge.
ifconfig eth0 up
brctl addif xenbr0 eth0
For example if you have 10.0.0.42 being the IP address used by the Dom0 on the local Ethernet via device eth0 and you want to use bridging for DomU’s then you simply make eth0 owned by xenbr0 (the typical name for the Xen bridge) with the above commands in your script to configure the xenbr0 device. Then treat xenbr0 in the same way that you treated eth0 before enabling bridging. Also there’s nothing stopping you from having one bridge for DomU’s that can talk directly to the physical Ethernet and another for DomU’s that are only to use routed networking, see my previous post about using multiple ethernet devices in Xen for more background information.

Eric Warmenhoven: Let me explain

I’ve been thinking about what I’m able to write about TiVo without upsetting anyone, and so I’ve been doing a bit of research about what’s already been written. Surprisingly, a lot. So I decided that there really wasn’t a whole lot that I could say that isn’t already somewhere else on the web, and figured I’d just add in some technical explanations to questions that are likely to come up. For example, the remote that we will ship has the thumbs buttons, but the Comcast remote [pdf] doesn’t. If you compare the remotes closely (there’s a picture of the TiVo remote in the article linked above), you’ll see the Comcast remote has two buttons that the TiVo remote doesn’t: Page Up and Page Down. There you go. The TiVo UI uses Channel Up/Channel Down as Page Up/Page Down in lists, so we don’t need separate Page Up/Page Down buttons, and use them for Thumbs buttons instead. Also, to confirm what was written in that article linked to above, we really did rewrite our software in Java. Sort of. As the article states, we run on top of TVWorks’ TV Navigator middleware. It’s not a full OCAP implementation, but rather an implementation of OnRamp To OCAP, which is (from Informitv) not a precursor but “a subset of OCAP so that applications will be forward-compatible with the full OCAP specification.” In other words, we didn’t write the OCAP layer, nor the OS. And the Java-based software so far only runs on the Motorola hardware.

23 July 2007

Russell Coker: The Australian Government is a Terrorist Organisation

This article in The Age about Mohamed Haneef shows the terrorist threat that we face. The chance that I will be injured by Al Quaeda in any way is quite remote. The chance of being attacked by ASIO is a lot greater. The main benefit of being in a democracy is having a legal system where the defendant is presumed innocent until proven guilty and where they have the right to legal representation. The war in Iraq has not brought the US or Australian system of government to Iraq, instead it is bringing Saddam Hussein’s system of government to Australia and the US. Traditionally under the Australian and US legal systems innocent people are not punished, unlike under Saddam Hussein. Now ASIO has the authority to detain innocent civilians indefinitely if they believe that it helps them in some way - and there is no method of policing ASIO to ensure that even such excuses are met. Traditionally under the Australian and US legal systems everyone who is accused of a crime is entitled to a trial, unlike under Saddam Hussein. Now ASIO and the CIA have been given the authority to punish anyone without a trial. ASIO can also extend the punishment to anyone who might receive evidence of such actions and publish it (I guess that the CIA can do the same). Saddam lost the battle but his legacy is winning the war. For the best definition of Terrorism see Noam Chomsky’s paper. The actions taken by the Australian government against the people of Iraq, foreign citizens in Australia, and almost certainly Australian citizens (it’s not credible to believe that ASIO has such powers and doesn’t use them occasionally on Australians) fits the definition of Terrorism. Elections are coming soon, both in the US and in Australia. Whatever you do, don’t vote for Neo-Cons (Republicans in the US or Liberals in Australia). PS Before anyone suggests that I should worry about ASIO kidnapping me in retaliation for this, I’m sure that they know of the Streisand Effect. I’ll try and avoid any unplanned down-time for my blog after this post goes out to avoid false-alarms… ;) Update: I incorrectly wrote “guilty until proven innocent” above, that is the current Australian government policy not the way it should be.

David Welton: Dell Inspiron 1505 with Ubuntu

I'm writing this from the new Dell laptop I recently purchased which comes with Ubuntu preinstalled. Overall, I'm impressed - it's nice to get a laptop that "just works", without spending a dime for Windows. Everything seems to work quite well out of the box. The machine arrived earlier than Dell's web site promised, which is a good thing, because their promised date was a lot of time to have to wait. It's certainly no beauty - it's kind of thick, and a bit clunky, but hopefully it will be a good workhorse in the next few years. I need something reasonably fast, with a good screen, rather than something ultra-thin, flashy and super portable. The nits to pick: But I expect I'll get most of that figured out with a bit of fiddling, and the price was quite good, so overall I would highly recommend it to anyone else in my situation: wanting a Linux laptop that "just works" for a good price.

Simon Richter: Package management and components (aka "our users and free software")

Ian, I am not sure that “good package management” is a real selling point for anyone but system administrators. Home users do not care, as there is not that much difference between double-clicking an executable (that pops up a window, asks a few questions and then installs the software) and selecting a check-box in a list and clicking “apply” (followed by window, questions, etc.). In a business setting the users usually do not have permission to install software anyway, so they could not care less how it was installed, the only thing important is that it is there. In my opinion, the single technology that has had the most impact would be COM, the “Component Object Model”, because this is what the ISVs want: an easy way to define a (binary) interface that will allow components from different vendors to work together, ideally in the same virtual address space for maximum efficiency. The registry provides the necessary lookup functionality, so that you can construct an object of a given type by giving its class name or GUID to CoCreateInstance, and you get something back that provides the interfaces that this class implements, which is either the object directly or an RPC proxy. The latter happens, for example, when a multithreaded application wants to call methods in an object that is not threadsafe (COM will then serialize the calls) or when the object is provided by a system service (where we have dbus). The fact that the only thing you can rely on is the defined interface (a set of methods and data objects that map to getter/setter methods) makes it necessary to define the interface first and invest lots of Interfaces become immutable as soon as they are published, incompatible changes need a new interface name (that's where all the interface names ending in …2 or …3 come from). Under Linux, the closest thing is GNOME and their use of CORBA. If you were to write an application that runs within the GNOME framework, and if you wanted third party vendors to be able to plug into it, then you would probably publish an IDL file for it. Lots of “if”s there. Licensing is also an issue here. One thing the GPL fails to address, even in version 3, is the integration of components without linking into the same address space (which ORBit never does IIRC). Technically, the component provider and the component user communicate via sockets using a well-known protocol, so the component user is not bound by the GPL; the only thing that could be argued is that the IDL file defining the interface would be GPLd (although most jurisdictions consider interfaces as not copyrightable and/or permit “reengineering” for interoperability purposes). Some people might consider this “cheating” around the GPL, as any GPL'd program or library providing components could be used freely by any closed source application as long as the source code to the GPL'd portions was made available. Last (but not least) it is a matter of developer motivation. Third party vendors are, for most of us, not our target audience, and properly supporting them is going to be quite a bit of work. I've written about mixing different C libraries in the same executable image before, as a “nice to have” item. For components that should share the same image, like COM does, it is an absolute must, and COM goes to great lengths to make sure this actually works. For example, allocating memory that is to be passed to a COM method must be allocated using midl_user_alloc() from the RTC DLL and freed using midl_user_free() from the same; as this is a system library and compiler vendors are forbidden from bringing their own, everyone uses the same allocator pair (that internally just calls malloc() and free() from the Microsoft C library, but that is an implementation detail you are not supposed to know). On the Linux side, people do not care much about matching allocator functions, because in essence it all ends up in glibc's malloc()/free() anyway. When glib introduced their own allocators and started using them for their own structures, a number of applications started crashing unless you set a certain environment variable that told glib to pass everything through to glibc. Personally, I've spent the last days compiling toolchains in order to provide compiler packages that work “out of the box” on at least Debian etch, lenny and sid, and Ubuntu dapper, edgy, feisty and gutsy. Right now, I feel a lot like shipping statically linked binaries. Where Windows has mostly gotten out of the “DLL hell”, Linux has built its own variant of it:
The Windows DLL hell
is a hot place. Everyone is bringing their own grill lighter they believe does not cause cancer, starts a small fire and begins to roast marshmallows. The problem there is that the floor is covered with a sticky mixture of lighter fluid and everything is burning.
The Linux DLL hell
on the contrary is freezing cold. It has small isolated fires where a few friends are sitting, and they suddenly decide to move on and pour water over the fire and your marshmallows without asking first. Getting into a group is difficult, and if you manage it, all it means is that you are told to pick up your marshmallows before they extinguish the fire.
At this point, I'm going to be comment- and trackback-whoring; instead of answering the obvious question, I'm going to leave it open: Would a COM-style componentization model work in the Linux world, and attract software vendors, provided we can put out stable APIs and support them properly, or is that a red herring?

MJ Ray: Google: "misleading and deceptive conduct", "Click Fraud Up", "opera mini 4 is bringing difficulties"

Google seems to be having a harder time with adverts in 2007. Firstly, the Australian Competition and Consumer Commission alleges misleading and deceptive conduct by Trading Post and Google. Then, a report suggests Click Fraud Up to 15.8% in Second Quarter. Now, it looks like Opera may be about to break Google adverts from many mobile devices - Harishankar asked:
"Does this blog post [Mobile Phones and Mobile Games: Google's difficulty in over-coming Opera mini's Proxy Server] saying "opera mini 4 is bringing difficuilties to google adsense" make sense?"
I'm surprised Opera's proxies are so privacy-friendly, but it makes sense to me. I expect Google will change their adsense policies yet again soon, if this worries their clients and they don't want a showdown with Opera.

Stefano Zacchiroli: which python parser generator

Too Many Python Parser Generators Dear LazyWeb, there are too many Python parser generators. There is a Wiki page comparing them, articles at various editions of the Python conference, tons of mailing list posts. I'm so bored about all this amount of information (which I actually did read some months ago) that I'm not even willing to look for the relevant hyperlinks and add them here; that sucks. ( Rant: I frankly have hard time in believing that a language with a respectable standard library as Python has failed so far in establishing a de facto solution for parser/lexer generations. However this seems to be the case. ) Feeling lost, I convinced myself that I wanna go for a Python-Bison glue, so that at least I'll have a grammar in a widespread format that I can reuse in other languages in case of need. But even in this case there seems to be several Python-Bison glues out there :-( ... and almost all seem to be dead projects! Dear LazyWeb, any suggestions about which to choose?

Evan Prodromou: 3 Thermidor CCXV

My brother Ted and his partner Nabil had a great commitment ceremony yesterday afternoon in Dolores Park in San Francisco. It was a beautiful day, and they had lots of friends who came out for them. I came up from Los Altos Hills with our parents, and my brothers Nate and Andy came with their friends and/or families, too. Ted and Nabil march to a different drummer, to put it mildly. Their ceremony was remarkably like a Quaker wedding, although I don't think they planned it that way. They had a nice picnic and tea party in the park for a few hours, let the guests get to know each other, and then called everyone together to listen to their promises to each other. (Very sweet, by the way). They then exchanged bejewelled carabiners -- those funky little mountain-climbing metal loops that people also use as keyrings. "We may lose necklaces or rings, but we're not going to lose our keys." The carabiners were decorated with the California state gem, benitoite (Benito-ite), which is rarer than diamonds. Brilliantly, their friends who designed the carabiners also managed to include a USB thumbdrive, on which they're going to copy all the pictures, stories, movies, and other digital paraphernalia from the ceremony itself. Ted and Nabil will be carrying around those pictures as long as they have the carabiners. Clever! After they'd exchanged the carabiners, they hooked them to their belts, and then hooked them together. "And now... we're HITCHED!" Thunderous applause. They then invited up anyone who wanted to make a toast. My brother Nate went first, and girt in a bastard sword (for unclear reasons), he made a great toast. A dozen other people, including my Dad, came up to speak. By then, Ted and Nabil were falling over with fatigue, so we had mercy on them and stopped coming up to say nice things about them. Everyone dug in to champagne and cake, and Amita June and her two cousins Elena and Tessa ran around on the huge playground in the park. Definitely a good, good wedding-like event. tags:

Long day This morning we had a Skype conference call relatively early in the morning, and then a brunch with Nabil's family (who are visiting from Virginia and Philadelphia). It was really nice -- my folks decided to build a huge patio in their backyard, and it's great for having kids and family running around, as well as for outdoor brunches. (We haven't had a meal inside since we got here, actually.) This afternoon we drove up to Novato to visit Maj's grandmother Jeannette and her Uncle Kevin and Aunt Robin. Also present were Jeannette's lifelong friend Roseanne and Kevin's highschool pal Jim. Amita June loved running around their big backyard and playing with their sweet old dog Holly. She also got a lot of mileage out of their porch swing. Maj and Robin swapped cooking tips and renovation horror stories, and I got to listen to Jeannette and Roseanne tell gambling stories from various Southern California Indian casinos. Jim, meanwhile, was on his cell phone in another corner of the yard, negotiating with another gold prospector with a hand injury to work the friend's claim. Quite an evening. After a dinner of barbecued salmon, caprese salad, and corn-on-the-cob, Kevin and Robin's neighbors came over, and we talked more about statistical analysis, sheep-farming in Marin County and driving through Austria. A long drive back to my folks', but Amita slept the entire time, thankfully. Good for us all. tags:

Voice jail I had to call Air Canada a few days ago to get our tickets to come out here to California, and I had a terribly frustrating time working my way through their automated systems to get to a human being that I needed to talk to. And I thought to myself, "Why do I hate these automated voice systems so?" I never call a 1-800 number or another voice system if my problem could in any way be handled automatically. I always go to the Web first, and only try to get on the phone if the particular special-purpose request I have hasn't been, or can't be, built into the Web interface. But the economics of call centres makes the company want to shunt me into one or another automated voice systems in hopes that I'll be satisfied and not bother a real human being. My only goal with a phone call is to talk to an intelligent human being who can handle my exceptional situation. But the interface is designed precisely to deny me that goal. Can that interface ever be anything but frustrating? tags:

Least likely to succeed Ross Mayfield posted a nice pic of me offering to run his company in exchange for a hot meal. It's a good shot of me, actually. In other linking issues, my Technorati "Authority" value is now 101, putting me squarely into B-list Bloglebrity territory. Hooray for the second string! tags:

22 July 2007

Mohammed Sameer: mbox splitter

Just because I can't run sa-learn on my 15,000+ messages spam folder. It'll crash due to some hardware problems.
I thought that splitting the mailbox into smaller files will allow me to feed it to sa-learn.
I'm not sure something similar doesn't exist but I wrote mine anyway ;-)

The only problem is it consumes a lot of CPU and RAM, it was killed/crashed multiple times but it worked and allowed me to feed my spam mailbox to spamassassin!

Here it is in case someone needs it: split_mailbox.py. Needs python 2.5
read more

Daniel Stone: hackers

How not to obtain a copy of Hackers or Firewall in Birmingham at 10pm:

Matthew Palmer: Why I'm Afraid of Flying

I'm happy to admit it -- I have a fear of flying. Strangely enough, though, my anxiety levels peak somewhere between 3 hours and 30 minutes before the plane takes off. Once we depart the terminal building, I'm fine -- the takeoff, cruise, and landing hold no fear for me, in fact I rather enjoy it. When I have the money and time, I plan on learning to do it for myself. The thing that does freak me out, though, is aptly described in this article. The idea that I could possibly suffer a similar fate, or worse, concerns me. The arbitrary nature of security screenings, and the fact that I cannot, through my own actions, ensure that I will not suffer at the hands of a security service when I have done nothing wrong really scares me.

Raphaël Hertzog: On Debian Maintainers

I won’t re-explain in great length why I think it’s good to endorse the concept of Debian Maintainers. I have been enough involved in the debian-vote discussions (and the previous debian-project discussions). I would just like to remind everybody that we elected sam to see changes and progress on many areas. We haven’t seen many results yet, but I know that sam has been working hard and I’ve been helping him as much as I can on the problem of our DSA team (one day I might blog about it or even start a GR if the situation continues to not improve despite the numerous efforts that we’ve put into it). Here we have a concrete proposal for a change, and I believe a change for the better. But just like for every change, people have fears: they fear people who only care about technical excellence and not too much about philosophy, they fear that the quality level will drop, they fear that nobody will care about NM afterwards, etc. It’s legitimate to have concerns, to express them and to discuss them. But we should not let them take us over or we’ll end up abandoning all initiatives that are required to evolve and adjust to our moving environment. We need to encourage people who are ready to try out new things. In cases where it’s not entirely clear how the situation will evolve, it’s better to try out and react accordingly instead of doing nothing and hoping that people will wait us. When we do things while hoping for the best, the worst won’t come up true so easily. Have faith in our future.

Patrick Winnertz: Debian-Edu/Skolelinux 3.0r0 Terra finally released!!!

Hey folks, we released some minutes ago finally Debian-Edu/Skolelinux 3.0r0 “Terra” which is based on Debian 4.0 with some modifications to work out-of-the box. Here are the releasenotes: Oslo - July 22., 2007 Skolelinux 3.0 is ready. This is an community release with comprehensive support from regional and national projects in Germany, Spain, France, Greece and Norway. The Skolelinux project is now a part of Debian under the name Debian-Edu. Several other projects have made additional functionality to Skolelinux tailored for national needs. Skolelinux now supports more than 50 countries.

Whats new in Skolelinux 3.0:
  • based on Debian 4.0 “etch” and therefore compatible to LSB 3.1, using kernel 2.6.18 and KDE 3.5.5
  • Full support for networked Thin clients, LowFat (diskless) clients, Workstations and Laptops. With the LowFat clients users got full PC functionality with extremely low maintenance cost. The use of LowFat clients gives full support for sound, video, USB memory stick’s and DVDs without the need for a local installation.
  • Skolelinux now got more than 80 applications selected for pedagogic uses, supporting more than 50 languages. Many new applications are introduced in addition to popular classic as GCompris, KDE-Edu, Iceweasel (unbranded version of Firefox) and OpenOffice.org.
  • Installation is a breeze: Both the installation and source code for all software are now distributed on a single DVD now supporting three different processor platforms as i386, PowerPC and AMD64. This makes it more easy to choose hardware, and to study the recipes behind the software. Those interested can exercise their freedom to learn, participate and share knowledge more easily. Installation CDs are also available, but requires a working Internet connection for installation.

About Skolelinux Skolelinux is a complete tailored software solution for the needs of any educational institution or school. It is a ready computer system were the school does not need to piece together the components. Skolelinux is the result of the work of the Debian Edu project and Debian Edu is an official Debian subproject. It is installed in a great number of schools in Norway, Germany, France and other countries. Municipalities and Commercial Service Providers run Skolelinux across multiple schools, operated and maintained centrally. Service providers report that the “lowfat clients” require half the maintenance cost of other desktop alternatives. The next milestone of Skolelinux development will be to merge the Debian-based LinEx distro into Debian Edu. Currently LinEx is used by more than 250,000 students and public employees in the region of Extremadura in Spain.

In depth “Lowfat clients” is also known as Diskless workstations. They run applications locally on the client. All software comes from the server instead of locally from the client hard drive. Recommended minimum requirement for client machines is > 256 MB RAM and 800 MHz CPU. Skolelinux now got improved tools for system surveillance and maintenance. Roadmap for next merging of LinEx and Debian-Edu: * http://wiki.debian.org/DebianEdu/LinEx2DebianEdu-Roadmap Please note that the documentation for the 3.0 Terra release is only available in English at the moment and contains some rough edges. We have considered releasing before the end of the summer holidays more important and we will fix those rough edges in the coming weeks, when we also expect more translations to show up. Those fixes will be included in the upcoming 3.0 r1 release.

Petr Rockai: toolbox upgrades

In the past something-over-half-a-year (wow, time flies like crazy), i have shuffled my (virtual) toolbox fairly significantly. In the desktop department, I no longer use the full KDE desktop, only a few applications from KDE 3 (that is mostly konqueror, plus some of kdeedu). I still use amarok, although by now mostly just to manage my iPod, since it is outright laptop-hostile. Most of the time, it’s better (and much more power-efficient) to use iPod hooked into usb for power, at least as long as the music is there. For the rest, i now use the commandline players to play single albums (just music123 for most formats). For the window manager, i have opted for xmonad, after briefly using ion3 and a faint attempt at wmii (which didn’t quite work for me). Xmonad, however, works great and its simplicity is quite amazing. Despite its absolute minimalism, it is, after some getting used to, much more usable than the rest of WMs i have used. For terminal, i use urxvt, which is lighter and apparently also faster than konsole (i may reconsider that choice when KDE 4 konsole comes out). With xmonad, i don’t really need tabs anymore, i’m not sure why, but it may be related to more general change in my workflow. In the version control department, i am now using darcs for all the projects where i decide. I no longer use svk, since i no longer really know how to. Not working with it for a while, i lost the ability to use it efficiently (which possibly hints at the fact it is somewhat too complex). On the other hand, i am much happier with darcs, also since it is much more forgiving about mistakes and generally very deterministic. It requires some insight to be used efficiently i suppose, but this is mostly due to differences with more traditional systems (i believe). Today, i have finally moved my ikiwiki to darcs, which was the last thing using subversion/svk (well, i have only been able to use it through ssh and local svn for some months now, so i generally didn’t use it at all). This hopefully means that i will be able to add more content to this page and blog as well, since it is less effort now. I am still using emacs (GNU emacs 22, xemacs didn’t quite work for me when i have tried it — i have a somewhat nontrivial setup, too). I intend to try out vimpulse at some point, in addition to viper, to supersede my emacs-lisp hacks for visual line selection. I have also started working on replacing my internet-facing services, since they are running in an “emergency” (ie, not really working well) mode, after the xen system broke down completely (it was mostly un-upgradable due to fragility of xen packages and of the whole xen system — and since the setup relied on working xen for even basic internet connectivity, upgrades were extremely painful). I am migrating to a solution based on user-mode-linux, and moving all the services to a less power-hungry and less noisy machine (an oldish pentium 3 box). When this is complete, i should be able to read my private mail sanely again, since currently the spam filters don’t work and my inbox is mostly trash. This is unrelated to the xen breakdown, my mail used to be handled by a machine at a company i used to do admin work for. However, they removed my accounts (and therefore access to my mail) without a line of prior notice. I still have control over my domain at least (although there will be a problem when it gets to expire, i will have to arrange a transfer with the said company, i suppose). Morale of the story: never do that. (Yeah, and in the spirit of the post, i am still using mutt for reading mail).

Ian Murdock: How package management changed everything

What’s the single biggest advancement Linux has brought to the industry? It’s an interesting question, and one that in my opinion has a very simple answer: Package management—or, more specifically, the ability to install and upgrade software over the network in a seamlessly integrated fashion—along with the distributed development model package management enabled. It used to be that operating systems were big, monolithic products, and applications were big, monolithic products you put on top of them. If you wanted to deploy, say, a web application, you sourced the middleware stack (which itself was probably several big products too), you sourced the operating system, and you (often painfully) had to integrate the two yourself (or pay a big company lots of money to do it for you). These days, you increasingly just “apt-get install whatever“. In this world, where does the operating system end and the application begin? The line is increasingly blurred—for when applications are deployed using an OS facility, seamlessly integrated with the OS itself, is the result an application or a feature of the operating system? In fact, in a very real way, all software looks to become part of the operating system—or, at least, this has certainly been the trend in the Linux world. What does this shift mean to the industry? For one thing, those of us that build operating systems as monolithic products have to change—it’s what users expect, and with a componentized operating system rather than a wad of stuff, it becomes far easier to push new innovations out into the marketplace and generally evolve the OS over time. Indeed, refashioning Solaris as a “distro” is the essence of Project Indiana—and package management is the key technology that will hold it all together. So, the next time you read about how Project Indiana aims to make Solaris more “Linux-like”, keep in mind that what we’re actually “copying” is the distro model, not Linux itself—which, after all, is a kernel, and has nothing to do with the package management and so forth the distros (you know, like Debian) built above it. This, better than anything else, highlights the opportunity for Solaris: What people really know when they say they know “Linux” is the environment that exists around the Linux kernel—the distro—all of which Solaris can deliver, and more.

Biella Coleman: Loss

So for the last week or so I have been manically trying not to lose Really Important Stuff like documents, passports, files etc as I have just moved from Canada to NYC and have made a brief stop in PR to visit my mom. Well the last thing I expected to lose—my laptop—is of course what is gone, vanished, entirely. There is a small chance that the TSA at the Newark airport has it but I won’t find out till Monday as their lost and found unit is closed during the weeked. I never thought that I would so want the TSA to help me out, although they, and the whole crazy security protocols, are part of the reason my laptop is gone. I made a backup of my computer right before leaving Canada, but I did it pretty quickly and did not check if it was really ok. All the really really important stuff is also backed up in email, or printed on paper, so Total F*cking Disaster is not imminent, just Total Disaster. So I won’t find out if I have my computer contents until Wed evening when I return to NYC. Since there is not much I can do here, I will cross my fingers and hope for the best. When I got home to PR, at 3:30 am to find no computer, I was pretty devastated. But instead of brooding over it, I switched into emergency mode, spending the next hour changing all sorts of passwords at 4 am, stealing the wireless from the hotel that is next door to my mom’s apartment (thankfully my SO was with me, donning a laptop). Although I did not store any on my computer, I did have my userid information in various places and I am pretty sure my computer was not off but only on sleep mode.. Yuck. After waking up after a few hours of sleep, I was pretty shocked that a good portion of my life is potentially gone, but then again, my mother’s alzheimers shocked me in other ways. Not too much has changed, though her memory loss, not surprisingly, is worse. In some ways, the fact that her data loss is permanent, that you can’t make a back up of the memories that are gone, that the data loss is so much more important than what you can have on a computer, has put things in some perspective, although I wish I only had the computer data loss to deal with instead.

21 July 2007

Russell Coker: Column Width in Blogs

I have just been reading the LinuxWorld Community blog which seems to be mostly Don Marti’s personal blog (currently there seems to be no-one else blogging on that site). One thing that disappointed me is that the theme designer made it look good at a width of 1000 pixels and no other size. At a smaller width the adverts on the right are cut off (more of a problem for the site owner than for the readers) and at a larger width you have a thin column of text in the middle of the screen. A quick test revealed that while my own blog looks good in wide windows it doesn’t work too well in 800 pixel width and gets very bad at lower widths - my blog would be essentially unusable at 640×480 resolution as the text column in the middle (the most important column) is the one that reduces in size. The LinuxWorld blog has a minimum size of 1000 pixels for the scaling so it allows horizontal scrolling in 640 pixel width and remains quite readable. The top entry in a google search for web size stats is Browser News which claims that 12% of web browsers are on 800 pixel wide screens. The next link I found claims that as of January 2007 there are 26% of web users with screens that have higher than 1024×768 resolution and 14% with 800×600. Apart from the first couple of months of blogging my blog has always looked good in screens greater than 1000 pixels wide, but not having it work at 800×600 is a problem. The first thing I did was alter the style.css file for the Blueline theme for Wordpress to use 100% of the display width (not 86%). Wasting 14% of the screen width is not a good thing when using a width-intensive three-column theme. This change made my blog work well in 800 pixel width and be bearable in 640 pixel width. The other change was to use min-width: 700px; in the style.css sections blogtitle, container, and navigation. This means that at 640 pixel width the text column will take more than 1/3 of the screen and should be quite readable (unless the reader has an unusually large font setting). The down-side to this is that if your window width is less than 700 pixels then you will have some horizontal scrolling, but I think that this is an acceptable trade-off. I was forced to confront this issue when talking to a prospective client about the potential for blogs to be used in his business, he loaded up my blog on an ancient windows machine and it didn’t look very good at all, this coincidentally happened a few hours after I had been reading the LinuxWorld blog on a big screen.

Fabio M. Di Nitto: SUN's LDOM hits 2.6.23

Yes and really proud of it.. David did an awesome work fixing the tons of bugs I have been reporting in past couple of weeks with my super stress testing of the implementation. I have to admit that he was also > this close to scramble the "black choppers" towards my house but that's usually a good sign when I can piss him off this much :) ..because we did beat Xen ;) David implementation of LDOM was merged upstream in about 2 months development. Xen took only 3/4 years? :P Anyway just kidding.. don't take it personal. Xen is a full mature implementation and LDOM still lack functionalities and features but we are getting there very very quickly. For now I am going in vacation for a few weeks with my son and plan to stay away as far as possible from any form of electronic equipment and give David some slack to relax too. Once back I plan to hack my LDOM workarounds to handle better some "features" of the vds partiton checker and complete the tests with exporting single partitions. Thanks to Barton for shipping me a couple of extra disks for my Niagara, I will also be able to test other combos with Nevada and different guest setups. Stay tuned!

20 July 2007

Russell Coker: unaligned access on IA64

I recently had some problems with unaligned access on IA64, messages about unaligned access were being logged via printk and I couldn’t determine the cause - or even how to track it down. To test what an unaligned access means (which wasn’t documented anywhere that a quick google search could find) I wrote the test program in the second half of this post. Below is the output of the test program which accesses an integer at various offsets. As you can see it’s addresses that are congruent to 5, 6, and 7 mod 8 that cause the errors. At the int is 4 bytes long it seems that the cause of an unaligned access error is an access to a data type that crosses an 8 byte boundary. So a pointer or long long would have to be aligned to an 8 byte boundary, an int has to be at an address that is congruent to 4 or less mod 8, and a character can be anywhere. Also if the sysctl /proc/sys/kernel/ignore-unaligned-usertrap is set to 1 then these messages will be disabled. But you really don’t want to do that, such errors apparently cause a significant performance loss so you want to file bug reports against programs that do this. # ./a.out
index: 0
index: 1
a.out(10393): unaligned access to 0×607fffffff34ee25, ip=0×4000000000000961
index: 2
a.out(10393): unaligned access to 0×607fffffff34ee26, ip=0×4000000000000961
index: 3
a.out(10393): unaligned access to 0×607fffffff34ee27, ip=0×4000000000000961
index: 4
index: 5
index: 6
index: 7
index: 8
index: 9
a.out(10393): unaligned access to 0×607fffffff34ee2d, ip=0×4000000000000961
index: 10
a.out(10393): unaligned access to 0×607fffffff34ee2e, ip=0×4000000000000961
index: 11
a.out(10393): unaligned access to 0×607fffffff34ee2f, ip=0×4000000000000961
index: 12
index: 13 Below is the test program I used:
(more…)

Next.

Previous.