--- Log opened Thu Oct 29 00:00:27 2020 |
00:08 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
01:56 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [[NS] Quit: -a- Connection Timed Out] |
02:00 | | Mahal [sid171286@Nightstar-0bi4dv.irccloud.com] has quit [Ping timeout: 121 seconds] |
02:01 | | Mahal [sid171286@Nightstar-0bi4dv.irccloud.com] has joined #code |
02:04 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
02:47 | | Degi [Degi@Nightstar-23b82l.pool.telefonica.de] has quit [Operation timed out] |
02:53 | | Degi [Degi@Nightstar-o2elu8.dyn.telefonica.de] has joined #code |
02:56 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [[NS] Quit: -a- Connection Timed Out] |
03:00 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
03:13 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [The TLS connection was non-properly terminated.] |
03:16 | | macdjord|slep [macdjord@Nightstar-re5.7if.45.45.IP] has joined #code |
03:16 | | mode/#code [+o macdjord|slep] by ChanServ |
03:19 | | mac [macdjord@Nightstar-re5.7if.45.45.IP] has quit [Ping timeout: 121 seconds] |
03:24 | | Pink [uid208117@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
05:43 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code |
05:43 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
05:51 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
05:51 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
05:51 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
05:57 | | celticminstrel [celticminst@Nightstar-r1cum5.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:41 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
08:48 | | Kindamoody[zZz] is now known as Kindamoody |
10:07 | | catalyst_ [catalyst@Nightstar-01u7ag.dab.02.net] has joined #code |
10:09 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Ping timeout: 121 seconds] |
10:20 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
10:23 | | catalyst_ [catalyst@Nightstar-01u7ag.dab.02.net] has quit [Ping timeout: 121 seconds] |
10:29 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has joined #code |
11:05 | | * gnolam slowly dies inside as he black boxes self-cleaning logic. |
11:05 | <@gnolam> | Each cleaning cycle takes around 10 minutes. And it seems it has to finish to trigger each state transition. |
11:06 | | Kindamoody is now known as Kindamoody|afk |
11:52 | | * Emmy shudders in horror |
13:06 | | celticminstrel [celticminst@Nightstar-r1cum5.dsl.bell.ca] has joined #code |
13:06 | | mode/#code [+o celticminstrel] by ChanServ |
14:08 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
14:08 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:02 | | catalyst_ [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
15:02 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Connection reset by peer] |
15:29 | | catalyst_ [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Connection closed] |
15:30 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
15:43 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
16:13 | < Yossarian> | Hmmm |
16:16 | < Yossarian> | Wirth's book is annoying, A+DS=P book I mean. |
16:20 | < Yossarian> | PASCAL |
16:20 | < Yossarian> | Also older books on computing... Sets, records, heaps. |
16:21 | < Yossarian> | Heaps always been tree structure? |
16:27 | <&McMartin> | Kiiiiiinda? |
16:28 | <&McMartin> | I think of the traditional heap implementation as being an array that uses mathematical functions of the index to compute the indices of the children and the parent. |
16:28 | <&McMartin> | The degree to which this is using the 'cursor' technique to get around a language's lack of support for pointers is up in the air, but the big advantage for heaps is that, since they are complete binary trees at all times, you never need to *keep* explicit references to the children or parents. |
16:32 | < Yossarian> | Ah. |
16:34 | <&McMartin> | (The "cursor" technique, if you have not seen it, is for when you don't have malloc or pointers, but you *do* have big ol' arrays full of structures. Instead of a pointer to that structure you keep an index into that array, which serves broadly the same role.) |
16:35 | <&McMartin> | (Hilariously, this maps *more closely* to the 6502's instruction set than pointers do!) |
16:37 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [[NS] Quit: -a- Connection Timed Out] |
16:37 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
16:37 | < Yossarian> | And using the "cursor" technique, how would one free? |
16:38 | <&ToxicFrog> | realloc() the array to a smaller size once you're no longer using the tail elements. |
16:39 | <&McMartin> | More seriously: you don't free if you're reduced to this; that is a static, preallocated global array. |
16:40 | <&McMartin> | So you're probably maintaining a free list on the unused elements or something along the way. |
16:40 | < Yossarian> | I haven't looked at 6502 ISA |
16:40 | < Yossarian> | McMartin: preallocated global array, that makes sense |
16:41 | < Yossarian> | I tried looking up "cursor" technique as you have got my interest piqued. |
16:41 | <&ToxicFrog> | McMartin: I've definitely seen applications where you had malloc/free (or you were allocating on the stack) but you didn't want to do it lots, or have lots of pointer overhead |
16:42 | <&ToxicFrog> | But in that case, yeah, you don't shrink it halfway through you, you allocate it, process it, and then discard the whole thing |
16:42 | <&McMartin> | On the 6502, pointers may only be stored in the first 256 bytes of RAM, and you can't just dereference them; you must burn a specific one of the three you have to index it (which means a straight dereference means forcing it to zero for the duration) |
16:42 | <&ToxicFrog> | And yeah to me the "canonical" heap is the tree representation because I learned the theory before I ever implemented one |
16:42 | <&McMartin> | Indexing a global array, however, lets you use two of your three registers as an index to any address in the 16-bit space. |
16:43 | <&McMartin> | I learned heap as part of learning heapsort, so the technique was "here is an array you want to sort. First, we turn it into a heap, which is an ultra funky array" |
16:44 | <&ToxicFrog> | I think my first sort was shellsort, which my hands keep wanting to write as "shellsword" for some reason. |
16:49 | <&ToxicFrog> | (which I still can't write off the top of my head without references) |
16:51 | < Yossarian> | yeah I have to brush up on my data structures and algorithms, there is a good book that is based around C++ written by Berman who is a professor at Rowan |
16:53 | <&ToxicFrog> | Honestly I haven't thought about the implementation of most of these in ages -- these days I generally care about the performance characteristics of various operations in the abstract |
16:53 | <&McMartin> | Yeah |
16:53 | <&McMartin> | Also shell sort was always a deeply weird hack |
16:53 | <&ToxicFrog> | It is! |
16:53 | <&McMartin> | Heapsort, Mergesort, and Quicksort are theoretically interesting and useful to know |
16:53 | <&ToxicFrog> | But it was also discussed in one of Rick Cook's Wizardry books which were a staple of my childhood |
16:54 | <&McMartin> | This is fair |
17:59 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [[NS] Quit: -a- Connection Timed Out] |
18:00 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
18:18 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Connection reset by peer] |
18:18 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
19:23 | | catalyst_ [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
19:23 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Connection closed] |
19:24 | | Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud |
19:30 | | Netsplit over, joins: @PinkFreud |
19:56 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has joined #code |
19:56 | | catalyst_ [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [Connection closed] |
20:50 | | Kindamoody|afk is now known as Kindamoody |
21:10 | | McMartin [mcmartin@Nightstar-c25omi.ca.comcast.net] has quit [Operation timed out] |
21:19 | | McMartin [mcmartin@Nightstar-c25omi.ca.comcast.net] has joined #code |
21:19 | | mode/#code [+ao McMartin McMartin] by ChanServ |
22:04 | | bluefoxx [fuzzylombax@Nightstar-gmbj85.vs.shawcable.net] has joined #code |
23:22 | | catalyst [catalyst@Nightstar-v6lb30.cable.virginm.net] has quit [[NS] Quit: -a- IRC for Android 2.1.59] |
23:27 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has quit [Ping timeout: 121 seconds] |
23:27 | | Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud |
23:33 | | Netsplit over, joins: @PinkFreud |
23:40 | | Kindamoody is now known as Kindamoody[zZz] |
--- Log closed Fri Oct 30 00:00:29 2020 |