Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ausbildung zum FI AE in einer Behörde

35 views
Skip to first unread message

Sascha Grammes

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
Hallo NG

die Azubi's aus unserer Behörde (also auch ich) hatten gerade ein
Gespräch mit der Ausbildungsleitung zur Verbesserung der Lage. Ich will
Euch mal ein paar Dialoge aus diesem Gespräch weitergeben und würde mich
über Kommentare von Euch freuen:

Ich habe den genauen Wortlaut nicht mehr im Kopf, aber sinngemäß stimmt
es.

--

Azubi 1: Ich habe mir mal die Stellenbeschreibung angeschaut und
unterschiedliche Themen gefunden, die wir in Zukunft in der Ausbildung
abdecken sollten.

{
Es ging hier um eine kleine Liste von Themen, die man behandelt haben
sollte, sie enthielt z.B. die Schlagworte: Client-Server-Web-Lösungen
(Browser, Webserver, ApplicationServer, DB-Server), Corba-Orb, Java
Applets, Servlets, JSP, SQL, Datenbankserver (OODB, mySQL usw.)
}

Ausbilder/in A: Sie brauchen sich nicht an Stellenbeschreibungen
orientieren, was sie da heute lesen ist Morgen veraltet!

--

{
Die Azubi's haben eine Homepage erstellt, wo sich jeder einzelne
persönlich vorstellt und diverse Informationen zur Verfügung stellt. Bei
mir waren einige Texte des CCC, von ESR und ein paar
sicherheitsrelevante Sachen drin.
}

Ausbilder/in 2: Herr Grammes, ich würde mir an Ihrer Stelle mal die
Seite genau überdenken, es könnte sein, dass Sie den Flair eines
"hackers" bekommen!

Ich: Hab ich nix dagegen! Das ist ne Auszeichnung!

Ausbilder/in 3: Für dich vielleicht, aber für viele andere nicht!

Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
Computer Club!

Ich: Ja, das ist ja auch eine Behörde!

Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
S**m*ns oder S*ftw*re AG stellen so jemanden ein?

--

Azubi 2: Wir hätten gerne einen raum mit Rechnern, wo wir selbst
rumprobieren und uns was beibringen können!

Ausbilder/in 1: Selbst beibringen? Da bin ich völlig dagegen! Es gibt
jawohl genug Stellen im Haus mit viel Wissen, wo alles abgedeckt werden
sollte. Wir sind ja keine kleine Klitsche!

--


Das waren nur ein paar Auszüge aus der zweistündigen Besprechung, den
Ret hat mein Unterbewußtsein schon größtenteils verdrängt! Wie sieht es
denn bei den anderen FI's aus? Denken Eure Vorgesetzten auch so?
Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?
Würdet Ihr unseren Ausbildern Recht geben, wenn es um zukünftige
Technologien geht und das man CCC'ler eher nicht einstellt?


Bin mal gespannt auf Kommentare.

CU
Grambo

Christian Zeng

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
Hi,

>Ausbilder/in A: Sie brauchen sich nicht an Stellenbeschreibungen
>orientieren, was sie da heute lesen ist Morgen veraltet!

Naja, in Einem hat er IMHO recht: die heutigen Stellenanzeigen sind
teilweise, was die geforderten Skills anbelangt, viel zu überzogen.

Veraltet finde ich das Bewerten dieser Anzeigen überhaupt nicht, wenn
man die Inhalte auf ein vernünftiges Maß herunterbricht, kann man
schon Tendenzen (besser: Bedürfnisse) am Markt erkennen; außerdem
liest man Stellenanzeigen dann nicht nur einmal, sondern öfters.

>Ich: Hab ich nix dagegen! Das ist ne Auszeichnung!

;-)

>Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
>Computer Club!

[...]

>Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
>S**m*ns oder S*ftw*re AG stellen so jemanden ein?

Ok, das Klischee der berühmt-vielzitierten Security-Unternehmen mit
ihren Heerscharen von Ex-Crackern und Script-Kiddies lass ich jetzt
mal außen vor.
Meine Firma freut sich über jeden engagierten Bewerber. Das Engagement
für die Sache kann man von einem Hacker IMHO wohl nicht streitig
machen. Das Problem dürfte sein, daß viele Leute Hacker mit totaler
Anarchie gleichsetzen. Und damit Angst haben, (ich versuch' das jetzt
vorsichtig auszudrücken) sich vor ihrer werten Kundschaft zu
blamieren, oder sich ein "faules Ei" ins Nest zu legen (bitte nicht
falschverstehen).
Viel wichtiger als Sachkentnnis (die natürlich auch wichtig ist) ist
die "soziale Kompetenz", also wie sich Leute z.B. in die
Firmengemeinschaft integrieren und mitarbeiten.
Das zählt (zumindest bei uns).

Zum Thema Ausbildung im allgemeinen:

Ich finde, daß Deutschland absolut am Markt vorbei ausbildet (Studium
mal außen vor, keine Erfahrungen meinerseits).

Die MCSE-Abgänger der Arbeitsamt-Schulungen können TCP/IP zwar
buchstabieren, aber oft nicht anwenden.
Unix ist bei vielen ein Buch mit sieben Siegeln.
Selbst Wissen über grundlegende Dinge ("wie funktioniert eMail") ist
oft nicht vorhanden.
Dies ist *nicht* die Schuld derer, die diese Ausbildungen /
Umschulungen / whatever absolviert haben, sondern derjenigen, die
diese strategisch ausgearbeitet haben und damit die Inhalte festlegen.

Ich höre immer wieder von vielen Kollegen, daß ein breites Interesse
an Unix- (hier meist linux) Inhalten während der Ausbildung bestanden
hat, dies aber mangels Ausbilder / Konzepte / Zeit aber nicht
umgesetzt wurde.

Wir als Unternehmen bieten dann neuen Kollegen mehrwöchige
Praxis-Workshops zu Themen an, die so oft in der Ausbildung
vernachlässigt wurden (Netzwerkgrundlagen / IP / Unix / Cisco Routing
/ Firewalling / IP-Services (http, dns, smtp) usw..
Komischerweise werden diese dann immer mit großer Begeisterung
angenommen und durchgeführt. Das sagt doch eigentlich alles ;-)

S.a. die Diskussion um die Prüfungen der "neuen IT Berufe" in der
vorletzten c't.

Bye,

Christian

Lutz Donnerhacke

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
* Sascha Grammes wrote:
>Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?

Wer Linux statt Leinux sagen kann, einen Tux aus 3 m Entfernung erkennt und
den Eindruck erweckt, er könne zielgerichtet klicken, wird eingestellt.

>Würdet Ihr unseren Ausbildern Recht geben, wenn es um zukünftige
>Technologien geht

Was die neumodischen Buzzworte angeht: Ja. Für die klassischen Bereiche: Nein.

>und das man CCC'ler eher nicht einstellt?

Das ist durchaus üblich. Mitglied des CCC zu werden und damit zu prahlen ist
keine Qualifikation.

Hans Bonfigt

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
Sascha Grammes:

>
> Ausbilder/in 2: Herr Grammes, ich würde mir an Ihrer Stelle mal die
> Seite genau überdenken, es könnte sein, dass Sie den Flair eines
> "hackers" bekommen!

[ ... ]

> Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen
> wie S**m*ns oder S*ftw*re AG stellen so jemanden ein?

Firmen wie Siemens stellen - vom Toilettenreingiger an aufwaerts -
nur Diplom - Informatiker und - Physiker ein. Solltest Du tatsaech-
lich mit Beziehungen dort einen Posten als Schreibtrischzurechtruek-
ker in Aussicht gestellt bekommen, braeche Dir bereits ein Aufkle-
ber mit 'ClassicalCarsClub' das Genick - vom richtigen CCC ganz zu
schweigen.

Die Allgemeinheit sieht im "Hacker" einen gefaehrlichen Terroristen.
Und es ist schon richtig, was hier anonym verbreitet wurde: Nicht
einmal die 'c't' hat in der gebotenen Deutlichkeit reagiert. Wie
auch: Wenn die schreiben, "Windows + OE sind gefaehrlicher Dreck",
dann platzt die Mailbox.

> Azubi 2: Wir hätten gerne einen raum mit Rechnern, wo wir selbst
> rumprobieren und uns was beibringen können!
>
> Ausbilder/in 1: Selbst beibringen? Da bin ich völlig dagegen! Es gibt
> jawohl genug Stellen im Haus mit viel Wissen, wo alles abgedeckt
> werden sollte. Wir sind ja keine kleine Klitsche!

Als Mitarbeiter einer solchen war ich fuer die Ausbildung der Lehr-
linge der UNIX-Abteilung verantwortlich. Wir hatten keinen Lehrplan,
aber die Jungs arbeiteten nach kuerzester Zeit produktiv in Projek-
ten.
Bei Interesse haben wir ausserhalb der Arbeit auch "Ausbildung" ge-
macht, beispielsweise Assemblerprogrammierung, Entwicklung von Al-
gorithmen und Mathematik. Am meisten habe ich selbst davon profi-
tiert, aber unsere Jungs waren nach drei Jahren verdammt gut.


Gruss,

--
Hans Bonfigt /SES/
UNIX App. Development Systementwicklung Schollmeier
Phone: +49 171 3758928 <bonfigt....@t-online.de>

Stephan Lahl

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
Sascha Grammes <sascha....@rzf.fin-nrw.de> wrote:
> Hallo NG


> Azubi 1: Ich habe mir mal die Stellenbeschreibung angeschaut und
> unterschiedliche Themen gefunden, die wir in Zukunft in der Ausbildung
> abdecken sollten.

> {
[...]


> }
> Ausbilder/in A: Sie brauchen sich nicht an Stellenbeschreibungen
> orientieren, was sie da heute lesen ist Morgen veraltet!

Stimmt teilweise. Mit Grundlagenwissen in Computernetzen, Datenbanken
und Programmierung ist man besser bedient, als mit der Vermittlung
spezieller Technologien.
Natürlich muss man das aber auch an praktischen Beispielen üben können.


> Ausbilder/in 2: Herr Grammes, ich würde mir an Ihrer Stelle mal die
> Seite genau überdenken, es könnte sein, dass Sie den Flair eines
> "hackers" bekommen!

> Ich: Hab ich nix dagegen! Das ist ne Auszeichnung!

> Ausbilder/in 3: Für dich vielleicht, aber für viele andere nicht!

Stimmt. Durch die Presse wird von Vielen das Wort Hacker mit "Krimineller"
übersetzt.

> Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
> Computer Club!

Er möchte Dir damit sagen, dass Du Vorgesetzte wie Ihn im Beruf meiden
solltest.
Du kannst ja auch mit kompetenten Leuten Geld verdienen.

> Ich: Ja, das ist ja auch eine Behörde!

> Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
> S**m*ns oder S*ftw*re AG stellen so jemanden ein?

Ja. Nicht alle - aber viele.
Bei einer Bewerbung kann man schon etwas vom Arbeitsklima oder allgemein
der Firmenkultur riechen.
Bei Firmen, deren Personalchefs nicht informiert sind und die Interesse
an Sicherheitsproblemen als gefährlich oder unseriös empfinden
möchtest Du nicht Deine Arbeitskraft verschwenden.
Du möchtest offensichtlich ein Computerexperte werden.
Such Dir also einen Arbeitgeber, der Wert auf die Sicherheit seiner
Daten legt.

> Azubi 2: Wir hätten gerne einen raum mit Rechnern, wo wir selbst
> rumprobieren und uns was beibringen können!
> Ausbilder/in 1: Selbst beibringen? Da bin ich völlig dagegen! Es gibt
> jawohl genug Stellen im Haus mit viel Wissen, wo alles abgedeckt werden
> sollte. Wir sind ja keine kleine Klitsche!

Ooooooooooch der Ärmste hat Angst, dass seine Kompetenz in Frage
gestellt wird.
Wenn Schüler eigenständig lernen, verlieren Lehrer das Wissensmonopol.
Dieses Monopol versetzt sie aber erst in die Lage, den Schülern
weiszumachen, man wäre auf sie angewiesen, um später einen Job zu
kriegen.
Das bedeutet Macht.
Ein Schüler, der sich mit der Technik besser auskennt als sein
Lehrer ist für schwache Gemüter eine Demütigung.

Es geht übrigens nicht nur Dir so, es gibt sogar schlimmere Fälle:
Meine Freundin macht eine Ausbildung bei einer
"Siemens Technik Akademie".
Ihr derzeitiger C-Lehrer beschäftigt sich in erster Linie damit,
den Leuten seine Codeeinrückung bis auf's letzte Leerzeichen einzubleuen
und verbietet jede Zeile Code, die über seine strikten Anweisungen
hinausgeht.
In einem konkreten Fall wurde ein Programmm zurückgewiesen,
weil es nicht nur aus einer main() bestand und es ein Headerfile mit den
Funktionsdeklarationen samt Dokumentation gab.
Begründung: "Das war noch nicht dran! Niemand hat Ihnen erlaubt sowas zu
machen! Ausserdem haben Sie schon wieder falsch formatiert - ich verlange
exakt 4 Leerzeichen Einrückung. Nicht 6! Das kann ich so nicht lesen!"

Mittlerweile interpretiert die gesamte Klasse seinen mit dem Charme eines
pubertären Wirtschaftsconsultants vorgetragenen Lebenslauf so:
Studium abgebrochen, weil er sich für Elite hielt, aber nicht
genügend gelernt hat (ging mir genauso :^) ),
Aus dem 1. Entwicklerjob nach 5 Monaten (*innerhalb der Probezeit!*)
rausgeflogen ("Er wollte doch lieber seine Kenntnisse weitergeben")
und bei Siemens als Ausbilder aufgeschlagen.
Jetzt liegt eine ganze Klasse Azubis unter dem Einschlagtrümmern begraben,
lässt sich von den Lehrern anderer Fächer das Pointerkonzept von C
erklären und wird mit jeder C-Stunde auf's Neue demotiviert.

Achja, sie lernen natürlich auch etwas von Ihm:
innerhalb der letzten Monate entsprach das fast einem halben Absatz aus
K&R' "Programming in C".
Dummerweise so über den Lehrstoff verstreut und zerhackt,
dass kein Zusammenhang ersichtlich ist und manche Leute noch nichtmal
den Unterschied zwischen int a = 0; char* b = NULL; und c = 0;
verstanden haben.
Natürlich müssen sich sowas Schüler auch selbst anlesen,
aber wenn folgendes Programm als richtig durchgeht, sehe ich rot:

-----------------------------------------------
void main( void)
{
IndVar = 0;
char CharFeld[5] = "Hallo";

while( IndVar < 5)
{
printf( "%d: %c\n", IndVar, CharFeld[IndVar]);
IndVar++;
}
return 0;
}
-----------------------------------------------

Das Einzige was bemängelt wurde, war das 'IndVar++'.
Solcher Code wäre völlig verwurschtelt, unprofessionell und unleserlich.
Der Schüler hat einiges an Durchsetzungskraft gebraucht, um dieses
Argument aus dem Weg zu räumen.
Dass dieses Programm nichtmal durch den gcc gekommen ist, war egal.
Denn der Lehrer hat in 10minütiger Meditation keine Fehler finden können.

Also meckere nicht über Deine Ausbildung, es könnte schlimmer sein.
;->

> Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?

> Würdet Ihr unseren Ausbildern Recht geben, wenn es um zukünftige

> Technologien geht und das man CCC'ler eher nicht einstellt?

Wer einen CCC'ler nicht einstellen will hat keine kompetenten
Mitarbeiter verdient und muss den Schaden früher oder später bezahlen.
Damit will ich nicht behaupten, dass alle CCC'ler kompetente Leute sind,
aber es sind doch schon einige dabei.

Ich arbeite hier bei einem FreeMail-Provider,
man hat im Einstellungsgespräch von mir erwartet, dass ich weiss,
wie man an sicherheitsrelevante Informationen
kommt und genügend über diverse Exploits weiss, um ständig
die Augen nach solchen Fehlern offenzuhalten.
Was man nicht an Erfahrung hat, muss man eben durch Vorsicht und
selbstständiges Lernen wettmachen.

Wir würden sicher einem CCC'ler auf den Zahn fühlen
-der Verein sagt wenig über den Menschen aus- aber ansonsten wäre
er für uns einfach ein Bewerber, der mit hoher Sicherheit
den Einstellungstest besteht.

Lass Dich nicht einschüchtern, lerne weiter!
Man liest sich,
stephan

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Stephan Lahl wrote:
>
> Es geht übrigens nicht nur Dir so, es gibt sogar schlimmere Fälle:
> Meine Freundin macht eine Ausbildung bei einer
> "Siemens Technik Akademie".

Wie sich das schon anhoert - das riecht nach Klo und Kappes.


> [ Lehrer-Beschreibung ]

Ich glaube jedes Wort, jedes. So etwas gibt es auch zur Genuege
bei IBM. Wer dort in der Entwicklung nichts taugt, macht 'Presa-
les', versagt er auch dort, kommt er in den Support, und wenn sich
mehr als 1.024 Kunden pro Jahr bitterboese beschweren, bereichert
er das Ausbildungsteam in Herrenberg. Man sollte sich wirklich
einmal den Spass machen, bei einem Netzwerk - Grundlagenkurs die
Herren Klemm, Leitner, Donnerhacke, Veit - habe ich einen noto-
rischen Provo vergessen - einzustreuen. Das waere ein Waterloo.

Am Ausgang wuerden sich dann alle Teilnehmer die DM 2.000,-- wie-
dergeben lassen.

> Natürlich müssen sich sowas Schüler auch selbst anlesen,
> aber wenn folgendes Programm als richtig durchgeht, sehe ich rot:

Mein zweiter Vorname ist Lintius, da kann ich nicht widerstehen:


> void main( void)
> {
> IndVar = 0;
> char CharFeld[5] = "Hallo";
>
> while( IndVar < 5)
> {
> printf( "%d: %c\n", IndVar, CharFeld[IndVar]);
> IndVar++;
> }
> return 0;
> }

- Die Funktion 'main()' ist etwas eigenwillig definiert, aber
zulaessig.
- 'CharFeld' mit '5' zu dimensionieren, ist nicht der Hit, weil
kein Delimiter mehr im Array Platz findet, aber zulaessig.
- 'CharFeld' ueberhaupt zu dimensionieren, anstatt dies den Com-
piler implizit erledigen zu lassen, ist daemlich, aber zulaes-
sig.
- 'CharFeld' Deutsch/Englisch zu benennen, ist nicht aesthetisch,
aber zulaessig.
- Die Initialisierung dynamisch ausfuehren zu lassen, ist un-
guenstig, aber zulaessig.
- 'Magic Numbers' im Source, und dann auch noch an verschiedenen
Stellen, gehoeren bestraft, sind aber zulaessig.
- Das Schleifenkonstrukt ist unueblich, aber zulaessig.
- Fehlender void-cast vor 'printf()' ist unschoen, aber zulaessig.
- Ein fehlendes 'exit()' passt mir persoenlich auch nicht in den
Kram, ist aber wegen 'exit(main(argc,argv,envp))' zulaessig.
- 'return' mit 0 wird Dir von einem ANSI - Compiler vor die Fues-
se geworfen.

Lutz hat recht. C ist Scheisse. Eine Sprache, die so etwas zu-
laesst, ist halb kriminell. Vorausgesetzt, man sieht C als Hoch-
sprache an.

Aber in der Tat: Es ist nur ein Fehler im Programm, und ich garan-
tiere dafuer, dass der Siemens - Compiler den nicht merkt. Es heisst
ja schliesslich auch SIEHNIX, nicht wahr ?

> Das Einzige was bemängelt wurde, war das 'IndVar++'.

Komisch. Haette ich 'while' gewaehlt, haette auch ich explizit in-
krementiert und nicht beim Indizieren. Der Uebersichtlichkeit hal-
ber.


> Solcher Code wäre völlig verwurschtelt, unprofessionell und
> unleserlich.

Dieser Code _ist_ voellig verwuschtelt, unprofessionell und wird,
wenn er waechst, unleserlich. Beim naechsten Mal bitte korrekte
indirekte Rede, damit man weiss, was Du meinst.


> Denn der Lehrer hat in 10minütiger Meditation keine Fehler finden
> können.

Wenn Du nicht geschrieben haettest, dass der gcc ruelpst, waere mir
der 'return (int)' durchgegengen.


Solche Lehrer sind einfach nur peinlich. Diesen Beitrag kannst Du
gerne, einschliesslich Sig, von Deiner Freundin 'verwerten' lassen.

Martin Ebert

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke wrote:

> * Sascha Grammes wrote:
> >Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?
> Wer Linux statt Leinux sagen kann, einen Tux aus 3 m Entfernung erkennt und

Ach komm, Lutz.

Im Moment wird jeder eingestellt, der das Wort
"Werbdesseiner" fehlerfrei buchstabieren kann.

Weil ja der Herr Schroeder und die Inder....
Schaun 'mer mal, wie lange sowas gut geht.

Martin Ebert

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>mehr als 1.024 Kunden pro Jahr bitterboese beschweren, bereichert
>er das Ausbildungsteam in Herrenberg. Man sollte sich wirklich
>einmal den Spass machen, bei einem Netzwerk - Grundlagenkurs die
>Herren Klemm, Leitner, Donnerhacke, Veit - habe ich einen noto-
>rischen Provo vergessen - einzustreuen. Das waere ein Waterloo.

Ich habe in Herrenberg für IBM-Managern Schulungen gemacht.

>Am Ausgang wuerden sich dann alle Teilnehmer die DM 2.000,-- wiedergeben
>lassen.

Im Gegenteil.


Peter Lemken

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke wrote:
>
> * Sascha Grammes wrote:
> >Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?
>
> Wer Linux statt Leinux sagen kann, einen Tux aus 3 m Entfernung erkennt und
> den Eindruck erweckt, er könne zielgerichtet klicken, wird eingestellt.

Glaubst Du nicht, daß Du hier übertreibst? Selbst wenn das mit der
Anstellung noch hinhauen mag (was ich auch noch bezweifle), dann erlebt
derjenige doch spätestens am ersten Arbeitstag sein Waterloo.

Peter Lemken
Berlin

Holger Veit

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
On Thu, 08 Jun 2000 01:22:13 +0200,
Hans Bonfigt <bonfigt....@t-online.de> wrote:
>Stephan Lahl wrote:
[...]

>> Natürlich müssen sich sowas Schüler auch selbst anlesen,
>> aber wenn folgendes Programm als richtig durchgeht, sehe ich rot:
>
>Mein zweiter Vorname ist Lintius, da kann ich nicht widerstehen:
>
>
>> void main( void)
>> {
>> IndVar = 0;
>> char CharFeld[5] = "Hallo";
>>
>> while( IndVar < 5)
>> {
>> printf( "%d: %c\n", IndVar, CharFeld[IndVar]);
>> IndVar++;
>> }
>> return 0;
>> }
>

Doch ein bischen mehr als einer, wenn man exakt obiges Programm nimmt:
- ANSI-C akzeptiert, im Gegensatz zu C++ (!), keine Deklarationen in der
Mitte eines Bodies, also beschwert sich der Compiler ueber eine
- undeklarierte, benutzte Variable "IndVar = 0", und ein
- "char CharFeld..." nach dem ersten Statement des Koerpers.
- In der Folge ist natuerlich CharFeld auch nicht deklariert und nicht
benutzbar.
- gcc mit -pedantic moppert noch ueber das "void main(void)" und erwartet
einen "int main(void)" stattdessen.
- Dass printf nicht deklariert ist, ist unschoen, und sollte nicht in der
Lehre vorkommen: Schlampiges Programmieren lernen die Azubis schon von
selbst, muss man nicht noch forcieren. Ein vorgeschlagener (void)-Cast
ist eigentlich nur schlechter Stil; ein Prototyp sollte vorhanden sein
(allerdings dann nach den Regeln der Kunst, hier mit <stdarg.h>, nicht
als K&R-Revival als "extern int printf();".
- Der C++-Compiler laestert uebrigens tatsaechlich ueber eine falsche Laenge
des CharFeld-Initializers; das haette ich mir auch vom gcc -lang-c
gewuenscht.

>> Das Einzige was bemängelt wurde, war das 'IndVar++'.
>

>Komisch. Haette ich 'while' gewaehlt, haette auch ich explizit in-
>krementiert und nicht beim Indizieren. Der Uebersichtlichkeit hal-
>ber.

Ich vermute, die Pfeife von Lehrer hat sich da eher darueber mokiert, dass
man nicht ordentlich "IndVar = IndVar + 1" schreibt. Das passt zu der
Kategorie von umgeschulten RPG- oder FORTRAN-Lochkartenstanzern, denen man
spaeter strukturierte Programmierung a la "Pascal User's Manual And Report"
eingepruegelt hat (um ueberhaupt ein modernes Konzept (LOL: 30-40 Jahre)
da reinzuzwingen), und die jetzt noch dem Formatierungswahn der Lochkarte
(FORTRAN: Spalten 1-5: Label, 6: continuation, 7-72, Statement,
73-80: Zeilennummer) nachtrauern - lediglich auf die Zeilennummer am
Ende verzichten sie.

>> Denn der Lehrer hat in 10minütiger Meditation keine Fehler finden
>> können.

Meditation ist kaum der Weg, um Fehler zu finden und zu beseitigen.
Man muss wissen, wie etwas funktioniert, und nicht Syntax-Buerokratie
mit Indentation-Levels betreiben (Ausnahme: Python :-( ).

>Wenn Du nicht geschrieben haettest, dass der gcc ruelpst, waere mir
>der 'return (int)' durchgegengen.

Das "IndVar = 0" vor "char CharFeld..." auch ;-)
C++-Programmieren versaut den Stil :-)

>Solche Lehrer sind einfach nur peinlich. Diesen Beitrag kannst Du
>gerne, einschliesslich Sig, von Deiner Freundin 'verwerten' lassen.

Mine too.

Solche Ausbilderpfeifen sollte man noch nicht mal zur Ueberwachung der
Putzfrauen im Betrieb einsetzen.

Holger

--
begin LOVE-LETTER-FOR-YOU.txt.vbs
You are using dangerous junk software which will arbitrarily interpret
fully valid text. Get rid of this garbage and use correctly working software.
end

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:

>
> Ich habe in Herrenberg für IBM-Managern Schulungen gemacht.
> > Am Ausgang wuerden sich dann alle Teilnehmer die DM 2.000,--
> > wiedergeben lassen.
>
> Im Gegenteil.


Du warst noch nicht auf der Schulung "Netzwerk-Grundlagen". Sonst
wuesstest Du, dass Ethernet-Adressen immer mit 192 und TR-Adresssen
immer mit 128 beginnen. Du wuesstest auch, dass Du Devices wie
z.B. /dev/rmt0 ueber NFS mounten kannst. Aber das war nicht das
Schimmste, die meisten Sachen habe ich vergessen oder sie sind
ziemlich IBM-spezifisch.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Holger Veit:

>
> Doch ein bischen mehr als einer, wenn man exakt obiges Programm nimmt:
> - ANSI-C akzeptiert, im Gegensatz zu C++ (!), keine Deklarationen in
> der Mitte eines Bodies, also beschwert sich der Compiler ueber eine
> - undeklarierte, benutzte Variable "IndVar = 0", und ein
> - "char CharFeld..." nach dem ersten Statement des Koerpers.

Shit. Das habe ich uebersehen, nehme jedoch an, dass hier beim Ab-
schreiben das 'int' vergessen wurde.

> - Dass printf nicht deklariert ist, ist unschoen, und sollte nicht

in der Lehre vorkommen: [ ... ]

Nochmal nicht aufgepasst.


> Ein vorgeschlagener (void)-Cast ist eigentlich nur schlechter

> Stil; ein Prototyp sollte vorhanden sein [ ... ]

Natuerlich. Den (void)-Cast verwende ich vor allem, um 'lint'
zu beruhigen ("'printf()' return value sometimes ignored").


> - Der C++-Compiler laestert uebrigens tatsaechlich ueber eine
> falsche Laenge des CharFeld-Initializers; das haette ich mir
> auch vom gcc -lang-c gewuenscht.

Zu Unrecht, wie ich finde. Das ist eine Sache fuer 'lint'. Das
vorliegende Programm ist ja gerade ein Beispiel dafuer, dass ein
character array nicht zwingend einen Delimiter braucht.

> Ich vermute, die Pfeife von Lehrer hat sich da eher darueber mokiert,
> dass man nicht ordentlich "IndVar = IndVar + 1" schreibt.
> Das passt zu der Kategorie von umgeschulten RPG- oder FORTRAN-

> Lochkartenstanzern, [ ... ]

Ah ja. Klingt vertraut. Und wir sind ja auf der SIEMENS - Technik -
Akademie.


> C++-Programmieren versaut den Stil :-)

In Ermangelung 'flaechendeckender' Compilerinstallationen beim
Kunden setzen wir C++ nicht produktiv ein. Und wenn ich ganz ehr-
lich sein soll: Ich habe die dahinterstehenden Konzepte nie rich-
tig verstanden. Das mag daran liegen, dass ich auch nicht den
theoretischen Ansatz von OOP begriffen habe.

> Solche Ausbilderpfeifen sollte man noch nicht mal zur Ueberwachung der
> Putzfrauen im Betrieb einsetzen.

Auf der anderen Seite: Als Auszubildender haette ich einen tieri-
schen Spass daran gehabt, eine solche Flasche vor die Wand rennen
zu lassen. Und dadurch lernt man manchmal mehr als im Unterricht.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Du warst noch nicht auf der Schulung "Netzwerk-Grundlagen". Sonst
>wuesstest Du, dass Ethernet-Adressen immer mit 192 und TR-Adresssen
>immer mit 128 beginnen.

Nein?

>Du wuesstest auch, dass Du Devices wie z.B. /dev/rmt0 ueber NFS mounten
>kannst.

Natürlich geht das. Und Prozesse auf anderen Rechnern legt man mit
~$ mount remote.syst.em:/proc remote/proc
~$ chdir remote/proc/new
remote/proc/431$ ln /bin/myprogram exe
remote/proc/431$ echo '--help' > cmdline
remote/proc/431$ ln fd/[012] /proc/self/fd/4 # bidirectional pipe
remote/proc/431$ touch uptime
remote/proc/431$ cd
~$ cat /proc/self/4 & echo Hallo > /proc/self/4



>Aber das war nicht das Schimmste, die meisten Sachen habe ich vergessen
>oder sie sind ziemlich IBM-spezifisch.

Oder eben Plan9¹ spezifisch.

1 Ist seit gestern Open Source.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Natuerlich. Den (void)-Cast verwende ich vor allem, um 'lint'
>zu beruhigen ("'printf()' return value sometimes ignored").

Motto: Teste nie auf Fehler, die Du nicht zu bearbeiten weißt.

>tig verstanden. Das mag daran liegen, dass ich auch nicht den
>theoretischen Ansatz von OOP begriffen habe.

Das liegt an den Beispielen. Du brauchst zum Verständnis eine formale
Spezifikation einer Aufgabe. Die fehlt.


Holger Veit

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
On Thu, 08 Jun 2000 11:54:51 +0200,
Hans Bonfigt <bonfigt....@t-online.de> wrote:
>Holger Veit:
[...]

>> - Der C++-Compiler laestert uebrigens tatsaechlich ueber eine
>> falsche Laenge des CharFeld-Initializers; das haette ich mir
>> auch vom gcc -lang-c gewuenscht.
>
>Zu Unrecht, wie ich finde. Das ist eine Sache fuer 'lint'. Das
>vorliegende Programm ist ja gerade ein Beispiel dafuer, dass ein
>character array nicht zwingend einen Delimiter braucht.

Ein constant string ist nach C-Standard immer ASCIZ (was in anderer
Hinsicht ein C-Designflaw ist), selbst wenn man in diesem Beispiel
gar nicht auf das Zeichenkettenende prueft - waere so ein schoenes
Beispiel geworden, welches mit Strings beliebger Laenge (ohne die
von Dir zu Recht bemaengelten festen Laengenkonstanten) zurechtgekommen
waere, aber wie von mir gemutmasst: so ein Fehler ist typisch fuer die
Fixed-Size-Generation von FORTRAN-Loch-in-Karten-Beissern. Dabei gibt
es andererseits auch in F77 den Datentyp CHARACTER*(*), allerdings nicht
zur Konstantendeklaration, IIRC. In FORTRAN IV, As God Meant It To Be,
haette man freilich 2HHa,2Hll,1Ho in ein INTEGER-Feld gepackt...

>> C++-Programmieren versaut den Stil :-)
>
>In Ermangelung 'flaechendeckender' Compilerinstallationen beim
>Kunden setzen wir C++ nicht produktiv ein. Und wenn ich ganz ehr-
>lich sein soll: Ich habe die dahinterstehenden Konzepte nie rich-

>tig verstanden. Das mag daran liegen, dass ich auch nicht den
>theoretischen Ansatz von OOP begriffen habe.

Auch wenn das gleich wieder di OO-Fanatiker auf den Plan ruft: man kann
OO nicht ueberall sinnvoll einsetzen, und es ist besser ein ordentlich
strukturiertes C zu schreiben, als ein miserables "OO-aehnliches"
C++/C-Hybrid.

Was Lint angeht, ich hatte das Programm mit gcc -lang-c++ -pedantic -Wall
angesehen; das kommt dem Staubkornlaesterer schon recht nahe. Ich wuerde
mir wuenschen, dass der Check beim gcc sogar noch bei solchen Optionen
per default wesentlich rigider wuerde. Ein Reinigungsprogramm wie lint
hinterherzuschieben ist letztlich der Patch von K&R, um den eigentlichen
cc von Unix klein zu halten. Die Groesse des Compilers spielt aber heute
keine Geige mehr.

>> Solche Ausbilderpfeifen sollte man noch nicht mal zur Ueberwachung der
>> Putzfrauen im Betrieb einsetzen.
>
>Auf der anderen Seite: Als Auszubildender haette ich einen tieri-
>schen Spass daran gehabt, eine solche Flasche vor die Wand rennen
>zu lassen. Und dadurch lernt man manchmal mehr als im Unterricht.

Wer wie oben so inkompetent ist, wird seine Unfaehigkeit durch Gewalt
kaschieren. Dann gibt es ganz einfach schlechte Noten fuer unzureichendes
Einruecken von Statements oder Benutzung von noch nicht behandelten (oder
vom Ausbloeder unverstandenen) Sprachkonstrukten.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:

> * Hans Bonfigt wrote:
> >Natuerlich. Den (void)-Cast verwende ich vor allem, um 'lint'
> >zu beruhigen ("'printf()' return value sometimes ignored").
>
> Motto: Teste nie auf Fehler, die Du nicht zu bearbeiten weißt.


Nichts da. Wir hatten doch 'mal 'Hello World' implementiert und
_natuerlich_ umfassend verschiedene Fehlersituationen diskutiert
und behandelt, einschliesslich Deines Lieblingsthemas "Inband-
Signaling". Steht, einschliesslich Deiner 'Patches', immer noch
auf http://home.t-online.de/bonfigt.ses-koeln/misc/held.c

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

Oh, wie kam's? Hast du die URL noch?

Ricardo
--
Auch das Chaos gruppiert sich um
einen festen Punkt, sonst wäre es
nicht einmal als Chaos da.
-Arthur Schnitzler

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Nichts da. Wir hatten doch 'mal 'Hello World' implementiert und
>_natuerlich_ umfassend verschiedene Fehlersituationen diskutiert
>und behandelt, einschliesslich Deines Lieblingsthemas "Inband-
>Signaling". Steht, einschliesslich Deiner 'Patches', immer noch
>auf http://home.t-online.de/bonfigt.ses-koeln/misc/held.c


Das Dokument konnte nicht gefunden werden.
Bitte überprüfen Sie Ihren URL

Hinweis :
Bei Dateinamen wird auf Groß- und Kleinschreibung unterschieden

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Und nach richtigen und falschen Hosts. Sorry.

http://t-online.de/home/bonfigt.ses-koeln/misc/held.c

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> Oder eben Plan9น spezifisch.

>>
>> 1 Ist seit gestern Open Source.
>
>Oh, wie kam's? Hast du die URL noch?

http://plan9.bell-labs.com/plan9/

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:

> * Hans Bonfigt wrote:
> > Du wuesstest auch, dass Du Devices wie z.B. /dev/rmt0 ueber NFS
> > mounten kannst.
> Natürlich geht das.

Es braucht kein Plan9 dazu. Es geht auch mit Standard-NFS, wenn Du
das gleiche Device an Deinem Lokalen System hast ...


[ Plan9 - Beispiel ]
Interessanter Link.

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> Oder eben Plan9¹ spezifisch.

> >>
> >> 1 Ist seit gestern Open Source.
> >
> >Oh, wie kam's? Hast du die URL noch?
>
> http://plan9.bell-labs.com/plan9/

Schon getestet?

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> http://plan9.bell-labs.com/plan9/
>
>Schon getestet?

Falsche Hardware. Und die Fehler beim Umsetzen des Konzeptes sind schade.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Lutz Donnerhacke wrote:
>>
>> * Hans Bonfigt wrote:
>> >Nichts da. Wir hatten doch 'mal 'Hello World' implementiert und
>> >_natuerlich_ umfassend verschiedene Fehlersituationen diskutiert
>> >und behandelt, einschliesslich Deines Lieblingsthemas "Inband-
>> >Signaling". Steht, einschliesslich Deiner 'Patches', immer noch
>> >auf http://home.t-online.de/bonfigt.ses-koeln/misc/held.c

>> Das Dokument konnte nicht gefunden werden.
>> Bitte überprüfen Sie Ihren URL
>

>Und nach richtigen und falschen Hosts. Sorry.
>http://t-online.de/home/bonfigt.ses-koeln/misc/held.c

Warum unnötige Redirects? /home/s-bon-home/&-

Der Quellcode ist immer noch falsch:
Du prüfst die Fehler von fprintf nicht.
Du verwendest fprintf statt fputs und erzeugst so einen Performanceeinbruch
durch Einbindung eines Interpreters. Außerdem öffnest Du ein Sicherheits-
loch.
Du hast Dead Code in Deinem Source.
Du möchtest return statt exit nehmen, um klare Ausstiegspunkte zu haben.
Du hast unbenutzte Variablen deklariert.
Du verwendest falsche Exit-Codes. Die korrekten sind in stdlib.h definiert.
Bedenke, daß MVS gerade Exitcodes als Fehler und Ungerade als OK wertet.
Du verwendest eine andere Länge für Deinen Ausgabestring als die Wirkliche.
Du rechnest falsch. Im Zweifel kompromittierst Du den gesamten RAM.
Du referenzierst einen Index in einem Literal als Funktionsargument.

Das fällt mir auf die Schnelle auf.

Welche Note soll ich Dir nun geben?

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Lutz Donnerhacke:
>> * Hans Bonfigt wrote:
>> > Du wuesstest auch, dass Du Devices wie z.B. /dev/rmt0 ueber NFS
>> > mounten kannst.
>> Natürlich geht das.
>
>Es braucht kein Plan9 dazu. Es geht auch mit Standard-NFS, wenn Du
>das gleiche Device an Deinem Lokalen System hast ...

man remote.

Holger Veit

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Dafuer (genau gesagt fuer diskless clients) war dieser Device-Hack
gedacht. Aber das ist was anderes als ein Remotezugriff auf Devices.
Dazu fehlt BTW im NFS-Protokoll eine IOCTL-Funktionalitaet. Die will
man aus guten Gruenden aber auch nicht haben.

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

Was heißt hier falsche Hardware? Definiere Fehler!

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> Falsche Hardware. Und die Fehler beim Umsetzen des Konzeptes sind schade.
>
>Was heißt hier falsche Hardware?

Zu alt oder zu neu.

>Definiere Fehler!

Konzept sagt: Hüh! Umsetzung sagt: Ho!

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> Falsche Hardware. Und die Fehler beim Umsetzen des Konzeptes sind schade.
> >
> >Was heißt hier falsche Hardware?
>
> Zu alt oder zu neu.

Übersetzung: Zu C64 oder zu SGI. - Oder wie?
Laut der Website (sollte) es auf einem x86 kompatiblen
System laufen. Also?

> >Definiere Fehler!
>
> Konzept sagt: Hüh! Umsetzung sagt: Ho!

Hm...schön und gut aber gehts nicht ein winziges bißchen genauer?

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:
>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> >Was heißt hier falsche Hardware?
> >>
> >> Zu alt oder zu neu.
> >
> >Übersetzung: Zu C64 oder zu SGI. - Oder wie?
> >Laut der Website (sollte) es auf einem x86 kompatiblen
> >System laufen. Also?
>
> SCSI Controller Mismatch.

Oh...wohl kein Adaptec gekauft hm? :-)

> >> >Definiere Fehler!
> >>
> >> Konzept sagt: Hüh! Umsetzung sagt: Ho!
> >
> >Hm...schön und gut aber gehts nicht ein winziges bißchen genauer?
>

> Schau im Thread nach oben. Genau das geht nämlich nicht.

Ach die dämliche "rummounterei"... Aber in wie fern hat
sich das Dateisystem denn verändert?

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> >Was heißt hier falsche Hardware?
>>
>> Zu alt oder zu neu.
>
>Übersetzung: Zu C64 oder zu SGI. - Oder wie?
>Laut der Website (sollte) es auf einem x86 kompatiblen
>System laufen. Also?

SCSI Controller Mismatch.

>> >Definiere Fehler!

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> >> Konzept sagt: Hüh! Umsetzung sagt: Ho!
> >> >
> >> >Hm...schön und gut aber gehts nicht ein winziges bißchen genauer?
> >>
> >> Schau im Thread nach oben. Genau das geht nämlich nicht.
> >
> >Ach die dämliche "rummounterei"... Aber in wie fern hat
>
> Die funktioniert.

>
> >sich das Dateisystem denn verändert?
>
> Allerdings werden Prozesse nicht so generiert. TCP Verbindungen aber schon.

Hmmm... hat sich rein performance-technisch was getan? (insgesamt
gesehen)

Stephan Lahl

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hans Bonfigt <bonfigt....@t-online.de> wrote:

>> Natürlich müssen sich sowas Schüler auch selbst anlesen,
>> aber wenn folgendes Programm als richtig durchgeht, sehe ich rot:

>> void main( void)


>> {
>> IndVar = 0;
>> char CharFeld[5] = "Hallo";
>>
>> while( IndVar < 5)
>> {
>> printf( "%d: %c\n", IndVar, CharFeld[IndVar]);
>> IndVar++;
>> }
>> return 0;
>> }

> - 'CharFeld' mit '5' zu dimensionieren, ist nicht der Hit, weil


> kein Delimiter mehr im Array Platz findet, aber zulaessig.

Falsche Dimensionierung. Segmentation fault oder Bus error
ist vorprogrammiert.

Ausserdem gibt es erstmal einen parse error, weil der
Datentyp 'IndVar' (int vergessen) unbekannt ist.
printf ohne stdio.h einzubinden schreit nach Problemen.

> Aber in der Tat: Es ist nur ein Fehler im Programm, und ich garan-
> tiere dafuer, dass der Siemens - Compiler den nicht merkt. Es heisst
> ja schliesslich auch SIEHNIX, nicht wahr ?

Dort wird der gcc auf Suse verwendet.
Und der weigerte sich standhaft.
Wenn es eine Verbindung zwischen Schöpfer und Maschine gibt,
müssen die gcc-Entwickler bei diesem Programm Alpträume bekommen
haben. :^)


>> Das Einzige was bemängelt wurde, war das 'IndVar++'.
> Komisch. Haette ich 'while' gewaehlt, haette auch ich explizit in-
> krementiert und nicht beim Indizieren. Der Uebersichtlichkeit hal-
> ber.

>> Solcher Code wäre völlig verwurschtelt, unprofessionell und
>> unleserlich.
> Dieser Code _ist_ voellig verwuschtelt, unprofessionell und wird,
> wenn er waechst, unleserlich. Beim naechsten Mal bitte korrekte
> indirekte Rede, damit man weiss, was Du meinst.

ACK.
Ich hatte mich begnadet dämlich ausgedrückt.
Gemeint war die Verwendung des '++'-Operators.

Es darf nämlich nicht i++ heissen.
Professionell muss man da ++i schreiben.
Grundsätzlich. Immer und auf ewig. Amen. #^)

mfG
Stephan

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Holger Veit

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
On Thu, 08 Jun 2000 13:51:02 GMT, Stephan Lahl <s...@gmx.net> wrote:
[...]

>Ich hatte mich begnadet dämlich ausgedrückt.
>Gemeint war die Verwendung des '++'-Operators.
>
>Es darf nämlich nicht i++ heissen.
>Professionell muss man da ++i schreiben.
>Grundsätzlich. Immer und auf ewig. Amen. #^)

Hau der Pfeife den Assembler der PDP-11 bzw. dessen Karikatur in Form
des 68000 um die Ohren. Ich befuerchte allerdings, dass er weder den
blassesten Schimmer von der Existenz von Assembler ueberhaupt hat,
geschweige denn ueberhaupt so grosse Zahlen wie "68000" ueberhaupt
richtig aussprechen kann.

"Professionell": d.h. zufaellig im Muelleimer einer anderen Siemens-Abteilung
mal "PC-Professional" gefunden und herausgefunden, dass es darin wohl um
Computer gehen koennte?

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> >Ach die dämliche "rummounterei"... Aber in wie fern hat
>>
>> Die funktioniert.
>>
>> >sich das Dateisystem denn verändert?
>>
>> Allerdings werden Prozesse nicht so generiert. TCP Verbindungen aber schon.
>
>Hmmm... hat sich rein performance-technisch was getan? (insgesamt gesehen)

Seit 1989 ist Plan9 produktiv im Einsatz.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:
>
> >http://t-online.de/home/bonfigt.ses-koeln/misc/held.c

>
> Der Quellcode ist immer noch falsch:
> Du prüfst die Fehler von fprintf nicht.

Aber ja. Liefert 'fprintf' einen Fehler, wird, anstatt 'fflush()'
auszufuehren, die Fehlerbehandlungsroutine angesprungen.

$ held
Hello, World!
$ held 1>&-
held: Write error,errno=9: Bad file number


> Du verwendest fprintf statt fputs und erzeugst so einen Perfor-
> manceeinbruch durch Einbindung eines Interpreters. Außerdem öff-
> nest Du ein Sicherheitsloch.

Du liebes bisschen ! Das soll von mir sein ? Da kann man mal sehen,
was passieren kann, wenn man etwas 'aufbohrt', in diesem Falle
'printf("Hello\n");'. Verbose: Befindet sich im auszugebenden
String ein Prozentzeichen, so ergeben sich die o.a. Probleme.
Dir scheint es aber auch nicht aufgefallen zu sein, das haette ich
nie so stehen lassen.


> Du hast Dead Code in Deinem Source.

Absichtlich, um eine 'lint' - Ausgabe zu unterdruecken.

> Du möchtest return statt exit nehmen, um klare Ausstiegspunkte
> zu haben.

Wer hat denn nun eigentlich recht ? Sieh Dir den STEVENS an, d.h.,
lass' es und glaube mir: Die Beispiele dort terminieren mit 'exit()'.
Von mir aus nehmen wir ab sofort 'return', es ist nicht nur logisch,
sondern vermeidet auch zwei andere Nachteile.


> Du hast unbenutzte Variablen deklariert.

Absichtlich, es wird darauf hingewiesen.

> Du verwendest falsche Exit-Codes. Die korrekten sind in stdlib.h
> definiert.

Absichtlich. Es hat sich gezeigt, dass ich mich oft an andere Pro-
dukte anpassen muss. Daher benutze ich meine eigenen Definitions-
werte, die allerdings sinnvollerweise mit den in 'sysexits.h' de-
finierten Konstanten zugewiesen werden sollten.


> Du verwendest eine andere Länge für Deinen Ausgabestring als die
> Wirkliche. Du rechnest falsch. Im Zweifel kompromittierst Du den
> gesamten RAM.

Das sind die Folgefehler, die sich aus der Verwendung von 'fprintf()'
ergeben.

> Du referenzierst einen Index in einem Literal als Funktionsargument.

Und ? ... "errno=%d, %s\n",errno,sys_errlist[errno] ... ist nicht
falsch. Du meinst, dass ein Makro evtl. 'errno' modifizieren
koennte und damit das Ergebnis, abhaengig vom Compiler, variieren
koennte, abhaengig davon, in welcher Reihenfolge die Funktionsargu-
mente ausgewertet werden ? Verbose mode required.

> Das fällt mir auf die Schnelle auf.

Und dabei haben wir beide uebersehen, dass kein bounds-checking
mit 'errno' gemacht wurde. Geben 'fprintf()' oder 'fflush()'
unzulaessige Werte zurueck, kracht es.

> Welche Note soll ich Dir nun geben?

UNGENUEGEND.


Korrektur in Arbeit.


Gruss,

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke schrieb:

Ich dachte das wäre in so einer Art "ewigen Entwicklungsphase". Rein
Interessenhalber: Wo kommt's den "produktiv" zum Einsatz?

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Stephan Lahl wrote:
>> - 'CharFeld' mit '5' zu dimensionieren, ist nicht der Hit, weil
>> kein Delimiter mehr im Array Platz findet, aber zulaessig.
>
>Falsche Dimensionierung. Segmentation fault oder Bus error
>ist vorprogrammiert.

Nein. Wir haben ja nicht Ada.
(Warning: Assignment will cause a CONSTRAINT_ERROR on runtime.)

>Wenn es eine Verbindung zwischen Schöpfer und Maschine gibt,
>müssen die gcc-Entwickler bei diesem Programm Alpträume bekommen
>haben. :^)

Nein. Lies Kerningham zu dem Compiler von Plan9.

>Es darf nämlich nicht i++ heissen.
>Professionell muss man da ++i schreiben.

Korrekt. Die erste Variante erzeugt einen Overhead aus Dead Code und
Register Garbage.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:

>
> >Es darf nämlich nicht i++ heissen.
> >Professionell muss man da ++i schreiben.
>
> Korrekt. Die erste Variante erzeugt einen Overhead aus Dead Code und
> Register Garbage.

Ergibt bei mir (ohne Optimierung) den gleichen Code.

Verbose mode required.

Ricardo Suarez

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Sascha Grammes schrieb:
>
> Hallo NG
>
> die Azubi's aus unserer Behörde (also auch ich) hatten gerade ein
> Gespräch mit der Ausbildungsleitung zur Verbesserung der Lage. Ich will
> Euch mal ein paar Dialoge aus diesem Gespräch weitergeben und würde mich
> über Kommentare von Euch freuen:

[cut here]

>
> {
> Die Azubi's haben eine Homepage erstellt, wo sich jeder einzelne
> persönlich vorstellt und diverse Informationen zur Verfügung stellt. Bei
> mir waren einige Texte des CCC, von ESR und ein paar
> sicherheitsrelevante Sachen drin.
> }
>
> Ausbilder/in 2: Herr Grammes, ich würde mir an Ihrer Stelle mal die
> Seite genau überdenken, es könnte sein, dass Sie den Flair eines
> "hackers" bekommen!
>
> Ich: Hab ich nix dagegen! Das ist ne Auszeichnung!
>
> Ausbilder/in 3: Für dich vielleicht, aber für viele andere nicht!
>
> Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
> Computer Club!
>
> Ich: Ja, das ist ja auch eine Behörde!
>
> Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
> S**m*ns oder S*ftw*re AG stellen so jemanden ein?

Aber absolut! Auf dem Chaos Camp grasieren die Personalabteilungstiger
von Siemens
wie die Beulenpest.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Sascha Grammes wrote:

[Beamtenschwachsinn und Behoerdenmuell]

Mach so gut es geht deinen FI AE fertig.
Vergiss die Stiefellecker, und komm zu uns.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Ricardo Suarez wrote:

> > http://plan9.bell-labs.com/plan9/
>
> Schon getestet?

Ja, gerade dabei.
Habe gerade BSDI von meinem Laptop gefuckt,
um 300Meg fuer Plan9 freizukriegen ... *wuerg*

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Lutz Donnerhacke:
>> >http://t-online.de/home/bonfigt.ses-koeln/misc/held.c
>>
>> Der Quellcode ist immer noch falsch:
>> Du prüfst die Fehler von fprintf nicht.
>
>Aber ja. Liefert 'fprintf' einen Fehler, wird, anstatt 'fflush()'
>auszufuehren, die Fehlerbehandlungsroutine angesprungen.

Du prüfst nur im Hauptstrang die Fehler. Wie willst Du Fehler ausgeben?

>$ held
>Hello, World!
>$ held 1>&-
>held: Write error,errno=9: Bad file number

$ held 1>&- 2>/dev/lp0
$ echo > /dev/lp0
sh: /dev/lp0: Permission denied
$ _

>> Du verwendest fprintf statt fputs und erzeugst so einen Perfor-
>> manceeinbruch durch Einbindung eines Interpreters. Außerdem öff-
>> nest Du ein Sicherheitsloch.
>
>Du liebes bisschen ! Das soll von mir sein ? Da kann man mal sehen,
>was passieren kann, wenn man etwas 'aufbohrt', in diesem Falle
>'printf("Hello\n");'. Verbose: Befindet sich im auszugebenden
>String ein Prozentzeichen, so ergeben sich die o.a. Probleme.

Der Performanceeinbruch bleibt.

>Dir scheint es aber auch nicht aufgefallen zu sein, das haette ich
>nie so stehen lassen.

Stimmt.

>> Du hast Dead Code in Deinem Source.
>
>Absichtlich, um eine 'lint' - Ausgabe zu unterdruecken.

Schreibe einen Bug Report an die lint Maintainer.

>> Du möchtest return statt exit nehmen, um klare Ausstiegspunkte
>> zu haben.
>
>Wer hat denn nun eigentlich recht ? Sieh Dir den STEVENS an, d.h.,

Stevens ist tot und hat immer Recht.

>lass' es und glaube mir: Die Beispiele dort terminieren mit 'exit()'.
>Von mir aus nehmen wir ab sofort 'return', es ist nicht nur logisch,
>sondern vermeidet auch zwei andere Nachteile.

Danke. Es ist nicht garantiert, daß der Wrapper exit(main(..)) aufruft.
Außerdem fehlt Dir bei einem Querausstieg der Aufräumcode für Deine
dynamischen Variablen. Die werden dann nur unaufgeräumt weggeklappt.

>> Du verwendest falsche Exit-Codes. Die korrekten sind in stdlib.h
>> definiert.
>
>Absichtlich. Es hat sich gezeigt, dass ich mich oft an andere Pro-
>dukte anpassen muss. Daher benutze ich meine eigenen Definitions-
>werte, die allerdings sinnvollerweise mit den in 'sysexits.h' de-
>finierten Konstanten zugewiesen werden sollten.

Warum tust Du es dann nicht?

>> Du verwendest eine andere Länge für Deinen Ausgabestring als die
>> Wirkliche. Du rechnest falsch. Im Zweifel kompromittierst Du den
>> gesamten RAM.
>
>Das sind die Folgefehler, die sich aus der Verwendung von 'fprintf()'
>ergeben.

Nein. Das sind Folgefehler von #define statt static const char[].
Außerdem prüfst Du nicht, ob der Rückkehrwert von Deiner Ausgabefunktion
kleiner ist als die Stringlänge. So kannst Du wegen Deiner Rechnung
pos+=count über das Ende hinausrutschen.

>> Du referenzierst einen Index in einem Literal als Funktionsargument.
>
>Und ? ... "errno=%d, %s\n",errno,sys_errlist[errno] ... ist nicht
>falsch.

Falsche Baustelle. Sieh Dir den #define an.

>> Das fällt mir auf die Schnelle auf.
>
>Und dabei haben wir beide uebersehen, dass kein bounds-checking
>mit 'errno' gemacht wurde. Geben 'fprintf()' oder 'fflush()'
>unzulaessige Werte zurueck, kracht es.

Etwas habe ich schon gesehen.

>Korrektur in Arbeit.

Fein, dann kann man es ja evtl. irgendwann mal zu 'Collections of hello
worlds' einreichen.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> Seit 1989 ist Plan9 produktiv im Einsatz.
>
>Ich dachte das wäre in so einer Art "ewigen Entwicklungsphase". Rein
>Interessenhalber: Wo kommt's den "produktiv" zum Einsatz?

Bell Labs.

Sascha Grammes

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hallöle

Lutz Donnerhacke wrote:
>
> * Sascha Grammes wrote:
> >Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?
>
> Wer Linux statt Leinux sagen kann, einen Tux aus 3 m Entfernung erkennt und
> den Eindruck erweckt, er könne zielgerichtet klicken, wird eingestellt.

Naja, in Zukunft kommt dann noch hinzu, dass man gebrochenes deutsch
sprechen kann... *g*

> >Würdet Ihr unseren Ausbildern Recht geben, wenn es um zukünftige
> >Technologien geht
>
> Was die neumodischen Buzzworte angeht: Ja. Für die klassischen Bereiche: Nein.

Genau darum ging es uns... klar, dass in jeder zweiten Stellenanzeige
etwas von E-Commerce und Web-Lösungen steht, aber auch das hat eine
Basis, die wir hier einfach nicht "im normalen betrieblichen Umfeld"
lernen können, da wir als Behörde so etwas eigentlich nicht brauchen.

Deshalb auch die Idee des Selbststudiums und der Orientierung von
Ausbildungsinhalten an Stellenausschreibungen.

> >und das man CCC'ler eher nicht einstellt?
>
> Das ist durchaus üblich. Mitglied des CCC zu werden und damit zu prahlen ist
> keine Qualifikation.

Ich wollte nicht wissen, ob CCC'ler bevorzugt behandelt werden, sondern
eher ob das Gegenteil der Fall ist. Klar, dass jemand wegen einer
Clubmitgliedschaft eingestellt wird, aber es ist natürlich auch möglich,
dass jemand wegen einer Clubmitgliedschaft "nicht" eingestellt wird.
Evtl. weil der Perso-Chef Angst vor pösen "hackern" hat...


CU
Grambo

Sascha Grammes

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hi Chris

Christian Zeng wrote:
>
> Hi,
>
> >Ausbilder/in A: Sie brauchen sich nicht an Stellenbeschreibungen
> >orientieren, was sie da heute lesen ist Morgen veraltet!
>
> Naja, in Einem hat er IMHO recht: die heutigen Stellenanzeigen sind
> teilweise, was die geforderten Skills anbelangt, viel zu überzogen.

Stimmt schon, vor allem wo der FI ja eigentlich mehr ein
Breitband-Wissen haben soll. Spezialisierungen müssen dann ahlt von den
Firmen durch entsprechende Lehrgänge vermittelt werden.

> Veraltet finde ich das Bewerten dieser Anzeigen überhaupt nicht, wenn
> man die Inhalte auf ein vernünftiges Maß herunterbricht, kann man
> schon Tendenzen (besser: Bedürfnisse) am Markt erkennen; außerdem
> liest man Stellenanzeigen dann nicht nur einmal, sondern öfters.

Ich bin auch der Meinung, dass man durch studieren der
Stellenbeschreibungen den Focus seiner Ausbildung vielleicht etwas
korrigieren kann. Ein extremes Beispiel: wenn ich auf der Arbeit nur mit
Cobol programmiert habe und dann in den Stellenanzeigen andauernd was
von Java und C++ lese, dann kann ich noch innerhalb der Ausbildung auf
eine entsprechend "moderne" Sprache umsteigen und wundere mich nach der
Ausbildung nicht, dass keiner nen Cobol-Programmierer haben will.

> >Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
> >Computer Club!

> [...]


>
> >Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
> >S**m*ns oder S*ftw*re AG stellen so jemanden ein?

> Ok, das Klischee der berühmt-vielzitierten Security-Unternehmen mit
> ihren Heerscharen von Ex-Crackern und Script-Kiddies lass ich jetzt
> mal außen vor.

Och... *g*

> Meine Firma freut sich über jeden engagierten Bewerber. Das Engagement
> für die Sache kann man von einem Hacker IMHO wohl nicht streitig
> machen. Das Problem dürfte sein, daß viele Leute Hacker mit totaler
> Anarchie gleichsetzen. Und damit Angst haben, (ich versuch' das jetzt
> vorsichtig auszudrücken) sich vor ihrer werten Kundschaft zu
> blamieren, oder sich ein "faules Ei" ins Nest zu legen (bitte nicht
> falschverstehen).
> Viel wichtiger als Sachkentnnis (die natürlich auch wichtig ist) ist
> die "soziale Kompetenz", also wie sich Leute z.B. in die
> Firmengemeinschaft integrieren und mitarbeiten.
> Das zählt (zumindest bei uns).

Da kommt es bestimmt auch auf die Firma an. Bei einem kleinen (!)
Provider muß man zwar Teamfähig sein, aber wenn man keine Ahnung von
Internet und Systemadministration at, dann kann man das auch vergessen.

> Zum Thema Ausbildung im allgemeinen:
>
> Ich finde, daß Deutschland absolut am Markt vorbei ausbildet (Studium
> mal außen vor, keine Erfahrungen meinerseits).

Ack.

> Die MCSE-Abgänger der Arbeitsamt-Schulungen können TCP/IP zwar
> buchstabieren, aber oft nicht anwenden.
> Unix ist bei vielen ein Buch mit sieben Siegeln.
> Selbst Wissen über grundlegende Dinge ("wie funktioniert eMail") ist
> oft nicht vorhanden.
> Dies ist *nicht* die Schuld derer, die diese Ausbildungen /
> Umschulungen / whatever absolviert haben, sondern derjenigen, die
> diese strategisch ausgearbeitet haben und damit die Inhalte festlegen.

Also mal wieder der tolle Laden mit den drei großen, roten Buchstaben.
*g*

> Ich höre immer wieder von vielen Kollegen, daß ein breites Interesse
> an Unix- (hier meist linux) Inhalten während der Ausbildung bestanden
> hat, dies aber mangels Ausbilder / Konzepte / Zeit aber nicht
> umgesetzt wurde.

Naja, dass ist wohl in den meisten Firmen so. Bei uns wird es demnächst
wieder Unix-Kurse geben, zu denen ich mich dann einfach anmelde.

> Wir als Unternehmen bieten dann neuen Kollegen mehrwöchige
> Praxis-Workshops zu Themen an, die so oft in der Ausbildung
> vernachlässigt wurden (Netzwerkgrundlagen / IP / Unix / Cisco Routing
> / Firewalling / IP-Services (http, dns, smtp) usw..
> Komischerweise werden diese dann immer mit großer Begeisterung
> angenommen und durchgeführt. Das sagt doch eigentlich alles ;-)

Kewl... das hört sich fein an. Wo schickt man Bewerbungsunterlagen hin?
*ggg*

> S.a. die Diskussion um die Prüfungen der "neuen IT Berufe" in der
> vorletzten c't.

Habs leider noch net gelesen, weil ich nur die IX im Abo hab.

Es gab ja in letzter Zeit eh große Diskussionen zum Thema. Aber ob sich
was ändert ist leider eine ganz andere Frage. Afair hatte sich doch auch
das Chaosradio damit beschäftigt... muß ich mir mal anhören.


CU
Grambo

Andreas Bogk

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hans Bonfigt <bonfigt....@t-online.de> writes:

> In Ermangelung 'flaechendeckender' Compilerinstallationen beim
> Kunden setzen wir C++ nicht produktiv ein. Und wenn ich ganz ehr-
> lich sein soll: Ich habe die dahinterstehenden Konzepte nie rich-
> tig verstanden. Das mag daran liegen, dass ich auch nicht den
> theoretischen Ansatz von OOP begriffen habe.

Der Versuch, OOP anhand von C++ zu verstehen, ist von vornherein zum
Scheitern verurteilt.

Gruss Andreas

--
"Anyone need a DVD decrypter for Linux?
dig @138.195.138.195 goret.org. axfr | grep '^c..\..*A' | sort \
| cut -b5-36 | perl -e 'while(<>){print pack("H32",$_)}' | gzip -d"
-- James Brister

Andreas Bogk

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hans Bonfigt <bonfigt....@t-online.de> writes:

> http://t-online.de/home/bonfigt.ses-koeln/misc/held.c

Wenn du den hello-String User-konfigurierbar machst, dann solltest du
mindestens:

--- held-old.c Thu Jun 8 17:31:14 2000
+++ held.c Thu Jun 8 17:32:07 2000
@@ -100,7 +100,7 @@

/* MAIN EXECUTIVE */
for(pos=0;pos<len;pos+=count) {
- if ((count=fprintf(stdout,OUTSTR+pos))<0) {
+ if ((count=fprintf(stdout,"%s",OUTSTR+pos))<0) {
if (errno!=EINTR) break;
count=0; /* Erroneous output possible upon signal reception */
}

machen, wenn nicht gar, wie von Lutz vorgeschlagen, fputs nehmen.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Christian Kahlo:
>
> In meinem Umgang mit IBMlern habe ich zwei
> menschliche Dinge gelernt:
>
> a) ein IBMler kann nicht verlieren.
> b) ein IBMler muss immer das letzte Wort haben,
> auch wenn es seinen Tod bedeuten wuerde.

IBMer ist nicht IBMer, das muss zur Ehrenrettung gesagt werden.
Diejenigen, die keine IBM-Krawatte und keine IBM-Socken tragen
(Gibt es beides), sind z.T. gut und interessant. Leider ist
dieser Typus eher selten.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Lutz Donnerhacke wrote:

> >Vergiss die Stiefellecker, und komm zu uns.

> Was soll er beim Thüringen Netz e.V.?

siehe $ORGANIZATION.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Christian Kahlo wrote:
>Sascha Grammes wrote:
>
>[Beamtenschwachsinn und Behoerdenmuell]
>
>Mach so gut es geht deinen FI AE fertig.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Hans Bonfigt wrote:
>Lutz Donnerhacke:
>>

++i -> (increment (address i))
i++ -> (load (new register r) (address i))
(increment (address i))
(register r)


Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Hans Bonfigt wrote:

> ziemlich IBM-spezifisch.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Christian Kahlo wrote:

>Lutz Donnerhacke wrote:
>> >Vergiss die Stiefellecker, und komm zu uns.
>> Was soll er beim Thüringen Netz e.V.?
>
>siehe $ORGANIZATION.

'creating'?

Ihr seid spät dran.

Lutz Donnerhacke

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
* Andreas Bogk wrote:
>Der Versuch, OOP anhand von C++ zu verstehen, ist von vornherein zum
>Scheitern verurteilt.

Yep. Wenn ich mir den Code für High Order Messaging in
comp.sys.next.programmer so ansehen. *seufz*

Sascha Grammes

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hallöle

Ricardo Suarez wrote:
>
> Sascha Grammes schrieb:

<snip>

> > Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
> > S**m*ns oder S*ftw*re AG stellen so jemanden ein?
>

> Aber absolut! Auf dem Chaos Camp grasieren die Personalabteilungstiger
> von Siemens
> wie die Beulenpest.

Hmm... bist du sicher? Die anderen Antwortenden waren eigentlich eher
gegenteiliger Meinung.

Wenn du (oder ein/e andere/r hier) vielleicht ein paar Namen hätte würde
ich diese gern meinem Ausbilder vor die Nase legen und wäre wirklich
gespannt auf seine Reaktion! *ggg*


CU
Grambo

Sascha Grammes

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Hallo Stephan

Stephan Lahl wrote:
>
> Sascha Grammes <sascha....@rzf.fin-nrw.de> wrote:

<snip>

> > Ausbilder/in A: Sie brauchen sich nicht an Stellenbeschreibungen
> > orientieren, was sie da heute lesen ist Morgen veraltet!
>

> Stimmt teilweise. Mit Grundlagenwissen in Computernetzen, Datenbanken
> und Programmierung ist man besser bedient, als mit der Vermittlung
> spezieller Technologien.
> Natürlich muss man das aber auch an praktischen Beispielen üben können.

Klar, aber man muß sich auch am Markt orientieren. Was bringt es mir,
wenn ich hier die Grundlage einer völlig veralteten Programmiersprache
lerne und am Ende der Ausbildung dann in jeder zweiten
Stellenbréschreibung "Java" drinsteht?

> > Ausbilder/in 2: Herr Grammes, ich würde mir an Ihrer Stelle mal die
> > Seite genau überdenken, es könnte sein, dass Sie den Flair eines
> > "hackers" bekommen!
> > Ich: Hab ich nix dagegen! Das ist ne Auszeichnung!
> > Ausbilder/in 3: Für dich vielleicht, aber für viele andere nicht!
>

> Stimmt. Durch die Presse wird von Vielen das Wort Hacker mit "Krimineller"
> übersetzt.

Aber sollten es nicht grade die Verantwortlichen in den Firmen besser
wissen? Stell dir mal vor Fefe würde sich hier bewerben. Mein Boss
kriegt mit, dass hackerrelevante Themen auf seiner Homepage hat und
stellt ihn nicht ein. Tja... chance vertan. Aber ist das wirklich
überall so?

> > Ausbilder/in 2: ICH würde Sie nicht einstellen mit dem Zeug vom Chaos
> > Computer Club!
>

> Er möchte Dir damit sagen, dass Du Vorgesetzte wie Ihn im Beruf meiden
> solltest.
> Du kannst ja auch mit kompetenten Leuten Geld verdienen.

Sowas ähnliches wäre mir auch fast über die Lippen gekommen, aber das
hätte die letzten anderthalb Jahre bestimmt ziemlich unangenehm
gemacht... *ggg*

> > Ich: Ja, das ist ja auch eine Behörde!

> > Ausbilder/in 2: Auch in großen Firmen ist das so! Meinen Sie, Firmen wie
> > S**m*ns oder S*ftw*re AG stellen so jemanden ein?
>

> Ja. Nicht alle - aber viele.
> Bei einer Bewerbung kann man schon etwas vom Arbeitsklima oder allgemein
> der Firmenkultur riechen.
> Bei Firmen, deren Personalchefs nicht informiert sind und die Interesse
> an Sicherheitsproblemen als gefährlich oder unseriös empfinden
> möchtest Du nicht Deine Arbeitskraft verschwenden.

Da kann ich dir nur zustimmen. Und wenn ich genug andere Firmen finden,
die mir entsprechendes Gehalt bieten und keine Probleme mit sowas haben,
dann werde ich diese auf jeden Fall vorziehen. Im Moment kann man sich
in der IT-Branche noch seinen Job aussuchen, aber ich frage mich, wie
lang das noch so bleibt.

> Du möchtest offensichtlich ein Computerexperte werden.

Allerdings!

> Such Dir also einen Arbeitgeber, der Wert auf die Sicherheit seiner
> Daten legt.

s.o.

> > Azubi 2: Wir hätten gerne einen raum mit Rechnern, wo wir selbst
> > rumprobieren und uns was beibringen können!
> > Ausbilder/in 1: Selbst beibringen? Da bin ich völlig dagegen! Es gibt
> > jawohl genug Stellen im Haus mit viel Wissen, wo alles abgedeckt werden
> > sollte. Wir sind ja keine kleine Klitsche!
>
> Ooooooooooch der Ärmste hat Angst, dass seine Kompetenz in Frage
> gestellt wird.

Das mit der Klitsche hat sie (ist in dem Fall ne Frau) ziemlich oft
wiederholt... das sagt schon einiges. *g*

> Wenn Schüler eigenständig lernen, verlieren Lehrer das Wissensmonopol.
> Dieses Monopol versetzt sie aber erst in die Lage, den Schülern
> weiszumachen, man wäre auf sie angewiesen, um später einen Job zu
> kriegen.
> Das bedeutet Macht.
> Ein Schüler, der sich mit der Technik besser auskennt als sein
> Lehrer ist für schwache Gemüter eine Demütigung.

Naja, sie ist keine direkte Lehrerin, sondern eher mit dem Management
befasst. Im allgemeinen ist es so, dass unsere Ausbilder eigentlich nur
den Einsatz in bestimmten "Teilbereichen" des RZF managen und für die
Vermittlung der Inhalte dann die entsprechenden Mitarbeiter in den
Dezernaten zuständig sind. Ich muß wohl kaum erwähnen, dass diese meist
noch nie ausgebildet haben und dementsprechend unbeholfen an die Sache
rangehen.

<C-Proggie>

> Also meckere nicht über Deine Ausbildung, es könnte schlimmer sein.
> ;->

Ja, aber es könnte auch besser sein. *g*

> > Und wie ist es mit den Leuten hier aus der freien Marktwirtschaft?

> > Würdet Ihr unseren Ausbildern Recht geben, wenn es um zukünftige

> > Technologien geht und das man CCC'ler eher nicht einstellt?
>
> Wer einen CCC'ler nicht einstellen will hat keine kompetenten
> Mitarbeiter verdient und muss den Schaden früher oder später bezahlen.
> Damit will ich nicht behaupten, dass alle CCC'ler kompetente Leute sind,
> aber es sind doch schon einige dabei.

Jup... ganz deiner Meinung. Die Mitgliedschaft macht einen nicht zur
Elite, aber auch nicht zum pösen Hax0r. *g*

> Ich arbeite hier bei einem FreeMail-Provider,
> man hat im Einstellungsgespräch von mir erwartet, dass ich weiss,
> wie man an sicherheitsrelevante Informationen
> kommt und genügend über diverse Exploits weiss, um ständig
> die Augen nach solchen Fehlern offenzuhalten.
> Was man nicht an Erfahrung hat, muss man eben durch Vorsicht und
> selbstständiges Lernen wettmachen.

Jup... aber wenn man das zu spät merkt und viel Hoffnung und Vertrauen
in die Ausbildung setzt (so ging es mir), dem zerrint die Zeit zwischen
den Händen, bis er dann wirklich auf dem Arbeitsmarkt steht und sein
"Können" darbieten muß. Deshalb freue ich mich auch schon auf den
Congress, wo ich mir wieder massenweise gute Vorträge über entsprechende
Themen reinpfeifen kann. *ggg*

> Lass Dich nicht einschüchtern, lerne weiter!

Das hab ich vor... aber in nächster Zukunft mehr auf meine Weise. ;-)

> Man liest sich,
> stephan


CU
Grambo

Andreas Bogk

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Christian Kahlo <chri...@empire.weimar.thur.de> writes:

> Sascha Grammes wrote:
>
> [Beamtenschwachsinn und Behoerdenmuell]
>
> Mach so gut es geht deinen FI AE fertig.

> Vergiss die Stiefellecker, und komm zu uns.

Nein, zu uns!

(mit anderen Worten, lieber Sascha, mach dir keine Gedanken um einen
Job, wenn du halbwegs gut bist. Ken Mensch will bedrucktes Papier
sehen heutzutage).

Andreas Bogk

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
lu...@iks-jena.de (Lutz Donnerhacke) writes:

> ++i -> (increment (address i))
> i++ -> (load (new register r) (address i))
> (increment (address i))
> (register r)
>

Dein Compiler hat keine dead code elimination?

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Andreas Bogk:

>
> - if ((count=fprintf(stdout,OUTSTR+pos))<0) {
> + if ((count=fprintf(stdout,"%s",OUTSTR+pos))<0) {

Ja, natuerlich. Ich bin entsetzt. Das meine ich ernst.

> machen, wenn nicht gar, wie von Lutz vorgeschlagen, fputs nehmen.

dito.


"Abschreiben" und "umwursteln" sind u.U. lebensgefaehrlich.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Hans Bonfigt wrote:

> Christian Kahlo:

> > In meinem Umgang mit IBMlern habe ich zwei
> > menschliche Dinge gelernt:
> >
> > a) ein IBMler kann nicht verlieren.
> > b) ein IBMler muss immer das letzte Wort haben,
> > auch wenn es seinen Tod bedeuten wuerde.
> IBMer ist nicht IBMer, das muss zur Ehrenrettung gesagt werden.
> Diejenigen, die keine IBM-Krawatte und keine IBM-Socken tragen
> (Gibt es beides), sind z.T. gut und interessant. Leider ist
> dieser Typus eher selten.

Und arbeitet haeufig, wenn man sie kennenlernt, nicht mehr
bei IBM. Ich habe zwei sehr faehige Ex-IBMler kennengelernt,
die die vorgenannten Eigenschaften des default-IBMlers nicht
oder nicht in diesem Ausmasse erfuellten. Beides sehr
interessante Menschen.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Netscape 4.72 hat einen Bug: Wenn man das
$ORGANIZATION Feld leert, bleibt es in der
Eingabemaske leer. In Postings setzt er
aber den alten Wert nachwievor ein. Setzt
man einen neuen String dann verwendet er
auch den Neuen.

Erinnert mich irgendwie an Netscape Enterprise ...

Benutzen die bei Netscape etwa C ? ;)

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Lutz Donnerhacke wrote:

> * Christian Kahlo wrote:
> >Lutz Donnerhacke wrote:
> >> >Vergiss die Stiefellecker, und komm zu uns.
> >> Was soll er beim Thüringen Netz e.V.?
> >siehe $ORGANIZATION.
> 'creating'?
> Ihr seid spät dran.

Der Slogan stammt aus der Anfangsphase, Du solltest das
eigentlich wissen ...

... und '92 ist spaet dran ?
Da hat die Welt gerade mal begriffen, das es sowas wie WWW
gibt, geschweige denn wie es funktioniert und was mal daraus
wird.

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Andreas Bogk wrote:

> Christian Kahlo <chri...@empire.weimar.thur.de> writes:
> > Sascha Grammes wrote:
> > [Beamtenschwachsinn und Behoerdenmuell]
> > Mach so gut es geht deinen FI AE fertig.

> > Vergiss die Stiefellecker, und komm zu uns.
>

> Nein, zu uns!

Wollen wir pokern ?
Oder erledigen wir das wie echte Maenner(tm) draussen vor der Tuer ?



> (mit anderen Worten, lieber Sascha, mach dir keine Gedanken um einen
> Job, wenn du halbwegs gut bist. Ken Mensch will bedrucktes Papier
> sehen heutzutage).

Gedanken um einen IT-Job muss sich fast keiner machen.
Wenn man Ahnung von seinem Job hat, hat es den angenehmen
Nebeneffekt, dass der Job auch noch Spass macht und man
weiterkommt.

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Lutz Donnerhacke:

>
> Du prüfst nur im Hauptstrang die Fehler. Wie willst Du Fehler
> ausgeben?
>
> $ held 1>&- 2>/dev/lp0
> $ echo > /dev/lp0
> sh: /dev/lp0: Permission denied

$ echo $?


> Der Performanceeinbruch bleibt.

Daher ganz klar fputs() oder fwrite().

Was haeltst Du eigentlich von folgender Idee: Ein eigenes
'vsprintf()' "preparst" die Formatkontrollstrings und Parameterli-
sten und fuehrt bei einem Folgeaufruf den dynamisch generierten
Code aus. Probleme z.B. mit dynamisch veraenderlichen Formatkon-
trollstrings lasse ich bewusst aussen vor.

> >> Du hast Dead Code in Deinem Source.
> >Absichtlich, um eine 'lint' - Ausgabe zu unterdruecken.
> Schreibe einen Bug Report an die lint Maintainer.

Muss 'lint' wissen, dass 'exit()' nie oder 'exec()' "selten" zurueck-
kommt ?

> >> Du verwendest falsche Exit-Codes. Die korrekten sind in stdlib.h
> >> definiert.
> >
> >Absichtlich. Es hat sich gezeigt, dass ich mich oft an andere Pro-
> >dukte anpassen muss. Daher benutze ich meine eigenen Definitions-
> >werte, die allerdings sinnvollerweise mit den in 'sysexits.h' de-
> >finierten Konstanten zugewiesen werden sollten.
>
> Warum tust Du es dann nicht?

In der 'HiPerf' - Version 1.2.14.6 korrigiert. DOWNLOAD FOR FREE !

> Außerdem prüfst Du nicht, ob der Rückkehrwert von Deiner Ausgabe-
^^ <-- Sorry. Das war Dein Patch.
> funktion kleiner ist als die Stringlänge. So kannst Du wegen Deiner


> Rechnung pos+=count über das Ende hinausrutschen.

Bin ich jetzt total konfus oder hast Du die Abbruchbedingung der
Schleife uebersehen ?

> > Korrektur in Arbeit.

Done.

> Fein, dann kann man es ja evtl. irgendwann mal zu 'Collections of
> hello worlds' einreichen.

'GNU - hello' habe ich mir angesehen. Es ist schrecklich.


Gruss,

--
Hans Bonfigt /SES/
UNIX App. Development Systementwicklung Schollmeier
Phone: +49 171 3758928 <bonfigt....@t-online.de>

Daniel Hartmeier

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
On Thu, 08 Jun 2000 13:36:22 +0200, Hans Bonfigt wrote:

>http://t-online.de/home/bonfigt.ses-koeln/misc/held.c

> for(pos=0;pos<len;pos+=count) {
> if ((count=fputs(outstr+pos,stdout))<0) {

Worauf basiert Deine Annahme, dass fputs() die Anzahl geschriebener Bytes
zurueckliefert?

Dirk Stander

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
In-Reply-To: Christian Kahlo <chri...@empire.weimar.thur.de>

> Netscape 4.72 hat einen Bug: Wenn man das
> $ORGANIZATION Feld leert, bleibt es in der
> Eingabemaske leer. In Postings setzt er
> aber den alten Wert nachwievor ein. Setzt
> man einen neuen String dann verwendet er
> auch den Neuen.

Koennte aber auch daran
| NNTP-Posting-Host: echelon.intershop.de
liegen.

Gruß Dirk:.
--
~
~
~
~

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Daniel Hartmeier:

>
> >http://t-online.de/home/bonfigt.ses-koeln/misc/held.c
>
> > for(pos=0;pos<len;pos+=count) {
> > if ((count=fputs(outstr+pos,stdout))<0) {
>
> Worauf basiert Deine Annahme, dass fputs() die Anzahl geschriebener
> Bytes zurueckliefert?

manpage.

"Return Values

Upon successful completion, the puts and fputs subroutines return
the number of characters written."

Hans Bonfigt

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
Andreas Bogk:

>
> lu...@iks-jena.de (Lutz Donnerhacke) writes:
>
> > ++i -> (increment (address i))
> > i++ -> (load (new register r) (address i))
> > (increment (address i))
> > (register r)
>
> Dein Compiler hat keine dead code elimination?

Unter der Annahme, dass nicht:

Wie wuerde die letzte 'Pseudo-OP' konkret umgesetzt werden sollen ?


Gruss

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Dirk Stander wrote:

> > Netscape 4.72 hat einen Bug: Wenn man das
> > $ORGANIZATION Feld leert, bleibt es in der
> > Eingabemaske leer. In Postings setzt er
> > aber den alten Wert nachwievor ein. Setzt
> > man einen neuen String dann verwendet er
> > auch den Neuen.
> Koennte aber auch daran
> | NNTP-Posting-Host: echelon.intershop.de
> liegen.

Gut. Das ist mein Rechner.
Und ?

Christian Kahlo

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to

Christian Kahlo wrote:

> Ricardo Suarez wrote:
> > > http://plan9.bell-labs.com/plan9/
> > Schon getestet?
> Ja, gerade dabei.
> Habe gerade BSDI von meinem Laptop gefuckt,
> um 300Meg fuer Plan9 freizukriegen ... *wuerg*

Muellkrams.

Bell Labs hat absolut miese Arbeit geleistet.
Mir bringt Plan9 immer Fehlermeldungen, es kaeme
mit meinem i8042 (das ist der Keyboardcontroller)
nicht zurecht. Mit der Cirrus Logic Graphikkarte
konnte es auch nix anfangen, so bin ich auf einer
sehr schlecht programmierten Shell gelandet ...
Und auf meinem Thinkpad isses gleich abgeschmiert.

Bloedes Zeug.

Daniel Hartmeier

unread,
Jun 8, 2000, 3:00:00 AM6/8/00
to
On Thu, 08 Jun 2000 22:18:53 +0200, Hans Bonfigt wrote:

>> Worauf basiert Deine Annahme, dass fputs() die Anzahl geschriebener
>> Bytes zurueckliefert?
>
>manpage.

$ man fputs

RETURN VALUES
The fputs() function returns 0 on success and EOF on error; puts() re-
turns a nonnegative integer on success and EOF on error.

Oder soll der Code nicht ANSI C genuegen?

Regina Sickel

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
On Thu, 08 Jun 2000 19:01:58 +0200,Christian Kahlo
<chri...@empire.weimar.thur.de> wrote:


>Und arbeitet haeufig, wenn man sie kennenlernt, nicht mehr
>bei IBM.

Hoehepunkt eines solchen Kennenlernens fuer mich war, dass man uns
auch dann noch in 6stelliger Hoehe fuer ihren Part aquirieren liess,
als deren Kahn schon Bodenberuehrung hatte. Kommt gut, wenn man
darueber erst vom Amtsgericht informiert wird. Von offenen Forderungen
und kreativen Urhebervermerken mal ganz abgesehen. Aber interessant
waren sie alle. In der Tat.

resi

Dirk Stander

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
In-Reply-To: Christian Kahlo <chri...@empire.weimar.thur.de>

[.


>>> $ORGANIZATION Feld leert, bleibt es in der

.
>> | NNTP-Posting-Host: echelon.intershop.de
.]


> Gut. Das ist mein Rechner.
> Und ?

Manche Newsserver schreiben da was rein, falls nicht vom User gesetzt.
Besonders huebsch: This line intentionaly left blank.

Gruss Dirk:.
--
Never attitude to malice...

Hans Bonfigt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Daniel Hartmeier:

>
> The fputs() function returns 0 on success and EOF on error;
> [ ... ]

Bislang war ich der Meinung, 'fputs()' sei ein Frontend zu 'fwrite()',
wie es offensichtlich bei IBM der Fall ist.

Dummerweise ist auch das Verhalten bei Signals unklar. Unsere Re-
daktion hat jetzt die Nase voll und wird auf 'write()' umstellen.

Das waere von Anfang an sinnvoll gewesen; ich neige dazu, nicht
selbst nachzudenken oder zu recherchieren, wenn jemand, den ich
fuer kompetent halte, einen Vorschlag macht.


Gruss,

Hans Bonfigt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Regina Sickel:
> Christian Kahlo

[ 'Gute' IBMer ]


> > Und arbeitet haeufig, wenn man sie kennenlernt, nicht mehr
> > bei IBM.

Entspricht meiner Erfahrung.

> Hoehepunkt eines solchen Kennenlernens fuer mich war, dass man uns
> auch dann noch in 6stelliger Hoehe fuer ihren Part aquirieren liess,
> als deren Kahn schon Bodenberuehrung hatte.

Wir haben aehnlich traurige Erfahrungen mit 'original' IBM - VBs
gemacht. Wenn Dein Wettberwerb Deinen lokalen VB kraeftig geschmiert
hat, hast Du ein Problem. Besonders aergerlich ist es, wenn Du
selbst ein - allerdings ungenuegend dimensioniertes - "Kuvert"
uebergeben hattest. Letzteres ist allerdings nicht uns passiert.

Wir waren alledings nie enttaeuscht oder verbittert. Wir wussten
schon relativ frueh, was man von Vertretern erwarten darf und was
nicht.


> Kommt gut, wenn man darueber erst vom Amtsgericht informiert wird.

Dein Nachrichtendienst hatte ein Problem.

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke schrieb:
>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> Seit 1989 ist Plan9 produktiv im Einsatz.
> >
> >Ich dachte das wäre in so einer Art "ewigen Entwicklungsphase". Rein
> >Interessenhalber: Wo kommt's den "produktiv" zum Einsatz?
>
> Bell Labs.

:-(

Ricardo
--
Auch das Chaos gruppiert sich um
einen festen Punkt, sonst wäre es
nicht einmal als Chaos da.
-Arthur Schnitzler

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Sascha Grammes wrote:
>Hallo Stephan

>> Stimmt teilweise. Mit Grundlagenwissen in Computernetzen, Datenbanken
>> und Programmierung ist man besser bedient, als mit der Vermittlung
>> spezieller Technologien. Natürlich muss man das aber auch an
>> praktischen Beispielen üben können.
>
>Klar, aber man muß sich auch am Markt orientieren. Was bringt es mir, wenn
>ich hier die Grundlage einer völlig veralteten Programmiersprache lerne
>und am Ende der Ausbildung dann in jeder zweiten Stellenbréschreibung
>"Java" drinsteht?

Ich kenne kaum eine Firma, die 'Java' nicht in die Stellenbeschreibung wirft
und es dann tatsächlich benutzt. Meist wird dann entweder plain C oder
Visual C++, Visual Basic für MS Access oder PHP/Perl verlangt.

>Aber sollten es nicht grade die Verantwortlichen in den Firmen besser
>wissen?

Ich sage es ihnen. Wenn sie zuhören. Schließlich bezahlen sie zwischen 1000
und 3000 DM pP dafür.


Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Christian Kahlo wrote:
>Lutz Donnerhacke wrote:
>> * Christian Kahlo wrote:
>> >Lutz Donnerhacke wrote:
>> >> >Vergiss die Stiefellecker, und komm zu uns.
>> >> Was soll er beim Thüringen Netz e.V.?
>> >siehe $ORGANIZATION.
>> 'creating'?
>> Ihr seid spät dran.
>
>Der Slogan stammt aus der Anfangsphase, Du solltest das
>eigentlich wissen ...

Ja.

>... und '92 ist spaet dran ?

Ja.

>Da hat die Welt gerade mal begriffen, das es sowas wie WWW gibt,
>geschweige denn wie es funktioniert und was mal daraus wird.

www.thur.de/religio stammt aus der Zeit.

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Hans Bonfigt wrote:
>> Der Performanceeinbruch bleibt.
>
>Daher ganz klar fputs() oder fwrite().

write(2). Keine Kompromisse.

>Was haeltst Du eigentlich von folgender Idee: Ein eigenes
>'vsprintf()' "preparst" die Formatkontrollstrings und Parameterli-
>sten und fuehrt bei einem Folgeaufruf den dynamisch generierten
>Code aus. Probleme z.B. mit dynamisch veraenderlichen Formatkon-
>trollstrings lasse ich bewusst aussen vor.

Ein handcodierter noch furchtbarerer Performanceeinbruch mit neuen lustigen
Sicherheitslücken.

>> >> Du hast Dead Code in Deinem Source.
>> >Absichtlich, um eine 'lint' - Ausgabe zu unterdruecken.
>> Schreibe einen Bug Report an die lint Maintainer.
>
>Muss 'lint' wissen, dass 'exit()' nie oder 'exec()' "selten" zurueck-
>kommt ?

Ja. Es muß auch wissen, was die Semantik von setjmp(3) und pthread_create(3)
ist.

>> Außerdem prüfst Du nicht, ob der Rückkehrwert von Deiner Ausgabe-
> ^^ <-- Sorry. Das war Dein Patch.

Außerdem prüfe ich nicht, ...

>> funktion kleiner ist als die Stringlänge. So kannst Du wegen Deiner
>> Rechnung pos+=count über das Ende hinausrutschen.
>
>Bin ich jetzt total konfus oder hast Du die Abbruchbedingung der
>Schleife uebersehen ?

$ echo 'main(){int i=2,j=-1>>1;printf("%d + %d = %d\n",i,j,i+j);}' > t.c
$ make t
cc t.c -o t
$ ./t
2 + 4294967295 = 1
$ _

>> Fein, dann kann man es ja evtl. irgendwann mal zu 'Collections of
>> hello worlds' einreichen.
>
>'GNU - hello' habe ich mir angesehen. Es ist schrecklich.

GNU heißt: Wir haben keine Kunden, also auch keine Probleme mit Sicherheit.

Michael Holzt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
On 8 Jun 2000 08:07:21 GMT, Holger Veit <ve...@simi.gmd.de> wrote:
>- ANSI-C akzeptiert, im Gegensatz zu C++ (!), keine Deklarationen in der
> Mitte eines Bodies,

Stimmt, C++ mag das, weil man das da -leider- braucht. Habe ich mich
neulich erst drüber geärgert.

--
Gruss Michael

"Mit dem Koran ist es wie mit einer Brigitte-Diät: Jeder kennt sie, aber
keiner hält sich dran." (Originalzitat eines Lehrers)

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Christian Kahlo schrieb:

>
> Christian Kahlo wrote:
>
> > Ricardo Suarez wrote:
> > > > http://plan9.bell-labs.com/plan9/
> > > Schon getestet?
> > Ja, gerade dabei.
> > Habe gerade BSDI von meinem Laptop gefuckt,
> > um 300Meg fuer Plan9 freizukriegen ... *wuerg*
>
> Muellkrams.
>
> Bell Labs hat absolut miese Arbeit geleistet.
> Mir bringt Plan9 immer Fehlermeldungen, es kaeme
> mit meinem i8042 (das ist der Keyboardcontroller)
> nicht zurecht. Mit der Cirrus Logic Graphikkarte
> konnte es auch nix anfangen, so bin ich auf einer

Das ist schwach, wenn man bedenkt wie gut (oder schlecht) die Treiber-
Unterstützung bei diversen Linux-Distributionen bereits ist.

> sehr schlecht programmierten Shell gelandet ...

Beispiel bitte.

> Und auf meinem Thinkpad isses gleich abgeschmiert.

Ich bin mir nicht sicher ob es auch für solches konzipiert
wurde - aber du hast recht es _sollte_ laufen.

Kannst du noch ein paar genauere Angaben machen? (Sicherheits-
architektur, Filesystem, Oberfläche, X-Server, etc...)

Danke,

Michael Schmidt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
dan...@benzedrine.cx (Daniel Hartmeier) writes:

> RETURN VALUES
> The fputs() function returns 0 on success and EOF on error; puts() re-

> turns a nonnegative integer on success and EOF on error.

Hier die dritte Variante (ReHat 6.1/x86):

$ man fputs

RETURN VALUES
fputc(), putc() and putchar() return the character written as an
unsigned char cast to an int or EOF on error.

puts() and fputs() return a non - negative number on success, or
EOF on error.

--

Michael Schmidt

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Ricardo Suarez wrote:
>Kannst du noch ein paar genauere Angaben machen? (Sicherheits-
>architektur, Filesystem, Oberfläche, X-Server, etc...)

Alle Netzverbindungen sind verschlüsselt und authentifiziert.
Das Filesystem ist ein komplett lokaler Blick in einen globalen Namespace.
X gibt es nicht.

Steht alles im Thesenpapier.

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke schrieb:

>
> * Ricardo Suarez wrote:
> >Kannst du noch ein paar genauere Angaben machen? (Sicherheits-
> >architektur, Filesystem, Oberfläche, X-Server, etc...)
>
> Alle Netzverbindungen sind verschlüsselt und authentifiziert.

Das hört sich doch mal ganz nett an.

> Das Filesystem ist ein komplett lokaler Blick in einen globalen Namespace.

Hmmm...

> X gibt es nicht.

War mir fast klar - also wieder nichts für Büro-DAUs und Schulen.

> Steht alles im Thesenpapier.

Auf der Website? Und wenn schon, ich habe für mich festgestellt
das Paper von irgendwelchen Firmen meist bedeutend weniger taugen
als ein konkreter Bericht eines Nutzers.

Hans Bonfigt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke:
> * Hans Bonfigt:

> > Daher ganz klar fputs() oder fwrite().
> write(2). Keine Kompromisse.

Das ist mir noch rechtzeitig aufgefallen, bevor wir die CDs fuer die
Welt-Distribution in Auftrag gegeben haben. Warum schlugst DU 'fputs'
vor ? Spassvogel. Besser gesagt: "Agent Provokateur".


> >Was haeltst Du eigentlich von folgender Idee: Ein eigenes
> >'vsprintf()' "preparst" die Formatkontrollstrings und Parameterli-
> >sten und fuehrt bei einem Folgeaufruf den dynamisch generierten
> >Code aus. Probleme z.B. mit dynamisch veraenderlichen Formatkon-
> >trollstrings lasse ich bewusst aussen vor.
>
> Ein handcodierter noch furchtbarerer Performanceeinbruch mit neuen
> lustigen Sicherheitslücken.

Du bist immer so negativ. Hast Du Alternativvorschlaege ?


> Ja. Es muß auch wissen, was die Semantik von setjmp(3) und
> pthread_create(3) ist.

Danke verbindlichst. Mir gehen bestimmte 'Heuristic complaints'
bereits jetzt schon auf die Nerven.

> $ echo 'main(){int i=2,j=-1>>1;printf("%d + %d = %d\n",i,j,i+j);}' > t.c
> $ make t
> cc t.c -o t
> $ ./t
> 2 + 4294967295 = 1
> $ _

Argl. Ja, Herr Klemm. Wo doch jeder weiss, dass 640 K und ein
signed long fuer 'time()' bis in alle Ewigkeit reichen.

2^(32-1) - 1 Bytes ought to be enough for eyerystring.

p.s.: Was ergibt (int)(-1)>>1 ?
Hast Du den neuen 33-Bit-Rechner oder wieso kannst Du mit
einem signed int 4294967295 darstellen ?

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> X gibt es nicht.
>
>War mir fast klar - also wieder nichts für Büro-DAUs und Schulen.

X ist der fehlgeschlagene Versuch, GGI zu vermeiden.
Plan9 weiß, was es tut.

Graphische Obeflächen bedürfen keines X.

>> Steht alles im Thesenpapier.
>
>Auf der Website? Und wenn schon, ich habe für mich festgestellt
>das Paper von irgendwelchen Firmen meist bedeutend weniger taugen
>als ein konkreter Bericht eines Nutzers.

Du wirst lernen müssen. Viel lernen müsssen.

Hans Bonfigt

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke:

>
> Du wirst lernen müssen. Viel lernen müsssen.

Wenn er weiter so faul ist ...

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> * Ricardo Suarez wrote:
>> >Lutz Donnerhacke schrieb:
>> >> X gibt es nicht.
>> >
>> >War mir fast klar - also wieder nichts für Büro-DAUs und Schulen.
>>
>> X ist der fehlgeschlagene Versuch, GGI zu vermeiden.
>
>Entschuldige meine Unwissenheint aber... was st GGI?

Hardwareprimitiven unter Kernelaufsicht zu stellen.

>> Plan9 weiß, was es tut.
>

>So? Ach dann ist die untauglichkeit auf Thinkpads gewollt? -Achso.

Es ist leicht über die Dinge zu polemisieren, von denen man keine Ahnung hat.

>> Graphische Obeflächen bedürfen keines X.
>

>Korrekt.

Warum fragst Du dann so blöd?

>> >> Steht alles im Thesenpapier.
>> >
>> >Auf der Website? Und wenn schon, ich habe für mich festgestellt
>> >das Paper von irgendwelchen Firmen meist bedeutend weniger taugen
>> >als ein konkreter Bericht eines Nutzers.
>>

>> Du wirst lernen müssen. Viel lernen müsssen.
>

>Mal ganz im ernst, hälst du es tatsächlich für besser tonnenweise
>Doku vom Hersteller durchzusehen von Features die sowieso nicht
>tauglich/funktionsfähig sind, als einen Bericht/SelfmadeManual
>von jemand der tatsächlich _produktiv_ mit dem System gearbeitet hat?

Die Berichte der Entwickler von Plan9 sind Berichte von Leuten, die seit
1989 ausschließlich mit und auf Plan9 arbeiten. Du ziehst offenbar lieber
Berichte von Leuten vor, die keine Ahnung haben, und ihren ersten Eindruck
nach der Installation eines neuen Spiels abgeben.

Christian Kahlo

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to

Lutz Donnerhacke wrote:

> >Der Slogan stammt aus der Anfangsphase, Du solltest das
> >eigentlich wissen ...
> Ja.
> >... und '92 ist spaet dran ?
> Ja.

*gaehn*
Das zieht nicht. ;)

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Michael Schmidt quote:

> puts() and fputs() return a non - negative number on success, or EOF on
> error.

outputpointer = output;
for(;;) {
int result = puts(outputpointer);
if (EOF == result) { /* prevents '=' vs '==' bug */
if (EINTR == errno) /* dito */
continue;
perror("Can't output");
exit(-1);
}
if (0 > result)
printerror("Unspecified return code.");
exit(-2);
}
if (sizeof(outputpointer) < result) {
printerror("Output send to much data.");
exit(-2);
}
if (result < sizeof(outputpointer)) {
outputpointer += result;
continue;
}
break;
}

: puts() and fputs() return -1 on error.

for(;;) {
if (-1 == puts(output)) {
if (EINTR == errno) /* dito */
continue;
perror("Can't output");
exit(-1);
}
/* hope that everything is OK */
break;
}

...

C ist scheiße.

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke schrieb:
>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> X gibt es nicht.
> >
> >War mir fast klar - also wieder nichts für Büro-DAUs und Schulen.
>
> X ist der fehlgeschlagene Versuch, GGI zu vermeiden.

Entschuldige meine Unwissenheint aber... was st GGI?

> Plan9 weiß, was es tut.

So? Ach dann ist die untauglichkeit auf Thinkpads gewollt? -Achso.

> Graphische Obeflächen bedürfen keines X.

Korrekt.

> >> Steht alles im Thesenpapier.


> >
> >Auf der Website? Und wenn schon, ich habe für mich festgestellt
> >das Paper von irgendwelchen Firmen meist bedeutend weniger taugen
> >als ein konkreter Bericht eines Nutzers.
>
> Du wirst lernen müssen. Viel lernen müsssen.

Mal ganz im ernst, hälst du es tatsächlich für besser tonnenweise
Doku vom Hersteller durchzusehen von Features die sowieso nicht
tauglich/funktionsfähig sind, als einen Bericht/SelfmadeManual
von jemand der tatsächlich _produktiv_ mit dem System gearbeitet hat?

Ricardo

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Hans Bonfigt wrote:
>Lutz Donnerhacke:

>> >Was haeltst Du eigentlich von folgender Idee: Ein eigenes
>> >'vsprintf()' "preparst" die Formatkontrollstrings und Parameterli-
>> >sten und fuehrt bei einem Folgeaufruf den dynamisch generierten
>> >Code aus. Probleme z.B. mit dynamisch veraenderlichen Formatkon-
>> >trollstrings lasse ich bewusst aussen vor.
>>
>> Ein handcodierter noch furchtbarerer Performanceeinbruch mit neuen
>> lustigen Sicherheitslücken.
>
>Du bist immer so negativ. Hast Du Alternativvorschlaege ?

sys_vwrite(2) per Trap aufrufen.

>> $ echo 'main(){int i=2,j=-1>>1;printf("%d + %d = %d\n",i,j,i+j);}' > t.c
>> $ make t
>> cc t.c -o t
>> $ ./t
>> 2 + 4294967295 = 1
>> $ _
>
>Argl. Ja, Herr Klemm. Wo doch jeder weiss, dass 640 K und ein
>signed long fuer 'time()' bis in alle Ewigkeit reichen.

Mein Name ist Donnerhacke. Lutz Donnerhacke.
Herr Klemm ist ein Kollege, der die Schnauze von den Versuchen, Probleme
schönzureden, ebenfalls gestrichen voll hat.

>p.s.: Was ergibt (int)(-1)>>1 ?

Das hängt von der Rechnerarchitektur ab. Auf Zweierkomplementmaschinen ist
es das Wort #2#011...1#, auf Seperatesignedmaschinen und auf
Tribinärmaschinen ist es -0.

> Hast Du den neuen 33-Bit-Rechner oder wieso kannst Du mit einem signed
> int 4294967295 darstellen ?

Sorry. Ich hatte '%u + %u = %d' in meinem Programm. Cut & Waste Error.

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Lutz Donnerhacke schrieb:
>
> * Ricardo Suarez wrote:
> >Lutz Donnerhacke schrieb:
> >> * Ricardo Suarez wrote:
> >> >Lutz Donnerhacke schrieb:
> >> >> X gibt es nicht.
> >> >
> >> >War mir fast klar - also wieder nichts für Büro-DAUs und Schulen.
> >>
> >> X ist der fehlgeschlagene Versuch, GGI zu vermeiden.
> >
> >Entschuldige meine Unwissenheint aber... was st GGI?
>
> Hardwareprimitiven unter Kernelaufsicht zu stellen.

*lol* Ich bin mir trotzdem sicher, das es nicht die korrekte
Übersetzung dafür ist - aber OK.

> >> Plan9 weiß, was es tut.
> >
> >So? Ach dann ist die untauglichkeit auf Thinkpads gewollt? -Achso.
>

> Es ist leicht über die Dinge zu polemisieren, von denen man keine Ahnung hat.

Ja ist es - und dennoch...

> >> Graphische Obeflächen bedürfen keines X.
> >
> >Korrekt.
>

> Warum fragst Du dann so blöd?

Weil eine Oberfläche auf X basierend gut wäre, da zumindest eine nahezu
ständige Aktualsierung stattfindet.

> >> >> Steht alles im Thesenpapier.
> >> >
> >> >Auf der Website? Und wenn schon, ich habe für mich festgestellt
> >> >das Paper von irgendwelchen Firmen meist bedeutend weniger taugen
> >> >als ein konkreter Bericht eines Nutzers.
> >>
> >> Du wirst lernen müssen. Viel lernen müsssen.
> >
> >Mal ganz im ernst, hälst du es tatsächlich für besser tonnenweise
> >Doku vom Hersteller durchzusehen von Features die sowieso nicht
> >tauglich/funktionsfähig sind, als einen Bericht/SelfmadeManual
> >von jemand der tatsächlich _produktiv_ mit dem System gearbeitet hat?
>

> Die Berichte der Entwickler von Plan9 sind Berichte von Leuten, die seit
> 1989 ausschließlich mit und auf Plan9 arbeiten. Du ziehst offenbar lieber
> Berichte von Leuten vor, die keine Ahnung haben, und ihren ersten Eindruck

Nein, aber dem Entwickler gegenüber sollte man eine Gewisse Skepsis
entgegen-
bringen - da es bereits genug faule Tomaten auf dem OS-Markt gibt.

> nach der Installation eines neuen Spiels abgeben.

Wenn das Spiel das Produkt der Firma darstellt und auf dem System
entwickelt
wurde - warum nicht.

Ricardo Suarez

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Hans Bonfigt schrieb:
>
> Lutz Donnerhacke:

> >
> > Du wirst lernen müssen. Viel lernen müsssen.
>
> Wenn er weiter so faul ist ...

"Ein Lern-Prozess findet dann statt, wenn der Lernende
beginnt fragen zu stellen..." - Siegmund Freud

Was also mache ich deiner Meinung nach falsch?

Andreas Bogk

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
Christian Kahlo <chri...@empire.weimar.thur.de> writes:

> > > Vergiss die Stiefellecker, und komm zu uns.

> > Nein, zu uns!
> Wollen wir pokern ?

Wenn du das Protokoll aus dem Schneier implementierst, gerne doch.

> Oder erledigen wir das wie echte Maenner(tm) draussen vor der Tuer ?

Du meinst, wir sollten Kartellabsprachen treffen?

Gruss Andreas

--
"Anyone need a DVD decrypter for Linux?
dig @138.195.138.195 goret.org. axfr | grep '^c..\..*A' | sort \
| cut -b5-36 | perl -e 'while(<>){print pack("H32",$_)}' | gzip -d"
-- James Brister

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Christian Kahlo wrote:
>Ricardo Suarez wrote:
>> > sehr schlecht programmierten Shell gelandet ...
>> Beispiel bitte.
>
>Backspace endet nicht am Prompt, sondern loescht munter weiter.

Das ist ein erreichtes Designziel.

>Cursortasten resultieren nicht in den entsprechenden ANSI/VT Sequenzen.

Auch das ist ein erreichtes Designziel.

>Zusatztools, wie ls gibt es nur in kastrierter Form, d.h. immer vertikales
>listing, keine -a option, Ausgabe bei -l mangelhaft.

Die meisten Tools existieren als Shellscript (z.B. ps) oder als portabler
C-Code von ca. 50 bis 100 Zeilen Länge.

BTW: Was fehlt denn? Bist Du sicher, daß diese Angaben überhaupt noch Sinn
machen würden?

>Simple Dinge wie "more" existieren nicht. cat ist nicht cat, sondern das,
>was unter DOS "type" ist.

Du weißt, was ein Handbuch ist?

+---------------------+
| Plan9 ist KEIN Unix |
+---------------------+

>Backspace funktioniert nicht richtig, d.h. "m\bcat" resultiert nicht
>in "cat", sondern in "m\bcat", obwohl auf der console das "m"
>geloescht ist.

Vor oder nach der Verarbeitung der Eingabe?

>Wer solche einfachen Dinge eines halbwegs bedienbaren UI nicht
>gebacken bekommt, ist einfach nur unfaehig.

Wer meint, er könne etwas, was aussieht, als könne es ein Unix sein, dies
aber per Designziel nicht sein soll, so benutzt, wie ein Unix, sollte sich
an die eigne Nase fassen.

Oder beschwerst Du Dich in einem Auto auch darüber, daß die Pedale nicht wie
beim Fahrrad funktionieren?

[Hardware]
>kennt. Das ist schon nicht mehr unfaehig, das faellt schon unter
>beleidigend.

Ansichtssache. Pike und Co. haben besseres zu tun, als Treiber nachzubauen.
Die erste Version von Plan9, die mir in die Hände viel lief auf genau drei
Systemen, die exakte der Hardware von Pike, Kerninham und Co. entsprechen
mußte.

Auch Linus hat nicht alle Treiber von Hand ersonnen.

>Es heisst, es liefe auf der x86 AT Architektur.

Nein.

>Christ "*BSDI ruckzuck wieder installiert*" ian

Darüber reden wir nochmal.

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Ricardo Suarez wrote:
>Lutz Donnerhacke schrieb:
>> >> Graphische Obeflächen bedürfen keines X.
>> >
>> >Korrekt.
>>
>> Warum fragst Du dann so blöd?
>
>Weil eine Oberfläche auf X basierend gut wäre, da zumindest eine nahezu
>ständige Aktualsierung stattfindet.

Entschuldige, aber diese Aussage ist Schwachsinn. 8½ funktioniert prima.

>> Die Berichte der Entwickler von Plan9 sind Berichte von Leuten, die seit
>> 1989 ausschließlich mit und auf Plan9 arbeiten. Du ziehst offenbar lieber
>> Berichte von Leuten vor, die keine Ahnung haben, und ihren ersten Eindruck
>
>Nein, aber dem Entwickler gegenüber sollte man eine Gewisse Skepsis

>entgegenbringen - da es bereits genug faule Tomaten auf dem OS-Markt gibt.

Niemand ist gezwungen, Plan9 einzusetzen.
Wenn jemand meint, er müsse unbedingt alles installieren, dessen
Thesenpapier mir gefällt, dann soll er bitte nicht darüber schimpfen.

Lutz Donnerhacke

unread,
Jun 9, 2000, 3:00:00 AM6/9/00
to
* Ricardo Suarez wrote:
>Was also mache ich deiner Meinung nach falsch?

Du liest Dir Grundlagen nicht an.

It is loading more messages.
0 new messages