code logs -> 2013 -> Tue, 03 Dec 2013< code.20131202.log - code.20131204.log >
--- Log opened Tue Dec 03 00:00:53 2013
00:42
<@Tarinaky>
So I might have just spent the last 1hr30min writing a lengthy cry for help at the end of my assignment.
00:42
<@Tarinaky>
It /still/ doesn't make it to the four pages that the brief asks for.
00:49 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
00:49 mode/#code [+qo Vornicus Vornicus] by ChanServ
01:11 Derakon[AFK] is now known as Derakon
01:20 You're now known as TheWatcher[T-2]
01:23 Kindamoody is now known as Kindamoody[zZz]
01:44 You're now known as TheWatcher[zZzZ]
04:05 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
04:24 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds]
--- Log closed Tue Dec 03 05:07:08 2013
--- Log opened Tue Dec 03 05:18:36 2013
05:18 TheWatcher[zZzZ] [chris@Nightstar-ksqup0.co.uk] has joined #code
05:18 Irssi: #code: Total of 38 nicks [16 ops, 0 halfops, 0 voices, 22 normal]
05:18 mode/#code [+o TheWatcher[zZzZ]] by ChanServ
05:19 Irssi: Join to #code was synced in 39 secs
05:21 Derakon is now known as Derakon[AFK]
05:28 Turaiel is now known as Turaiel[Offline]
06:08 ErikMesoy|sleep is now known as ErikMesoy
06:30 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.]
06:34 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code
06:45 celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:54 himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds]
07:02 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code
08:11 Kindamoody is now known as Kindamoody|out
09:21 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving]
09:34 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [Connection closed]
09:43 You're now known as TheWatcher
10:02 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
10:02 mode/#code [+o himi] by ChanServ
13:42 Turaiel[Offline] is now known as Turaiel
14:05 Turaiel is now known as Turaiel[Offline]
15:47 Turaiel[Offline] is now known as Turaiel
16:04 Turaiel is now known as Turaiel[Offline]
16:38 Turaiel[Offline] is now known as Turaiel
16:55 celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has joined #code
16:55 mode/#code [+o celticminstrel] by ChanServ
18:41 Turaiel is now known as Turaiel[Offline]
18:50 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
18:50 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:14 Kindamoody|out is now known as Kindamoody
20:50 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code
20:50 mode/#code [+o Reiv] by ChanServ
21:37
< RichyB>
There should be a python-threading song, akin to the dwarven poetry, http://www.lspace.org/fandom/afp/timelines/gold-gold-gold.html
21:37
< RichyB>
"GIL GIL GIL GIL GIL GIL GILā¦"
21:38
<&jerith>
http://thecodelesscode.com/case/121
21:39 Kindamoody is now known as Kindamoody[zZz]
21:42
< RichyB>
eh, whatever
21:43
< ErikMesoy>
GIL?
21:43
<&jerith>
Global Interpreter Lock.
21:43
< RichyB>
Yes, you're irrevocably doomed if you ever write sem_wait() or acquire_mutex() in business logic, but raw access to shared-memory multiprocessing is exactly what you want for writing systems software that doesn't suck.
21:45
< RichyB>
ErikMesoy, Python has a "thread" module; CPython's threads are OS threads (e.g. pthreads); CPython can't cope with multiple threads accessing the Python interpreter concurrently, so it protects the entire interpreter state with a single global lock.
21:46
< RichyB>
Effectively, each Python process emulates a task-switching uniprocessor atop your multiple CPU cores.
21:46
< ErikMesoy>
wtf
21:46
< ErikMesoy>
Is this as wtf as it sounds?
21:47
<&jerith>
Most people don't even notice it.
21:48
< RichyB>
Semantically, it's just meh.
21:48
< RichyB>
It becomes royally BLETCH if you try to have multiple compute-bound threads in the same process.
21:50
<&jerith>
Fortunately arigato has his STM pypy implementation.
21:51
< RichyB>
Partly for fun, I happen to be hacking on https://bitbucket.org/rbarrell/cpython
21:51
< ErikMesoy>
Also: I have only ever heard the "two problems" proverb with regular expressions. For threads I have heard the variant where the words come slightly out of order.
21:53
< RichyB>
jerith, that whole thing just sounds like a really awful tradeoff to me.
21:54
< RichyB>
Like we're just going to pay the price of setting up and tearing down an entire STM transaction every few opcodes just for the sake of preserving backwards-compatibility with the fact that CPython happens to have "lookup item from dict" as an atomic operation?
21:54
< RichyB>
Bletch, I say, bletch! Whatever program was relying on the ability to do that was NUTBAGS in the first place!
21:55
< RichyB>
(criticism or dissent would be greatly appreciated, btw)
21:55
<&jerith>
RichyB: No Silver Bullets.
21:56
< RichyB>
What about it?
21:56 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: Leaving]
22:01
< RichyB>
(er, not that I think that STM is a bad idea; I've used it in Haskell and it's really lovely. What I find objectionable is the idea of writing an entire STM implementation just for the sake of staying backwards-compatible with old CPython programs that were doing insane things like mutually-unsynchronised accesses to some dict)
22:05
<&jerith>
RichyB: That's not the reason.
22:06
<&jerith>
(But compat is important.)
22:06
< RichyB>
Compat with useful things is important.
22:07
< RichyB>
Being backwards compatible with semantics that aren't useful anyway leads you to attach an enormous ball-and-chain to your own performance.
22:09 ErikMesoy is now known as ErikMesoy|sleep
22:10 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
22:11
< RichyB>
jerith, please could you elaborate on why you mentioned that? It's eating at me now.
22:14
<&jerith>
RichyB: A "with atomic:" context manager is an incredibly useful concurrency abstraction.
22:16
< RichyB>
Right, so get a good STM implementation for the sake of being able to write "with atomic:" blocks.
22:18
< RichyB>
That's not at all the same thing as having the language implementation transparently turn every few opcodes into a transaction.
23:24 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
23:42 Turaiel[Offline] is now known as Turaiel
23:49 Vorntastic [Vorn@Nightstar-5u8cto.sub-70-211-10.myvzw.com] has joined #code
--- Log closed Wed Dec 04 00:00:09 2013
code logs -> 2013 -> Tue, 03 Dec 2013< code.20131202.log - code.20131204.log >

[ Latest log file ]