--- Log opened Wed Jun 22 00:00:34 2022 |
00:29 | | Kizor [a@Nightstar-nfsqa7.yok.fi] has joined #code |
01:10 | | gizmore|2 [kvirc@Nightstar-9cmgjp.dip0.t-ipconnect.de] has joined #code |
01:13 | | gizmore [kvirc@Nightstar-gjrbk4.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
01:22 | < Kizor> | CCS64, a C64 emulator, wasn't saving settings until I followed someone's advice and made a blank file called c64.cfg in its directory. Does this trick come up a lot? Is it something to keep in mind? |
01:25 | <~Vornicus> | that's a dumb fuckin' bug |
01:31 | < Kizor> | Yep! Does it come up a lot? I feel like I should keep it in mind when trying to get 90s Windows games to run. |
01:35 | < Mahal> | It's probably a permissions thing, the emulator doesn't have permissions to create a file but it can edit one |
02:00 | | catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
02:00 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Connection closed] |
02:10 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
03:19 | | Kizor [a@Nightstar-nfsqa7.yok.fi] has quit [[NS] Quit: ] |
03:31 | | Kizor [a@Nightstar-nfsqa7.yok.fi] has joined #code |
03:39 | | Degi_ [Degi@Nightstar-i73nt8.pool.telefonica.de] has joined #code |
03:41 | | Degi [Degi@Nightstar-et8jb5.pool.telefonica.de] has quit [Ping timeout: 121 seconds] |
03:41 | | Degi_ is now known as Degi |
04:06 | | catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [The TLS connection was non-properly terminated.] |
06:47 | < Alek> | I feel like I've come across that a few times even with non-emulated games and software. |
06:47 | < Alek> | but it's been quite a while since. |
06:47 | < Alek> | and Mahal's comment sounds about right. |
07:26 | | Kindamoody[zZz] is now known as Kindamoody |
09:29 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
09:29 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
09:47 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
11:37 | | catalyst_ [catalyst@Nightstar-8jvq4v.dab.02.net] has joined #code |
11:40 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Ping timeout: 121 seconds] |
12:03 | | catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code |
12:07 | | catalyst_ [catalyst@Nightstar-8jvq4v.dab.02.net] has quit [Connection closed] |
12:56 | | Kindamoody is now known as Kindamoody|out |
15:02 | | Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has joined #code |
15:08 | < simon_> | what are some alternatives to CBOR and BSON? as in binary serialisation formats |
15:10 | <&ToxicFrog> | Binary specifically? There's protobuf and its descendants like capnproto |
15:12 | < simon_> | ah yes, and the reason why I'm not thinking of them is that I think their purpose is to be deserialisation-free, no? |
15:12 | < simon_> | not that that's a bad property, that's awesome. but I don't know if I can get away with it. |
15:50 | <&ToxicFrog> | I think cap'n proto is, not sure about protobuf |
15:53 | <&ToxicFrog> | There's the various TLV formats like IFF/RIFF, but usually you'll still end up needing your own serialization format for the chunk payloads. |
15:53 | <&ToxicFrog> | There's language-specific serialization formats like JVM Serializeable and python pickle |
15:53 | <&ToxicFrog> | What's your actual goal here? |
16:03 | < gizmore|2> | 13? |
16:03 | | gizmore|2 is now known as gizmore |
18:45 | <@celticminstrel> | “deserialization-free”? |
19:13 | <&ToxicFrog> | "you can just mmap() it and read native data types out of it without needing to do copies or payload processing" |
22:28 | < FLHerne> | surely that must blow up cross-platform though |
22:28 | < FLHerne> | word lengths and byte order and so on |
22:29 | <&McMartin> | Oh yes |
22:31 | <&McMartin> | But that still gives you three realms where this is Pretty Great: inter-process communication (an iffy one because IPC becomes "networked" real fast), inter-*thread* communication (where it's fine because you're sharing an address space anyway) and then FFI layers (where you don't even have multiple threads) |
22:31 | <&McMartin> | NOTABLY ABSENT FROM THIS LIST: persistent data written to disk |
22:32 | <&McMartin> | Also all of these fall down without something like SMILE's backreferences or Java's serialization formats once you start dealing with data structures that refer to specific instances of one another, like a naively implemented graph data type in C. |
22:38 | < FLHerne> | oof, yes |
22:39 | < FLHerne> | I worked on a project that had an in-memory database (not that it was called that because they'd reinvented the wheel) |
22:40 | < FLHerne> | which worked fine until someone added a datatype to it that stored pointers to objects that were memory-managed separately and got freed sometimes |
22:40 | <&McMartin> | oh no |
22:41 | < FLHerne> | it was robust enough not to actually crash in that case, just produce a sort of contagious data corruption that caused impossible-to-debug problems |
22:41 | <&McMartin> | also it occurs to me that unlike actual, like, vehicle designers and wheelwrights, we software folk generally do not distinguish between reinventing wheels and designing or building custom wheels. |
22:41 | <&McMartin> | That's the wrong kind of robust >_< |
22:42 | <&McMartin> | (... usually. Data that it is OK to corrupt, say, by replacing a terminal display of data with the string "<Invalid>" or something, kinda counts but is totally fine) |
22:45 | < FLHerne> | It was part of an IDE and storing information about declarations, inferred types etc, so "restart your editor and try again" rather than truly catastrophic |
22:45 | < FLHerne> | just really annoying |
22:47 | < FLHerne> | Deciding a custom in-memory database because existing ones were bad would probably have still been wrong, but sane to consider |
22:47 | < FLHerne> | *designing |
22:47 | < FLHerne> | whereas implementing Not A Database that coincidentally has all the features, properties and requirements of a database is just silly |
22:51 | <&McMartin> | "We need something like SQLite, but SQLite won't cut it" is *extremely* plausible for *many* things >_> |
22:52 | <&McMartin> | ISTR a bunch of Zachtronics games just used SQLite dumps as their save formats, though |
23:22 | | Kindamoody|out is now known as Kindamoody[zZz] |
--- Log closed Thu Jun 23 00:00:36 2022 |