Seite 2 von 2

Re: "prozess-killer"

Verfasst: Donnerstag 17. Mai 2012, 00:06
von problembär
BlackJack hat geschrieben:@problembär: So ein Skript sollte in der Tat nicht nötig sein, und ist es normalerweise auch nicht. Auch bei Dir wahrscheinlich nicht, aber Du machst ja so gerne Sachen von denen Du keine Ahnung hast.
Das soll wohl mal wieder beleidigend sein und trifft doch wieder überhaupt nicht. Denn das machen wir alle. Du klebst ein Pflaster und bist kein Arzt (vielleicht wäre stattdessen eine Tetanus-Spritze erforderlich gewesen?). Du unterschreibst einen Mietvertrag und bist kein Anwalt. Man kann nicht alles wissen. Ich fummle an meinem Computersystem, obwohl ich kein Informatiker bin (sondern Anwalt). Dazu ist Linux schließlich offen. Das ist so erwünscht, selbst wenn man die Interna von KDE usw. nicht alle kennen sollte.
Unter Qt3 konnte ich immerhin mit QtDesigner und PyQt einfache graphische Oberflächen erstellen und auch z.B. andere Programme mit dcop steuern. Damit wußte ich sicher mehr über Qt/KDE als 95% der Nutzer. In KDE4 muß ich mich erst einarbeiten, aber am Ende wird's damit nicht anders sein.
Das sind Features und keine Bugs.
Das sagt Microsoft auch immer. Tatsächlich sind die Linux-Baustellen (wie KDE4) alles andere als Bug-frei. Das weiß doch jeder. Und ist auch völlig normal für freie Software (wenn ein Unternehmen Programme in diesem Zustand am Markt zum Kauf anbieten würde, wär's was anderes.) Wirklich fehlerfrei sind nur solche seit ewigen Zeiten getesteten relativ einfachen Tools wie z.B. 'grep'.
BlackJack hat geschrieben:Auch bei `udevd` ist es völlig normal, dass mehrere Worker-Prozesse laufen.
Das scheint inzwischen so zu sein. Würde ich aber nicht so machen. In der Prozeßliste sieht's nämlich nach schwerem Ausnahmefehler aus. Bestimmt könnte man das auch in nur einem Programm/Prozeß machen, in dem dann eben die entsprechende Funktion mehrfach aufgerufen wird.

@webspider: Um von einer "kleinen" Distribution eine eigene mittlerer Größe aufzubauen, fehlt mir leider die Zeit.
Da ist eine "große" schon bequemer. Man kann bei OpenSuse aber (seit langem) sehr viele Pakete herausnehmen und hat dadurch recht schnell ein ähnliches Ergebnis. Es gibt dort z.B. auch eine Installationsoption "Minimales graphisches System". Das ist recht praktisch.

Re: "prozess-killer"

Verfasst: Donnerstag 17. Mai 2012, 01:08
von BlackJack
@problembär: Das sollte nicht beleidigent sein oder Dich treffen, sondern war einfach eine sachliche Feststellung und die trifft im Sinne von „ist zutreffend”.

Es ist sicher nicht erwünscht, das jemand Prozesse abschiesst von denen er nicht abschätzen kann ob und wofür die da sind, und ob und welchen Schaden das letztlich anrichten kann. Das ist noch nicht einmal eine Nebenerscheinung davon das Linux offen ist, denn genau so einen Blödsinn kann man beispielsweise unter Windows auch machen. Nur weil man etwas machen kann, heisst das nicht dass es erwünscht ist. Man kann zum Beispiel in den Grenzen der Python-Syntax Programme schreiben, die aussehen als wären sie BASIC oder C oder Java oder…

Jeder weiss, dass grössere Softwaresysteme, egal ob offen oder geschlossen, in der Regel nicht fehlerfrei sind. Es werden auf dem Markt auch kommerzielle Programme zum Kauf angeboten die teilweise echt derbe Fehler enthalten und auch über Versionen hinweg behalten, was sich die meisten OpenSource Projekte nicht erlauben würden. Was hat das damit zu tun, dass Du Prozesse abschiesst von denen Du gar nicht weisst, ob sie ungewollt laufen und was sie jeweils im Detail tun; mit der Gefahr dem System damit wichtige Hintergrungprozesse zu beenden?

Natürlich würdest Du das mit `udevd` nicht so machen — weil Du gar nicht in der Lage wärst so etwas zu programmieren. Wenn das in der Prozessliste „nach schwerem Ausnahmefehler” aussieht, hat der Betrachter keine Ahnung von der Materie, und sollte vielleicht nicht dran herumdoktorn. Es gibt gute technische Argumente Daemons so zu programmieren. `udevd` ist da auch nicht der einzige Daemon. Das „forken” eine neuen Prozesses hat unter Linux sehr wenig Kosten was zum Beispiel den Speicherverbrauch angeht. Dafür gewinnt ein Daemon einen unabhängigen Kindprozess der, egal was der anstellt, oder die beliebigen Programme, die `udevd` starten kann, dem Elterprozess nichts anhaben können. So kann man dem urpsrünglichen Deamon-Prozess weder den verwendeten Arbeitsspeicher „verwüsten”, noch ihn irgendwie blockieren. Andererseits kann er seine Kindprozesse kontrollieren, zum Beispiel ob sie blockieren oder anfangen übermässig viel Speicher zu verbrauchen und sie dann zum Beispiel von sich aus beenden bevor das zum Problem für das System wird. Oder wenn sie abstürzen, können sie neu gestartet werden.

Re: "prozess-killer"

Verfasst: Donnerstag 17. Mai 2012, 18:36
von Dav1d
lunar hat geschrieben:@webspider: Um udev kommt keine moderne Linux-Distribution herum, auch nicht Arch.
Es ginge (mit Archlinux), aber da wären wir wieder bei den Hacks :twisted:

Re: "prozess-killer"

Verfasst: Donnerstag 17. Mai 2012, 19:06
von lunar
@Dav1d: Das glaube ich kaum... jedenfalls, wenn man ein modernes System zum Maßstab nimmt, denn dort hängt die gesamte Hardwareverwaltung, von X.org bis hin zu DeviceKit, an udev.

Re: "prozess-killer"

Verfasst: Freitag 18. Mai 2012, 08:00
von Leonidas
Aber, aber, aber.... wir können doch Devices mit mount mounten, so hamma das immer schon gemacht, und X.org doch mit xorg.conf konfigurieren (da muss man aber etwas aufpassen mit den Einstellungen um den Monitor nicht kaputtzumachen).

Ok, auf welchen 27C3 Talk beziehe ich mich? Na?

Re: "prozess-killer"

Verfasst: Freitag 18. Mai 2012, 08:52
von BlackJack
@Leonidas: Verdammt ich suche jetzt schon seit einer Ewigkeit die horizontalen und vertikalen Frequenzwerte von diesem LCD-Monitor um `HorizSync` und `VertRefresh` in die ``xorg.conf`` eintragen zu können um dann an den `Modeline`-Einträgen rumspielen zu können um den Spagat zwischen maximaler Bildqualität und -wiederholrate und dem grillen des Monitors hinlegen zu können. :-D

Re: "prozess-killer"

Verfasst: Samstag 19. Mai 2012, 10:44
von deets
problembär hat geschrieben:Ich fummle an meinem Computersystem, obwohl ich kein Informatiker bin (sondern Anwalt).
Du bist Anwalt? Dann wird mir ein bisschen mulmig, wenn ich mich an deine Einlassungen zum Thema "Meinungsfreiheit" erinnere... deine offensichtliche Unfaehigkeit, das Recht auf freie Meinungsausserung im allgemeinen wie im Kontext dieses Forums korrekt zu bewerten - da muss ich mich schon schwer wundern. Nun gut, weder als Entwickler noch als Anwalt muss ich dich anstellen... aber komisch finde ich es trotzdem.

Re: "prozess-killer"

Verfasst: Samstag 19. Mai 2012, 14:03
von lunar
@deets: Nun, vielleicht tendieren Anwälte ja berufsbedingt dazu, die Meinungsfreiheit im Speziellen sowie die Wahrheit im Allgemeinen als besonderes und ausschließliches Vorrecht der eigenen Partei zu betrachten... das würde so manches erklären ;)

Re: "prozess-killer"

Verfasst: Samstag 19. Mai 2012, 16:39
von Hyperion
Ich persönlich finde es schade, dass man von problembär niemals (oder vorsichtig "selten") eine Form von Erkenntnisgewinn zu hören und zu spüren bekommt. BlackJack hat sich ja wirklich Mühe gegeben, ihm etwas zu *erklären*. Wieso kommt da niemals ein "Ah... jetzt habe ich verstanden, wieso das so ist und gebe zu, mich bisher geirrt zu haben"? Wenn ich mal drüber nachdenke, wie oft ich falsche oder schlechte Vorstellungen von Dingen hatte, die durch Beiträge in diesem Forum korrigiert wurden... Solch einen Lerneffekt vermisse ich ich bei ihm; das ist das eigentlich nervige imho.

Wissen und Kennen muss man nicht alles; aber man sollte zumindest die Bereitschaft haben und die Fähigkeit besitzen, seinen Horizont zu erweitern. Wenn man dazu nicht bereit ist, sehe ich irgend wie auch keinen Sinn darin, sich in einem Forum zu engagieren...

Re: "prozess-killer"

Verfasst: Sonntag 20. Mai 2012, 09:55
von deets
@Hyperion

Er glaubt ja, er *hilft* anderen. Das ist sein Grund. Nicht lernen, lehren... dass das eine ohne das andere mau ist, ist im halt wurscht.

Re: "prozess-killer"

Verfasst: Montag 21. Mai 2012, 18:21
von problembär
Hyperion hat geschrieben:Ich persönlich finde es schade, dass man von problembär niemals (oder vorsichtig "selten") eine Form von Erkenntnisgewinn zu hören und zu spüren bekommt. BlackJack hat sich ja wirklich Mühe gegeben, ihm etwas zu *erklären*. Wieso kommt da niemals ein "Ah... jetzt habe ich verstanden, wieso das so ist und gebe zu, mich bisher geirrt zu haben"?
Oh, das hat es schon oft gegeben. Das, was Du verlangst, habe ich hier auch schon oft gesagt.
Zuletzt habe ich z.B. von BlackJack gelernt, daß es ein Modul "calendar" gibt, das unter anderem eine praktische Funktion ".isleap()" hat. Ich muß ja nicht jedesmal ausdrücklich posten, wenn ich mal was richtiges von euch übernehme.
Dein Vorwurf trifft also ebenfalls nicht zu.

Es gibt aber Fälle, in denen ihr darauf besteht, daß ich was neu lerne, was ich schon kann, und was eben nicht falsch ist. Über

Code: Alles auswählen

for i in range(len(alist)):
    alist[i] = neuerwert
haben wir schon oft geredet. Der Python-Interpreter findet's ok und wirft keinen Error, und ich halte es nach wie vor für die schnellste, praktischste, und modulfreiste Methode, das zu erreichen, was man will. Hier sehe ich überhaupt nicht ein, eine so nützliche Konstruktion durch etwas Komplizierteres und schlechter Lesbares zu ersetzen, nur weil ihr darauf besteht. Leider betreffen die meisten eurer "Empfehlungen" solche Fälle.

Übrigens geht in Perl sogar

Code: Alles auswählen

#!/usr/bin/perl

use warnings;
use strict;

my @a = ("a", "b", "c");
my $i;

foreach $i (@a) {
    $i = "x";
}

foreach $i (@a) {
    print "$i\n";
}
In Python wäre das:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

a = ["a", "b", "c"]

for i in a:
    i = "x"

for i in a:
    print i
Und Ausgabe wäre dann nur noch dreimal "x".
Dieses Verhalten von Perl geht sogar mir zu weit, weil es nicht offensichtlich ist.
Aber soviel verlange ich ja noch nichtmal.

Ich gebe ja zu, daß BlackJack u.a. nach meinem Eindruck ziemlich gute Programmierer sind. Z.B. wenn BlackJack Assembler-Code postet, bin ich davon recht beeindruckt, weil das meine Möglichkeiten durchaus übersteigt. Das ändert aber nichts daran, daß die Gesprächskultur hier häufig verbesserungsbedürftig ist.

@deets: Daß ich Anwalt bin, lasse ich ungern durchscheinen. Wir diskutieren hier ja normalerweise keine juristischen Probleme (und dazu hab' ich auch keine Lust, weil ich das beruflich schon genug tue). Bin halt provoziert worden.
Wenn Du's genau wissen willst: Die Meinungsäußerungsfreiheit (Art. 5 GG) ist als Grundrecht zunächst ein Abwehrrecht gegen den Staat. Man kann es also normalerweise nicht unmittelbar zwischen Privaten geltend machen. Es strahlt in diese privatrechtlichen Verhältnisse nur hinein, sog. "Drittwirkung der Grundrechte". Zu beachten wäre z.B. jedoch der Beleidigungsstraftatbestand, § 185 StGB. Wird aber nur auf Antrag verfolgt. Meistens verfolgen Staatsanwälte das nicht, sondern verweisen auf das Privatklageverfahren.
Materiellrechtlich muß man auch § 193 StGB, "Wahrnehmung berechtigter Interessen" beachten. So darf ein Lehrer z.B. äußern, daß die Arbeit seines Schülers schlecht war, ohne bestraft zu werden. In diesem Bereich bewegen wir uns wohl.
Zu beachten sind hier ferner die Forenregeln. Ich glaube nicht, daß die jemand verletzt hat, ich jedenfalls nicht.
Doch wie soll man all diese Einzelheiten kurz und schnell einem juristischen Laien erklären? Von der Meinungsäußerungsfreiheit hat er jedenfalls mal was gehört.
Jedenfalls, wenn ich

Code: Alles auswählen

for i in range(len(alist)):
    alist[i] = neuerwert
benutzen möchte, könnt' ihr mir das nicht verbieten.
Und wenn ich das anderen empfehle, es auch zu benutzen, weil ich es für praktisch und effizient halte, könnt' ihr mir das auch nicht verbieten (ihr könnt lediglich sagen, daß ihr das anders seht, darüber kann man dann sachlich diskutieren und sich gegebenenfalls auf etwas einigen oder auch nicht).
Das nenne ich dann "Meinungsäußerungsfreiheit", obwohl diese wie gesagt eigentlich ein Abwehrrecht gegen den Staat ist.
Es ist nur so, daß wir hier ohne geschäftliche Interessen hobbymäßig zusammenkommen, uns als "Sportsfreunde" Duzen und hier also eigentlich ein freundliches und entspanntes Klima herrschen sollte, in dem einem keine speziellen Code-Konstruktionen aufgezwungen werden und in dem man schon gar nicht von gleich mehreren Seiten derart angefeindet wird, daß man sich veranlasst sieht, sich auf seine Rechte zu berufen.

Re: "prozess-killer"

Verfasst: Montag 21. Mai 2012, 18:43
von EyDu
problembär hat geschrieben:Es gibt aber Fälle, in denen ihr darauf besteht, daß ich was neu lerne, was ich schon kann, und was eben nicht falsch ist. Über

Code: Alles auswählen

for i in range(len(alist)):
    alist[i] = neuerwert
haben wir schon oft geredet. Der Python-Interpreter findet's ok und wirft keinen Error, und ich halte es nach wie vor für die schnellste, praktischste, und modulfreiste Methode, das zu erreichen, was man will.
Mal davon abgesehen, dass ``enumerate`` lesbarer, schneller, praktischer und ebenfalls modulfrei ist: Vielleicht solltest du uns, welch ein abgeschlossenens Informatikstudium haben, mehrere Jahre in diesem Bereich arbeiten oder in dem Gebiet eine Doktorarbeit schreiben, einfach glauben, dass du falsch liegst. Es ist durchaus möglich, dass du dich als Anwalt nicht ganz so viel mit Code beschäftigst wie einige andere hier ;-)
problembär hat geschrieben:Daß ich Anwalt bin, lasse ich ungern durchscheinen. Wir diskutieren hier ja normalerweise keine juristischen Probleme.
Dann ist das genau die richtige Stelle, um mal das Trennungs- und Abstraktionsprinzip in den Raum zu werfen. Nicht weil es relevant ist, sondern weil ich es kann :D

Re: "prozess-killer"

Verfasst: Montag 21. Mai 2012, 18:53
von BlackJack
@problembär: Die Schleife ist IMHO nicht einfacher als

Code: Alles auswählen

alist[:] = ['x'] * len(alist)
Schneller ist sie sicher auch nicht.

Re: "prozess-killer"

Verfasst: Montag 21. Mai 2012, 19:02
von lunar
@problembär: Stelle Dir einmal vor, Du befindest Dich in einem Rechtsforum, in welchem Deine Fachkompetenz ob Deines Berufs unbestritten ist. Nun kommt in jenem Forum ein offensichtlicher Laie daher, stellt allerhand allenfalls halbwahre, meist aber offensichtlich falsche Behauptungen über verschiedene juristische Themen aus. Du widersprichst diesen Behauptungen mit unbestrittener fachlicher Kompetenz, allerdings mitunter eher knapp, da Deine Freizeit zu knapp oder Dir selbst zu schade ist, um kompliziertere rechtliche Materie in mehreren Beiträgen eingehend und detailliert zu untersuchen, und Deine Einwände mit zahlreichen Argumenten zu untermauern. Doch ungeachtet Deiner Einwände hält der andere seine irregeleiteten persönlichen Ansichten aufrecht, und verteidigt sich mangels fachlicher Kompetenz mit kruden Argumenten und begibt sich auf einem Kreuzzug für die Freiheit der juristischen Auslegung.

Jetzt übertrage dieses Beispiel mit vertauschten Rollen auf dieses Forum, reflektiere dabei Dein eigenes Verhalten, und beurteile unseres vor diesem Hintergrund. Merkst Du was?

Re: "prozess-killer"

Verfasst: Montag 21. Mai 2012, 19:38
von Hyperion
problembär hat geschrieben: Es gibt aber Fälle, in denen ihr darauf besteht, daß ich was neu lerne, was ich schon kann, und was eben nicht falsch ist.
Manchmal gibt es im Leben mehr als nur falsch oder richtig. Es gibt auch z.B. idiomatisch gut oder schlecht. Und genau darum geht es z.B. bei dem so oft zitierten Iterieren über Elemente eines Containers. Insofern hast Du eben einen idiomatisch schlechten Weg gelernt... offenbar aber noch nicht begriffen, wieso das schlecht ist und wieso man es besser machen kann bzw. wieso das besser ist. Selbst wenn Du es für Dich - wieso auch immer? - ablehnst, da Du es immer und immer wieder anderen empfiehlst, machst Du uns anderen Helfern das Leben schwerer, da wir dann immer wieder dagegen arbeiten müssen. Einfacher wäre es, wenn Du u.a. dieses Idiom endlich mal akzeptiertest und selber benutztest.

lunar hat Dein Verhalten aber schön dargestellt - vielleicht hilft das, Dir klar zu machen, was uns daran so stört.

Re: "prozess-killer"

Verfasst: Dienstag 22. Mai 2012, 08:27
von deets
@problembaer

Ich fasse deine Ausfuehrungen zum GG mal zusammen: du kannst *hier* dein Recht auf freie Meinungsaeusserung nicht einklagen, bestenfalls wegen Beleidigung oder aehnlichem gegen Mitglieder vorgehen.

Was aber nicht das Problem hier ist. Sondern einfach die Tatsache, dass deine Programmierkuenste beschraenkt sind. Und wir, die wir das besser koennen, Anfaenger davor warnen, die von dir vorgestellten Loesungen als beispielhaft zu nehmen. Sondern sie besser zu ignorieren. Auf verargumentierter Basis.

Insofern ist mir immer noch schleierhaft, wieso die Meinungsfreiheit anfuehrst, wenn dir hier widersprochen wird. Aber das wird wohl genauso dein Geheimnis bleiben, wie deine Weigerung, Iteration als Grundprinzip der Sprache Python zu verstehen.

Re: "prozess-killer"

Verfasst: Dienstag 22. Mai 2012, 09:47
von jens
problembär hat geschrieben:Jedenfalls, wenn ich

Code: Alles auswählen

for i in range(len(alist)):
    alist[i] = neuerwert
benutzen möchte, könnt' ihr mir das nicht verbieten.
Und wenn ich das anderen empfehle, es auch zu benutzen, weil ich es für praktisch und effizient halte, könnt' ihr mir das auch nicht verbieten (ihr könnt lediglich sagen, daß ihr das anders seht, darüber kann man dann sachlich diskutieren und sich gegebenenfalls auf etwas einigen oder auch nicht).
Will nur kurz sagen, das ich den anderen Zustimme. Diese Iteration ist grausig und sieht einfach nach "Anfänger, der es nicht besser weiß" aus...

Re: "prozess-killer"

Verfasst: Freitag 1. Juni 2012, 13:45
von dark-lion
ok ich glaube ich werde es dann eher lassen :D