Aussehen
Suche Einloggen
[c] [meta] [fefe] [erp]

5464 Ergebnisse

[0] ... [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] ... [273]
  • [l] Lynx- Wed, 09 Jan 2019 07:32:22 GMT Nr. 6012
    test
  • [l] Lynx-Pfostierungen Felix Wed, 09 Jan 2019 05:25:23 GMT Nr. 6010
    JPG 1152×2048 319.3k
    scheitern mit einem 400 Bad Request aus Felix nicht erkenntlichen Gründen. Bitte um Behebung. Felixens Versuchpfosten kam von der selben IP.
  • [l] Felix Mon, 07 Jan 2019 04:22:38 GMT Nr. 5950
    PNG 642×458 22.3k
    >>5949
    Nett!
    >Ärgerlicherweise bleiben ausgerechnet auf diesem Brett alle Eingabefelder weiß.
    Kann das Problem nicht nachvollziehen, bei mir funktioniert es.
  • [l] Sehr einfache, augenfreundliche userContent.css Felix Mon, 07 Jan 2019 00:38:11 GMT Nr. 5949
    @-moz-document domain("dietchan.org"), domain("kohlchan.net") {
    	a,body,input[type="text"],input[type="password"],textarea,
    	.username,.quote,
    	.banner/*KC*/,
    	h2,.ban,.boardlist,.file,.name,.pages,.post,.quote2,.sage,.sticky/*KC*/
    	{		/* Grundstil */
    		background-color:	#222	!important;
    		color:			#ccc	!important;
    		border-width:		0	!important;
    	}
    	.subject,
    	h1,h2,.banner/*KC*/
    	{		/* hervorgehoben */
    		color:			#0c0	!important;
    	}
    }
    

    Ärgerlicherweise bleiben ausgerechnet auf diesem Brett alle Eingabefelder weiß. Hat Jemand Ahnung, wie ich den Brauserier dazu überreden kann?
  • [l] Zuse ## Admin Sun, 06 Jan 2019 09:57:57 GMT Nr. 5939
    Ich habe mal ein paar der angesprochenen Dinge geändert. Probier mal die neue Version.

    Falls hier demnächst etwas kaputt geht, wisst ihr woran es lag.
  • [l] Zuse ## Admin Sun, 06 Jan 2019 04:11:51 GMT Nr. 5938
    >>5936
    Du brauchst nicht nur dietlibc, sondern auch die richtige Version. Zum Zeitpunkt der Veröffentlichung war das die Trunk-Version und nun die 0.34, weil in der damals aktuellen Version 0.33 noch einige Sachen nicht implementiert waren (z.B. SHA-Hashes und die Race-Condition-freie Version von realpath()). Außerdem muss libowfat dann auch gegen dietlibc gelinkt sein. Das ist alles nicht unbedingt gegeben, wenn man aus einem Repository installiert. Dependencies zu installieren ist sowieso immer mühsam. Ich wollte die Einstiegshürde so gering wie möglich halten. Man sollte es einfach runterladen können und einen Befehl ausführen können, um es zu kompilieren.

    >Ich versuche es immer noch zum laufen zu bekommen. Ich schreibe wie im Beispiel gleich nach dem Öffnen in die neue Datei und der Bus-Error ist verschwunden. Jetzt ist ein neuer in db_hashmap_init und wieder mit byte_zero().
    Versuch mal, die Datei gleich am Anfang auf eine größere Größe zu initialisieren. Die Datei wächst nämlich dynamisch, während sie gefüllt wird. Ich glaube, es ist aber offiziell undefiniertes Verhalten, wie mmap sich verhält, wenn man über das Dateiende hinausmappt (wusste ich zu dem Zeitpunkt aber auch nicht). Beispiel: Sagen wir mal du mappst 10 MB, aber deine Datei ist nur 2 MB groß. POSIX gibt dir die Garantie, dass du auf die ersten 2 MB zugreifen kannst. Wenn jetzt aber die Datei auf 4 MB wächst, dann ist nach POSIX nicht garantiert, dass du auf mehr als die ersten 2 MB zugreifen kannst, obwohl die 4 MB noch in den gemappten 10 MB sind. Unter Linux funktioniert es aber. Vielleicht geht das unter BSD nicht.

    Lösung könnte sein, nach dem Vergrößern der Datei mmap erneut aufzurufen, mit MAP_FIXED als Flag. Dummerweise gibt es aber wiederum keine Garantie, dass MAP_FIXED auch beachtet wird. Aber solange sich die gemappte Größe nicht ändert, sehe ich keinen Grund, warum ein Betriebssystem das Flag nicht beachten sollte.

    Ich würde es erst mal zum Testen damit probieren, die Datei gleich zu Anfang auf eine größere Größe zu initialisieren, z.B. auf 10 MB. Das sollte reichen (die db von dietchan.org ist aktuell 2.1 MB groß).
  • [l] Felix Sat, 05 Jan 2019 22:13:28 GMT Nr. 5936
    PNG 512×512 16.6k
    >Mit dietlibc ist das alles etwas schwierig.
    Elaboriere "das alles". Gibt's kein 'make install' oder tut es einfach nicht das Richtige?

    Ich versuche es immer noch zum laufen zu bekommen. Ich schreibe wie im Beispiel gleich nach dem Öffnen in die neue Datei und der Bus-Error ist verschwunden. Jetzt ist ein neuer in db_hashmap_init und wieder mit byte_zero().
  • [l] Zuse ## Admin Thu, 03 Jan 2019 16:53:35 GMT Nr. 5876
    >>5874
    >Du wirst deine Gründe dafür haben, aber dass es zwei db_init-Prototypen gab
    Hmm, nein, eigentlich nicht. Weiß selber nicht mehr, warum das so ist. Vielleicht war es mal irgendwas zum debuggen, was ich danach nur unvollständig wieder entfernt habe.

    Bezüglich CMake: Zum Entwickeln am besten in src/dietchan wechseln und dort bauen. So habe ich es immer gemacht. Die ExternalProjekt-Funktion von CMake scheint irgendwie etwas verkäfert zu sein. Ich wollte aber etwas haben, was man einfach runterladen und kompilieren kann. Mit dietlibc ist das alles etwas schwierig.
  • [l] Bonus-Frickel- Felix Thu, 03 Jan 2019 14:06:46 GMT Nr. 5875
    Da ich bei mir die mitgelieferten Fefe-Libs ignorieren kann (da BSD-Clib vorhanden und libowfat vorinstalliert), fuhrwerke ich direkt in dietchan/src/dietchan/src rum und da ist mir cmake nach einer Weile auf den Senkel gegangen, weil man nach vielen kleineren Änderungen immer das Makefile neu generieren musste. Meine Variante ist sicher nicht perfekt, aber reicht zum kompilieren:
    CC=gcc
    CFLAGS=-I/usr/local/include -pedantic -std=c99 -O0 -ggdb
    OBJS=arc4random.o bans.o bbcode.o captcha.o context.o db.o db_hashmap.o \
        dietchan.o export.o http.o import.o ip.o job.o mime_types.o \
        params.o permissions.o persistence.o print.o session.o \
        tpl.o upload_job.o util.o
    POBJS=pages/banned.o pages/board.o pages/dashboard.o pages/edit_board.o pages/edit_user.o pages/login.o pages/mod.o pages/post.o pages/static.o pages/thread.o 
    dietchan: $(OBJS) $(POBJS)
            $(CC) -o dietchan -L/usr/local/lib -lowfat $(OBJS) $(POBJS:S/pages\///g)
    
    clean:
            rm -f $(OBJS) $(POBJS:S/pages\///g) dietchan
    

    Hab's auch mit clang geprüft. Kompiliert und die Fehlermeldungen sind dieselben :)

    Auch: rsync benutzt fallocate (--preallocate), allerdings optional.

    Wa alles, beste Grüße
  • [l] Frickel- Felix Thu, 03 Jan 2019 13:31:00 GMT Nr. 5874
    Du wirst deine Gründe dafür haben, aber dass es zwei db_init-Prototypen gab, war für mich eine Stolperfalle. fallocate(2) ist erstmal rausgeflogen, es kompiliert und ich bin beim genannten Bus-Problem.

    >gleiche Funktionalität unter BSD
    Gibt es bestimmt. Zumindest kann man auch ohne fallocate mit mmap in Dateien schreiben. Ich habe mal versucht, das Problem mit einem einfachen Programm nachzubauen:
    #include <unistd.h>
    #include <fcntl.h>
    #include <sys/mman.h>
    #include <string.h>
    
    int main(void)
    {
            int fd = open("test_file", O_RDWR | O_CREAT, (mode_t)0600);
            const char *text = "hello";
            size_t textsize = strlen(text) + 1;
            lseek(fd, textsize-1, SEEK_SET);
            /*write(fd, "", 1);*/
            char *map = mmap(0, textsize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
            memcpy(map, text, strlen(text));
            msync(map, textsize, MS_SYNC);
            munmap(map, textsize);
            close(fd);
            return 0;
    }
    

    fallocate wäre hier write. Wenn es auskommentiert ist, kommt es zum Fehler.
  • [l] Zuse ## Admin Wed, 02 Jan 2019 23:25:32 GMT Nr. 5855
    Ich finde es auf jeden Fall kühl, wenn andere daran mitfrickeln. Danke schon mal für deine Erkenntnisse.

    Das fallocate ist da, weil die Datei per mmap in den Speicher gemappt wird. Ohne fallocate gäbe es dann beim Zugriff einen Bus-Error. Die gleiche Funktionalität müsste doch aber auch unter BSD möglich sein?

    In db.c könnte man eh ein paar Sachen verbessern. Z.B. wird die Datei im Moment zwei mal ein den Speicher gemappt, wobei die eine Kopie nur zum Zurückschreiben der Daten auf die Platte dient. Das ist eigentlich unnötig, da könnte man auch einfach write(), seek() und Co. verwenden.

    Außerdem hat sich herausgestellt, dass fsync auf dem Raspberry Pi sehr langsam ist (das Syncen der Datenbank braucht so ungefähr eine Sekunde und in dieser Zeit können keine Requests bearbeitet werden). Man könnte das vielleicht in einem Hintergrundthread oder so erledigen.

    Habe den Faden mal angepinnt.
  • [l] Frickel- Felix Wed, 02 Jan 2019 23:12:22 GMT Nr. 5854 SÄGE
    Es hätte heißen sollen
    >wühlt hier sonst jemand in den Eingeweiden von...
    dann passt die Katze auch dazu.

    Bin ansonsten schwer von der bereites erledigten Arbeit begeistert. Bitte empfangt mein kameradschaftliches Tele-Schulterklopfen.
  • [l] Quellcodeklebrig? Frickelfelix Wed, 02 Jan 2019 23:05:00 GMT Nr. 5853 Geschlossen
    PNG 623×714 235.4k
    Schraubt hier jemand außer Zuse am DC-Quelltext?

    Die Projektziele haben mir gefallen und obwohl Portabilität nicht mit aufgeführt wird und ausdrücklich Linux gefordert, habe ich mal versucht, es auf meinem LSD zum laufen zu bekommen. Auf die namensgebende Diäten-Libc kann man verzichten, libowfat und Abhängigkeiten sind als Paket vorhanden.

    Kleinere Unterschiede , wie dass
    * sich include- und lib-Pfade unterscheiden,
    * BSD-gcc alt ist und z.B. -mmititage-rop nicht unterstützt,
    * einige Bibos in BSD nicht existieren, oder dass
    * Funktionsprototypen für malloc und alloca nicht in eigenen Header-Dateien liegen,

    lassen sich trivial lösen. Gestoppt habe ich jetzt, bei fallocate (z.B. db.c:398). Vielleicht kann man es einfach ein #ifdef _GNU_SOURCE eingefassen, aber was war hier die Absicht des Verfassers?

    Was hält Felix von einem Klebefaden für Quellcodefrickler? Wenn man auf Gitgud schaut, könnte das Projekt Aufmerksamkeit und Zuarbeiter gebrauchen (issues == mergereqs == 0).
  • [l] Felix Tue, 01 Jan 2019 00:22:31 GMT Nr. 5799
    >Dieses Brett wird nicht mit JavaScript verschandelt.

    dies. wer es nicht schafft, text zu markieren, gehört der rechner entsorgt. mit x11 hat man eh mindestens zwei clipboards verfügbar.
  • [l] Felix Fri, 28 Dec 2018 00:14:43 GMT Nr. 5637
    PNG 1080×791 1.7M
    >>5504
    ging das nicht auf krautchan mal? kann sein dass ich mich irre. auf jeden fall geht's bei kohlchan nicht mehr und ich muss die postennummer immer händisch kopieren
  • [l] Felix Mon, 24 Dec 2018 01:36:46 GMT Nr. 5572
    Zitieren ist immer geil.
  • [l] Felix ## Admin Thu, 20 Dec 2018 11:32:46 GMT Nr. 5504
    >>5503
    Wie stellst du dir das vor? Unten neben dem Löschen-Knopf noch einen Zitier-Knopf und dann wird die Seite neugeladen mit den ausgewählten Pfosten als Zitat? Hatte ich auch schon mal überlegt, aber ob das jemand benutzt?
  • [l] Felix Thu, 20 Dec 2018 11:22:21 GMT Nr. 5503
    >>5496
    Das geht auch ohne JavsScript.
  • [l] Felix ## Admin Wed, 19 Dec 2018 20:20:17 GMT Nr. 5496
    JPG 580×421 136.3k
    Dieses Brett wird nicht mit JavaScript verschandelt.
  • [l] Felix Wed, 19 Dec 2018 19:47:45 GMT Nr. 5495
    GIF 400×192 928.9k
    Wirst du dieses Scheißbrett einigermaßen benutzbar machen? Also durch Klicks die Postingsnummer in die Antwortfeld setzten und so?


[0] ... [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] ... [273]
[c] [meta] [fefe] [erp]