Re: Zusäutzliche Festplatte dauerhaft einbinden + Speed-Test
On 06/05/2024 13:44, Gerd G wrote: Man kann natürlich auch einfach mal was mit "dd" auf den Datenträger schreiben und sich dabei die Zeit und Datenmenge ansehen. Bei den Tools ist Vorsicht geboten, sie sind mit root Rechten nutzbar und man kann bei falsche Nutzung dabei auch Dinge kaputt machen. Vorsichtshalber: man kann sich nicht nur was dabei kaputtmachen - ich habe mir auch schonmal die Daten auf einer ANDEREN Platte geschrottet, indem ich nicht aufgepasst habe. Also ganz genau schauen was man eintippt und mindestens 3x lesen, sicherstellen dass man das richtige Device angegeben hat und mit Man-Page vergleichen bevor man Enter drückt! Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: OT: Tool für rechtsverbindliche online Wahlen
Hi, On 16/04/2024 13:36, Andreas Roth wrote: Hat jemand von euch, im Rahmen eines Vereins, online bzw. hybrid Personenwahlen durchgeführt? Welches Tool hattet ihr genommen, würdet ihr es weiterempfehlen? Jeder Verein legt selbst fest welche Methoden verwendet werden und zulässig sind. Das muss in der Satzung stehen. Wenn nichts drin steht dann gilt der Standard aus dem Vereinsrecht - meines Wissens real life Treffen und Abstimmen per Zettel oder Hand heben. Da nicht-geheime Abstimmungen im Verein völlig okay sind (wenn es in der Satzung steht), kannst Du auch signierte oder sogar unsignierte Mails oder Chat per Satzung erlauben! Man kann auch unterschiedliche Abstimmungsverfahren für verschiedene Typen von Abstimmungen festlegen. Such Dir etwas aus was alle Mitglieder beherrschen und gerade sicher genug für den Verein ist. Sicher genug ist es meistens schon wenn man einen plumpen Versuch erkennt - je mehr Geld in der Vereinskasse (Börsenverein der Goldgräber, DFB) oder je kritischer die Mission des Vereins (Rotes Kreuz, TÜV) umso höher sollte man bei der Sicherheit greifen. Aber Übertreiben braucht man nicht. Wichtig ist: Satzung. Du kannst ein Verfahren benutzen was seit Jahrhunderten seine Sicherheit bewiesen hat, wenn es nicht in der Satzung steht ist es nicht zulässig und das Registergericht wird Dir die Beschlüsse um die Ohren hauen. Umgekehrt - ein Verfahren bei dem jeder Kryptologe einen Lachanfall bekommt ist okay wenn es in der Satzung steht und nicht trivial vom nächsten Dorftrottel unterlaufen werden kann. Außerhalb des Rechtlichen und Technischen: das Verfahren muss von den Mitgliedern verstanden werden. Wenn die Vereinsmitglieder nicht verstehen was da passiert und demzufolge dem Verfahren nicht trauen, dann ist es egal wie sicher es rein technisch gesehen ist - die Mitglieder werden Dir auf's Dach steigen und rebellieren. Gruss, Konrad PS: ich nix Anwalt, meine Meinung nicht legal... OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: C++ stream in variable referenzieren
Hi, On 02/04/2024 21:54, Sebastian Reinhardt wrote: Ich steh mal wieder etwas auf dem Schlauch und ich hoffe, dass mir einer von euch den "Schubs" in die richtige Richtung geben kann. Willkommen auf dem Schlauch. Beim Abstieg bitte Vorsicht, es sind Knoten an unerwarteten Stellen... Erstmal die Voraussetzungen: Ich habe an einem PC/PI mehrere I2C-GPIO- Porterweiterungen (MCP23017 und MCP23008) hängen. Die haben 16 bzw. 8 GPIO's und hängen mit verschiedenen Adressen am I2C. Nun möchte ich diese Bausteine mit C++ über I2C mit entsprechenden Bibliotheken (MCP23017 und MCP23008) direkt ansteuern. Die jeweilige Bezeichnung, Busadresse usw. lese ich aus einer text/csv-DAtei ein und rufe diese Daten aus der Vectorvariable (mcp_elements mit eigener struct) ab. Das funktioniert soweit auch, z.B.: ---code--- MCP23017 mcpout1.(atoi(mcp_elements[i_e].busnr.c_str()), atoi(mcp_elements[i_e].busaddr.c_str())); mcpout1.openI2C(); for ( int i17 = 0; i17 < 16; i17++) { mcpout1.pinMode(i17, OUTPUT); mcpout1.pinMode(i17, LOW); } ---/code--- Nun muss ich eben für jeden Baustein das Device mit dem Handle/ostream verbinden und benötige eben z.B. "mcpout1", "mcpout2", "mcpout3" usw. Da ich aber nicht sicher weiss, ob immer die gleiche Anzahl von I2C- Bausteinen an den Bus angeschlossen sind, ist diese "Hardcodierung" ungünstig. Um nicht jedes mal das Programm anpassen und neu kompilieren zu müssen, möchte ich die Art (MCP23008/MCP23017), Busadresse, Art der Ports (In-/Outputs) Nummerierung der Ports usw. aus der txt/csv-Datei lesen und das etwas dynamisch behandeln. Das Lesen der Infos klappt schon, aber dann hänge ich Ohne zu wissen wie das alles unter der Haube funktioniert ist der Rest dieser Mail eher spekulativ. Nun die Frage: Kann ich eine Variable (event. einen Vector) erstellen in den ich dann in einer Zeile "Nr", "Streamref", "Portnummerstart", "Portnummerende" speichern kann und dann eben nur diese eine Variable in die anderen Unterprogramme übergeben kann? D.h., kann ich in dieser Variable, und wenn ja wie, die Streamreferenz speichern und übergeben kann. In den Unterprogrammen möchte ich die Variable nach dem Schema "liegt die anzusteuernde Portnummer zwischen "Start" und "Ende", dann ist der Stream/ Referenz zu verwenden benutzen. Natürlich kannst Du komplexe Strukturen/Klassen mit Referenzen bauen und übergeben. Wir reden hier über C++, da geht sowas. Profi-Tip: übergib diese Variable als "const MyClass&" an Unterfunktionen - das geht schneller/effizienter (nur ein Pointer auf dem Stack statt einer Kopie der Struktur). Im Vektor bitte als volle Kopie, sonst gibt es schnell Probleme. Wie müsste die Variable aussehen? Vector mit welcher struct? Vector ist gut. Struct ist reichlich veraltet - benutz' doch einfach C++! ;-) Bei sowas baue ich mir gerne kleine Helferklassen. Zum Beispiel: class McpOutRef { MCP23017 int start=0,end=0; public: McpOutRef(MCP23017,int astart,int aend):ref(aref),start(astart),end(aend){} McpOutRef(const McpOutRef&)=default; McpOutRef(McpOutRef&&)=default; McpOutRef& operator=(const McpOutRef&)=default; McpOutRef& operator=(McpOutRef&&)=default; bool containsPort(int port)const{return astart<=port && aend>=port;} MCP23017& mcp()const{return ref;} }; Über containsPort könntest Du abfragen ob der gesuchte Port zu dieser Instanz gehört und über mcp() bekommst Du die Referenz. Wenn man intern Pointer und extern Referenz benutzt, dann kann man noch etwas mehr "Magie" machen (z.B. saubere "Null-Refs"), aber das führt hier zu weit. Du kannst Dir auch den Vektor erweitern: class McpRefVector: public std::vector { bool hasPort(int port){ for ( const auto : *this) if(elem.containsPort(port)) return true; return false; } McpOutRef& byPort(int port) { } } Es fehlt noch etwas "Boilerplate" für Constructor, etc. ... Falls Dein Compiler sich über && oder =default beschwert: -std=c++17 - wir sind ja nicht mehr im finsteren Mittelalter! ;-) Wäre toll, wenn mich jemand erleuchten könnte.oder wenigstens den Weg weisen könnte. Hell genug? Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [Development] Buddy group to help new contributors
Hi, On 05/01/2024 08:21, Elias Steurer via Development wrote: > git for windows comes with perl Is this new? Because my installation does not have it. I just checked, and the folder my env path points to only contains git.exe, git-gui.exe, and no Perl. This is not new - it has (to my knowledge) always been there. If you check the Git installation folder you'll find a .../usr directory and a .../usr/bin inside - that one contains Perl as well as hundreds of other Unix utilities. If you add this to your PATH variable you will have access to all of them. Git on Windows replicates a bit of the Unix hierarchy in its installation folder. But it only exposes a small subset to the Windows command line through the .../bin or .../cmd folders. Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: Smart-Spam-Bot
Hi, ich habe wahrscheinlich eine Möglichkeit gefunden diese smarten Spam-Bots zu blockieren: Wenn die Listen-Policy auf "Hold" (Moderation) gesetzt wird, aber alle "Altmitglieder" auf "Default Processing" (durchlassen), dann wird der erste Post von neuen Mitgliedern zurückgehalten und ich muss drauf schauen ob es Spam oder legitime Mail ist. Ich setze dann legitime Mitglieder explizit auf "Default Processing", was bedeutet dass die zweite Mail normal durch geht. Spambots werden (wie bisher auch) explizit rausgeworfen und verbannt (kann nicht mehr subscriben). Wäre das für die Gruppe akzeptabel, oder wollen wir lieber den gelegentlichen Spam akzeptieren? Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Smart-Spam-Bot
Hi, On 04/12/2023 17:39, Carsten Weber wrote: Nein, aber eigentlich ist das nicht sonderlich schwer - warum passiert das nicht viel häufiger? Kaum gesagt, schon ist es wieder passiert. Inzwischen habe ich das auch auf der Mailliste von Qt beobachtet. Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Smart-Spam-Bot (Re: Gelöst: Re: ALSA und Flash auf 64bit)
Hi, da hatte es doch tatsächlich ein Bot geschafft sich anzumelden und gleich danach eine Mail zu senden. Für mich eine neue Qualität. Hat das schonmal jemand woanders beobachtet? Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Treffen am Mi (22.11.): Stammtisch vs. Feiertag
Hi, On 21/11/2023 11:01, Bernhard Schiffner wrote: Am Dienstag, 21. November 2023, 09:14:38 CET schrieb Gerd G: Alternative Vorschläge für anderen Ort ? Treffen virtuell ? ausfallen lassen ? Ich wäre für virtuell. (Es soll ja morgen kein Biergartenwetter werden.) Ich wäre auch für online. Wer es in der Zwischenzeit vergessen hat: https://bbb.schlittermann.de/b/gre-kcf-m77 Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Grafiktreiber
Hi, On 20/11/2023 20:37, Andreas Oettel wrote: 0. Problem: Ich habe hier einen alten Rechner als Datengrab stehen. Aktuell kann ich mich entscheiden, ob ich ein Bild auf der Konsole habe will oder auf X. Ursache ist offensichtlich der nouveau-Treiber. Ist er aktiv geht X, Ist er auf der Blacklist, geht die Konsole. Kennt jemand das Problem und eine Lösung? Nicht direkt, aber ich hatte reichlich Probleme mit NVidia. Wie bekomme ich das nouveau-Modul in der Console inaktiv, während es in der X-Windows-Umgebung aktiv bleibt? Geht nicht. Entweder aktiv oder nicht. Gibt es alternative Treiber? Wie binde ich den ein? << Das ist die doofe Frage ;o) Es gibt den kommerziellen NVidia Treiber. Kann man bei NVidia runterladen. Manchmal funktioniert nouveau besser, manchmal der kommerzielle Treiber. Hardware- und Treiber-Versions-abhängig. Ich selbst habe am Ende eine AMD/ATI Karte gekauft. Keine Probleme mehr. Um einen gewissen Herrn Torvalds zu zitieren: "NVidia, fuck you!" In der /etc/X11/xorg.conf stand kein "Driver" drin. Wird die xorg.conf überhaupt noch ausgewertet? Hat der Eintrag überhaupt noch einen Einluß? Mein Eindruck: Ob da was drin steht oder nicht, ist egal. Meines Wissens wird es ausgewertet, aber alles was nicht drin steht wird automatisch detektiert. Also mir sind gerade die Ideen ausgegangen. Da ich seit vielen Jahren nur noch über VNC oder SSH auf die Rechner zugreife, habe ich mich mit solchen Probleme lange nicht auseinandersetzen müssen. Aber hin und wieder geht mal ein Festplattenwechsel doch mal in die Hose. Und dann steht man ohne Monitorbild da. In dem Fall: sperr den nouveau aus, vergiss' den kommerziellen Treiber. Lass das Teil ausschließlich auf Konsole laufen. Wenn Du unbedingt per VNC eine graphische Oberfläche haben willst: es gibt eine Variante vom Xorg-Server, die auf einen VNC-Server als "Grafikkarte" zurückgreift statt auf die normale Hardware zu gehen. Alternativ: ATI Karte einbauen, nouveau blacklisten und dann X starten. Ergebnis wird sein, dass NVidia vom X nicht erkannt wird und stattdessen die andere Karte benutzt wird. Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Treffen 26.7.
Hi, On 11/09/2023 15:19, Wolf T. wrote: ich möchte mich gerne aus der Gruppe abmelden. Wie kann ich das tun? 1) rausfinden unter welcher Adresse Du angemeldet bist (diese war es nicht) 2) https://mailman.schlittermann.de/mailman3/postorius/lists/lug-dd.mailman.schlittermann.de/ 3) Abmelden Wenn Du Hilfe dabei brauchst, dann Mail direkt an mich. Gruss, Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Treffen 26.7.
Hi, On 25/07/2023 17:23, Stefan Engelhardt wrote: Dann bitte austragen. In den letzten 30 Hilfe-Mails konnte ich gerade mal einen kleinen Beitrag leisten. Das ist zu wenig und nicht hilfreich genug. Okay, ich habe Dich ausgetragen. Wenn Du es Dir doch anders überlegst, dann einfach auf: https://mailman.schlittermann.de/mailman3/postorius/lists/lug-dd.mailman.schlittermann.de/ wieder eintragen. Andere LUGs findest Du z.B. hier https://www.linux-community.de/lug/ oder hier https://www.pro-linux.de/lugs/ - es ist bestimmt eine dabei die näher bei Dir ist. Alles Gute! Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Treffen 26.7.
Hi, Treffen? Und wenn ja, wo? Laut Wetter.de soll es gegen 19:00 aufhören zu regnen. Wollen wir Torwirtschaft riskieren? Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: systemd CAP_DAC_READ_SEARCH
Hi, On 28/06/2023 22:28, Andreas Fett wrote: On Wed, Jun 28, 2023 at 10:02:37PM +0200, Christian Perle wrote: Die Capability CAP_DAC_READ_SEARCH erlaubt zwar open()/openat() auf eine sonst nicht lesbare Datei, aber die access()-Familie liefert einen Fehler. Ob das jetzt inkonsistentes Verhalten des Kernels ist, sei mal dahingestellt. Ich finde dieses access()/open() Pattern im userspace ist generell kaputt. Das ist ja eh immer anfällig für race conditions. Die access() calls ignorieren zum Teil auch Flags auf Mount-Ebene, ACLs, Superuser-Rechte etc. Es werden nur stupide die Bits der klassischen Zugriffsrechte geprüft. Es gibt Race Conditions, Security Considerations und angeblich auch versteckte Drachen, die Hunger auf ahnungslose Programmierer haben. Die man-Page klingt nicht gerade wie eine uneingeschränkte Empfehlung durch die Kernelentwickler. Kurz: man kann nur davon abraten access() zu benutzen. Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: LUG Treffen - 10.05.2023 ab 20:00 Uhr - GAG 18
Hi, On 09/05/2023 21:39, gerdg wrote: morgen ist der 2. Mittwoch im Monat. Treffen im GAG18 - https://osm.org/go/0MLhG86ZG--?m= Wird bei mir leider auch nix. Irgendwie habe ich in letzter Zeit immer am Donnerstag nach der LUG irgendwelche Sachen bei Kunden, könnte also nur ganz kurz da sein. Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Knotes kann keine Notizen mehr speichern
Hi, On 28/03/2023 07:11, Luca Bertoncello wrote: Am 28.03.2023 um 02:44 schrieb Carsten Weber: Achau doch mal mit scharfem Auge mit strace, was genau an syscalls probiert werden, und welcher davon scheitert. Ich habe gerade probiert, knotes per Console zu starten. Wenn ich ein neues Notiz hinzufügen will, sehe ich folgendes: QIODevice::read (QLocalSocket): device not open org.kde.pim.noteshared: "Failed to append item" Hat jemand eine Ahnung, was es bedeuten könnte? Der wichtigste Hinweis hier ist nicht der syscall, sondern dass knotes Teil von KDE PIM ist. Das bedeutet es versucht seine Daten via Akonadi zu speichern. Akonadi wiederum beschäftigt eine User-local MySQL Datenbank damit E-Mail-Daten lokal zu spiegeln und hat ein völlig Overengineertes Verständnis davon wie man mit Daten umgeht und ob EMails oder Dateien die eigentlichen Primitive sind. Notizen auf virtuellen gelben Klebezetteln sind schließlich so unheimlich wichtig dass man sie gleich im EMail-Account plus in der lokalen Datenbank(!!) abspeichert damit sie auf jedem Rechner verfügbar sind. Im besten Fall einfach Akonadi neu starten. Ansonsten musst Du diagnositizieren was in Deiner IMAP-Konfiguration schiefgegangen ist und ob es da irgendwo Probleme beim Speichern in den INBOX.Notes Mail Folder gibt. Oder ob Akonadi Notes doch irgendwo anders, im Extremfall sogar lokal, ablegt. Du findest das alles irgendwo im KContact oder KMail oder so... Im schlimmsten Fall musst Du Akonadi plätten und neu synchronisieren. Oder gleich auf einfache Textdateien umsteigen. Viel Glück! Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [Development] Qt code browser url changed (cgit <-> cgit.cgi)?
Hi, Oh, yes, that works too. I originally just used the first working URL I could infer from the web page. It would be really super if cgit could show a proper clone URL. Konrad On 27/03/2023 15:31, Jukka Jokiniva via Development wrote: Hi, Should the repository url be without the “cgit”, like 'https://code.qt.io/qt/qt3d.git' ? “git clone https://code.qt.io/qt/qt3d.git” works for me. --Jukka OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Qt code browser url changed (cgit <-> cgit.cgi)?
On 26/03/2023 23:05, Andrey Leman wrote: Hi, Yes, the server has been upgraded to new version. Could you please test if it works as before now? e.g https://code.qt.io/cgit/... Nope, still getting errors on fetch: cd qt3d.git git fetch --all --tags Fetching origin fatal: repository 'https://code.qt.io/cgit/qt/qt3d.git/' not found error: could not fetch origin Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Qt code browser url changed (cgit <-> cgit.cgi)?
Hi, On 26/03/2023 14:16, Christian Ehrlicher wrote: today there was a thread on stackoverflow which mentions that the links to the examples don't work anymore. The links in the docs (and also in the source repo) are https://code.qt.io/cgit/qt/qtbase.git/tree/examples/widgets/... But it needs to be https://code.qt.io/cgit.cgi/qt/qtbase.git/tree/examples/... Did something changed recently wrt this? Do you need a bug report for it? It changed some time before or around noon on March 25th. I have a regular git pull job running in the background and it failed since the afternoon of that day. My guess would be that someone did maintenance or installed a new version and some minor mayhem was overseen... Question to the admins: will you fix the cgit URLs or does everybody else need to fix their links? Konrad OpenPGP_0xBE96A6EE776FE5D0.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Cheap UPDI dongle: an article
Hi, FYI: I wrote down some basics about the cheap USB-UART-to-UPDI dongle and put it on the web for easy reference. Just for laughs I also added my own PCB design for it. http://silmor.de/tronic.updi.php If there are questions I left unanswered in this article, let me know. I might add some more stuff about compilers and tools over the weekend. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 23/02/2023 21:41, Michael Hennebry wrote: On Wed, 22 Feb 2023, Konrad Rosenbaum wrote: It's a good way to get people started on microcontrollers, but almost everybody eventually emancipates from it. I know of one medical device that is Arduino-powered. Naming it would likely violate an NDA. My job was mostly fixing a lot of code. Arduino is not bad per se. It just limits you to the way things are done there. It trades runtime speed and code size for convenience and speed of development. If that is a good trade for you - go for it! I personally prefer more tailored and efficient code in my firmware. YMMV Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 22/02/2023 05:48, dva...@internode.on.net wrote: Yes, as stated. The UPDI programmer design I found needed an ATmega for USB to serial conversion and whatever. Seeing the simplicity of your approach, I'll skip that greater labour. Matt's solution seems similar, also on a custom PCB. Considering how simple UPDI as a protocol is, it is surprising how expensive and complex most of the progger designs are. > The good news is: you can install arduino from its official download > on Linux without contaminating other environments, it just sits in a > separate directory and is quite happy there without installing stuff > elsewhere. So cleaning it up is just deleting this arduino directory > (and perhaps the "sketch" directory) from your home directory. Hmmm ... dodged for the moment, but will doubtless crop up in the future. After over 30 years of using the gnu toolchain on AVRs, PowerPC, NEC V850, etc., I'm not amenable to mucking up an established workflow by cluttering my mind with a dinky IDE. (And if it has a GUI, forget it. ;-) AIUI, arduino source is gcc/g++ compatible, so it's probably just a case of dropping it onto a concrete floor so the cruft falls off. Arduino is mainly a convenience library and some black magic to add #include statements that are missing from the sketches. The flow is approximately this: user writes a sketch, which is syntactically C++ (but you never use its full power, because nobody tells you). The sketch omits all #includes, it just uses the objects (like "Uart1"). The IDE then guesses which libraries you meant to use and wraps the sketch with the (hopefully) correct #includes. Then the sketch and all necessary library files get compiled and linked. Finally it uses avrdude to upload the binary into the chip. So to compile an Arduino sketch you definitely need Arduino installed, because it uses its own libraries. You may be able to compile on the command line once you observed what the "magic" calls are. I never tried to compile sketches on the command line, I copied some of the more mundane calls into my own Makefiles and then abandoned the Arduino libraries - it seemed like a saner approach to me. If you just have a sketch from an outside source, it is definitely easier to just start the GUI and compile the sketch from in there. Don't worry, the GUI is so terrible that it is almost reminiscent of the old SunOS days... ;-) It's a good way to get people started on microcontrollers, but almost everybody eventually emancipates from it. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 21/02/2023 20:40, Klaus wrote: Hi Konrad, 1) Get a cheap USB-serial-TTL dongle from your online electronics discounter of choice. The TTL part is important. (There are plenty of CP210x, FTsomething, and CH340 based designs out there. And they are really cheap.) I found a project with hardware including gerber files here: https://www.electronics-lab.com/usb-updi-programmer-pcb-for-avr-micrcontrollers/ Maybe that helps a bit :-) Exactly the same design, just on one PCB. It uses a slightly different resistor (4.7k instead of 1k). If there is interest I can post my own KiCad files for a similar design and a short tutorial in the evening. 5) Tell AVRdude to use a "serialupdi" progger (because that's what you just hacked together). Which one is a "serialupdi" progger? In my config I found the following updi named proggers, but which one can be used for that simple usb2-5v-serial-1k prog hardware? I think you meant to list a few progger names? The "serialupdi" only appeared around avrdude 7.0 - so check you have a current version. It is spelled exactly as I wrote it in this mail: bash> avrdude -c \? 2>&1 | grep -i updi atmelice_updi = Atmel-ICE (ARM/AVR) in UPDI mode jtag2updi = JTAGv2 to UPDI bridge jtag3updi = Atmel AVR JTAGICE3 in UPDI mode pickit4_updi = MPLAB(R) PICkit 4 in UPDI mode pkobn_updi = Curiosity nano (nEDBG) in UPDI mode powerdebugger_updi = Atmel PowerDebugger (ARM/AVR) in UPDI mode _* serialupdi = SerialUPDI = THAT'S THE ONE*_ snap_updi = MPLAB(R) SNAP in UPDI mode xplainedmini_updi = Atmel AVR XplainedMini in UPDI mode xplainedpro_updi = Atmel AVR XplainedPro in UPDI mode If you don't have that: simply download AVRdude sources from GitHub and compile it yourself. It's really easy. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 21/02/2023 11:59, dva...@internode.on.net wrote: Apropos the last two words above, I've had a bit of a google for a windoze-free path to the programmed ATmega328 needed for an UPDI interface, but haven't figured that out yet. Could you please clarify: is your goal to use an AtMega328 AS an UPDI progger to program a DIFFERENT chip? Or do you plan to program the AtMega328 USING UPDI? The AtMega328 uses the ISP protocol (based on SPI) to be programmed. That's what your STK500 can speak. If you need a cheap progger to program a true UPDI chip (eg. 0-series AtMegas, various modern AtTinies), simply do this: 1) Get a cheap USB-serial-TTL dongle from your online electronics discounter of choice. The TTL part is important. (There are plenty of CP210x, FTsomething, and CH340 based designs out there. And they are really cheap.) 2) Connect a 1kΩ resistor to the Tx pin of the dongle. 3) Connect the other side of the resistor and the Rx pin directly to the UPDI pin of the target chip. 4) Use GND and Vcc(*) out directly to power the chip while programming it. 5) Tell AVRdude to use a "serialupdi" progger (because that's what you just hacked together). (*) Many of those cheap dongles have a 5V and a 3.3V output, make sure you use the same level as the Tx pin (it outputs high while idle, so simply use a multimeter and compare). The chips are usually quite okay with being powered with either voltage while being programmed. This "hack" is surprisingly reliable. I've been using it for quite a while now and it never failed to program my chips. I even made myself a "professional" looking PCB that incorporates all of that using a CH340N and a few simple SMD components. Does anyone have a link to a Linux-only guide, just using the gnu toolchain & avrdude? I.e. no arduino dev environment hocus pocus. (I have an old Atmel STK500 for programming the interface ATmega.) What exactly are you looking for? If you have an arduino sketch that you need to push to a chip: using the Arduino environment is really the easiest way, since it adds a lot of libraries and #include guesswork (a'ka hocus pocus) to the translation process. The good news is: you can install arduino from its official download on Linux without contaminating other environments, it just sits in a separate directory and is quite happy there without installing stuff elsewhere. So cleaning it up is just deleting this arduino directory (and perhaps the "sketch" directory) from your home directory. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 15/02/2023 19:39, t...@montgomery-smith.org wrote: Thanks for your response. I don't think the avr8-gnu-toolchain needs to be recompiled. As far as I can see, it just needs the addition of iotn827.h, iotn1627.h and iotn3227.h to avr8-gnu-toolchain-win32_x86\avr\include\avr. For earlier chips, the necessary info was in the datasheet in Register Summary. But this info is missing for the newest chips. The compiler needs those header files, the linker needs some basic pre-compiled code. Both of them also need descriptions/scripts that tell them how the chip works. All of those can be found in the compiler packs you can download from Atmel. http://packs.download.atmel.com/ You add some parameters to compiler and linker calls: GCC: -B /location/of/pack/gcc/dev/attiny827 -isystem /location/of/pack/gcc/dev/attiny827/include LD: -B /location/of/pack/gcc/dev/attiny827 -B tells them where to find the chip descriptions and linker instructions, -isystem is the include file location; you need to set the correct base path of the pack and replace "attiny827" with the correct chip name The authors of avrdude must have had access to more info than in the datasheet to add these chips. It's all in the datasheet. Check it out - it's over 500 pages long! https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/ATtiny1624-26-27-DataSheet-DS40002234B.pdf The information that is important for AVRdude is in chapter 7 "Memories" and 31 "UPDI". The programming interfaces of those chips are pretty uniform, if you know what location to write to you are basically golden once you have the protocol available. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Support for ATTINY827, 1627 and 3227
Hi, On 15/02/2023 10:51, t...@montgomery-smith.org wrote: Delighted to see AVRDUDE 7.1 released with support for ATTINY827, 1627 and 3227. Can anyone give me a clue when support for these chips will be available in the avr8-gnu-toolchain? I want to use one of these chips for an anenometer project as they have 4 analog comparator channels. If by avr8-gnu-toolchain you mean the packages published by Atmel/Microchip: probably some time between 2030 and 2035 - even their newest release from 2022 is horribly out-dated. At least on Linux it is relatively easy to compile everything yourself - you need CMake and a compatible host system compiler (GCC is good). There is a build.sh script to do all the work for you. I have never tried it on Windows, but there are older packages available that were compiled with MinGW/MSys, so I guess it should work with that. There are instructions on the Wiki: https://github.com/avrdudes/avrdude/wiki I myself even compile the AVR-GCC and binutils packages, since I really don't like being limited by some ancient dialect of C++. I can post some notes and a script for doing this on Linux if there is interest. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Treffen heute
Bei mir wird's wohl nix heute. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Treffen heute (25. Januar)
Hi, On 25/01/2023 16:34, Ron Irmscher wrote: Hallo zusammen, ich bitte den Administrator mich aus dem Verteiler zu nehmen. okay. Ich bin irgendwie über einen Elternverteiler vom Sportgymnasium Dresden hier gelandet. Für "irgendwie" hast Du Dir ganz schön viel Arbeit gemacht: Du hast auf einen Link geklickt, Deine Mail-Adresse in ein Formular eingetragen und dann noch eine Mail bestätigt. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Treffen heute (25. Januar)
Ich bin zwar nicht in Husum, aber habe genug zu tun dass ich live nicht schaffe. Virtuell würde ich zumindest mal reinschauen. Konrad On 25/01/2023 11:45, Bernhard Schiffner wrote: -1 (Ich bin in Husum, wäre aber u.U. bei virtuellem Treffen dabei.) Bernhard OpenPGP_signature Description: OpenPGP digital signature
Re: [Interest] MSVC not-the-latest: are you using it? why?
Hi, On 25/01/2023 14:44, Adam Light wrote: What I also didn't know is that if you've purchased the licence for a given VS, you're not entitled to the upgrade to the next. I know this is how it used to be with Microsoft Office back in the 90s and even the old Visual Studios, but I thought this practice was long gone. You can upgrade Windows for free, after all. There are a lot of different licensing schemes for Visual Studio, so I would not be surprised if what you said is true for some people. I purchased a single-user perpetual license to VS 2019 through the Microsoft Store several years ago and was not eligible for a free upgrade (or low-cost upgrade) to VS 2022, as far as I could tell. In fact, after VS 2022 was officially released, it was not even possible to purchase a perpetual license on the MS store. I had to file a bug report with the VS project and have that percolate through several layers of bureaucracy for about a month before I could even give MS my money. I think MS wants people to buy their subscriptions, not perpetual licenses. Our product's release cycle is around 3 years, and we use the same version of Visual Studio and Qt for that period, so the subscription doesn't pay off for us. If you have more than a couple of developers using Microsoft tools it might be worth becoming a "Microsoft Solution Partner" (or something similar) - it usually starts making sense if you have 10-15 devs in the company. AFAIR two developers need to get a Microsoft Certificate (if you are consulting or target the MS product market it makes for nice advertisement anyway) and I don't know how much you have to pay for the "privilege" of calling yourself a "partner". It comes with a certain number of licenses for all the fancy Enterprisy tools (some are worth it, others are worse sh*t), including all versions of Visual Studio. With a setup like this you can simply assign an admin to watch over the budget of licenses and skip the bureaucrazy. Konrad OpenPGP_signature Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Treff 11.1.
Hi, Treff morgen in Real Life [tm] oder Online BBB? Im Gag18-Kalender steht "Büchertag" - stört uns das oder lesen wir einfach mit? Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Was virtuelles heute (28.12.22 20:00)
echo -e '\053' $(expr 2 / 2) On 28/12/2022 17:29, gerdg wrote: Am Mittwoch, dem 28.12.2022 um 16:07 +0100 schrieb Bernhard Schiffner: auf https://bbb.schlittermann.de/b/gre-kcf-m77 ? +1 VG Gerd Bernhard OpenPGP_signature Description: OpenPGP digital signature
Re: [Interest] Thread-To-CPU-Core distribution
Hi, On 28/12/2022 11:08, Alexander Carôt wrote: in a special use case I launch audio- and video streaming classes in my Qt main thread and also a web browser as an interface (webview or webengine) but I want to have their operation consciously separated over available cpu cores such as Core 1: Audio Callback Thread Core 2: Video Callback Thread Core 3: Web browser and not let the system decide what runs on which core. I can't hold back my curiosity, so I've got to ask: why? Why would you do that? Why do you assume you know better than the operating system? There are subtleties in what core is assigned to which task. The kernel knows stuff like IRQ affinities, hardware bus connections, IO port assignments and so on that are fairly hard to guess for you in user space. Normally the kernel will find a good balance between cache affinity, short call paths into hardware and load distribution, so there is usually no need for you to meddle in this. Unless you've found that rare unicorn of a real scheduling problem in your OS _and_ your program only needs to run on that one machine... don't meddle. Once you optimized for one machine, things will perform (much) worse on different machines. Usually if your program does not perform well it is one of those problems: a) you have unnecessarily complicated call paths in your program: you need to shorten them b) bad math: sometimes it is worth spending hours simplifying an algorithm to save on a few microseconds - billions of microseconds in a loop are hours after all. c) too many context switches: use FEWER threads, not more, reduce dependencies between threads d) your hardware is not powerful enough for what you want to do: save some money, get better hardware e) you are waiting for the hard disk or network: use a cache (big problem on Windows, Linux already does this for you) With audio and video this works fine already according to https://eli.thegreenplace.net/2016/c11-threads-affinity-and-hyperthreading because I am using pthreads for them anyways. Now I wonder if this is also possible for Qt and my web browser instance in particular. You can always call sched_setaffinity with pid==0 from within that thread. Konrad OpenPGP_signature Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] Qt web browser development
Hi, 0.) QTextBrowser is an actual light-weight browser with limited HTML support of a sub-set of HTML 4, but it is good enough for many tasks - especially when the HTML is generated inside the program itself and displays only relatively simple content. It can be used for documentation, if you can live without complex CSS. It is not good enough to display external web pages. On 27/12/2022 15:49, Alexander Carôt wrote: I need to define roadmap for future development and with regard to web browser-integrated Qt solutions am I correct that: 1.) QtWebView works on any platform as a “light-weight” solution and especially on iOS and Android there currently is no other choice ? 1.) QtWebView is not exactly light-weight. For Windows and Linux it uses QtWebEngine for rendering, on Apple OSes it uses the system browser engine (derived from the same code base as WebEngine). Use this if you want to be compatible with all platforms, since e.g. the iOS app store forbids you to use your own browser component and forces the use of the system component. 2.) QtWebEngine representes the full-browser stack but it only works on macOS, Linux and Windows ? 2.) No idea, never used it. Hopefully someone else will answer that. 3.) QtWebKit is outdated and not available in Qt6 anymore ? 3.) Correct. 4.) No other Qt-related classes besides 1.) and 2.) exist for this purpose ? 4.) See above. And you can always call QDesktopServices::openUrl to open the system browser. Konrad OpenPGP_signature Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: Treffen morgen (9. 11.)
Hi, On 09/11/2022 08:53, Bernhard Schiffner wrote: Konrad meinte, er wäre eher für virtuell. Kriegt man das vom Gag aus hin? Christians Demo will er sicher auch sehen ... es sieht eher so aus, dass ich gar nicht dabei bin: zu viel Arbeit auf dem Schreibtisch. Ich muss die Arbeit erst vom Tisch schieben und das kann dauern... Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Binutils/ld: linker script does not work for AVR mega 0 series (avrxmega3)
Hi, thanks for responding Nick. On 31/10/2022 15:57, Nick Clifton wrote: the linker fails on trying to arrange data/bss segments even with very few small variables. E.g.: Please could you file a bug report for this problem here: https://sourceware.org/bugzilla/enter_bug.cgi?product=binutils Will do as soon as I get a login (just requested it) - the process for reporting bugs seems a bit complicated? avr-g++ -Os -Wl,--gc-sections -B ~/tronic/atmel-compiler-packs/mega/gcc/dev/atmega3208 -mmcu=atmega3208 -o fw.elf dimmer.o dmx.o input.o ledout.o pwm.o <...>/lib/gcc/avr/12.2.0/../../../../avr/bin/ld: address 0x803004 of fw.elf section `.bss' is not within region `data' If you can include these object files as an aid for reproducing the problem, that would be appreciated. No problem. Meanwhile: the source repository is at https://phabricator.silmor.de/source/HarteLEDimm/ (subdir src). I narrowed the problem down to the Linker script avrxmega3.xn - it somehow messes up the data segment in the MEMORY section at the top. I was able to get it to link by changing that line: - data (rw!x) : ORIGIN = 0x802000, LENGTH = __DATA_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x802000, LENGTH = 0x1 The fixed origin seems very dubious to me and I wasn't able to debug __DATA_REGION_LENGTH__. It is defined earlier on in script: [cut] I actually meant to ask: is there a way to debug the linker script? I.e. to output what real values are used and where they come from? [cut] and the definition of DATA_ORIGIN can be found in ld/emulparams/avrxmega3.sh: DATA_ORIGIN=0x802000 I am not intimately familiar with the AVR architecture variants, so I do not know if this is a reasonable value... It is the correct value for the AtMega4808, but not the smaller 3208, 1608 or 808, which all have more or less the same MCU core. The 0x80 prefix is actually something that GCC uses to be able to reduce its internal virtual machine state to real addresses. In real hardware addresses are 16bit and only the last 4 hex digits are used. The AVR (XMega) platform has one continuous address space for several very different memory types: in this particular case it starts with the register file (general purpose and then IO registers) at 0x0, then EEPROM (for config data). From the other end it starts with program flash memory at 0x, then data SRAM (used for heap/stack). Between those two sides is a gap in the middle of the address space. The starting address of the SRAM depends on the size of the program flash (every family has basically variants with 8, 16, 32, and 48 kBytes of flash). Usually the SRAM size is somewhat correlated to the flash size (e.g. the 808 has 8kB flash and 2kB SRAM, the 4808 has 48kB flash and 6kB SRAM; otherwise the two are identical). In short: for every specific MCU model that is supported you need to know what specific instruction set it supports (in this case it is the XMega 3 set, the "AtMega zero-series" is a hybrid between Mega and XMega) and what the boundary addresses of each memory type are - those need to be written down somewhere (like a device-spec file that contains parameters like "-Tdata 0x803000" for ld). Konrad OpenPGP_signature Description: OpenPGP digital signature
Binutils/ld: linker script does not work for AVR mega 0 series (avrxmega3)
Hi, the linker fails on trying to arrange data/bss segments even with very few small variables. E.g.: avr-g++ -Os -Wl,--gc-sections -B ~/tronic/atmel-compiler-packs/mega/gcc/dev/atmega3208 -mmcu=atmega3208 -o fw.elf dimmer.o dmx.o input.o ledout.o pwm.o <...>/lib/gcc/avr/12.2.0/../../../../avr/bin/ld: address 0x803004 of fw.elf section `.bss' is not within region `data' <...>/lib/gcc/avr/12.2.0/../../../../avr/bin/ld: address 0x803004 of fw.elf section `.bss' is not within region `data' (AVR) Binutils: tested with version 2.35.1 and 2.39 (AVR) GCC/G++: tested with 12.2.0 and 11.2.0 Host: Debian GNU/Linux 11.4 x86_64, with source compiled GCC 12.2.0 and Binutils 2.39 set as standard build tools. In addition I'm using the "Atmel Compiler Pack" for AtMega version 2.0.401, since the 0-series is still not supported by vanilla AVR-GCC. This is a regression. It definitely works with the tools in Arduino 1.8.15 for Linux: GCC 7.3.0 and Binutils 2.26.20160125. The source can be trivial, as long as it allocates heap, see the attached example. C or C++ does not make a difference. To compile the example download the compiler pack and correct the AVRBASE variable in Makefile. You can switch between MCU types by setting MCUS/MCUL at the top. I narrowed the problem down to the Linker script avrxmega3.xn - it somehow messes up the data segment in the MEMORY section at the top. I was able to get it to link by changing that line: - data (rw!x) : ORIGIN = 0x802000, LENGTH = __DATA_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x802000, LENGTH = 0x1 The fixed origin seems very dubious to me and I wasn't able to debug __DATA_REGION_LENGTH__. I consider my fix "an ugly hack". The linker script in Arduino looks more elegant and also works: __DATA_REGION_ORIGIN__ = DEFINED(__DATA_REGION_ORIGIN__) ? __DATA_REGION_ORIGIN__ : 0x802000; //... data (rw!x) : ORIGIN = __DATA_REGION_ORIGIN__, LENGTH = __DATA_REGION_LENGTH__ If it is safe to do so the line should be changed back. Probably also in the other script files for avrxmega3.x*. MCUs that I tried: AtMega 1608 (atmega1608, m1608): fails with any source even without data, real data start 0x803800, real data length 2kB AtMega 3208 (atmega3208, m3208): fails with source that allocates heap data, real data start 0x803000, real data length 4kB AtMega 4808 (atmega4808, m4808): did not fail during my tests, even though it is almost identical to the above, real data start 0x802800, real data length 6kB The real data start is set in the device spec files with -Tdata... ; I could not find anywhere where the real RAM size is set. Konrad example.tar.gz Description: application/gzip OpenPGP_signature Description: OpenPGP digital signature
Re: Drucken (Xubuntu 22.04, Brother HL-L2340DW)
PS: Sobald der Drucker sichtbar ist wird er von CUPS einfach angelegt - ohne zu fragen. Das Druckbild ist vergleichbar mit dem Brother-Treiber, aber er hat weniger Optionen. Mit Treiber: Media Size: Two-Sided: Paper Source: Print Quality: Color / Mono: Media Type: Color Mode: Improve Gray Color: Enhance Black Printing: Toner Save Mode: Improve Print Output: Skip Blank Page: Brightness: Contrast: Red: Green: Blue: Saturation: Ohne Treiber: Media Size: Media Source: Media Type: Print Color Mode: 2-Sided Printing: Print Quality: Print Scaling: Man muss sich also entscheiden zwischen stundenlanger Diagnose bis der Treiber endlich läuft oder es geht einfach, aber man hat weniger Einstellmöglichkeiten. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Drucken (Xubuntu 22.04, Brother HL-L2340DW)
Hi, On 23/06/2022 16:00, Falk Herzog wrote: Wir haben hier einen Cups-Server laufen, u.A. hängt da ein Brother MFC-L2700DW dran. Clientseitig im Debian hab ich installiert, ka ob die überhaupt alle nötig wären und hab nichts händisch konfiguriert: cups cups-browsed cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common libcups2:amd64 libcupsfilters1:amd64 python3-cups:amd64 python3-cupshelpers Und noch avahi-daemon und avahi-utils, damit er auch entdeckt werden kann. An der Firewall Deines PC muss Port 5353/UDP freigeschaltet sein, damit Avahi die mDNS-Broadcasts der Geräte bekommt. In der Druckerverwaltung vom Gnome wird er gefunden und als "driverless" angezeigt. Die Treiber installiere ich im Gegensatz zu früher nicht mehr. https://wiki.debian.org/SystemPrinting#Driverless_Printing Kannte ich auch noch nicht. Sehr interessant! Auf Druckerseite heißt das Zauberwort "Airprint" - ein Apple-Protokoll mit dem iFöns und ähnliche Gerätchen ohne Treiber auf Drucker zugreifen können. Dazu muss der Drucker seine eigene Beschreibung bereitstellen und eines der Standardformate als Input verstehen. (Tip: Cups stammt auch von Apple.) Ich habe mal bei meinem HLL8250 "Airprint" eingeschaltet, das sieht dann so aus: # avahi-browse -rt _ipp._tcp + eth0 IPv4 Brother HL-L8250CDN series Internet Printer local = eth0 IPv4 Brother HL-L8250CDN series Internet Printer local hostname = [BRN30055C5F3FF1.local] address = [1**.***.***.***] port = [631] txt = ["print_wfds=T" "UUID=e3248000-80ce-11db-8000-30055c5f3ff1" "PaperMax=legal-A4" "kind=document,envelope,label" "URF=SRGB24,W8,CP1,IS19-1,MT1-3-4-5-8-11,OB10,PQ4-5,RS600,V1.3,DM1" "TBCP=F" "Transparent= T" "Binary=T" "PaperCustom=T" "Scan=F" "Fax=F" "Duplex=T" "Copies=T" "Color=T" "usb_CMD=PJL,PCL,PCLXL,URF" "usb_MDL=HL-L8250CDN series" "usb_MFG=Brother" "priority=25" "adminurl=http://BRN30055C5F3FF1.local./ne t/net/airprint.html" "product=(Brother HL-L8250CDN series)" "ty=Brother HL-L8250CDN series" "note=under the desk" "rp=ipp/print" "pdl=application/octet-stream,image/urf,image/jpeg,image/pwg-raster" "qtotal=1" " txtvers=1"] Die Zeile "txt = ..." sagt Dir was der Drucker kann. Für CUPS ist "URF" interessant - da steht drin kodiert was der Drucker alles an Features hat (z.B. bei mir SRGB24 Farbraum, nur 1 Kopie (CP1), 600dpi Auflösung (RS600)). Für die Kompatibiltät ist "pdl=..." (Seitenbeschreibungssprache) entscheidend - es muss mindestens eines der Standardformate (URF, PWG, jpeg, PCL, PCLm, PDF, Postscript) drin sein, sonst braucht man nach wie vor einen Treiber. Mich würde mal interessieren welchen Output andere Brother-Drucker auf das avahi-browse Kommando liefern. Ich habe noch nicht probiert meinen Drucker "Treiberlos" zu betreiben, aber das wird demnächst probiert. Konrad OpenPGP_signature Description: OpenPGP digital signature
Uralt-Compiler/-Distries
Hi, ich muss für ein Projekt auf etwas ältere Compiler zurückgreifen (GCC 4.x). Einen 4.8 habe ich noch in einer Ubuntu 14.04 VM, aber darunter wird es schwierig. Ubuntu 12.04 scheint kein Paketarchiv mehr zu haben - jedenfalls hat es die Installation von Paketen aus dem Netzwerk verweigert. Ich kann zwar viel mit einem aktuellen GCC testen (z.B. -std=c++98), aber echte Kompatibilität kann man nur mit den älteren GCCs und ihren originalen Bugs und missing Features testen... Hat jemand einen Tip welche Distri (möglichst Debian basiert) ich für noch ältere GCC in einer VM benutzen kann oder alternativ was ich beachten muss wenn ich solche alten GCCs unter einer modernen Distri kompilieren will? Konrad
Re: OT: Kreditkarten-Zahlung im Internet / Zwei-Faktor-Authentifizierung mit Hardware von Seal One
Hi, On 20/05/2022 09:39, Thomas Schmidt wrote: Konrad sprach die Bestätigung durch den Kunden bereits an als "Haken". Der Haken der App ist allerdings recht groß, nämlich eine Haftungsumkehr. Nicht nur der Händler lässt sich um Vorfeld die Zahlung von dir bestätigen, sondern auch die Bank. Soweit korrekt. Genau genommen: der Händler leitet Dich auf die Webseite der Kreditkartenfirma weiter und die tut was auch immer vereinbart ist um die Bestätigung einzuholen (kann eine Passwort- oder Code-abfrage sein oder die Seite zeigt solange Sanduhren an bis Deine Handy-App ein Ja oder Nein bekommen hat). Danach hat die Kreditkartenfirma das okay und sagt dem Händler dass das Geld jetzt sicher ist. Deine Bank (von der Du die Karte erhalten hast) hat mit der Kreditkartenfirma einen Vertrag der besagt, dass bestätigte Transaktionen nicht rückabgewickelt werden können (es sei denn es gibt ein Gerichtsurteil gegen Bank oder Händler). (Vorsicht: IANAL, ich nix Rechtsverdreher, ich nix legal Ahnung. Ich hatte nur ein bisschen Grundlagen des Vertragsrechts im Informatik-Studium.) Das heißt, jeder Betrüger, der die App simuliert, bekommt das Geld, und du zahlst. Zwei Denkfehler: a) die App muss die Anforderungen von PCIDSS erfüllen und kann damit nicht mal eben "simuliert" werden - man braucht schon einiges an Schlüsselmaterial und Energie um die Verbindung zur App zu fälschen, am einfachsten wäre Dein Handy zu klauen, aber man muss dann auch den Pin-Code wissen und schneller agieren als Du die Karte sperren kannst; alternativ muss man in Dein Handy hacken und die verschlüsselten Kreditkartendaten abgreifen, knacken und misbrauchen - wir sind nicht bei StarTrek wo Mr. Data das in ein paar Sekunden macht b) Der Betrüger braucht die App nicht um das Geld zu bekommen und den meisten Betrügern geht es auch nicht darum Dir zu schaden, sondern darum selbst reich zu werden. Der einfachste Weg ist es den Transfer irgendwo durchzuführen wo die App gar nicht involviert wird. Zum Beispiel auf dem Idumota Market in Lagos oder so. Meistens läuft ein Betrug so: 1) Betrüger A erbeutet eine ganze Datenbank voll Kreditkartennummern, nebst 3-stelliger "Security Codes" von irgendeinem großen online-Händler, der die Sicherheitslücke des Jahres verschlafen hat und demnächst Ärger mit der Finanzaufsicht seines Landes bekommt 2) Betrüger A verkauft diese Datenbank in tausender-Tranchen im Darknet 3) Betrüger B kauft eine handvoll Tranchen für relativ wenig Geld 4) Betrüger B gibt jeweils eine Handvoll Nummern oder "Karten-Clone" an eine Schar von "Mules", die damit Luxusgüter online oder offline kaufen sollen 5) Die Luxusgüter werden an weitere "Mules" weitergegeben, die sie dann auf eBay oder dem lokalen Bazar verscherbeln (mit Verlust, aber der Verlust wird ja von jemand anderes bezahlt) 6) Vom Erlös bekommen die Mules einen Teil ab und der Großteil wird (per Post oder Western Union) an den Betrüger B geschickt 7) Betrüger B kauft sich einen Porsche und ein paar von den Mules werden erwischt und gehen in den Knast, Betrüger A kauft sich einen besseren Laptop und hackt weiter 8) falls bei 4 die App aufgepopt ist und Du den Haken setzt bist Du selber schuld, wenn sie nicht aufpopt und Du auch nicht der Abrechnung widersprichst auch selber schuld, ansonsten trägt der Händler oder seine Bank die Kosten 8b) eigentlich tragen wir alle die Kosten, weil wir ja Gebühren und/oder Zinsen für Kreditkarten bezahlen - das ist schon eingerechnet 8c) wenn das ein paar mal mit vielen Karten passiert wird bei der Polizei eine Akte angelegt und man versucht herauszufinden was das Muster ist, manchmal hat man Glück und kann ein paar Mules verhaften oder herausfinden welcher Server-Einbruch dazu geführt hat und kann die Karten sperren, B ärgert sich nur ein bisschen weil er neue Tranchen kaufen muss 8d) wenn es ein paar Mal mit Deiner Karte passiert wird Dir Deine Bank ganz schnell eine neue Kartennummer geben wenn Du nicht schon selber auf diese Idee gekommen bist Ein richtig dummer B ist sein eigener Mule und wird ein paar Monate später erwischt. Manchmal sind A und B Teil der selben professionellen Bande und sie haben genug Cops gekauft um das jahrelang ungestraft zu machen. Den "klassischen" Betrug gibt es nur noch selten wo ein Händler nach Deiner Transaktion mit Deinen Kartendaten nochmal irgendwo einkauft. Selten, weil man es leicht entdecken kann und diese Händler dann recht schnell in den Knast wandern. Diese Art von Betrüger müsste dann auch Dein Handy oder Token klauen, damit Du auf den Kosten sitzen bleibst. Lohnt sich nicht. Kreditkartenfirmen steckten viel Aufwand in die Verfolgung von Betrugsfällen, den sie mit der App nun an dich abgeben. Korrekt, das war die Idee hinter der App oder dem Token oder whatever. Aber eigentlich soll die App das Problem abfangen bevor es zum Betrug kommt. Es machen dummerweise nur nicht genug Händler und Banken mit.
Re: Aw: LUG Treffen März
Nu mache ma ganz ganz langsam. Mir wolln ja nisch heddsn', s' is schon schbäd. Und hier wird nisch gerannd! On 09/03/2022 20:00, ottmar-schm...@web.de wrote: Entweder hat Konrad den falschen Link verschickt odr ich bin stand 20:00 Uhr alleine ^^ Grüße aus dem Weinland Baden Ottmar *Gesendet:* Dienstag, 08. März 2022 um 18:52 Uhr *Von:* "Konrad Rosenbaum" *An:* "Linux-User-Group Dresden" *Betreff:* LUG Treffen März Hi, Mittwoch 9.3. 20:00 (MEZ) ist das nächste LUG-Treffen, wieder online: https://bbb.schlittermann.de/b/gre-kcf-m77 Gibt es von jemandem ein Thema? Gruss, Konrad OpenPGP_signature Description: OpenPGP digital signature
LUG Treffen März
Hi, Mittwoch 9.3. 20:00 (MEZ) ist das nächste LUG-Treffen, wieder online: https://bbb.schlittermann.de/b/gre-kcf-m77 Gibt es von jemandem ein Thema? Gruss, Konrad OpenPGP_signature Description: OpenPGP digital signature
Sven Guckes
Hi, für diejenigen von uns, die auf dem einen oder anderen Linux(Info)Tag unterwegs waren/sind - ein Urgestein dieser Veranstaltungen, Sven Guckes, ist gestern gestorben. Hier ein Nachruf auf Heise: https://www.heise.de/news/Vim-Versteher-und-Kommandozeilenerklaerer-Sven-Guckes-ist-tot-6511004.html Nicht nur LUG-Pinguin Gerd wird ihn vermissen (Bild): Sven & GerdSven & Gerd 2004 (2004 in Chemnitz) Konrad OpenPGP_signature Description: OpenPGP digital signature
Erstes LUG Treffen 2022
Hi, Allen Pinguinen ein frohes neues Jahr! Am Mittwoch, 12.1.2022 findet das erste LUG Treffen des Jahres statt. Wie in inzwischen gewohnt online: https://bbb.schlittermann.de/b/gre-kcf-m77 Es besteht die Hoffnung dass die Datenautobahn am Mittwoch kein Glatteis hat... bis dahin, Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: OT: Conrad-Filiale in Dresden
Hi, On 05/12/2021 14:43, Jakob Mendel wrote: seit Mitte November ist die Dresdner Filiale von Conrad electronic (Bayerische Str., hinter dem Hauptbahnhof) geschlossen. Mittlerweile ist der Laden auch leergeräumt. Selbst wenn's nur noch fürs Protokoll ist: Kennt jemand die Gründe? Hat sich nicht mehr gelohnt. Conrad ist eine Mischung aus vielen sehr speziellen Geschäften mit nicht besonders konkurrenzfähigen Preisen. In den 90ern und Nullerjahren ging das prima, da es kaum andere Quellen gab. Heute bekommst Du die selbe Technik zu besseren Preisen und/oder mit besserer Qualität anderswo. Das Argument "Beratung" wurde zumindest in der Filiale in Dresden auch immer dünner - die Kompetenz lies zuletzt nach - ich habe jedenfalls kaum noch Tips bekommen die über das hinausgehen was auf der ersten Google-Seite steht wenn ich selber suche. Das letzte Mal dass ich da drin war, war eher Langeweile als die Überzeugung dort etwas mit überzeugender Qualtät zu einem fairen Preis zu bekommen. Das Positive an Conrad (für Bastler) ist dass die Durchschnitts-Qualtät geringfügig oberhalb eines Trödelmarktes in Shenzhen liegt, das Problematische an Conrad ist dass die Preise zum Teil oberhalb von echter Profitechnik liegen. Es würde mich nicht wundern wenn Conrad insgesamt demnächst gewaltig umstrukturiert wird oder pleite geht. Viel praktischer ist diese Frage: Gibt es "Ersatz"? Kennt jemand ein *Ladengeschäft*, dessen Angebot über das von MediaMarkt, Saturn und Cyberport hinausgeht? Nein. Und das ist meiner Meinung nach auch gut so. Heutzutage kann ein Ladengeschäft nur überleben wenn es sehr gute Beratung hat und das klappt nur mit einem wesentlich spezialisierteren Sortiment als es Conrad hat. Online ist einfach günstiger, weil die Ladenmiete wegfällt. Ich denke man muss sich daran gewöhnen in stärker spezialisierte Geschäfte zu gehen oder online einzukaufen. Meine Empfehlung: 0815 Medien und Computer-Kleinteile: Mediamarkt, Saturn Computer mit kompetenter Beratung: Cyperport Modellbau: Google sagt es gibt ein paar Spezialgeschäfte für Modellbau in Dresden; wenn Du richtig auf Architekturniveau arbeiten willst: Künstlerbedarf Gerstecker; wenn Du bereits weißt was Du willst: online; mal sehen wer in den nächsten Monaten die Lücke füllt Löttechnik, Elektronik: die Zielgruppe ist in Dresden nicht groß genug für ein Geschäft, also nach Berlin gehen oder online: * Reichelt für kleine Mengen und spezielle Wünsche (nicht ganz so teuer wie Conrad und auch besser sortiert) * Mouser für größere Mengen und sehr professionell (in Summe günstiger als Reichelt, aber Du musst über 50 Euro pro Bestellung kommen, sonst wird der Versand teuer) * Amazon für Standardteile, die alle anderen Maker auch brauchen (Lötkolben, LEDs und so, Qualität ist zum größten Teil auf Conrad-Niveau bei besseren Preisen) * AliExpress wenn es spezieller wird oder richtig billig sein soll (jede Qualität zu jedem Preis in jeder Kombination) Kabel und einfache Teile: Mediamarkt wenn Du es gleich brauchst und bereit bist Geld dort zu lassen, Amazon wenn es übermorgen reicht und dafür etwas günstiger sein darf Show-Technik und Profi-Musik/-Licht: hier war Zoundhouse schon immer um Welten besser als Conrad; oder online: Thomann Die allermeisten Recherchen funktionieren heute auch ohne den (mehr oder weniger) freundlichen Verkäufer hinter der Theke - Du findest für jedes Thema Blogs, Foren und tonnenweise Youtube-Videos online. In den letzten 10 Jahren waren die wenigen nützlichen Tips die ich von Verkäufern bekommen habe nur noch die Stichworte nach denen ich suchen musste. Konrad (mit "K") OpenPGP_signature Description: OpenPGP digital signature
Re: Tasten und Lampen an den Rechner bauen (Exponiert)
Hi, ich beantworte nur mal die schnelle Frage, den Rest evtl. heute abend. On Thu, September 9, 2021 00:05, Thomas Schmidt wrote: > Nur die Kicad-Daten habe ich nicht online, weil ich noch nicht kapiert > habe, welche Dateien wie gebraucht werden. Du brauchst zwingend: KiCAD 5.x: *.pro, *.sch, *.kicad_pcb KiCAD 6 (Nightly): *.kicad_pro, *.kicad_sch, *.kicad_pcb Die Datei sym-lib-table enthält die Konfiguration welche Symbol-Bibliotheken Du benutzt. Bei KiCAD 6 ist es nett es mitzuliefern wenn es ordentlich gepflegt ist (siehe unten). Bei KiCAD 5 bin ich mir nicht sicher was alles drin ist und wie es gespeichert wird. Das selbe gilt für fp-lib-table. Die fp-info-cache ist eine einfache Cache-Datei, die Kopien von Footprints enthält. Du kannst sie mit abspeichern, musst Du aber nicht. Die Cache-Dateien sind ganz praktisch wenn jemand "nur mal drüberschauen" soll - dann spart man sich das Hickhack mit externen Bibliotheken. Verbraucht auf der anderen Seite aber auch bissl Platz. Wenn Du modifizierte Symbole/Footprints benutzt dann brauchst Du auch die externen Bibliotheken. Je nach Projekt gibt es verschiedene Strategien damit umzugehen. Wenn es z.B. ein lokales Symbol ist was nur in dem einen Projekt gebraucht wird oder extra zu dem Zweck importiert wurde, dann speichere es mit im Projektverzeichnis und verlinke direkt darauf - benutze die ${KIPRJMOD} Variable für das Projektverzeichnis. Wenn Du Symbole/Footprints aus einer größeren Bibliothek holst kopierst Du sie entweder mit ins Projektverzeichnis wie oben oder Du fügst eine README hinzu mit Hinweisen wo man die Bibliothek bekommt. Benutze Variablen um die Bibliothek zu finden und schreibe in die README wie man die Variablen setzen soll. Relative Pfade sind okay, wenn es einfach zu machen geht und nicht 20 Hierarchiestufen vom Projekt entfernt ist. Viele Leute setzen absolute Pfade und erzeugen damit Schreikrämpfe bei ihren Nutzern... Der Rest sind üblicherweise generierte Dateien, die Du also nicht wirklich liefern musst... Eine BOM (nativ XML, verschiedene andere Exportformate) brauchst Du nur wenn Du eine BOM für die Herstellung bauen willst - der Normaluser braucht das nicht. Genauso Gerber-Files und anderer Output für die Produktion. Die Netlist ist nur ein temporäres Austauschformat zwischen den KiCAD-Komponenten. KiCAD 6 erzeugt sie nicht einmal mehr ohne dass man Zwang ausübt. Soweit ich gesehen habe gehört es zum guten Ton PDFs mit dem Schema und (selten) auch dem PCB zu veröffentlichen - für User, die eine andere EDA Software benutzen. Konrad
Re: Arduino für Anfänger Workshop
Hi, On 14/05/2021 17:57, Konrad Rosenbaum wrote: ich hatte es Mittwoch beim online Treff ja schonmal erwähnt: ich würde gerne einen Workshop zu Arduino (unter Linux) anbieten. Leider ist bei mir reichlich Stress dazwischengekommen - es verschiebt sich also mindestens bis Ende Juli. Ich melde mich sobald ich Zeit zur Vorbereitung hatte und einen Termin festlegen kann. Sorry. Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Organisation und IT
Hi, Du hast ein Problem. Die schlechte Nachricht: es ist im Wesentlichen nicht technischer Natur. Will heißen: die technischen Aspekte sind anspruchsvoll, aber lösbar - die nicht-technischen Aspekte sind richtig schwierig. Die gute Nachricht: Du hast erkannt dass Du ein Problem hast - das ist mehr als die meisten jemals schaffen. On 15/05/2021 14:13, Udo Forstmann wrote: nachdem ich als fachfremde Person hier seit Jahren nur gelegentlich herumlurke, versuche ich jetzt mal den direkten Zugang ins Herz der IT-Kompetenz zu nutzen ;^) Gegeben sei eine Organisation (im kirchlichen Bereich, tut aber erst mal nichts zu Sache) in der es gerade strukturelle Veränderungen durch Zusammenlegungen gibt. Mal wieder...? Es gibt einige hauptamtliche und viele ehrenamtliche Beteiligte mit _sehr_ heterogenen Beziehungen, insgesamt geschätzt etwa hundert Leute. Ein Kern an Verwaltungstätigkeit ist relativ streng geregelt und an die übergeordnete Behörde gebunden, mit umfassenden Archivierungs- und Datenschutzregeln. Auch das muss aber modernisiert werden. Hier liegen die auf direktem Weg lösbaren Probleme. Angestellten kann man Weisungen erteilen (in Grenzen). Darüber hinaus bestehen aber viele Gremien und Gruppen mit teils wechselnden Mitgliedern und Aufgaben, deren Mitarbeit und Interaktion ausdrücklich erwünscht ist und gefördert und erleichtert werden soll. Hier wird es richtig schwierig - Freiwillige durch eine Migration bringen ist wie Katzen hüten im freien Feld. Einige werden weglaufen, der Rest wird etwas unerwartetes machen. Wie schafft man es nun (ohne ein Untenehmensberatungsunternehmen zu befassen) die verschiedenen Bedürfnisse so zu sammeln und zu strukturieren, dass man eine angemessene technische Unterstützung für Kommunikation und Datenverarbeitung konzipieren und dauerhaft pflegen kann? Nunja. Im besten Fall ist das exakt die Kernkompetenz von Unternehmensberatern. Mit Berater ist es schwierig und es wird massive Beschwerden geben. Explizit auf Berater zu verzichten macht es zum Glücksspiel mit ganz geringer Gewinnchance. Es ist leider so, dass bisher kaum Problembewusstsein besteht, den Wildwuchs an improvisierten Insellösungen zu konsolidieren und gerade besteht die Gefahr, dass sich das schnell weiter wächst und sich verfitzt. Richtig. Das ist der Normalzustand unter Usern. Egal wie professionell. Und genau das macht es so problematisch: User kennen die aktuelle Lösung und haben grundsätzlich Angst vor jeder Änderung. Sie dazu zu bekommen eine Änderung mitzumachen ist schwierig. Mensch könnte nun die Beteiligten (evtl. auch gruppenweise) zusammen holen und als Brainstorming Wünsche und Probleme einsammeln und die Ergebnisse hernach im kleinen Kreis sortieren. Es könnte aber auch sinnvoll sein, z.B. in einem Fragebogen gezielt Informationen zu sammeln, damit das nicht ausufert und die Beteiligten vorwiegend relevante Informationen liefern. Direkte einmalige Befragungen bringen Dir viel Rauschen in Form von Platitüden und unwichtigen Problemchen die gerade an der Oberfläche sind. Fragebogen bringen so viel Müll dass das Signal vom Rauschen nicht unterscheidbar ist - vorrausgesetzt Du hast überhaupt die richtigen Fragen gestellt und die Beteiligten lassen sich dazu herab zu antworten. Geh in die Gruppen wenn sie sich sowieso treffen und diskutiere direkt mit ihnen. Lerne sie kennen. Lerne ihre Sorgen und Probleme kennen. Nachgedacht werden müsste dann zuerst über Prozesse, Rollen, Sicherheitsanforderungen usw., danach über geeignete Plattformen und Services und erst dann über technische Umsetzung: Hardware, Administration und Skalierung. Nein, als erstes musst Du über Menschen und ihre Probleme nachdenken. Plattformen, Services, etc. ergeben sich dann als Lösung im 2. oder 3. Schritt. Das kann alles einerseits beliebig komplex werden, ist aber andererseits ein allgegenwärtiges Thema und sollte sich auch mit normaler Lebenserfahrung adäquat bearbeiten lassen. Leider nicht. Normale Lebenserfahrung sagt Dir nicht wie sich Menschen in niederschwelliger Panik verhalten (genau das ist es was Du mit der Drohung einer System-Änderung auslöst). Die gute Nachricht ist dass die Kirche haufenweise Seelsorger hat die sich mit genau solchem Verhalten auskennen - nutze diese Resource!! Sind euch Verfahren oder Hilfsmittel bekannt, wie man das Problem partizipativ und niederschwellig angehen könnte, ohne komplett alles neu zu erfinden? Wie fragt ihr z.B. eure Kunden nach den Bedarfen? Die professionelle Industriemethode ist: Plausch in der Kaffeeküche. Ja, im Ernst. Sorge dafür dass die Umgebung so relaxt ist wie nur irgend möglich (Kaffee, Kekse, etc. helfen) und übe keinen Druck aus - d.h. Du kündigst das nicht als Diskussion über anstehende Änderungen an, sondern Du willst die Probleme Deiner Kunden kennenlernen und steuerst das Gespräch dann ganz behutsam in Deine Richtung. Du wirst mit jeder Gruppe(!!) mehrfach solche Gespräche führen müssen. Im
heute LUG Treff
Hi, heute wieder pandemiekompatibles virtuelles LUG-Treffen um 20:00 hier: https://bbb.schlittermann.de/b/gre-kcf-m77 bis dann, Konrad OpenPGP_signature Description: OpenPGP digital signature
Re: Linux Infrastruktur
Hi, On 02/03/2021 20:09, Stefan Engelhardt wrote: [...] Der Ärger mit den NASes ist mir persönlich einfach zu hoch als das so ein NAS noch einmal produktiv Arbeit bekommt. NAS dekradiert auf Webseitenbereitstellung. Weitere Käufe von Synology-Produkten ausgeschlossen. Meine Alternative: PC mit Mainboard welches 10 SATA Festplatten aufnehmen kann. Proxmox drauf und VM's mit hauptsächlich Debian, Ausnahme Ubuntu. Läuft ganz hervorragend. Wenn etwas nicht läuft war es mein Fehler wegen unerfahren. Nur vorsichtshalber: Euch ist schon klar dass NAS die Abkürzung für "Network Attached _Storage_" ist - oder? Das bedeutet dass alles ausser Netzwerk-Dateisystem auf so einem Teil nur eine Notlösung sein kann. Und: ich würde eine NAS auch nur dann für Webseiten einsetzen wenn das rein lokal passiert (Intranet), keinesfalls wenn sie von außen erreichbar sind. Synology ist zwar vergleichsweise sicher, aber nicht auf Webserver optimiert. Proxmox ist ein Virtualisierungssystem, kein Storage-System. Du kannst es also benutzen um Deine Server zu virtualisieren, aber als NAS ist es weniger geeignet. Bitte haltet Eure Anwendungsfälle und Produkte auseinander. Man isst ja auch keine Suppe mit der Gabel und Löffel sind nur bedingt geeignet um ein Steak zu zerteilen. Konrad OpenPGP_signature Description: OpenPGP digital signature
OT: negativer Widerstand
Hi, mal etwas völlig offtopices: moderne "super advanced" Hardware. Nachdem ich mein neuestes Paket aus China geöffnet hatte viel mir folgende Spule mit SMD-Widerständen in die Hände: 0 Ohm +/- 5% (siehe Bild) Da sind die chinesischen Fertigungsmethoden jetzt also schon so gut dass sie ausversehen(!!) weniger als Null Widerstand herstellen können - 0 Ohm minus 5%. Ist das jetzt besser als Supraleiter? Da sind wir westlichen "Industrienationen" natürlich chancenlos. Ich rätsel jetzt natürlich wie ich mit den eventuell negativen Widerständen umgehen muss. Ich bin ja nur Informatiker, kein Hardwerker - trotz fast 20 Jahren in der Halbleiterindustrie ist mir das noch nicht untergekommen. Wer Vorschläge hat wie ich 5% von 0 Ohm berechne und welche Auswirkungen ein negativer Widerstand auf eine Schaltung hat melde sich bitte mit Vorschlägen - ich bin für jeden Hinweis dankbar. Konrad Widerstand zwecklos? OpenPGP_signature Description: OpenPGP digital signature
Re: Virtuelles LUG-Treffen
Hi, On 10/28/20 12:54 AM, Konrad Rosenbaum wrote: Heiko hat dankenswerterweise einen virtuellen Raum in BigBlueButton zur Verfügung gestellt: https://bbb.schlittermann.de/b/gre-kcf-m77 Heute wieder virtuelle LUG im BBB... Konrad OpenPGP_signature Description: OpenPGP digital signature
Virtuelles LUG-Treffen
Hi, im Moment sind physische LUG-Treffen ja eher nicht angeraten, daher versuchen wir es mal mit einem virtuellen Treffen. Heiko hat dankenswerterweise einen virtuellen Raum in BigBlueButton zur Verfügung gestellt: https://bbb.schlittermann.de/b/gre-kcf-m77 Wer Lust hat sich mal wieder live über Linux, das Leben, das Universum und den ganzen Rest auszutauschen meldet sich bitte einfach zur üblichen Zeit an: Mittwoch, 28.10. 20:00 Uhr. Es gibt kein spezielles Thema, aber wer Ideen hat kann diese gerne zur wohlwollenden Begutachtung mitbringen. Konrad OpenPGP_0x555A7E20DF26E3B4.asc Description: application/pgp-keys OpenPGP_signature Description: OpenPGP digital signature
Re: [Interest] [Development] Windows 7 support will be dropped in Qt 6
On 2020-06-13 09:42, Filip Piechocki wrote: > for me not updating a system, software etc for many years is just > equal to building a technical debt. Any serious company should be > aware that this will finally kick them in their butt, should have > measure the potential cost and decide where is the point where they > should switch. If a company decides to not care about this then > someone else will decide for them for example by dropping support for > their OS/hardware/whatever. > Backwards compatibility is nice but the world (especially IT world) is > moving forward and lagging behind is a potential risk and cost. Believe me: they are aware of it. But there are other constraints that overrule this: From the perspective of the factory: they paid hundreds of thousands or even millions for a machine. They pay that money for the functionality, not the OS, so an outdated OS is not a priority. This machine is probably one of only two options that are workable and the other one is even worse. While they may exert some pressure on the supplier to fix this problem, they exert even more pressure to have the machine work properly. The factory itself does not change the OS on those machines - even if the IT department demands the ability to update, it usually means total loss of warranty/support and may mean total loss of production - watch the engineers overrule IT, but watch closely it is very quick. From the perspective of the supplier: they have a very narrow margin on those machines and it took them years to "qualify" Win7. "Qualify" basically means they discovered all the pitfalls and problems the hard way and found some fix that barely works. They are going to work on that basis for as long as is humanly possible. If the customer does not talk about it - great. If the customer talks about it - explain. If the customer demands - whine and cajole. If the pressure is too high - do a "cooperative long term project" - i.e. let the customer pay for it. ;) In most cases upgrading from one major version of the OS to another restarts the qualification cycle - you can't be sure whether the machine is still stable. I have worked in factories in which a day of downtime means several millions in cost. A bottleneck machine can cause the factory to go down. The technical debt of an old OS is dwarfed by this. Konrad signature.asc Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] [Development] Windows 7 support will be dropped in Qt 6
On 2020-06-13 03:22, Thiago Macieira wrote: > On Friday, 12 June 2020 05:01:17 PDT Roland Hughes wrote: >> You can't drop an OS as long as there are paying customers for it. > Sure they can. But as a consequence, those customers may stop paying for it. ...and may never return. >> Real business needs a 15-30 year LTS, not 5. > How do you define "real business"? How about by revenue or market > capitalisation? The biggest companies on the planet (Apple, Amazon, > Microsoft) > don't support your assertion. The top one (Apple) gives 2 years of support. > > Their success validates their business model. So far so correct. But do I care about their market capitalization? Since we are not talking about investment banking I'd dare say: no. How about "Willingness to pay for products or support"? In that regard Apple and Microsoft rank very low - they are almost pure software suppliers, not customers. Amazon may buy some support, but AFAIK they do most of it in-house. So who pays lots of money for Qt-based products and support? All kinds of industry who have to maintain expensive machines (big players may be names like Intel, TSMC, GE, GM, GSK, ...). Vendors who create higher-level Qt products and support companies surrounding these. Companies producing entertainment products that will be Qt based. Etc. While you will find a lot of companies that want the newest and hippest features on the newest OSes, you will also find quite a few behemoths who are willing to toss large sums after very old systems. Here is a challenge for you Thiago: on Monday contact the manufacturing side of your company and ask them for a clean room tour in one of Intel's many fabs - once there take a very close look at the control screens of the machines in there, note the systems they are running. Konrad signature.asc Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] [Development] Windows 7 support will be dropped in Qt 6
On 2020-06-12 02:44, Hamish Moffatt wrote: > On 12/6/20 10:17 am, Scott Bloom wrote: >> Why is Win7 being dropped? I (my company) has gotten burned pretty >> hard by the dropping of CentOS 6, similar reasons listed for win7.. > > It's funny that there's so much discussion about dropping Windows 7 > which was released 11 years ago. > > Yet Qt 5.15 already dropped macOS prior to 10.13, which is not even 3 > years old. And Qt trunk requires 10.14, which is only 2 years old. > This is really a major PITA. From an industry perspective: I have seen lots of machines running all kinds of outdated versions of Windows(*) or rather old versions of RedHat or embedded Linux(**), but it has been a very very long time since I have seen a machine running some Apple product of any version. I.e. there are plenty of Windows users who have the bucks to demand long term support for their systems, the same cannot be said for Apple users. (*)if you walk into a running factory it is pretty normal to find a large portion of the machines running XP, I would not be surprised to find a W2k machine or even a machine running DOS in a factory that has been running for 15 years. New factories will have plenty of machines running Win7, because new OSes is simply not what the machine suppliers care about most. (**)you will regularly find machines running a 2.6 kernel, some may even run 2.4. Many GUIs look suspiciously Motif-like and if you get to see the window manager behind the full-screen GUI it may look eerily CDE-ish or FVWM-like. Industry is willing to pay large amounts of support and maintenance costs for the machines they run - this is what keeps people like Roland and me well fed. Unless you can find a large industry or two that care about legacy MacOS and are willing to pay tons of money for support, it will stay bleeding edge because maintenance cost goes up exponentially with the number of systems you have to support. Konrad signature.asc Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: Living Ends
Hi, On 2020-06-01 09:35, Thomas Güttler Lists wrote: > > Am 27.05.20 um 12:13 schrieb Matthias Petermann: >> >> On 27.05.20 09:25, Thomas Güttler Lists wrote: >>> >>> Was wird die Zukunft aus eurer Sicht für >>> >>> schöne Dinge bringen? >>> >> >> Ein schönes Thema bringst Du da auf den Tisch. Ich denke die Zukunft >> verdient und bringt eine Trendwende im Energieverbrauch (und damit >> der Systemanforderungen) insbesondere für Clients. Das sehe ich etwas pessimistischer: auf dem Client gibt es niemanden der mitzählt und dann die Optimierung bezahlt. Solange es nicht normal ist dass das Betriebssystem den Fensterbalken rot einfärbt wenn die Applikation Energie verbraucht wird es niemanden interessieren. Beim Browser müssten entsprechend die Tabs eingefärbt werden. Problem in beiden Fällen: wie zählt man den Verbrauch der indirekt verursacht wird (Applikation beauftragt einen Service etwas zu tun). Selbst auf dem Smartphone zeigt mir das System den App-Verbrauch nur wenn ich tief in den Settings grabe und für Web-Apps nur den Gesamtverbrauch meines Browsers. Ganz anders sieht das auf der Server-Seite oder in Fabriken aus: "Green IT" ist ein Thema, denn Energieverbrauch findet sich als erheblicher Posten in der Bilanz wieder. Es gibt ganze Ausgaben von IT-Zeitschriften die dieses Thema beackern, in jeder zweiten iX ist eine Anzeige zu diesem Thema. Oder z.B. in der Halbleiterindustrie gibt es einen ganzen Standard der sich mit nix anderem als Energiesparen beschäftigt (hier allerdings auf Maschinenebene - die eingebauten Server verbrauchen nur einen winzigen Bruchteil der Energie). >> Und etwas mehr Wertschätzung für nachhaltige Lösungen, welche die >> Souveränität ihrer Nutzer bewahren. Auch hier bin ich skeptisch: solange Facebook und Co. Erfolg haben weißt das darauf hin dass die Menschheit keine Lust auf ihre Grundrechte hat... ...schade eigentlich. >> >> Zum Energieverbrauch: >> >> ... > > > Sehr interessantes Thema. Um effizient Optimieren zu können müsste man > erstmal wissen wo wieviel > Energie verschwendet wird. Dann könnte man überlegen mit welchen > Maßnahmen am meisten > Energie gespart werden kann. > > Oder ist der Effizientsgedanke hier nicht so angebracht, und es geht > eher "um die Gute Tat"? Client-Seite, Systeme für privat: wenn Du ein grünes Label draufkleben kannst wird es gekauft. Was das Label aussagt wird nicht hinterfragt (weil es kaum jemand einschätzen kann). Deine Applikation müsste schon extrem verschwenderisch sein damit man es sofort am Handyakku oder am aufheulenden Lüfter merkt. Da Features verkaufbar sind sollte klar sein wofür die Entwickler Zeit und Budget bekommen. Industrielösungen: je größer die Fabrik, umso größer der Druck den Dein Kunde ausüben wird damit es tatsächlich Energie (-Kosten) spart. Irgendwann kommt die IT-Abteilung angemeckert und zeigt Dir den CPU-/Energieverbrauch Deiner Lösung im Vergleich zu anderen VMWare-Instanzen und wird Dir eine Standpauke halten weil Du die Performance des ganzen Hosts runterziehst. Etwa gleichzeitig wird das mittlere Management sich beschweren dass sie andauernd neue teure (virtuelle) Server von IT kaufen müssen und das obwohl gerade gespart werden muss! Die Techniker/Admins werden sich beschweren dass Deine Applikation ständig Speicher einsammelt und aller naselang neu gestartet werden muss damit der Server nicht crasht. Die Ingenieure werden sich beschweren "dass das alles zu lange dauert bis man hier ein Ergebnis auf dem Bildschirm sieht". Sprich: irgendwann wirst Du mehrere Monate Budget bekommen um zu Optimieren. (Alles schon im Real Life[tm] erlebt.) Die Optimierung an sich geht mit Standard-Tools (Methode des scharfen Hinsehens, Profiler, Call-Tree-Analyse, erfahrene Kollegen fragen, ...), sie ist nur extrem zeitaufwändig und erfordert wesentlich mehr Expertise als normales "Features rausfeuern" ohne ein direkt sichtbares Ergebnis zu bringen. Du kannst Dir denken wo im Allgemeinen die Priorität gesetzt wird. > > Ich persönlich finde es super, dass ich bei einem Web-basiertem Office > einfach den Browser schließen kann, und dann > eine halbe Stunde (wenn ich zB unterwegs bin), das Dokument mit meinem > Smartphone öffnen kann, und schnell noch > einen Gedanken hinzufüge. > > Ich finde es auch super, dass ich nicht mehr strg-s zum Speichern > drücken muss. Noch besser ist, das ich kein Backup > machen muss. Strg-S ist eine keine Eigenschaft des Web- vs. Offline-Modells, sondern wie die Applikation programmiert wird. Bei einem Office macht Buffering+Save durchaus Sinn, weil ich mich ab und zu komplett vertun werde und das falsche Kapitel lösche. Bei Web-Apps ist es nur extrem sinnlos alle Daten erstmal nur im Browser abzulegen und potentiell zu verlieren, deswegen werden sie sofort an den Server übermittelt und dort live in die Datei gepatcht. Expertenapplikationen benutzen auch auf dem Desktop gerne mal das Live-Storage Paradigma ohne Strg-S, da entweder die gehandhabten Datenmengen zu groß sind um sie im
Re: Living Ends
Hi, ich find ja schonmal den Titel "Living Ends" (deutsch: Das Leben endet) hinreichend depressiv für eine Diskussion der Zukunft... ;-) (Eine Diskussion der Ähnlichkeit zwischen Gerundien und spezifischen Adjektiven, Plural von Nomen und der 3. Person von Verben in der englischen Sprache erspare ich Euch mal...) On 2020-05-27 20:44, Bernhard Schiffner wrote: > Kurz nachdem ich gelernt hatte, mit QWidgets klar zu kommen, wurde QML das > Mittel der Wahl. (Natürlich 1 Jahr später dann QML2, deutlich inkompatibel. > Und die Schnittstelle zwischen "normalem" QT-Code und QML ist (für mich) > immer noch nicht zu debuggen.) Mach Dir nix draus - ich bin auch einer von denen die sich QML verweigern. Schon weil ich das verwendete Javascript nicht als Sprache, sondern als Folter bezeichne... > Also warte ich auf QT6, die Lösung aller Probleme. (Deutet sich da aber was > mit Lizenzen o.ä. an?) Bitte Qt6 (kleines "t", sonst gibt es Leute die es mit QuickTime verwechseln). Qt6 wird aus Nutzersicht keine Revolution werden - im Wesentlichen ist es eine Antwort auf den BC-Stau (BC=binary compatibility) - über die ca. 10 Jahre Qt5 haben sich sehr viele Probleme angehäuft die nicht binärkompatibel gelöst werden können oder die Umbauten in der API brauchen. Qt verspricht aber innerhalb eines Major-Release BC und SC (source comp.) zu bleiben. Der Plan ist ein Release zu bauen welches weitestgehend (aber nicht komplett) SC ist und sich haufenweise BC-Brüche in Kernkomponenten erlaubt (z.B. QString). Ein paar Komponenten stehen auf der Abschussliste (z.B. QList soll durch QVector ersetzt werden). Ein paar APIs werden in andere Module umsortiert oder in neue Module ausgelagert. Die allermeisten Qt5-Programme werden also mit sehr wenig Aufwand (Ziel ist weniger als bei Qt4 -> Qt5) auf Qt6 portierbar sein. Die Innovationen mit neuen APIs, neuen Modulen etc. sind schon in den späteren Versionen von Qt5 passiert (Qt5.15 bringt z.B. einen PDF Viewer). > Du siehst: ziemliche Desillusionierung meinerseits. ...passt ja zum Subject der Mail... ;-P Konrad signature.asc Description: OpenPGP digital signature
Re: [Development] MaintenanceTool and/or InstallerFramework horribly insecure?
Hi Kai, thanks for looking into this. One more discovery: the Qt Account credentials are also stored with 0557 permissions - they really should be 0600 for the file and 0700 or 0755 for the directory. Credential storage permissions should always be overridden anyway and not be left to some automatic mechanism, like umask. In case this is of interest: my umask is 0022. In an ideal world it would even ask permission to store credentials in the first place, even better it could use a system service for storing them securely (kwallet, Gnome Keyring, Windows credentials store, ...). Wishful thinking... On 2020-05-23 06:13, Kai Köhne wrote: > thanks for the report. Volker forwarded it to the qt-project security mailing > list. Feel free to send further security related issues there. Thanks & I put it on Cc now. >> When I call MaintenanceTool to install another version of Qt it wants to >> sudo into root when it starts to download Qt components. It still asks >> for the sudo password if I quit while selecting components! > I assume you start a new installer here (not the MaintenanceTool of an > existing installation). Is that really during the download, or in the > extractio phase? Can you maybe create a bug report and attach the > installation log (you can start the installer with --verbose)? No, that was an existing MaintenanceTool, which first updated itself and then restarted into normal updates. It switches into root as soon as you leave the package selection screen. Regardless of variant: it should never set insecure permissions, it should correct insecure permissions when it encounters them on crucial files/directories and it should not elevate its privileges unless absolutely necessary - and then it should ask. (According to RFC2119 this "should" should really be "must"... ;-) ) BTW: it still has the bug that the default selection is "remove All" - after discovering those bugs I granted that wish, killed it and installed from source. So sadly no traces of MaintenanceTool or its logs are left on this machine. As far as I could see at the time there were no usable hints about this directory or permissions in this log, I'm not sure about starting the root process. If I have excessive amounts of time next week, I might retry this on my work machine - but I really have strong feelings about exposing it to such security nightmares. >> Worse, if I normally have sudo set to NOPASSWD then it does not even ask, it >> just switches! > This is now tracked in https://bugreports.qt.io/browse/QTIFW-1794 Thanks! As I wrote in my first mail: I highly recommend TQtC invests in a security audit for this tool - it is a crucial component that potentially exposes a lot of paying customers. The presence of bugs like the above seems to suggest that there may be more bad practices hidden inside. E.g. is the network transfer really secure against MITM? From my own experience: to have an audit performed on your code can be a pain in the behind, but it is worth it - the code is significantly improved. Konrad signature.asc Description: OpenPGP digital signature ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
[Development] MaintenanceTool and/or InstallerFramework horribly insecure?
Hi, I thought what the heck, lets update the pre-compiled Qt components on my computer. Apart from making me jump through the Qt Account hoop, I'm not sure whether this is deliberate (nefariously or incompetently) or just broken (please tell me it is a simple bug!): OS: Linux, Debian (testing), amd64 Installation-Directory of Qt: $HOME/Qt of the user running MaintenanceTool MaintenanceTool version: 3.2.2-0-202003121118 When I call MaintenanceTool to install another version of Qt it wants to sudo into root when it starts to download Qt components. It still asks for the sudo password if I quit while selecting components! Worse, if I normally have sudo set to NOPASSWD then it does not even ask, it just switches! The temporary directory installerResources has access rights 0557. Other directories are group-writable. I view those as severe security issues: - the installer (actually no tool whatsoever) should switch to root unless absolutely necessary, to prevent escalation of other security issues - no interactive tool should switch to root without informing the user - the installer must not make any directories or files writable for anyone but the user running that tool - otherwise other users are able to attack by inserting malicious code I have the bad feeling that someone should perform a security audit on MaintenanceTool and installer framework. Konrad signature.asc Description: OpenPGP digital signature ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: Webspace-Monitoring (PHP, Wordpress)
Hallo Harmut, bitte bleibe in Deinen Mails sachlich und auf dem Boden der Realität. Weder unreflektierte Verschwörungstheorien oder politische Propaganda, noch kriegerische Rhetorik haben auf der LUG Liste etwas verloren. Konrad signature.asc Description: OpenPGP digital signature
Re: Dead Ends of IT
Hi, Du läßt Dich bei der ganzen Liste von Suchmaschinen und Magazin-Artikeln blenden. Totgesagte leben länger! Es gibt reichlich Kritik (falls Du gerade einen empfindlichen Tag hast - leg die Mail zur Seite und lese sie später): [Warnung: der folgende Text könnte Spuren von Sarkasmus enthalten.] Native GUI: sowohl GTK als auch Qt leben noch. Qt verbreitet sich langsam in der embedded und mobil Welt. Ich würde eher Web-Apps als Hype bezeichnen. Wo die Reise hin geht ist im Moment sehr schwer abzuschätzen. NFS: ja, ist weniger geworden, aber wird immernoch massiv in der Industrie eingesetzt. Dir ist schon klar dass NextCloud und OwnCloud eng verwandt sind? Corba - stimmt, nur noch in Nischen, ist so weit hinter dem Hype geblieben dass es schon lächerlich wirkt. Microsoft COM: COM ist im Hintergrund immernoch eine wichtige Technologie. Zwischendurch hat man es hinter ActiveX versteckt, heute hat man noch mehr Layer dazwischen. Aber es ist immernoch die Grundlage für Fernsteuerung von lokalen Windows-Anwendungen. Meintest Du DCOM? Korrekt, die größte Anwendung von DCOM wird gerade auf eine andere Technologie umgestellt - OPC macht gerade ganz langsam das Upgrade auf OPC UA (TCP & XML basiert). SOAP, WSDL: ich schimpfe seit 10 Jahren über SOAP-basierte Protokolle in meiner Industrie und werde es wahrscheinlich auch noch weitere 10 Jahre machen! SOAP ist in der Industrie unangefochten. Es sucht keiner mehr danach, weil die modernen APIs schön "Business friendly" sind (so einfach, dass nur noch Idioten sie bedienen können und wollen). 8-bit Zeichensätze: ich sehe sie die nächsten 10-15 Jahre nicht verschwinden. Am schlimmsten ist das 7-bit ASCII - es gibt aktuelle Standards in denen auf ASCII eingeschränkt wird, weil Unicode einfach mal unpraktisch ist wenn Du einen Parser baust. MS- & LibreOffice: mag sein dass Microsoft gerade alles daran setzt sein Desktop-Office kaputt zu machen. Dann darf es halt dabei zugucken wie viele Firmen auf LibreOffice umsteigen. Der Trend zu Mietsoftware und Cloud-Apps wird nicht so universell sein wie oft vorhergesagt - es gibt noch so etwas wie Firmengeheimnisse. KDE geht es gut. Danke. Virtualisierungstechnologien ändern sich aller Nase lang - das ist normal wenn ein Technologiestack sich noch entwickelt. LAMP: wenn Du es als "Linux, Apache, MariaDB, PHP" bezeichnest, dann ist es das Brot-und-Butter-Geschäft der Webhoster. Wo siehst Du LAMP sterben? Sprachen: Assembler hat seine stabile Nische in der Low-Level Systemprogrammierung. Dort wird es bleiben und nicht so schnell weggehen. Das schöne daran ist dass jetzt nicht mehr jeder Depp versucht sich mit der CPU direkt zu unterhalten. C - im embedded Bereich und der Systemprogrammierung nicht wegzudenken. Nur weil Applikationsentwickler eine Sprache nicht sehen heißt das nicht dass sie unbedeutend ist. Ich habe gerade ein bezahltes C-Projekt hinter mir und bin mitten in einem privaten embedded Projekt mit C. Das nächste C-Projekt kommt bestimmt. C++ ist so tot dass man sich genötigt sieht in regelmäßigen Abständen neue Sprachstandards zu verabschieden (C++11, 14, 17, 20; 2x ist in Arbeit) und sämtliche größeren Compiler (GCC, Clang, MS C++ usw.) relativ schnell auf den neuesten Stand zu bringen... ...definitiv ein Zeichen einer toten Sprache. Java ist so tief in der Industrie verwurzelt dass es nichts hilft darüber zu fluchen (was ich gerne mache) - es wird uns auf Dauer erhalten bleiben (auch zu meinem Leidwesen). XSLT (Bitte: erst recherchieren, dann schreiben) ist eine Daten-Transformations-Sprache mit eingebetteter Query-Sprache (XPath) für XML. Beiden geht es gut. XSLT gehört heute zu den Standardwerkzeugen in der Industrie, auch wenn viele Kollegen erbärmlich leiden wenn sie mehr als 2 Zeilen XSLT lesen müssen... C# ernährt alleine in Dresden dutzende Firmen. Leider. Shell Script ist eine derartig grottige Idee dass Microsoft sich genötigt sah mit Powershell eine bessere Windows-Shell zu bauen. Nimm einem Industrie-Admin die Shell weg und Du hast einen mordenden Wahnsinnigen auf Deinen Fersen! Python ist keine Lösung, weil zu komplex. "One Spec" - Deine Aussage ist etwas pauschal. Es kommt immer auf die Anwendung an. Ja, bei Sprachen wie Python, PHP, etc. ist eine Implementation ausreichend und sinnvoll, da die Sprache nicht performance-kritisch ist (wer es dafür benutzt hat an der Uni geschlafen). Bei C/C++ sind mehrere Implementationen eine gute Idee, da man seinen Dialekt für die jeweilige Anwendung optimieren kann - so schwer es mir fällt das zu schreiben: der Microsoft C++-Compiler erzeugt besseren Windows-Code als GCC; das fällt mir einfacher: wenn ich portabel arbeiten will nehme ich GCC, weil Microsoft-C++ fast nirgendwo läuft. Der Internet Exploder hat nicht auf Chrome umgestellt, sondern wurde durch das Chromium-basierte Edge ersetzt. RegEx: Brot und Butter (mit Zeichenmüll) - gewöhn dich an den Geschmack, der geht nicht mehr weg. Im "Browser War" irgendwas vorherzusagen ist noch
Re: Hilfe mit einem Scanner
Hi, On 2020-03-17 21:21, Luca Bertoncello wrote: > Am 17.03.2020 um 21:17 schrieb Erik Schanze: >> Falls der Scanner sich seinen Strom über USB holt, probiere mal einen >> aktiven USB-Hub mit extra Netzteil. > Mmm... das habe ich nicht... > Bevor ich was kaufe, das funktionieren kann oder auch nicht, gibt es > eine Möglichkeit zu wissen mit Sicherheit, ob DAS das Problem ist? Ja: stecke den Scanner direkt an den Rechner an. Möglichst als einziges USB-Gerät (dann brauchst Du nicht sortieren welche Ports am selben internen Hub hängen). Unter Umständen hat der Genesys-Chip auch eine Meise und resettet sich selbst wenn er Kommandos bekommt. Oder das Teil hat ein anderes elektrisches Problem (z.B. ausgetrockneter Elko)... Falls Du nach langem Probieren dann ein Bild bekommst und es hat einen seltsamen Streifen in der Mitte - das ist kein Defekt im Scanner, sondern ein Bug im Genesys-Treiber - es ging ordentlich bis Version 1.0.25 und soll ab 1.0.30 wieder gehen. Falls Du Dich entscheidest das Gerät zu ersetzen: alles außer Canon. Canon rückt keine Spezifikationen raus und leistet praktisch keinen vernünftigen Support. Open Source und Linux existieren für Canon nicht. Das gilt in jeder Geräte- und Preisklasse. Das bedeutet dass Entwickler außerhalb von Canon keine faire Chance haben einen Treiber zu schreiben. Konrad signature.asc Description: OpenPGP digital signature
Re: Ennergieverwaltung/Notebookakku laden
Hi, On 2020-02-27 13:14, ottmar-schm...@web.de wrote: > Ende Februar habe ich cden Dell inspirion 7720 gebraucht billig > erworben. Billig unter Anderem desshalb weil das Gerät den Akku nicht > mehr lädt oder halt nur manchmal und keiner weiss warum das Ding > einmal geladen wird und einmal nicht Der Verkäufer sagte sgar lädt gar > nicht mehr. Klingt für mich nach einem kaputten Akku. > Wird der Akku zufällig geladen hält er eine knappe Stunde helles > Display und Youtube aus. Das wäre soweit erst mal ok aber würde man da > an den Settings was verändern ginge da noch mehr. Definitiv kaputter (gealterter) Akku. > Am Strom funktioniert der Laptop einwandfrei installiert ist Debian > unstable mit kde und paralell Windows 10. Das Ladeverhalten ist unter > beiden Betriebssystemen gleichermaßen nicht nachvollziehbar. Also Hardwareproblem. > Ob hierbei der Akku einen Schuß hat odr ob das andere Gründe hat kann > ich derzeit ncht nachvollziehen. Ich würde erstmal auf Akku tippen - der muss dem Laptop sagen welche Kapazität er hat, wie weit er geladen ist etc. Wenn irgendwann dabei ein kleines Problem (z.B. unlogisch niedrige Kapazität oder seltsame Ladekurve) auftritt, dann sagt sich die Ladeelektronik "ich streike", weil sonst das Risiko eines Akkubrandes besteht. > Blöd oder vielelicht auch doch nicht ganz so blöd aber zumindest > holzschnittartig gefragt, gibt es die Möglichkeit per App oder > Konsolenbefehl die Möglichkeit ein Laden des Akkus händisch zu starten > oder gar zu erzwingen Nein. Die Entscheidung trifft die Elektronik alleine. > Oder gibts irgendwelche Akku-Testtools. Ja, in Shenzhen oder im teuren Spezialhandel für Akkuhersteller. Ein neuere Akku ist billiger. Ich habe auf Amazon auf Anhieb Akkus für ca. 40Euro gefunden. Selbst wenn sich herausstellen sollte dass die Ladeelektronik auch kaputt ist, dann sind 40 Euro kein Vermögen und Du kannst den Akku auf eBay verscherbeln... Bitte beachten: der Akku ist Sondermüll. Am einfachsten bei irgendeinem Markt, der Batterien verkauft abgeben (genau wie alle anderen Batterien). Konrad
Re: [Development] The future of smart pointers in Qt API
On 2020-02-03 15:04, Vitaly Fanaskov wrote: We don't need this method at all if everything is implemented with using smart pointers. What about the case when I want to delete a Widget from my window without closing the window? I often use deleteLater() because it is much easier than remembering a dozen layers of layouts and widgets that simply serve some layouting-purpose. Konrad ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Changes to Qt offering
On 2020-01-29 17:02, Volker Hilsheimer wrote: You obviously don’t trust that TQtC will treat the data the online-installer either demands or requires with the appropriate confidence. So, shouldn't you build Qt from sources? Your IP address is PII, after all. Why did you trust that The Qt Company didn’t collect personal data from you previously - just because you didn’t have to enter your email address? There is quite a difference between an IP address and my mail address: the IP address gets assigned to someone else soon and you need a court order to get my name (at least in Germany). My mail address enables you to spam me. This, and a lot of what TQC employees are saying on these changes, does sound like the famous sentence from Don Mattrick about the Xbox One: "We have a product for people who aren't able to get some form of connectivity; it's called Xbox 360." Back to the topic, I have a Qt account, I do NOT want to use it to install Qt. I am pretty sure we will have community provided offline, and even maybe online, installers soon enough. I wonder where all this love for the Qt installer comes from. I personally consider “sudo apt-get install -y qtcreator” or “brew install qt-creator” or “choco install qtcreator" to be vastly superior to using the installer UI, and very easily integrated in VM provisioning. Any energy spent on making sure that the versions we get from those package repos is up-to-date would be worth a lot more (to me) than building another installer. I can only respond for myself: I don't love the installer, I find dpkg/apt/tar/zip much better myself, I merely tolerate the installer. But the fact is TQC does not provide Debian packages, so: a) if I really care about Qt and want "official" + "choice" I use the installer. b) If the installer puts an undue burden on me I'll settle for just "choice" as long as somebody else provides it. c) If that fails I'll build myself. d) And if this is too much of a bother for that package I'll skip "choice" as well and use whatever Debian is providing (most of the time I feel like this about GCC, various databases, Apache, etc.). It is a question of convenience and the amount of "giving a damn"... Konrad ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Changes to Qt offering
Hi, On 2020-01-29 09:52, Cristián Maureira-Fredes wrote: I understand the video is an exaggeration, Is it? I found it was pretty much bang on. Even for Qt: I just counted - it took me 5 clicks, most of them not very intuitive, to download the Qt installer I currently need (Linux 32bit on a 64bit host). With the proposed changes Qt ventures eerily close to the video... Thankfully it did not ask for my name, date of birth, email address, mothers maiden name etc. - none of which is any of TQCs damn business. For comparison: the typical Open Source download is 2 very intuitive clicks - click the "Download" link, get a nice long list of available and supported packages, click the one I need, use the system installer or tar to install the package. but in any case, there is something I really need to understand: Currently, you can create a Qt Account with your email and a password, when you received the email, you confirm by clicking on the link, and then you can optionally enter your information. Yes, and currently (thankfully) I normally do not need it. I certainly do not remember the password I used, nor do I remember where I stored it (it's ... somewhere...). Should I find another bug, I'll dig it out and then log in... or request a password reset... ...though I'd prefer to not need it then - e.g. I can report Debian bugs without a password by simply sending a mail or using a script that asks for the relevant info. I certainly will not bother with this for a simple download. Doing that, now I have access to the future installer, I can manage my Qt downloads, install the binaries, remove components if I will not use and everything else. Which basically means I will stop messing with the web page and use the GIT source tree to compile Qt, while my colleagues, who I wanted to convert, will continue merrily with C# (the horror!). I'm already planning for a simple Jenkins job on my home server that will check for new Qt releases and automatically build them for me in a Docker container while I sleep... How different is this process from registering to this mailing list for example? IIRC I entered my email, my name, and a password, then I got an email, clicked on the link, verified my name again, and then I was welcomed to the mailing list. Very. The mail list was fire and forget. I didn't even enter a password, the mail list software assigned one (AFAIR). I will never need the password ever again until I unsubscribe. But sure, the mailing list is not software, but a service to communicate with others. Since the installer is a service that TQtC provides, for me is really not difficult to understand that I will require an account, after all TQtC is responsible of having a working CI that can generate those binaries for your convenience. Sure, this was not there before, but is it really so strange? and rude? Strange, if you come from the Open Source world: yes! Rude? Depends on how radical you are behind this GDPR thingy... I see it like this: the CI exists for two reasons - to help the developers do better code and to assure paying customers that Qt has quality standards. Building the binaries on the CI is just more convenient than doing it by hand. So I don't see a direct connection between the two. Besides, as an Open Source user I do not care about either one. (As a developer I do care about the first one.) From my point of view providing binaries is something you do to convince passers-by to become users. Making it more difficult is something to make sure you are not disturbed by pesky users. Remember, it is already quite difficult now... May I humbly suggest you try to convert users into customers after they have been converted from passers-by to user? BTW: in the past I would have convinced one of my customers to buy support for the Open Source version if it had been available. If there was a simple possibility to buy a single support incident (say, for 100Euros) I would even do this occassionally as a private Open Source user when I come across a problem I can't or don't want to solve myself! Regarding the LTS decision, you can take it from another point of view: 5.15 will only have 2 or 3 bug fixing releases, and so will all the LTS versions in the future. Since TQtC has commercial costumers, Cool! What kinds of costumes do you do? Can I dress up as the Grinch? [SCNR] :) we will internally fork the latest bug fix release, and will start adding patches on top of that on request of the costumers, but hey! all those patches will be on Gerrit, so if they are important for your work, you can just cherry pick them to your local Qt and re-build. Nice. If as an Open Source user I would stay with LTS, then I don't have time to even research what bug fixes I need. If I had the time I would have ported to a newer version of Qt. So this argument is a non-starter. Someone will hopefully create an Open Source branch for the LTS
SSH Attack Log
Hi, da wir uns heute darüber unterhalten hatten, so sieht /var/log/auth.log für SSH aus, wenn Passwort-Logins verboten sind: Jan 9 00:53:37 sshd[30069]: Invalid user kevin from 192.34.62.227 Jan 9 00:58:47 sshd[30350]: Address 181.65.164.179 maps to www.smartempresas.telefonica.com.pe, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! Jan 9 00:58:48 sshd[30350]: Invalid user adrian from 181.65.164.179 Jan 9 01:06:54 sshd[30838]: Invalid user kunshi from 192.34.62.227 Jan 9 01:11:10 sshd[31082]: Accepted publickey for root from 217.235.192.69 port 33752 ssh2 Jan 9 01:11:10 sshd[31082]: pam_unix(sshd:session): session opened for user root by (uid=0) Jan 9 01:14:42 sshd[31238]: Invalid user valentina from 104.200.110.184 Die beiden Zeilen 01:11:10 sind der legitime Login von mir. Ein Login-Versuch ohne Key auf root taucht tatsächlich nicht auf (auch nicht in anderen Logs), alle Versuche mit ungültigen Usern tauchen aber auf. Konrad
Re: Linux wird manchmal spontan langsam.
Hi, On Wednesday, 11 December 2019 20:23:48 CET dark-ml...@t-online.de wrote: > [16243.995219] usb 2-1.3.6: Weird data, len=5 20 c4 b2 46 18 00 ... > [17023.671570] usb 2-1.3.6: Weird data, len=5 20 48 07 00 a7 00 ... > [20416.729733] usb 2-1.3.6: Weird key 14 a0 30 00 Wenn der Kernel schon etwas "weird" findet, dann hast Du da kaputte Hardware dran. Welches Gerät ist denn "usb 2-1.3.6"(*)? Wird es besser wenn Du dieses Gerät rausnimmst? (*)lsusb ist Dein Freund Ich lehne mich mal aus dem Fenster und tippe dass ab und zu auch ein "USB Bus Reset" auftaucht - das wäre dann das Zeichen dass der USB-Bus so durcheinander ist dass er sich neu initialisieren muss (alle Geräte abhängen, neu aushandeln -> dauert ein paar Sekunden). Konrad signature.asc Description: This is a digitally signed message part.
Re: Linux wird manchmal spontan langsam.
Hi, On Tuesday, 10 December 2019 22:43:40 CET Dr. Jakob Mendel wrote: > Am 10.12.19 um 16:01 schrieb Konrad Rosenbaum: > > Du meinst sicherlich Wireless-Tastatur/-Maus. Meines Wissens gibt es keine > > Eingabegeräte die direkt über LAN oder WLAN kommunizieren. ;-) > > Da hast Du gewiß recht. Ich meinte "Funktastatur" und "Funkmaus" ... > und (auch auf die Gefahr, mich zu blamieren) funken die nicht auch auf > 2.4 GHz? Im Bereich um 2.4GHz und 5GHz befinden sich Frequenzbänder, die weltweit "unreguliert" sind - d.h. jeder darf sie verwenden solange er sich an ein paar einfache Regeln hält (z.B. maximale Sendeleistung). Das Protokoll ist nicht vorgegeben. Dort tummeln sich so unterschiedliche Gerätschaften wie WLAN, Bluetooth, ZigBee, proprietäre Mäuse/Tastaturen, Fernsteuerungen für komplexe Roboter oder Maschinen, Funkmikrofone, etc.pp. ...die moderneren Varianten haben immerhin eine Möglichkeit zu erkennen wenn jemand anderes den Kanal benutzt und dann auszuweichen. [cut: USB Transfertypen] > Das klingt, also ob "Bulk" auch ohne Datentransfer, also prophylaktisch > angefordert wird. Ist das so? Nein. Zumindest nicht wenn das Gerät sich an die Standards hält. Ein Transfer hat im Allgemeinen einen Grund - entweder hat der Host Daten angefordert (Speichermedium) oder eine externe Quelle erzeugt live Daten, die übertragen werden müssen (z.B. Serial-Konverter). Non-Standard erster Stufe ist es Prioritäten zu ignorieren und einfach die eigenen Transfers zu bevorzugen. Zweite Stufe ist es sinnlose Transfers zu erzeugen. Konrad signature.asc Description: This is a digitally signed message part.
Re: Linux wird manchmal spontan langsam.
On Monday, 9 December 2019 18:17:55 CET jm.2...@web.de wrote: > Das könnte unbeabsichtigt an der verwendeten Hardware liegen: Bei mir > hängen die Receiver von WLAN-Tastatur und -Maus an einem USB-Hub. Du meinst sicherlich Wireless-Tastatur/-Maus. Meines Wissens gibt es keine Eingabegeräte die direkt über LAN oder WLAN kommunizieren. ;-) > Hängt > an diesem USB-Hub zusätzlich ein USB-Stick, reagiert die Kiste sehr > langsam auf Eingaben. Warum das so ist? Keine Ahnung. Ganz einfach: der Stick hat höhere Prio und mehr Daten zu transportieren. Auf USB (1.x und 2.x) gibt es ein paar unterschiedliche Transfertypen - "control", "interrupt", "bulk", "isochronous". Control benutzt USB um einfache Kommandos und Kurzinfos zu transportieren - z.B. "Identifiziere alle Geräte", "Führe Reset durch", "Gib mir Deine Typbeschreibung", ... Interrupt wird für sehr kleine Datenmengen (wenige Bytes) benutzt, z.B. von Tastaturen und Mäusen um ihre Eingaben zu übermitteln. Control und Interrupt werden auf dem Gerät in einen Puffer geladen und müssen dann warten bis der Host vorbeikommt und die Daten abholt. (Ja, der Name Interrupt is irreführend.) Die Transferrate ist unterirdisch, aber für einfache Geräte genug. Bulk wird von Massenspeichern und anderen Geräten benutzt, die große Datenmengen ohne Verluste transportieren müssen. Dafür wird per Interrupt eine Zeitscheibe auf dem Bus angefordert, der Host gibt den Transfer frei und dann kann das Gerät eine Zeit lang den Bus blockieren. Isochronous wird von Multimediageräten (Kamera, Microfon) benutzt. Es funktioniert wie Bulk, aber wenn der Host nicht genug Kapazität zur Verfügung stellt werden die Daten einfach verworfen weil sie sowieso zu alt sind. Dein Massenspeicher fordert also exzessive Bulk-Transfers an und blockiert damit effektiv den Bus, während Deine Tastatur nicht rechtzeitig an ihre Interrupt-Transfers kommt. Alternativ stört der Stick den Bus auf elektrischem Niveau oder der Hub bricht regelmäßig zusammen weil er nicht genug Strom für alle Geräte hat. Maßnahmen: Hub mit eigener Spannung versorgen (falls er ein Netzteil hat). Tastatur und Stick tauschen - falls der Hub schlecht programmiert ist behandelt er bestimmte Ports mit höherer Prio als andere. Tastatur nicht an den Hub, sondern in einen anderen (weit entfernten) Port direkt am Rechner stecken. Die USB-Chips im Rechner arbeiten unabhängig voneinander, aber jeder USB-Bus kann immer nur ein Gerät gleichzeitig bedienen. Meistens bedient ein Chip 1-4 Ports die direkt nebeneinander liegen, sind Ports physisch weit voneinander angelötet, dann sind sie vermutlich auch an unterschiedliche Chips angeschlossen und blockieren sich damit nicht gegenseitig. Umgekehrt sind Ports physisch am Rechner dicht beisammen (und vom selben Typ(*)) dann werden sie vermutlich auch vom selben Chip auf dem selben Bus bedient. (*) USB 2.x Ports sind meistens schwarz, USB 3 Ports sind blau oder haben USB- C Stecker. Das sind in (fast) jedem Fall unterschiedliche Chips und unterschiedliche Busse. viel Glück! Konrad PS: versuch nicht die USB-Spec zu lesen! Die Schmerzen sind kaum zu ertragen... ;-) signature.asc Description: This is a digitally signed message part.
Re: [Development] QtCS2019 Notes: QtCore
Hi, On 11/23/19 9:47 AM, André Pönitz wrote: qsizetype QContainer::size() int QContainer::count() const Please no! This will forever flood the interest mail list with questions about what the difference between the two methods is. It will also introduce a lot of subtle little misbehaviors when people mix the methods without thinking. From time to time you'll see them surface with questions like "Why does QByteArray give me the wrong byte?" I'd rather have the compiler tell me that I need to change my code than hide it from me. Warnings are there for a good reason. The only way to do this with this proposal is to make count() deprecated from the start! So, why bother with duplicated API in the first place? Konrad ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Interest] Write QSettings to a QString in INI format
Hi, On 10/24/19 5:53 PM, Murphy, Sean wrote: I'd like to be able to have QSettings write out my settings to an INI file format, but I'd like to avoid writing it to an actual file, instead just writing it to "something" in memory (for example, a QString, QByteArray, QBuffer, etc.). That's because QSettings is rather complex underneath - it handles stuff like multiple instances accessing the same file at the same time, hierarchies of settings-files (e.g. system level and user level), etc. If you handed in a QIODevice then QSettings could not be sure what the state of the underlying IO-Object is and whether it is safe to access it. So I if all the above is correct, and there is no way to write an INI formatted string to memory, and given the fact that I really don't want a file in the first place, I decided to look at writing the settings out to a QTemporaryFile, then just reading that data back in as a string, and then let the QTemporaryFile go out of scope and clean itself up. But according to the following test code, QSettings does not seem to play nicely with QTemporaryFile: This is basically the way to go. void MainWindow::writeSettings() { // comment/uncomment the *define* below to switch implementations #define USE_QTEMPORARY_FILE #ifdef USE_QTEMPORARY_FILE // using a QTemporaryFile doesn't seem to work QTemporaryFile tempFile; bool ok = tempFile.open(); #else // if instead you use a regular QFile, it works QFile tempFile("tempFile.ini"); bool ok = tempFile.open(QIODevice::ReadWrite); #endif if(ok) { qDebug() << "Opened" << tempFile.fileName(); } else { qDebug() << "Unable to open" << tempFile.fileName(); } Call tempFile.fileName() before you call close()! (But close() before you instantiate QSettings.) tempFile.close(); QSettings settings(tempFile.fileName(), QSettings::IniFormat); settings.setValue("string", "hello"); settings.setValue("int", 2); settings.sync(); // using QTemporaryFile always produces an AccessError here, Because QSettings has the file locked. Make sure settings goes out of scope before you re-open the file. Konrad ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] TLS/SSL XML encryption security
Hi, On 10/5/19 2:17 AM, Roland Hughes wrote: _ALL_ electronic encryption is security by obscurity. Take a moment and let that sink in because it is fact. Okay, out with it! What secret service are you working for and why are you trying to sell everybody on bullshit that weakens our collective security? SCNR, Konrad ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: Dateisystem für externe SD-Karte
Hi, On 9/20/19 3:24 PM, Christian Perle wrote: Moment... Die maximale Dateinamenlaenge ist auch unter Linux 255 Zeichen. Die maximale Pfadlaenge ist unter Linux 4096 Zeichen. Das ist unter vFAT genauso, nur dass es bei allen modernen Windows-Dateisystemen UCS-2 Character sind und nicht Bytes. Das interessante Limit bei Windows ist die Pfadlänge und die ist 260 Zeichen in der normalen Win32-API und 32k in einer erweiterten API, die aber kaum ein Programm benutzt (noch nicht einmal Windows Explorer). Soweit ich weiß versucht Linux in den Standardeinstellungen dieses Limit für Windows-Dateisysteme zu forcieren, damit der Datenträger unter Windows funktioniert - es könnte Mount-Parameter geben um das zu ignorieren. Letzteres würde unter Android aber nicht viel helfen, da man keine Kontrolle über den Mountprozess hat. Konrad
Re: Dateisystem für externe SD-Karte
On Thursday, 19 September 2019 19:45:34 CEST Thomas Güttler Lists wrote: > Es hat eine Weile gebraucht. Jetzt kenn ich die Ursache: Das Dateisystem > > auf der SD-Karte unterstützt nur Dateinamen bis zu einer gewissen Länge. [cut] > Die vielen Dateinamen anzupassen ist aufwändig. > > Welches Dateisystem ist unter Android zu empfehlen? die /proc/filesystems auf meinem Handy sagt sie kann: vfat, ext2-4, f2fs vfat: die ganze Familie hat eine Limitierung von 260 Zeichen, ist aber mit Windows kompatibel Wenn Du die Karte nicht in ein Windows stecken willst kannst Du auch die anderen Probieren: ext4: schnell, nahezu unbegrenzte Dateinamen, die selben Hardware-Limits wie FAT - irgendwann geben ein paar Flash-Zellen auf wenn Du häufig schreibst --> die richtige Wahl wenn Du nur moderat (über-)schreibst, aber beliebig liest f2fs: ist ext ähnlich, aber für Schreiben auf Flash optimiert --> wenn Du häufig schreibst, sonst ist ext4 einfacher Konrad signature.asc Description: This is a digitally signed message part.
Re: [Interest] Interest Digest, Vol 95, Issue 35
Thank god it's Friday! On Friday, 30 August 2019 12:34:20 CEST Roland Hughes wrote: > Yeh. I always have trouble calling anything a "process" in the > wanna-be CPU world. Yeah, who isn't pining for the "good olde dayes" of PDP-11 and VAX! > Actually it's more the wanna-be OS world. ..or griping for real OS'es! Who needs a hierarchy in a file system! Why have complex storage systems if you can have records in your files! > A thread is a lightweight process. On some systems they have been likened to lightweight processes. On others (like almost all modern ones) this is a gross oversimplification that borders on the absurd! > Linux (and most other x86 based operating > systems) only have lightweight processes. Bullshit! For one: on Linux both threads and processes are implemented as tasks with varying degrees of resource sharing. For another: most modern systems (including Linux, Windows, MacOS/X) have a fully developed concept of processes, threads, tasks and kernel threads that is not that different from the concepts of systems running on what used to be called "big iron". > When you get into OpenVMS, > Z/OS, AS/400, TANDEM, etc. you get real processes and real threads. You do realize you are talking Bullshit now - right? I haven't worked with those other three, but OpenVMS does have processes very similar to Unix - the main difference being that child processes cannot survive their parent and there are a couple of IPC mechanisms that just don't make sense outside VMS. Whether that is better or worse is debatable. This is my personal opinion, but I find the process related concepts on e.g. Linux (processes, tasks, cgroups, namespaces) much more mature than what you get on a modern OpenVMS. This is not VMS' fault - it simply doesn't have the same number of developers. I guess that you also realize that you are implicitly accusing the chief designer of OpenVMS of making a conceptually much worse OS with Windows NT - right? > The > concept of something not having enough weight to be a thread on a real > platform being called a "process" and that is has even lighter things > people are trusting, in many cases with human life, always causes me issues. Don't drink and write - it is embarrassing... :-P > At any rate, having all of the GUI _have_ to occur in the main event > loop (not to mention all of the bad examples showing database I/O, > serial comm and other things there which should not be there) has been a > real problem in the Qt world for years. There is nothing as fun and as profitable like a good solid non sequitur! Konrad signature.asc Description: This is a digitally signed message part. ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Development] Assistant WebKit/WebEngine support
Hi, On 6/27/19 3:47 AM, Lars Knoll wrote: > > Yes, Webengine uses some memory. But is that really a problem on developer > machines? It is a problem, but IMHO not the main problem. The main problem is that WebEngine is not available on all platforms that are supported (as a development host) by Qt. Just to make sure I just installed Qt 5.13 for MinGW 7.3 on my Windows VM - WebEngine is nowhere to be seen. (Sorry, I don't have enough capacity to check whether I might be able to compile it myself using clang.) Please also keep in mind that a fair number of developers use the same tool-chain (qdoc, assistant, QtHelp) to generate their own documentation - this means that assistant gets redistributed. One of my biggest Applications is 15MB on its own, 74MB including Qt and all remotely necessary plugins. Adding WebEngine adds 115MB, assistant itself is a mere 18MB. Please do not expect me to like this, having to accept it is enough... > People propose adding functionality to QTextBrowser instead. I do not thing > that’s a viable solution (we’ve tried that in the past and our technical > writers hit the next issue some weeks/months later). The problem is not that > one could not add support for one or two new features to QTextBrowser, it is > that we do not know what features we will need in our docs in the future. ...as I wrote earlier - none of the possible solutions are ideal. Someone has to invest some work somewhere. QTextBrowser, WebEngine or Technical Writing - make a choice. Chose wisely! ;) Konrad ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Assistant WebKit/WebEngine support
Hi, On 6/25/19 9:59 PM, Tor Arne Vestbø wrote: > On 25 Jun 2019, at 21:30, Konrad Rosenbaum wrote: >> Pardon my lingo, > You should be able to communicate your points without that kind of lingo. Try > better. > >> It is documentation for developers for crying out loud! Its purpose is not >> to win any design prices, but to educate the developers. > Please stop putting up straw-men, it’s not helping this discussion at all. Okay, let's formulate this in a way that hopefully doesn't offend you and doesn't seem like a straw-man to you. Qt6 has a couple of options for documentation, none of them are ideal: Option 1: leave everything as is with a QTextBrowser based assistant and some tweaks in the qch files. Pros: no additional work required; all current features and use cases stay supported; good enough for a lot of developers Con: looks ugly enough to actually offend visually sensitive developers. Option 2: put some elbow grease into QTextBrowser and make it understand some more tags and more CSS. Pros: documentation becomes visually more pleasing; minimal dependencies by assistant - easy to build and easy to bundle with applications; embedding in Creator or KDevelop etc. stays easy to do Positive side effect: users will love it, since it becomes much easier and flexible to use QTextBrowser in their own applications Con: someone actually has to put in the work Option 3: bring back WebKit Pros: looks beautiful; uses up less memory than WebEngine Cons: someone has to put up lots of work to actually support WebKit; uses up lots more memory than QTextBrowser; adds a dependency to assistant (makes it less useful for redistribution); embedding in IDEs is slightly more complex and adds a dependency Option 4: convert to WebEngine Pros: looks great; currently supported browser engine, only little porting work Cons: horrible memory footprint; acute terminal featuritis; adds lots of dependencies (disqualifies it for most/many people redistributing it); does not work on all platforms supported by Qt (makes assistant less useful or even useless to those users); embedding in IDEs becomes much more difficult (dependencies and #ifdef's for unsupported platforms) Option 5: use WebView Pros: might look good Cons: either looks bad or adds whatever component WebView wants to use as a dependency; unpredictable results Option 6: use plain platform browser to show local files Pros: minimal footprint; assistant can be retired; guaranteed good rendering Cons: you never know which browser the user installs; abandon QCH format; implementing search becomes a horrible mess of JS and other files - requires extensive tool support to generate this - doubtful that it will always work; forget embedded viewers - this would require WebEngine or WebKit again; some users will hate the fact that assistant is missing or at least unsupported Option 7: platform browser plus server process to deliver help via local HTTP Pros: like Option 6, but search becomes easier to implement Cons: like Option 6, except search; someone needs to implement a simple HTTP server (not that hard, but requires some work) and a search engine (slightly harder, but solvable) My personal favorite would be Option 2 (better QTextBrowser), followed by Options 1 (status quo) and 3 (WebKit) in no particular order. But since I'm not willing to put in any serious work or pay for it - my vote does not count - I'm just a user. ;) Feel free to correct/critique my assessment and to add more options if you see any. Otherwise: chose your poison. Konrad pEpkey.asc Description: application/pgp-keys ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Assistant WebKit/WebEngine support
Hi, ...my 2 cents or so... On 6/25/19 4:30 PM, Palaraja, Kavindra wrote: > No, parity isn't Google's search box. There's already a search feature in > Creator. > > No, not "The Qt Company is hiring" either. > > The idea is to have parity in the sense of 1:1 appearance of how the > documentation looks like. Pardon my lingo, but I do not give a rats furry behind about how it looks and whether it is on full parity with the way it is shown in a browser as long as I have all the content. It is documentation for developers for crying out loud! Its purpose is not to win any design prices, but to educate the developers. > Here's a ticket that hasn't gone very far: > > https://bugreports.qt.io/browse/QTCREATORBUG-15887 > > Can we keep the personal attacks out of this and perhaps stick to the issue? > I'm definitely not lying. I don't see any tables being rendered the way > tables should be rendered in HTML. Unless I'm losing my eyesight? Sorry, but I just tried a very simple example with QTextBrowser: In my book this is exactly like a table should be rendered. Granted it is not very flashy looking, but it is definitely a table and it has borders. Source: #include #include int main(int ac,char**av) { QApplication a(ac,av); QTextBrowser tb; tb.setHtml("helloworldwoohoo!"); tb.show(); return a.exec(); } (embedding
Re: [Development] Assistant WebKit/WebEngine support
Hi, On 6/24/19 2:43 PM, Simon Hausmann wrote: > We've had this situation for a long time now and I think that we should > finally move forward and give our users better quality at the expense of > their disk space, memory consumption and download size. ...at the risk of making enemies: so the platform issues(*) will be solved till Qt 6.0? So, even if I try to compile Qt myself on, say MinGW or 32bit MacOS - I will end up with a (fully?) functional Assistant? (*)https://doc.qt.io/qt-5/qtwebengine-platform-notes.html Konrad pEpkey.asc Description: application/pgp-keys ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Development] Proposing CMake as build tool for Qt 6
On 6/17/19 5:09 PM, Thiago Macieira wrote: That's assistant. But do we need a standalone qch viewer application? Yes please. There is at least one user who loves Qt and dislikes QtCreator. While it is possible to view Qt Help in a browser, it is more comfortable to use Assistant with its specialized search. Konrad ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
Re: [Interest] Clarification on network security
Hi, [Congrats Roland: successful flame bait accomplished!] Bob, you already have really good answers from Elvis and Thiago - please ignore this thread! In short: use QSslSocket/QSslServer, set the protocol version to 1.2 or newer, deliver the server cert (not key) with your client software, authentication depends on your use case. Ask specific non-Qt questions on https://security.stackexchange.com/ . [Warning: this mail may contain traces of bad language.] On 6/16/19 2:16 AM, Roland Hughes wrote: On 6/14/19 5:00 AM, Bob Hood wrote: 1. By itself, is the implicit use of OpenSSL by the QSslSocket class on the server side sufficient to secure data communications between both endpoints? The short answer is no. Sadly, it is what you will find in most places. Neither TLS nor SSL are secure nor can they ever be. They are architecturally flawed. You can pull down software from The Dark Web which when run on a hokey little $80 2-in-1 sold by Walmart can, in 15 minutes or less, unpackage anything sent via SSL and caught via most forms of sniffing. In well under an hour using the same hokey laptop it can penetrate pretty much any SSL/TLS secured access point. This is complete and utter bullshit! Unless by "hokey little 2-in-1" you mean a major compute cluster (like a sizeable portion of the entire AWS system), by "15 minutes" you mean several days or weeks and by "anything" you mean encrypted with relatively weak keys on a SSL v3 connection with unfortunate settings. The real question is what are you securing? A chat engine? Who cares? People on those things routinely give out their mother's maiden name, name of their first pet and the closest relative living farthest from them. In the immortal words of Ron White "You can't fix stupid." Also nonsense. Just by communicating via chat doesn't mean you are stupid. (The presence of A does not prove the absence of B.) The level of security must go up with the level of value. The flip side of this is the openness of access must go down. You cannot have anything called "secure" on the Internet accessible via a standard browser. This is why many banks and brokerage firms are moving to 2-stage connection verification and custom browser plug-ins. Also quite naive, I won't even bother to comment - it would take too long. Cats have better ideas on cat food than... ;-P 2-stage is really (*^)(*&)ing annoying, but if you have an account enabled for wire transfer or any other Internet access which could pull money out, it really is the way to go. The 2-stage is you do your normal username/password/verification question on each login, then you prompt them to choose email or phone for an N-digit one time code. Once they enter it you drop a short life cookie (sometimes one connection, other times one day, never more than a week) which lets it work for a little while. The 2-stage is the industry finally admitting SSL/TLS are architecturally flawed and can never be made secure. You do realize that it is called "2nd factor authentication" or "two factor authentication", not "2-stage" - right? It has absolutely nothing to do with SSL/TLS. Moving up in security you create a plug-in for popular browsers (Firefox/Chrome/Opera) on popular platforms (Linux/Android/forget about security on Windows). After a user has created an account with you they must be on a supported platform and install the browser plug-in to continue. Also nonsense. No plugin is required for most 2nd factor auth. Even U2F/WebAuthn is built into major browsers these days. Honestly, you can make it a plug-in or you can make it a stand alone app. If all you are using is SSL/TLS it isn't secure, you just protected their password a touch better. The plug-in/app works old school, like you are used to. Data is both shuffled and encrypted before transmission. If you are using only one encryption method with only one seed for the life of the connection, consider yourself hacked before they installed the app/plug-in. You can use standard 3rd party encryption libraries, but what you cannot have are any two packets encrypted with both the same seed and encryption method. Yeah, they are going to sniff your packets. Yeah, there are all kinds of free tools on the Internet to peel that SSL right off there. After that, they have to start from ground zero with every packet. The biggest flaw in old school data transmissions was the single-method-single-key for entire file or comm session. Evil doers only had to crack one packet for the rest of them to be easy as knocking over dominoes. Some of the older encryption libraries even left tell-tale signatures in the encrypted packet so at a glance they could tell what method was used. Making it an exercise of just finding the proper seed. When you have a million PC bot-net at your disposal it generally takes more time to distribute the work than it does to get the answer. Still, you are
Oszilloskop
Hi, da es unter uns einige Elektroniker gibt: gibt es außerhalb der "Spielzeug- Klasse" günstige Linux-kompatible Digital-Oszilloskope? Aufgabe: ich beschäftige mich gerade mit Protokollen, die in der Show-Technik eingesetzt werden und möchte mir genauer ansehen wie sauber die Signale aussehen, die meine Technik abgibt. Profil: MIDI (5V/5mA; ca. 31kbaud; Message = 1-10 bytes), DMX (ca. 6V, zw. -7V bis +12V ist zulässig; 250kbaud; Message bis 513byte mit interessantem Vorspann). Ich würde mir gerne den Verlauf der übertragenen Messages als Messkurven anschauen - toll wäre auch wenn man sieht wie das Signal mit mehr Kabel bzw. mehr Geräten schlechter wird... Konrad signature.asc Description: This is a digitally signed message part.
Re: Keinen Bock mehr auf "Logging to file"
Hi, On Wednesday, 10 April 2019 13:40:39 CEST Kristian Rink wrote: > Am 10.04.19 um 13:15 schrieb Konrad Rosenbaum: > > Bei b) kannst Du entweder eine ganz einfache Lösung oder keine Lösung > > bekommen. Je schwieriger es ist ein Log zu schreiben umso > > unwahrscheinlicher ist es dass Du ein Log bekommst. > > Doch. Die Lösung gibt es durchaus - nämlich genau dann, wenn dem > Programmierer sehr gut verdeutlicht wird, daß *er* im Zweifelsfall > derjenige ist, der die Anwendung debuggen muss, wenn sie sich in > Production schief verhält, und daß das Logging, das er implementiert > hat, dann das einzige Werkzeug ist, das *er* zur Verfügung hat. Das > ändert diese Diskussionslage erfahrungsgemäß relativ schnell und > diszipliniert durchaus ein wenig. ;) Das funktioniert in kommerziellen Umgebungen unter zwei möglichen Vorraussetzungen: a) Du hast genug Druckmittel gegenüber den Programmierern - aber auf der Negativseite hast Du dann auch eine große Fluktuation. Zumindest wenn der Rest der Arbeitsumgebung nicht absolut phantastisch ist. b) Du hast hinreichende Mengen an Bestechungsschokolade. Und dann funktioniert das auch nur für kurze Fristen. Programmierer sind eine Spezies die mehr Energie investiert faul sein zu können als andere in harte Arbeit. Auf diese Weise haben wir Programme mit so wunderbar lesbaren Namen wie "rm", "ls" oder "awk" bekommen... ;-) > > Wenn ich sowas machen muss: > > > > mCategory = LogManager.createCategory(LOG_APP|LOG_WEBSERVICE, > > > >"Frobnification Service",stringList{"size","resultSize"}); > > > > mLog = LogManager.getCategory(mCategory).getLogger(LOG_DEBUGLOGGER); > > values=mLog.createValues(); > > values.insert("size",size); > > values.insert("resultSize",resultSize); > > values.insert(LOG_TEXT,"frobnicating the fnord"); > > mLog.sendToDataBase(values); > > > > ...dann nehme ich als Programmierer printf und entferne die Anweisungen > > wieder bevor ich liefere. Soll der LUser doch core-Files schreiben! > > H. Erwartungshaltung wäre hier, daß sich das Logging-Framework > Deiner Programmiersprache/-umgebung um diesen Kram kümmert. Mit > slf4j+logback+logstash unter Java *ist* es im Zweifelsfall ein > Einzeiler, und ob "hinten" die Statements als Zeile in ein Logfile oder > als Key/Value-JSON in einen Logging-Server geschrieben werden, bekommt > der Nutzer gar nicht mit. Das ist aber weniger eine Frage des > Logging-Outputs denn vielmehr eine Frage der Fähigkeiten des Werkzeugs > auf Entwicklerseite. Wenn man diesen Koloss in eine einzige Zeile packen kann, dann gerne. Also sowas: Logging.debug("frobnicating...",LV(size),LV(resultSize)); Die Menge an Templates, Macros und anderen unschönen Konstrukten hinter "LV" kehren wir mal ganz gekonnt unter den Teppich... Wie Du schon festgestellt hast hängt das alles stark vom Framework ab. Der einzige Hinderungsgrund ist dass es bisher keinen neuen passenden Standard gibt. Der existierende Standard ist syslog und/oder dumme Dateien. > Interessant by the way: Bei Kram, der in docker-Containern läuft, > scheint es insgesamt mehr und mehr Standard zu werden, aus der Anwendung > heraus auch nicht mehr in Log*files*, sondern tatsächlich nur noch nach > STDOUT/STDERR zu schreiben und sich darauf verlassen, daß docker die > Logs in geeigneter Weise $IRGENDWOHIN tut - im Standardfall syslog. Du wirst mich gleich hassen: ich liebe diese Lösung! Das ist doch mal was für faule Programmierer! Ich brauche noch nicht einmal ein minimales Log-Framework lernen. Konrad signature.asc Description: This is a digitally signed message part.
Re: Keinen Bock mehr auf "Logging to file"
Hi, ich spiele mal Advokat für den netten Herrn mit Dreizack im roten Jacket... On Wednesday, 10 April 2019 09:54:55 CEST Thomas Güttler wrote: > ich habe irgendwie keinen Bock mehr auf "Logging to file". Wer hat schon Bock auf Log. Zeilenweise schreiben ist für uns Programmierer aber nun mal am einfachsten. Was nicht einfach ist wird nur gemacht wenn es dringend notwendig ist. Wenn Du Logs haben willst, dann lebe mit Files! > Mag sein, dass das Unix-Konzept die letzten hundert Jahr gut funktioniert > hat, aber zB Apache Logs zeilenweise in eine Datei zu schreiben hat > deutlich Nachteile. > > 1: Logrotate. Nervt. Besser als kein Logrotate (Riesendatei) oder Windows Event-Logs. > 2: Unstrukturiert. Das Log ist eine einfach ascii-Zeile. Ich hätte aber > gerne Key-Value Paare. Und ich hätte gerne ein Einhorn mit schottischer Flagge am Horn! ;-) (Gestern war "National Unicorn Day".) Im wesentlichen werden Logs aus zwei Gründen geschrieben: a) weil es ab und zu Ereignisse gibt, die für's Audit wichtig sind (Server hochfahren, Server runterfahren, Server umkonfiguriert, fataler Fehler). b) Debugging: weil kein Programmierer fehlerfrei arbeitet, auch wenn er es nur ungern zugibt. Bei a) kannst Du Joe Durchschnittsprogrammierer noch überreden das irgendwohin strukturiert zu schreiben. Seine Auffassung von "Wichtig" wird aber nur einen Bruchteil von dem abdecken was Du als wichtig betrachtest. Bei fatalen Fehlern gibt es aber keine Garantien! Bei b) kannst Du entweder eine ganz einfache Lösung oder keine Lösung bekommen. Je schwieriger es ist ein Log zu schreiben umso unwahrscheinlicher ist es dass Du ein Log bekommst. Das ist der Idealfall für den Programmierer: syslog(LOG_DEBUG,"frobnicating the fnord: %i -> %i",size,resultSize); Das ist die Grenze des Erträglichen: mLog = Logger.getLogObject(); mLog.print(LOG_DEBUG,"frobnicating the fnord: %i -> %i",size,resultSize); Wenn ich sowas machen muss: mCategory = LogManager.createCategory(LOG_APP|LOG_WEBSERVICE, "Frobnification Service",stringList{"size","resultSize"}); mLog = LogManager.getCategory(mCategory).getLogger(LOG_DEBUGLOGGER); values=mLog.createValues(); values.insert("size",size); values.insert("resultSize",resultSize); values.insert(LOG_TEXT,"frobnicating the fnord"); mLog.sendToDataBase(values); ...dann nehme ich als Programmierer printf und entferne die Anweisungen wieder bevor ich liefere. Soll der LUser doch core-Files schreiben! > Auch im open source Bereich ist die Werbemaschine kräftig am Laufen, so dass > unklar ist, was sinnvolle Technik ist und was Marketing-Bla-Bla ist. Na logisch muss man mächtig Werbung machen wenn man auch nur einen winzigen Bruchteil der Entwickler von einzeiligen Log-Anweisungen weglocken will! > Frage 1: Könnt ihr die Aussage (Keinen Bock mehr auf "Logging to file") > nachvollziehen? Im ersten Augenblick als Admin: ja, das klingt verführerisch. Wenn ich darüber nachdenke: im Gottes Willen! Bleib mir mit diesem Teufelszeug vom Leib! ;-) > Frage 2: Hat jemand schon eine Alternative zu Logfiles ausprobiert. Ein > Erfahrungsbereicht aus der Praxis wäre interessant. Ich habe es noch nicht ausprobiert, aber: beim letzten Server-Crash war ich froh dass ich einfache ASCII-Logs hatte, sonst wären die Logs Schrott gewesen - Datenbanken (egal welcher Art) vertragen es im Allgemeinen nicht sehr gut wenn einzelne Blöcke durch Binär-Schrott ersetzt werden, weil das Dateisystem die Synchronisation nicht geschafft hat oder weil die Platte Probleme hatte. Ich als Admin mit grep und less bewaffnet kann leise vor mich hin fluchen und einfach weiterlesen... Konrad signature.asc Description: This is a digitally signed message part.
Re: IPv6 und fehlende Antwortpakete
Hi, On 4/10/19 9:41 AM, Christian Perle wrote: Nun ist es so dass Clients aus dem einen Netz Probleme mit HTTPS haben und die des anderen Netzes nicht. Wohl eher mit grossen Paketen, die vom Server kommen. Das SYN-Paket in lan.dump wird mit mss 1220 gesendet, von der Interface-MTU 1280 abgeleitet, die Serverseite antwortet mit mss 1440. Damit muessen sie sich auf der kleineren Wert (1220) einigen, der dann fuer *beide* Richtungen der TCP-Verbindung benutzt wird. Das SYN-Paket in lab.dump wird mit mss 1440 gesendet, abgeleitet von der Interface-MTU 1500. Da der Server auch mss 1440 verwendet, sind fuer diese TCP-Verbindung groessere Pakete erlaubt, die dann wahrscheinlich irgendeinem Router auf der Strecke vom Server zum Client zu gross werden. Ist ein DSL-Link oder sowas dazwischen? Dann wäre die Path-MTU maximal 1492. Hier gibt es einen netten Überblick: http://www.nwlab.net/art/mtu/mtu.html Konrad
Re: Aw: Malware
Hi, On 3/14/19 4:36 PM, ottmar-schm...@web.de wrote: Ich hab Firefox-esr deinstalliert erneut installert und das Profil .mozilla gelöscht. Jetzt scheint erst mal Ruhe zu sei wie kann man das noch weiter prüfen. Betrofene Passwörter habe ich geändert. Ebay war Gott sei Lob und Dank nicht offen ^^ Das legt den Verdacht nahe dass Du Dir ein Malware-Plugin in den Mozilla gezogen hattest. Maßnahmen in Absteigender Dringlichkeit: 1. 1-2 Rootkit-Scanner laufen lassen, wenn möglich von einer live-CD - um sicher zu gehen 2. Falls Du in dieser Zeit (plus ein paar Stunden) Passworte eigegeben hattest: diese Passworte resetten 3. Falls Du Passworte im Firefox gespeichert hast: resetten 4. Falls Du betroffene Passworte auf mehreren Seiten benutzt: überall resetten 5. Prüfen welche Plugins und Themes Du installiert hast 6. In Zukunft genau darauf achten welche Buttons Du drückst - eine Seite nicht lesen zu können weil Du irgendwas nicht bestätigt hast ist weniger schlimm als Dir nochmal sowas einzufangen 7. Noscript und/oder Werbeblocker installieren 8. Darauf achten dass Updates zeitnah auf den Rechner kommen Konrad
Re: Hilfe mit IPv6
Hi, On Wednesday, 13 February 2019 20:48:48 CET Luca Bertoncello wrote: > Also folgendes: ich habe eine normale DSL bei der Telekom und dafür > bekomme ich ein dämliches IPv6 dynamisches Netz. > Mit ein paar Skripte verteile ich die IPs an den paar Rechner die ich habe. > Nun will ich aber dem Server auch eine IPv6 vergeben. Und hier fangen > die Probleme an, denn ich habe nur ein 64-er Netz und soweit ich weiß, > das ist auch das kleinste Netz, das ich haben kann. Du solltest eigentlich 2 Netze bekommen. Das /64er sollte per Router Advertisement reinkommen und damit automagisch auf das PPP-Interface zugewiesen werden. Dort sollte es auch bleiben. Das ist dazu da den Router ins Netz zu bringen (damit kann er z.B Firmware-Updates oder Debian-Pakete runterladen). Per DHCPv6 (PD=Prefix Delegation) solltest Du zusaetzlich ein /56 bekommen was Du dann an 256 interne Netze verteilen kannst. Wenn dem nicht so sein sollte: in den Unterlagen zu Deinem Vertrag findest Du eine Url wo Du deinen Anschluss konfigurieren kannst. Dort kannst Du evtl. noch ein paar Sachen einstellen. Konrad
Re: Serverless MySQL?
On Wednesday, 14 November 2018 20:26:01 CET Luca Bertoncello wrote: > Am 14.11.2018 um 20:02 schrieb Konrad Rosenbaum: > > Serverless im Sinne von "embedded" geht nicht. MySQL braucht einen Server- > > Prozess. > > Serverless in Sinne von "es gibt eine Library, die das Programm > einbindet (wie bei SqLite) und liest eine Datei mit der ganzen Tabellen > (wie bei SqLite). Das SQL-Dialekt ist MySQL und kann von nur einer > Applikation gleichzeitig benutzt werden (wie SqLite)". > > Gibt es so was? Meines Wissens nach: Nein. Selbst wenn würde ich nicht darauf vertrauen dass die Lib sich genauso verhält wie MySQL. Das wäre für MySQL auch irgendwie sinnlos - zu komplex. MySQL benutzt selbst haufenweise Bibliotheken und Plugins - nix was Du Dir in den eigenen Prozess ziehen willst. Außerdem sind MySQL-Datenbanken ganze Verzeichnisse - im Extremfall mehrere Verzeichnisse. Wenn Du den Zugriff auf die Datenbank beschränken willst kannst Du das mit der Config machen. Und das genialste: Du brauchst die Applikation nicht zu modifizieren! Du bastelst nur ein Script drumrum was MySQL startet und beendet. Konrad signature.asc Description: This is a digitally signed message part.
Re: Serverless MySQL?
Hi, On Wednesday, 14 November 2018 18:13:03 CET Luca Bertoncello wrote: > Nun benötige ich die Applikation aus einem System laufen zu lassen, wo > die Einrichtung eines MySQL-Servers sehr große Aufwand bedeuten sollte. Aufwand für Dich oder Aufwand für den Nutzer? Letzteren kannst du auf Kosten von Ersterem reduzieren. > Weißt jemand, ob eine Art "Serverless MySQL" existiert, die ganz schlank > und schnell eine Applikation, wo KEINE Konkurrenz gibt, verwalten kann? Serverless im Sinne von "embedded" geht nicht. MySQL braucht einen Server- Prozess. Serverless im Sinne von Buzzword - keine Ahnung, weiß nicht was das eigentlich bedeuten soll. (Weiß das irgendwer?) Serverless im Sinne von "ohne Paket explizit zu installieren und per Admin alles zentral einzurichten" - ja, das geht. MySQL und Postgres lassen sich komplett über die Config-Datei steuern und man kann dem Server-Executable per Kommandozeile sagen wo die Datei liegt. Also: 1) Dafür sorgen dass ein komplettes MySQL in einem von Dir gewählten Verzeichnis liegt und auch irgendwo die Daten lokal greifbar sind. 2) Config-Datei anpassen, so dass keine root-Rechte gebraucht werden und es auch keine Konflikte mit anderen Servern/Applikationen gibt. 3) MySQL-Server von Hand starten und ihm dabei sagen wo die Config liegt. 4) Applikation sagen wo sie den MySQL Server findet (Port / Local Socket/ etc.) 5) Normal mit Applikation arbeiten. 6) Wenn fertig: MySQL Server wieder runterfahren oder killen. Falls Du KDE-Nutzer bist und KMail am Laufen hast, dann läuft ein genau so aufgesetztes MySQL im Hintergrund für Akonadi. ;-) Konrad
Re: [Interest] When Microsoft comes to purchase Qt what will be the outcome?
On Tuesday, 25 September 2018 12:14:11 CEST Henry Skoglund wrote: > Hi, while I am a very happy Qt user, I have this fear that Microsoft > will knock on Qt's door with a boatload of money. [...] Fret no more! Familiarize yourself with the KDE Free Qt Foundation and sleep soundly at night... https://www.kde.org/community/whatiskde/kdefreeqtfoundation.php ;-) Konrad ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: Betriebstemperatur BananaPI
On Tuesday, 7 August 2018 22:00:11 CEST Konrad Rosenbaum wrote: > On Monday, 30 July 2018 19:18:51 CEST Luca Bertoncello wrote: > > Ich habe einen BananaPI (laut /proc/cpuinfo ist die CPU: "ARMv7 Processor > > rev 4 (v7l)"). > > Aktuell ist die Temperatur bei 46-47°C, und ich mache mir langsam Sorgen, > > insbesondere, weil ich aktuell keine Kühlmöglichkeit habe... > > Das klingt für mich noch nach einer relativ normalen Temperatur. > > Kann jemand mir sagen, wie warm das Ding werden kann, ohne sich zu > > beschädigen? PS: ich habe ein Data Sheet für die CPU gefunden[1], da ist -20C bis +70C als "ambient operating temperature" angegeben (Seite 30 unten). Das wäre dann die Umgebungstemperatur - ich trau dem aber nicht ganz und würde 70C als Grenze der Chip-Temperatur betrachten. Die Grenzen der anderen Komponenten dürften ähnlich sein. Eine andere Quelle [2] sagt das BananaPi Board verträgt -15C bis 75C. Wie gesagt, ich würde 70C als Grenze betrachten. Wenn das Teil irgendwo versteckt in der Firma läuft: mach einen Lüfter dran. Wenn Du unbedingt mehr willst: nimm ein (teures) Board was für Industrieanwendungen qualifiziert ist, die halten bis zu 85C aus und sind allgemein unempfindlicher - aber mehr kann man aus einem Chip nicht rausholen. [1] http://dl.linux-sunxi.org/A20/A20%20Brief%202013-02-27.pdf [2] https://bananapi.gitbooks.io/bpi-m1-bpi-m1-plus-/content/en/ Konrad signature.asc Description: This is a digitally signed message part.
Re: Treffen morgen: Wenn ja, wo?
Hi, On Tuesday, 7 August 2018 19:13:53 CEST Bernhard Schiffner wrote: > hat in der Ferienzeit überhaupt jemand Lust und/oder Interesse dazu? Und > wenn nicht im GAG dann vielleicht in der Torwirtschaft? Weiß das jemand? Ich würde gerne mal wieder kommen. GAG-18 hat Sommerpause. Torwirtschaft klingt nach einem Plan... Kommt außer uns beiden sonst noch jemand? Konrad signature.asc Description: This is a digitally signed message part.
Re: [Interest] USB support
Hi, On Tue, April 17, 2018 16:39, Roland Hughes wrote: > On 04/17/2018 09:15 AM, Thiago Macieira wrote: >> On Monday, 16 April 2018 17:16:43 PDT Roland Hughes wrote: >>> I know the answer may well be RTFD, but, has raw USB communications >>> been >>> more integrated or are the libusb examples from 2008 "current"? >> Nothing changed since 2008. You need to run as root anyway, so it's not >> a >> functionality you should expect to see in Qt any time soon. > Interesting. > > I don't see any mention of needing to be root here: > And the current "official" site http://libusb.info > It is user-mode: No special privilege or elevation is required for the > application to communicate with a device. You have 2 options: a) be root, b) setup a udev rule to make the USB device accessible to other users. I leave the task of guessing which one is recommended and which one happens most often in practice up to you as a practice. ;-) > Of course, root, for an embedded system, isn't much of an issue. Yes, it is. You can destroy the device as root. UIs or complicated calculations should never run as root. > One > would think that being a member of plugdev would give you USB access > much like being a member of dialout gives you access to serial port. One would think. But one would often be wrong. > It does appear there should be some kind of support already there if one > built the webengine Just because WebEngine uses it does not mean you get a public API from there. It actually means there is potential trouble since you may be running with 2 instances of libusb. > Can I run libusb applications on Linux without root privilege? > > Yes. > The standard solution is to use udev rules. Here are some links to udev > related websites. Correct. It is pretty easy, once you've read a few of those files. > Should prove to be an interesting experiment. I imagine a few dozen > people have written their own QObject based wrapper class for that > library but getting code contributed is monumentally impossible so they > are all one-offs. ...and they are likely very project dependent. Konrad ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: HDMI Funk-Adapter
Hi, On Thu, March 22, 2018 11:26, Thomas Güttler wrote: > Am 21.03.2018 um 14:55 schrieb Konrad Rosenbaum: >> HDMI-Dongle die das Displaysignal des Schlepptops in Miracast wandeln >> gibt >> es ab ca. 25Euro, HDMI-zu-HDMI-Funkmodule kosten ab 180Euro (gibt's >> wahrscheinlich auch billiger, ich hatte aber keine Lust lange zu >> suchen). > > > Ich hatte erst nur die teuren Adapter gesehen bei denen es zwei Teile gibt > (Sender und Empfänger) für rund 200Eur. Das wäre mir zu teuer. > > Aber 25Eur sind mir die Sache wert. > > Die Frage ist nun ob zB dieses Teil dann unter Ubuntu funktioniert: > >https://www.amazon.de/dp/B074P3PMBP/ref=cm_sw_em_r_mt_dp_U_ef4SAbKTWZ2QC Sorry, mein Fehler. Bei genauerem Lesen: die billigen Teile sind dazu da einen dummen Fernseher in einen Miracast-fähigen zu verwandeln. Du kannst gerne mal etwas weiter recherchieren, vielleicht gibt es doch noch was günstigeres - die Bildchen bei Amazon sind sehr hilfreich, um rauszufinden wo Hardware angestöpselt wird (die Beschreibungen sind oft etwas rar und setzen Domain-Wissen voraus). Tante Googel findet auch zu nahezu beliebiger Hardware noch die Datenblätter, wenn sie auf Amazon fehlen. Dir bleibt also wahrscheinlich nur einen der teuren HDMI-Funk-Adapter zu benutzen oder doch ein Kabel zu ziehen. Ich verstehe sowieso nicht was das Problem sein soll... :-( > ich habe doch von Hardware keine Ahnung :-) Ist nicht schwer, man muss sich nur ein bisschen damit beschäftigen. ;-P Profi-Tips: Sicherung ausschalten bevor Du eine Steckdose aufschraubst; Handbücher nicht wegwerfen, sondern lesen; Lötkolben nicht am Metall anfassen. Konrad
Re: HDMI Funk-Adapter
On Wed, March 21, 2018 12:43, Thomas Güttler wrote: > OK, wenn "Mirror Screen" nicht geht, was dann? Grübel, grübel. > > Gibt es dafür Hardware? Also einen kleinen HDMI-Adapter, den ich an den > Monitor anstecke und mit dem sich dann mein Laptop verbinden kann? Steuere doch einfach mal die Webseite Deines Lieblingselektroniklieferanten (z.B. Conrad oder Amazon) an und gib "HDMI Funk" in die Suchmaske ein. Du wirst staunen was man mit ganz wenig Recherche alles findet... HDMI-Dongle die das Displaysignal des Schlepptops in Miracast wandeln gibt es ab ca. 25Euro, HDMI-zu-HDMI-Funkmodule kosten ab 180Euro (gibt's wahrscheinlich auch billiger, ich hatte aber keine Lust lange zu suchen). > OK, ich könnte da einen Rasperry oder so etwas nehmen ... > > Ich mag solches Bastelzeug eigentlich nicht. Aus dem Alter bin ich raus. > > Aber wenn es keine andere Lösung gibt ... Nicht nötig. Konrad
Re: auch nicht per VM oder Android Emulator ... Samsung TV: Mirror screen
On Tue, March 20, 2018 13:18, Thomas Güttler wrote: > ich hatte schon die Ãberlegung einen Android-Emulator auf dem Laptop > zu installieren. Aber wenn das Protokoll zwingend Wifi-Direct braucht, > dann ist das wirklich grober Unfug in der Spec. Das liegt daran dass die Spec von der WiFi Alliance stammt und ist auch der Grund warum das Protokoll als nahezu gescheitert gilt. > Egal, ich will ans Ziel. Kuck mal eine Wand! Das wird ein Spass! Nimm' Anlauf und durch...! ;-P > Wenn der Ubuntu Laptop per Wifi-Direct läuft, würde es dann > mit einem Android-Emulator oder einem Windows in einer VM funktionieren? Der gesamte Stack muss passen: die Hardware muss es unterstützen und das OS muss Zugriff auf diese Funktion der HW haben. Eine VM hat keinen Zugriff auf den HW-Layer deines Netzwerks, sondern spricht mit einer emulierten HW, deren Daten dann wieder ausgepackt und neu in die echte HW eingepackt werden. Ich wuerde mir also keine Hoffnung machen. Viel Glueck! Setz' einen Helm auf. Leg' Kopfschmerztabletten bereit(*). (*) Tip: nicht Aspirin wegen der versteckten Blutungen. #-? Konrad
Re: [Interest] Maximum URL length
hi, On Thu, March 15, 2018 13:02, Jason H wrote: > Someone is going to use a Get request to Post data... > > From: "Tom Isaacson via Interest">> Is there a maxiumum URL length, either in QUrl or Qt WebEngine? There >> doesn't seem to be a standard for maximum URL length, it's >> implementation specific. Just in case: both HTTP and HTML recommend a maximum of 1024 (ASCII) characters for a URL. Servers are free to ignore header lines with longer URLs in them and browsers are free to cut them as well. Note that this is a recommendation, not a requirement. ...it all depends on how safe and compatible you want to be. Konrad ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Unit test framework
Hi, On Fri, March 9, 2018 06:35, Himanshu Vishwakarma wrote: > I have certain question rise after doing much research. please the > clear my confusion. I can clearly see the confusion... ..let's see whether we can clear some things up! ;-) > Q1. A squish is a software by which we can test the software > graphically i.e. in GUI mode ?? please comments... You misunderstand "GUI Test" - it's not a (unit) test framework displaying results in a GUI, but rather it is a framework that is supposed to test the GUI of the application under test. Squish can actually run automated without its own GUI and use a virtual (invisible) screen/terminal to "display" the application being tested. Please try to read up on the many different kinds of tests that exist in the software engineering field. Just to give you some key words you can type into Google/Wikipedia/whatever: * white box vs. black box tests * unit tests * integration tests * system tests * GUI tests * manual vs. automated tests * data driven tests * behavior driven tests * usability tests * A/B tests * test driven development etc. Once you've gotten an overview of the width and breadth of testing you may be better able to discern where in this spectrum your project lies. > Q2. If yes, there must be alternative by we can test the software in > non-GUI mode also. If yes, then what are the methods?? There are dozens, if not hundreds of test frameworks out there. Just for GUI Test frameworks see (1). (1) https://en.wikipedia.org/wiki/Comparison_of_GUI_testing_tools Most of them have at least an automatable non-GUI mode and some have an additional GUI mode. For Qt based applications/libraries the most commonly used tools are the built in QtTest module for unit tests and Squish for GUI tests. There are of course others, but those are the two most of us "senior Qt citizens" are familiar with and both of them are conveniently automatable. Konrad ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest