Und immer wieder: Simplicity

Eine Person auf Hacker News:

For the last 12 years, I’ve worked with 40+ different software teams (helping with UI/UX design]). From small scrappy startups to fortune 500.
The teams that were great to work with and ended up having the biggest wins, were always small teams with a great cultural balance. They always strived for the simplest solutions.

You could trace this balance of engineers in all of the cases back to GREAT hiring by the CEO.

The teams that were the least productive and just burnt through VC money were the ones that had a handful of toxic engineers at their core. Finding complex and seemingly clever (over engineered) ‘solutions’ seemed to be their goal in every meeting.

A way to find out if your team belongs to the second group, measure the amount of jargon that’s being used in meetings.

Linus

From	Linus Torvalds <>
Date	Sun, 23 Dec 2012 09:36:15 -0800
Subject	Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
share 2k
On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab
<mchehab@redhat.com> wrote:
>
> Are you saying that pulseaudio is entering on some weird loop if the
> returned value is not -EINVAL? That seems a bug at pulseaudio.

Mauro, SHUT THE FUCK UP!

It's a bug alright - in the kernel. How long have you been a
maintainer? And you *still* haven't learnt the first rule of kernel
maintenance?

If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs. How hard can this be to
understand?

To make matters worse, commit f0ed2ce840b3 is clearly total and utter
CRAP even if it didn't break applications. ENOENT is not a valid error
return from an ioctl. Never has been, never will be. ENOENT means "No
such file and directory", and is for path operations. ioctl's are done
on files that have already been opened, there's no way in hell that
ENOENT would ever be valid.

> So, on a first glance, this doesn't sound like a regression,
> but, instead, it looks tha pulseaudio/tumbleweed has some serious
> bugs and/or regressions.

Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
garbage and idiocy from a kernel maintainer again. Seriously.

I'd wait for Rafael's patch to go through you, but I have another
error report in my mailbox of all KDE media applications being broken
by v3.8-rc1, and I bet it's the same kernel bug. And you've shown
yourself to not be competent in this issue, so I'll apply it directly
and immediately myself.

WE DO NOT BREAK USERSPACE!

Seriously. How hard is this rule to understand? We particularly don't
break user space with TOTAL CRAP. I'm angry, because your whole email
was so _horribly_ wrong, and the patch that broke things was so
obviously crap. The whole patch is incredibly broken shit. It adds an
insane error code (ENOENT), and then because it's so insane, it adds a
few places to fix it up ("ret == -ENOENT ? -EINVAL : ret").

The fact that you then try to make *excuses* for breaking user space,
and blaming some external program that *used* to work, is just
shameful. It's not how we work.

Fix your f*cking "compliance tool", because it is obviously broken.
And fix your approach to kernel programming.

               Linus

Klassischer Torvalds-Ausbruch zu einer Zeit, als er gelegentlich noch aus der Haut fuhr.

Ich persönlich wäre schwerst angepisst, wenn mir jemand dermassen an den Karren fahren würde, Torvalds hin oder her. Umso eindrücklicher die coole Antwort:

Date	Sun, 23 Dec 2012 18:21:35 -0200
From	Mauro Carvalho Chehab <>
Subject	Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
share 0
Linus,

Em Sun, 23 Dec 2012 09:36:15 -0800
Linus Torvalds <torvalds@linux-foundation.org> escreveu:

> To make matters worse, commit f0ed2ce840b3 is clearly total and utter
> CRAP even if it didn't break applications. ENOENT is not a valid error
> return from an ioctl. Never has been, never will be. ENOENT means "No
> such file and directory", and is for path operations. ioctl's are done
> on files that have already been opened, there's no way in hell that
> ENOENT would ever be valid.

Agreed: ENOENT was a bad choice, and it should be reverted.

What I'm trying to understand is why pulseaudio is complaining.
Is it because it only accepts EINVAL error code for media controls?

I'm asking it to Rafael because I'm pretty sure that other drivers
don't return EINVAL when a media control is not available. So, the bug
may already be there, and probably got noticed on 3.8-rc1 because most
notebooks come with UVC cameras installed internally.

> > So, on a first glance, this doesn't sound like a regression,
> > but, instead, it looks tha pulseaudio/tumbleweed has some serious
> > bugs and/or regressions.
> 
> Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
> garbage and idiocy from a kernel maintainer again. Seriously.

OK.

> I'd wait for Rafael's patch to go through you, but I have another
> error report in my mailbox of all KDE media applications being broken
> by v3.8-rc1, and I bet it's the same kernel bug.

Ouch!

> And you've shown
> yourself to not be competent in this issue, so I'll apply it directly
> and immediately myself.

OK, please apply it.

I suspect however that just applying Rafael's patch may not be enough,
as the bug may still be there affecting all other drivers.

> WE DO NOT BREAK USERSPACE!

I know and I'm doing my best rejecting patches that could potentially
break userspace in advance.

Sometimes shit happens. Sorry for that.

Cheers,
Mauro

Raspberry Pi als Tor Relay

Hinweise zur Installation von Tor auf einem Raspberry Pi.

  • Raspberry Pi OS via Raspberry Pi Imager auf die micro SD Karte schreiben (SSH aktivieren!)
  • Ethernetverbindung und Stromversorgung herstellen
  • Via SSH einloggen
  • Pakete aktualisieren:
    apt-get install update
    apt-get install upgrade
  • Tor installieren
    apt-get install tor
  • /etc/tor/torrc:

SocksPort 0
Log notice file /var/log/tor/notices.log
RunAsDaemon 1
DataDirectory /var/lib/tor
ORPort 9001 IPv4Only
ExitPolicy reject *:*

  • Auf dem Router Port 9001 öffnen
  • systemctl restart tor@default.service
  • Auf einem schwachbrüstiger Raspberry Pi kann tor von systemd beendet werden, weil tor nicht innerhalb von 5min einen erfolgreichen Start signalisierte (zu erkennen in den Logs, wenn inmitten des Bootstrapping das Programm neu gestartet wird). Lösung: Erhöhung der TimeoutStartSec (z.B. von 300 auf 600) in /lib/systemd/system/tor@default.service.

Unix Pipes

Doug McIlroy beschreibt Pipes, lange bevor Unix das Licht der Welt erblickte.

            Summary--what's most important.
    To put my strongest concerns into a nutshell:
1. We should have some ways of coupling programs like
garden hose--screw in another segment when it becomes when
it becomes necessary to massage data in another way.
This is the way of IO also.
2. Our loader should be able to do link-loading and
controlled establishment.
3. Our library filing scheme should allow for rather
general indexing, responsibility, generations, data path
switching.
4. It should be possible to get private system components
(all routines are system components) for buggering around with.

                                                M. D. McIlroy
                                                October 11, 1964 

Goodbye Hostpoint, Hello Hetzner

Seit Anbeginn anno 2006 war dieser Blog bei Hostpoint im schönen Rapperswil gehostet. Das billigste Webhosting Angebot beläuft sich bei diesem Anbieter unterdessen auf CHF 12.90/Monat (CHF 154.80/Jahr). Bisschen teuer für das bescheidene Datenaufkommen, der dieser Blog verursacht.

Kann man heutzutage bei gleicher Qualität weitaus billiger haben, zum Beispiel bei Hetzner für rund 25 Stutz pro Jahr (EUR 1.8/Monat). Deshalb kurzerhand Umzug. Auch gleich noch alles aktualisiert. Bisher nichts zu Beklagen. Daumen hoch.

Farewell from Rusty Russell (kernel.org)

To my fellow maintainers: stay harsh on code and don’t be afraid to say “No” or “Why?”; there really are more bad ideas than good ones, and complexity is such a bright candle for us hacker-moths. But be gentle, kind and forgiving of your peers: respect from people you respect is really the only reward that sticks.

Farewell all, and I look forward to crossing your paths again!

Rusty.

commit: ed875ea1fcc6c34ea232610c3041d0978e327bbe

A Declaration of the Independence of Cyberspace

by John Perry Barlow, RIP

Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.

We have no elected government, nor are we likely to have one, so I address you with no greater authority than that with which liberty itself always speaks. I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You have no moral right to rule us nor do you possess any methods of enforcement we have true reason to fear.

Governments derive their just powers from the consent of the governed. You have neither solicited nor received ours. We did not invite you. You do not know us, nor do you know our world. Cyberspace does not lie within your borders. Do not think that you can build it, as though it were a public construction project. You cannot. It is an act of nature and it grows itself through our collective actions.

You have not engaged in our great and gathering conversation, nor did you create the wealth of our marketplaces. You do not know our culture, our ethics, or the unwritten codes that already provide our society more order than could be obtained by any of your impositions.

You claim there are problems among us that you need to solve. You use this claim as an excuse to invade our precincts. Many of these problems don’t exist. Where there are real conflicts, where there are wrongs, we will identify them and address them by our means. We are forming our own Social Contract. This governance will arise according to the conditions of our world, not yours. Our world is different.

Cyberspace consists of transactions, relationships, and thought itself, arrayed like a standing wave in the web of our communications. Ours is a world that is both everywhere and nowhere, but it is not where bodies live.

We are creating a world that all may enter without privilege or prejudice accorded by race, economic power, military force, or station of birth.

We are creating a world where anyone, anywhere may express his or her beliefs, no matter how singular, without fear of being coerced into silence or conformity.

Your legal concepts of property, expression, identity, movement, and context do not apply to us. They are all based on matter, and there is no matter here.

Our identities have no bodies, so, unlike you, we cannot obtain order by physical coercion. We believe that from ethics, enlightened self-interest, and the commonweal, our governance will emerge. Our identities may be distributed across many of your jurisdictions. The only law that all our constituent cultures would generally recognize is the Golden Rule. We hope we will be able to build our particular solutions on that basis. But we cannot accept the solutions you are attempting to impose.

In the United States, you have today created a law, the Telecommunications Reform Act, which repudiates your own Constitution and insults the dreams of Jefferson, Washington, Mill, Madison, DeToqueville, and Brandeis. These dreams must now be born anew in us.

You are terrified of your own children, since they are natives in a world where you will always be immigrants. Because you fear them, you entrust your bureaucracies with the parental responsibilities you are too cowardly to confront yourselves. In our world, all the sentiments and expressions of humanity, from the debasing to the angelic, are parts of a seamless whole, the global conversation of bits. We cannot separate the air that chokes from the air upon which wings beat.

In China, Germany, France, Russia, Singapore, Italy and the United States, you are trying to ward off the virus of liberty by erecting guard posts at the frontiers of Cyberspace. These may keep out the contagion for a small time, but they will not work in a world that will soon be blanketed in bit-bearing media.

Your increasingly obsolete information industries would perpetuate themselves by proposing laws, in America and elsewhere, that claim to own speech itself throughout the world. These laws would declare ideas to be another industrial product, no more noble than pig iron. In our world, whatever the human mind may create can be reproduced and distributed infinitely at no cost. The global conveyance of thought no longer requires your factories to accomplish.

These increasingly hostile and colonial measures place us in the same position as those previous lovers of freedom and self-determination who had to reject the authorities of distant, uninformed powers. We must declare our virtual selves immune to your sovereignty, even as we continue to consent to your rule over our bodies. We will spread ourselves across the Planet so that no one can arrest our thoughts.

We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.

Davos, Switzerland
February 8, 1996