Archiv verlassen und diese Seite im Standarddesign anzeigen : 0x12 = 18??? - Das (Computer-)Geek-Quiz
dead_orc
04.04.2008, 12:18
Die Idee hierzu kam mir grade bei den Überlegungen, was im Progforum (http://www.multimediaxis.de/forumdisplay.php?f=91) an Aktionen gestartet werden könnte. Nachdem ich etwas überlegt habe, ob ich den Thread jetzt dort oder hier aufmache, habe ich mich für hier entschieden, da ich die Fragen nicht nur auf das Programmiertechnische beschränken wollte (was teilweise auch ins Webdev gehören würde), daher einfach mal hier. Wenn sich herausstellt, dass er besser ins Progforum passt, oder es explizit gewünscht wird, kann ich ihn natürlich auch dahin verschieben.
Wie das ganze abläuft dürfte ja klar sein: Jemand stellt eine Frage, jemand anders beantwortet sie und darf nach Bestätigung durch den Fragesteller selbst eine Frage stellen. Wenn 3 Tage lang keine Antwort auf eine Frage kommt, ist ne Freirunde, wenn einen Tag lang keine Bestätigung für eine Antwort kommt, ist der erste, der eine unbestätigte Antwort gebracht hat, an der Reihe. (Die Regeln entsprechen nicht 100%ig dem, was in anderen Foren angewandt wird, aber ich find sie so besser. Auch das ist aber natürlich nicht endgültig ^^)
Fragen können aus allen Bereichen sein, die euch so im Computer-Bereich und - da ich das ganze Geek-Quiz genannt habe - vielleicht auch Mathematik-Bereich einfallen.
Ich bin mir nicht sicher, wie viel Erfolg dieser Thread haben wird, da ich es mir u.U. relativ schwer vorstelle, passende Fragen zu finden, aber ein Versuch ist es denke ich wert ^^
Kritik zu allem bis hier erwünscht.
Antwort zu folgender (relativ einfachen) Einstiegsfrage erwünscht:
Wie viele Byte sind ein Mbit?
Noch eine Anmerkung: Es müssen IMO nicht nur so einfach Fragen sein, ein Bool oder Int als Antwort erwarten. Auch etwas komplexere Fragen könnte ich mir vorstellen, wenn sie keinen seitenlangen Artikel als Antwort erfordern. ^^
Furthermore: Natürlich kann man vieles nachgucken, sei es durch ein Stück Programmcode oder durch Wikipedia. Ich möchte das zwar nicht verbieten, aber jeder sollte sich erstmal überlegen, ob das der Sinn eines solchen Quiz ist ^^'
Underserial
04.04.2008, 12:37
1 MB = 1024 KB
und dann noch mal 1000 =)
also 1024000 Byte
Geek-Quiz!
Eine tolle Idee. :O
Zur Frage:
125000!
@Underserial: warum auch immer du mal mit 1000 und mal mit 1024 rechnest...
M = 1000²
Mi = 1024²
Daher 1 Mbit = 1000000 bit = 125000 byte
Edit: Mist, Invidious war schneller, weil ich erst den Einleitungstext gelesen hab...
Underserial
04.04.2008, 12:44
@Underserial: warum auch immer du mal mit 1000 und mal mit 1024 rechnest...
M = 1000²
Mi = 1024²
Daher 1 Mbit = 1000000 bit = 125000 byte
Edit: Mist, Invidious war schneller, weil ich erst den Einleitungstext gelesen hab...
aber das stimmt schon:
1 KB entsprechen 1024 Byte
1 MB entsprechen 1024 KB
1 GB enstprechen 1024 MB
@lösung: hatte mich verlesen ... mist. :(
dead_orc
04.04.2008, 12:46
Geek-Quiz!
Eine tolle Idee. :O
Zur Frage:
125000!
Ich könnte jetzt kleinlich sein, und sagen, dass deine Antwort durch das ! am Schluss falsch ist, weil 125000! sicherlich viel zu viel ist (mein Computer hat alleine 2 Minuten gebraucht, um die Zahl auszurechnen, und anzeigen dauert nochmal genau so lang ;)), aber ich sag mal, dass die Antwort stimmt :p
Daher 1 Mbit = 1000000 bit = 125000 byte
Edit: Mist, Invidious war schneller, weil ich erst den Einleitungstext gelesen hab...
Tja, that's life :P Aber danke, dass du dir die Mühe gemacht hast, meinen mühsam zusammengefrickelten Text zu lesen. Steht zwar eh nix wichtiges drin, aber egal :D
Stimmen tuts natürlich auch.
Nein, das war natürlich nicht als Fakultät gemeint, ich habe die Antwort nur laut "rausposaunen" wollen.
Nächste Frage:
Welches ist zur Zeit die aktuellste Version des .NET-Frameworks?
Edit: 2 Minuten? Meine C#-Anwendung war sofort nach Öffnen des Programms fertig und warf mir "+unendlich" entgegen. ._.
Muss abgeben, mir fällt allen Ernstes keine gute Frage ein o0
dead_orc
04.04.2008, 13:04
Wie heißt der sysvinit-Ersatz, den Ubuntu verwendet?
upstart
EDIT: Ich sollte mir angewöhnen, ebenfalls irgendeine Beschreibung zu posten, sonst gehts immer so weiter dass die erste richtige Antwort in 2 Minuten erfolgt ;P
dead_orc
04.04.2008, 13:06
Richtig.
GOTO 10
Edit: Wenn du schon keine Frage hast, kannste wenigstens noch dazuschreiben, wodurch er sich von sysvinit unterscheidet :p
kA, außer in der Geschwindigkeit, was ich auch nur vom Hörensagen weiß^^.
Frage:
Wie sieht ein Brainfuck-Quelltext für ein "Hello World"-Programm aus? (Variationen wie "Hallo Welt!" sind natürlich erlaubt...)
Underserial
04.04.2008, 13:18
++++++++++++[>++++++< -]>.
>++++++[>+++++< -]>
[-< <+>>]< <-.
+++++++..+++.>+++++[>+< -]>>
++++[>++++++++< -]>.
>++++++++[>+++++++++++< -]>-.
+++++[>++++< -]>-.
+++.——.——–.
>+++++[>++++++< -]>+++.
dead_orc
04.04.2008, 13:25
Dein Editor hat leider ein paar Zeichen umgewandelt, nämlich --- in — und -- in –. Hier das richtige für alle (ich würd trotzdem sagen, es ist sein Punkt):
++++++++++++[>++++++< -]>.
>++++++[>+++++< -]>
[-< <+>>]< <-.
+++++++..+++.>+++++[>+< -]>>
++++[>++++++++< -]>.
>++++++++[>+++++++++++< -]>-.
+++++[>++++< -]>-.
+++.------.--------.
>+++++[>++++++< -]>+++.
Ok, Underserial darf weitermachen.
Alternativer Lösungsvorschlag:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++.
+++++++.
.
+++.
-------------------------------------------------------------------------------.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++.
++++++++++++++++++++++++.
+++.
------.
--------.
-------------------------------------------------------------------.
Erzeugt mit folgendem selbstgeschriebenen Script:
<?php
$str = $argv[1];
$c = 0; // current char
$n = 0; // next char
$pos = 0;
for($pos = 0; $pos < strlen($str); $pos++)
{
$n = ord(substr($str, $pos, 1));
if($c < $n)
{
for(; $c < $n; $c++)
{
echo '+';
}
}
elseif($c > $n)
{
for(; $c > $n; $c--)
{
echo '-';
}
}
echo '.';
}
?>
Underserial
04.04.2008, 13:38
Da Mathe auch ein Thema ist hier mal ein paar kleine Fragen:
Wir befinden uns in der Wahrscheinlichkeitsrechnung....
Wie hoch ist die Wahrscheinlichkeit eines Erfolges, bei einem Einsatz von einem Euro in folgenden Verhältnissen:
1 zu 2
1 zu 3
3 zu 1
2 zu 4
und ein kleiner Tipp das erste ist nicht 50%
dead_orc
04.04.2008, 13:42
Da Mathe auch ein Thema ist hier mal ein paar kleine Fragen:
Wir befinden uns in der Wahrscheinlichkeitsrechnung....
Wie hoch ist die Wahrscheinlichkeit eines Erfolges, bei einem Einsatz von einem Euro in folgenden Verhältnissen:
1 zu 2
1 zu 3
3 zu 1
2 zu 4
und ein kleiner Tipp das erste ist nicht 50%
Irgendwie versteh ich die Frage nicht so ganz, glaube ich.
Erstes Verhältnis: 1/3 oder auch ~33%
Zweites Verhältnis: 1/4 oder auch 25%
Drittes Verhältnis: 3/4 oder auch 75%
Viertes Verhältnis: 2/6 bzw. 1/3 oder auch ~33%
drunken monkey
04.04.2008, 13:44
Ist nicht egal, wieviel man setzt? o_O'
1 zu 2: 1/3
1 zu 3: 1/4
3 zu 1: 3/4
2 zu 4: 1/3
Edit: Brains! >__<''
Underserial
04.04.2008, 13:51
Erklärung:
1 zu 2 = 33%
1 zu 3 = 25%
3 zu 1 = 75%
2 zu 4 = 33%
die Rechnung ist wie folgt man muss 1 EUR setzten damit ergibt sich folgende Rechnung:
Bsp: 1 zu 2
(1 / 1 + 2)* 100
@drunken monkey:
Leider nicht. =)
@dead_orc:
Richtig, your turn. ;)
dead_orc
04.04.2008, 13:53
Auf welchem Frequenzband (grob) operiert der IEEE 802.11a Standard und welchen Nachteil hat er gegenüber dem IEEE 802.11g Standard?
Kann ja nicht angehen, dass hier immer so schnell die Antworten kommen xO
Und remember: Wissen, nicht wissen wos steht :p
ca. 5GHz, eine Frequenz, die nicht überall in Europa ohne Auflagen freigegeben ist.
dead_orc
04.04.2008, 13:58
ca. 5GHz, eine Frequenz, die nicht überall in Europa ohne Auflagen freigegeben ist.
Etwas ungenau, aber ich lass es durchgehen.
Ja, ich habe diesen Post zig mal übern Haufen geschmissen xD
Underserial
04.04.2008, 14:07
5470 MHz soweit ich weis =)
Mal die Zeitschrift such... ... aber vor und nachteil... sry ;)
OK, dann mal was hoch mathematisches. Ich empfehle den Einsatz eines CAS und gegebenenfalls einer Formelsammlung.
Gegeben ist die Funktion f mit f(x) = \frac{x+3}{e^x}. Der zugehörige Graph schließt mit der Geraden g: x=4 und den Koordinatenachsen eine Fläche ein. Diese Fläche wird um die x-Achse rotiert. In den entstehenden Rotationskörper soll ein möglichst großer Kegel der Höhe 4 einbeschrieben werden. Wie groß ist das Volumen dieses Kegels?
P.S.: wer heute in BW an einem Gymnasium mit TI-92+ oder TI Voyage 200 Taschenrechner am Matheabitur teilgenommen hat, möge sich bitte zurückhalten.
drunken monkey
04.04.2008, 14:47
@drunken monkey:
Leider nicht. =)
@dead_orc:
Richtig, your turn. ;)
Warum denn bitte nicht, ich hab' doch genau das Gleiche geschrieben! o_O' Sogar etwas genauer, weil bei "33%" ja noch ein Rundungsfehler ist (zugegeben, das wäre schon zu pedantisch).
Außerdem ist dein Beispiel falsch, Punkt geht vor Strich also fehlt dir eine Klammer. :p
Genug gemotzt, zu was Konstruktivem: Ich denke, die Antwort lautet ca. 5,7894. ^^''
Ist dann auch der Lösungsweg gewünscht? o_O
Hab die genaue Lösung nicht im Kopf, aber die Größenordnung ist richtig. Lasse ich daher gelten, weil ich nicht denke, dass du geraten hast. Würde mich trotzdem über den Lösungsweg freuen.
drunken monkey
04.04.2008, 15:57
Pf, Frage stellen ohne die Antwort zu kennen, was sind denn das für Manieren? :p
Lösungsweg:
Man kann das ganze Rotieren eigentlich komplett ignorieren, wenn man davon ausgeht, dass ein Kegel mit der Höhe 4 bei dieser Anordnung nur entlang der x-Achse in das Volumen passen kann. Also muss man bloß in die aufgespannte Fläche ein rechtwinkliges Dreieck mit einer Kathete entlang der x- und einer entlang der y-Achse einpassen. Die Hypothenuse stößt dann tangential an die Funktion an. (Skizze (http://www.npshare.de/files/36/9071/temp1.png))
Um jetzt zu wissen, wie das Dreieck genau liegt, muss man den Punkt herausfinden, in dem die Hypothenuse die Funktion berührt. Erstmal differenziert man dazu die Funktion und erhält f'(x) = -\frac{x+2}{e^x}.
Im Punkt x*, in dem sich Hypothenuse und Funktion berühren muss dann gelten, dass
f'(x*) = \frac{-f(x*)}{4-x*}
Die linke Seite ist dabei nämlich die Steigung der Funktion in dem Punkt, die rechte die der Hypothenuse - für eine tangentiale Berührung müssen diese gleich sein.
Daraus erhält man dann durch Umformen zwei mögliche Werte für x* (da sich eine quadratische Gleichung ergibt), von denen man aus logischen Gründen den positiven auswählt. Damit kann man dann durch Einsetzen in f'(x) die Steigung der Tangente ausrechnen, diese multipliziert man mit -4, um die Länge der zweiten Kathete zu erhalten (da die Hypothenuse von dort aus 4 Einheiten lang mit der erhaltenen Steigung abfällt und dann bei 0 anlangt).
Die Länge setzt man dann in die Volumensformel des Kegels ein:
V = \frac{1}{3}r^2\pi{}h
Daraus erhält man das genannte Ergebnis und freut sich. ^^
Dannn ärgert man sich, weil sich herausstellt, dass das Finden einer guten Frage deutlich komplizierter als das Lösen einer Mathe-Aufgabe auf Abitur-Niveau ist. -_-'
Wo ist der Fehler in folgendem Haskell-Code?
foo :: (Int, Int) -> Int
foo a b
| a == 0 = 1
| otherwise = a * b
Ohne mich mit Haskell auszukennen, würde ich sagen, dass in der dritten Zeile == und = vertauscht sind.
drunken monkey
04.04.2008, 16:35
Nein, das stimmt schon so.
Endlich mal etwas, das nicht gleich gelöst ist! ^^' Ich hoffe nur, dass hier noch irgendwer Haskell kann...<__<'
Ich hab gerade ein paar Haskell-Codezeilen angesehen und denke, dass "| a == 0 = 1" schon in der zweiten Zeile beginnen muss.
foo :: (Int, Int) -> Int
foo a b | a == 0 = 1
| otherwise = a * b
drunken monkey
04.04.2008, 16:56
Nein.
Habe btw im Programmiersprachen-Thread nachgelesen, Jeez und Dolem müssten's laut dem mindestens wissen. ^^''
Habe mir auch ein paar Zeilen angesehen und glaube, es müsste entweder so aussehen:
foo :: (Int, Int) -> Int
foo (a, b)
| a == 0 = 1
| otherwise = a * b
oder so:
foo :: Int -> Int -> Int
foo a b
| a == 0 = 1
| otherwise = a * b
drunken monkey
04.04.2008, 18:17
Ausgezeichnet, unser noch rangloser Contestkönig ist dran! :D
War immerhin mal eine lehrreiche Frage, so gesehen. ;D
Was ist die 37. Zahl der Fibonacci-Folge? :p
Edit: 3 Minuten mit Javascript. :)
Crash-Override
04.04.2008, 21:21
Was ist die 37. Zahl der Fibonacci-Folge? :p
Edit: 3 Minuten mit Javascript. :)
http://www.calcresult.com/maths/Sequences/expanded_fibonacci.html
14,930,352
http://www.calcresult.com/maths/Sequences/expanded_fibonacci.html
14,930,352
Falsch, nach der Definition. :D (wenn ich von dem 37. Wert rede, dann mein ich f37)
However, du hast mir den 36. Wert gesagt, du kannst trotzdem weitermachen.
Crash-Override
04.04.2008, 21:49
Falsch, nach der Definition. :D (wenn ich von dem 37. Wert rede, dann mein ich f37)
However, du hast mir den 36. Wert gesagt, du kannst trotzdem weitermachen.
Dann eben 24157817, der Vollstaendigkeit halber.
Gute Fragen sind schwer zu finden, stimmt schon. ;)
Was ist (zumindest nach der offiziellen Homepage) die Hauptaufgabe der neusten Version der "libimg"?
dead_orc
05.04.2008, 13:09
Ich möchte einfach mal anmerken, dass das genau die Arten von Fragen sind, die ich eigentlich nicht wollte ^^'
Bei der Fibonacci-Zahl hat man kaum eine Chance, sie durch _Wissen_ zu kennen, und IMO sollte es um wissen gehen. Genau so bei der Frage nach der Funktion von libimg, bei der schon auf die Homepage verwiesen wird. Hier soll es doch nicht darum gehen, ob man Google bedienen kann, oder? :rolleyes:
Wenn ihr das anders seht, ist das für mich auch OK, aber ich wollts gerne mal anmerken. ^^
Ich möchte einfach mal anmerken, dass das genau die Arten von Fragen sind, die ich eigentlich nicht wollte ^^'
Bei der Fibonacci-Zahl hat man kaum eine Chance, sie durch _Wissen_ zu kennen, und IMO sollte es um wissen gehen. Genau so bei der Frage nach der Funktion von libimg, bei der schon auf die Homepage verwiesen wird. Hier soll es doch nicht darum gehen, ob man Google bedienen kann, oder? :rolleyes:
Wenn ihr das anders seht, ist das für mich auch OK, aber ich wollts gerne mal anmerken. ^^
Wollte eigentlich bewirken, dass man sich selber kurz ein Skript baut anstatt zu googeln, war wahrscheinlich ein bischen naiv meinerseits.
Crash-Override
05.04.2008, 17:23
Ok, meinetwegen. Die Frage waere auch recht einfach gewesen: libimg2 aka libpr0n (http://www.libpr0n.com/):
The main goal of the library is to render pornographic images in an efficient way. Plus, the name "imglib2" is boring.
Die hier ist wohl besser, wenn acuh die Idee geklaut ist:
Was ist am folgendem C# Code falsch? ziemlich billig, kann man mit fast jeder Programmiersprache rekonstruiren den Fehler ;)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DescSet
{
class Program
{
static void Main(string[] args)
{
string desc = "";
ConsoleKeyInfo read;
Console.Write("\n>");
while (read.KeyChar != "~")
{
read = Console.ReadKey();
if (read.KeyChar != "~")
desc += read.KeyChar;
}
Console.WriteLn(desc);
}
}
}
Die Variable desc ist einmal falsch geschrieben. (desk)
Es gibt keine Methode WriteLn.
Der Operator != kann nicht auf Operanden vom Typ Keyinfo verwendet werden.
dead_orc
05.04.2008, 17:32
Die Variable desc ist einmal falsch geschrieben. (desk)
Es gibt keine Methode WriteLn.
Der Operator != kann nicht auf Operanden vom Typ Keyinfo verwendet werden.
1. hat er nachträglich gefixt
2. Gut, das kann ich nicht beurteilen :D
3. Wo tut er das?
Crash-Override
05.04.2008, 18:32
Es gibt keine Methode WriteLn.
Sry, war eigentlich nicht gemeint. Ist nachtraeglich noch von mir reingemacht (ohne Testen). Soltle WriteLine heissen (bin von Delphi her WriteLn gewoehnt).
Der Operator != kann nicht auf Operanden vom Typ Keyinfo verwendet werden.
ConsoleKeyInfo ist ein Klasse. ConsoleKeyInfo.KeyChar eine Variable in der Klasse.
edit: naja ok keine richtige Klasse. Wohl mehr sowas wie ein record (aus Delphi) kA wie das in C# heisst, also der Fehler ist nicht das fehlende initialisieren der "Klasse".
Sry, war eigentlich nicht gemeint. Ist nachtraeglich noch von mir reingemacht (ohne Testen). Soltle WriteLine heissen (bin von Delphi her WriteLn gewoehnt).
Man könnte das noch editieren und irgendwie markieren oder so. ;)
edit: naja ok keine richtige Klasse. Wohl mehr sowas wie ein record (aus Delphi) kA wie das in C# heisst, also der Fehler ist nicht das fehlende initialisieren der "Klasse".
Es ist aber auch ein Fehler, für das gibt es ja do{} while();
Kann sein, dass du '~' statt "~" meinst.
Crash-Override
05.04.2008, 19:53
Kann sein, dass du '~' statt "~" meinst.
Jap, das ist es.
Ich will 2 Fehler und wenn mans jetzt nicht beim Validator eingibt, kann man sogar etwas von sich halten >:( :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="de-CH" lang="de-CH">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859" />
<link rel="stylesheet" media="screen,projection"
title="Standard" href="css/css.css"
type="text/css" />
<title>Title</title>
</head>
<body id="body">
<h1> Titel
</h1>
<ul id="menu">
<li><a href="./index.php?index">Home</a></li>
<li><a href="#">Links</a></li>
<li><a href="#">Links</a></li>
<li><a href="#">Links</a></li>
</ul>
<iframe src="./index.htm" width="500" height="500" >
<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
Sie können die eingebettete Seite über den folgenden Verweis
aufrufen: <a href="../../../index.htm">SELFHTML</a></p>
</iframe>
</body>
</html>
dead_orc
05.04.2008, 20:42
Ich würde erstmal sagen, dass es in XHTML 1 kein <iframe> gibt, dafür gibts doch die Frameset Variante, oder? Ein <?xml version="1.0" encoding="iso-8859-1" ?> am Anfang wäre zwar schön, ist aber wohl kaum ein Fehler. Und das width, height und name vom iframe hast du ja grade leider rausgenommen.
Edit: Oder auch nicht. Whatever.
drunken monkey
05.04.2008, 20:47
Ich hab's gerade, weil ich nicht draufkam, in den Validator geschmissen und der findet auch nur den einen Fehler. o_O' Bzw. drei, aber alle drei hängen damit zusammen, dass es keine IFrames in Strict gibt. Wenn ich die DTD auf "Transitional" stelle ist alles in Ordnung.
Was sollte denn noch sein? o_O
Das könnte daran liegen, dass es kein Syntaxfehler ist, sondern ein inhaltlicher Fehler:
<iframe src="./index.htm" width="500" height="500" >
<a href="../../../index.htm">
Das widerspricht sich. Ist das einzige, was ich noch finden konnte.
Das könnte daran liegen, dass es kein Syntaxfehler ist, sondern ein inhaltlicher Fehler:
<iframe src="./index.htm" width="500" height="500" >
<a href="../../../index.htm">
Das widerspricht sich. Ist das einzige, was ich noch finden konnte.
Das muss ich wohl als zweiten Fehler gelten lassen. :p Eigentlich war dead_orc auf der richtigen Spur, der Validator gibt keinen Fehler, wenn man über den Meta-Tag ein fehlerhaftes Encoding übergibt. ;) ( ohne z.B. -1 am Ende, wird wahrscheinlich halbwegs richtig interpretiert, aber nach meinem Wissen existiert das nicht)
dead_orc
05.04.2008, 21:18
Yeah, glatt übersehen -_-
Ich würde übrigens das ../../../ nicht unbedingt als Fehler ansehen. Vielleicht liegt diese Datei ja im Ordner frameset/standard/home/ oder so :o
Hm, dann muss ich mir ja tatsächlich ne Frage ausdenken.
Welcher Browser/welche Engine hat als erstes Acid 2 bestanden?
dead_orc
05.04.2008, 21:24
Hm, dann muss ich mir ja tatsächlich ne Frage ausdenken.
Welcher Browser/welche Engine hat als erstes Acid 2 bestanden?
Gar keiner. Bisher haben ein post-9.5 Opera Build und ein Webkit Nightly Build es schon auf 100/100 Punkten gebracht, keiner von denen hatte aber eine flüssige Animation. Desweiteren hat der Opera Build vermutlich nach der letzten Änderung am Test (ein Bugfix, der vom Webkit-Devteam eingebracht wurde) keine 100 Punkte mehr.
Wenn es dir nur um die Punkte geht: Opera war der erste Browser, der einen jetzt aber veralteten Test bestanden hat. Webkit/Safari war die erste Engine/der erste Browser, der die neue Version bestanden hat.
Ach blargs, ich laber die ganze Zeit von Acid3 -_-
Ich glaube, bei Acid2 wars aber auch Webkit/Safari oder KHTML/Konqueror, bin ich mir grad nicht sicher :/ (sind ja aber eh eng verwandt)
Safari/Webkit ist richtig.
dead_orc
05.04.2008, 21:56
Zu meiner Verteidigung übrigens noch: Webkit ist ein Fork von KHTML, der ausnahmsweise sehr eng mit seinem "Elternprojekt" zusammenarbeitet, sodass die zweite Engine KHTML war.
So, genau genommen stelle ich zwei Fragen, aber ich hoffe, das nimmt mir niemand übel:
Durch welchen "Hack" ermöglicht FAT32 eine Dateinamenlänge von 255 Zeichen und warum ist es für Flash-Speicher nicht geeignet und wird dennoch benutzt?
(OK, sind eigentlich sogar drei. >_<)
Zu meiner Verteidigung übrigens noch: Webkit ist ein Fork von KHTML, der ausnahmsweise sehr eng mit seinem "Elternprojekt" zusammenarbeitet, sodass die zweite Engine KHTML war.
Auch wenn ich die Antwort auf die momentane Frage nicht weiß, muss ich hier noch mal kurz nachhaken: Eng ist die Zusammenarbeit Zusammenarbeit zwischen WebKit und KHTML erst seit kürzerem wieder, aber sicherlich nicht zu Zeiten, als Acid2 noch frisch war. Bis KHTML Acid2 bestanden hat (was zudem zeitweise aufgrund des gezeigten Scrollbalkens noch strittig war), dauerte es noch eine Weile, und afair wurde auch nur rund die Hälfte des entsprechenden Codes von WebKit übernommen.
Nichts für ungut, wollte ich nur mal erwähnt haben. ;)
Nun denn, es hat noch niemand geantwortet, vielleicht nützt es euch etwas, wenn ich auf xxxxxx~1.xxx, xxxxxx~2.xxx, xxxxxx~3.xxx verweise. Ich kann jedoch nicht die ganze Frage beantworten.
Ich weiß die Antwort der letzten beiden Fragen... Die Antwort der ersten Frage wurde zwar mal in meiner Berufsschule durchgenommen, habs aber schon längst wieder vergessen und Google bringt auch keine richtigen Ergebnisse...
dead_orc
06.04.2008, 19:54
Wenn du schon Google benutzt, läge es doch nahe, auch Wikipedia zu benutzen, oder? :p
Da Drakes die Antwort auf die erste Frage weiß und du die Antwort auf die letzten beiden postet einfach das, was ihr wisst, und hinterher ist Manuel dran, weil er erst eine Frage gestellt hat, und Drakes schon 2 :p
(mir ist eigentlich egal, was ihr macht. ;) Ihr könnt auch warten, bis die Frage timeoutet, dann ist eh Freirunde)
Jaja, das kannte ich noch zu Zeiten Win98, den "DOS-Name", es wird einfach raufnummeriert und für den "richtigen", langen Namen werden mehrere Einträge verwendet. Die Antworten auf die anderen Fragen interessieren mich doch sehr, als leg los Manuel. :D
Ich sags mal so: Ich kenne zwar die Antworten auf die Fragen, aber ich bin mir nicht sicher, ob sich dead_orc diese Antworten auch gewünscht hat. :D
Angaben ohne Gewähr, ich weiß Manches teilweise nur durch Hörensagen:
"warum ist es für Flash-Speicher nicht geeignet?" FAT war ursprünglich ein Dateisystem für Disketten, dank unwirtschaftlicher Nutzung der Sektoren geht bei größeren Speichermedien immer mehr an eigentlich nutzbarem Speicherplatz verloren (bei einer 40GB-große Festplatte zwischen 10 u. 20%, selbst bei FAT32!). Außerdem besitzt FAT keine Rechteverwaltung, und eine Datei kann max. 4 GB groß sein (während es Sticks gibt, die schon mehr Speicher verwalten können und Windows Partitionen auf Sticks - sagen wir - etwas seltsam handhabt).
"...wird dennoch benutzt?" Plattformunabhängigkeit. Jedes Windows ab 95 kann es (mit Treibern) lesen, selbst für DOS gibts FAT32 zum Nachrüsten. Linux- und MacOS-User werden nicht benachteiligt.
Weil zu 66% meiner Antwort kaum auf Details reingeht (und mir zu 33% sowieso keine Geek-Frage einfallen würde :P ), gebe ich ab, sollte dead_orc meine Antwort akzeptieren...
Bei der Antwort auf Frage 2 denke ich eher, dass es damit zu tun hat, dass dieser "Hack" deutlich mehr Lesezugriffe braucht als kurze Dateinamen. Und auf sowas reagieren Flashspeicher in der Regel recht empfindlich.
dead_orc
07.04.2008, 15:19
Jaja, das kannte ich noch zu Zeiten Win98, den "DOS-Name", es wird einfach raufnummeriert und für den "richtigen", langen Namen werden mehrere Einträge verwendet. Die Antworten auf die anderen Fragen interessieren mich doch sehr, als leg los Manuel. :D
Absolut korrekt. Ich würde mir eigentlich gerne mal ein OS aufsetzen, dass noch kein VFAT (so nennt sich dieser Aufsatz) kann, um mir anzugucken, wie das unten drunter aussieht. :D
Ich sags mal so: Ich kenne zwar die Antworten auf die Fragen, aber ich bin mir nicht sicher, ob sich dead_orc diese Antworten auch gewünscht hat. :D
Angaben ohne Gewähr, ich weiß Manches teilweise nur durch Hörensagen:
"warum ist es für Flash-Speicher nicht geeignet?" FAT war ursprünglich ein Dateisystem für Disketten, dank unwirtschaftlicher Nutzung der Sektoren geht bei größeren Speichermedien immer mehr an eigentlich nutzbarem Speicherplatz verloren (bei einer 40GB-große Festplatte zwischen 10 u. 20%, selbst bei FAT32!). Außerdem besitzt FAT keine Rechteverwaltung, und eine Datei kann max. 4 GB groß sein (während es Sticks gibt, die schon mehr Speicher verwalten können und Windows Partitionen auf Sticks - sagen wir - etwas seltsam handhabt).
Stimmt zwar alles, trifft aber alles viel eher auf Festplatten als auf Flash-Speicher zu, da der ja doch relativ klein ist (40 GB erreichst du damit nicht ^^)
"...wird dennoch benutzt?" Plattformunabhängigkeit. Jedes Windows ab 95 kann es (mit Treibern) lesen, selbst für DOS gibts FAT32 zum Nachrüsten. Linux- und MacOS-User werden nicht benachteiligt.
Natürlich vollkommen korrekt und genau das, was ich hören wollte. War eigentlich auch nur ein kleiner Zusatz, da ich davon ausging, dass das klar ist. Wobei man auch noch erwähnen könnte, dass NTFS auf Geräten wie MP3-Playern nur schwer umzusetzen wäre, da es doch recht komplex ist.
Bei der Antwort auf Frage 2 denke ich eher, dass es damit zu tun hat, dass dieser "Hack" deutlich mehr Lesezugriffe braucht als kurze Dateinamen. Und auf sowas reagieren Flashspeicher in der Regel recht empfindlich.
Mir wäre neu, dass Flash-Speicher durch Lesezugriffe beschädigt werden. Was ich meinte, waren die Schreibzugriffe, die von FAT immer an den selben stellen passieren. Wenn man auf einem 1 GB Flashspeicher 512 MB beschreibt, wieder löscht und wieder 512 MB beschreibt, werden von FAT immer die Sektoren am Anfang benutzt, was diese Sektoren schneller abnutzt und die hinteren Sektoren unberührt lässt. Außerdem fragmentiert FAT wie Sau, was dem Flash-Speicher auch nicht grade zu Gute kommt.
Anyway, wenn Manuel nicht möchte, kann meinetwegen Drakes machen. ^^
Naja, ich werds dann doch mal versuchen...
Was ist ein sog. Zombie-Prozess?
(Ja, die Frage wurde auch mal bei "Genial Daneben" gestellt ;D . Dürfte für manche nicht allzu schwer sein...)
Ein Zombie-Prozess ist ein Prozess, der seine Arbeit beendet hat, jedoch noch von seinem Elternprozess unbemerkt blieb.
Genau das wollte ich hören :)
Wer entwickelte den Prototyp des Cryptophons?
Wer hat in Star Trek einen Roboter erzeugt, der knapp 500 Starfleet Leute getötet hat? (:
Ich dachte, das ist ein Computer-/Programmierungs-Quiz, wieso werden dann Film-Fragen gestellt? ó.Ò
Ich dachte, das ist ein Computer-/Programmierungs-Quiz, wieso werden dann Film-Fragen gestellt? ó.Ò
Frag ich mich auch. ôô
Geek != Star Trek Nerd
dead_orc
08.04.2008, 21:06
Frag ich mich auch. ôô
Geek != Star Trek Nerd
@DFYX|Lernen| Uff, sehen wir aus wie Trekkies?
kikka| (JA!)
kikka| Hey, das sind auch Geeks. (-:
Ich wollte nix sagen, weil es ja schließlich ein OT Forum ist und hier prinzipiell über alles geredet werden, aber ich denke auch, dass eine solche Frage eher in einen Quizthread im Filmforum gehört. In diesem Sinne: Freirunde *Titel ändern geht*
Desweiteren steht im Eingangspost ausdrücklich aus "dem Computer- und Mathematik-Bereich", was zwar eigentlich keine absolute Beschränkung sein soll (Chemie würde ich auch durchgehen lassen, solange Luki nicht die Fragen stellt :p) aber schon eine Richtung. Beschränken wir uns also zumindest auf den wissenschaftlichen Teil der Geek-Definition.
Menno, und ich wollte schon fragen, bei welchem Ego-Shooter man zuletzt Sprite-Gegner bekämpfen musste^^.
@Thema: Welcher (mittlerweile aufgekaufte und Pleite gegangene) Hersteller bot in den 90er-Jahren eine exklusive Schnittstelle für die Grafikkarte an, die auch eine spezielle Grafikkarte erforderte?
Don Cuan
08.04.2008, 22:31
Mit Schnittstelle meinst du eine Software-Schnittstelle?
Dann wohl 3dfx mit Glide.
Ich meinte schon "Welcher Hersteller", aber die Frage hast du richtig beantwortet. ;) Don Cuan ist dran.
Don Cuan
09.04.2008, 00:45
Nach der durch die Zweckentfremdung einer Prothese herbeigeführten Situation in einem vom ehemals Silicon & Synapse genannten Spieleentwicklerstudio erschaffenen Bestseller darf man sich indirekt an den Namen welches Hacker-Ensembles erinnert fühlen?
Deathball
11.04.2008, 11:56
Nach der durch die Zweckentfremdung einer Prothese herbeigeführten Situation in einem vom ehemals Silicon & Synapse genannten Spieleentwicklerstudio erschaffenen Bestseller darf man sich indirekt an den Namen welches Hacker-Ensembles erinnert fühlen?
Cult of the Dead Cow? :confused:
Silicon & Synapse ist der alte Name von Blizzard.
Bestseller mit Prothese müsste Diablo sein - man braucht ne Prothese um in den Kuhlevel zu kommen.
Und die einzige Hackergruppe die ich kenne und die irgendwie zu Kuhlevel passt wär Cult of the Dead Cow...
Don Cuan
11.04.2008, 16:55
Cult of the Dead Cow? :confused:
Silicon & Synapse ist der alte Name von Blizzard.
Bestseller mit Prothese müsste Diablo sein - man braucht ne Prothese um in den Kuhlevel zu kommen.
Und die einzige Hackergruppe die ich kenne und die irgendwie zu Kuhlevel passt wär Cult of the Dead Cow...
Yepp, stimmt genau. Du bist am Zug.
Deathball
11.04.2008, 19:21
Gnah, Frage ausdenken >_<
hm...
Welchen Wert haben die ersten zwei Byte in einem Standart Windows BMP (bitte in Hexcode)
Welchen Wert haben die ersten zwei Bytes in einem Standart Windows BMP (bitte in Hexcode)
"BM" in ASCII-Code.
Deathball
11.04.2008, 19:25
"BM" in ASCII-Code.
Joa, und jetzt noch das ganze in einem Hexwert?
edit: O_O die Hexwerte der ASCII-Zeichen B und M - das is doch machbar ;)
(PS: ja, ich bin ungeduldig :p )
dead_orc
13.04.2008, 14:26
Du bist pingelig, das ist das Problem... warum nicht in ASCII?
Aber bitte, hexdump sagt mir: 4d 42, was allerdings MB ist. Verstehe ich nicht ganz, aber richtig ist wohl 42 4D
Deathball
13.04.2008, 17:18
Aber bitte, hexdump sagt mir: 4d 42
4D42 ist richtig...
du bist dran
dead_orc
13.04.2008, 18:00
Was ist das größte Sicherheitsrisiko für das RSA-Kryptosystem?
Dass jemand den Schlüssel mitbekommt, z.B. bei einer Übertragung des Schlüssels.
dead_orc
13.04.2008, 18:59
Dass jemand den Schlüssel mitbekommt, z.B. bei einer Übertragung des Schlüssels.
Warum sollte das ein Sicherheitsrisiko darstellen? RSA ist asymmetrisch, den Public Key kann jeder haben. Und dass der Private Key geheim bleiben sollte, ist denke ich klar. Ich meinte eher eine technische/mathematische Gefahr.
drunken monkey
13.04.2008, 20:56
In dem Fall wohl, dass ein effizienter Algorithmus zur Primfaktorenzerlegung gefunden wird, oder dass sie durch die Nutzbarmachung von Quantencomputern leicht durchzuführen wäre. Also Algorithmus oder Quantencomputer.
dead_orc
13.04.2008, 21:58
In dem Fall wohl, dass ein effizienter Algorithmus zur Primfaktorenzerlegung gefunden wird, oder dass sie durch die Nutzbarmachung von Quantencomputern leicht durchzuführen wäre. Also Algorithmus oder Quantencomputer.
Richtig, das meinte ich. Der schwächste Punkt am RSA Verfahren ist die Faktorisierung der Primzahlen. Und so utopisch ist das gar nicht mal: In 10 Jahren können 4096 Bit Zahlen wohl ziemlich locker in ihre Faktoren zerlegt werden - egal ob mit oder ohne Quantencomputer.
Der Affe ist dran.
Richtig, das meinte ich. Der schwächste Punkt am RSA Verfahren ist die Faktorisierung der Primzahlen. Und so utopisch ist das gar nicht mal: In 10 Jahren können 4096 Bit Zahlen wohl ziemlich locker in ihre Faktoren zerlegt werden - egal ob mit oder ohne Quantencomputer.
Bis dahin gibt es aber dann auch entsprechend Möglichkeiten, noch größere Primzahlen effektiv zu verwenden. Oder irgendjemand findet halt einen neuen Algorithmus. Irgendwas das jetzt aufgrund mangelnder Rechenleistung zu ineffizient ist oder sowas...
dead_orc
13.04.2008, 22:22
Bis dahin gibt es aber dann auch entsprechend Möglichkeiten, noch größere Primzahlen effektiv zu verwenden. Oder irgendjemand findet halt einen neuen Algorithmus. Irgendwas das jetzt aufgrund mangelnder Rechenleistung zu ineffizient ist oder sowas...
Natürlich könnte man RSA theoretisch mit immer größeren Primzahlen benutzen, doch nichtsdestotrotz wird dieser Punkt immer den schwächsten darstellen - und vielleicht hat bis dahin auch jemand einen effizienteren Algorithmus zur Primfaktorzerlegung entwickelt. Und ein Umstieg auf ein anderes Verfahren ist natürlich ein Ausweg daraus, macht RSA aber nicht sicherer, nur obsoleted. ;)
(weiterführend könnte man nun den Wikipediaartikel zum RSA-Kryptosystem lesen, in dem begründet wird, warum die Primfaktorzerlegung einer Zahl das aufwandsärmste Problem beim Brechen von RSA darstellt. :p)
drunken monkey
13.04.2008, 22:42
Hui, kirbylicious! 8)
Wie lauten - jeweils für Linux/Unix und Windows - die Shell Befehle zum Anzeigen des Verzeichnisinhalts, Löschen von Dateien und Verschieben von Dateien?
dead_orc
13.04.2008, 22:44
Hui, kirbylicious! 8)
Wie lauten - jeweils für Linux/Unix und Windows - die Shell Befehle zum Anzeigen des Verzeichnisinhalts, Löschen von Dateien und Verschieben von Dateien?
Linux: ls, rm und mv
Windows: dir, del, und ich müsste lügen, zu sagen, dass ich es weiß, aber ich glaube move
Adequater als "Linux/Unix" wäre hier übrigens nur Unix oder GNU, da diese Befehle absolut nichts mit dem Linux-Kernel zu tun haben :p </klugscheiß>
drunken monkey
13.04.2008, 22:58
Ts, musst du meine Linux-Unzulänglichkeiten unbedingt so an den Pranger stellen? Nur wegen schlampiger Formulierung...<__<' Aber immerhin nett, dass du den Unterstrich weggelassen hast. ;D
Ahja, und richtig ist das Ganze auch noch, inklusive move. Du stehst nun vor der Aufgabe, dir eine anspruchsvollere Frage zu überlegen. ;D
dead_orc
13.04.2008, 23:10
Anspruchsvoller ist diese Frage vermutlich nicht wirklich...
Durch welche Technik wird/soll NAT in hoffentlich nicht allzu ferner Zukunft ersetzt werden? Nenne auch einen Vorteil dieser Abschaffung von NAT (bzw. halt einen Nachteil von NAT ^^')
Öh. Wenn sich Ipv6 durchsetzt, braucht man kein NAT mehr? (war das die Antwort? xD)
Es gibt wohl irgendwelche Komplikationen dadurch, dass man nicht einfach jedem gerät eine eindeutige IP zuordnen kann. das wird durch NAT umgangen, aber ohne diesen trick wäre es wohl besser.
(ich hab praktisch keine ahnung von netzwerktechnik, das war jetzt mehr oder weniger in schuss ins blaue :P)
dead_orc
14.04.2008, 15:31
Öh. Wenn sich Ipv6 durchsetzt, braucht man kein NAT mehr? (war das die Antwort? xD)
Es gibt wohl irgendwelche Komplikationen dadurch, dass man nicht einfach jedem gerät eine eindeutige IP zuordnen kann. das wird durch NAT umgangen, aber ohne diesen trick wäre es wohl besser.
(ich hab praktisch keine ahnung von netzwerktechnik, das war jetzt mehr oder weniger in schuss ins blaue :P)
Nahja... also ich meinte IPv6 und die Zuordnung von einer öffentlichen IP zu mehreren Geräten, aber ich hätte es eigentlich gerne etwas mehr ausgeführt gehabt. Aber da du die Antwort ja gegeben hast, bist du dran.
Nahja... also ich meinte IPv6 und die Zuordnung von einer öffentlichen IP zu mehreren Geräten, aber ich hätte es eigentlich gerne etwas mehr ausgeführt gehabt. Aber da du die Antwort ja gegeben hast, bist du dran.
Das kommt davon, wenn das Wissen nur aus dem Kopf und nicht von Wikipedia kommt ;)
NAT dient iirc dazu, die ganzen IPs in einem nicht öffentlichen Netz zu bündeln um öffentliche IPs zu sparen. Dafür werden die internen IP Adressen bei Kommunikation nach außen beispielsweise vom Router ersetzt und wenn die Antwort von draußen dann kommt wieder in die Ursprungs-IP umgewandelt.
Und mit IPv6 ist das Problem der mangelnden Adressen gegessen, deswegen wird NAT nicht mehr gebraucht.</spam>
genau das was manni da sagte meinte ich. oder so.
deswegen darf er auch ne frage stellen, mir fällt grade nix ein, was sinnvoll und nicht nur über wikipedia in erfahrung zu bringen wäre.
Na gut, mir fällt auch nix gutes ein...
Wie könnte eine Regular Expression zum Finden eines handelsüblichen Strings im Code aussehen? (Also ein "normaler" C-String: "Fu bar" oder sowas)
Sind solche Fragen eigentlich erlaubt?
#"(.*?)"#, wobei ich grade nicht weiß, wie man \" mit matcht.
Und ja, solche Fragen sollten erlaubt sein.
dead_orc
14.04.2008, 19:32
Ich würde sagen, /"((?:.*?[^\])?)"/ sollte auch \" mitmatchen (auch wenns vielleicht etwas aufgebläht ist)
Reicht beides nicht aus, um alle Fälle abzudecken. In den Strings müssen " und \ schon escaped werden können (mit einem Backslash).
drunken monkey
14.04.2008, 21:49
/"(\\.|[^\\"])*"/
(Wobei \ in der RegExp durch \\ escapet ist.)
/"(\\.|[^\\"])*"/
(Wobei \ in der RegExp durch \\ escapet ist.)
Jopp, das funktioniert (Wobei, kommt auf die Greedyness an...). Du bist dran :)
drunken monkey
15.04.2008, 00:18
Wuhuu, nerdy REs ftw! o/
Was macht die folgende Zeile C-Code?
(* ( void(*)() ) 11) ();
Crash-Override
15.04.2008, 22:18
Was macht die folgende Zeile C-Code?
(* ( void(*)() ) 11) ();
Er deklamiert etwas: Eine Funktion ohne Parameter.
(* [...] 11) ();
Die Funktion ist ein pointer auf eine Funktion namens 11.
( void(*)() )
Das waehre der Rueckgabe-Typ der Funktion 11. void(*)() muesste ein Pointer auf eine beliebige Funktion ohne Parameter sein.
Also muesste dein Code eine neue Funktion deklamieren, die als Typ einen Pointer auf die Funktion 11 hat, die wiederum als Typ einen Pointer auf eine beliebige Funktion ohne Parameter hat. Allerdings wuede dann der Name der Funktion fehlen aka (* ( void(*)() ) 11) x(); oder? Sorry, hab von C nicht wirklich viel Ahnung, aber evt. weiss jemand anderes mehr.
drunken monkey
15.04.2008, 22:33
Nein, nicht ganz. ^^'
C ist aber auch eine Scheißsprache, beschäftig' dich bloß nicht damit! XD
drunken monkey
17.04.2008, 14:01
Also eigentlich hätte ich nicht gedacht, dass das keiner schafft. o_O' Ich bin echt nicht gut in C und die Sprache sollte doch eigentlich bekannt sein.
Naja, egal, die Lösung war jedenfalls: Das Statement springt einfach zur virtuellen Adresse 11. Genauer: es castet 11 auf einen Funktionspointer, der einen Pointer auf void (also auf untypisierten Memory) zurückgibt, und ruft das Ding dann auf.
C ist grässlich, qed.
Freie Runde!
Crash-Override
17.04.2008, 19:12
Freie Runde!
Ok, das war in der Tat schwer fand ich.
Hier ma was simples (fuer die Meisten hier):
Nenne den(/die) Unterschied(e) zwischen XHTML 1.0 Strict und XHTML 1.0 Transitional.
dead_orc
17.04.2008, 20:15
Ok, das war in der Tat schwer fand ich.
Hier ma was simples (fuer die Meisten hier):
Nenne den(/die) Unterschied(e) zwischen XHTML 1.0 Strict und XHTML 1.0 Transitional.
wtf? Du willst nicht ernsthaft alle Unterschiede zwischen Transitional und Strict haben? Einer wäre z.B., dass das Attribut "align" für viele Elemente abgeschafft wurde. Ebenso dürfte das für "name" für <a> gelten, aber es gibt IIRC noch einiges mehr <_<
Don Cuan
17.04.2008, 22:18
Box:~/xhtml/xhtml1-20020801/DTD$ diff xhtml1-strict.dtd xhtml1-transitional.dtd
2c2
< Extensible HTML version 1.0 Strict DTD
---
> Extensible HTML version 1.0 Transitional DTD
4c4
< This is the same as HTML 4 Strict except for
---
> This is the same as HTML 4 Transitional except for
16,17c16,17
< PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
< SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
---
> PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
19,20c19,20
< $Revision: 1.24 $
< $Date: 2002/07/31 19:34:51 $
---
> $Revision: 1.27 $
> $Date: 2002/08/01 18:16:48 $
87a88,90
> <!ENTITY % FrameTarget "NMTOKEN">
> <!-- render in this frame -->
>
103a107,124
> <!-- used for object, applet, img, input and iframe -->
> <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
>
> <!-- a color using sRGB: #RRGGBB as Hex values -->
> <!ENTITY % Color "CDATA">
>
> <!-- There are also 16 widely known color names with their sRGB values:
>
> Black = #000000 Green = #008000
> Silver = #C0C0C0 Lime = #00FF00
> Gray = #808080 Olive = #808000
> White = #FFFFFF Yellow = #FFFF00
> Maroon = #800000 Navy = #000080
> Red = #FF0000 Blue = #0000FF
> Purple = #800080 Teal = #008080
> Fuchsia= #FF00FF Aqua = #00FFFF
> -->
>
169c190,191
< <!--=================== Text Elements ====================================-->
---
> <!-- text alignment for p, div, h1-h6. The default is
> align="left" for ltr headings, "right" for rtl -->
171,172c193
< <!ENTITY % special.pre
< "br | span | bdo | map">
---
> <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
173a195,201
> <!--=================== Text Elements ====================================-->
>
> <!ENTITY % special.extra
> "object | applet | img | map | iframe">
>
> <!ENTITY % special.basic
> "br | span | bdo">
176c204,206
< "%special.pre; | object | img ">
---
> "%special.basic; | %special.extra;">
>
> <!ENTITY % fontstyle.extra "big | small | font | basefont">
178c208,209
< <!ENTITY % fontstyle "tt | i | b | big | small ">
---
> <!ENTITY % fontstyle.basic "tt | i | b | u
> | s | strike ">
180,181c211,217
< <!ENTITY % phrase "em | strong | dfn | code | q |
< samp | kbd | var | cite | abbr | acronym | sub | sup ">
---
> <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
>
> <!ENTITY % phrase.extra "sub | sup">
> <!ENTITY % phrase.basic "em | strong | dfn | code | q |
> samp | kbd | var | cite | abbr | acronym">
>
> <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
199,200c235,236
< <!ENTITY % lists "ul | ol | dl">
< <!ENTITY % blocktext "pre | hr | blockquote | address">
---
> <!ENTITY % lists "ul | ol | dl | menu | dir">
> <!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
203,205c239
< "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
<
< <!ENTITY % Block "(%block; | form | %misc;)*">
---
> "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
217c251,252
< <!-- pre uses %Inline excluding big, small, sup or sup -->
---
> <!-- pre uses %Inline excluding img, object, applet, big, small,
> font, or basefont -->
220,221c255,256
< "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
< | %inline.forms;)*">
---
> "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
> %inline.forms; | %misc.inline;)*">
223c258
< <!-- form uses %Block; excluding form -->
---
> <!-- form uses %Flow; excluding form -->
225c260
< <!ENTITY % form.content "(%block; | %misc;)*">
---
> <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
227c262
< <!-- button uses %Flow; but excludes a, form and form controls -->
---
> <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
231c266,267
< table | %special; | %fontstyle; | %phrase; | %misc;)*">
---
> table | br | span | bdo | object | applet | img | map |
> %fontstyle; | %phrase; | %misc;)*">
246c282
< <!ENTITY % head.misc "(script|style|meta|link|object)*">
---
> <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
275d310
< href %URI; #REQUIRED
276a312,313
> href %URI; #IMPLIED
> target %FrameTarget; #IMPLIED
313a351
> target %FrameTarget; #IMPLIED
332a371
> language CDATA #IMPLIED
340c379
< <!ELEMENT noscript %Block;>
---
> <!ELEMENT noscript %Flow;>
344a384,409
> <!--======================= Frames =======================================-->
>
> <!-- inline subwindow -->
>
> <!ELEMENT iframe %Flow;>
> <!ATTLIST iframe
> %coreattrs;
> longdesc %URI; #IMPLIED
> name NMTOKEN #IMPLIED
> src %URI; #IMPLIED
> frameborder (1|0) "1"
> marginwidth %Pixels; #IMPLIED
> marginheight %Pixels; #IMPLIED
> scrolling (yes|no|auto) "auto"
> align %ImgAlign; #IMPLIED
> height %Length; #IMPLIED
> width %Length; #IMPLIED
> >
>
> <!-- alternate content container for non frame-based rendering -->
>
> <!ELEMENT noframes %Flow;>
> <!ATTLIST noframes
> %attrs;
> >
>
347c412
< <!ELEMENT body %Block;>
---
> <!ELEMENT body %Flow;>
350,351c415,422
< onload %Script; #IMPLIED
< onunload %Script; #IMPLIED
---
> onload %Script; #IMPLIED
> onunload %Script; #IMPLIED
> background %URI; #IMPLIED
> bgcolor %Color; #IMPLIED
> text %Color; #IMPLIED
> link %Color; #IMPLIED
> vlink %Color; #IMPLIED
> alink %Color; #IMPLIED
356a428
> %TextAlign;
363a436
> %TextAlign;
375,376c448,450
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
380,381c454,456
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
385,386c460,462
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
390,391c466,468
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
395,396c472,474
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
400,401c478,480
< %attrs;
< >
---
> %attrs;
> %TextAlign;
> >
404a484,487
> <!-- Unordered list bullet styles -->
>
> <!ENTITY % ULStyle "(disc|square|circle)">
>
409a493,494
> type %ULStyle; #IMPLIED
> compact (compact) #IMPLIED
411a497,509
> <!-- Ordered list numbering style
>
> 1 arabic numbers 1, 2, 3, ...
> a lower alpha a, b, c, ...
> A upper alpha A, B, C, ...
> i lower roman i, ii, iii, ...
> I upper roman I, II, III, ...
>
> The style is applied to the sequence number which by default
> is reset to 1 for the first list item in an ordered list.
> -->
> <!ENTITY % OLStyle "CDATA">
>
416a515,531
> type %OLStyle; #IMPLIED
> compact (compact) #IMPLIED
> start %Number; #IMPLIED
> >
>
> <!-- single column list (DEPRECATED) -->
> <!ELEMENT menu (li)+>
> <!ATTLIST menu
> %attrs;
> compact (compact) #IMPLIED
> >
>
> <!-- multiple column list (DEPRECATED) -->
> <!ELEMENT dir (li)+>
> <!ATTLIST dir
> %attrs;
> compact (compact) #IMPLIED
418a534,536
> <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
> <!ENTITY % LIStyle "CDATA">
>
423a542,543
> type %LIStyle; #IMPLIED
> value %Number; #IMPLIED
430a551
> compact (compact) #IMPLIED
447c568
< <!ELEMENT address %Inline;>
---
> <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
456a578,581
> align (left|center|right) #IMPLIED
> noshade (noshade) #IMPLIED
> size %Pixels; #IMPLIED
> width %Length; #IMPLIED
461c586,587
< <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
---
> <!-- content is %Inline; excluding
> "img|object|applet|big|small|sub|sup|font|basefont" -->
466c592,593
< xml:space (preserve) #FIXED 'preserve'
---
> width %Number; #IMPLIED
> xml:space (preserve) #FIXED 'preserve'
471c598
< <!ELEMENT blockquote %Block;>
---
> <!ELEMENT blockquote %Flow;>
476a604,611
> <!--=================== Text alignment ===================================-->
>
> <!-- center content -->
> <!ELEMENT center %Flow;>
> <!ATTLIST center
> %attrs;
> >
>
514a650
> target %FrameTarget; #IMPLIED
535a672
> clear (left|all|right|none) "none"
594a732,757
> <!ELEMENT u %Inline;> <!-- underline -->
> <!ATTLIST u %attrs;>
>
> <!ELEMENT s %Inline;> <!-- strike-through -->
> <!ATTLIST s %attrs;>
>
> <!ELEMENT strike %Inline;> <!-- strike-through -->
> <!ATTLIST strike %attrs;>
>
> <!ELEMENT basefont EMPTY> <!-- base font size -->
> <!ATTLIST basefont
> id ID #IMPLIED
> size CDATA #REQUIRED
> color %Color; #IMPLIED
> face CDATA #IMPLIED
> >
>
> <!ELEMENT font %Inline;> <!-- local change to font -->
> <!ATTLIST font
> %coreattrs;
> %i18n;
> size CDATA #IMPLIED
> color %Color; #IMPLIED
> face CDATA #IMPLIED
> >
>
618a782,785
> align %ImgAlign; #IMPLIED
> border %Pixels; #IMPLIED
> hspace %Pixels; #IMPLIED
> vspace %Pixels; #IMPLIED
630c797
< name CDATA #IMPLIED
---
> name CDATA #REQUIRED
635a803,823
> <!--=================== Java applet ==================================-->
> <!--
> One of code or object attributes must be present.
> Place param elements before other content.
> -->
> <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
> <!ATTLIST applet
> %coreattrs;
> codebase %URI; #IMPLIED
> archive CDATA #IMPLIED
> code CDATA #IMPLIED
> object CDATA #IMPLIED
> alt %Text; #IMPLIED
> name NMTOKEN #IMPLIED
> width %Length; #REQUIRED
> height %Length; #REQUIRED
> align %ImgAlign; #IMPLIED
> hspace %Pixels; #IMPLIED
> vspace %Pixels; #IMPLIED
> >
>
643,644d830
< Note that in this DTD there is no name attribute. That
< is only available in the transitional and frameset DTD.
651a838
> name NMTOKEN #IMPLIED
656a844,847
> align %ImgAlign; #IMPLIED
> border %Length; #IMPLIED
> hspace %Pixels; #IMPLIED
> vspace %Pixels; #IMPLIED
675c866
< name NMTOKEN #IMPLIED
---
> name CDATA #IMPLIED
686a878
> target %FrameTarget; #IMPLIED
689a882
>
695a889
> name NMTOKEN #IMPLIED
700a895
> target %FrameTarget; #IMPLIED
741a937
> align %ImgAlign; #IMPLIED
795a992,993
> <!ENTITY % LAlign "(top|bottom|left|right)">
>
799a998
> align %LAlign; #IMPLIED
803c1002
< Content is %Flow; excluding a, form and form controls
---
> Content is %Flow; excluding a, form, form controls, iframe
814a1014,1021
> <!-- single-line text input control (DEPRECATED) -->
> <!ELEMENT isindex EMPTY>
> <!ATTLIST isindex
> %coreattrs;
> %i18n;
> prompt %Text; #IMPLIED
> >
>
837a1045,1047
> <!-- horizontal placement of table relative to document -->
> <!ENTITY % TAlign "(left|center|right)">
>
874a1085,1086
> align %TAlign; #IMPLIED
> bgcolor %Color; #IMPLIED
876a1089,1090
> <!ENTITY % CAlign "(top|bottom|left|right)">
>
878a1093
> align %CAlign; #IMPLIED
946a1162
> bgcolor %Color; #IMPLIED
949d1164
<
964a1180,1183
> nowrap (nowrap) #IMPLIED
> bgcolor %Color; #IMPLIED
> width %Length; #IMPLIED
> height %Length; #IMPLIED
976a1196,1199
> nowrap (nowrap) #IMPLIED
> bgcolor %Color; #IMPLIED
> width %Length; #IMPLIED
> height %Length; #IMPLIED
Ist ja wohl korrekt :p
dead_orc
17.04.2008, 22:24
Na DAS nenne ich doch mal nicht nachgelesen! :A
Sowas ist echtes Wissen! Ganz großer Tennis!
Crash-Override
18.04.2008, 05:25
naja, meinetwegen kann Don Cuan weitermachen, genuegt haette es eiegntlich imo zu sagen, dass Strict so ziemlich das selbe ist wie HTML 4 Strict mit XML Regeln ist und Transitional eine Art Erweiterung um aeltere Tags wie <center> oder <u> um den Umstieg von HTML < 4 zu erleichtern.
http://www.w3.org/MarkUp/#flavors
bzw. http://en.wikipedia.org/wiki/XHTML#XHTML_1.0
dead_orc
18.04.2008, 15:22
Ich finde deine Frage dann etwas "schwammig" formuliert, da ich für meinen Teil eine Antwort wie meine oder Don Cuans sehr viel passender finde als deine Wunschantwort, die ja eher XHTML mit HTML vergleich, IMO. ^^
Don Cuan
18.04.2008, 20:11
Eine Debian-Frage:
Welches ist das einzige rein geisteswissenschaftliche Paket (die Bibelübersetzungen und fortunes seien mal zu ignorieren), das sich im main-Zweig von Debian befindet, und wer ist der Paketbetreuer?
Hinweis: Außerdem betreut derjenige ein Paket, dessen hauptsächlicher Upstream-Autor derzeit unter Mordverdacht steht.
Ich finde deine Frage dann etwas "schwammig" formuliert, da ich für meinen Teil eine Antwort wie meine oder Don Cuans sehr viel passender finde als deine Wunschantwort, die ja eher XHTML mit HTML vergleich, IMO. ^^
Ich hielt meine Antwort eher für ein flapsiges "Blöde Frage, blöde Antwort"-Spiel.
Hätte diff die Zeilen aber nicht abgeschnitten, wäre sogar Crashs Antwort aufgetaucht :)
Don Cuan
21.04.2008, 22:39
Okay, es scheint keiner hinzubekommen, also löse ich mal auf:
Gesucht war das Paket anarchism, eine Spiegelung von An Anarchist FAQ (http://www.infoshop.org/faq/), welches von Ed Boraas betreut und außerdem Mitautor ist. Das Paket ist seit 1999 in Debian main und auch bei Ubuntu im universe-Zweig vertreten, vermutlich auch in anderen Distros.
Und Ed Boraas betreut außerdem die reiserfsprogs.
Ich glaube, künftig sollten es mehr Wissensfragen als Ich-verstehe-einen-Hinweis-und-kann-danach-ableiten/suchen-Fragen sein.
Offene Runde!
Crash-Override
22.04.2008, 00:52
Offene Runde!
Ok, dann diesmal etwas, was wirklich wissen sein duerfte, wenn auch Physik, was aber imho schon teilweise geeky ist. Hier mal ne Aufgabe die wir mal in Physik WPU hatten:
Was passiert wenn man bei der folgenden Schaltung die beiden losen Kontekte links mit der Hand (bzw. durch die Hand) verbindet?
Hinweis: Der regelbare Wiederstand wird so eingestellt das die Lampe beim offenem Kontakt noch leuchtet
(Natuerlich waere eine ansatzweise Erklaehrung sinnvoll, da das Ergebnis relativ absehbar ist, die 1.6 Wiederstaende kann man eigentlich fast weglassen, die sind bei uns in der Schule immer mit drin, als Schutzschaltung)
http://npshare.de/files/36/7774/untitled.PNG
(Hoffe man erkennt es, ist mit Paint und Gimp gemacht :D ).
Crash-Override
23.04.2008, 16:52
Offensichtlich hat es wohl noch keiner hinbekommen. Tipps:
Die "Dinger mit dem Pfeil" sind NPN-Transistoren (http://de.wikipedia.org/wiki/Bipolartransistor), falls man es nicht erkennt/weiss.
Vielleicht hilft es sich als Ersatz fuer die Hand an der Stelle einen Widerstand mit nur einigen wenigen Ohm vorzustellen.
Crash-Override
25.04.2008, 13:48
Shame on you guys, ist eigentlich nicht schwer und zudem die Vorstufe der Bistabilen Kippschaltungen (1 Bit Schaltungen), die die Grundlage unserer heutigen PCs sind. Das Teil heisst monostabile Kippschaltung, da sie nur einen stabilen Zustand hat (Lampe an), der aber durch ausserliches Eingreifen gewechselt werden kann, allerdings dann zum Ursprungszustand zureckkehrt.
Hier mal die Stromfluesse der beiden moeglcihen Zustaende der Schaltung (guener Transistor heisst "durchgeschaltet")
http://img126.imageshack.us/img126/6629/40507776zg3.png
http://img126.imageshack.us/img126/6263/91292844rw4.png
Beruehrt man mit der Hand die beiden Kontakte links, so fliesst Strom ueber die Hand zum linken Transistor (T1). Die Spannung an der Basis-Emmiter Strecke steigt auf ca. 0.5 bis 0.6 Volt, was diesen zum durchschalten bringt. Dadurch sinkt die angelegte Spannung beim rechten Transistor (T2) auf ca. 0.1V (haben wir in der Schule mal gemessen, im Endeffekt: Ein Wert nahe Null), was dafuer sorgt das er sperrt, wodurch die Lampe aufhoert zu leuchten. Das waere es im Prinzip. ;)
edit: Offene Runde natuerlich.
drunken monkey
25.04.2008, 16:22
Wieviele Züge braucht man, um einen 21 Platten hohen Turm von Hanoi zu versetzen?
Tipp: Für 20 Platten braucht man 1048575 Züge.
Keine Ahnung, Basis-Algorithmen-Wissen, denke ich, hoffe das passt so. ^^''
Und zu der vorigen Frage: Ich kann nur für mich sprechen, aber ich verabscheue Elektrotechnik und bin froh, die LVA hinter mir zu haben. Also auch wenn ich's ziemlich sicher geschafft hätte, hatte ich einfach null Lust dazu. <__<'
Ach verdammt, ich hab das sogar mal in Mathe gemacht, wie war das doch gleich?
a(n+1) = 2*a(n)+1?
Demnach wären das 2097151 Züge.
Ich hätte jetzt auf 1101004 (1101003.75) getippt. :confused:
Ich hätte jetzt auf 1101004 (1101003.75) getippt. :confused:
Wie soll man bitte 3/4 Züge brauchen?
Wie soll man bitte 3/4 Züge brauchen?
Indem man ihn nur zu 3/4 auffüllt ;) Hab ja auch aufgerundet.
Indem man ihn nur zu 3/4 auffüllt ;) Hab ja auch aufgerundet.
Ich hab das Gefühl, du stapelst auf Quantenebene :p Entweder man verschiebt eine Platte oder man macht es nicht. Halb verschieben geht nicht.
dead_orc
26.04.2008, 11:33
Ich hab das Gefühl, du stapelst auf Quantenebene :p Entweder man verschiebt eine Platte oder man macht es nicht. Halb verschieben geht nicht.
LOL! Sorry für den Spam, aber das musste grade einfach mal sein. xD
Tower of Hanoi mit Quantenebenen, yeah! :A
drunken monkey
26.04.2008, 12:37
100 Posts an den ersten, der ein Programm vorlegt, das die Türme von Hanoi in Bezug auf Quantenniveaus und Dimensionenanzahl verallgemeinert! :D
@ DFYX: Natürlich korrekt, du bist. ^^ (Ein Bonuspunkt, wenn du auch noch die Zugfolge postest. :p)
@ Drakes: OK, mich würde jetzt echt dein Rechenweg interessieren, ich zahle auch gutes Geld dafür! XD Oder hast du bloß die Aufgabenstellung verwechselt?
Don Cuan
26.04.2008, 12:59
Ich hab das Gefühl, du stapelst auf Quantenebene :p Entweder man verschiebt eine Platte oder man macht es nicht. Halb verschieben geht nicht.
Klang für mich eher so, als würde er den Turm von Hanoi abbauen, in Güterzüge packen und andernorts wieder aufbauen. Was wohl auch die Lösung wäre, um beliebige Türme von Hanoi in drei Schritten zu bewegen :D.
drunken monkey
26.04.2008, 13:18
Hm, ich habe aber nicht nach Schritten sondern nach "Zügen" gefragt, und wenn er alles in einen ganz großen packt, braucht er sogar nur einen einzigen Zug für beliebig hohe Türme...http://www.multimediaxis.de/images/smilies/old/1/gruebel.gif
Aber er hat anscheinend mit ganz kleinen Zügen und ganz großen Platten gerechnet, sodass er für eine Platte 55050,1875 Güterzüge braucht. .___.
Hm, ich habe aber nicht nach Schritten sondern nach "Zügen" gefragt, und wenn er alles in einen ganz großen packt, braucht er sogar nur einen einzigen Zug für beliebig hohe Türme...http://www.multimediaxis.de/images/smilies/old/1/gruebel.gif
Aber er hat anscheinend mit ganz kleinen Zügen und ganz großen Platten gerechnet, sodass er für eine Platte 55050,1875 Güterzüge braucht. .___. xD Sorry, ich kann nicht mehr aufhören zu lachen. Stimmt leider, ich hab gedacht, es wäre ein Gefährt. http://www.multimediaxis.de/images/smilies/old/sm_02.gif
@ DFYX: Natürlich korrekt, du bist. ^^ (Ein Bonuspunkt, wenn du auch noch die Zugfolge postest. :p)
Die Herausforderung nehme ich an (http://www.wecallit42.de/temp/hanoi21.txt).
Jetzt müsste mir nur noch eine Frage einfallen...
Was ganz Einfaches: woher stammt der Begriff "Bug" für einen Fehler in einem Programm?
drunken monkey
26.04.2008, 14:13
Die Herausforderung nehme ich an (http://www.wecallit42.de/temp/hanoi21.txt).
Jetzt müsste mir nur noch eine Frage einfallen...
Was ganz Einfaches: woher stammt der Begriff "Bug" für einen Fehler in einem Programm?
Wow, eine 10MB-Textdatei habe ich noch nichtmal beim Mona-Lisa-Contest damals gesehen. XD Aber ich glaube, da ist ein Fehler in Zeile 1428704, prüf' das mal nach! :p
Antwort: Von echten Käfern, die in irgendeinem Ur-Computer gehaust sind und wegen denen irgendwas durchgeschmort ist.
Wow, eine 10MB-Textdatei habe ich noch nichtmal beim Mona-Lisa-Contest damals gesehen. XD Aber ich glaube, da ist ein Fehler in Zeile 1428704, prüf' das mal nach! :p
Nope, die Zeile stimmt.
Antwort: Von echten Käfern, die in irgendeinem Ur-Computer gehaust sind und wegen denen irgendwas durchgeschmort ist.
Etwas arg ungenau, aber ich lass es mal gelten. Den Rest kann man vermutlich nur wissen, wenn mans nachschlägt.
drunken monkey
26.04.2008, 14:33
Mist, warum antworte ich überhaupt noch? >__<' Frage, Frage...http://www.multimediaxis.de/images/smilies/old/1/gruebel.gif
Nenne 6 Programmier-Paradigmen!
http://www.multimediaxis.de/images/smilies/old/szuck.gif
prozedural, objektorientiert, aspektorientiert, funktional, deklarativ, logisch.
Ich hoffe, das ist jetzt soweit richtig, vor allem weil letztere beide mir eher im Hinterkopf rumschwirren und ich nicht genau weiß, was das ist (aber es geht beides mit Prolog, iirc. Ist aber schon länger her, dass ich mir die Sprache angeguckt hab) ^^"
drunken monkey
27.04.2008, 20:16
Ja, ich denke, das kann man so gelten lassen. ^^
Deklarativ ist eigentlich eine Oberkategorie, u.a. eben von logischer (weswegen Prolog als logikorientierte Sprache natürlich zu beidem gehört) und auch funktionaler Programmierung, aber so pingelig muss man ja nicht unbedingt sein.
Du bist dran!
dead_orc
10.05.2008, 20:30
Ganz großer Tennis ey. Der Admin verpennts hier ne neue Frage reinzustellen! :o
Nehm ich halt irgendwas einfaches... öhm...
Nenne drei der häufigsten Angriffsvektoren im Bereich von Webapplikationen.
Ganz großer Tennis ey. Der Admin verpennts hier ne neue Frage reinzustellen! :o
Nehm ich halt irgendwas einfaches... öhm...
Nenne drei der häufigsten Angriffsvektoren im Bereich von Webapplikationen.
Wie wäre es mit XSS, SQL-Injections und Lücken in Uploads, über die dann zum Beispiel Code hochgeladen und ausgeführt werden kann. Wobei das auch noch auf unkontrolliertes Einbinden von externem Code passt. Insgesamt natürlich vor allem die Dummheit und Nachlässigkeit der Programmierer und/oder der User.
dead_orc
10.05.2008, 22:32
Wie wäre es mit XSS, SQL-Injections und Lücken in Uploads, über die dann zum Beispiel Code hochgeladen und ausgeführt werden kann. Insgessamt natürlich vor allem die Dummheit und Nachlässigkeit der Programmierer und/oder der User.
Perfekt, genau die drei Sachen wollte ich hören! :D
Wobei mir auch das Buzzword Buffer Overflow gereicht hätte als dritter Punkt.
Manni's turn.
Ganz großer Tennis ey. Der Admin verpennts hier ne neue Frage reinzustellen! :o
Ach scheiße, sorry -_-
Ich hab ewig drüber nachgedacht, bin auf nichts gekommen und hab dann verpeilt, Freirunde zu posten. Tut mir leid :/
Mh, eine Frage zu SVG: Wie kann man in einem SVG Bild einen Link erzeugen?
dead_orc
13.05.2008, 09:44
Da es sich um einen W3C XML Standard handelt, vermute ich einfach mal, dass das mit XLink geht.
Da es sich um einen W3C XML Standard handelt, vermute ich einfach mal, dass das mit XLink geht.
Das ist, naja, halb richtig. Mal schauen ob noch jemand anderes eine vollständigere Antwort gibt, ansonsten bist du ran ;)
Wie dead_orc schon sagte, mit xlink.
<a xlink:href="www.google.com" xlink:title="Google"><rect x="10" y="5" width="20" height="30" /></a>
Erzeugt ein Rechteck von 10/5 zu 30/35 als Link zu Google
Wie dead_orc schon sagte, mit xlink.
<a xlink:href="www.google.com" xlink:title="Google"><rect x="10" y="5" width="20" height="30" /></a>
Erzeugt ein Rechteck von 10/5 zu 30/35 als Link zu Google
Jo stimmt. Im Prizip muss man das <a>-Element nicht unbedingt verwenden, aber die Spezifikation sieht es als eine Art Gruppierungselement speziell für Links an. Du bist :)
Okay.
Wie groß ist die kleinstmöglichste Win32-PE-EXE der Welt, und welches Tricks (die Header betreffend) muss man sich dabei bedienen?
mfG Cherry
jwiechers
18.05.2008, 02:55
Die Frage ist so nicht direkt beantwortbar, da Windows 2000 (und, wenn ich mich nicht irre in einigen Einstellungen auch Windows 2003 Server) die Kernel32.dll nicht automatisch lädt und wir daher sicherstellen müssen, dass sie geladen wird. Weiters stellt sich die Frage ob die PE Datei noch standardkonform sein soll.
Ich hab selbst mal mit einigen Freunden versucht die kleinstmögliche PE Datei zu konstruieren und denke, dass man minimal 97 Byte braucht, unter Windows 2000 133 Byte - wenn man denn tatsächlich all die Arbeit auf sich nimmt die Import Table, die IAT und den Namen der DLL auseinanderzunehmen und in unverwendete Felder des Programms stopft.
Mal sehen ob ich mich an alles erinnere:
Ein normales, minimales C-Programm (in Richtung von int main() { return 23; } hat ungefähr 44 kB, wenn man an den Kompilierungsoptionen nicht herumspielt. Entfernt man die C Laufzeitbibliothek und das Konsolenfenster, so kommt man auf ungefähr ein kB.
Das wäre alles noch Standardkonform, aber du fragst ja nach Minima, also schauen wir uns das File Alignment an, welches, spezifikationsgemäß auf 512 gesetzt ist. Das bedeutet aber auch, dass alles zwischen Header und 0x200 mit Nullen gefüllt ist - das ist Platzverschwendung.
Wenn wir das File Alignment via dem Linker von MS auf 1 setzen, dann kommen wir auf ungefähr ein halbes Kilobyte.
So, das wird dir immer noch zu groß sein, aber das ist das Maximum was man auf dieser Ebene kann, das heißt wir gehen zur Maschinenebene über: Disassembler ausgepackt (z.B. NASM) und die MS PE Spezifikationen mit den Inhalten der Datei verglichen - alles was nicht notwendig ist fliegt raus. Am einfachsten geht das - eine Idee auf die ich leider erst später durch einen Freund gekommen bin, indem man ein kleines Programm schreibt welches schlicht alle Header-Felder durchgeht, sie mit irgendwas ersetzt und dann schaut ob das Programm das herauskommt entweder crasht oder nicht ausgibt, was es ausgeben soll. Ich hab das damals manuell gemacht ;_;.
Da wir keine Data Directories brauchen können wir diese ebenfalls rausschmeißen (NumberOfRvaAndSizes).
Dann kann man noch den MZ Header und den PE Header teilweise zusammenlegen, die dumme DOS Meldung entfernen und kommt auf ungefähr 150 Byte.
Wenn man dann noch dazu übergeht den PE Header in den optionalen Header einzubauen (was geht, da Windows zwar die Adresse des Section Headers durch Anfangsoffset des Optional Headers + SizeOfOptionalHeader ausrechnet, aber niemals die Größe des Headers selbst prüft), dann spart man sich nochmal ungefähr 53 Byte, was uns zu exakt 97 Byte bringt.
Alle Angaben ohne Gewähr, ist ne Weile her.
stimmt (ich hab jetzt vergessen, dass Win2000 da anders ist, ich meinte die WinXP-Version).
Es ist also richtig.
Der Trick, von dem ich geredet habe, war eben der, die Header zusammenzulegen, wobei dann e_lfanew (MZ) und SectionAlignment (PE) zusammenfällt (beides 4, weil dann der PE Header ja auch bei Offset 4 startet).
; tiny.asm
BITS 32
;
; MZ header
;
; The only two fields that matter are e_magic and e_lfanew
mzhdr:
dw "MZ" ; e_magic
dw 0 ; e_cblp UNUSED
;
; PE signature
;
pesig:
dd "PE" ; e_cp, e_crlc UNUSED ; PE signature
;
; PE header
;
pehdr:
dw 0x014C ; e_cparhdr UNUSED ; Machine (Intel 386)
dw 1 ; e_minalloc UNUSED ; NumberOfSections
; dd 0xC3582A6A ; e_maxalloc, e_ss UNUSED ; TimeDateStamp UNUSED
; Entry point
start:
push byte 42
pop eax
ret
codesize equ $ - start
dd 0 ; e_sp, e_csum UNUSED ; PointerToSymbolTable UNUSED
dd 0 ; e_ip, e_cs UNUSED ; NumberOfSymbols UNUSED
dw sections-opthdr ; e_lsarlc UNUSED ; SizeOfOptionalHeader
dw 0x103 ; e_ovno UNUSED ; Characteristics
;
; PE optional header
;
; The debug directory size at offset 0x94 from here must be 0
filealign equ 4
sectalign equ 4 ; must be 4 because of e_lfanew
%define round(n, r) (((n+(r-1))/r)*r)
opthdr:
dw 0x10B ; e_res UNUSED ; Magic (PE32)
db 8 ; MajorLinkerVersion UNUSED
db 0 ; MinorLinkerVersion UNUSED
;
; PE code section
;
sections:
dd round(codesize, filealign) ; SizeOfCode UNUSED ; Name UNUSED
dd 0 ; e_oemid, e_oeminfo UNUSED ; SizeOfInitializedData UNUSED
dd codesize ; e_res2 UNUSED ; SizeOfUninitializedData UNUSED ; VirtualSize
dd start ; AddressOfEntryPoint ; VirtualAddress
dd codesize ; BaseOfCode UNUSED ; SizeOfRawData
dd start ; BaseOfData UNUSED ; PointerToRawData
dd 0x400000 ; ImageBase ; PointerToRelocations UNUSED
dd sectalign ; e_lfanew ; SectionAlignment ; PointerToLinenumbers UNUSED
dd filealign ; FileAlignment ; NumberOfRelocations, NumberOfLinenumbers UNUSED
dw 4 ; MajorOperatingSystemVersion UNUSED ; Characteristics UNUSED
dw 0 ; MinorOperatingSystemVersion UNUSED
dw 0 ; MajorImageVersion UNUSED
dw 0 ; MinorImageVersion UNUSED
dw 4 ; MajorSubsystemVersion
dw 0 ; MinorSubsystemVersion UNUSED
dd 0 ; Win32VersionValue UNUSED
dd round(hdrsize, sectalign)+round(codesize,sectalign) ; SizeOfImage
dd round(hdrsize, filealign) ; SizeOfHeaders
dd 0 ; CheckSum UNUSED
db 2 ; Subsystem (Win32 GUI)
hdrsize equ $ - $$
filesize equ $ - $$
jwiechers
18.05.2008, 18:46
Es gibt mehr als einen Weg die folgende Aufgabe zu lösen, mich interessiert ein eleganter Weg, nicht die offensichtliche Brute-Force-Methode.
Um es ein wenig schwieriger zu machen hätte ich danach noch gerne die Generalisierung des Problems, wobei die Kondition, dass der Frosch immer nur auf jeder zweiten Kachel landen kann ebenfalls (als 'k') generalisiert werden sollte.
Ein kleiner Frosch springt über insgesamt 20 Kacheln von Punkt A nach B. Der kleine Frosch darf immer nur vorwärts springen und kann auch direkt von Punkt A nach Punkt B springen. Er darf natürlich auch auf jedem Feld zwischen den beiden landen, aber niemals auf zwei aufeinanderfolgenden Feldern. A und B sind in diesem Zusammenhang nicht als Felder zu rechnen. Wie viele mögliche Wege gibt es für den kleinen Frosch?
A [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] B
Und nun die tatsächliche Frage: Was ist der elegante Weg an die Zahl der Wege zu kommen?
Crash-Override
18.05.2008, 20:40
Und was ist jetzt die Frage? :rolleyes:
jwiechers
18.05.2008, 20:57
Das steht da oben, was ist der elegante Weg - zwei Leute haben es schon rausgekriegt, wollten aber noch sehen ob es andere finden.
#include <stdio.h>
u8 b = 21;
u8 k = 2;
u32 PossibleWays(u8 a)
{
u32 result = 1;
for(int c = a + k; c < b - k; c++)
{
result += PossibleWays(c);
}
return result;
}
int main()
{
printf("Es gibt %d Wege von A nach B\n", PossibleWays(0));
return 0;
}
Nicht getestet, aber sinngemäß so.
[23:37] DFYX: Im Prinzip gibt es für den Weg von A nach B den direkten Weg und alle Wege, die über einen beliebigen Punkt C führen, der mindestens k von A und B entfernt ist, wobei für den Weg von C nach B analog zum Weg von A nach B verfahren wird
[23:37] DFYX: (Und C liegt rechts von A)
jwiechers
20.05.2008, 22:29
Vielleicht war die Frage etwas seltsam gestellt, aber andererseits sind einige Personen bei exakt dieser Fragestellung auf das gekommen, auf das ich hinaus wollte. DFYX Lösung ist in sofern elegant, als das sie nur korrekte Wege zählt (wobei 'fyx nochmal genau lesen sollte und seine Formel insofern modifizieren sollte, das weder A noch B Felder sind (;))), was zumindest schon mal eine Verbesserung ist, aber aufgrund der wundervollen Einfachheit der Mathematik hätte man auch auf eine andere, viel bezauberndere Lösung kommen können die sich aus der Äquivalenz der reinen Summenbildung und der Konstruktionsvorschrift der Fibonacci-Folge (Siehe hier (http://de.wikipedia.org/wiki/Pascalsches_Dreieck#Die_Fibonacci-Zahlen)) ergibt. Rechnet man einfach die Summe aus, so kommt man auf 17.711 Wege, welche der Frosch einschlagen kann - und welche Zahl findet sich an der Stelle F(20+2)? Genau, ebenfalls 17.711.
Um das ganze mal bildlich und nicht mit Formeln zu erklären:
Restriktion: Keine: Der Frosch darf beliebig springen.
Wenn der Frosch keine Restriktionen hat, dann ergibt sich - wie hoffentlich wirklich jedem klar ist, die Folge 2,4,8,16: 2^n.
Restriktion: Nur jedes 2. Feld darf berührt werden.
0 Felder:
A B
Der Frosch hat einen Weg. (A,B)
1 Feld:
A [ ] B
A [x] B
Der Frosch hat exakt zwei Wege, (A,B & A,1,B)
2 Felder:
A [ ] [ ] B
A [x] [ ] B
A [ ] [x] B
Der Frosch hat exakt drei Wege (A,B & A,1,B & A,2,B)
3 Felder:
A [ ] [ ] [ ] B
A [x] [ ] [x] B
A [x] [ ] [ ] B
A [ ] [x] [ ] B
A [ ] [ ] [x] B
Der Frosch hat exakt fünf Wege (A,B & A,1,3,B & A,1,B & A,2,B & A,3,B)
4 Felder:
A [ ] [ ] [ ] [ ] B
A [x] [ ] [ ] [ ] B
A [x] [ ] [x] [ ] B
A [x] [ ] [ ] [x] B
A [ ] [x] [ ] [x] B
A [ ] [x] [ ] [ ] B
A [ ] [ ] [x] [ ] B
A [ ] [ ] [ ] [x] B
Der Frosch hat exakt acht Wege (...)
5 Felder:
A [ ] [ ] [ ] [ ] [ ] B
A [x] [ ] [ ] [ ] [ ] B
A [ ] [x] [ ] [ ] [ ] B
A [ ] [ ] [x] [ ] [ ] B
A [ ] [ ] [ ] [x] [ ] B
A [ ] [ ] [ ] [ ] [x] B
A [x] [ ] [x] [ ] [x] B
A [x] [ ] [x] [ ] [ ] B
A [x] [ ] [ ] [x] [ ] B
A [x] [ ] [ ] [ ] [x] B
A [ ] [x] [ ] [ ] [ ] B
A [ ] [ ] [ ] [x] [ ] B
A [ ] [ ] [x] [ ] [x] B
Der Frosch hat exakt dreizehn Wege
Wie man sieht, etabliert sich die Fibonacci-Folge - und wie ebenfalls offensichtlich sein dürfte verändert sich dies, ändern wir den Parameter der zu überspringenden Felder. Nehmen wir an, dass der Frosch immer über mindestens zwei Felder springen muss, dann erhält man die Folge 2,3,4,6,9,13,..., bei der man nicht die beiden vorherigen Nummern addiert, sondern jeweils n-1 und n-3 addiert. Bei drei Feldern ergibt sich folgerichtig 2,3,4,5,7,10,14, also n-1 + n-4. Man setze beliebig fort. :-)
mirabile dictu!
Wenn Malu möchte, er war der erste, der drauf kam, ansonsten, freie Runde.
Nein, danke, denn
1. bin ich bei sowas schrecklich unkreativ und
2. hab ichs hier ja nicht gepostet.
Gut, da ich ebenfalls Sephis Raetsel geloest hab (ich durfte nicht ins Forum sehen weil er schon die loesung gepostet hatte), ich einen Beweis durch vollstaendige Induktion dazu gelegt habe (wenn interesse besteht, poste ich ihn gerne) und es eine Freirunde ist, bin ich so frei, ein Raetsel zu stellen ...
Frage: Warum laeuft der folgende C Code bei echter Parallelisierung auf einem Zwei-Prozessor-System mit Shared Memory unterschiedlich schnell, je nachdem, wie die Schleife (z.B. vom Programmierer) auf die Prozessoren aufgeteilt wird ?
double A[SomeBigNum];
...
int i;
for ( i=0; i<SomeBigNum; ++i )
A[i] += 1;
Tipp: Wenn Prozessor1 alle geraden Indizes und Prozessor2 die ungeraden Indizes bearbeitet anstatt Prozessor1 die Indizes von 0 bis SomeBigNum/2-1 und Prozessor2 von SomeBigNum/2 bis SomeBigNum-1 ist der Code um teilweise mehr als Faktor 10 langsamer.
Tipp 2: Das selbe Problem aus einer aehnlichen Ursache kann auch bei seriellem Single-Prozessor-Code auftreten, wenn man mit zweidimensionalen Arrays arbeitet und die beiden Schleifen-Indizes vertauscht.
Brainstar
23.05.2008, 10:43
Größere Sprünge bei der Adresse von A?
Größere Sprünge bei der Adresse von A?
Sorry, ich verstehe die Antwort nicht.
Das sollte schon etwas ausfuehrlicher sein, denn wieso sollten groessere Spruenge in der Addresse ein Problem sein bzw das Problem beheben ?
MagicMagor
24.05.2008, 11:33
Ich bin mir nicht sicher wie genau eine solche Schleife bei Parallelisierung auf einem 2-CPU-System abgearbeit wird, aber mein Tipp wäre, daß es bei der abwechselnden Variante (1 Prozessor ungerade, der andere die geraden Indizes) zur Überlappung beim Speicherzugriff kommt, da aufgrund des Shared Memorys beide Prozessoren denselben Speicherbereich bearbeiten.
Das Problem hierbei ist:
Wenn Prozessor1 gerade den Wert von A[i] in den Speicher schreibt kann Prozessor2 zurselben Zeit nicht den Wert von A[i+1] auslesen und muss warten bis Prozessor1 mit dem Schreiben fertig ist. (Da Prozessor1 die "Leitung" zum RAM blockiert)
Arbeiten beide CPUs auf einem jeweils festem Bereich des Arrays ist es vorstellbar, daß der C-Compiler entsprechend optimiert und die zu bearbeitenden Segmente des Arrays jeweils in großen Brocken im Cache des Prozessors zwischengespeichert werden. Dadurch können beide Prozessoren gleichzeitig große Teile des Arrays bearbeiten ohne sich beim Speicherzugriff in den Weg zu kommen.
Beim Einkernprozessor ist es vermutlich ebenso die fehlende Optimierung über den Cache die zu einer minimalen Verlangsamung führt, da die CPU bei jedem durchlauf zwischen "lesen" und "schreiben" hin und herschalten muss anstatt einmal einen großteil in den Cache laden und später einmal große Datenmengen aus dem Cache in den RAM schreiben.
Bei einem sehr großen Array kann sich dieser minmale Zeitverlust vermutlich zu bemerkbaren Verzögerungen aufsummieren.
Diese Antwort lasse ich als richtig gelten. Magor ist dran.
Hier die genaue Aufloesung:
Prozessoren greifen nicht direkt auf den RAM zu, sondern haben idR zwei Cache Level, ueber die sie gehen. Das heisst, will man ein einzelnes Byte aus dem RAM holen, so wird zuerst ein grosser RAM Block (Eine sogenannte Cache Line) in den Second Level Cache geladen. Ein kleiner Ausschnitt daraus wird dann in den First Level Cache geladen, und das einzelne Byte von dort in ein Register der CPU. Brauch man nun das Byte neben dem zuvor geladenen Speicher, so befindet es sich bereits im Cache und kann schnell geladen werden. Das hat entscheidende Geschwindigkeitsvorteile, denn ein Zugriff auf den L1 Cache kann in ca 10 Prozessorcycles erfolgen, Zugriff auf L2 dauert bereits etwa 100 Zyklen und direkter Zugriff auf den RAM laesst die CPU auch schon mal gerne 1000 Zyklen warten.
Warum nun also die Verzoegerung auf dem Zweiprozessorsystem ? Ganz einfach: Jede der zwei CPUs hat mindestens einen einzigen L1 Cache. Im Fall das der eine gerade und der andere ungerade Indices bearbeitet passiert folgendes. Beide Prozessoren kopieren zu begin den selben Speicherinhalt in ihren Cache. Der erste Prozessor 1 (P1) liest nun seine Speicheraddresse und veraendert ihren Inhalt. P2 tut das selbe, muss aber feststellen, das P1 schon Daten in der selben Cache Line geaendert hat, also muss er die Cach Line aus dem Cache von P1 erst in den Cache von P2 kopieren, seinen Index laden und veraendern. Nun sieht aber P1 das die Cache Line veraendert wurde, usw ...
Im Falle des Einprozessorsystems und der falschen Schleifenanordnung ist es sehr aehnlich: nehmen wir folgenden einfachen C-Code:
int x,y;
for (x=0; x<width; ++x) {
for (y=0; y<height; ++y) {
A[x][y]+=1;
}
}
C speichert mehrdimensionale Arrays zeilenweise ab. Das heisst, das im Speicher zuerst alle Elemente fuer y=0 stehen, danach die Elemente fuer y=1 usw. (In Fortran ist es z.B. genau andersrum). Dadurch das aber y in der inneren Schleife steht, muss jedes Mal eine andere Zeile in den Cache kopiert werden. Allein durch das Vertauschen der beiden Schleifen kann der Code bis zu acht mal schneller ausgefuehrt werden, da dann die Elemente jeder Zeile bereits im Cache stehen und auch verwendet werden koennen.
dead_orc: Ich habe die Diskussion zu dieser Aussage mal hierhin ausgelagert.
MagicMagor
24.05.2008, 13:22
Hm, gerade das mit den 2D-Arrays in C ist sehr interessant, die kleinen Optimierungsmöglichkeiten die man hat wenn man weiß wie das ganze im Hintergrund abläuft. =)
Ich freue mich einfach mal hier auch mal was richtig gewußt zu haben und notiere mir dafür einen Gummipunkt. *notier*
Da ich keinerlei Ideen für passende Fragen/Rätseln habe gibt es eine erneute Freirunde.
dead_orc
26.05.2008, 09:14
Einfach damit das hier nicht einschläft mal wieder eine etwas einfachere Frage:
Was gibt der "Load" auf UNIX-Systeme an? (Lässt sich z.B. durch den Befehl uptime oder cat /proc/loadavg anzeigen)
Einfach damit das hier nicht einschläft mal wieder eine etwas einfachere Frage:
Was gibt der "Load" auf UNIX-Systeme an? (Lässt sich z.B. durch den Befehl uptime oder cat /proc/loadavg anzeigen)
Das war iirc die Auslastung des Systems. Ich weiß aber nicht mehr, wie der berechnet wird. Wahrscheinlich aus CPU Auslastung, Speicherverbrauch, offenen Prozessen und irgendwelchen anderen obskuren Daten ;)
Edit:
Schade, aber ich bin ja auch ein böser Windowsuser, ich muss das nicht wissen :P
dead_orc
26.05.2008, 18:03
Das war iirc die Auslastung des Systems.
Immerhin etwas, aber ich denke, das ist offensichtlich. :p
Ich weiß aber nicht mehr, wie der berechnet wird.
Schade, genau das wollte ich eigentlich wissen.
Wahrscheinlich aus CPU Auslastung, Speicherverbrauch, offenen Prozessen und irgendwelchen anderen obskuren Daten ;)
OK, damit hast du dich disqualifiziert. :D
Edit: Schade, dass es keine Antworten gab.
Als Auflösung die Kurzfassung: Der "Load" bzw. "Load Average" oder deshalb auch kurz LA gibt die durchschnittliche Länge der Run Queue des Prozessors über einen Zeitraum an. Die erste Zahl ist innerhalb der letzten Minute, die zweite innerhalb der letzten 5 Minuten und die letzte schließlich in den letzten 15 Minuten. Lustigerweise habe ich heute grade nen Artikel über UNIX Load Average (http://www.teamquest.com/resources/gunther/display/5/index.htm) gefunden, wer sich also noch informieren will, kann das da tun. :)
Kommt nix mehr? Dann hab ich mal ne einfache Frage:
Woher kommt der Name der Linux-Distribution Fedora und was bedeutet er?
Ein Fedora ist ein Hut (so ein Ding das die Leute in alten Gangsterfilmen tragen... dieses Typische Privatdetektiv-Ding, dazu passend einen Trenchcoat, Zigarre & co.... mir fällt grad ein... indy hat auch sowas in der Art an...)
edit:
Ok, Indy hat nicht nur sowas in der art an. Egal. Da es DFYX noch nicht als Antwort ausreicht, weiter gehts.
Logo von Red Hat(Distri) -> roter Fedora(Hut) und Fedora(Distri) stammt von Red Hat(Distri) ab.
Logo von Red Hat(Distri) -> roter Fedora(Hut) und Fedora(Distri) stammt von Red Hat(Distri) ab.
Das ist genau das, was ich hören wollte.
Dann machen wir gleich in diese Runde weiter, was heisst das Wort "Buch" in der Sprache der 'Ubuntus'? Nicht ne Wissensfrage, aber auch nicht einmal Google und fertig :p (extra undeutliche Fragestellung)
Brainstar
03.06.2008, 09:25
Ubuntu kommt aus der Sprache der Xhosa bzw. Zulu
Es bedeutet soviel wie Gemeinsinn.
Das Xhosa'sche Wort für Buch wäre "incwadi"
Brainstar: Gnah. Ich habs zuvor im IRC gepostet, und nicht hier. Und jetzt warst du auch noch schneller T_T
Brainstar: Gnah. Ich habs zuvor im IRC gepostet, und nicht hier. Und jetzt warst du auch noch schneller T_T
:p Brainstar ist dran.
dead_orc
23.06.2008, 08:14
*sigh* So wird das hier nie was. :o
Was ist der (die) Unterschied(e) zwischen Symlinks unter UNIX und Verknüpfungen unter Windows?
Zusatzfrage: Was ähnelt den Verknüpfungen mehr?
Symlinks werden auf Dateisystemebene verarbeitet, Windows-Verknüpfungen sind vom Explorer verwaltete normale Files. Oder so.
Wenn's richtig ist, Freirunde.
dead_orc
23.06.2008, 17:44
Symlinks werden auf Dateisystemebene verarbeitet, Windows-Verknüpfungen sind vom Explorer verwaltete normale Files. Oder so.
Genau das wollte ich hören. :D
Zusatzfrage: Was ähnelt den Verknüpfungen mehr?
Das sind natürlich die *.desktop Dateien, wie sie z.B. unter Ubuntu in /usr/share/applications liegen. Sie werden im Prinzip genau so verwendet ("Startmenü"-Einträge, Desktop-Icons, ...), können aber wesentlich mehr Informationen enthalten. (etwa mehrsprachige Titel)
Wenn's richtig ist, Freirunde.
Wenn's richtig ist, Freirunde.
Gut, dann frage ich mal: Warum ist die Benutzung der super() Funktion in Python problematisch?
Es suggeriert, wie in Ruby, die selbe Methode der Superklasse aufzurufen; tatsächlich ruft es aber nur die nächste Methode in der MRO (Method Resolution Order - afaik) auf.
Es suggeriert, wie in Ruby, die selbe Methode der Superklasse aufzurufen; tatsächlich ruft es aber nur die nächste Methode in der MRO (Method Resolution Order - afaik) auf.
Jo ist im Prinzip richtig. Problematisch wird das ganze bei Mehrfachvererbung, weil dann die MRO für seltsames Verhalten sorgen kann. Und das Mischen von super() und Aufrufen über die Klasse (Class.foo(obj, [...]) anstatt super(Class, obj).foo([...])) ist auch sehr böse, weil dann möglicherweise eine Methode doppelt aufgerufen wird - wenn man also super() benutzt, muss man es auch überall benutzen. Achja, was auch noch problematisch ist, wenn Methoden unterschiedliche Parameteranzahl haben, und das ganze dann über super() weitergegeben wird, kommt es auch da eventuell zu Fehlern... Mehr dazu gibt es hier (http://fuhm.net/super-harmful/).
Du bist dran :P
nenne ein Nicht-Microsoft-Betriebssystem, das mit Windows binärkompatibel ist!
drunken monkey
28.06.2008, 19:20
mov ecx,8
label_1:
dec ecx
call someproc
test ebx,ebx
jz label_2
inc ecx
jmp label_3
label_2:
dec ecx
label_3:
test exc, exc
jnz label_1
Wie kann man diesen Code weiter optimieren?
mov ecx,8
label_1:
dec ecx
call someproc
test ebx,ebx
jz label_2
inc ecx
loop label_1
jmp label_3
label_2:
dec ecx
loop label_1
label_3:
Das dürfte so ziemlich das einzige sein, denke ich. Hab' allerdings auch noch nie auf einem Intel assembliert, könnte also leicht komplett falsch sein. <__<'
Naja, und wenn man someproc vorher kennt, wären evtl. noch einige andere Sachen möglich (OK, Inlining z.B., aber halt noch anderes).
Wobei natürlich auch die Frage ist, worauf man optimiert.
Edit: Witnogargf ist da gerade passiert? o_O Wenn ich endlich mal was weiß! O__O
Ich hatte mich geirrt. Ich wollte auf etwas hinaus, was bei DIESEM Beispiel keinen Sinn macht (self-modifying code: sub byte ptr [label2], 8), außerdem hatte ich versehentlich zweimal ecx verwendet (eigentlich sollte die Schleife über ecx und das inc/dec über edx laufen). Daher hab ich meine Frage schnell geändert. Aber offenbar zu langsam.
nenne ein Nicht-Microsoft-Betriebssystem, das mit Windows binärkompatibel ist!ReactOS
Falls richtig, gebe ich ab...
okay, dann noch eine Frage: Welches Gerät (z.B. NUL, PRN, ...) erzeugt bei DR-DOS in Verbindung mit dem Befehl "type" eine endlose Schlange von Smilies (ASCII-Zeichen 0x01) als Ausgabe?
es ist CLOCK$.
http://cherrytree.at/misc/images/screens/ScreenShot_187_SubContainerWindow.png
Naja, dann mal wer anderer. Wird ja sonst langweilig der Monolog hier ;)
The Best Isaac
15.07.2008, 17:35
Was erwartest du auch bei solchen Fragen?
Mal etwas, was jeder angehender Informatiker nach der Ausbildung wissen muss:
Für was braucht man eine Subnetzmaske bei IPv4 ?
The Best Isaac
15.07.2008, 20:33
Um den Standardgateway zurückrechnen zu können?
Verdammt, das ist schon so lang her, ich wusste es mal sicher. xD
Um den Standardgateway zurückrechnen zu können?Echt? Wusste ich selbst nichtmal xD
Ich meinte das eher im Zusammenhang mit Netzen, die Antwort ist eig. ganz einfach ;)
Mal etwas, was jeder angehender Informatiker nach der Ausbildung wissen muss:
Für was braucht man eine Subnetzmaske bei IPv4 ?
Um die IP korrekt handhaben zu können. Die Subnet-Maske gibt an, welcher Teil der IP die Net-ID und welcher Teil die Host-ID ist. Ohne die Subnet-Mask weiß man nicht, um welche Klasse es sich bei der IP handelt und kann sie nicht dem korrekten Netz zuweisen.
Um die IP korrekt handhaben zu können. Die Subnet-Maske gibt an, welcher Teil der IP die Net-ID und welcher Teil die Host-ID ist. Ohne die Subnet-Mask weiß man nicht, um welche Klasse es sich bei der IP handelt und kann sie nicht dem korrekten Netz zuweisen.Sehr ausführlich und absolut korrekt :)
Ynnus ist dran
dead_orc
16.07.2008, 12:39
Um die IP korrekt handhaben zu können. Die Subnet-Maske gibt an, welcher Teil der IP die Net-ID und welcher Teil die Host-ID ist. Ohne die Subnet-Mask weiß man nicht, um welche Klasse es sich bei der IP handelt und kann sie nicht dem korrekten Netz zuweisen.
Ist das mit den Klassen nicht total obsolete und vollkommen egal? xD
Och menno, lasst doch den Thread nicht dauernd sterben^^.
Frage, die für einen fortgeschrittenen Linuxuser Peanuts sind:
Mit welchem Dienstprogramm/Befehl konfiguriert man unter Linux ab Kernel 2.4 eine Firewall? Der Befehl ist absolut ausreichend. Beispielparameter o.Ä. sind nicht nötig...
Maisaffe
26.07.2008, 19:44
iptables.
iptables.
Ist klar ;) . Maisaffe ist dran...
Maisaffe
27.07.2008, 16:50
Wie heißt die (esoterische) Programmiersprache des folgenden Skripts?
HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYEWenn das nicht leicht ist. ;-)
Crash-Override
27.07.2008, 17:18
War es nicht "lolcode"? ich weis ja nicht ob es dafuer schon einen Interpreter gibt, aber muesste es nicht auch VISIBLE "ERROR!" heissen, wenn VISIBLE das Print-Command ist?
Maisaffe
27.07.2008, 18:16
War es nicht "lolcode"? ich weis ja nicht ob es dafuer schon einen Interpreter gibt, aber muesste es nicht auch VISIBLE "ERROR!" heissen, wenn VISIBLE das Print-Command ist?Genau, das ist Lolcode. Die Frage mit VISIBLE stelle ich mir auch. Das Skript habe ich aus der englischen Wikipedia. Weiter gehts! :-)
INVISIBLE gibt auf STDERR aus anstatt auf STDOUT.
Crash-Override
28.07.2008, 07:45
Wieso laesst sich folgendes C# Programm nicht kompilieren (und nicht nur den Fehler nennen, das geht ja einfach durch Copy&Paste in eine IDE)?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}
The Best Isaac
29.07.2008, 00:49
Die Main-Methode muss als static deklariert werden, damit das Programm ausgeführt werden kann, ohne dass die Klasse Program instanziiert werden muss. So hab ich das jetzt zumindest herausgefunden.
Crash-Override
29.07.2008, 04:45
Die Main-Methode muss als static deklariert werden, damit das Programm ausgeführt werden kann, ohne dass die Klasse Program instanziiert werden muss. So hab ich das jetzt zumindest herausgefunden.
Jo, dann mach du mal weiter.
The Best Isaac
29.07.2008, 04:56
Da ich so unkreativ im Ausdenken von Fragen bin und mir erst recht nichts anspruchsvolles einfallen würde, geb ich ab. >_>
Freirunde.
Wie wollte Linus Torvalds seinen Kernel ursprünglich nennen?
freundliche Grüße, Rolus
Crash-Override
08.08.2008, 20:07
Freaks Freakx natuerlich. Frei Runde wenn es stimmt (wird es wohl, da das buch hier auf meinem Schreibtisch steht und ich's grad nochmal nachgeschlagen habe (S. 97 in der deutschen Ausgabe; Zeile 7)
Stimmt eigentlich. Auch wenn mir nicht ganz klar ist, wieso du ein k vor das x gesetzt hast. Bin vorhin beim Stöbern in den Kernel 0.01 Sourcen über den Namen gestolpert. Die Kommentare sind teilweise nicht schlecht. :)
/*
* PS. I hate whoever though up the year 1970 - couldn't they have gotten
* a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy.
*/
freundliche Grüße, Rolus
Toll mit der Zeilen- und Seitenangabe und so, aber ohne den Buchtitel wird das niemandem was bringen. :D (was es sowieso nicht tut :p hört sich eher nach ner guten Überbrückung der Mindest-Wort-Regel an.)
Don Cuan
09.08.2008, 12:22
Toll mit der Zeilen- und Seitenangabe und so, aber ohne den Buchtitel wird das niemandem was bringen. :D (was es sowieso nicht tut :p hört sich eher nach ner guten Überbrückung der Mindest-Wort-Regel an.)
Hab dich nicht so :o! Er hat nur ein Buch zuhause, da fällt einem so etwas nicht auf :D.
Okay, neue Frage:
Der Codename von Debians unstable-Zweig ist sid. Welcher inoffizielle Codename wird deshalb für den weniger stabilen experimental-Zweig benutzt?
dead_orc
12.08.2008, 19:55
Hab dich nicht so :o! Er hat nur ein Buch zuhause, da fällt einem so etwas nicht auf :D.
Okay, neue Frage:
Der Codename von Debians unstable-Zweig ist sid. Welcher inoffizielle Codename wird deshalb für den weniger stabilen experimental-Zweig benutzt?
Mich würde ja schon die Antwort interessieren. Ich wusste bis eben nichtmal, dass es nen experimental Zweig gibt.
Eine recht einfache Frage: Nenne ein NP-äquivalentes Problem.
Don Cuan
12.08.2008, 21:15
Mich würde ja schon die Antwort interessieren. Ich wusste bis eben nichtmal, dass es nen experimental Zweig gibt.
Es wäre scud gewesen.
http://npshare.de/files/37/2326/Scud.jpg
Scud ist in Toy Story der Hund von Sid, der genauso gerne Spielzeuge zerstör wie sein Herrchen.
Und in experimental landen hauptsächlich SVN- und Beta-Versionen sowie Programme, die noch nicht vollständig an Debian angepasst worden. KDE 4 war z.B. lange nur in dem Zweig verfügbar.
dead_orc
16.08.2008, 12:20
War die Frage doch zu schwer oder hat einfach keiner mehr Lust auf das Quiz? :(
Eine mögliche Antwort wäre das Travelling-Salesman-Problem gewesen, bei welchem man die kürzeste Rundreise durch n Städte sucht.
Crash-Override
16.08.2008, 20:26
War die Frage doch zu schwer oder hat einfach keiner mehr Lust auf das Quiz? :(
Eine mögliche Antwort wäre das Travelling-Salesman-Problem gewesen, bei welchem man die kürzeste Rundreise durch n Städte sucht.
Wir koennten ja Punkte pro Antwort vergeben (hier mal der Stand bisher ):
[b]dead_orc 4
drunken monkey 4
Crash-Override 3
DFYX 3
Drakes 3
Manuel 3
Cherry1 2
Indy 2
mq 2
Brainstar 1
Deathball 1
Don Cuan 1
Freierfall 1
kikka 1
MagicMagor 1
Maisaffe 1
Manni 1
Sephiroththe23 1
The Best Isaac 1
Underserial 1
Ynnus 1
Wie waere es mit dieser Frage:
Wie hiess der erste "Personal Computer", der 1975 schon (bei Selbstaufbau) fuer nur $439 zu erstehen war?
Altair 8800 und eigentlich ist er dann für $375 rausgekommen. 8)
Crash-Override
17.08.2008, 14:43
Altair 8800 und eigentlich ist er dann für $375 rausgekommen. 8)
Ja, der Altair war's, aber nach dem Englischen Wikipedia sind es meine $439 (http://en.wikipedia.org/wiki/Altair_8800#The_launch).
So, damit bist du auch auf Platz 1 der eh "Hall of Geeks" oder so.
dead_orc 4
Drakes 4
drunken monkey 4
Crash-Override 3
DFYX 3
Manuel 3
Cherry1 2
Indy 2
mq 2
Brainstar 1
Deathball 1
Don Cuan 1
Freierfall 1
kikka 1
MagicMagor 1
Maisaffe 1
Manni 1
Sephiroththe23 1
The Best Isaac 1
Underserial 1
Ynnus 1
Das ist meine Quelle. (http://www.maxmon.com/1973ad.htm)
Who's that guy?
http://img207.imageshack.us/img207/8932/guy01rg4.jpg
starlight86
26.08.2008, 23:21
ist das Alan Turing?
ich habe kein Bild gefunden, auf welchem er ähnlich alt ist, aber wirkt mir passend genug
Wenn ja, eine einfache Frage (passend zu Turing):
Wer kann mehr berechnen: ein Computer oder eine Postmaschine?
Was ist eine Postmaschine?
Ich würde mal sagen, dass beide das selbe berechnen können, sofern beide Turing-vollständig sind.
Whiz-zarD
01.09.2008, 13:06
Was ist eine Postmaschine?
Das selbe frag ich mich auch.
Eine Postmaschine ist im Grunde nichts weiter, als ein mail Server. Also ein Computer.
Wenn er aber mit Postmaschine eine Briefsortieranlage meint, muss ich leider dazu sagen, dass die Sortierung über einen Server läuft. Vor 6 Jahren lief dafür ein Server mit 4x Pentium 3 Prozessoren und 4 GB RAM. Als OS lief dort Win2k Server.
Wie es heute aussieht, weiss ich nicht ^^
Also auch nur ein stinknormaler 100% kompatibler IBM Computer.
Und was hat der Turing-Test mit der Frage zu tun?
dead_orc
01.09.2008, 15:45
Das selbe frag ich mich auch.
Eine Postmaschine ist im Grunde nichts weiter, als ein mail Server. Also ein Computer.
Wenn er aber mit Postmaschine eine Briefsortieranlage meint, muss ich leider dazu sagen, dass die Sortierung über einen Server läuft. Vor 6 Jahren lief dafür ein Server mit 4x Pentium 3 Prozessoren und 4 GB RAM. Als OS lief dort Win2k Server.
Wie es heute aussieht, weiss ich nicht ^^
Also auch nur ein stinknormaler 100% kompatibler IBM Computer.
Und was hat der Turing-Test mit der Frage zu tun?
Meine Vermutung geht ja dahin, dass eine Postmaschine eine abstrakte Maschine ist, aber sicher bin ich mir da auch nicht - ich hab von Automaten keine Ahnung. :D
Das mit dem Turing-complete wäre mir vielleicht sogar auch noch eingefallen, wenn ich nicht die Frage so verstanden hätte, wer in der selben Zeit mehr berechnen kann. Im Bezug auf Turing (wie vor der Frage ja erwähnt ^^) macht die Antwort von malu Sinn, auch wenn ich ja vermute, dass nicht beide Turing-complete sind.
Schon lustig, dass aus einer Frage noch viel mehr Fragen entstehen. :rolleyes:
*seufz* Turing-Vollständigkeit hat nichts mit dem Turing-Test zu tun. Außer dass beides zufällig nach der gleichen Person benannt ist.
http://de.wikipedia.org/wiki/Turing-Test - Test auf Intelligenz
http://de.wikipedia.org/wiki/Turing_Vollst%C3%A4ndigkeit - Begriff aus der Berechenbarkeitstheorie
Whiz-zarD
01.09.2008, 18:41
*seufz* Turing-Vollständigkeit hat nichts mit dem Turing-Test zu tun. Außer dass beides zufällig nach der gleichen Person benannt ist.
http://de.wikipedia.org/wiki/Turing-Test - Test auf Intelligenz
http://de.wikipedia.org/wiki/Turing_Vollst%C3%A4ndigkeit - Begriff aus der Berechenbarkeitstheorie
Dennoch erklärt das nicht, was eine Postmaschine sein soll *seufz*
Denn ein MailServer oder eine Briefsortieranlage kann dies nicht sein.
Vielleicht meinst du auch die Briefmarkenautomaten.
Sobald ich weiss, läuft da Windows CE drauf und Windows wurde u.a. mit C geschrieben und C ist Turing-Vollständig.
Ich mein, selbst unter google findet man unter "Postmaschine" nichts, ausser ein paar amerikanische Seiten, die sowas wie MailServer anbieten.
Jo, das bleibt das große Mysterium. Ganz ehrlich, ich dachte mir zuerst irgendwie, dass das stark nach einer Scherzfrage klingt *g*
Whiz-zarD
01.09.2008, 21:44
Jo, das bleibt das große Mysterium. Ganz ehrlich, ich dachte mir zuerst irgendwie, dass das stark nach einer Scherzfrage klingt *g*
Scherzfrage, wenn google nicht mal darauf ne Antwort weiss? :rolleyes:
Da die Frage irgendwie unlösbar scheint, mache ich mal weiter...
Wie heißt der Open-Source Windows-Pendant?
Singularity, deren Erkenntnisse in das (nichtmehr offene) Midori fließen werden...
Ich denke, es ist eher ReactOS gemeint, der Versuch, Windows XP komplett als Open Source nachzubauen.
Jo DFYX ist richtig mit ReactOS.
Singularity ist zwar auch Open-Source, aber es verfolgt eine komplett anderen Aufbau als die bisherigen Windowse und ist daher eher eine Weiterentwiecklung(sogar nur ein Testsystem), als ein Pendant.
Woraus bestand das Gehäuse des ersten Google-Servers bzw. wie sah es aus?
dead_orc
06.09.2008, 16:20
Woraus bestand das Gehäuse des ersten Google-Servers bzw. wie sah es aus?
Ich meine mich zu erinnern, dass das aus Lego war, sicher bin ich mir aber nicht. Und wie es aussah weiß ich erst recht nicht mehr.
Ich meine mich zu erinnern, dass das aus Lego war, sicher bin ich mir aber nicht. Und wie es aussah weiß ich erst recht nicht mehr.
Reicht völlig. Das Servergehäuse war aus wild zusammengewürfelten Legosteinen gebaut und dementsprechend bunt.
Da Orkey keine neue Frage gestellt hat stelle ich mit Fyxens Erlaubnis eine Frage zur allgemeinen Erheiterung.
In jeder langjaehrigen Programmiererfahrung kommt es unweigerlich dazu, dass man sich die eine oder andere Macke beim Schreiben von wartbarem Code zuzieht, um die Lesbarkeit ungemein zu erhoehen. So ist gerade eben in einem kleinen Testprojekt bei mir folgende Codezeile entstanden ...
for( static int r,g,b,d=0; d=!d; backgroundcolor = RGB (
(++b>=32 && (b=0,++g>=32) && (g=0,++r>=32)) ? r=0 : r, g, b )) ;
Diese Zeile steht mit einigem anderem kram in einer while(1) Schleife.
Die Frage also: Was macht diese Codezeile bei wiederholtem Aufrufen ?
Nach einiger Dankzeit würde ich sagen, der Code folgendes macht:
Er ruft die For-Schleife nur ein einziges mal (Aufgrund von d=!d, was nur einmal true sein kann).
Dabei setzt er den Blauwert sowie, den Grünwert auf 0. Der Rotwert wird nur dann auf 0 gesetzt wenn beim Start der Schleife ++r ++g ++b >=32 sind, ansonsten behält r seinen Wert. Diese informationen werden, nun an eine Funktion geben die aus den Werten rgb eine einzige Variable macht, die die Hintergrundfarbe anzeigt. Daher:
Die Hintergrundfarbe ist rot (r ist nie größer 31 und g, b sind sowieso auf 0 gesetzt). Bei jedem neuem Durchlauf wird r um eins erhöcht und wird heller, bis r g b >= 31 sind, wo r = 0 gesetzt wird (oder einfach nur immer plus eins zählt und so immer heller wird bis es 255 ist und dann wieder umschwingt und von vorne beginnt).
Das ist was ich verstanden hab, bloss irgendwas sagt mir das es nicht stimmen kann, da diese Funktion irgendwie keinen Sinn ergibt o.O .
nop, nicht richtig. wirklich alles in der Zeile ist wichtig. und alle variablen koennen sich aendern.
Also doch wie ich gedacht habe, aber ich verstehe nicht ganz wieso das for-Konstrukt verwendet wird. RGB wird einmal pro Schleifenaufruf aufgerufen, und wenn man das jetzt so ungefähr 32^3 machen würde, begäne das ganze von vorne. Um es zu veranschaulichen:
for(int r=0; r<32; r++)
for(int g=0; g<32; g++)
for(int b=0; b<32; b++)
backgroundcolor = RGB(r, g, b);
Wobei es am Schluss noch einen Spezialfall von 0, 31, 31 gibt.
was meinst du mit Spezialfall von 0,31,31 ?
Aber das ganze lasse ich mal gelten. Zwar wird backgroundcolor = RGB(r, g, b); nicht in so einer Schleife wie bei dir aufgerufen, sondern die Werte aendern sich bei jedem Durchlauf der While-Schleife einmalig, aber was solls.
Ich fand jedenfalls den Code schoen obscure und er verdeutlicht gut die Verwendung des Komma-Operators.
Drakes ist dran.
Wird nichts, Freirunde.
Btw. versteh ich eigentlich doch nicht ganz wie das da mit dem Kommaoperator funktioniert. o_O
Dann schau mal, wo in meinem Quelltext ueberall Kommata stehen ...
Die For-Schleife ist im uebrigen nur dazu da, um die variablendeklaration ebenfalls in dem Einzeiler unterzubringen und darin zu kapseln.
Welche Zahl ist das:
0x101011101111001
Welche Zahl ist das:
0x101011101111001
Taschenrechneraufgabe: 72340241558605825, wobei ich mir nicht sicher bin, ob du wirklich 0x101011101111001 und nicht die Binärzahl 101011101111001, was 22393 wäre.
Taschenrechneraufgabe: 72340241558605825 ... 22393
Wäre es nicht 72340241558605820 (sagen mir die Konverter, kann aber nicht sein, wegen der letzten 1 O.o), und nein, ich meinte schon hexadezimal, sonst hätte ich 0b als präfix genommen. (hättest du doch nur nur 22393 geschrieben) :p Du bist dran.
Wäre es nicht 72340241558605820 (sagen mir die Konverter, kann aber nicht sein, wegen der letzten 1 O.o), und nein, ich meinte schon hexadezimal, sonst hätte ich 0b als präfix genommen. (hättest du doch nur nur 22393 geschrieben) :p Du bist dran.
Also wenn ich's in einen Python-Interpreter eingebe, gibt der mir Mogs Ergebnis.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.