CodeArchiv-Rebirth

Für allgemeine Fragen zur Programmierung mit PureBasic.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

CodeArchiv-Rebirth

Beitrag von GPI »

Nach ewigen hin und her dachte ich mir, machen wir mal Nägel mit Köpfen.
Sicherlich kennen viele noch das CodeArchiv von PureArea ( http://www.purearea.net/pb/CodeArchiv/CodeArchiv.html ). Leider ist das ganze Ding schon ziemlich veraltet (7 Jahre). Gabs damals schon Unicode und 64Bit-Versionen?

Trotzdem finde ich das Ding immer noch recht brauchbar und die Idee ist gut. Viele kleine Codeschnipsel, die Lösungen zu Problemen zeigen. Schön Sortiert, Kategorisiert und Offline nutzbar. Leider ist so ein Projekt von einer Person kaum zu stemmen. Besonders da noch viel neues dazu gekommen ist, wie man schön in "Code, Tipps und Tricks" sehen kann. Schön wäre es auch, wenn man das ganze auf eine aktuelle Basis bringen könnte.

Und hier kommt GitHub ins Spiel:
https://github.com/GPIforGit/PureBasic- ... iv-Rebirth

Ich war mal so frei die ersten 2 Seiten von "Code, Tipps und Tricks" auszuwerten. Jede Datei hat einen einheitlichen Header bekommen. Beispiele bekamen die Endung pb, Code die als Include gedacht sind, einheitlich pbi. Sollten in den Include-Beispiele vorhanden sein, sind sie mit CompilerIf entsprechend auskommentiert, so das man die Datei gleich nutzen kann.

Wenn man was nutzen will, sollte man die Includes in das entsprechene Projektverzeichnis kopieren - es ist nie ausgeschlossen, das jemand die Includedateien optimiert oder modifiziert (sind ja viele alte Beispiele da, die bspw. nicht Module benutzen, eventuell gibt es eine elegantere Methode).
Das praktische: Github bietet einen komplett-download-link an - damit ist das ganze einfach offline zu nutzen ohne einen Git-Client zu installieren.
Da in Header immer ein Link zu einen der Foren vorhanden ist, kann man bei Fragen gleich in richtigen Bereich posten.

Leider bringt das ganze nicht nur Spaß, sondern eine Menge Arbeit. Sehr viel Arbeit.

Das Forum muss nach Codes durchsucht werden, diese müssen den einheitlichen Header bekommen und eventuell das Beispiel mit CompileIf "auskommentieren" und dann in die entsprechende Kategorie gespeichert werden. In Optimalfall probiert man das Beispiel aus. Ich kann leider keine Linux/Mac-Codes überprüfen und muss da hoffen das sie passen. Bei anderen Beispielen, wie das Ansprechen von zusätzlicher Hardware über USB oder die spezielle Drittsoftware Voraussetzen kann ich auch nichts machen. Hier kann man aber Minimum überprüfen, ob sich das ganze Compilen lässt - mit 64Bit und Unicode. Auch muss überprüft werden, ob es schon einen ähnlichen Code gibt. Imo bringt es nichts, wenn man 10 SendKeys-Varianten hat. Hier heißt es dann wählen, welche die beste ist.

Alleine würde das Ewigkeiten dauern und ist auch auf einen instabilen Untergrund gebaut. Daher suche ich Mitstreiter, die helfen, das ganze aufzubauen und zu pflegen. Wenn erstmal die Basis da ist, kann man ja sehr einfach neue Codes hinzu fügen.
Für den Anfang hätte ich gedacht, das man das ganze so aufteilt, das man sich eine bestimmte Anzahl von Einträgen durchgeht (z.b. alle Beiträge von "letzte Antwort 23.09" bis "letzte Antwort 20.08") durchgeht und in einen eigenen GitHub-Banch/Zweig einfügt, die man später zusammenführen kann.
Später wenn mal eine Basis da ist, kann man einfach in den Entsprechenden Thread eine kurze Nachricht hinterlassen, dass man es eingefügt hat. So vermeidet man es, das mehrere Leute die gleichen Posts bearbeiten. Aber das ist noch Zukunftsmusik.
Auch möchte ich erstmal ein paar Codes aus den deutschen Forum einpflegen, vor ich weitere Leute aus den Englischen und Französischen Forum dazu hole. Für mich ist das auch relativ "Neuland" und ich möchte deswegen auch erstmal Erfahrungen mit Leuten sammeln mit dennen ich mich leichter Unterhalten kann.

Also wer hat Lust mitzuhelfen? GitHub Kenntnisse werden zwangsweise gebraucht, das kann man sich aber aneignen :) Freiwillig vor!
Zuletzt geändert von GPI am 29.05.2016 15:15, insgesamt 1-mal geändert.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: CodeArchiv-Rebirth

Beitrag von Kiffi »

Erstmal :allright: dafür, dass Du das Heft in die Hand nimmst.

Melde mich als Teilzeit-Contributor (bevorzugt für Codes aus dem Gebiet der Anwendungsentwicklung; ungern für Grafik / Games / Sounds & Co).

GitHub-Kenntnisse sind leidlich vorhanden. -> GitHub-User: tuebben

Grüße ... Peter
Hygge
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von X0r »

Ähnliches hatten wir doch hier besprochen:http://forums.purebasic.com/german/view ... fa#p333157


Wieso hast du, GPI, dich dort nicht gemeldet?
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von GPI »

Mein Plan sieht momentan vor, das ich jeden Op <ähm> Freiwilligen quasi eine Seite von Tips&Tricks geben, die er dann durchgeht. So kann man dann vermeiden, das zwei Personen die gleichen Threads bearbeiten. Natürlich kommt es da zu Verschiebungen, wenn wer einen Thread erstellt oder einen Post in alten Thread macht. Daher würde ich dann den zu bearbeiten Block mittels Datum des "letzten Posts" angeben. Das ändert sich nicht, höchstens das ein Thread nach vorne sortiert wird, aber dann ist er ja quasi wieder auf der Bearbeitungsliste :)

Also bspw.:
von 27.01.2015 16:21 bis 16.07. 18:12

Das wäre aktuell:
PropSize - Größe proportional ändern für Bilder, Gadgets, ..
von Tommy » 27.01.2015, 16:21
bis
Kleiner Holzshader aus einem PurePunch-Projekt
von NicTheQuick » 16.07.2014, 18:12

Prinzipiell kann sich so jeder Helfer einfach selbst einen Bereich reservieren. Einfach ein Post in Forum absetzen und jeder weis bescheid.

Ich fürchte das zu Beginn ein Wunschkonzert nicht möglich ist. Falls jemand eine bessere Idee hat, wie man die Codes bearbeiten kann, bitte melden. Sollte halt einfach und unkompliziert sein.

Richtig loslegen wollte ich am Wochenende, ich hab diese Woche Spätschicht und damit kaum Zeit.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von GPI »

X0r hat geschrieben:Wieso hast du, GPI, dich dort nicht gemeldet?
Kennst du das Sprichwort "Zu viele Köche verderben den Brei"?

Klar kenn ich den Thread, aber mein Eindruck da war schlicht und ergreifend, das sich eigentlich keiner richtig Gedanken gemacht hat, was der Sinn des Projekts ist, wie man das durchführen könnte, was man erreichen will. Gerade das installieren wir mal Wordpress mit ein paar Plugins, wird schon gehen. Eigentlich hatte ich mich da schon aus der Diskussion ausgeklinkt. Das sich bei dir welche gemeldet haben, hab ich nicht mitbekommen. Das Edit hab ich nicht gelesen.

Meine Zielsetzung war es, das man es offline nutzen kann - geht problemlos, man kann ja eine Zip downloaden und wenn ich morgen von Auto überfahren wird, jemand anderes Problemlos weitermachen kann. Gut an meinen Git-Account kommt keiner ran und einen neuen Besitzer der Sammlung kann ich logischerweise nicht ernennen, aber es kann jemand einen Fork starten und das ganze Drum problemlos umziehen. Genauso will ich das Forum einbinden. Deshalb ist in jeden Datei-header ein Link zum Post in Forum vorhanden. Ich möchte keine Zweite Anlaufstelle schaffen bzw. Diskussionen aus den Forum in das neue Portal zu ziehen.
Klar ist bei mir gerade zu beginn ein enormer Moderationsaufwand vorhanden. Alles muss erstmal angelegt werden. Wäre toll wenn man in Tips&Tricks-Bereich das Template in CodeArchiv als Basis jeden Posts hernehmen würde. Das würde viel Zeit ersparen. Was ich verhindern will, das nur noch Codes in Code-Archiv gepostet werden oder Fehler nur noch in CodeArchiv beseitigt werden. Das gehört imo auch alles ins Forum. Deshalb halte ich eine Moderation für unerlässlich. Ein Aufteilen der Community halte ich nicht für Sinnvoll.

Ein Tag-System, wo man jeden Code mehrere Tags geben kann, hört sich auch interessant an. Hat aber einen großen Nachteil: Offlinenutzung schwer möglich. Man müsste einen "reaeder" bereitstellen. Viel zu kompliziert.

Nun gut, ich hab mir jetzt Gedanken gemacht, mich in Git eingelesen, experimentiert und ein paar Tests gemacht und ein Konzept erarbeitet: Das kannst du jetzt hier lesen. Ist auch meine Erfahrung: Anstatt ewig ausdiskutieren, erarbeite ein Konzept, stell es vor - überarbeiten kann man es immer noch. Aber die Diskussionen sind dann zielgerichteter und konstruktiver.

p.s.: In welche Kategorie soll man ein Log-Fenster-Code stopfen (Wie gesagt Fenster, nicht Datei)?
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von HeX0R »

Es sind doch schon alle Codes da, in den versch. Pureboards.
Diese jetzt zu scannen und auf github zu kopieren scheint mir nicht der richtige Weg zu sein.

Viele von uns überarbeiten ihre Codes in den Boards von Zeit zu Zeit, wie willst Du das github da aktuell halten?
Muss dann jeder seinen Code zweimal posten? bzw. im schlimmsten Fall dreimal, wenn man es noch im englischen Board gepostet hat.

M.E. wäre es sehr viel sinnvoller, wenn man diese schöne Struktur von Dir da hat, man Beschreibungen der Schnippsel zeigt und dann direkt zu dem jeweiligen Thread im Board springt.
Das wäre sehr hlfreich, weil finden tut man eh nix in diesen Boards (ich suche teilweise meine eigenen Schnippsel, deswegen habe ich manche auch mal abgelegt).
Das Ganze dann gerne auch Source-übergreifend, also deutsches, englisches, französisches Pureboard, und wo es sonst noch Codes gibt.

Was natürlich dagegen spricht ist, dass es auch sehr viele Codeschnippsel hier gibt, die zwar cool sind, aber einfach unpraktisch umgesetzt.
Also ohne weitere Umbaumassnahmen eigentlich im eigenen Projekt gar nicht nutzbar.
RSBasics API-Sammlung ist so ein Beispiel z.B., sehr geniale Sammlung(!) aber leider kannst du fast nichts mal eben irgendwo einbauen.

Ich habe mal ein IDE-Tool (HTTPINCLUDE) gepostet, mit dem man Codes direkt aus den Foren einbinden kann.
Einmal eingebunden wird der Code auch abgespeichert und ist beim nächsten Aufruf auch bei offline Board funktionstüchtig.
Da könnte man z.B. auch nur die Examples auf github stellen und dort mit HTTPInclude den Code aus dem Board einbinden.

Naja, das war jetzt nur mal laut gedacht...
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von GPI »

HeX0R hat geschrieben:Viele von uns überarbeiten ihre Codes in den Boards von Zeit zu Zeit, wie willst Du das github da aktuell halten?
Muss dann jeder seinen Code zweimal posten? bzw. im schlimmsten Fall dreimal, wenn man es noch im englischen Board gepostet hat.
Ach, das ist nicht so kompliziert. Meine Planung sieht vor, das man in den entsprechenden Thread folgendes postet
"Add to git Multitsking_and_Threads/Modul_IPC__Mutex_Semaphore_Memory_MemoryMessage_Systemwide[WIN].pbi"
Wenn dann was überarbeitet wird, dann postet derjeniges ja normalerweise ein Changelog und damit sortiert sich das ganze wieder nach oben. Das schnappt sich dann ein Mod und postet "updated to git" und die Sache ist gut.
Aber das ist noch Zukunftsmusik, das würde ich beim übertragen der alten Threads nicht machen, sonst spülen wir haufenweise uralt Threads hoch. Genauso würde ich warten, bis ein Thread mindestens eine Woche keine Antwort bekommen hat.

Apropro, hat jemand einen Code, der ähnliche Textdateien finden kann - wenn jemand in englischen und deutschen Forum postet?
M.E. wäre es sehr viel sinnvoller, wenn man diese schöne Struktur von Dir da hat, man Beschreibungen der Schnippsel zeigt und dann direkt zu dem jeweiligen Thread im Board springt.
Wie gesagt, ich möchte auch ein Offline-Nachschlage-Werk schaffen, nicht nur ein Katalog. Auch soll das unabhängig bleiben. Angenommen es gibt einen Hackangriff und das Forum wird gelöscht - alles weg. Und nein, das ist kein fiktiver Fall - wir befinden uns in PureBoard 2.0. Das erste wurde genau so hingerichtet. Wie gut eine Backuplösung ist, merkt man erst, wenn es zu spät ist :)
Was natürlich dagegen spricht ist, dass es auch sehr viele Codeschnippsel hier gibt, die zwar cool sind, aber einfach unpraktisch umgesetzt.
Also ohne weitere Umbaumassnahmen eigentlich im eigenen Projekt gar nicht nutzbar.
RSBasics API-Sammlung ist so ein Beispiel z.B., sehr geniale Sammlung(!) aber leider kannst du fast nichts mal eben irgendwo einbauen.
Das wäre halt ein Beispiel oder Example. Endung pb. Die sollen nur zeigen wie etwas geht.
Ich habe mal ein IDE-Tool (HTTPINCLUDE) gepostet, mit dem man Codes direkt aus den Foren einbinden kann.
Einmal eingebunden wird der Code auch abgespeichert und ist beim nächsten Aufruf auch bei offline Board funktionstüchtig.
Da könnte man z.B. auch nur die Examples auf github stellen und dort mit HTTPInclude den Code aus dem Board einbinden.
Das ist immer so eine Sache. Es wird halt etwas kompliziert. Dann muss jeder schon mal das Tool installieren und daran wirds schon scheitern :)

Ich bin ein riesen Fan von "KISS" - Keep It Simple Stupid. Ja ist in diesen Fall arbeitsreich, aber es ist auch gut einsetzbar.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Bisonte
Beiträge: 2425
Registriert: 01.04.2007 20:18

Re: CodeArchiv-Rebirth

Beitrag von Bisonte »

Also die ganze Sache finde ich sehr unübersichtlich, und, so wie Du ja schon selbst sagtest, sehr aufwendig.
Ich, zum Beispiel, hab keine Ahnung, wie ich da einen Code reinpacken könnte... Und das raussuchen und auch finden ist mir
auch noch nicht ganz klar (aber da würd ich wohl noch drauf kommen).
Also "KISS" ist das eher nicht. Leider... daher wird das vermutlich eher abschreckend wirken.

/OT
HeX0R hat geschrieben:... Ich habe mal ein IDE-Tool (HTTPINCLUDE) gepostet, mit dem man Codes direkt aus den Foren einbinden kann.
Einmal eingebunden wird der Code auch abgespeichert und ist beim nächsten Aufruf auch bei offline Board funktionstüchtig.....
Heile Sch... Wieso hab ich das Teil nicht gesehen.... ! Gerade probiert und für funktionabel erklärt :allright:
OT/
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Kurzer
Beiträge: 1614
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: CodeArchiv-Rebirth

Beitrag von Kurzer »

Hallo,

ich habe Euer Thema am Rande mitverfolgt und da ich ebenso unter dem Wirrwar des Quellcode-wiederfindens in den Foren leide, finde ich die hier Idee per se erstmal gut.

Nun bin ich jemand, der sich mit dem ganzen Online- und Versionierungsgedöhns nicht sonderlich auskennt. Ich hatte zwar mal mit SVN zu tun, aber das war's auch schon. Generell bin ich auch eher ein "Datei-Typ", daher meine (vermutlich völlig naive) Frage: Warum reicht es eigentlich nicht aus ein zentrales Verzeichnis irgendwo "in der Cloud" zu haben, dass jeder Interessierte sich als Laufwerk in sein Filesystem einbindet? Technisch gesehen habe ich dafür jetzt kein Beispiel parat, aber rudimentär würde ja auch eine FTP Verbindung irgendwo hin ausreichen.

Wie gesagt, ich bin alles andere als darüber informiert welche Technologien man heute für diese Zwecke so nutzt, aber wenn ich mir die GitHUB Seite ansehe, dann ist das zwar alles sehr schön (fast wie die DropBox Oberfläche), aber wenn ich was spezielles suche (z.B. Sourcefiles mit einem bestimmten Ausdruck darin), dann muss ich mich erstmal damit beschäftigen, wie man so eine Suche in einem GitHub anstellen kann.

Wäre das ganze ein Verzeichnis, dann wüsste ich genau, wie ich mit meinem TotalCommander danach suche (wobei ich jetzt nicht weiß, ob das auch über eine FTP-Verbindung hinweg geht).
Hat die jetzige Lösung einen signifikanten Vorteil gegenüber einer Lösung, die die Daten auf dem Clientrechner als Ordner darstellt und auch als solchen ansprechen lässt?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: CodeArchiv-Rebirth

Beitrag von GPI »

Das schöne ist, du musst dich nicht mit Git weiter auseinander setzen. Rechts den Downloadlink gefunden?
https://github.com/GPIforGit/PureBasic- ... master.zip

Zack, da hast du deine Ordnerstrucktur. Wenn du dich ein bischen mit Git (oder SourceTree) auseinandersetzt, dann kannst du dir das auch so einrichten, das nur die Änderungen gedownloaded werden.

FTP hat keine Möglichkeit, das mehrere dran arbeiten. Auch kann man nicht nachvollziehen, was wer ändert.

@Bisonte
Reinpacken können eh nur die Leute, die ich freischalte. Das ist ja der Gag. Die kopieren dann den Code aus den Forum in das System. Dazu müssen die "contributors" (schimpft sich so bei Git; gemeint ist dann das CodeArchiv-Team) sich zwangsweise damit auseinander setzen. (Das hat mir geholfen: https://github.com/GSoft-SharePoint/Dyn ... ep:-Part-1 )
Alle anderen genügt dieser Downloadlink. Einfach geht es wirklich nicht!

Imo hätte eine Seite, wo jeder selbst seinen Code reinkopiert eh nicht geklappt. Extra da anmelden und so weiter. Zudem allen beibringen, das sie einen bestimmten Header auch sinnvoll ausfüllen und so weiter. Ohne aufwendige Moderation geht es eh nicht.

Darum such ich jetzt hier Leute, die sich die Mühe machen das Zeug zusammenzukopieren. Ja wird eine eck lang dauern, sobald das Ding aber mal gefüllt ist, läufts recht einfach. So viele neue Posts gibts in der Woche dann doch nicht, wo man was machen müsste.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten