5 Jahre proggen.org und Programmierwettbewerb

Foruminternes: Ankündigungen, Bekanntmachungen, Spielregeln
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

5 Jahre proggen.org und Programmierwettbewerb

Beitrag von Xin » Fr Jul 05, 2013 10:43 am

Moin :-)

Heute wird proggen.org 5 Jahre alt. Oder wie nufan meinte: Das halbe Jahrzehnt ist geschafft. ;-)
5 Jahre ist ein kleines Jubiläum, aber auch eine lange Zeit im Internet, wie auch in der Bevölkerung.

Was verändert sich in 5 Jahren?

Vor 5 Jahren gab es Google+ zum Beispiel noch nicht. Das ist sicherlich keine besondere Nachricht.
Google+ beschreibt aber ein interessantes Phänomen: Menschen äußern sich in Kurzform über ihre Interessen und Meinungen. Und Menschen tun das immer häufiger. Häufig auch mobil.


Am 11. Juli 2008 wurde die zweite Generation des iPhones vorgestellt, dass sich alleine im ersten Verkaufs-Quartal besser verkaufte als die erste Generation über 5 Quartale zusammen. Smart-Phones sind heute die Regel.

2008 gab es noch eine große Diskussion darüber, wie groß Bilder sein dürfen und ob Bilder überhaupt verwendet werden sollten. Heute bieten Telefone bereits Übertragungsraten bis 150MBit/s an.

Menschen konsumieren heute eher kleine Informationshappen, aber Programmierung ist eine Beschäftigung, die vom Lernenden verlangt, sich mit einem großen Ganzen zu beschäftigen, welches zusätzlich dazu immer weiter
wächst. So habe ich als Kind noch auf einer Textkonsole programmieren gelernt, wobei die Grafikausgabe etwas besonderes war - heute ist die GUI selbstverständlich und die Textkonsole außergewöhnlich.

Programmieren lernen kostet Zeit und sich Zeit zu nehmen und sie zu investieren ist in einer schnelllebigen Zeit eher ungewöhnlich. Erfolge müssen schnell und billig sein. Das wird beim Programmieren nie der Fall sein, Kenntnisse muss man sich über lange Zeiträume aneignen. Entsprechend sinkt das Interesse, Programmieren zu lernen. Damit steigt aber auch der Wert des Wissen derer, die Programmieren können.

Gleichzeitig steigen die Erwartungen: Man muss Programmieren mal eben beiläufig lernen können. Und wenn das nicht sofort klappt, kommt Frust auf. So werde ich in letzter Zeit häufiger gefragt, ob man überhaupt intelligent genug ist, Programmieren zu lernen, wenn sich nicht sofort Erfolg einstellt. Ähnlich sieht es bei den Tutorials aus. Die meisten Schreiber haben oder nehmen sich nicht die Zeit, die Tutorials voranzubringen und brechen irgendwann ab.

Bemerkenswert finde ich, dass die "Nerd-Brille" inzwischen Hipp ist. Serien wie "Big Bang Theory" ziehen einerseits über die Klitschees von Nerds her; Nerd, also intelligent, zu sein wird cool. Sogar so cool, dass sich heute Leute stolz als "Nerd" bezeichnen.

Ich denke, proggen.org ist eine Insel für Menschen, die bereit sind auch mal Frust zu ertragen, um etwas zu erreichen und deswegen dranbleiben. Gleichzeitig ist es für die Zukunft unsere Aufgabe, Menschen entgegen des Zeittrends dazu zu motivieren, sich längerfristig mit einer herausfordernden Aufgabe auseinander zu setzen. Dazu gehört auch, die Nerd-Brille wieder abzusetzen und den Kopf als das coole Accessoire zu verstehen.

Wo sind wir und wo geht's hin?

proggen.org steht irgendwo zwischen diesen Bewegungen und ich finde es gut, dass es hier durchaus eine Konstante darstellt. Wir vermitteln und diskutieren vorrangig "altmodisches", aber zeitloses Wissen und darauf möchte ich auch in den nächsten 5 Jahren den Fokus legen. Gerade Assembler ist mir hier ein wichtiges Anliegen.

Aber wir müssen auch "hippere" Wege einschlagen. nufan arbeitet nun am Java-Tutorial und ich hoffe, dass wir von dort aus gut in Richtung Android-Entwicklung kommen werden. Ich selbst möchte mich mit der Entwicklung auf Mac und iOS auseinander setzen und werde dazu sicher auch schreiben.

Im Hintergrund laufen - wenn auch sehr langsam - die Entwicklungen zum neuen CMS parallel zu und mit anderen Projekten weiter.
Bzgl. des Designs habe ich einen (hauptberuflichen) Designer in der Bekanntschaft gefunden, der sich mit mir am Design der Website versuchen möchte und den ich für zuverlässig erachte. Auch wenn er wenig Zeit hat, sehe ich da durchaus Chancen, dass da was kommt.

Wer programmieren lernen möchte googlet nach "programmieren", da ist der erste Vorschlag von Google "programmieren lernen". Der magische Begriff "Programmieren lernen" listet proggen.org inzwischen auf Platz 9. Das ist Seite 1. Letztes Jahr waren wir noch in der oberen Hälfte der eher undankbaren Seite 2.

Ein anderes Thema, dass uns die ersten vier Jahre begleitet hat, wurde im letzten Jahr vermutlich unbemerkt abgehakt:

Code: Alles auswählen

xin@prgn:~$ uptime
 11:11:07 up 421 days, 15:47,  1 user,  load average: 0.44, 0.43, 0.33
Der proggen.org-Server läuft seitdem wir vor 421 Tagen umgezogen sind wurde ohne nennenswerte Probleme.

Kleiner Wettbewerb gefällig?

In den letzten Jahren haben wir die Erfahrung gemacht, dass die Wettbewerbe im Sommer eher nicht so gut ankommen. Tutorial oder Artikelwettbewerbe wurden solange nach hinten verschoben, bis die Deadline überzogen war oder die Qualität litt. Das Blöde daran, eine Programmierer-Website am 5. Juli zu gründen ist, dass es genau ins Sommerloch fällt, wo am wenigsten los ist. ;-)

Also machen wir keinen Tutorial oder Artikelwettbewerb, sondern einen kleinen Programmierwettbewerb, der uns etwas Arbeit beim neuen CMS abnimmt.

Zu schreiben ist eine Funktion in C, die einen Text erhält und einen überarbeiteten Text zurückgibt:
Sie soll alle vorhandenen BB-Codes, wie sie hier im Forum vorkommen in Wiki-Text übersetzen. Also beispielsweise

Code: Alles auswählen

[b]bold[/b]
nach

Code: Alles auswählen

**bold**
oder

Code: Alles auswählen

[url=http://www.proggen.org]Unsere Website[/url]
nach

Code: Alles auswählen

[[http://www.proggen.org|Unsere Website]]
Die Übersetzungen sollten im Quelltext so aufgelistet sein, dass sie leicht zu finden und zu ändern sind.
Die verwendeten Strings sollten also oben im Quelltext zu konfigurieren sein, bzw. in einer Konfigurationsdatei stehen und eben nicht im Quelltext zu suchen sein.

Die Signatur der Funktion sollte

Code: Alles auswählen

char const * translate( char const * input )
sein, die Rückgabe werde ich anschließend mit free() löschen. Die Rückgabe sollte also mit malloc() alloziiert sein.

Ob die C-Funktion dafür ein Python oder Perl-Skript ansteuert, spielt dabei keine Rolle, solange die Ausgabe korrekt ist, ist sie im Rennen. Gewinner ist, wer das Problem bis zum 31. August am schnellsten gelöst hat. Es ist erlaubt mehrere Versionen einzureichen (z.B. eine Perl Version und später eine schnellere C-Version).
In jedem Fall muss ich jedoch eine C-Funktion geliefert bekommen, die ich ansprechen kann und Kompilieranweisungen, wie ich das Projekt ans Laufen bekomme (make-Skript, batch, Studio-Projekt...)

In die Funktion wird zum Beispiel der Quelltext dieses Postings als Parameter übergeben, zurück kommt ein String, der den entsprechenden Wiki-Text enthält.

Gewinner ist, wessen Programm die Aufgabe am schnellsten korrekt löst.

Was wird damit geschehen?
Ich möchte die Datenbank des aktuellen Forums mit umziehen, aber in Zukunft nur noch Wiki-Code verwenden. Dafür müssen die Texte übersetzt werden. Und hier kommt ihr ins Spiel.

Als kleinen Anreiz werfe ich einen Amazon-Gutschein über 100 Euro ins Rennen. Dieser Wettbewerb ist dann erfolgreich, sobald eine funktionierende Lösung eingereicht wurde, denn dann muss ich sie nicht selbst schreiben :-)

Alles klar, dann ran!
Fragen jeglicher Art einfach hier anfügen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von nouseforname » Fr Jul 05, 2013 3:35 pm

Schöne Aufgabe, würde gerne dabei mitmachen. Aber ich habe soviel anderen Kram und KEINE Ferien, so dass ich sicher nicht als erster fertig bin. Und somit ist es für mich relativ sinnfrei. Letzten endes ist es ein simples durchsuchen und austauschen. Regex käm hier wahrscheinlich echt gut. Dabei fällt mir ein, geht nicht auch ein einfaches Shell Script, das könnte wahrscheinlich auch recht schnell sein ;) (sed)

Benutzeravatar
darksider3
Beiträge: 347
Registriert: Fr Sep 14, 2012 6:26 pm
Wohnort: /dev/sda1
Kontaktdaten:

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von darksider3 » Fr Jul 05, 2013 6:00 pm

Bestimmte Sachen gibt es bei Dokuwiki einfach nicht, die es bei BB gibt. Z.B können hier Farben verwendet werden => Bei Dokuwiki gibsch das nicht. Selbiges bei Zitaten. Wie soll man das Lösen?
Bis auf die Formatierung der Größen, fällt mir aber ein PHP-Kommandozeilen-Skript ein(sed wollte ich mal lernen, kann ich aber nicht...^^)
effizienz ist, wenn ich ein loch bohre und hinterher mein nachbar auch ein bild aufhängen kann... ^^
Meine Homepage und der Microblog von mir :)
Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von nouseforname » Fr Jul 05, 2013 6:30 pm

darksider3 hat geschrieben:Bestimmte Sachen gibt es bei Dokuwiki einfach nicht, die es bei BB gibt. Z.B können hier Farben verwendet werden => Bei Dokuwiki gibsch das nicht. Selbiges bei Zitaten. Wie soll man das Lösen?
Einfach ganz löschen oder eben eine eigene Formatierung.
darksider3 hat geschrieben: Bis auf die Formatierung der Größen, fällt mir aber ein PHP-Kommandozeilen-Skript ein(sed wollte ich mal lernen, kann ich aber nicht...^^)
Mit PHP ginge das auch super, wird aber nicht das schnellste sein ;)

Benutzeravatar
darksider3
Beiträge: 347
Registriert: Fr Sep 14, 2012 6:26 pm
Wohnort: /dev/sda1
Kontaktdaten:

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von darksider3 » Fr Jul 05, 2013 7:49 pm

Mein Basis-Skript wäre dann auch schon fertig. Es unterstützt alles(Smilies nicht, da diese schon durch DokuWiki geparst werden..?) bis auf die Farben(Welche nicht einsetzbar sind, Zitate und die Größen, da es keine wirkliche Textgrößen bei DokuWiki gibt, bis auf die Gleich-zeichen.(Dies füge ich später hinzu).
Bei mir auf dem Rechner braucht das Skript bei diesem Text...http://pastebin.com/H9Y9q7gb
Genau 0.068 Sekunden(mit ausgabe der Konvertierung). Ich bin hier übrigens auf einem ziemlich alten Pentium M mit(ich glaube) 1,6GB-Ram.
Sollte also überall anders viel schneller laufen :->
real 0m0.068s
user 0m0.016s
sys 0m0.008s
Hier mein Skript: http://pastebin.com/VdhJzy1R
Ich war so frei, dass ganze auszukommentieren und für sachen, wo ich keine Ahnung habe was ich einsetzen soll, habe ich entsprechende HTML-Codes oder gar nichts genutzt.
(PHP aufruf aus der Kommandozeile: php ./NAME --text "CODE")
---
Es ist jedenfalls auch nicht gerade Langsam :P
---

MfG
effizienz ist, wenn ich ein loch bohre und hinterher mein nachbar auch ein bild aufhängen kann... ^^
Meine Homepage und der Microblog von mir :)
Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von Xin » Fr Jul 05, 2013 10:17 pm

nouseforname hat geschrieben:Schöne Aufgabe, würde gerne dabei mitmachen. Aber ich habe soviel anderen Kram und KEINE Ferien, so dass ich sicher nicht als erster fertig bin. Und somit ist es für mich relativ sinnfrei.
Dein Skript muss schnell sein und per C-Funktion ansprechbar. Du hast bis zum 31. August Zeit.
darksider3 hat geschrieben:Bestimmte Sachen gibt es bei Dokuwiki einfach nicht, die es bei BB gibt. Z.B können hier Farben verwendet werden => Bei Dokuwiki gibsch das nicht. Selbiges bei Zitaten. Wie soll man das Lösen?
Du kannst im Wiki mit <html> arbeiten. Die Sachen sollten aber leicht austauschbar sein, da Dokuwiki eine Vorlage für das neue Wiki ist, aber eben nicht das Ziel.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
darksider3
Beiträge: 347
Registriert: Fr Sep 14, 2012 6:26 pm
Wohnort: /dev/sda1
Kontaktdaten:

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von darksider3 » Fr Jul 05, 2013 11:06 pm

[quote=Xin]
Du kannst im Wiki mit <html> arbeiten. Die Sachen sollten aber leicht austauschbar sein, da Dokuwiki eine Vorlage für das neue Wiki ist, aber eben nicht das Ziel.[/quote]
Also für Zitate <blockquote></blockquote> und für Farben? <span style="color: Farbe">?
effizienz ist, wenn ich ein loch bohre und hinterher mein nachbar auch ein bild aufhängen kann... ^^
Meine Homepage und der Microblog von mir :)
Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von cloidnerux » Fr Jul 05, 2013 11:28 pm

Gibt es da nicht nen Plugin für Dokuwiki?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von Xin » Sa Jul 06, 2013 6:58 am

darksider3 hat geschrieben: Also für Zitate <blockquote></blockquote> und für Farben? <span style="color: Farbe">?
Zum Beispiel. Der Username sollte bei Blovkquote aber dabei sein - notfalls als Class.
cloidnerux hat geschrieben:Gibt es da nicht nen Plugin für Dokuwiki?
Das kann sein, aber das Zielwiki ist kein Dokuwiki.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: 5 Jahre proggen.org und Programmierwettbewerb

Beitrag von nufan » Sa Jul 06, 2013 2:17 pm

Bin natürlich dabei und hab schon ein paar interessante Ideen im Kopf :) Brauchen wir eine Teilnehmerliste oder machen wir das einfach so, dass jeder dabei ist der was abgibt?

Zu der Übersetzung:
Ich hab mit Xin schon kurz drüber diskutiert. Der Ergebnis-Syntax ist jetzt nicht sooo streng zu sehen, solange die Muster auch wirklich einfach austauschbar sind. Notfalls kann man sich ja auf ein Übersetzungsschema einigen, um das Testen zu erleichtern (und auch fairer zu gestalten).

Antworten