#pyqt | Logs for 2018-10-16

Back
[05:29:43] -!- anqxyr has joined #pyqt
[05:38:21] -!- kallesbar has joined #pyqt
[06:26:53] -!- mintograde has joined #pyqt
[07:08:31] -!- mintograde has quit [Ping timeout: 250 seconds]
[08:54:52] -!- Siecje has joined #pyqt
[09:47:26] -!- mandeep has quit [Ping timeout: 272 seconds]
[10:37:54] -!- mandeep has joined #pyqt
[11:06:18] -!- mandeep has quit [Ping timeout: 245 seconds]
[11:43:52] <agile_prg> hi altendky you here?
[11:44:04] <altendky> sure
[11:44:44] <agile_prg> I am trying to emit a signal from main, but I do not think that is possible as main would have to a class so I would have to use throw away class with a signal in it
[11:44:53] <agile_prg> and emit that
[11:45:15] <agile_prg> if you call a slot directly it will not queue right?
[11:45:53] <altendky> agile_prg: you can emit a signal from anywhere. it has to live on a qobject (optionally created behind the scenes). normally the owning object is the one to emit. but why do you care about queuing? are you threading? what's the use case here
[11:46:08] <agile_prg> yes I am threading
[11:46:21] <altendky> agile_prg: what?
[11:52:15] <altendky> agile_prg: a subprocess? web requests? trying to make some parallel computation faster?
[12:00:20] <agile_prg> a web request kind of thing
[12:00:43] <agile_prg> anyway, I will just do it the hardway with a special class designed for it
[12:01:00] <altendky> agile_prg: async, not threads. You are in qt...
[12:03:41] <agile_prg> if I call a slot directly will it queue?
[12:03:55] <agile_prg> I am afraid the info is coming in too fast to be handled synchronously
[12:04:41] <altendky> agile_prg: no, calling directly is like calling a function. And your second statement doesn't make sense
[12:04:58] <agile_prg> well if a signal is sent and the receiver is busy it will queue
[12:05:01] <altendky> agile_prg: I didn't suggest not-async, I suggested async.
[12:05:03] <agile_prg> how does that not make sense?
[12:05:22] <altendky> agile_prg: and threads won't get you more CPU time so...
[12:06:37] <agile_prg> I guess I will just make a signal in the same class I want to receive it
[12:06:48] <agile_prg> and connect them, then emit :>
[12:07:44] <altendky> agile_prg: you have provided no good reason to thread
[12:07:57] <agile_prg> just trust me
[12:08:03] <altendky> agile_prg: I don't
[12:08:11] <altendky> agile_prg: give reasons
[12:08:22] <agile_prg> I can't its a secret :<
[12:08:34] <altendky> agile_prg: no it's silly
[12:13:00] <altendky> agile_prg: it's not clear you understand async. It doesn't mean you have only one request outstanding at a time.
[12:13:32] <agile_prg> I think I understand async, it means non-halting
[12:13:37] <agile_prg> non blocking
[12:14:32] <altendky> agile_prg: that's a piece. What will make your threads faster?
[12:15:10] <agile_prg> I don't understand why you think threads is not a good way to do things
[12:15:21] <agile_prg> what is the alternative cooperative multitasking?
[12:17:22] <altendky> agile_prg: async
[12:17:58] <altendky> agile_prg: I mean threads don't cooperate. They arbitrarily interrupt and in Python they block each other.
[12:18:24] <agile_prg> oh wait, forgot to tell you I am not using python but c++
[12:18:43] <agile_prg> threads block each other in pyqt?
[12:21:55] <altendky> agile_prg: oh... Still, it's qt... It's async...
[12:22:23] <agile_prg> threads do not block each other except when attempting to access the same data area
[12:22:34] <agile_prg> that is the whole reason signals/slots were created
[12:23:09] <altendky> agile_prg: what language?
[12:23:21] <altendky> agile_prg: and even with useful threads... Async io
[12:23:35] <agile_prg> c++
[12:23:46] <altendky> agile_prg: you like qt and think they are brilliant but think there basic core technology is stupid and pointless
[12:23:52] <altendky> It's silly, as I said
[12:24:18] <agile_prg> not sure how you got to that conclusion but ok
[12:24:25] <agile_prg> I like qt period
[12:25:09] <altendky> agile_prg: you continuously argue against async
[12:25:37] <agile_prg> is there a special way to do async your referring to in pyqt?
[12:26:31] <altendky> agile_prg: signals and slots
[12:26:35] <altendky> Same for c++
[12:27:32] <altendky> agile_prg: I mean you are presumably pointlessly introducing threads over the existing async
[12:28:19] <altendky> That's the thing, threads generally have some level of async to enable communication between them. You basically write a custom simple event loop anyways.
[12:28:51] <altendky> So the real question is what do the threads add on top of the async you will have anyways.
[12:29:20] <altendky> agile_prg: are you using the qt stuff for the network requests?
[12:29:53] <agile_prg> threads are an abstraction, cooperative multitasking only works for requests that take a very short time to execute
[12:30:02] <agile_prg> otherwise your have to write your own time slicing
[12:30:04] <agile_prg> no thanks
[12:33:05] <altendky> agile_prg: you aren't making any sense
[12:33:30] <altendky> agile_prg: you are literally using async... But sticking threads in the middle without providing any reason
[12:34:40] <altendky> agile_prg: you can have many simultaneous requests pending without threads
[12:36:29] <agile_prg> ya but the buffer for the messages in the ram of the network card
[12:36:36] <agile_prg> that is not where it should reside
[12:36:44] <altendky> agile_prg: huh?
[12:36:52] <altendky> There's an os in the middle etc
[12:36:54] <altendky> And...
[12:37:30] <altendky> agile_prg: it seems mostly a waste of time to try to communicate with you. You don't listen then call me brilliant.
[12:39:02] <altendky> agile_prg: https://glyph.twistedmatrix.com
[12:40:49] <altendky> agile_prg: threads have some upsides and uses. But you really don't seem to understand async yet. It isn't 'manual time slicing'. It isn't 'waiting for this to finish before starting another request'. It isn't 'leaving incoming messages in your nic hardware buffer'.
[12:41:21] <altendky> agile_prg: none of your claims have touched on the cases where threads might be appropriate.
[12:44:22] <agile_prg> wow, not trying to offend you, I withdraw the argument, the defense rests
[12:44:59] <agile_prg> I am aware of twisted, twisted uses cooperative multitasking
[12:45:04] <agile_prg> you have to yield long processes
[12:45:30] <altendky> agile_prg: what are you doing?
[12:45:46] <altendky> agile_prg: making web requests?
[12:46:07] <altendky> agile_prg: using qt stuff with signals?
[12:48:31] <agile_prg> I can't tell you ;<
[12:48:38] <agile_prg> anyway forget it
[12:54:34] <altendky> agile_prg: that's the insulting part
[12:54:46] <agile_prg> I can't win
[12:54:50] <agile_prg> forget it ever happened
[12:54:52] <altendky> agile_prg: you waste my time asking for help then telling me I'm wrong
[12:54:54] <agile_prg> what do you want from me?
[12:55:02] <agile_prg> I apolagize
[12:55:03] <altendky> agile_prg: what do you think I'm going to do with your secret?
[12:55:29] <agile_prg> I give up, hate me I guess
[12:56:00] <altendky> agile_prg: everyone thinks irc is it to steal their magic ideas that they can't even implement themselves. It's just silly. We are plenty busy with our own stuff.
[13:14:26] -!- mandeep has joined #pyqt
[16:42:07] -!- mintograde has joined #pyqt
[17:02:56] -!- anqxyr has quit [Ping timeout: 260 seconds]
[17:26:16] -!- Siecje has quit [Quit: Leaving.]
[18:32:26] -!- kushal has quit [Remote host closed the connection]
[18:32:40] -!- kushal has joined #pyqt
[20:13:31] -!- Belxjander has quit [Ping timeout: 244 seconds]
[20:19:29] -!- Belxjander has joined #pyqt
[20:53:52] -!- kallesbar has quit [Quit: Konversation terminated!]
[21:04:12] -!- mandeep has quit [Quit: Leaving]
[22:02:36] -!- stochastix has quit [Ping timeout: 252 seconds]
[22:02:56] -!- stochastix has joined #pyqt
[22:15:03] -!- mintograde has quit [Ping timeout: 245 seconds]
[22:19:21] -!- mandeep has joined #pyqt
[23:05:09] -!- necrose99 has joined #pyqt
[23:09:53] -!- necrose99_ has joined #pyqt
[23:13:28] -!- necrose99b has joined #pyqt
[23:13:45] -!- necrose99b has quit [Remote host closed the connection]
[23:13:56] -!- necrose99 has quit [Ping timeout: 260 seconds]
[23:14:23] -!- necrose99 has joined #pyqt
[23:17:26] -!- necrose99_ has quit [Ping timeout: 260 seconds]
[23:18:42] -!- necrose99_ has joined #pyqt
[23:22:41] -!- necrose99 has quit [Ping timeout: 260 seconds]
[23:49:05] -!- necrose99_ has quit [Ping timeout: 250 seconds]
[23:49:13] -!- Belxjander has quit [Ping timeout: 245 seconds]
[23:57:12] -!- Belxjander has joined #pyqt