Search Results: "phil"

6 October 2006

Ben Armstrong: Ichthux and Ubuntu CE: Why two projects?

Barbicane asked me the other day: “Why Ichthux and Ubuntu CE? Why not consolidate efforts?” As much as I’d like to see Ubuntu CE succeed, I believe they are headed down a path that will make it difficult for them to survive if they continue. In this thread (see Google cache since the forums seem to be having problems today) Jereme severely understates the differences in development philosophies that keep us apart. One key difference is more fundamental than just using metapackages instead of scripts. As I wrote about earlier, the approach Ichthux has chosen is to be a Custom Debian Distribution (CDD), working within Debian and Ubuntu to configure those distributions for the needs of Christians to meet their various needs. This is incompatible with CE’s approach, which uses scripts to tailor an Ubuntu system. This approach risks violating the integrity of the packages being modified, and makes each system upgrade an adventure for the user. What you end up with cannot truly be called an “edition” of Ubuntu at all, but is more accurately described as an Ubuntu derivative. Derivatives are not easily sustained because they are always struggling with staying in sync with the parent distribution. Ubuntu itself is a derivative, but it has an impressive amount of infrastructure with a lot of manpower behind it to ensure that the branching and merging process doesn’t get out of control. I don’t see how the much smaller Ubuntu CE development team will manage to accomplish anything significant using their current approach without being crushed by the maintenance costs of their customizations. Another difference, perhaps more readily apparent to end users, is what’s included in each distribution by default. While CE has chosen the Gnome desktop, Ichthux has gone with KDE. With each new release of Ubuntu CE, it seems what is stressed the most in their release notes is “what’s included”. Well, I just can’t see how that’s terribly important. Debian and Ubuntu both have a vast amount of software available, and both make it easy for users to make choices. If a user wants to add another application, it’s often just a few clicks away. It’s not nearly as important to have these installed by default as it is to ensure that the packages we do include are as solid and well-integrated with the system as possible. To this end, Ichthux makes use of its Debian and Ubuntu developers to ensure that each package included is kept in good shape from release to release. This means addressing bugs and wishlists that matter to our users, improving those packages not just for Ichthux, but for Ubuntu, Debian, and where those fixes flow back upstream, the broader community of Christian FOSS users everywhere. This is the real work of Ichthux: not just the production of a livecd, nor merely tweaking the default selection of packages we include from one release to the next, but to be actively involved in the Christian FOSS developer and user community. Our greatest successes will not be in the degree to which we differentiate ourselves from other Linux distributions, but rather how well we’re listening to what Christian FOSS users are saying they need, and how broad we can make our solutions. We can’t afford to be a niche distribution working off in a corner on our own pet project. That would be a terrible waste of our energy. We’re dreaming big: we want every Christian Linux user to be able to benefit from our work.

3 October 2006

Evan Prodromou: 10 Vend miaire CCXV

Two of our good friends here in Montreal are Kate and Morgan. She's a Ph.D. student in philosophy at Rutgers, working on her dissertation here, and he's a game designer. They're from Australia originally, and they just got married Down Under about 4 weeks ago. Her dad and stepmom live in North America, though, so they're thoughtfully holding a wedding party next weekend for Kate and Morgan's American friends and family at their home in wt:Hudson (New York). We've driven through the area a few times in the past, but we haven't really stopped for long. From what Kate says, Hudson's a pretty town and early October means lots of leaf-peeping opportunities. Not that Montreal's any slouch in that respect right now, but it will be nice to see other people's leaves, I guess. There's also a Firefighter Museum and a Shaker Museum. I also just finished The Island at the Center of the World, a historical book about the 17th-century Dutch colony of New Netherlands (now New York). The main settlements were in the Hudson Valley between Manhattan and Albany (New York), so I'd like to find a nice one to stop at and look around. The drive down is about 4-1/2 hours, and I think we'll be OK doing it in one hop, even with the baby strapped down in the back seat. We're heading out on Friday evening, spending Saturday checking out the sights, then parties on Sunday and Monday (a holiday, Columbus Day, in the US). Monday night Maj got us tickets to see Massive Attack here in Montreal, so we'll be zooming back up highway 87 Monday afternoon and if we can avoid problems at the border in wt:Plattsburgh we'll be rockin' out (a bit) that evening. tags:

Parallel distrihoozit The discussions on the cc-licenses list over the last week have gotten increasingly heated. At heart is the very emotional issue of DRM (AKA TPM) technology, and to what extent its use is compatible with Open Source and Open Content. It's been a real shame -- several pages-long posts that really try to hammer a point into the head of someone who's just not listening since they're busy writing their own 10-page-long email. It's become impossible to read and some wiser heads have asked for a cooling-off period. Thankfully so. There is very little time left to continue this discussion. I really sincerely hope that people who are interested in seeing Commons licenses that are compatible with Debian and other Free Software pop in and say something to that effect. Cool heads who can state things in simple English are particularly welcome. The list allows posting to subscribers only -- kind of a damper on one-time posts -- but subscription only takes a second, and you can disable your subscription immediately after you're done. tags:

Busy Wednesday Ahead 2007 is going to be the year of wiki in Montreal. We're having two of the main wiki conferences -- RecentChangesCamp and Wikisym -- here in Montreal next year. And I guess it's time for the local wiki, open source, open content and "open other" community to start getting ready. At least in the wiki world we're taking the first steps. Wednesday 4 October (uhh... I mean, Duodi 12 Vend miaire) we're having Montreal Wiki Wednesday at 8655 rue St-Denis (metro Cremazie). Alain Desilets and Sunir Shah, who are both working on Wikisym, will be coming, as well as Anne Goldberg (principal organizer of RCC) and the inimitable Seb Paquet, who runs everything in this town. 15h-18h, fun times ahead. tags:

CC Salon Montreal But wait there's more! On top of WW, we're going to have a big Creative Commons Salon Montreal on Wednesday night, too. This will be the second time we've had a get-together in Montreal for CC so far, and I think it's going to be a good one. Maj and I are going to give an informal talk about Wikitravel and its CC license which has worked so well for us. I'm really gung-ho on the CC Salon idea. It's a great way to engage the interesting, fun part of CC -- and it's all about the fun, right? CC Salon Montreal is happening 4 Oct at 18:30h at L'am re boire, 2049 rue St. Denis (a mere 66-block walk from Wiki Wednesday!). Should be a good time. (On top of all this, I'll probably stop at YULblog on the way home, just to make the Web maven's trifecta for the night. tags:

1 October 2006

Ross Burton: Sound Juicer "Now Every Fool In Town" 2.16.1

Sound Juicer "Now Every Fool In Town" 2.16.1 is out. Tarballs are available on burtonini.com, or from the GNOME FTP servers. Just a couple of fixes: NP: Mad Season, Matchbox 20

30 September 2006

Zak B. Elep: More on being 0 16

Its the close of September. And just a week ago I turned 16: in hex, that is. Although I do distinctly remember how I wished coming back to being a 16-decimal-year-old then… So, how does it feel being one? I’ve barely begun to feel it. There has been a lot of distractions to keep me from contemplating too much about $age: That’s just the tip of the iceberg. Moving back to Manila again has its own issues; I still have to look for a better place to stay (not that I’m complaining about my Tita’s place in Malate, but hey, we’re already overcrowded… I suppose I’ll get my own flat once I think I can stay out beyond the 3 months,) and I have to get better internet connectivity (all the better for my chroots to keep updated, and finally get back on the Debian/Ubuntu packaging scene.) I also have to find some time to get a passport, a haircut, some nice pair of sneakers, and a Wii. I’ve yet to know what this being 0×16 business is all about, but this I have to say: Thanks $DEITY for all the fish.

28 September 2006

Enrico Zini: debtags-interesting-times

Debtags interesting times An unbelievable amount of interesting, fun and bleeding-edge things to do are coming out with Debtags. Erich did some javascript tag cloud. Interactive tag clouds are probably the coolest thing to provide as a link for packages.debian.org when people click on a tag. They can also replace the current navigator we have at http://debtags.alioth.debian.org/cgi-bin/index.cgi I started using Xapian, which is cool. It does fast text search with all the cool things like stemming and whatnot. Check out a prototype package search interface using it. Xapian can also find packages similar to a given one by looking at the description, which is cool. I can already use it to suggest tags, until we manage to put some of the bayesian code we are accumulating into production. Plus, I had an IRC chat with a Xapian developer: he was really nice. We had one of those neat chats in which really cool ideas keep coming out and it won't be so hard to implement even and wow, that'd be so cool, let's do it! Then there's the new web-based tag editing interface to do to replace the old one. I can add the smart search idea to it allowing to display tags giving keywords: and that'd give suggestions that automatically follow existing tag practices, which rocks. The C++ daemon backend that we now have for the website is great to allow to quickly intermix tag updates and queries, and still hope to scale. Maybe it means that soon we finally can start handling debtags mail submissions on Alioth as well. Distro-wise I have a plan to finally get rid of apt-index-watcher. The plan is already working in my computer, and just needs some more tests before hitting unstable. I'd also like to have the Python Debtags interface packaged somewhere, so that people who don't grok C++ can have fun with the Debtags data. Work is underway. Then there's the debtags-updatecontrol experiment, which didn't go quite as I expected, but still went well. I've already sent my first tag override update to aj incorporating data from control files. Other ideas? For example, implementing Xapian indexing in libept, and finally have a package manager with an amazingly fast search-as-you-type. And that, as a side effect, would create a Xapian package description in /var/something that is ready for any installed software to use. Then there's popcon. That's another piece of data to make available to package managers, and I already know how to do it. With Phil Hands at Debconf6 we had also started designing a way to use the unaggregated popcon database to implement an Amazon-style functionality that would go like "users which have a system similar to yours also have packages X and Y installed: would you like to have a look at them?" Joey Hess suggested to filter popcon analysis data with debtags, so that one can get suggestions, for example, only limited to game packages. Oh so cool! And this all feels like just a beginning...

27 September 2006

Alexis Sukrieh: More and more alioth://, less and less localhost://

That’s pretty cool to have such a useful environment like alioth for handling collaborative maintenance. I joined the Debian Perl Group recently in order to put my Perl packages into the hand of the team, and that reminded me how alioth is a powerful tool when you’re about handling a debian package with others. As I receive quite often some po/po-debconf updates for the package backup-manager, I decided to exhume the pkg-backup-mngr project, in order to handle the source with subversion, and to let the translators commit their changes. I now use enormously svn-buildpackage and I feel pretty happy about that. I even think about opening an alioth project for every single package I maintain (and of course, which cannot be handled by an already existing team). Update I apprently forgot the last paragraph of that post in my mind, and the mail Philipp Kern sent me made me aware of that (pointing to Rapha l Hertzog announcement about collab-maint). Indeed, Philipp, I wanted to conclude my post with something about collab-maint, I guess it’s done now. Thanks!

Benjamin Mako Hill: Who Gets to Define Freedom?

Recently, I had an opportunity to publicly discuss my projects around definitions of freedom for creative work with Lawrence Lessig at a workshop at Wizards of OS. In particular, we talked about my article Toward a Standard of Freedom in which I advance a call for a list of essential freedoms, a definition of free culture or content, and a goal around which a social movement for free creative works can be based. At WOS, Lessig and I agreed that its likely that, eventually, some standard (or standards) of freedom will take hold. Like me, Lessig seems to think that this is a good thing. We both agree that there will be, and should be, competing definitions of freedom, competing social movements, and a long conversation about what essential freedom really to creative works is before we get there. Our most fundamental differences seem to stem from a disagreement about who gets to define freedom or, perhaps more precisely, who the communities of producers should listen to in order to find out what essential freedoms in the domain of different types of creative works are. Lessig is extremely reticent to make any claims about what essential freedoms might be: he does not want to speak for creative communities that he does not intimately understand. While he seems to be suspect of any project making normative claims in this regard, he disagrees most strongly with projects like mine that offer definitions of free content and expressions that are intended to be applied broadly and outside of the explicit domain of the definition's initiators recognized experience (in our case, online encyclopedias and software). Lessig explained that he trusts musicians -- and in particular, Gilberto Gil, the progenitor of the CC Sampling license -- when it comes to defining essential freedoms for music. Similarly, he trusts programmers -- and in particular, Richard Stallman -- when it comes to defining essential freedom for software. Since Richard and I are less accomplished, less well known, and less experienced musicians, Lessig feels most comfortable erring in favor of Gil where there's a disagreement between us about the scope of essential freedom for music. While his is a convincing argument, I disagree with Lessig's position for a series of reasons I'll try to discuss here. First, it is important to remember that Gilberto Gil does not represent all musicians. There are many artists and musicians who support my definition. There are many (and probably more if the CC license usage statistics are any indication) who support Gil's lower base-line. It's worth remembering that, even though we disagree, both Gil and I are offering controversial and extreme positions. Today, most creators think that giving away their work at no cost, even non-commercially and barring derivatives, is crazy. To illustrate why this is not a problem, we can look again to free software. In the free software community, we see that Richard Stallman does not speak for the programming community at large when it comes to defining essential freedoms to code. In the mid-eighties, Stallman spoke for himself and a tiny handful of like-minded others. Today he speaks for many more but it's still a tiny fraction of all programmers. It's hard to remember when you're down in the trenches but the idea that software should be free remains a marginal and kooky idea to this day. Due to the hard work of the free software movement, many people have adopted Stallman's definition of essential freedom for software and many more will. But it is not mainstream and it didn't get here by being so. Setting an ethical standard and a goal for a social movement should not be about being popular. It should be about describing an ideal. It should be about standing up to injustice. It should be about answering the question, "what sort of world do I want to live in?" Not only is this process not a popularity contest, it will, in all likelihood, stand to make one very unpopular. Being respected or seen as an expert within a field will help with the adoption of one's ideal. Programmers trusted Richards Stallman because he'd written large parts of the very popular programming tools like GNU Emacs and GCC. However, it wasn't from his experience in programming that this insight into the importance of software freedom stemmed. It was from his desire to be a good, ethical, neighbor and member of a technical community. To this day, most great programmers continue to disagree with Richard. Second, I'm interested not only in talking about the ability of authors to choose how their works are used but in the rights of readers. You don't need to have a platinum album under your belt to have an informed and important opinion about how music should be heard, experienced and distributed. Lessig's current push for a "Read-Write Culture" is very fixated on creators and re-mixers. That's only one important piece of the community that frames and deals with this problem. Third, while I agree with Lessig that discussions around definitions of free culture must happen separately in each separate artist community, I see several compelling reasons why a single definition of freedom may be a very good idea both tactically and philosophically. For example, it provides a common rallying cry around which different creative groups can collaborate and it mirrors the common treatment of different types of works in current IP systems. More importantly, there are fundamental similarities between information goods and the way they are created, distributed, and consumed on computers and in digital networks. I've highlighted this before in quoting Eben Moglen on the ethics of creating artificial scarcity in goods with zero marginal cost. As a final note, it's worth stating that one doesn't need to feel that all works should be free to support a definition of freedom. Richard Stallman provides a great example of this. Stallman doesn't think that works of opinion or works that are designed primarily to entertain need to be free. However, he does believe that the term "free" should refer to a fixed set of freedoms so that he can take such a position. Without a definition of "free," a position on what should or should not be "free" is impossible. I believe that freedom to distribute and produce information goods like art and content and software are embedded in a set of freedoms and rights for both the producers and consumers. I think that to some degree (and quite probably a less extensive degree), Lessig agrees with this. Unlike Lessig, I don't believe that one needs extensive expertise in the creation of a particular type of creative good to make true statements about what is ethical or unethical in the production, distribution, and control of it. To use admittedly extreme analogies, you don't need to be a slave owner (or slave for that matter) to say that slavery is wrong. You don't need to be a farmer to make arguments against or in favor of vegetarianism or in favor of free range animals. I don't believe you have to be a technologist to claim that certain freedoms to technology are essential. I don't believe that you need to be an musician (successful or not) to make claims about essential rights to music. I welcomed the conversations and challenges that Lessig offered and it was encouraging to see agreement on the process of discussion and debate going forward. After the workshop, Lessig suggested that we continue the conversation. I look forward to doing just this in other venues and in other ways.

25 September 2006

Adam Rosi-Kessel: Philadelphia Orchestra

The Philadelphia Orchestra just announced the launch of an online store, where they are selling tracks directly from their own website. Following in the tentative steps of MySpace, eMusic, and Yahoo!, the Orchestra is selling unencumbered (i.e., DRM-free) MP3’s. Even better, for a slightly higher price, you can download content in the higher quality (lossless) FLAC format. Performances currently seemed to be priced at approximately $5 for the MP3 version and $6 for the FLAC version. This seems just about right to me. As an added bonus, they’re offering Beethoven’s Fifth in C minor for free. I’d love to see more of the industry move in this direction, particularly for longer-tail type cultural content like classical and world music. These recent developments are certainly a good start. It will be interesting to see if the iTunes Store eventually is forced to respond to these pressures.

Philipp Kern: Trac spam

Are you fighting Trac spam? We are, and receive massive amounts of it. We made most of the Wiki pages read-only and denied ticket state changes to anonymous users. But obviously this wasn't enough. It seems that Trac only deactivates the corresponding form on the ticket page. Of course we also deployed a little word list, but it needed to be hacked directly into the source code, so it's not something to provide as a patch. I wrote a little tool in Ruby which deals with ticket spam. It's the result of only two hours of work, thus there is some potential for extensions. It is supposed to work directly on the sqlite3 database, so it needs to run on the web server. So to despam our site we use this little wrapper (of course, that would need some adaption for others):
#!/bin/sh
ssh -t obby@darcs.0x539.de "\$HOME/despam.rb" $*
Currently it provides the following functions:
comment-spam -- Removes comment spam on a ticket.
Parameter: ticket id
state-change -- Removes spammed ticket state changes.
Parameter: ticket id
ticket-delete -- Removes a ticket with all correspondinginformation.
Parameter: ticket id
The interface is a bit darcs-alike, but sometimes you might get back to the beginning of the dialogue on invalid keystrokes and when you request help (i.e. a list of options). It works for me, and maybe it's helpful for others.

22 September 2006

Scott James Remnant: Upstart in Universe

upstart is a replacement for the init daemon, the process spawned by the kernel that is responsible for starting, supervising and stopping all other processes on the system. The existing daemon is based on the one found in UNIX System V, and is thus known as sysvinit. It separates jobs into different “run levels” and can either run a job when particular run levels are entered (e.g. /etc/init.d/rc 2) or continually during a particular run level (e.g. /sbin/getty). The /etc/init.d/rc script is also based on the System V one (and is in the sysv-rc package), it simply executes the stop then start scripts found in /etc/rcN.d (where N is the run level) in numerical order. Why change it? Running a fixed set of scripts, one after the other, in a particular order has served us reasonably well until now. However as Linux has got better and better at dealing with modern computing (arguably Linux’s removable device support is better than Windows’ now) this approach has begun to have problems. The old approach works as long as you can guarantee when in the boot sequence things are available, so you can place your init script after that point and know that it will work. Typical ordering requirements are: This worked ten years ago, why doesn’t it work now? The simple answer is that our computer has become far more flexible: We’ve been able to hack the existing system to make much of this possible, however the result is chock-full of race conditions and bugs. It was time to design a new system that can cope with all of these things without any problems. What we needed was an init system that could dynamically order the start up sequence based on the configuration and hardware found as it went along. Design of upstart upstart is an event-based init daemon; events generated by the system cause jobs to be started and running jobs to be stopped. Events can include things such as: In fact, any process on the system may send events to the init daemon over its control socket (subject to security restrictions, of course) so there is no limit. Each job has a life-cycle which is shown in the graph below: The two states shown in red (“waiting” and “running”) are rest states, normally we expect the job to remain in these states until an event comes in, at which point we need to take actual to get the job into the next state. The other states are temporary states; these allow a job to run shell script to prepare for the job itself to be run (“starting”) and clean up afterwards (“stopping”). For services that should be respawned if they terminate before an event that stops them is received, they may run shell script before the process is started again (“respawning”). Jobs leave a state because the process associated with them terminates (or gets killed) and move to the next appropriate state, following the green arrow if the job is to be started or the red arrow if it is to be stopped. When a script returns a non-zero exit status, or is killed, the job will always be stoped. When the main process terminates and the job should not be respawned, the job will also always be stopped. As already covered, events generated by the init daemon or received from other processes cause jobs to be started or stopped; also manual requests to start or stop a job may be received. The communication between the init daemon and other processes is bi-directional, so the status of jobs may be queries and even changes of state to all jobs be received. How does it differ from launchd? launchd is the replacement init system used in MacOS X developed as an “Open Source” project by Apple. For much of its life so far, the licence has actually been entirely non-free and thus it has only become recently interesting with the licence change. Much of the goal of both systems appears initially to be the same; they both start jobs based on system events, however the launchd system severly limits the events to only the following: Therefore it does not actually allow us to directly solve the problems we currently have; we couldn’t mount filesystems once the “filesystem checked” event has been recived, we couldn’t check filesystems when the block device is added and we certainly couldn’t start daemons once the complete filesystem (as described by /etc/fstab) is available and writable. The launchd model expects the job to “sit and wait” if it is unable to start, rather than provide a mechanism for the job to only be started when it doesn’t need to wait. Jobs that need /usr to be mounted would need to spin in a loop waiting for /usr to be available before continuing (or use a file in a tmpfs to indicate it’s available, and use that modification as the event). This is not especially surprising given that Apple have a high degree of control over both their hardware and the actual underlying operating system; they don’t need to deal with the wide array of different configurations that we have in the Linux world. Had the licence been sufficiently free at the point we began development of our own system, we would probably have extended launchd rather than implement our own. At the point Apple changed the licence, our own system was already more suitable for our purposes. How does it differ from initng? Initng by Jimmy Wennlund is another replacement init daemon intended to replace the sysvinit system used by Linux. It is a dependency-based system, where upstart is an event-based system. The notion of a dependency-based system is interesting to talk about at this point. Jobs declare dependencies on other jobs that need to happen before the job itself can be started. Starting the job causes its dependencies to be started first, and their dependencies, and so on. When jobs are stopped, if running jobs have no dependencies, they themselves can be stopped. It’s a neat solution to the problem of ordering a fixed boot sequence and the problem of keeping the number of running processes to a minimum needed. However this means that you need to have goals in mind when you boot the system, you need to have decided that you want gdm to be started in order for it, and its dependencies, to be started. Initng uses run levels to ensure this happens, where a run level is a list of goal jobs that should be running in that run level. It’s also not clear how the dependencies interact with the different types of job, a dependency on Apache would need the daemon to be running where a dependency on “checkroot” would need the script to have finished running. Upstart handles this by using different events (“apache running” vs. “checkroot stopping”). Again while interesting, Initng does not solve the problems that we wanted to solve. It can reorder a fixed set of jobs, but cannot dynamically determine the set of jobs needed for that particular boot. A typical example would be that if the only dependency on the job that configures networking is the mount network filesystems job, then should that job fail or notbe a goal (e.g. because there are no network filesystems to be mounted) the result is that network devices themselves will not be configured. You could make everything a goal, and just use the dependencies to determine the order, however this is less efficient than just ordering the existing sysv-rc scripts (which can be done at install time). Another example is that often you simply don’t know whether something is a dependency or not without reading other configuration, for example the mount network filesystems may be a dependency of everything under /usr or may just be a dependency of anything allowing the user to login if it just mounts /home. The difference in model can be summed up as “initng starts with a list of goals and works out how to get there, upstart starts with nothing and finds out where it gets to.” How does it differ from Solaris SMF? SMF is another approach to replacing init developed by Sun for the Solaris operating system. Like initng it’s a dependency-based system, so see above for the differences between those systems and upstart. SMF’s main focus is serive management; making sure that once services are running, they stay running, and allowing the system administrator to query and modify the states of jobs on the system. Upstart provides the same set of functionality in this regard, services are respawned when they fail and system administrators can at any time query the state of running services and adjust the state to their liking. Will it replace cron, inetd, etc? The goal of upstart is to replace those daemons, so that there is only one place (/etc/event.d) where system administrators need to configure when and how jobs should be run. In fact, the goal is that upstart should also replace the “run event scripts” functionality of any daemon on the system. Daemons such as acpid, apmd and Network Manager would send events to init instead of running scripts themselves with their own perculiar configuration and semantics. A system administrator who only wanted a particular daemon to be run while the computer was on AC power would simply need to edit /etc/event.d/daemon and change “on startup” to “on ac power”. What about compatibility? There’s a lot of systems administrators out there who have learned how Linux works already and will not want to learn again immediately, there’s also a large number of books that cover the existing software and won’t cover upstart for at least a couple of years. For this reason, compatibility is very important. upstart will continue to run the existing scripts for the forseeable future so that packages will not need to be updated until the author wants. Compatibility command-line tools that behave like their existing equivalents will also be implemented, a system administrator would never need to know that crontab -e is actually changing upstart jobs. Does it use D-BUS?
“To D-BUS people, every problem seems like a D-BUS problem.” —Erik Troan
The UNIX philosophy is that something should do just one job, and do it very well. upstart’s one job is starting, supervising and stopping other jobs; D-BUS’s one job is passing messages between other jobs. D-BUS does provide a mechanism for services to be activated when the first message is sent to them, thereby starting other jobs. Some people have taken this idea and extended it to suggest that all a replacement init system need do is register jobs with D-BUS and turn booting into a simple matter of message parsing. This seems wrong to me, D-BUS would need to be extended to supervise these services, provide means for them to be restarted and stopped; as well as deal with being process #1 which means cleaning up after children whose parent’s have died, etc. It seems far simpler to arrange for D-BUS to send an event to init when it needs a service to be started, and focus on being a very good message passing system. The IPC mechanism used by upstart is not currently D-BUS because of various problems, however it’s always been expected that even if init itself doesn’t communicate with D-BUS directly, there would be a D-BUS proxy that would ensure messages about all init jobs and events would be given to D-BUS and D-BUS clients could send messages to init to query and change the state of jobs. What is the implementation plan? Because this is process #1 we are changing, we want to make sure that we get it right. Therefore instead of releasing a fully-featured daemon and configuration to the world, we’re developing it in the following stages:
  1. Principal development; at the end of this stage the daemon has been implemented and can manage jobs as described.
  2. Replacement of /sbin/init while running the existing sysv-rc scripts. This is the shake-down test of the daemon, can it perform the same job as the existing sysvinit daemon without any regressions?
  3. /etc/rcS.d scripts replaced by upstart jobs. These consitute the majority of tasks for booting the system into at least single-user mode, and contain many of the current ordering problems and race conditions. If the daemon solves the problems here, it will be a success.
  4. Other daemon’s scripts replaced by upstart jobs on a package-by-package basis; this will be an ongoing effort during which upstart will continue running the existing sysv-rc scripts as well as its own jobs. During this time the event system may be tweaked to ensure it truly solves the problems we need.
  5. Replcement of cron, atd, anacron and inetd. This will happen alongside the above and result in a single place to configure system jobs.
  6. Modification of other daemons and processes to send events to init instead of trying to run things themselves.
The current plan is that we will be at least part of the way into stage #3 by the time edgy is released, with that release shipping with upstart as the init daemon and the most critical rcS scripts being run by it to correct the major problems For edgy+1 we hope to have completed stage #5 and be at least part of the way into the implementation of stage #6. From the start of development of edgy+2, no new packages will be accepted unless they provide upstart jobs instead of init scripts and init scripts will be considered deprecated. What state is it in now? The init daemon has been written and is able to manage jobs as described above, receiving events on the control socket to start and stop them. This has now been uploaded to the Ubuntu universe component in the upstart package for testing before it becomes the init daemon. We welcome any experienced users who want to help test this; install the package and follow the instructions in /usr/share/doc/upstart/README.Debian to add a boot option that will use upstart instead of init. If your system boots and shut downs normally (other than a slightly more verbose boot without usplash running) then it is working correctly. Other types of events will be added as required during development and testing. Currently only a basic client tool (initctl) has been written, compatibility tools such as shutdown will be written over the next week or two before it replaces our sysvinit package.

17 September 2006

Jesus Climent: On traffic accidents.

Joey points out he could have saved Lilo’s life. A bit over 2 years ago I had the same feeling, when Ranty and Erconde died on a car accident, 700Km after I left the car asking them if they really did not want me to drive with them, so that we could share the driving times (Erconde did not have a driving license). In my case it affected me in ways I could not have seen happening, to the point that my (back then) girlfriend and best-friend-ever are not a close part of my life anymore. Lilo is no more. Yet I am glad Phil is alive.

14 September 2006

Phil Hands: The wisdom of appropriate clothing

Yesterday morning I decided to wear my summer bike leathers, rather than my waterproofs, in defiance of the weather forecast's prediction of rain. About twenty minutes later, that decision paid off big time when my motorcycle was helpfully reconfigured into this new shape by an inattentive car driver:
post-accident CBR600F motorcycle
[not a great photo, I'm afraid, but I was in mild shock, and failed to notice that my phone was still in only medium photo-size mode, but you'll note that the dangly bits used to be the headlamps, and that the handlebars are in the full-lock-to-the-left position, despite the wheel pointing slightly to the right of middle.] Despite the fact that the bike is almost certainly a write-off, the main thing that's wrong with me is a slightly bruised ankle, and general soreness of all major muscles similar to that which would result from overdoing exercise a bit. The driver of the car seemed more shocked than I was. He was a nice chap, and a practicing Muslim (or so I surmised given his comments about having done his prayers in the morning, and wondering what he'd done wrong to cause this to happen). I think he was expecting to see my mangled corpse in the road, as depicted in a recent government safety campaign. While it's nice to see that people are affected to some extent by such campaigns, I think I'd prefer it if they instead promped people to look where they were going.

13 September 2006

Biella Coleman: On E-Town

I am nearly done with the marathon move. After a small hold-up in Canadian customs (for no apparent reason except I got a border official who had incorporated the role, a full 110%), my stuff is here, unpacked, and in decent order. In between unpacking, I have been able to experience some of Edmonton–from the nightlife to its administrative face (signing up for health insurance and a Social Insurance Numbers, for example, both of which were easy as cake) and I have to say E-town gets a far far far worse rap than it deserves. Ok, the weather is nothing to swoon over, and it is already getting far colder than I am used to but bracketing that detail, it is a pretty neat city. Now I tend to like the mid-size cities (Minneapolis, Madison, Philadelphia, Portland are some of my favorites in the U.S) over the mega-gargantuan-city and Edmonton fits this bill with just under a million people. And perhaps it is also just that I am digging some Canada-wide features (affordable and immediate health care, licensed cafes, a saner pace of life, the pleasant and earnest character of many folks) but there are Edmonton-specific attributes that are pretty nice too. Before I get to them, it is worth noting that every time I have told people that I was going to Edmonton, they would either: 1) admit that they did not know exactly where it was and thus could offer no opinion whatsoever (and I was one of those folks until I looked on a map) or 2) blurted some negative reaction like: “do you really have to go there!” though most of those people had never been, but had a sense of its northernly location. Perhaps my favorite reaction came from a blackberry forum where we posted a question about good data plans in Edmonton/Canada. Most of the replies stuck to the topic, but one person decided to spew his unadulterated thoughts on Edmonton:
i feel sorry for u going from NYC to Edmonton “Edmonton sucks” you’ll be happy to go back to NY..
You go from a city that has life to a dead one.. from having good bb plans to sh*ty ones.. hope your getting paid good
Ok, admittedly, the data/cell phone plans are lackluster but I think this person either has had some terrible times in Edmonton (and holds an unhealthy grudge), has never lived in NYC or has a warped sense of what the good life in a city means. Sure NYC is an amazing place, and is my likely future home, so I am not going to trash it but, like any city, it has its shortcomings.. like unfordable housing But time will tell as to how I feel about Edmonton after the winter. Perhaps when it reaches freezing temperatures, it does turn a leaf, and become dead but then you hit the mountains, no? But for now I am digging the HUGE pine trees, rivers, and ample sun of E-town.

12 September 2006

Mario Iseli: What a good LUG president would be

Today i was busy with some elections at the LUG Seeland in Biel. One of the candidates personally is totally ok, but I think he isn’t ready for this position. A president of a LUG should be: So, what exactly is a good Linux user”? I think this is a critic topic and I’m already glad to receive some flames :-) And here the opposite (poorwise a lot of people think this about Linux users) Yes, some people know why i have written this article now, but I think it was necessary and the people maybe think a little bit more when they elect a “president”.

Benjamin Mako Hill: It may someday become useful...

/copyrighteous/images/crowd_robot.jpg
My philosopher Mika says:
These are robots that can walk through crowds without bumping into people. I almost feel that humans need to develop that skill rather than robots. But nonetheless, it may someday become useful to have such robots.

11 September 2006

Jon Dowland: Debconf localteam meeting

the outside of the teviot
This weekend gone I was up in Edinburgh for the debconf7 localteam local meeting. This was a mammoth 2½ hour meeting with a fair degree of parallel discussion going on. The minutes are up now. I used my iRiver's built-in dictaphone to record the meeting and this has proven very helpful writing up the minutes. I am actually quite suprised at both the quality of the result and the fact it's battery survived recording, encoding and writing to disk the whole affair, with plenty of capacity to spare. The file came to 70MB. Apart from the meeting, we got to visit the proposed venue and Neil, Phil and myself sampled some possible accomodation. There was generally a very positive feeling about things: Neil (who has attended a Debconf before: I haven't) seemed very happy/relieved when he saw the Hostel I was staying in and everyone was agreed that the Teviot was a fantastic venue (although networking and power should be fun). Oh and there was lots of beer :) Kate came up on the sunday and met us for some coffee before we went off and had a lovely meal at David Bann vegetarian restaurant. There are some photos of the weekend up on flickr, or at least there will be, when I've finished uploading :)

10 September 2006

Clint Adams: The inside straight for sure this time, Rocky

Phil, I don't know what crazy poker variant you're talking about, but I'll pretend that I do. Player B should have gone all-in, called, or STFU after folding. If all-in protection were meant to extend to everyone at the table, then betting would stop immediately after the first all-in.

Philipp Kern: Poker rules: all-in, who gets the main pot?

Perhaps somebody knows it... I crawled the web for it, but didn't find a real hint for my problem. Say one player (called A) in a no-limit round goes all-in. Player B calls the all-in. Player C raises. Player A does not participate in any further betting. Player B folds. The side-pot containing the raise of player C is given back to him. All three, A, B and C, are in the main pot, but B folded after the raise of C. So my question follows: Is B eligible to win the main pot, even if the hand was folded after a raise? My definition of folding is to pass the cards on to the dealer. When we played yesterday the other guy (B) told me (C), that even if he folded after my raise he could still win the main pot, so there is a showdown with three pairs of hole cards.

9 September 2006

Andrew Pollock: [life/americania] Got to meet the Governator

One of our neighbours, Carol (the one who adopted Cleo, the mother of the litter of kittens we temporarily fostered a while ago), is a mad keen volunteer for the Republican Party (at the state level). I think Sarah mentioned I was interested in having a political discussion with her some time, so she invited us to come to a rally in Saratoga today and gave us free tickets (normally you'd have to pay at least $25 per person to do what we did). So we went along to check it out. It started about 45 minutes late, and we'd arrived 30 minutes early. It was in a high-school auditorium that held about 400 people by our guestimations. While we were waiting, it was interesting to do a bit of people-watching. The vast majority were Caucasian, and either young or elderly, not a lot in between. Those that were had children there as well. A few conversation snippets I overheard were people seeming to justify their opinions with themselves and each other, which was interesting. First up was some sort of attempt at crowd warming for a couple of minutes, then I think it was the state leader of the Republican Party who had a few words, then Arnold himself came on. He gave a pretty good spiel about how he'd unfucked the state since he took office, and how he needed to be returned for another 4 years, and rattled off a list of his accomplishments and what more he wanted to do. It was good to hear him talk about the environment, although in the next breath he went on to talk about "rebuilding California" and how there'd be cranes and concrete everywhere, with new roads and tunnels and whatnot, so you've got to wonder a little bit... In the same vein, he went on about not raising taxes or increasing spending, yet had this whole "rebuilding California" thing going on. His speech was generally fairly light-on details and more of a rousing the party faithful, than a "vote for me", I think. He wrapped up with an "I'll be back" and proceeded to throw some campaign swag into the audience, then came down off the stage to kiss hands and shake babies. I got to shake his hand, so that was the highlight of the whole outing. I certainly walked away from the rally thinking fairly highly of him as a candidate, even if he is a Republican. I'd be inclined to vote for him if I was entitled to. For the sake of hearing both sides, I'd like to go and hear what Phil Angelides has to say for himself as well. Some photos from the rally are here and a little bit of video is here.

7 September 2006

Philipp Kern: Some kind of vacation needed.

Sorry to all my NMs which await processing and others which expect anything of me. I often have headaches currently, possibly due to some meteorosensitivity of mine. That leads to quite some apathy, which in turn leads to unproductivity. Oh well... I should have taken a few days off home and PC in the last weeks after I left school, to regenerate. My sleep cycles are irregular and I often wake in between. (Or the mailman wakes me at 9am, when I went to bed at 3 or 4 am.) And I am even more addicted to coffee than I was before. I didn't even take the time to read a single book. This will change now, I hope. I spent the last days tracking down problems in libldap-ruby and ruby-gtk2... and I wasn't too successful: I got the first, but I am still suffering from the second. *cough* And I got started with Prolog... It is not yet entirely clear to me, but I think I will [vac] until the end of the week-end, enjoying some time with books and music. Hopefullys I can then think clearly again.

Next.

Previous.