Re: Zusäutzliche Festplatte dauerhaft einbinden + Speed-Test

2024-05-06 Thread Konrad Rosenbaum


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

2024-04-16 Thread Konrad Rosenbaum

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

2024-04-03 Thread Konrad Rosenbaum

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

2024-01-05 Thread Konrad Rosenbaum

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

2023-12-05 Thread Konrad Rosenbaum

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

2023-12-05 Thread Konrad Rosenbaum

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)

2023-11-21 Thread Konrad Rosenbaum

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

2023-11-21 Thread Konrad Rosenbaum

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

2023-11-20 Thread Konrad Rosenbaum

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.

2023-09-11 Thread Konrad Rosenbaum

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.

2023-07-25 Thread Konrad Rosenbaum

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.

2023-07-25 Thread Konrad Rosenbaum

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

2023-06-29 Thread Konrad Rosenbaum

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

2023-05-10 Thread Konrad Rosenbaum

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

2023-03-28 Thread Konrad Rosenbaum


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)?

2023-03-27 Thread Konrad Rosenbaum

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)?

2023-03-27 Thread Konrad Rosenbaum


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)?

2023-03-26 Thread Konrad Rosenbaum

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

2023-02-23 Thread Konrad Rosenbaum

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

2023-02-23 Thread Konrad Rosenbaum

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

2023-02-22 Thread Konrad Rosenbaum

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

2023-02-22 Thread Konrad Rosenbaum

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

2023-02-21 Thread Konrad Rosenbaum

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

2023-02-15 Thread Konrad Rosenbaum

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

2023-02-15 Thread Konrad Rosenbaum

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

2023-02-08 Thread Konrad Rosenbaum

Bei mir wird's wohl nix heute.


    Konrad



OpenPGP_signature
Description: OpenPGP digital signature


Re: Treffen heute (25. Januar)

2023-01-25 Thread Konrad Rosenbaum

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)

2023-01-25 Thread Konrad Rosenbaum
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?

2023-01-25 Thread Konrad Rosenbaum

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.

2023-01-10 Thread Konrad Rosenbaum

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)

2022-12-28 Thread Konrad Rosenbaum

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

2022-12-28 Thread Konrad Rosenbaum

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

2022-12-27 Thread Konrad Rosenbaum

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.)

2022-11-09 Thread Konrad Rosenbaum

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)

2022-11-01 Thread Konrad Rosenbaum

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)

2022-10-24 Thread Konrad Rosenbaum

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)

2022-06-24 Thread Konrad Rosenbaum

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)

2022-06-24 Thread Konrad Rosenbaum

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

2022-06-10 Thread Konrad Rosenbaum
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

2022-05-20 Thread Konrad Rosenbaum

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

2022-03-09 Thread Konrad Rosenbaum
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

2022-03-08 Thread Konrad Rosenbaum

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

2022-02-21 Thread Konrad Rosenbaum

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

2022-01-10 Thread Konrad Rosenbaum

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

2021-12-05 Thread Konrad Rosenbaum

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)

2021-09-09 Thread Konrad Rosenbaum
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

2021-06-14 Thread Konrad Rosenbaum

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

2021-05-19 Thread Konrad Rosenbaum

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

2021-03-24 Thread Konrad Rosenbaum

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

2021-03-05 Thread Konrad Rosenbaum

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

2020-12-11 Thread Konrad Rosenbaum

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

2020-12-08 Thread Konrad Rosenbaum

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

2020-10-27 Thread Konrad Rosenbaum
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

2020-06-13 Thread Konrad Rosenbaum
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

2020-06-13 Thread Konrad Rosenbaum

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

2020-06-13 Thread Konrad Rosenbaum
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

2020-06-01 Thread Konrad Rosenbaum
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

2020-05-29 Thread Konrad Rosenbaum
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?

2020-05-23 Thread Konrad Rosenbaum
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?

2020-05-21 Thread Konrad Rosenbaum
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)

2020-05-21 Thread Konrad Rosenbaum
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

2020-05-12 Thread Konrad Rosenbaum
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

2020-03-28 Thread Konrad Rosenbaum
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

2020-02-27 Thread Konrad Rosenbaum
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

2020-02-03 Thread Konrad Rosenbaum

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

2020-01-29 Thread Konrad Rosenbaum

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

2020-01-29 Thread Konrad Rosenbaum

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

2020-01-08 Thread Konrad Rosenbaum

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.

2019-12-13 Thread Konrad Rosenbaum
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.

2019-12-13 Thread Konrad Rosenbaum
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.

2019-12-10 Thread Konrad Rosenbaum
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

2019-11-24 Thread Konrad Rosenbaum

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

2019-10-26 Thread Konrad Rosenbaum

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

2019-10-07 Thread Konrad Rosenbaum

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

2019-09-20 Thread Konrad Rosenbaum

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

2019-09-20 Thread Konrad Rosenbaum
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

2019-08-30 Thread Konrad Rosenbaum
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

2019-06-27 Thread Konrad Rosenbaum
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

2019-06-25 Thread Konrad Rosenbaum
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

2019-06-25 Thread Konrad Rosenbaum
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

2019-06-24 Thread Konrad Rosenbaum
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

2019-06-18 Thread Konrad Rosenbaum


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

2019-06-16 Thread Konrad Rosenbaum

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

2019-05-07 Thread Konrad Rosenbaum
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"

2019-04-10 Thread Konrad Rosenbaum
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"

2019-04-10 Thread Konrad Rosenbaum
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

2019-04-10 Thread Konrad Rosenbaum

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

2019-03-14 Thread Konrad Rosenbaum

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

2019-02-13 Thread Konrad Rosenbaum
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?

2018-11-14 Thread Konrad Rosenbaum
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?

2018-11-14 Thread Konrad Rosenbaum
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?

2018-09-25 Thread Konrad Rosenbaum
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

2018-08-08 Thread Konrad Rosenbaum
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?

2018-08-07 Thread Konrad Rosenbaum
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

2018-04-18 Thread Konrad Rosenbaum
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

2018-03-23 Thread Konrad Rosenbaum
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

2018-03-21 Thread Konrad Rosenbaum
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

2018-03-20 Thread Konrad Rosenbaum
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

2018-03-15 Thread Konrad Rosenbaum
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

2018-03-09 Thread Konrad Rosenbaum
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


  1   2   3   4   5   >