Weblogs and PR

“Weblogs werden in Zukunft als Werkzeug eine wichtige Rolle in PR-Kampagnen spielen”, says Stephan Oehen of Klaus J. Stöhlker AG (PDF). Therefore they launched their own Weblog in March/April, 2005.

As a professional PR agency with self acclaimed fast decision making, it’s pretty astonishing it took them that long to come to this conclusion.

So, know who you choose as your consultant.

KURSBUCH Glockenstrauch by Salome Rebekka In-Albon

Yesterday evening reminded me of how multifarious life is – much more than just facts and figures we tend to be snowed under with – and the importance and elegance of art. Splendid finish and promising beginning. A milestone. A rarity so far, watch out for the “KURSBUCH Glockenstrauch” by Salome Rebekka In-Albon:

Von den Wellen hin und her geschmissen schaukelte ich im Meer, von Land weit und breit keine Spur. Nicht mit einem Horn, nicht mit einer Leuchtpistole, mit einem leisen Wort nur, war ich schlagartig umgeben von Menschen. An Ort und Stelle, jawohl, mitten auf dem Meer, zimmerten sie in geschickter Teamarbeit ein solides Schiff. Durch Böen, begleitet von Wolkenbrüchen, von Sonnenstrahlen, mal Tiefgang, mal weniger, volle Kraft voraus, grobe und glatte See, aber zielstrebig dem Land entgegen. Zeit genug, ein Kursbuch zu führen.

As a spark, I’m proud of and thankful for being part of this great work and endeavor. Salutations to the “crew” and associates:

Salome (The captain), Johanna, Clemens, Megy, Markus, Toni, Max, Yvonne, Nora, Nicolas, Gertrud, Heidi, Magdalena and all those who couldn’t be there.

Spring, a wonderful time for art to blossom.

monotone: a BitKeeper replacement?

As Linus Torvalds mentioned it as the most viable BitKeeper replacement, monotone: distributed version control is on my watchlist now (and it should be on yours too, eventually ;).

I’ve been using subversion/svn for a while now (BTW if you use it, choose FSFS for storage type and DAV for connectivity). It’s pretty okay (way better than CVS, at least) as long as you’re working online and the only one accessing the repository ;) For distributed development (such as with the Linux kernel) it’s less suitable though. Particularly merging conflicting revisions kind of “sucks”. Monotone promises to bring improvements in this field (monotone FAQ):

How do you merge versions?

The merging system is based on a pair of 3-way merges: one set-oriented one at the changeset level to resolve differences in tree layout, and one line-oriented one at the file level, to resolve differences in concurrent edits to the same file. If either of these fail, they are passed off to a user-provided hook function, which invokes emacs ediff mode by default (but can be overridden).

It is important to note that a 3-way merge is not the same as simply “applying patches” in one order or another: we locate the least common ancestor of the merged children in our ancestry graph, calculate the edits on the left and right edges, adjust the right edge’s edit coordinates based on the left edge’s edits, and only then do we concatenate the left and right edges (ignoring identical changes, and rejecting conflicting ones).

Why not use more “sophisticated” merge algorithms, as
in Codeville, Darcs, or
Arch?

A few reasons:

  • We don’t see how Codeville’s algorithm achieves anything beyond
    what we currently do, though we’ll happily listen to explanations.
  • Darcs algorithm is based on patch commuting, which requires a
    fundamentally different representation of versions than ours.
  • Arch’s merges are based on applying patches in various orders.
    While better suited to cherry-picking, only one of them (star-merge)
    seems to provide a 3-way merge; the other two are strictly weaker.
  • In general, we’re afraid of hitting patents. We don’t know exactly what’s
    patented in this field, but so far the 3-way merge has served well.

If you find a better, free merge operator, please let us know!

Hopefully, there will be more choice regarding monotone’s frontends and IDE integration soon.

BitKeeper would be the VCS of choice for me. Unfortunately, it will be closed source software exclusively soon. Due to BK’s high price tag, a commercial license (or leasing) of BK is not an option at the moment.

BTW. Surprisingly, there’s a whole bunch of other interesting VCS projects (most of which I didn’t know).

UPDATES:
1. monotone is available in Gentoo’s Portage tree, ready to be installed (IOW stable) :)
2. svk looks interesting too (particularly if you use svn already). Gentoo ebuilds for svk are masked currently.

exec-shield again

as ingo restarted to publish plain exec-shield patches, i decided to apply his patch again. exec-shield-nx-2.6.11-A8 works nicely with kernel 2.6.11.6. there’s just a minor reject for the makefile:

– EXTRAVERSION =
+ EXTRAVERSION = -exec-shield

either patch the patch or change EXTRAVERSION from “.6” to “.6-exec-shield” manually.

nice document about exec-shield (among others): New Security Enhancements in Red Hat Enterprise Linux v.3, update 3 (PDF). another nice document: Security Enhancements in Red Hat Enterprise Linux (beside SELinux) (PDF). it also features a cool shell script – which is protected by copyright laws (and strict pdf drm settings) unfortunately.

NOTE TO SELF: check for compatibility with vms (jvm, mono). might break a couple of things.

Distributed computation – OpenMosix – Migshm

Need to take a look at Migshm – A MAASK group DSM patch for openMosix (Gentoo patches). Might be useful for transparently distributing Mono/Java apps to leverage the computing power of many nodes in a LAN. Note that only Java apps running on JVMs using green threads are distributable with default OpenMosix. Mono apps aren’t distributable at all as the VM only uses native threads so far (I was told; not verified so far).

I should also re-enable distcc in order to better leverage available computing power.

lim[t=0->inf](The Joel Test(t)) = 12 ?

An old “acquaintance”: The Joel Test: 12 Steps to Better Code

Just stumbled on it again. I don’t agree with all of the points[1], but it can’t hurt to check them in everyday life from time to time.

[1] 9 wrongly neglects budget restrictions, 11 wrongly discriminates people with a deep understanding of CS/IT but little practice in language XY, 12 a) not everybody has a bunch of people at hand for usability testing b) people tend to treat things as “well usable” if it feels or looks familiar even if they’re actually accustomed to very bad habits in regard to usability.

Interview with Hurd developer Marcus Brinkmann

Interview with Hurd developer Marcus Brinkmann | Wikinerds Portal:

Marcus Brinkmann: The Hurd is a multi-server system, running on top of a microkernel. This means that separate features of the kernel, like the network stack, authentication, or the filesystem, are implemented in different user-space processes, and not in the kernel. There are only few real multi-server systems out there, most other microkernel based systems you have heard about actually only run a single server on top of the kernel and thus are very similar to a monolithical kernel like the Unix kernel and its imitations.

The Hurd design goes one step further ahead of other multi-server systems and puts an emphasis on the user’s freedom to extend and enhance the operating system with new features. There is no mutual trust required for the individual components to cooperate. So, for example, the user can start their own filesystem services and attach (“mount”) them to the system’s file system hierarchy. Or a user can ignore the process servers services and start their own process management facilities, that is dissimilar to POSIX.

[Updated] Recommended reading: AST‘s “Modern Operating Systems” (for somewhat outdated implementation details: “Operating Systems Design and Implementation“) and the papers about the L4 microkernel.

State-of-the-art skiing technologies, part VI

In response to State-of-the-art skiing technologies, part V, I was informed about the Austrian edelwiser custom design ski project. You can choose from two hand-made, sandwich technology carving ski models (“Swing” and “Speed”) and design the cover sheet all by yourself! :) A great idea for creative minds, promotional purposes and as a potential prevention against thieves (-> personalize your skis by adding your full name, your e-mail address, your home page URL or similar).

In addition to the trendy life-style orientation of this concept, the skis (which are manufactured in Germany by VR) seem to be of exceptional quality (a positive review of the “Swing” model by carving-ski.de). The combination of both high quality and custom design (enabled through mass-customization via the web) somehow reminds me of Freitag F-CUT bags.

If you’re interested in test-driving edelwiser skis, there will be an edelwiser ski test opportunity in Saas-Fee, Switzerland at the end of March (contact the edelwiser team)

Spring is in the air, but skiing conditions in Switzerland are still great (sunny weather with good snow). It’s particularly good in places with glaciers like Saas-Fee or Zermatt, where you can even enjoy skiing in summer ;)