Letzter Versuch: Python statt PHP?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

@__blackjack__ ich habe ja diesen Mini-C64 gekauft. Aber irgendwie wirken die Spiele auf so eine 65"-Fernseher ganz anders. Ich glaube, die werden auf diesem neumordernen Dingern einfach hässlich. Die waren früher doch wunderschön.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@sparrow: Den wollte ich mir mal holen wenn ich ihn zufällig im Angebot irgendwo sehe. So 20 bis maximal 30€ würde ich dafür ausgeben wollen. Mehr nicht. Emulator auf ARM-Hardware kann ich ansonsten auch auf einem Raspi haben. :-)

Ich hatte mich mit dem Mini noch gar nicht weiter beschäftigt, ausser eben den Vorsatz zuzuschlagen wenn da Reste abverkauft werden. Was bietet der denn so für Einstellungen bezüglich Video/Röhrenemulation? Das Problem ist meistens das man die Rohen Pixel einfach angezeigt bekommt, superscharf, ohne die ganzen Effekte welche die HF-(De)Modulation und die analoge Anzeige”mechanik” auf das Endergebnis haben.

Zum Beispiel das die Zeilen im Röhrenmonitor vom Rasterstrahl kontinuierlich ”gezeichnet” werden, man also wirklich durchgehende Linien hat und das die Farben und die Helligkeit von einem horizontalen Pixel zum nächsten sich nicht schlagartig ”digital” ändern, sondern immer ein wenig ineinander verlaufen.

Vertikal dagegen hat man zwischen den Zeilen Lücken (Scanlines), die aber auch nicht ganz schwarz sind, weil die leuchtenden Pixel oben und unten auch ein bisschen ausstrahlen.

In jede Zeile geht ca. 50% Farbinformation der vorhergehenden Zeile mit ein. Dadurch kann man Mischfarben erzeugen die über die 16 Farben des C64 hinausgehen und die eine ”naive” Wiedergabe auf dem PC oder in einem Emulator als sauber getrennt sichtbare Farbzeilen darstellen, teilweise in Farbkombination die nicht schön aussehen.

Der Farbton ist in ungeraden Zeilen um ein paar Grad verschoben. Auch das erzeugt mehr Farben als die reinen 16 Farben und es sorgt dafür das es mit dem vorher beschrieben Effekt der Mischfarben einen Unterschied macht, ob man in den geraden Zeilen Farbe A und in den ungeraden Farbe B hat, oder umgekehrt! Das sorgt für noch mehr Farben die möglich sind.

Last but not least: Das Seitenverhältnis der Pixel. Die sind auf modernen Monitoren quadratisch. Vom C64 kommen aber Pixel im gleichen Seitenverhältnis wie dem Zielgerät damals: 4:3. Die Bilder wirken, wenn man das nicht kompensiert, auf einem modernen Monitor also ein klein wenig in die Breite gezogen.

Insgesamt gehen alle beschriebenen Effekte natürlich auf die Klarheit des Bildes. Es wirkt etwas verschwommen. Aber dadurch auch weniger klobig und steril.

Hier kann man sich die Effekte anschauen, interessant ist auch das letzte Bild für den VIC 2 („Play With Colors 2“) wo man deutlich sieht dass da mehr/andere Farben zu sehen sind als in der Palette unter dem Bild: https://www.colodore.com/

Wenn man die ganzen Effekte ausschaltet sieht man wie die Mischfarben zustande kommen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

oops hat geschrieben: Freitag 18. Januar 2019, 23:40 Kam durch error.log darauf. Hätte ich lesen sollen, statt hier zu ärgern, lach.
Das, oder halt die vielen gut gemeinten Hinweise von den Leuten hier im Thread. Hättest du wie vorgeschlagen z.B. einfach bottle.py genommen, hättest du jetzt wahrscheinlich schon die ersten kleineren Beispielanwendungen am Laufen. Ganz ohne Apache-Gebastel. Dafür brauchst du nur die 'bottle.py'
und -- von mir aus -- deine Python-Portable-Zip-Datei. Keinen Apache (der ist für die Entwicklung von Webanwendungen irrelevant und eher ein Detail des Deyploments für den Produktionsbetrieb). Und keine archaischen Techniken, die viele der Prinzipien, wie man Webanwendungen schreibt schwer anwendbar machen. So fängt für dich der "Spaß" erst an. Denn CGI-Programmierung ist vom Level her ungefähr so, als würdest du deine Wäsche von Hand waschen, statt sie einfach in die Waschmaschine zu stecken. :)

Übrigens bindet auch eigentlich niemand PHP per CGI an den Apache an. Dafür nimmt man z.B. mod_php oder php-fpm.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Selbst wenn nur CGI vom Webserver zur Verfügung stände, würde ich für WSGI programmieren. Das kann man ja auch sehr einfach über CGI anbinden.

Aber garantiert nicht zum *entwickeln*, denn da möchte ich nicht auf den Debugger von `werkzeug` verzichten und das ich mir die Objekte in den Stapelrahmen entlang des Stacktraces „live“ anschauen und mit ihnen herumspielen kann.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Mit Apache24 portable klickt man einfach auf die mit php schon lange im browser zugänglichen eigenen php files auf den Datenträgern daheim.
Jetzt ist das bei *.py ebenso, nur mit dem python-3.7.2.post1-embed-amd64.zip, das einfach immer wieder aktualisiert werden kann, wo ich nichts verändere.
Mir genügt das vollkommen. Es ist so simpel wie mit php. Wer als Hobby Python anwenden will, kann das also extrem einfach samt php.
Apache erkennt, was geklickt wird und informiert die zuständigen 'Roboter', die das sofort schnell erledigen.
In py-files muss man halt in der ersten Zeile immer den Ort von python.exe angeben.

Würde mich jetzt auch mal interessieren, ist zwar off topic, aber es war gruselig.
In der Nachbarschaft wurde der Schlüssel verloren, man war samt Nachwuchs verzweifelt und musste lange warten, ich konnte nicht helfen.
Kann jedem passieren. Da ich auf total primitive Lösungen stehe, kam mir die Idee, falls mir das auch mal passiert:
2 weitere Schlüssel herstellen lassen und zumindest einen irgendwo außen verstecken?
Was wären ideale Verstecke? Muss nicht nah sein, egal.
Würde er gefunden, sollte kein Bezug zu seiner Türe erkennbar sein.
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Wäre nett, den Aufruf zu to_text_files( *arguments und dann bitte auch items ) zu zeigen, auch nur mit 2 dieser [].
Diese txt-files bringen mir den PC samt klickbaren Anwendungen und Icons immer aktuell in den browser.
In php ist das als Ausschnitt sehr verkürzt so:
$X="X:";$Y="Y:";$Z="Z:";$Symbolleiste1="....";
to_txtfiles(["$Y\\Weblinks","$X\\a\weblinks.txt"],["$Y\\Mediathek","$X\\a\Mediathek.txt"],["$X\\TV","$X\\a\TV.txt"],["$X\\Text","$X\\a\Text.txt"],
["$Symbolleiste1","$X\\a\s1.txt"],["...Zugangsangabe...\Desktop","$X\\a\Desktop.txt"],["$X\\Downloads1","$X\\a\downloads.txt"],["$Z\\hobby\Apache24\htdocs\www","$X\\a\www1.txt"]);
Zuletzt geändert von oops am Samstag 19. Januar 2019, 15:49, insgesamt 1-mal geändert.
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Meine Güte..
Du bist eine Bereicherung ohnes gleichen...

Nichts in deinen Aussagen bekräftigt, wieso deine Lösung das Beste und Einfachste ist. Und jetzt kommt noch jemand und bläst in das Horn.
https://github.com/bugy/script-server
Welche Vorteile hat es also? Kannst du uns Lösungen präsentieren? Zeig doch mal deinen Code...

Aber der Passus mit dem Schlüssel haut mir den Nucki ausen Kopp...

das ist so als wäre..
schaut mal die Ampel ist gerade Rot, was nen Zufall...
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Bin neugieriger py-Neuling, der es total simpel zum Laufen bringt, ohne Installation, ohne Framework.
Der code zu to_txtfiles() und to_text_files(*arguments und items ) steht am Anfang dieses threads.
Im web gefundene und kopierte py-Beispiele funktionieren.
Python wäre eine Bereicherung für weitere Neulinge, schätze ich.
Wäre wirklich nett, jeweils zwei dieser [] für *arguments und items zu zeigen.
Die beiden angegebenen py-functions laufen problemlos als to_text_files und to_text_files1, weil danach weiterer py-code abgearbeitet wird.
Würde sie gerne sofort anwenden.
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Übrigens wasche ich gerne von Hand, lasse alles getrennt in Plastikbehältern mit Waschpulver über Nacht einweichen,
die neben der Waschmaschine in der Badewanne stehen.
Auch das Auswringen im Waschbecken unter dem Hahn bei kaltem Wasser bringt Betätigung, die einem sowieso immer fehlt.
Sehr zu empfehlen. Darauf kam ich, weil überall Bewegungsmangel herrscht. Wird supersauber.
Die kühle Einwirkdauer löst jeden Schmutz ins Wasser. Bei unempfindlichen Stoffen auch mal 2 Tage.
Bei einer Jeans wars zu lang, die wurde ziemlich hell.
Hat man Angst, das Abwasser könnte sich im Rohr anlagern, kann man es ins WC schütten.

Wie man auf dir verzichtet, wäre auch interessant.
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Und weil das alles lustig ist, hier mal das mit php hergestellte Zeugs, mit dem ich mir den PC schnell durchflutschbar in den browser bringe:
https://s15.directupload.net/images/190119/uc3eregh.png
https://s15.directupload.net/images/190119/n8zrn37s.png
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Auch das Auswringen im Waschbecken unter dem Hahn bei kaltem Wasser
Wie uncool. Echte Python-Programmierer nehmen dafür eine Python - die hat viele mehr Wring-Würge-Power, als so Leute, die durch das dauerhafte sitzen vor dem Computer total abgeschlafft sind.

BTW: Apache ist nicht einfach und für Python bestenfalls zweite Wahl. Gut, du kennst nichts anderes und willst das auch gar nicht. Wenn du nur eine "Lösung" hast ist die natürlich am besten. Und gleichzeitig am schlechtesten, wenn man von der anderen Seite schaut.

Gruß, noisefloor
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Diese paar Zeilen code wären trotzdem sehr nett. Bin halt zu doof, begriffen zu haben, wie schwer Apache ist. Das ist ja auch gut so.
Python sehe ich nicht als Schlange, kommt hoffentlich erst gar nicht. Schlangen können ja auch zahme niedliche Haustierchen sein.
Deren andere Seite braucht man sich nicht anzutun.
Bald gehts wieder stundenlang schwer bepackt in die Sonne, was den PC vergessen lässt.
Nur nicht Krematoria, wie eben Riddick im tv auf vox, lach.
Wenns so weit ist, sind wir längst woanders.

Dieser code wäre super, einmal für *arguments und dann für items.
Sehr gerne auch ohne 'dir'. Ist alles sehr spannend, purer code, keine Umgebung.
Läuft, was da so steht: https://www.w3schools.com/python/default.asp
Hab alles in ein einziges file.py kopiert, flutscht wie nix.
(Sub)Ordnerinhalte als Text speichern kommt da leider nicht vor.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Was w3schools im Abschnitt Array verbrochen hat, da rollen einem die Fußnägel hoch.
Selten liest man so einen Blödsinn.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@darktrym: Der über Klassen schwächelt auch extrem. Beispiele: „The self parameter is a reference to the class itself, and is used to access variables that belongs to the class.“ Und Attribute werden durchgehend als „properties“ bezeichnet. Python's `property()` kommt dagegen gar nicht vor. Und ``del`` löscht Objekte. Das hat wohl jemand schnell runtergeschrieben, der eigentlich eine andere Programmiersprache meinte.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

"Forum:" zeigt meine 4 Bitten: http://cssdynamics.bplaced.net/python/ Kann ich gerne laufend ergänzen, um hier schlank zu bleiben.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wir sollen also regelmässig auf deiner Webseite in den Quelltext schauen, und dir dann hier antworten? Ich setze mal meine Glaskugel auf den Tisch, blicke tief hinein, und sage vorher: das passiert nicht.

Nicht nur ist es anmaßend, sowas anderen zuzumuten. Es entwertet auch dieses Forum, denn hier gegebene antworten ohne dazugehörige Fragen sind für Besucher wertlos, die sich hier Hilfe erhoffen.

Stell deine Fragen hier wie jeder andere auch. Mit Code, mit Fehlermeldungen im Original und nicht irgendwelchen Umschreibungen, und ohne Garnierung mit deinen inneren Monologen.
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Oh Gott, nein. Doch nur, wenn ich hier einen Beitrag einbringe, für den ich um code bitte. Wäre mir unangenehm,
hier in dem Forum diese Bitten als code zu explizieren. Soll hier nur bei jeweils ein paar Zeilen bleiben, schlank und rank.
Würde mich auch interessieren, wer sonst noch Python portable nutzt und die Meinung dazu.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nochmal: keiner geht auf deine Webseite, um sich da durchzuarbeiten, und dir dann hier zu antworten. Diese Vorstellung ist hanebüchen. Wenn du Fragen stellen und Hilfe willst, schreibe vernünftige Posts hier. Keine Sorge, der Forenserver wird davon nicht dick, rund und in die Knie gehen.
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Dann mal so:

Ein alles zusammenfassender code bzgl. PC im browser:

Code: Alles auswählen

$a=head(menu([[" l5 t5","wh w12 h6","w13 h60 lm11_8 tm5p5 "],["eines der Ausgangscss auf der Webseite",
files([["l1 t6 ","css3button2small hgelb nr"," w4_5 bgelb h2_9 op40 l3","l7 wh","-6"],
subs1b (d2_re3rows (array_merge(gres(get_assocfiles("$X\a\AllesTeil.txt","$Y\www.txt", ... ,"$X\a\Desktop.txt"),
fl("$info/pcwIconExtractor-Icons1")),$drtest,$dirs,[["Countdowns",ctdwn()],["dirs1",$dirs1]] )),20,11) ],1)]]).
menu(...). .... );
Sieht bestimmt nicht sonderlich gut aus, aber was solls, man kanns beliebig duplizieren und modifizieren.
Das auf Python übertragen ist bestimmt lustig.

Code: Alles auswählen

#Bitte für *arguments ein Beispiel zeigen:
def to_text_files(*arguments):
    for path, filename in arguments:
        subprocess.run(
            f'dir /S /A:-S /A:-D /T:W /O:-S /-C "{path}" > "{filename}"',
            shell=True,
        )
#Ebenso bitte für items:
def to_text_files(items):
    for path, filename in items:
        with open(filename, 'wb') as out_file:
            subprocess.run(
                ['dir', '/S', '/A:-S', '/A:-D', '/T:W', '/O:-S', '/-C', path],
                stdout=out_file,
            )
Und dann sehr gerne auch noch, wie das ohne 'dir' codiert werden kann, was sich dann nicht auf DOS bezieht.
Wäre als vierte Bitte super, wie numpy-1.16.0.zip und damit auch Weiteres integrierbar ist:

Code: Alles auswählen

import sys
sys.path.append('x:/.../Apache24/imports/numpy/numpy/') #oder wie auch immer
print(sys.path) 
# Üblicherweise wird Numpy in np umbenannt:
import numpy as np
#lässt sich leider so nicht nutzen
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Webeseite ist leer, außer einer Box "klickfrei navigieren", mit der man nichts machen kann. Also das ist jetzt nicht so die Seite, die man ein zweites Mal besuchen will.

Bzgl. deiner Vorstellungen bzgl. Python und wie was zu installieren ist (bzw. eben nicht) in Bezug auf deine Frage zu numpy unter Windows nur so viel: viel Glück! Könne eine Lebensaufgabe für dich werden.

Gruß, noisefloor
Gesperrt