Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Ich habe jetzt einige Zeit mit Kotlin gearbeitet und es ist meine neue Lieblingssprache. Dort sind Objekte non-null by default und man kann sie optional mit ? versehen um null zu erlauben. Damit darf man dann keine normalen Funktionen mehr darauf aufrufen (könnte ja null sein). Dazu gehört mMn das tolle Feature flow-dependent typing:

Code: Alles auswählen

val s: String? = foo()
println(s.length) // error, length auf nullable darf nicht aufgerufen werden
if (s != null)
    println(s.length) // OK, im then-scope hat s den Typ String, nicht mehr String?
Bisher habe ich null und nullable nur äußerst selten gebraucht. Ein gutes Zeichen. NullReferenceExceptions können in Kotlin nur an ganz speziellen Punkten auftreten.
  • throw NullReferenceException() - explizit und wird quasi nicht verwendet
  • s!!.length - der Operator !! macht Object? zu Object und wirft wenn null (explizit und sollte man normalerweise nicht nutzen, kann aber beim interfacen mit java praktisch sein)
  • man ruft eine Java Funktion auf die intern wirft (nicht wirklich Kotlins Schuld)
  • leider möglich bei initialisierung von Objekten wenn man die Reihenfolge verranzt (Basisklassen-ctor ruft virtual function auf die auf uninitialisierte member in der aktuellen Klasse zugreift). Das hat aber noch keine Sprache richtig gelöst oder?
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Artificial Mind hat geschrieben:
  • leider möglich bei initialisierung von Objekten wenn man die Reihenfolge verranzt (Basisklassen-ctor ruft virtual function auf die auf uninitialisierte member in der aktuellen Klasse zugreift). Das hat aber noch keine Sprache richtig gelöst oder?
Doch: C++. Virtual function call in Basisklassen Ctor ruft die Implementierung der Basisklasse auf. Macht auch Sinn: Zum Zeitpunkt da der Basisklassen Ctor läuft, ist der dynamische Typ des Objektes das gerade konstruiert wird logischerweise noch der Typ der Basisklasse und noch nicht der des fertigen Objektes...
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

dot hat geschrieben:Doch: C++. Virtual function call in Basisklassen Ctor ruft die Implementierung der Basisklasse auf. Macht auch Sinn: Zum Zeitpunkt da der Basisklassen Ctor läuft, ist der dynamische Typ des Objektes das gerade konstruiert wird logischerweise noch der Typ der Basisklasse und noch nicht der des fertigen Objektes...
Das ist in der Regel aber dennoch ein Fehler und tut nicht das, was man möchte. Eine virtuelle Funktion soll überschrieben werden können um die Funktionalität zu erweitern/ändern. "virtual function calls" in C++ im Ctor sind de facto nicht virtuell wie du sagst.

Beispiel auf das ich schon ein paar Mal reingefallen bin: Basisklasse hat eine "virtual void init();", abgeleitete Klasse überschreibt init und implementiert Initialisierungscode. init wird im Ctor von der Basisklasse aufgerufen. Verhält sich nicht wie gewollt.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Ein weiterer CMake / C++ / Umgebungsvariablen sind doof Rant:


Ich versuche pbrt zu kompilieren, welches diverse Abhängigkeiten über git-Submodule einbindet. Unter anderem zlib und ptex, welches zlib als Abhängigkeit hat. Letzteres wurde erst neulich hinzugefügt und nach dem merge kompilliert bei mir nichts mehr. Wegen Fehler mit ZLIB. 2 Stunden später habe ich jetzt rausgefunden, dass ptex eine falsche zlib version einbindet (kleine Spaßstatistik: Ich habe es nie selber installiert und trotzdem an 18 verschiedenen Orten eine zlib.h rumliegen... - und 11 zlib.dll's - wieso benutzen Leute eigentlich noch immer dynamisches linken??). Die falsche Version findet er bei Anaconda, was eigentlich eine Python Distribution ist. Ein weiterer Beweis dafür, dass Umgebungsvariablen einfach nicht funktionieren, wenn eine Python-Installation meinen C++ Compiler kaputt machen kann. Das CMake Skript von pbrt kann zwar zlib aus dem eingebundenen Submodul benutzen, tut das aber nur, wenn kein anderes zlib gefunden wurde. Alternativ wäre es jetzt natürlich auch schön gewesen, wenn man ptex einfach hätte sagen können, dass es die zlib Version im Nebenordner benutzen soll, aber Submodule auch noch zu ändern macht deren Benutzung in git auch nicht einfacher.

Ich mag es ja schon nicht, wenn man vor Benutzung Programme selber kompilieren muss. Aber CMake schießt den Vogel definitiv damit ab, dass ich jedes zweite Script selber debuggen muss, weil einfach nie irgendetwas funktioniert. Und weil Menschen für Dinge die eigentlich trivial zu kompilieren sein sollten hunderte und tausende Zeilen CMake Code schreiben, die ansich zu 80% aus Fixen bestehen, die abstruse Ausnahmefälle abfangen, die irgendwann bei irgendeinem mal aufgetreten sind. Man hat echt das Gefühl dass das Ziel "läuft auf allen Systemen automatisch" durch ein "wir Coden für jedes System einen neuen Hack" erreicht wird.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Seit Windows 10 Creators Update und .NET 4.6 (vielleicht auch früher) ist der Zeitstempel in EXEs und DLLs kein Zeitstempel mehr.

Raymond Chen hatte vor Jahren einen Beitrag, dass das Feld eher als Build-ID gedacht ist denn als Zeitstempel. Aber warum sollte das in Konflikt stehen? Wer kompiliert zwei verschiedene Builds seines Programms in der selben Sekunde? Was wird besser, wenn da eine Toolchain-Kodierung drin landet?

Software ist natürlich nicht drauf vorbereitet, weil bisher jedes EXE-/DLL-Tool versucht, dort einen Zeitstempel zu lesen. Markierung ist das höchstwertige Bit. Die DLLs in System32 werden also seit dem Creators Update mit zufälligen Daten ab 2038 angezeigt.

Ich jammere, weil es so schön bequem war. Man musste kein Datum/Zeit in seine EXE schreiben. Ich brauchte meine Plugins nie nach Versionsnummern fragen, weil ja Zeitstempel drinlagen. Man konnte die Stempel weder vergessen noch vermasseln, weil sich der Linker drum gekümmert hat. Und jetzt? Alles kaputt. Nie kann ich was Schönes haben.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Nachtrag: Menschen die in CMake Scripte Dinge schreiben, die offensichtlich nur auf einer Plattform funktionieren können,
SET(ZLIB_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/src/ext/zlib/$<CONFIGURATION>/zlibstatic.lib")
Unter Linux ist die Lib aber anscheinend: src/ext/zlib/libz.a d.h. falscher Ordner, falscher Name und falsche Endung.
bestätigen meine neue These, dass CMake Scripte zu 100% aus Hacks und Fixes bestehen, und für absolut jedes neue System um weitere Fixes und Hacks erweitert werden müssen, weil nie irgendetwas von alleine funktioniert was offensichtlich auch niemals so geplant gewesen sein kann, denn so spektakulär kann man gar nicht scheitern können. Statt 10 verschiedene Projektdateien für verschiedene Plattformen und Compiler zu haben, hat man in CMake einfach alle 10 Projekte in eine einzelne Datei gepackt, die insgesamt länger ist als die Summe ihrer Bestandteile (das nennt man dann wohl Emergenz?) und in einer vollkommen unleserlichen und inhärent missverständlichen Syntax geschrieben ist.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Jonathan hat geschrieben:[...] meine neue These, dass CMake Scripte zu 100% aus Hacks und Fixes bestehen, und für absolut jedes neue System um weitere Fixes und Hacks erweitert werden müssen, weil nie irgendetwas von alleine funktioniert was offensichtlich auch niemals so geplant gewesen sein kann, denn so spektakulär kann man gar nicht scheitern können. Statt 10 verschiedene Projektdateien für verschiedene Plattformen und Compiler zu haben, hat man in CMake einfach alle 10 Projekte in eine einzelne Datei gepackt, die insgesamt länger ist als die Summe ihrer Bestandteile (das nennt man dann wohl Emergenz?) und in einer vollkommen unleserlichen und inhärent missverständlichen Syntax geschrieben ist.
Exakt, CMake ist ein riesiger Müllberg...
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Danke für die Bestätigung. Manchmal denke ich mir echt, CMake kann doch gar nicht SO schlecht sein, ich muss doch irgendetwas falsch machen, das muss doch nur mir so gehen, sonst würde das doch niemand freiwillig benutzen... Gut zu wissen, dass ich nicht an Realitätsverlust leide. Wobei die Alternative eigentlich tatsächlich weniger traurig wäre...
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Jonathan hat geschrieben:Gut zu wissen, dass ich nicht an Realitätsverlust leide.
Definitiv nicht. Was du da oben beschreibst deckt sich zu 100% mit meinen Erfahrungen...von denen ich in diesem Fall leider mehr hab als mir lieb ist...
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Jammer-Thread

Beitrag von xq »

Ich jammer mal noch dazu...

Ich wurde gebeten, für VersaTile Travis-CI zu verwenden, damit eben für versch. Systeme automatisiert Builds gemacht werden. Sollte ja eigentlich nich so schwer sein?
Nur: Ubuntu 14.04 hat folgende Probleme:
a) Alter GCC, nutzt by-default noch C++98
b) Altes Qt (4.8)
c) Neuestes Qt in den Paketquellen ist 5.5, ich nutze aber 5.9, da dort das OpenGL-Handling massiv verbessert wurde (und das QGLWidget aus Qt4 endgültig als deprecated markiert wurde)
d) Alte Pakete von: Assimp, GLM, ...

GRAH! Zum Glück nutze ich QMake und nicht CMake, aber wirklich viel gibt sich das leider auch nicht, was den platformabhängigen fuckup angeht.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Auf YouTube darf man nur noch Crowdfunding-Links setzen, wenn auch Werbung eingeschaltet ist.

Wo kämen wir denn auch hin, wenn sich Indie-Entwickler aussuchen könnten, wer an ihrem Promo-Material Geld verdient!

Ach ja – man braucht natürlich mindestens 10.000 Follower, um überhaupt die Option zu bekommen. Viel Glück dann!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Ich nutze ja den FF nun schon seit vielen Jahren. Aber diesmal haben sie es echt geschafft. Gerade Version 56 runtergeladen. Ich finde NICHTS wieder. Er ist für mich UNBENUTZBAR geworden. So einen umständlich verqueren Usabilitymist kann man doch eigentlich nur auf Droge verzapfen -.-
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Ich kann sowieso nicht nachvollziehen, wieso absolut jeder alle paar Jahre wieder und mancher sogar noch öfter meint, die ganze UI seiner Software unbedingt kaputt verschlimmbessern zu müssen. Was zur Hölle reizt alle so daran, alles daran zu setzen, möglichst viele Nutzer zu vergraulen?
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Aus dem Link:
YouTube hat geschrieben:Appreciate the feedback, this update helps make sure channels linking to external websites are compliant w/ our Community Guidelines.
Meine Güte, irgendwie regt mich diese Ausdrucksweise auf. Als ob es drum ginge, dass das Update dabei hilft, die schönen neuen und guten Regeln in voller Qualität beim Kunden ankommen zu lassen - meine Güte, das Update ist doch egal, die neuen Regeln sind das Problem. Wieso kann man nicht einfach einmal ehrlich sein, es weiß doch eh jeder, was gemeint ist. Ungefähr so:
Honest YouTube hat geschrieben:We don't really care about what you think. We felt like changing the rules and now force everybody to follow them with all our might.
(Was übrigens ok ist - niemand sollte dazu gezwungen werden können, eine bestimmte Dienstleistung zu bestimmten Konditionen anbieten zu müssen. Und Youtube ist immerhin ein kostenloser State-of-the-Art Video Hoster, sowas will man eigentlich gar nicht selber machen. Wie es dann mit Gleichstellung aussieht ist nochmal eine andere Frage, aber eigentlich ist das Problem nicht die neuen Regeln von YouTube, sondern der monopolisierte Markt)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Jonathan hat geschrieben:(Was übrigens ok ist - niemand sollte dazu gezwungen werden können, eine bestimmte Dienstleistung zu bestimmten Konditionen anbieten zu müssen. Und Youtube ist immerhin ein kostenloser State-of-the-Art Video Hoster, sowas will man eigentlich gar nicht selber machen. Wie es dann mit Gleichstellung aussieht ist nochmal eine andere Frage, aber eigentlich ist das Problem nicht die neuen Regeln von YouTube, sondern der monopolisierte Markt)
Bis letztes Jahr habe ich mich übrigens noch gefreut, dass Vimeo und YouTube bei der Google-Suche gefühlt gleich behandelt wurden. Jetzt ist das aber auch Geschichte; bei keine Videos, die ich gern auf Vimeo gesehen habe, tauchen jetzt noch vorn in der Suche auf. Nur die YouTube-Versionen.

(Wobei man natürlich auch argumentieren könnte, dass die mehr Views haben, und deshalb für die Sucher interessanter sind.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Der einzige Nutzen, den ich für Google Earth hatte, war, dass man Polygone anlegen konnte und einem die Länge angezeigt wurde. Querfeldein, nicht nur Straßen entlang.

Jetzt haben sie’s durch eine schicke JavaScript-Online-Version ersetzt, die zehn Mal so lange lädt, zehn Mal langsamer ist, und keine einzige nützliche Funktion mehr hat. Fuck em
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Fuuuuck, ich wollte ein Erklärvideo für das HUD meines Spiels auf YouTube hochladen. Sowas wie kurzer Ausschnitt aus dem Spiel, Pfeil auf Munitionsanzeige, „Da steht, wie viel Munition du noch hast“.

Hey, das geht doch ganz einfach mit Annotations!

Natürlich hat YouTube am 2. Mai Annotations abgeschafft. Weil, … ja warum eigentlich?
Annotations are outdated. They don’t even work on mobile devices, which represent 60% of YouTube watch time.
WTF?! Warum behebt ihr dann nicht mal die Darstellung eurer scheiß Seite auf Mobilgeräten?!
And annotation usage has dropped by 70% as creators switch to cards and our new end screens.
Für die, die es nicht wussten (inklusive mir): „Cards“ sind die kleinen Video-Einblendungen, auf die man draufklickt, und dann zu einem anderen Video kommt Werbung. Und „End Screens“ sind die „Bitte Subscribet und guckt euch noch das und das Video von uns an“-Einblendungen Werbung am Ende von Videos. Man könnte meinen, jetzt wo Werbung durch Cards und End Screens realisiert ist, würden die Leute Annotations wieder für sinnvolle Dinge einsetzen. Und dann schafft Google sie einfach ab. I CAN’T EVEN

Jetzt muss ich einen scheiß Video-Editor suchen, mit dem ich Pfeile ins Video male. Einen, der FLV laden kann. Und 60 Hz unterstützt. Und vernünftig re-kodiert, damit die Bildqualität nicht leidet. Obwohl es auch einfach ein kleiner Text-Overlay hätte sein können, wenn ich das Video vor dem 2. Mai hochgeladen hätte.

NUR UM MICH ZU ÄRGERN
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Jammer-Thread

Beitrag von xq »

Embarcadero/Borland WTF:

Code: Alles auswählen

// Aus der AnsiString-Implementierung:
// C string operator
char* c_str() const
{
    if (!Data)
    {
        return const_cast<char*>("");
    }
    return Data;
}
Und die Doku dazu:
Die Methode c_str ist primär zum Lesen des Wertes des AnsiString vorgesehen. Zum Ändern des String-Wertes verwenden Sie den Operator [] oder AnsiStringT-Methoden, wie Insert und Delete.
Schön, aber warum zum Teufel gebt ihr dann nicht nen nen const-char pointer zurück, sondern erlaubt wunderbare Crashes durch Schreiben in const memory?
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Na, Legacy! Genau wie

char * x = "test"; // nicht const!
x[1] = 'E'; // Crash
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben:Na, Legacy! Genau wie

char * x = "test"; // nicht const!
x[1] = 'E'; // Crash
Das geht ja zum Glück seit C++11 nicht mehr... *freu*
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Jammer-Thread

Beitrag von xq »

Darum braucht man ja auch das const_cast ... *facepalm*
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich muss jemandem Fotos vom iPhone retten.

Dafür bin ich einfach nicht gemacht.

1. Versuch: iPhone an den Rechner anschließen. Im Arbeitsplatz plöppt ein Laufwerk drauf. Ich klicke drauf. Es ist leer. Weil Windows das Dateisystem nicht unterstützt. Okay, da ist niemandem ein Vorwurf zu machen.

2. Versuch: Es gibt Tools, die das Dateisystem lesen können. Ich lade zwei runter und installiere sie. Sie müssen Gerätetreiber installieren. Okay, noch halbwegs nachvollziehbar. Aber irgendwas passt nicht und sie stürzen ab. Eins spuckt noch eine Fehlermeldung aus: Eine komplett leere Message Box.

3. Versuch: Okay, man kann Backups vom Telefon machen. Dann kann man im Backup arbeiten statt im Live-Dateisystem. Klingt besser.

Braucht iTunes. Also iTunes installieren.

Oh, iTunes muss den Gerätetreiber fürs iPhone installieren. Für’s Dateisystem bestimmt … nagut.

Ich finde in iTunes die Backup-Option nicht. Zu viele Reiter, zu viele Menüs. iTunes hat automatisch den Namen des Telefons auf „Krishty’s iPhone“ geändert. F U. Googeln, wie ich an die Backup-Option komme.

Will ich ein verschlüsseltes Backup machen? Äh … wie wär’s mit FICK DICH? Wenn iTunes es verschlüsselt, ist es kein richtiges Backup mehr, weil ich ohne iTunes nicht mehr an die Daten komme. Aber es zeigt mir an, dass sonst nicht alles exportiert wird. Aus Sicherheitsgründen. Fuck okay.

(Fast zwei Stunden sind vergangen, ich habe sechs Installationen durchgeführt, und im Task-Manager laufen vier neue obskure Dienste im Hintergrund mit, die ich nie wieder brauchen werde.)

Das Backup ist fertig, einmal verschlüsselt und einmal unverschlüsselt. Es ist in einem proprietären Format. Natürlich. Weil SUCKS TO BE YOU, darum. Also lade ich noch einen Backup-Viewer runter. Zumindest kann ich jetzt das iPhone vom PC abklemmen, damit es nicht mehr dauernd unter dem Tisch vibriert.

Der Backup-Viewer hat eine furchtbare Touch-UI mit widerlichen Überblendungs-Effekten und verbraucht im Leerlauf die Hälfte meines RAMs. Er will, dass ich jedes Foto einzeln zum Export auswähle, so lange ich nicht die Vollversion für 130 € kaufe. (Notlage ausnutzen, denn Backups sezieren tut man eher nicht aus Spaß. Aber wem mache ich einen Vorwurf – so lange die Scheiße proprietär, obskur, und verschlüsselt ist, gibt es halt einen Markt für sowas.)

Und NATÜRLICH stürzt das Ding dauernd ab, vergisst meine Selektion, und haut dicke "DEMO"-Strings auf Dateien. FML.

————

Und warum ich die Scheiße überhaupt machen musste? Weil jemand gestorben ist und wir zumindest noch die Fotos vom Telefon retten wollten, bevor wir die PIN vergessen oder Apple die Cloud abschaltet oder so eine Scheiße. Weil das ja noch nicht genug Scheiße ist, die man dann am Hals hat.

Was zur Hölle soll ich mit meinen Passwörtern tun, wenn ich sterbe? Wo kann ich die unterbringen, dass die Verwandtschaft drankommt, aber nicht die Bullen? Wer soll überhaupt ZFX bescheid sagen?

Zumindest ist mein Umstieg auf Baseline-JPEG/PNG/7-Zip für Langzeitarchivierung abgeschlossen. Damit meine Hinterbliebenen nicht auch 100 Gerätetreiber installieren müssen, sondern „nur“ die externe HDD und VeraCrypt. Außer für Filme – die dürfen dann mit AVI, MKV, MPG, MP4, FLV ihren Spaß haben. Und das Passwort brauchen sie eben auch.

Und die rotiert Media Player Classic auch nicht richtig, wenn sie vom iPhone kommen. Weil jeder Hersteller seine eigenen Tags für Rotation definieren muss. Weil FUCK YOU.

Smartphones sind so eine Pisse, durch und durch.

Bild
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Jammer-Thread

Beitrag von kimmi »

Das klingt ja nach Spass...
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

Krishty hat geschrieben: Was zur Hölle soll ich mit meinen Passwörtern tun, wenn ich sterbe? Wo kann ich die unterbringen, dass die Verwandtschaft drankommt, aber nicht die Bullen? Wer soll überhaupt ZFX bescheid sagen?
Man geht davon aus, dass in Zukunft niemand mehr sterben wird.

True Story.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Ich schaffs doch immer wieder die Python Scripte im Binary Ordner zu ändern. Und diese Änderungen dann durch Kompilieren wieder zu überschreiben. Nicht zur Strafe ... -.-
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Willkommen in der Welt von Big Data! Wenn ich das Hotel via Tor Browser buche (links), spare ich 5 % gegenüber Chrome (rechts) und Safari (nicht im Bild):
tor.png
Beachtet auch die unterschiedlichen Suchergebnisse. Wenn möglich, solltet ihr bei sowas immer den Link kopieren, mit Tor unterschiedliche Identitäten durchspielen, und dabei – ganz wichtig – die Session-ID aus dem Link löschen.

Bei Amazon hatte ich das auch schon, aber eher im 1-Prozent-Bereich.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Jammer-Thread

Beitrag von kimmi »

WTF!
Benutzeravatar
Krishty
Establishment
Beiträge: 8235
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Firefox kann keine C-Dateien anzeigen (stattdessen geht der Öffnen mit/Speichern unter-Dialog auf).

Bugeintrag: https://bugzilla.mozilla.org/show_bug.cgi?id=57342

reported 17 years ago
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Latex Code zu schreiben ist ungefähr so lustig und intuitiv, wie CMake Skripte zu schreiben. Gut, der Unterschied ist, dass das was bei Latex später raus kommt schön aussieht (hoffentlich!), und das was bei CMake später raus kommt ja doch nicht funktioniert. Trotzdem ist es ein furchtbarer Krampf und man sollte ganz dringend nochmal komplett von vorne anfangen und alles schön und intuitiv machen.
Da will man einfach kurz mal in einem fertigen Template eine Abbildung mit zwei Bildchen nebeneinander einfügen und 30 Minuten später funktioniert immer noch nichts. Weil es schon wieder ein halbes Jahr her ist, dass man das das letzte Mal gemacht hat. Ich will ja hier kein monumentales Serienbriefmakro implementieren, ich will einfach nur eine triviale Abbildung haben. Können wir bitte endlich einmal in einer Welt leben, in der einfache Dinge auch einfach sind???
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Jonathan
Establishment
Beiträge: 2366
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Nachtrag: Ein verdammt guter Anfang wären zum Beispiel mal Fehlermeldungen die tatsächlich Informationen beinhalten. Ich glaube ich habe noch niemals nie nicht verstanden, was mir irgendeine Fehlermeldung sagen sollte, und oft genug war sie nicht einmal in der Zeile, wo ich letztendlich den Fehler behoben habe.

Beispiel: "! Argument of \Gin@ii has an extra }." - ich habe einfach nur \includegraphics aufgerufen, und die Klammerung ist richtig. (Und außerdem kann TexnicCenter nichtmal Fehlermeldungen kopieren, so dass man danach suchen kann, ohne sie abzutippen - dabei ist das doch echt so ein elementares Feature, das muss man doch quasi mutwillig ausbauen um es nicht zu haben. Wer macht denn sowas...)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten