--- Log opened Mon Mar 01 00:00:48 2021 |
02:56 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
03:17 | | Degi_ [Degi@Nightstar-hf3mg7.pool.telefonica.de] has joined #code |
03:18 | | Degi [Degi@Nightstar-57biiq.pool.telefonica.de] has quit [Operation timed out] |
03:18 | | Degi_ is now known as Degi |
04:48 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Connection closed] |
05:24 | | celticminstrel [celticminst@Nightstar-8ih5mu.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
05:29 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code |
05:29 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
05:47 | | VirusJTG_ [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
05:47 | | VirusJTG_ [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
06:08 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Operation timed out] |
06:34 | | abudhabi__ [abudhabi@Nightstar-3ai6b5.adsl.tpnet.pl] has joined #code |
06:35 | | abudhabi_ [abudhabi@Nightstar-afrfru.adsl.tpnet.pl] has quit [Operation timed out] |
08:10 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
08:10 | | mode/#code [+o himi] by ChanServ |
09:44 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
10:23 | <@sshine> | `git add -p` question: say I'd like to split some changes on directly adjacent lines. hitting 's' to split won't work, and hitting 'e' to edit, what do I type to leave one line off the stage? |
10:24 | <@sshine> | https://gist.github.com/sshine/ce7b79fd19a0af003ef16209745a26d2 -- e.g. the last line, 'storeAsContact: boolean;', should not be staged at this point. if I change the '+' into ' ' or '-', I get "patch failed: ... patch does not apply" |
10:25 | <@sshine> | my current solution is to go into the file using my editor, remove the line, save, git add -p, add the line back in. but I wonder if I can't make 'e' do that for me. |
10:27 | <@sshine> | hm. maybe I'll just stick to deleting stuff temporarily. seems a bit risky, since my changes are in the editor's undo buffer, rather than on disk. |
10:28 | <@sshine> | but considering I did a `git rebase -i` and `git reset HEAD~`, I actually do have everything in a commit. |
11:11 | | Kindamoody[zZz] is now known as Kindamoody |
11:12 | | catalyst_ [catalyst@Nightstar-pmecuh.dab.02.net] has joined #code |
11:14 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Ping timeout: 121 seconds] |
11:20 | | catalyst_ [catalyst@Nightstar-pmecuh.dab.02.net] has quit [Ping timeout: 121 seconds] |
11:21 | | catalyst [catalyst@Nightstar-d4b7bg.dab.02.net] has joined #code |
11:31 | | catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
11:31 | | Kindamoody is now known as Kindamoody|afk |
11:33 | | catalyst [catalyst@Nightstar-d4b7bg.dab.02.net] has quit [Ping timeout: 121 seconds] |
11:35 | | Kindamoody|afk [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Operation timed out] |
12:03 | | Kindamoody|afk [Kindamoody@Nightstar-v552ts.tbcn.telia.com] has joined #code |
12:03 | | mode/#code [+o Kindamoody|afk] by ChanServ |
12:22 | | Kindamoody|afk [Kindamoody@Nightstar-v552ts.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
12:23 | | Kindamoody|afk [Kindamoody@Nightstar-4qgjq7.mobileonline.telia.com] has joined #code |
12:23 | | mode/#code [+o Kindamoody|afk] by ChanServ |
14:07 | | celticminstrel [celticminst@Nightstar-8ih5mu.dsl.bell.ca] has joined #code |
14:07 | | mode/#code [+o celticminstrel] by ChanServ |
14:28 | | catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Ping timeout: 121 seconds] |
14:29 | | catalyst [catalyst@Nightstar-d4b7bg.dab.02.net] has joined #code |
14:54 | | catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
14:57 | | catalyst [catalyst@Nightstar-d4b7bg.dab.02.net] has quit [Connection reset by peer] |
15:00 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
15:00 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:56 | | catalyst_ is now known as catalyst |
16:20 | | Kindamoody|afk [Kindamoody@Nightstar-4qgjq7.mobileonline.telia.com] has quit [Ping timeout: 121 seconds] |
16:28 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
17:04 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has joined #code |
17:04 | <&[R]> | "Have to log into 23 separate Windows VMs and manually uninstall something." |
17:05 | < Emmy> | oooh fun~ |
17:07 | < catalyst> | sounds like a Monday |
17:14 | <&ToxicFrog> | Instruction selection is now pretty much entirely automated. LLVM goes into my code and goes "ha ha ha foolish human with your integer divide by a constant, clearly you can multiply by this random bit sequence that was proven to be equivalent by a mathematician in the 80s" and my code gets faster. There's not much I have to worry about on this front. |
17:14 | <&ToxicFrog> | The data structures story is so much worse. I say "I'd like to put these bytes here" and the compiler says "very good sir" in sort of a deferential English butler kind of way. I can sense that maybe there's some judgment and I've made bad life choices, but the compiler is just going to do what I told it. "Lobster Thermidor encrusted in Cool Ranch Doritos, very good sir" and Alfred |
17:14 | <&ToxicFrog> | walks off to leave me in a hell of L2 cache misses of my own design that turn my i-5 into a 486. |
17:14 | <&ToxicFrog> | (from https://hacksoflife.blogspot.com/2021/02/making-soa-tollerable.html, h/t ifmud) |
17:45 | < catalyst> | oh hey it's my job |
17:59 | | VirusJTG__ [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
18:01 | | VirusJTG_ [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Ping timeout: 121 seconds] |
18:30 | | Kimo|autojoin [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
18:31 | | mode/#code [+o Kimo|autojoin] by ChanServ |
18:45 | | Kimo|autojoin is now known as Kindamoody |
18:52 | <&ToxicFrog> | I thought you might find that relatable |
20:19 | <&McMartin> | If the data structures butler starts getting ideas above its station suddenly data layouts aren't compatible any more and everything explodes. |
20:19 | <&McMartin> | It's best to just assume that the cool ranch doritos are to sneak past a particularly focused guard dog three blocks away. |
20:22 | <&McMartin> | Also relatable: |
20:22 | <&McMartin> | "Game developers are very familiar with what to do about it - perhaps less so in the C++ community: vector gives us an array of structures - each object is consecutive and then we get to the next object; what we really want is a structure of arrays - each member of the object is consecutive and then we hit the next object." |
20:22 | <&McMartin> | It's me, rearchitecting C code to run at acceptable speed on the 6502 |
21:01 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
21:42 | | Kindamoody is now known as Kindamoody[zZz] |
21:52 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has quit [Ping timeout: 121 seconds] |
21:59 | | mac [macdjord@Nightstar-re5.7if.45.45.IP] has quit [Ping timeout: 121 seconds] |
21:59 | | macdjord [macdjord@Nightstar-re5.7if.45.45.IP] has joined #code |
21:59 | | mode/#code [+o macdjord] by ChanServ |
22:04 | | mac [macdjord@Nightstar-re5.7if.45.45.IP] has joined #code |
22:04 | | mode/#code [+o mac] by ChanServ |
22:06 | | macdjord [macdjord@Nightstar-re5.7if.45.45.IP] has quit [Ping timeout: 121 seconds] |
22:09 | < catalyst> | SoAs can be utterly horrible if your friendly neighbourhood code wizard gets hold of them and does "clever" things to make them "easier to use" though |
22:10 | < Yossarian> | SoA? |
22:11 | < catalyst> | struct of arrays - instead of laying out each object's members like normal C structs you turn them into a struct of pointers to arrays |
22:12 | < catalyst> | what TF linked above |
22:13 | < Yossarian> | Oh oh |
22:38 | < Yossarian> | Hrm :/ |
22:56 | <~Vornicus> | what kind of "clever" things are we talking about here |
23:28 | | * Vornicus arghls at lua. Need a map that actually respects __eq apparently |
23:35 | <&McMartin> | Re: SoA, I wound up talking about using them in a much different context last week: https://bumbershootsoft.wordpress.com/2021/02/23/simulated-evolution-on-two-8-bit-machines/ |
23:36 | <&McMartin> | "The main challenges here stem from the way that C makes extremely aggressive use of pointers, and in fact usually treats array access as a special kind of pointer operation. The 6502 chip that powers the Atari and the Commodore 8-bits is extremely bad at efficient use of pointers, but it is exceptionally efficient and flexible when working with global arrays of bytes. When adapting the original BASIC-like |
23:36 | <&McMartin> | pseudocode to C, I converted six arrays (one two-dimensional) into a single array of structs (one of whose fields was an array). To adapt this code to the 6502, it became 13 arrays of bytes, each 256 bytes long." |
23:45 | <&ToxicFrog> | Vornicus: __eq should always fire on tables |
23:45 | <&ToxicFrog> | Unless you mean you want a table where the keyspace respects __eq? |
23:47 | <~Vornicus> | that |
23:47 | <&ToxicFrog> | you're in for a fun ride (note: fun not guaranteed) |
23:47 | <~Vornicus> | I can write my own but mehhhhh |
23:47 | <&ToxicFrog> | Usually my approach to this is to implement __index and __newindex such that they canonicalize each key to e.g. a string that is equal under == |
23:48 | <&ToxicFrog> | What's the keyspace? |
23:49 | <~Vornicus> | the keys are ivec2s today, they look like, say, {5, 12} |
23:50 | <&ToxicFrog> | Right, I'd probably either decompose them so it's a two-level table indexed as t[i][j], or stringify them so it's a one-level table indexed as t["i,j"] |
--- Log closed Tue Mar 02 00:00:50 2021 |