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.

Re: Jammer-Thread

Beitragvon Krishty » 15.08.2017, 12:38

DerAlbi hat geschrieben:Bau ein Script für das, was du machst, dann hat die Welt was davon, falls du es hergibst :-)
Ich weiß nicht, wie ich das zu einem Batch-Skript umschreiben soll: http://www.majorgeeks.com/news/story/nv ... le_it.html

… aber für das mit der Startverzögerung schreibe ich euch gern morgen eins.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Tiles » 15.08.2017, 12:53

Also meines Wissens steckt die Telemetrie doch aber in Geforce Experience, und nicht im Treiber selber. Oder irre ich da? Und weil die da inzwischen eine Registrierung verlangen wenn du Geforce Experience benutzen willst hat sich das Ding eh erledigt.
Free Gamegraphics, Freeware Games http://www.reinerstilesets.de
Die deutsche 3D Community: http://www.3d-ring.de
Benutzeravatar
Tiles
Establishment
 
Beiträge: 1221
Registriert: 11.01.2003, 14:21

Re: Jammer-Thread

Beitragvon DerAlbi » 15.08.2017, 13:51

kann es sein, dass sowas in einem Installer evtl einfacher ist? Die haben bestimmt recht trivial abstrahiert Zugriff auf Dienste und so ein Zeugs... können Daten löschen und schreiben und so.. Ich habe leider davon auch keine Ahnung. Zur Zeit alles nur Kreationistendenken ^_^
und "Telemetrie" in den Treibern... soweit ich weiß sammeln die nur Informationen über die Hardware und die Spiele, die man startet. Ich glaube tatsächlich, dass hier Windows inhärent wesentlich krimineller handelt.
DerAlbi
Establishment
 
Beiträge: 226
Registriert: 20.05.2011, 05:37

Re: Jammer-Thread

Beitragvon Krishty » 15.08.2017, 21:19

Tiles hat geschrieben:Also meines Wissens steckt die Telemetrie doch aber in Geforce Experience, und nicht im Treiber selber. Oder irre ich da? Und weil die da inzwischen eine Registrierung verlangen wenn du Geforce Experience benutzen willst hat sich das Ding eh erledigt.
Ah, okay. Ich hatte Anfang des Jahres definitiv die Telemetrie drauf, obwohl ich Experience niemals mitinstallieren würde. Es kann also sein, dass sie in dem Paket steckte, das via Windows Update verteilt wurde. Im aktuellen Paket (letzten Monat von Nvidia gezogen, extrahiert, und via Task Manager installiert) ist nichts mehr davon zu finden.

DerAlbi hat geschrieben:und "Telemetrie" in den Treibern... soweit ich weiß sammeln die nur Informationen über die Hardware und die Spiele, die man startet. Ich glaube tatsächlich, dass hier Windows inhärent wesentlich krimineller handelt.
https://www.howtogeek.com/280101/relax-nvidias-telemetry-didnt-just-start-spying-on-you/ hat geschrieben:
  • Your GPU’s specification, vendor, clock speed, and overclock information.
  • Your monitor information and display resolution.
  • Driver settings for some specific games, such as whether you’ve disabled G-Sync or chosen a type of antialiasing for a game in the NVIDIA Control Panel.
  • The resolution and quality settings you’ve chosen for some specific games.
  • A list of games and applications installed, so NVIDIA can see how many people have Origin, Steam, Counter-Strike: GO, Overwatch, and other games installed.
  • How much RAM you have.
  • Information about your CPU, motherboard, and BIOS version.
List of Games and Applications Installed? Nee danke, da hört’s auf. Das ist genau die Art von Spyware, wegen der ich jedes Windows-Update einzeln aussuche. Zumal Nvidia im Gegensatz zu Microsoft alles unverschlüsselt durchs Netz schickt.
DerAlbi hat geschrieben:kann es sein, dass sowas in einem Installer evtl einfacher ist? Die haben bestimmt recht trivial abstrahiert Zugriff auf Dienste und so ein Zeugs... können Daten löschen und schreiben und so.. Ich habe leider davon auch keine Ahnung. Zur Zeit alles nur Kreationistendenken ^_^
Google mal – es gibt schon fertige Tools, die das Zeug deaktivieren. Leider in C#, also mit zwölf Tonnen Abhängigkeiten. Für mich lohnt es sich jedenfalls zeitlich nicht, da irgendwas zu schreiben.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 03:37

Mit Visual Studion 2017 Update 3 haben sie Drag & Drop in den Solution Explorer zerstört. Ich kann zwar noch Dateien aus dem Explorer draufziehen, um sie dem Projekt hinzuzufügen – tatsächlich wird die Datei aber ins Projektverzeichnis kopiert und die Kopie dem Projekt hinzugefügt. Sowas Bescheuertes habe ich selten gesehen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon dot » 16.08.2017, 10:50

In der C++ IDE!? Da muss wohl lokal bei dir irgendwas durcheinander sein, ich mach das ständig und bei mir funktioniert alles ganz normal...
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1646
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 11:22

Das Problem heißt wohl Move files to a new location? und tatsächlich finde ich auf Google nichts dazu:

  1. neues Projekt

  2. Im Solution Explorer Rechtsklick aufs Projekt, AddNew FilterKrishty

  3. zieh vom Windows Explorer irgendeinen Header, der im Dateisystem nicht unter ($ProjectDir)/Krishty liegt, auf den Krishty-Filter in Visual Studios Solution Explorer

  4. 465755756.png
    465755756.png (6.23 KiB) 1191-mal betrachtet
    OK verschiebt sie; Cancel bricht die komplette Operation ab – wenn man sie am Originalort belassen will, geht das nur noch über Rechtsklick auf den Filter → AddExisting Item

  5. diese blöden Ficker
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Chromanoid » 16.08.2017, 11:34

Das haben die bestimmt so eingestellt, weil viel zu viele sich irgendwelche temporären oder nur bei ihnen liegende Sachen ins Projekt gezogen haben und das dann committet haben. Kopieren ist im Zweifel weniger fragil. Finde ich eigentlich einen sinnvollen Default. Ansonsten macht man sich doch das Projekt auch sehr schnell zu "läuft nur auf Krishty's Rechner" oder?
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3720
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 12:16

Verdammte Projektstrukturfaschisten.

Visual C++ wird auch für Projekte eingesetzt, die nicht komplett selbstumfänglich sind. Wie sehen denn wohl die Windows-Quelltexte aus? Hat Microsoft da ein großes Projekt Windows 10 und auf der Festplatte liegen in dessen Ordner 1000 Unterordner Kernel, User, Drivers, usw? Das muss doch irgendjemandem aufgefallen sein!

Wenn sie das so genau durchdacht hätten, warum ist dann da kein „Halt die Klappe; ich weiß was ich tue!“-Knopf?

Ich rate, dass sie irgendwas refactored haben (Accessability Improvements der IDE waren ja Hauptfokus des Updates) und jetzt irgendein Dialog das Flag ignoriert, mit dem der Solution Explorer die physische Ordnerstruktur abbildet (dafür gab es früher eine Option, Show All Files oder so, aber die ist wohl irgendwie in der Versenkung verschwunden).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Chromanoid » 16.08.2017, 12:24

Krishty hat geschrieben:Verdammte Projektstrukturfaschisten.
Mit geschwollener Brust sogar ^^

Krishty hat geschrieben:Visual C++ wird auch für Projekte eingesetzt, die nicht komplett selbstumfänglich sind. Wie sehen denn wohl die Windows-Quelltexte aus? Hat Microsoft da ein großes Projekt Windows 10 und auf der Festplatte liegen in dessen Ordner 1000 Unterordner Kernel, User, Drivers, usw? Das muss doch irgendjemandem aufgefallen sein!
Die stellen ja glaube ich gerade komplett auf ein Monorepo mit GIT um (also pro Produkt oder so denke ich)... https://blogs.msdn.microsoft.com/bharry ... he-planet/ Das heißt Windows ist dann schon praktisch eine gigantische Ordnerstruktur die auf deinem Rechner zumindest virtuell verfügbar ist.

Krishty hat geschrieben:Ich rate, dass sie irgendwas refactored haben (Accessability Improvements der IDE waren ja Hauptfokus des Updates) und jetzt irgendein Dialog das Flag ignoriert, mit dem der Solution Explorer die physische Ordnerstruktur abbildet (dafür gab es früher eine Option, Show All Files oder so, aber die ist wohl irgendwie in der Versenkung verschwunden).
Das Umstellen war bestimmt einfach das Accessability Improvement. ;)
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3720
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 14:05

Chromanoid hat geschrieben:
Krishty hat geschrieben:Visual C++ wird auch für Projekte eingesetzt, die nicht komplett selbstumfänglich sind. Wie sehen denn wohl die Windows-Quelltexte aus? Hat Microsoft da ein großes Projekt Windows 10 und auf der Festplatte liegen in dessen Ordner 1000 Unterordner Kernel, User, Drivers, usw? Das muss doch irgendjemandem aufgefallen sein!
Die stellen ja glaube ich gerade komplett auf ein Monorepo mit GIT um (also pro Produkt oder so denke ich)... https://blogs.msdn.microsoft.com/bharry ... he-planet/ Das heißt Windows ist dann schon praktisch eine gigantische Ordnerstruktur die auf deinem Rechner zumindest virtuell verfügbar ist.
Das Argument war eher, dass nicht alle Projektdateien in der Root liegen und alle Quelltexte in Unterordnern. Aber ja; es ist schon ironisch, dass Windows mit etwas organisiert wird, das Linus Torvalds entwickelt hat.

Monorepo pro Projekt? Ich denke eher, eins für den kompletten Konzern. Wir hatten hier ja letztens einen Vortrag, dass Google ein einziges für 95 % aller Entwickler hat. (Die behaupten übrigens auch, ihres wäre das größte der Welt. Als wär’ das was Positives!)


Nachtrag: MS hat das größte Git-Repository, Google hat das größte Piper-Repository. Schön, dass das geklärt wäre.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Chromanoid » 16.08.2017, 14:29

Krishty hat geschrieben:Monorepo pro Projekt? Ich denke eher, eins für den kompletten Konzern.
Das habe ich mich vorhin auch gefragt. Ich hab dann meinen Beitrag etwas vorsichtiger formuliert. Ich kann mir nur sehr schwer vorstellen, dass Word und Windows im gleichen Repository liegen sollen. Noch habe ich keinen Beleg dafür, aber ich denke die werden eher pro Produkt oder Produktkategorie ein Repo pflegen. Aber ich habe noch nicht so richtig Belege für die eine oder andere Variante gelesen. Hast Du da ein Statement, dass das explizit angibt? Ich finde solange es von der Entwickler-Usability OK ist, Monorepos inkl. Monoprojektstruktur ziemlich hilfreich. Refactorings und automatisierte Integrationstests lassen sich so sehr schön über alle Subprojekte durchführen.

Als Alternative habe ich bei einem JUGHH-Treffen mal eine Vorstellung vom Entwicklungsprozess der Otto Group interessant gefunden. Die haben AFAIR um die 7 komplett eigenständige Teams mit voller Entscheidungsgewalt. Jedes Team entwickelt mehr oder weniger eine Komponente. Die Komponenten haben einen "Shared Nothing"-Ansatz und das wird eben auch durch die Organisation der Entwickler nachgestellt (Conway's Law lässt grüßen). Alles was gemeinsam verwendet werden soll, wird als third-party-Dependency behandelt und Open Source entwickelt. Das finde ich den anderen schicken Ansatz. Siehe auch: https://dev.otto.de/2013/04/14/architekturprinzipien-2/
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3720
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 14:50

Chromanoid hat geschrieben:
Krishty hat geschrieben:Monorepo pro Projekt? Ich denke eher, eins für den kompletten Konzern.
Das habe ich mich vorhin auch gefragt. Ich hab dann meinen Beitrag etwas vorsichtiger formuliert. Ich kann mir nur sehr schwer vorstellen, dass Word und Windows im gleichen Repository liegen sollen. Noch habe ich keinen Beleg dafür, aber ich denke die werden eher pro Produkt oder Produktkategorie ein Repo pflegen. Aber ich habe noch nicht so richtig Belege für die eine oder andere Variante gelesen. Hast Du da ein Statement, dass das explizit angibt?
Hmm … soweit ich den Artikel verstehe, ist dort ausschließlich von Windows Engineers die Rede. Vorerst ist das also wirklich nur Windows. Ich fände es aber sonderbar, wenn sie nicht schrittweise die anderen Services integrieren würden. Falls irgendwer das neueste Word & Windows hat (ich weder noch), kann er ja mal die Debug-Informationen der Module analysieren, ob sie durchs selbe Build-System gelaufen sind. Debug-Informationen werden ja üblicherweise mitkompiliert (aber nur beschnitten ausgeliefert).
Ich finde solange es von der Entwickler-Usability OK ist, Monorepos inkl. Monoprojektstruktur ziemlich hilfreich. Refactorings und automatisierte Integrationstests lassen sich so sehr schön über alle Subprojekte durchführen.
Ich bin totaler Verfechter davon – aber ich bin auch Verfechter von der absoluten Minimalmenge Code. Mal schnell damit prahlen, dass man das größte Repository der Welt hätte, jagt mir eine Gänsehaut ein.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon dot » 16.08.2017, 14:58

Oh wow, ich war fest davon überzeugt dass ich hier upgedated hatte... nun auch bei mir das selbe... W T F!? :shock:
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1646
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Chromanoid » 16.08.2017, 15:29

@Gänsehaut: Dito, kein Code ist der beste Code (jedenfalls wenn die Funktionalität stimmt :)).
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3720
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

Re: Jammer-Thread

Beitragvon Krishty » 16.08.2017, 16:40

Sie verändern das Layout der Kontextmenüs je nach Zustand der Solution. Links Standard, rechts während die Solution kompiliert:
56778567.png

Diese Vollidioten. Das ist so ziemlich das Schlimmste, was man machen kann. Wieso nicht das Layout so lassen, wie es ist, und die Funktionen einfach ausgrauen? Wieso haben sie das bei Clean geschafft und sonst bei nichts? Sind das die Accessability Improvements? Wieso muss ich nun zwei Layouts auswendig lernen, um nach Source Control zu kommen? Wieso lässt mich mein motorisches Gedächtnis nun zehn Mal am Tag auf die falsche Stelle klicken, wenn die Solution mal länger kompiliert als gewohnt? Wieso gehören die alle gefeuert?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 17.08.2017, 03:33

Nachtrag: Behoben mit Visual Studio 15.3.1.

In meinem 2015er Projekt kann ich Dateien, die ich via Add -> Existing Items hinzugefügt habe, nicht kompilieren. Es sieht so aus, als wären sie in den Projektdateien als Include eingetragen statt als Quelldatei. Wenn ich die Eigenschaften öffnen will, wird nur gesagt, die Datei hätte keine Eigenschaften.

Ein Tag Update 3 und ich habe einfach nur noch die Schnauze voll.
Zuletzt geändert von Krishty am 21.08.2017, 00:34, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 17.08.2017, 04:07

Bug Report für Drag & Drop: https://developercommunity.visualstudio ... m-win.html

Bug Report für Dateien, die sich nicht zu Projekten hinzufügen lassen: https://developercommunity.visualstudio ... tudio.html Nachtrag: Behoben mit Visual Studio 15.3.1.

Bug Report für wechselndes Layout in Kontextmenüs: https://developercommunity.visualstudio.com/content/problem/95735/project-context-menu-changes-layout-during-build.html … won’t fix.

Bitte upvoten, was ihr unterstützt.

Extra-Bugs:
  • Ich kann in Visual Studio keine Bugs upvoten. Da wird mir nur angezeigt „Voting is not available because this issue is resolved“ –.– Ich muss über die Webseite gehen.
  • Wenn ich Screenshots an meine Bug Reports anhängen will, stürzt Visual Studio einfach ab.
Zuletzt geändert von Krishty am 21.08.2017, 00:34, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 17.08.2017, 13:54

Bug Report dafür, dass der Bug Report nicht funktioniert: https://developercommunity.visualstudio ... d-scr.html
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Schrompf » 17.08.2017, 14:04

Danke, dass Du Dir die Zeit nimmst, alle Fehler zu reporten.
Häuptling von Dreamworlds. Baut an was Neuem. Hilft nebenbei nur höchst selten an der Open Asset Import Library mit.
Benutzeravatar
Schrompf
Thomas Ziegenhagen
Moderator
 
Beiträge: 3747
Registriert: 26.02.2009, 00:44
Wohnort: Dresden
Benutzertext: Lernt nur selten dazu

Re: Jammer-Thread

Beitragvon Krishty » 17.08.2017, 14:06

Klar; jammern kann ja jeder :D Bitte wählt sie auch nach oben, denn seit 2015 wird nach Anzahl der Upvotes priorisiert.

————

Sag mal ist das die verstecke Kamera hier?! Die große Krishty-Show?! ICH WILL EINFACH NUR MEINE STIMME ABGEBEN
Untitled.png
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon dot » 17.08.2017, 15:16

Krishty hat geschrieben:Bug Report dafür, dass der Bug Report nicht funktioniert: https://developercommunity.visualstudio ... d-scr.html

Das durfte ich auch schonmal machen nachdem im alten connect bei zu langem Title der generierte Link nicht funktionierte (man musste den sinnlosen Junk nach der ID aus der URL löschen und dann ging's). Best experience ever. Man schreibt Bugreport, klick Submit und...landet auf Internal Server Error. Also nach dem eigentlichen Bugreport noch schnell einen Bugreport für das Bugreporting System schreiben. Und der wurde dann von irgendeiner Customer Relations Person in Indonesien gelöscht bevor irgendjemand ihn angeschaut hätte weil sie nicht verstanden hat worum es ging... -.-
Benutzeravatar
dot
Michael Kenzel
Establishment
 
Beiträge: 1646
Registriert: 06.03.2004, 19:10

Re: Jammer-Thread

Beitragvon Krishty » 18.08.2017, 13:17

Nachtrag: Behoben mit Visual Studio 15.3.1.

Wir müssen auf der Arbeit noch ein paar Projekte mit der 2015er Toolchain pflegen. Vorhin wollte ich da was ändern, und … die Properties funktionieren nicht.

Ehrlich jetzt. Sobald man ein Projekt auf die 2015er Toolchain umstellt, hat es keine Properties mehr. (Es sei denn, es sind MASM- oder HLSL-Dateien drin – dann hat es nur diese Properties.)

Bug Report: https://developercommunity.visualstudio ... -prop.html

Das erklärt auch, warum man keine Dateien mehr hinzufügen kann (einer der anderen Bugs oben).

  • 2015er Toolchain:
    • alle Projekteigenschaften kaputt
    • kann keine Dateien zu Projekten hinzufügen
  • 2017er Toolchain:
    • kann Dateien zu Projekten hinzufügen, aber dann will der scheiß Dialog sie in ein Unterverzeichnis kopieren
Ich kann das alles nicht glauben. Sie haben über einen Monat lang den RC draußen gehabt und NIEMAND HAT GETESTET?!

Installiert bloß nicht Update 3. Wartet auf Update 4, wenn ihr vorhabt, halbwegs produktiv arbeiten zu können.
Zuletzt geändert von Krishty am 21.08.2017, 00:34, insgesamt 2-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 21.08.2017, 00:25

Viele Fehler wurden in Visual Studios aktueller Version (15.3.1) behoben – Toolset 2015 ist wieder nutzbar. Wow. Da hat sich wirklich was geändert in den letzten Jahren! Dafür muss ich anerkennend nicken. Sie haben zwar Scheiße gebaut, aber sie haben weniger als eine Woche gebraucht, um auf die Bug Reports zu reagieren und einen Fix auszuliefern.

[Es kann natürlich sein, dass sie das 2015er Toolset während des Updates de- und neuinstalliert haben, wie oft in den Tickets vorgeschlagen wurde. Meiner Beobachtung nach ist das aber nicht passiert.]

(Gehört in den Anti-Jammer-Thread, dann wäre aber der Kontext zu den Bug Reports verloren.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon antisteo » 21.08.2017, 13:50

Es gibt ein neues Buzzword: Nach Big Data kommt jetzt Big Software

(Canonical hat angefangen, ich hab gleich mal nen Definitiona-Artikel dazu geschrieben: https://launix.de/launix/was-ist-big-software/)
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
 
Beiträge: 788
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitragvon Krishty » 22.08.2017, 00:23

Wer Allokatoren schreibt, muss grundsätzlich einen Alignment-Parameter einbauen.

malloc() und die WinAPI (HeapAlloc()) machen es falsch, indem sie von einem Worst-Case-Alignment ausgehen. Auf den ersten Blick vereinfacht das viel, weil Alignment total wegfällt.

Selbstverständlich gibt es Typen mit härteren Anforderungen: SIMD braucht mindestens 16 Bytes Alignment. Will man was haben, das keine Cache Lines kreuzt? 64 Bytes. Synchronisierungsobjekte, die auf keinen Fall auf mehr als einer Page liegen dürfen? 4096 B.

Die Standard-Antwort ist, sich sowas schnell zusammenbauen, indem man die Allokation von Hand ausrichtet.

Dann büßt man aber sehr viel Sicherheit ein, weil man Padding ans Ende der Allokationen hängt. Der Application Verifier lässt sich geradezu lächerlich vorführen, weil er von einem Worst-Case-Alignment von 16 B ausgeht: Man kann einen einzelnen Buchstaben reservieren, aber 16 schreiben. Erst beim 17. kracht es, und das ist eine scheiß Ausbeute. *

(* Application Verifier hat eine Option, alle Allokationen ganz nach hinten zu schieben, indem man Alignment komplett aufgibt. In Kosequenz funktioniert Direct3D nicht mehr, GDI zeichnet nur noch die Hälfte, Standarddialoge wie „Datei öffnen“ funktionieren überhaupt nicht mehr. Da die Option mit fremdem Code fast immer abstürzt, und man sie nicht konsequent nur auf eigenen Code anwenden kann, ist sie nicht praktikabel.)

Ich habe also schnell alles von Hand um Alignment erweitert, und schiebe beim Debugging die Allokationen so weit nach hinten in die Blöcke, wie es das Alignment zulässt. Ich habe damit tatsächlich zwei Patzer getroffen, die mir vorher immer durchgegangen sind.

Ich hätte das alles nicht schreiben müssen, wenn HeapAlloc() einen Alignment-Parameter hätte. Dann hätte alles von Anfang an perfekt geklappt, auch mit D3D/GDI/etc.

————

Noch etwas, wo einen Padding in den Arsch beißen kann: Memory Mapped Files (denn die werden immer auf Page-Größe gepaddet). Wenn ich Testfälle für meine Parser schreibe, die mit EOF zu tun haben, padde ich die Dateien grundsätzlich auf 4096 B, so dass das EOF auf das erste ungültige Byte fällt.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Biolunar » 22.08.2017, 14:43

Krishty hat geschrieben:Wer Allokatoren schreibt, muss grundsätzlich einen Alignment-Parameter einbauen.

malloc() und die WinAPI (HeapAlloc()) machen es falsch, indem sie von einem Worst-Case-Alignment ausgehen. Auf den ersten Blick vereinfacht das viel, weil Alignment total wegfällt.

Selbstverständlich gibt es Typen mit härteren Anforderungen: SIMD braucht mindestens 16 Bytes Alignment. Will man was haben, das keine Cache Lines kreuzt? 64 Bytes. Synchronisierungsobjekte, die auf keinen Fall auf mehr als einer Page liegen dürfen? 4096 B.

Die Standard-Antwort ist, sich sowas schnell zusammenbauen, indem man die Allokation von Hand ausrichtet.

Dann büßt man aber sehr viel Sicherheit ein, weil man Padding ans Ende der Allokationen hängt. Der Application Verifier lässt sich geradezu lächerlich vorführen, weil er von einem Worst-Case-Alignment von 16 B ausgeht: Man kann einen einzelnen Buchstaben reservieren, aber 16 schreiben. Erst beim 17. kracht es, und das ist eine scheiß Ausbeute. *

(* Application Verifier hat eine Option, alle Allokationen ganz nach hinten zu schieben, indem man Alignment komplett aufgibt. In Kosequenz funktioniert Direct3D nicht mehr, GDI zeichnet nur noch die Hälfte, Standarddialoge wie „Datei öffnen“ funktionieren überhaupt nicht mehr. Da die Option mit fremdem Code fast immer abstürzt, und man sie nicht konsequent nur auf eigenen Code anwenden kann, ist sie nicht praktikabel.)

Ich habe also schnell alles von Hand um Alignment erweitert, und schiebe beim Debugging die Allokationen so weit nach hinten in die Blöcke, wie es das Alignment zulässt. Ich habe damit tatsächlich zwei Patzer getroffen, die mir vorher immer durchgegangen sind.

Ich hätte das alles nicht schreiben müssen, wenn HeapAlloc() einen Alignment-Parameter hätte. Dann hätte alles von Anfang an perfekt geklappt, auch mit D3D/GDI/etc.

————

Noch etwas, wo einen Padding in den Arsch beißen kann: Memory Mapped Files (denn die werden immer auf Page-Größe gepaddet). Wenn ich Testfälle für meine Parser schreibe, die mit EOF zu tun haben, padde ich die Dateien grundsätzlich auf 4096 B, so dass das EOF auf das erste ungültige Byte fällt.

Unter Linux ist es etwas besser. Dort gibt es nur zwei Möglichkeiten vom Kernel Speicher anzufordern: brk() und mmap(). brk() funktioniert genau wie ein Stack, d.h. man kann damit nur nach LIFO (last-allocated-first-deallocated) Speicher bekommen und freigeben. Folglich ist der Syscall für den Userspace sozusagen tabu, falls man die libc verwendet, weil diese intern Buchhaltung über den Speicher führen muss. mmap() ist da deutlich flexibler (vergleichbar mit VirtualAlloc), gibt aber nur Adressen mit PAGE_SIZE (= 4 KiB) alignment zurück, was eine ziemliche Verschwendung für kleine Allokationen ist. Wenn man die libc also nicht weglassen möchte, kann man eigentlich nur die libc Allokatoren verwenden: malloc, calloc, realloc, posix_memalign (seit POSIX 2001), aligned_alloc (seit C11). Zumindest gibt es hier mit posix_memalign und aligned_alloc inzwischen Allokatoren, bei denen man das Alignment angeben kann.
Benutzeravatar
Biolunar
Establishment
 
Beiträge: 128
Registriert: 27.06.2005, 17:42
Alter Benutzername: dLoB

Re: Jammer-Thread

Beitragvon Krishty » 28.08.2017, 12:32

Krishty hat geschrieben:Bug Report dafür, dass der Bug Report nicht funktioniert: https://developercommunity.visualstudio ... d-scr.html
Wird mit einem kommenden Release behoben, sagen sie.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Krishty » 31.08.2017, 14:04

Dateisystem auf externer Festplatte beschädigt. CHKDSK schafft es nicht, alle Fehler zu beheben. Was tun?

SeaTools (für Seagate-Festplatte) oder WD Data LifeGuard Diagnostics (für Western Digital-Festplatten) sollen helfen, wenn man StackOverflow glaubt.

NICHT BENUTZEN! Die Gammelsoftware hat meine USB-Geräte zerstört.

Das WD-Tool konnte die externe WD-Festplatte nicht erkennen. SeaTools hat die Platte als defekt erkannt, konnte aber sonst nichts tun.

… und mein USB-Stick wurde plötzlich nicht mehr angezeigt. Auch nicht im Disk Management. Und von anderen Computern wird er auch nicht mehr erkannt.

Die (defekte) externe Festplatte wird mir ebenfalls nicht mehr angezeigt. Ich habe sie noch nicht ab- und wieder angeklemmt, aber ich befürchte das Schlimmste. Außerdem habe ich noch eine riesige Datenplatte ohne Backup, deren verschlüsseltes Volume noch fehlerfrei läuft, aber … scheiße, ich habe Angst.

SeaTools und das WD-Zeug sind beide billigste asiatische Gammelsoftware. Brauchen Admin-Rechte um zu starten [nicht erst für das Prüfen einer Platte]; drücken einen Ladebalken als TOPMOST-Fenster auf den Bildschirm; vom Setup bis zum Schließen billig billig billig. Dass sie meine Hardware zerstören, hätte ich aber nicht gedacht.

Nachtrag: USB-Stick und kaputte Festplatte waren als Wechsellaufwerke angeschlossen. Das Datengrab nicht (hängt so lange dran, dass Windows es wie built-in behandelt); vielleicht ist es dadurch verschont geblieben.

Nachtrag 2: Festplatten von WD sollte man sowieso nicht kaufen. Die Schweine verschlüsseln den Datenstrom, aber geben euch keinen Schlüssel. In der Folge könnt ihr die Festplatte nicht aus dem USB-Gehäuse nehmen (dann ist der Inhalt nur noch verschlüsselter Kauderwelsch) und könnt keine Datenrettung über SATA/IDE betreiben, sondern müsst die Platte an deren kostenpflichtige Dienste schicken. Ich habe schon vor Jahren aufgehört, von denen zu kaufen, aber die nun kaputte Platte war halt noch von vorher.

Der NSA geben sie die Schlüssel aber vermutlich trotzdem.

Nachtrag 3: Bei anderen Herstellern ist das bestimmt genau so, aber bei WD weiß ich es halt definitiv. Große Auswahl hat man eh nicht mehr – wie viele Festplattenhersteller gibt es noch? Drei? Zwei? Bekackte Monopole

Nachtrag 4:
List of current hard disk drive manufacturers:
  • Seagate Technology, including its subsidiary brands Maxtor and Samsung
  • Toshiba
  • Western Digital, including its subsidiary brand HGST
Und nein, das hat nichts mit SSDs zu tun. Das waren schon nur noch vier, bevor SSDs aufkamen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6561
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: Jammer-Thread

Beitragvon Chromanoid » 31.08.2017, 17:18

Oje, Du Armer!

Mir hat mal https://www.nucleustechnologies.com/data-recovery.html weiter geholfen. In meinem Fall hatte ich aber nur die Master File Table oder sowas verloren.

Pass auf mit TestDisk, damit hatte ich (weil DAU) vorher noch mehr Schaden angerichtet....
Benutzeravatar
Chromanoid
Christian Kulenkampff
Moderator
 
Beiträge: 3720
Registriert: 16.10.2002, 19:39
Wohnort: Lüneburg
Alter Benutzername: atr_23

VorherigeNächste

Zurück zu Allgemeines Talk-Brett

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 4 Gäste