code logs -> 2021 -> Mon, 01 Mar 2021< code.20210228.log - code.20210302.log >
--- 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
code logs -> 2021 -> Mon, 01 Mar 2021< code.20210228.log - code.20210302.log >

[ Latest log file ]