home.social

#pyqt — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pyqt, aggregated by home.social.

fetched live
  1. Post mortem on this is that MacOS kept failing *a lot*. I finally managed to track down the cause: a QTextCursor in the spell/error checker, owned by both PyQt and Qt, on each text block. This exploded on cleanup because I think it left a random memory pointer in the list of widgets. Not sure why it happened more on Mac.

    In any case, Claude was not helpful on chasing it, because it was on a wild goose chase on the stack trace because it segfaulted on a random memory pointer.

    #PyQt #Qt #Python

  2. Post mortem on this is that MacOS kept failing *a lot*. I finally managed to track down the cause: a QTextCursor in the spell/error checker, owned by both PyQt and Qt, on each text block. This exploded on cleanup because I think it left a random memory pointer in the list of widgets. Not sure why it happened more on Mac.

    In any case, Claude was not helpful on chasing it, because it was on a wild goose chase on the stack trace because it segfaulted on a random memory pointer.

    #PyQt #Qt #Python

  3. Post mortem on this is that MacOS kept failing *a lot*. I finally managed to track down the cause: a QTextCursor in the spell/error checker, owned by both PyQt and Qt, on each text block. This exploded on cleanup because I think it left a random memory pointer in the list of widgets. Not sure why it happened more on Mac.

    In any case, Claude was not helpful on chasing it, because it was on a wild goose chase on the stack trace because it segfaulted on a random memory pointer.

    #PyQt #Qt #Python

  4. Post mortem on this is that MacOS kept failing *a lot*. I finally managed to track down the cause: a QTextCursor in the spell/error checker, owned by both PyQt and Qt, on each text block. This exploded on cleanup because I think it left a random memory pointer in the list of widgets. Not sure why it happened more on Mac.

    In any case, Claude was not helpful on chasing it, because it was on a wild goose chase on the stack trace because it segfaulted on a random memory pointer.

    #PyQt #Qt #Python

  5. Post mortem on this is that MacOS kept failing *a lot*. I finally managed to track down the cause: a QTextCursor in the spell/error checker, owned by both PyQt and Qt, on each text block. This exploded on cleanup because I think it left a random memory pointer in the list of widgets. Not sure why it happened more on Mac.

    In any case, Claude was not helpful on chasing it, because it was on a wild goose chase on the stack trace because it segfaulted on a random memory pointer.

    #PyQt #Qt #Python

  6. Ok, Python apps with PyQt, using Qt's own threading, can be really tricky. I've been working on offloading some main GUI thread work in @novelwriter to the thread pool, and I've been battling segfaults in both Python and the Qt libraries since yesterday.

    I got Claude to do a bunch of the tedious work to track the dumps and find the causes, but I've still spent ~10 hours on this.

    I've solved similar issues in the past, but this time it was really really tricky.

    #Qt #PyQt #Python #Code

  7. Ok, Python apps with PyQt, using Qt's own threading, can be really tricky. I've been working on offloading some main GUI thread work in @novelwriter to the thread pool, and I've been battling segfaults in both Python and the Qt libraries since yesterday.

    I got Claude to do a bunch of the tedious work to track the dumps and find the causes, but I've still spent ~10 hours on this.

    I've solved similar issues in the past, but this time it was really really tricky.

    #Qt #PyQt #Python #Code

  8. Ok, Python apps with PyQt, using Qt's own threading, can be really tricky. I've been working on offloading some main GUI thread work in @novelwriter to the thread pool, and I've been battling segfaults in both Python and the Qt libraries since yesterday.

    I got Claude to do a bunch of the tedious work to track the dumps and find the causes, but I've still spent ~10 hours on this.

    I've solved similar issues in the past, but this time it was really really tricky.

    #Qt #PyQt #Python #Code

  9. Ok, Python apps with PyQt, using Qt's own threading, can be really tricky. I've been working on offloading some main GUI thread work in @novelwriter to the thread pool, and I've been battling segfaults in both Python and the Qt libraries since yesterday.

    I got Claude to do a bunch of the tedious work to track the dumps and find the causes, but I've still spent ~10 hours on this.

    I've solved similar issues in the past, but this time it was really really tricky.

    #Qt #PyQt #Python #Code

  10. Ok, Python apps with PyQt, using Qt's own threading, can be really tricky. I've been working on offloading some main GUI thread work in @novelwriter to the thread pool, and I've been battling segfaults in both Python and the Qt libraries since yesterday.

    I got Claude to do a bunch of the tedious work to track the dumps and find the causes, but I've still spent ~10 hours on this.

    I've solved similar issues in the past, but this time it was really really tricky.

    #Qt #PyQt #Python #Code

  11. Recently updated the backend for my silly little app to gRPC from plain REST. Works beautifully and is a bit faster too. Now started the task of updating all the admin endpoints to gRPC too. There are almost as many endpoints as for the client, so this will take a while. Fortunately I can take them one by one and still have a fully working admin setup. Gives me an opportunity to fix up some rough edges in the PyQt admin app I use, so it's a win-win I guess.

    #grpc #rust #pyqt #backend #indiedev

  12. Recently updated the backend for my silly little app to gRPC from plain REST. Works beautifully and is a bit faster too. Now started the task of updating all the admin endpoints to gRPC too. There are almost as many endpoints as for the client, so this will take a while. Fortunately I can take them one by one and still have a fully working admin setup. Gives me an opportunity to fix up some rough edges in the PyQt admin app I use, so it's a win-win I guess.

    #grpc #rust #pyqt #backend #indiedev

  13. Recently updated the backend for my silly little app to gRPC from plain REST. Works beautifully and is a bit faster too. Now started the task of updating all the admin endpoints to gRPC too. There are almost as many endpoints as for the client, so this will take a while. Fortunately I can take them one by one and still have a fully working admin setup. Gives me an opportunity to fix up some rough edges in the PyQt admin app I use, so it's a win-win I guess.

    #grpc #rust #pyqt #backend #indiedev

  14. Recently updated the backend for my silly little app to gRPC from plain REST. Works beautifully and is a bit faster too. Now started the task of updating all the admin endpoints to gRPC too. There are almost as many endpoints as for the client, so this will take a while. Fortunately I can take them one by one and still have a fully working admin setup. Gives me an opportunity to fix up some rough edges in the PyQt admin app I use, so it's a win-win I guess.

    #grpc #rust #pyqt #backend #indiedev

  15. Recently updated the backend for my silly little app to gRPC from plain REST. Works beautifully and is a bit faster too. Now started the task of updating all the admin endpoints to gRPC too. There are almost as many endpoints as for the client, so this will take a while. Fortunately I can take them one by one and still have a fully working admin setup. Gives me an opportunity to fix up some rough edges in the PyQt admin app I use, so it's a win-win I guess.

    #grpc #rust #pyqt #backend #indiedev

  16. Some quiet workshop work behind the scenes in the last weeks: Fixing bugs in my SDG2042X GUI & using the process to learn Git issue tracking.

    Found 14 bugs and hope to fix 4 of them soon; tests are ongoing.

    Blog:
    togo-lab.io/?p=287

    Git:
    gitea.togo-lab.io/tgohle/0003-

    Issues I found so far:
    gitea.togo-lab.io/tgohle/0003-

    #SDG2042X #GUI #ToGoLab #Linux #PyQt #Python #Electronics #SCPI #Gitea #BugFixing

  17. Some quiet workshop work behind the scenes in the last weeks: Fixing bugs in my SDG2042X GUI & using the process to learn Git issue tracking.

    Found 14 bugs and hope to fix 4 of them soon; tests are ongoing.

    Blog:
    togo-lab.io/?p=287

    Git:
    gitea.togo-lab.io/tgohle/0003-

    Issues I found so far:
    gitea.togo-lab.io/tgohle/0003-

  18. 🚀 44 skills to make any AI coding assistant powerful:

    🎮 Games: #pygame, #OpenRCT2, mGBA

    🖥️ Desktop: #PyQt, #Qt C++

    🌐 Extensions: #Firefox, #Thunderbird

    🐍 Python: #Django, pytest, SQLAlchemy

    🐧 Linux: #KDE Plasmoid, Kate

    🤖 AI: #LlamaIndex

    and more!

    github.com/codeatcode/oss-ai-s

  19. 🚀 44 skills to make any AI coding assistant powerful:

    🎮 Games: #pygame, #OpenRCT2, mGBA

    🖥️ Desktop: #PyQt, #Qt C++

    🌐 Extensions: #Firefox, #Thunderbird

    🐍 Python: #Django, pytest, SQLAlchemy

    🐧 Linux: #KDE Plasmoid, Kate

    🤖 AI: #LlamaIndex

    and more!

    github.com/codeatcode/oss-ai-s

  20. 🚀 44 skills to make any AI coding assistant powerful:

    🎮 Games: #pygame, #OpenRCT2, mGBA

    🖥️ Desktop: #PyQt, #Qt C++

    🌐 Extensions: #Firefox, #Thunderbird

    🐍 Python: #Django, pytest, SQLAlchemy

    🐧 Linux: #KDE Plasmoid, Kate

    🤖 AI: #LlamaIndex

    and more!

    github.com/codeatcode/oss-ai-s

  21. 🚀 44 skills to make any AI coding assistant powerful:

    🎮 Games: #pygame, #OpenRCT2, mGBA

    🖥️ Desktop: #PyQt, #Qt C++

    🌐 Extensions: #Firefox, #Thunderbird

    🐍 Python: #Django, pytest, SQLAlchemy

    🐧 Linux: #KDE Plasmoid, Kate

    🤖 AI: #LlamaIndex

    and more!

    github.com/codeatcode/oss-ai-s

  22. I'm on this project where we want to do #realtime #radar but are sort of starting with nothing (apart from world-class radar transmitters, receivers and expertise...)

    One very smart but non-#software person wrote a bunch of good #signalprocessing #code and some "gets the job done" #gui code

    Or it did until we went higher bandwidth

    Last week I rewrote all the non-sigproc parts into #pyqt and #pyqtgraph. Today I benchmarked both.

    Exactly the same speed....except pyqtgraph is

    THREE ORDERS OF MAGNITUDE

    faster than #matplotlib

    #python peeps, please hear me. mpl has its place and uses. High data rate animated displays is not that place.

  23. I'm on this project where we want to do #realtime #radar but are sort of starting with nothing (apart from world-class radar transmitters, receivers and expertise...)

    One very smart but non-#software person wrote a bunch of good #signalprocessing #code and some "gets the job done" #gui code

    Or it did until we went higher bandwidth

    Last week I rewrote all the non-sigproc parts into #pyqt and #pyqtgraph. Today I benchmarked both.

    Exactly the same speed....except pyqtgraph is

    THREE ORDERS OF MAGNITUDE

    faster than #matplotlib

    #python peeps, please hear me. mpl has its place and uses. High data rate animated displays is not that place.

  24. I'm on this project where we want to do but are sort of starting with nothing (apart from world-class radar transmitters, receivers and expertise...)

    One very smart but non-#software person wrote a bunch of good and some "gets the job done" code

    Or it did until we went higher bandwidth

    Last week I rewrote all the non-sigproc parts into and . Today I benchmarked both.

    Exactly the same speed....except pyqtgraph is

    THREE ORDERS OF MAGNITUDE

    faster than

    peeps, please hear me. mpl has its place and uses. High data rate animated displays is not that place.

  25. I'm on this project where we want to do #realtime #radar but are sort of starting with nothing (apart from world-class radar transmitters, receivers and expertise...)

    One very smart but non-#software person wrote a bunch of good #signalprocessing #code and some "gets the job done" #gui code

    Or it did until we went higher bandwidth

    Last week I rewrote all the non-sigproc parts into #pyqt and #pyqtgraph. Today I benchmarked both.

    Exactly the same speed....except pyqtgraph is

    THREE ORDERS OF MAGNITUDE

    faster than #matplotlib

    #python peeps, please hear me. mpl has its place and uses. High data rate animated displays is not that place.

  26. I'm on this project where we want to do #realtime #radar but are sort of starting with nothing (apart from world-class radar transmitters, receivers and expertise...)

    One very smart but non-#software person wrote a bunch of good #signalprocessing #code and some "gets the job done" #gui code

    Or it did until we went higher bandwidth

    Last week I rewrote all the non-sigproc parts into #pyqt and #pyqtgraph. Today I benchmarked both.

    Exactly the same speed....except pyqtgraph is

    THREE ORDERS OF MAGNITUDE

    faster than #matplotlib

    #python peeps, please hear me. mpl has its place and uses. High data rate animated displays is not that place.

  27. It's one of THOSE days

    I overslept by an hour. The tuxedo #cat had to use his little paws to roll me out of bed. (He was hungry but worse I was not On Schedule, something he cares about a LOT)

    But also I only had to get up early because #IT made some change on my laptop that prevents me from logging in to #wfh

    When I got here, I found that a request I put in to unlock an unrelated account on a different network had ALSO not been done. But at least the ticket is closed!

    And the thing I have to work on is annoying. A project I definitely want to be on needed a display. I made one in #python #pyqt #pyqtgraph.

    Oh, they meant a #web #app. OK, so I redesigned the backend to both would work.

    Everyone likes THAT except for some external guy who AFAICT hasn't done any actual work on this project. The only reason his opinion matters is that he's the one actually deploying the app...?

    And instead of modifying the code to be how he wants it he wrote a sample app for ME to follow?

    And I don't think that's even going to work. #plotly needs a session ID to get persistent zoom and some other things right. This guy's design means everyone has to share a session ID. I explained this to him.

    So the outcome of starting from his code is either that I'll be proved wrong or I'll have wasted a day proving HIM wrong. Two wonderful possibilities.

  28. It's one of THOSE days

    I overslept by an hour. The tuxedo #cat had to use his little paws to roll me out of bed. (He was hungry but worse I was not On Schedule, something he cares about a LOT)

    But also I only had to get up early because #IT made some change on my laptop that prevents me from logging in to #wfh

    When I got here, I found that a request I put in to unlock an unrelated account on a different network had ALSO not been done. But at least the ticket is closed!

    And the thing I have to work on is annoying. A project I definitely want to be on needed a display. I made one in #python #pyqt #pyqtgraph.

    Oh, they meant a #web #app. OK, so I redesigned the backend to both would work.

    Everyone likes THAT except for some external guy who AFAICT hasn't done any actual work on this project. The only reason his opinion matters is that he's the one actually deploying the app...?

    And instead of modifying the code to be how he wants it he wrote a sample app for ME to follow?

    And I don't think that's even going to work. #plotly needs a session ID to get persistent zoom and some other things right. This guy's design means everyone has to share a session ID. I explained this to him.

    So the outcome of starting from his code is either that I'll be proved wrong or I'll have wasted a day proving HIM wrong. Two wonderful possibilities.

  29. It's one of THOSE days

    I overslept by an hour. The tuxedo had to use his little paws to roll me out of bed. (He was hungry but worse I was not On Schedule, something he cares about a LOT)

    But also I only had to get up early because made some change on my laptop that prevents me from logging in to

    When I got here, I found that a request I put in to unlock an unrelated account on a different network had ALSO not been done. But at least the ticket is closed!

    And the thing I have to work on is annoying. A project I definitely want to be on needed a display. I made one in .

    Oh, they meant a . OK, so I redesigned the backend to both would work.

    Everyone likes THAT except for some external guy who AFAICT hasn't done any actual work on this project. The only reason his opinion matters is that he's the one actually deploying the app...?

    And instead of modifying the code to be how he wants it he wrote a sample app for ME to follow?

    And I don't think that's even going to work. needs a session ID to get persistent zoom and some other things right. This guy's design means everyone has to share a session ID. I explained this to him.

    So the outcome of starting from his code is either that I'll be proved wrong or I'll have wasted a day proving HIM wrong. Two wonderful possibilities.

  30. It's one of THOSE days

    I overslept by an hour. The tuxedo #cat had to use his little paws to roll me out of bed. (He was hungry but worse I was not On Schedule, something he cares about a LOT)

    But also I only had to get up early because #IT made some change on my laptop that prevents me from logging in to #wfh

    When I got here, I found that a request I put in to unlock an unrelated account on a different network had ALSO not been done. But at least the ticket is closed!

    And the thing I have to work on is annoying. A project I definitely want to be on needed a display. I made one in #python #pyqt #pyqtgraph.

    Oh, they meant a #web #app. OK, so I redesigned the backend to both would work.

    Everyone likes THAT except for some external guy who AFAICT hasn't done any actual work on this project. The only reason his opinion matters is that he's the one actually deploying the app...?

    And instead of modifying the code to be how he wants it he wrote a sample app for ME to follow?

    And I don't think that's even going to work. #plotly needs a session ID to get persistent zoom and some other things right. This guy's design means everyone has to share a session ID. I explained this to him.

    So the outcome of starting from his code is either that I'll be proved wrong or I'll have wasted a day proving HIM wrong. Two wonderful possibilities.

  31. It's one of THOSE days

    I overslept by an hour. The tuxedo #cat had to use his little paws to roll me out of bed. (He was hungry but worse I was not On Schedule, something he cares about a LOT)

    But also I only had to get up early because #IT made some change on my laptop that prevents me from logging in to #wfh

    When I got here, I found that a request I put in to unlock an unrelated account on a different network had ALSO not been done. But at least the ticket is closed!

    And the thing I have to work on is annoying. A project I definitely want to be on needed a display. I made one in #python #pyqt #pyqtgraph.

    Oh, they meant a #web #app. OK, so I redesigned the backend to both would work.

    Everyone likes THAT except for some external guy who AFAICT hasn't done any actual work on this project. The only reason his opinion matters is that he's the one actually deploying the app...?

    And instead of modifying the code to be how he wants it he wrote a sample app for ME to follow?

    And I don't think that's even going to work. #plotly needs a session ID to get persistent zoom and some other things right. This guy's design means everyone has to share a session ID. I explained this to him.

    So the outcome of starting from his code is either that I'll be proved wrong or I'll have wasted a day proving HIM wrong. Two wonderful possibilities.