--- Log opened Tue Feb 04 00:00:48 2020 |
00:09 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
00:09 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
00:13 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code |
00:13 | | mode/#code [+o himi] by ChanServ |
00:13 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
00:34 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
00:34 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
00:38 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
00:56 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
00:56 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
01:00 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
01:19 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
01:19 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
01:24 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
01:35 | | celmin|away is now known as celticminstrel |
01:43 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code |
01:43 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
01:43 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
01:43 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
01:47 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
01:49 | | * McMartin grumbles at this code, decides once again that all abstraction layers have been cut at the wrong points |
01:50 | <@Reiv> | oh dear |
02:09 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
02:09 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
02:11 | <&McMartin> | Eh |
02:11 | <&McMartin> | The jump from "be one thing" to "swap as needed between two things" is always rough |
02:11 | <&McMartin> | And it turns out the two things may be so distinct that it doesn't make sense for them to share any code. |
02:14 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
02:45 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
02:45 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
02:49 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
03:08 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
03:08 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
03:13 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
03:29 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
03:29 | | mode/#code [+o Kindamoody[zZz]] by ChanServ |
03:33 | | Kindamoody[zZz] [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
03:47 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] |
03:48 | | Degi [Degi@Nightstar-nj9usj.dyn.telefonica.de] has quit [Ping timeout: 121 seconds] |
03:51 | | Degi [Degi@Nightstar-5r1e9j.dyn.telefonica.de] has joined #code |
04:04 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code |
04:04 | | mode/#code [+o Reiv] by ChanServ |
04:36 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
05:09 | | Derakon is now known as Derakon[AFK] |
05:20 | | macdjord|wurk is now known as macdjord|slep |
05:38 | | celticminstrel [celticminst@Nightstar-0p84vo.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
05:58 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
08:12 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Ping timeout: 121 seconds] |
08:44 | | Kimo|autojoin [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
08:44 | | mode/#code [+o Kimo|autojoin] by ChanServ |
08:44 | | Kimo|autojoin is now known as Kindamoody |
08:59 | <&jeroud> | I try to avoid drawing abstraction boundaries until I have more than one thing to put behind one side. |
08:59 | <&jeroud> | For that sort of boundary, at least. |
09:00 | <&jeroud> | There are plenty of abstraction boundaries where I only ever expect one thing on each side. |
09:02 | <&jeroud> | I have spent many long weeks ripping out abstractions that were put around things that we expected to have multiple implementations of only to discover that the second implementation had a different enough interface that the abstraction didn't actually fit. |
09:31 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
09:31 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
10:03 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
10:03 | | mode/#code [+o himi] by ChanServ |
10:06 | <&McMartin> | Yep, that is what is happening here |
10:06 | <&McMartin> | Though I am feeling DEEPLY VEXED because one of those layers has no right to be nonuniversal |
10:11 | <&jeroud> | Welcome to the tech industry. |
10:13 | <&jeroud> | What's the recalcitrantly nonnonuniversal layer? |
10:16 | <&McMartin> | readIntoBuffer:(void *) length:(size_t) |
10:16 | <&McMartin> | It turns out the second thing we added isn't enough like a stream unless I bend over backwards in ways that make it less efficient |
10:17 | <&McMartin> | The tippy top abstraction layer, which I want to keep, is basically structuredDataReadyCallback(struct) |
10:17 | <&McMartin> | which produces a stream of parsed and packaged structures. |
10:18 | <&jeroud> | I am deeply suspicious of anything with void* in it. |
10:18 | <&McMartin> | it's really uint8_t * but it's been tradition since fread. |
10:18 | <&jeroud> | But I'm a bit of a type system snob. |
10:20 | <&McMartin> | Breaking that attitude with files is UNIX's primary feature. |
10:20 | <&McMartin> | Any program can open any file, all files are just a sequence of bits with no structure. |
10:20 | <&McMartin> | And in the case of the media bitstreams we're dealing with |
10:20 | <&McMartin> | BOY HOWDY are they a sequence of bits with no structure |
10:20 | <&McMartin> | My favorite aspect is the 33-bit integers it regularly relies on |
10:22 | <&McMartin> | And yeah, my primary job here is to Do The C Work that lets the rest of the system get a nice packaged properly-typed set of objects to work with. |
10:23 | <&McMartin> | And the other side is a raw network stream, which one would *like to think* would be enough like a file that you could have an fread-like abstraction layer |
10:23 | <&McMartin> | This is... not working out. |
10:23 | <&McMartin> | So it'll just be two parallel implementations and I'll see what parts can be shared later. |
10:28 | <&McMartin> | The main not-working-out is that we're relying on third party code for a lot of this and one of the libraries is Very Synchronous and the other is Very Asynchronous |
10:28 | <&McMartin> | So I can synchronize the async one, or actually implement it sensibly since the top-level abstraction is Hella Async |
10:29 | <&McMartin> | (The synchronous one gets a worker thread and hurls results into the callbacks as it generates them.) |
10:29 | <&McMartin> | (But the original idea was that worker-thread wrangling could go in the shared code and I'm feeling like that's a bad idea.) |
10:35 | <&jeroud> | Sounds like you need to read files into a localhost socket.~ |
10:35 | <&jeroud> | (Or a unix socket, if applicable.) |
10:35 | <&jeroud> | (But that's a terrible idea don't do it.) |
10:36 | <&jeroud> | (The whole thing, I mean, not just the unix socket.) |
10:37 | <&McMartin> | Yeah if we ever have to deal with content push we'll need something like that and the top-level abstraction can *still hide that* |
11:02 | <&jeroud> | Most of the the systems I've used that support some kind of async have a threadpool mechanism you can hook into. |
11:03 | <&jeroud> | But none of those have been C. |
11:03 | <&jeroud> | And most of them have been... awkward. |
11:19 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
11:19 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
11:19 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
11:27 | | Kindamoody [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
11:46 | | Kindamoody [Kindamoody@Nightstar-eubaqc.tbcn.telia.com] has joined #code |
11:46 | | mode/#code [+o Kindamoody] by ChanServ |
12:18 | | You're now known as TheWatcher[d00m] |
12:39 | | macdjord|slep is now known as macdjord|wurk |
12:59 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
13:29 | | celticminstrel [celticminst@Nightstar-0p84vo.dsl.bell.ca] has joined #code |
13:29 | | mode/#code [+o celticminstrel] by ChanServ |
13:48 | | celticminstrel is now known as celmin|away |
14:03 | <@sshine> | code of the day: my $superjobcategory = JIX::Page->niche_site; |
14:04 | <@sshine> | so a $superjobcategory is, in this codebase, expected to be an instance of a particular class called JIX::Superjobcategory. and JIX::Page->niche_site is a function that always returns a string containing a 'slug' of some kind. but for the past many years, JIX::Page->niche_site has returned undef. so this line (and the 20-30 lines that come after it) somehow assume something that's never been true and have |
14:05 | <@sshine> | done so for ~5 years. |
14:05 | <@sshine> | I love deleting code. |
14:05 | <@sshine> | s/(?<=have done so for ~5 years)/ when it could have been deleted/ |
14:23 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
14:24 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
14:24 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
15:08 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
15:47 | | You're now known as TheWatcher |
16:12 | | Netsplit Traal.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud |
16:56 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
18:25 | | bluefoxx [fuzzylombax@Nightstar-gmbj85.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
18:49 | | Derakon[AFK] is now known as Derakon |
19:14 | | bluefoxx [fuzzylombax@Nightstar-gmbj85.vs.shawcable.net] has joined #code |
19:58 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code |
22:09 | | macdjord|wurk [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Operation timed out] |
22:42 | | Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
22:43 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
22:47 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:16 | | macdjord [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code |
23:49 | | Kindamoody is now known as Kindamoody[zZz] |
--- Log closed Wed Feb 05 00:00:50 2020 |