Beiträge von tsp

    b) eine DVD erstellen, die keinen Ländercode enthält.
    Welches Programm empfiehlt ihr dafür? habt ihr damit Erfahrungen? kennt ihr womöglich eine gute Anleitung dafür?

    Das ist mit DVD Shrink kein Problem http://www.dvdshrink.org/what_de.php . Hierzu muss man die DVD allerdings zuerst in einen Lesbaren Zustand versetzen. Da der Regionscode im Laufwerk geprüft wird, muss man bei nicht Regionsfreien Laufwerken für das Backup mindestens einmal den Regionscode wechseln (und dann wieder auf den alten zurück - also zwei Wechsel)

    (Sofern die DVD verschlüsselt ist und DVD Shrink Probleme hat sie zu lesen, kann man das Problem meistens dadurch umgehen, die DVD vorher mit VLC wiederzugeben ...)

    Wisst ihr ob das VGA-Kabel zum Beamer in den Hörsälen durchgehend ist oder ist da ein Converter/Verstärker dazwischen?!

    Wie das in den Hörsälen gelöst ist weiß ich persönlich auch nicht - aber längere VGA Kabel stellen so weit ich weiß kein so großes Problem dar (bei guten Kabeln) ... hab bei mir eine 12 Meter Leitung liegen die bei Auflösungen bis 1024*768 noch keine Probleme gemacht hat

    Aber sonst sind die Dritten-Firewalls meist nicht besser als die von integrierte von Windows (bzgl. Sperrmöglichkeiten). Sie zeigen aber meist detailliertere Informationen direkt an. Auch verlangsamen sie das System erheblicher.

    Gleich vorweg ich weiß nicht wie das in Firewalls wie ZoneAlarm in aktuellen Versionen gehandhabt wird (ist eine Zeit lang her, dass ich was anderes als die Standard Windows Firewall verwendet hab).

    Prinzipiell hatte ich mit den meisten Drittprodukten dass Problem, dass bei jeder Kleinigkeit wie Verbindungsanforderungen von außen, etc. ein Popup angezeigt wurde. Das hat dann bei den meisten Benutzern die Angst ausgelöst, dass ihr Computer gerade angegriffen wird (obwohl zum Beispiel in P2P Anwendungen einfach noch die falsche IP Adresse gesichert war, etc.). Das mehr an Informationen ist ja gut und schön aber sollte meiner Meinung nach wenn schon in Logfiles landen (außer es geht einmalig um die Freigabe von lokalen Anwendungen - die dann wiederum wie bereits geschrieben nur mit Administrator Rechten möglich sein sollte - war in älteren Versionen auch unter Benutzerrechen möglich).

    Was man natürlich nie außer Auge lassen sollte ist, dass sich die meisten Personal Firewalls eigentlich nur dazu eignen, Programme davon abzuhalten, Verbindungen nach Außen aufzubauen oder die Verbindung auf Ports von extern zu unterbinden. Sofern es Fehler in Komponenten im Netzwerkstack gibt helfen die natürlich nix.

    im pdf konverter, PDF als text-tabelle rendern, ins word oder so laden und dann als html speichern ... sauber: nein, aber nicht absolut positioniert XD

    PDFs sind zum rück konvertieren einfach nur scheisse... :o

    Wenns nur um den Text im PDF geht würd pdf2txt eine schöne Ausgabe liefern (einfach nur Plain ASCII ohne jegliche Formatierung, etc.). Das die Formatierung verloren geht ist in dem Fall wahrscheinlich eh kein Verlust weil man ein für Papier entwickeltes Layout sowieso nicht direkt via HTML abbilden kann (ähm sollte). Das fehlen der Bilder sowie der Semantik (Überschrift, etc.) ist bei der Methode natürlich ein Nachteil

    Tu das Gemeinsame am besten an den Anfang der Struktur, dann mußt du nicht mit Offsets rumtun. Der C-Standard garantiert, daß das Layout von Strukturen mit gleichen Anfangselementen in diesen Elementen identisch ist. Damit kannst du eben direkt (nodeTypeA *) und (nodeTypeB *) auf (listNode *) casten.

    Das ist dann solange möglich, solange jede Struktur nodeTypeA und nodeTypeB genau in einer einzelnen Liste liegt. Die Offsets waren bei mir dann notwendig, weil ich mehrere unterschiedliche Listen (bzw. mit einer ähnlichen Implementierung Bäume) hatte, in denen ein und die selbe Struktur indiziert wurde.


    Kann mir da grad kein plausibles Problem ausmalen.

    Wenn die Struktur (listNode) nicht in jeder Struktur (nodeTypeA, nodeTypeB) gerade am Anfang der Struktur liegt, kann es unter gewissen Umständen zu Problemen mit dem Packing der Strukturen bei der Optimierung kommen (wenn unterschiedliche Datentypen vor den jeweiligen listNode Strukturen liegen).

    Aber stimmt prinzipiell das man das einfach dadurch umgehen kann, dass man die für die Listen bzw. Bäume notwendigen Strukturen einfach an den Anfang der Struktur schreibt

    Ich verwende aktuell MySQL 5.1.30 unter FreeBSD 7.0. Die Daten liegen alle auf einem seperaten ZFS Dateisystem. Da einige meiner Anwendungen Transaktionen brauchen, kann ich leider nicht die MyISAM Storage Engine, sondern muss InnoDB verwenden. Das hat bis jetzt auch immer gut funktioniert. Damit es zu keinen Problemen mit nicht geschriebenen Daten kommt sind der Write Cache der Festplatten sowie die Write Cache Funktionen des OS für dieses Dateisystem deaktiviert.

    Letzte Woche hatte ich zwei Stromausfälle, nach denen es eigentlich keine Probleme geben sollte, MySQL wieder ohne Probleme zu starten. Beide male hat MySQL das Starten mit der Meldung

    Code
    InnoDB: Error: log file ./ib_logfile0 is of different size 0 5243392 bytes
    InnoDB: than specified in the .cnf file 0 5242880 bytes!

    verweigert. Natürlich ist's dann möglich, die Datenbank durch ein truncate der Logdateien dazu zu bringen, wieder hochzukommen - ganz wohl ist mir bei der Angelegenheit natürlich nicht (immerhin sind die ja für das Crash Recovery da, um ungeschriebene Daten wieder zu sichern).

    Ist jemandem von euch ein ähnliches Problem schon mal untergekommen? Wisst ihr eventuell, ob das ein Problem an InnoDB ist (d.h. die eigentlich noch nicht wirklich einsatzbereit ist)?

    Ich hab eine Liste mal so implementiert, dass ich eine Struktur "listNode" definiert habe, die ich dann in jeder enthaltenen Struktur an einer definierten Position eingefügt hab

    die Zugriffsfunktionen haben dann jeweils einen Typecast der nodeTypeA bzw. nodeTypB auf listNode durchgeführt. Wenn eine Struktur in mehreren Listen vorhanden sein sollte, hab ich bei der initialisierung des List Roots einen unsigned long int Parameter übergeben, der den relativen Offset der listNode Datenstruktur in den jeweiligen Strukturen erhalten hat (per offsetof) hinzugefügt ...

    Einziger Haken an so einer Implementierung ist natürlich, dass man sowohl mit den Positionen der Listen Navigationsdaten innerhalb des Objekts sehr leicht durcheinander kommt als auch durch Compiler Optimierungen böse Überraschungen erleben könnte ...

    Eine meiner Bekannten schreibt derzeit an einer Diplomarbeit an einer Tourismus FH über das Thema "Reiseführer". Für diese führt sie eine kurze Umfrage durch - da sich bis jetzt erst wenige Antworten ergeben haben wäre es hilfreich, wenn einige von euch bis Dienstag die Online-Version dieser (anonymen) Umfrage unter http://www.tspi.dyndns.org:9100/sarah/ ausfüllen könnten (es sind 13 kurze Multiple-Choice bzw. Auswahlfragen).

    Und die Dokumentation, die ich von Microsoft her kenne, war bisher auch das beste, was ich erlebt habe.

    Das kann ich nur bestätigen. Die Platform- bzw. Windows-, DirectX und .NET SDK enthalten die beste API Dokumentation die ich bei Software jemals erlebt habe. Leider gibt's auch jede Menge Dokumentation die nicht "frei" (ich mein hiermit kostenlos erhältlich) zugänglich ist - wie zum Beispiel das DDK bzw. das IFS Kit; Andere Technologien wie NTFS sind von Microsoft selbst dann gar nicht mehr dokumentiert.

    Die Philosophie "Source als Dokumentation" finde ich persönlich für APIs nicht passend (man muss sich immer durch Tonnen Code wühlen bis man die notwendigen Funktionen findet und muss sich schon relativ gut im jeweiligen Projekt auskennen um was zu finden).

    Natürlich muss man bei Open Source Projekten zugunsten anmerken, dass Microsoft so gute Dokumentation nur produzieren kann weil eigene Abteilungen daran arbeiten - bei OpenSource Projekten liegt das Hauptinteresse der Entwickler selbstverständlich im Modifizieren bzw. Weiterentwickeln der Anwendung selbst und der Dokumentationsschritt ist dann meistens sehr mühsam - bei einigen Projekten aufwändiger als die Programmentwicklung selbst.

    Und ich kann definitiv nicht bestätigen, dass die Produkte aus dem Hause Microsoft für einen Anfänger besser geeignet wären...

    Naja vielleicht ist die Lernkurve am Anfang etwas steiler ... dafür funktioniert dann relativ schnell alles was man sich so vorstellen kann und rennt über Jahre stabil (hab an meinem Server unter FreeBSD seit 6 Jahren außer den normalen Updates nix ändern müssen ... extrem leicht zu konfigurieren - halt jede Menge Handbuch zu lesen wenn mans das erste Mal macht aber mit Google kommt man da relativ schnell ans Ziel. Das letzte Reboot gab's beim Umstieg auf FreeBSD 7 relativ spät vor ca einem Monat).

    Ist halt beim ersten Umsteigen etwas ungewohnt das z.b. die Packet Filter default so eingestellt sind das nicht alles durchgeht um man erst freigeben muss ...

    Ja das mit dem Iterieren würde dann so funktionieren. Das Problem mit dem Byte-Ordering betrifft nur Daten die unmodifiziert von anderen Systemen kommen ... da ich die mpg123 Bibliothek leider noch nie verwendet habe bin ich mir nicht sicher ob das eventuell passieren könnte ... Wenn alle Daten von der Bibliothek errechnet werden sollt's damit keine Probleme geben.

    Wenn ich die Frage korrekt verstanden hab und die Werte im (unsigned char*) Array direkt den (unsigned int*) Werten entsprechen (d.h. wenn der unsigned char* hier nur verwendet wurde um keinen void* zu verwenden) und im Byte Ordering des aktuellen Systems vorliegen könntest du den unsigned char* einfach als unsigned int* interpretieren:

    Code
    unsigned char outmem[];
    unsigned int *lpSource;
    
    
    lpSource = (unsigned int*)(outmem);

    Wenn das Byteordering allerdings nicht dem des aktuellen Systems besteht, müsstest du die einzelnen Bytes (unsigned char) auslesen und mit Bitshift Operatoren sowie logischen Or zu den (unsigned int) zusammensetzen:

    Code
    unsigned int res_i = 
    ((unsigned int)(outmem[i*4+0])) | 
    (((unsigned int)(outmem[i*4+1])) << 8) | 
    (((unsigned int)(outmem[i*4+2])) << 16) |
    (((unsigned int)(outmem[i*4+3])) << 24);

    Vergleichs"problem"

    PHP
    <?php
       if("00E0" == "00E1") {
          echo("Equal");
       } else {
          echo("Not equal");
       }
    ?>


    Weiß jemand von euch, wieso der Vergleichsoperator in PHP bei zwei Zeichenketten wie im obigen Beispiel true liefert? (Getestet auf PHP 5.2.5 (cli) mit der Zend Engine v2.2.0 unter FreeBSD und PHP 5.2.6 (cli) mit der Zend Engine v2.2.0 unter Windows). Laut PHP Handbuch sollte PHP die Zeichenketten in diesem Fall als Hexadezimal interpretieren - in dem Fall müsste der vergleich false liefern. Der Vergleich bei expliziter Umwandlung von Hexadezimal auf Dezimal liefert das Ergebniss, das ich erwarten würde ...

    PHP
    <?php
       if(hexdec("00E0") == hexdec("00E1")) {
          echo("Equal");
       } else {
          echo("Not equal");
       }
    
    
    ?>