00:00:30 <b_jonas> they are nice company, I don't have any problem with them, I only have a problem with *me* going into a cave
00:00:35 <ais523> at school, we got taught things like mnemonics for what order the colors in the rainbow were in
00:00:51 <ais523> but it isn't very useful because people aren't taught basic things like what colours indigo and violet actually are
00:01:11 <ais523> (violet is especially problematic because most computer screens are incapable of showing it accurately, and most printers are incapable of printing it accurately)
00:01:35 <b_jonas> Arcorann: yes, because just like me, Hagrid knows that that nomenclature doesn't matter for anything he does and so doesn't try to remember it. he's not a school age child anymore, having to learn thousands of useless facts to get a good grade, nor a lawyer or doctor
00:02:18 <ais523> I think one reason they teach what they do in school is that it is hard to know in advance which facts will be useful
00:02:32 <b_jonas> ais523: they're also incapable of showing or printing just about any pure one-wavelength light color
00:02:57 <b_jonas> you could probably make a laser monitor that can show a few of them, but not all
00:03:04 <b_jonas> but it would be horribly impractical
00:03:23 <int-e> b_jonas: then again our perception of colors is very limited too
00:03:25 <ais523> although, colours outside the red-blue range seem like they're a bigger problem to show than colours inside but not matching your pixel colour
00:03:33 <ais523> at least you can interpolate for colours in range
00:03:46 <b_jonas> int-e: yes, although there are very good reasons for why they're limited
00:04:44 <fizzie> b_jonas: I imagine you could make some sort of a refraction-based monitor that could do arbitrary wavelengths by having a mask in-between prisms or something for the color, and then something DLP-style to do the image.
00:05:15 <int-e> I wonder what color we'd get if something would trigger only one of the green or orange receptors in the eye. (M and L types here, https://en.wikipedia.org/wiki/CIE_1931_color_space)
00:05:16 <fizzie> Not a particularly bright one, but still.
00:05:45 <b_jonas> int-e: specifically you can't see infrared light because your body at your eye emits them as thermal radiation and the light emitted by your body that reaches your eyes will drown out any useful signal from the outside
00:05:50 <ais523> int-e: you can see something like that by looking at something intensely purple for a long time so that the red and blue receptors run out of neurotransmitter
00:05:59 <ais523> and then looking at something green
00:06:01 <int-e> (this would require something special... probably a laser aimed at individual cone cells)
00:07:00 <ais523> I've done that experiment with orange, the resulting colour just looks orange, but is perceived as "more orange" than an orange thing nearby (viewed by receptors with a normal neurotransmitter supply)
00:07:04 <b_jonas> int-e: one of those impossible colors that you can only see as an afterimage, green or yellow that is purer than the green or yellow of a single frequency light
00:08:06 <b_jonas> what you can do more easily is to see objects that are brighter than pure white is:
00:08:13 <fizzie> Ha, someone's done something a little like that, except (of course) with a diffraction grating rather than a prism.
00:08:25 <ais523> something I learned recently is that we actually know what colours colorblind people see, at least for protanopia and deuteranopia
00:08:29 <fizzie> "Agile Spectrum Imaging: Programmable Wavelength Modulation for Cameras and Projectors"
00:08:48 <ais523> because there are some people who are colourblind in only one eye, and they can use one eye to learn what colours are named and the other eye to view them colorblindly
00:08:54 <fizzie> "We use a diffraction grating to disperse the rays into different colors, and introduce a mask (or LCD/DMD) in the optical path to modulate the spectrum."
00:09:02 <int-e> I guess we do get pretty pure red and pure blue, so the middle range (closer to orange than to green? maybe.) is indeed the interesting one.
00:09:24 <b_jonas> that's why non-black washing detergents have a pigment-thingy that remains on the clothes and converts incoming ultraviolet light to visible light, fluorescent or something, so ideally those clothes can be brighter than white, though usually they're just brighter than before but still darker than white,
00:09:38 <b_jonas> the easiest way to see actually brighter than white is car registration plates with a white background
00:09:46 <b_jonas> at least if they're not dirty
00:09:51 <ais523> yes, converting UV to visible light is known as fluorescence
00:10:22 <ais523> also, I didn't think registration plates fluoresced, they're just reflective
00:10:36 <ais523> road signs in the UK are retroreflective, they reflect in a directed way along the path the light came from
00:10:45 <fizzie> https://www.nist.gov/programs-projects/hyperspectral-image-projector-hip well maybe it's not quite ready for consumer use yet
00:10:52 <ais523> which means that they're visible in low illumination as long as you're standing next to the source of illumination
00:10:55 <b_jonas> they're always dirty by the way, because it's not worth for anyone to clean it, but part of the reason for the fluorescent paint is that it makes the dirty license plate more visible in infrared photos
00:11:13 <b_jonas> or something like this, I probably got some important detail wrong
00:12:13 <b_jonas> ais523: wait, there are people who are colorblind in only one eye? how is that possible? I thought all forms of human colorblindness were strongly linked to genetics
00:12:34 <ais523> b_jonas: some people have two different sets of DNA, that might be the cause
00:13:08 <b_jonas> ais523: yeah, but that's very rare in humans that survive infanthood I think
00:13:10 <ais523> you're only meant to inherit half a set of DNA from each parent, but sometimes that mechanism goes wrong
00:13:24 <b_jonas> oh, that thing, not chimerism
00:13:56 <b_jonas> those can be quite bad, polyploidy stuff, but I don't see how they'd cause different colorblindness in eyes
00:14:29 <b_jonas> ais523: they're not fluorescent? hmm
00:14:36 <ais523> chimerism isn't that rare, it seems, at least on small scales
00:14:42 <b_jonas> ais523: road signs are retroreflective, that's true
00:15:06 <b_jonas> but roads signs isn't the same as car registration plates: car reg plates are in a place that gets dirty much more easily
00:15:08 <ais523> apparently it's quite common for fraternal twins to belong to multiple blood groups simultaneously as a consequence of small-scale chimerism
00:15:46 <b_jonas> "maybe it's not quite ready for consumer use yet" => I don't think that will become practical any time soon;
00:16:27 <ais523> there were printers on sale to consumers that used six colors + black rather than three colors + black
00:16:35 <ais523> I'm not sure if anyone bought them, but I saw them advertised
00:16:50 <ais523> although of course, that won't get you a full spectral range (especially as it would be hard to make appropriate ink)
00:17:17 <b_jonas> however, I would be happy if there were color consumer cameras with more than three color channels. technically there are a few with four channels, but they're rare and just optimized to give a better RGB picture output, though you can probably get a raw image from them; plus there are cameras that have a built-in motor to insert or remove the infrared filter
00:17:32 <b_jonas> ais523: blood groups sure, but blood groups is different
00:17:58 <ais523> full chimerism seems to be rare, or at least rarely confirmed; however, it also typically has no visible symptoms, or symptoms easily mistaken for other things
00:18:13 <ais523> so it's likely to usually go undetected
00:18:15 <b_jonas> ais523: printers => interesting, though I'd be specifically more interested in cameras rather than displays or printers for this
00:18:34 <fizzie> ais523: I think printers sold specifically as "photo printers" still use multiple inks.
00:18:41 <b_jonas> well I'm not a doctor or a biologist, so anything I say about those is often wrong
00:19:06 <b_jonas> especialyl anything I say two hours after I should have gone to bed, curse you #esoteric
00:19:27 <int-e> b_jonas: https://en.wikipedia.org/wiki/Sodium_vapor_process is something old that fits into this niche
00:19:34 <b_jonas> fizzie: yes, I think some use magenta, light magenta, blue, light blue, yellow, black
00:19:37 <int-e> (for a completely different reason)
00:19:54 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76464&oldid=76345 * LegionMammal978 * (-21) not a language
00:20:06 <b_jonas> int-e: oh yeah, I think that came up in the last two #esoteric discussion about this
00:20:14 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76465&oldid=76308 * LegionMammal978 * (+11) it's not a programming language if it doesn't have syntax
00:20:21 <fizzie> Epson's page managed to crash all of Chrome somehow (shouldn't happen, should file a bug), but I can still see the blurb about "enhanced level of quality produced by its 6-colour inks".
00:21:06 <int-e> (I learned about this from a making of video of The Birds)
00:21:12 <b_jonas> fizzie: well sure, they must say "enchanced level of quality" or something vague and hard to disprove if they want to sell you a printer for which it's harder to find third-party ink cartridges
00:21:50 <b_jonas> though the other trick of putting electronics with a usage counter in ink cartridges such that the printer refuses to use refilled cartridge is much more effective and dirtier
00:21:52 <fizzie> I think Epson's pretty good with inks, actually. Maybe not the photo ones, but in general I got the impression they haven't been doing as much copyright misuse and so on to control the ink markets.
00:22:24 <b_jonas> I wonder if anyone optimized a break for the electronic ink cartridge thing yet, and if that's legal
00:22:24 <fizzie> (I may not be remembering the right manufacturer though.)
00:22:34 <fizzie> (Also, I wonder if there's some way of figuring out which Chrome process would be good to kill without being able to bring up the Chrome task manager.)
00:22:52 <int-e> hmm, what's a "right manufacturer" :-)
00:23:14 <fizzie> A manufacturer of rights.
00:23:36 <int-e> Well, that goes without saying.
00:25:01 <fizzie> Sony made a couple of those RGBE color filter cameras (red, green, blue, "emerald") with four primaries.
00:25:24 <fizzie> "Emerald" is a more marketing-friendly way of saying "cyan".
00:25:32 <ais523> emerald doesn't look anything like cyan though
00:26:28 <fizzie> https://www.dpreview.com/articles/1471104084/sonyrgbeccd
00:26:33 <b_jonas> just imagine if Canon or Nikon made cameras that check the signature of the lens and deliberately dumb themselves down on any lens whose manufacturer doesn't pay a license fee for that. I think the first one of the two that does instantly lose their market share to the other
00:27:00 <shachaf> ais523: The Bornat book's approach looks pretty complicated.
00:27:24 <ais523> it covers lots of different approaches
00:27:53 <b_jonas> whereas some printer manufacturer can do this for cartridges, and Intel can have a cpu library that deliberately pessimizes operations on AMD x86 cpus such that if you just patch all those checks out you instantly get much better performance
00:28:30 <shachaf> How much should I know about parsers?
00:28:53 <ais523> that rather depends on how much you need to know about parsers
00:29:04 <b_jonas> despite that their architecture reference manual spends a lot of words explaining how you should detect cpu features, and that you should never try to guess them from the cpu type or brand, which btw has very good reasons, and yet their own libraries don't folow that
00:29:06 <ais523> if you're writing a parser generator, for example, you would need to know quite a lot
00:29:21 <shachaf> Say I know what LL(k) is. Should I know about LR, LALR, GLR, and all those things?
00:29:42 <fizzie> The BLARG parser gives up as soon as it encounters any error.
00:29:44 <ais523> I think it's useful to know what LALR(1) is capable of doing, because that's what most parser generators use in practice
00:30:01 <shachaf> Should I know about packrat, earley, cyk, and so on?
00:30:02 <ais523> knowing the fine distinctions between the various categories isn't much use unless you're writing a parser generator, though
00:30:05 <b_jonas> ais523: those four colors aren't really colors, they're filters where the full spectrum matters, so you can't really name them with human color names like red green blue accurately anyway
00:30:24 <ais523> yes, you'd need to give a graph of the frequency response
00:30:41 <shachaf> Presumably I should just know all of these things and be a turbo-expert.
00:30:52 <ais523> "red", "green", "blue" are good names for cone cells because different people have slightly different cone cells anyway, so vague names are good for lumping them into vague groups
00:30:55 <b_jonas> dual in the linear algebra sense of course
00:31:42 <b_jonas> ais523: blue sure, but I don't think red and green are.
00:31:50 <b_jonas> for camera filters red green blue is better
00:32:55 <ais523> GLR is cheating because it's fully general but nondeterministic, so the performance gets bad in situations where the generality is needed
00:33:50 <b_jonas> shachaf: you should probably know about LR(k), at least at the level of detail of how it differs from LL(k), not necessarily to how it differs from LALR(k)
00:34:23 <ais523> LALR(k) is a mild optimisation of LR(k) that sometimes introduces ambiguities but normally only in really contrived situations
00:34:28 <b_jonas> mostly because there are grammars that are LALR(1) but not LL(1) that you will meet often
00:34:56 <ais523> so LR(k) is more powerful than LALR(k) but not in any way that's likely to matter in practice
00:35:20 <b_jonas> whereas LR(k) versus LL(k) does matter
00:35:34 <ais523> yes, LR(1) is much more powerful than LL(1)
00:35:43 <b_jonas> (and so does LL(k) versus regular grammar obviously)(
00:36:22 <ais523> I think LR(k) is intermediate in power between a deterministic push-down automaton and a nondeterministic push-down automaton, isn't it?
00:37:03 <shachaf> Hmm, I don't have a good idea of what extra power you get from a nondeterministic push-down automaton, either.
00:37:14 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76466&oldid=76465 * Hakerh400 * (+580) Added formal syntax
00:37:46 <b_jonas> ais523: er... not technically, because you could cheat to convert an LR(k) parser to a push-down automaton by rolling a window of k symbols that the LR parser peeke
00:37:55 <b_jonas> peeks into the state of the automaton
00:38:17 <ais523> that converts LR(k) to LR(1)
00:38:18 <b_jonas> in which case you get a deterministic push-down automaton
00:38:19 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76467&oldid=76464 * Hakerh400 * (+21) Undo revision 76464 by [[Special:Contributions/LegionMammal978|LegionMammal978]] ([[User talk:LegionMammal978|talk]]) - Added formal syntax so it is a language now
00:38:30 <ais523> but ah right, LR(1) does compile into a deterministic PDA
00:38:47 <ais523> isn't that basically what yacc/ayacc do?
00:38:54 <b_jonas> maybe you also need to roll the top m elements of the stack into the state where m is the longest rule you have
00:39:00 <b_jonas> the legnth of the longest rule you have
00:39:12 <ais523> your basic operations are shift (push), reduce (pop+branch), and reading input
00:39:46 <ais523> b_jonas: you can't do that, because a reduce could cause deeper elements to become shallower
00:39:55 <ais523> although you could probably simulate it by popping all the elements and then pushing them back
00:40:00 <b_jonas> ais523: yes, but the control is also important: LR can look at multiple elements on top of its stack
00:40:07 <esowiki> [[Turinf machine]] M https://esolangs.org/w/index.php?diff=76468&oldid=76466 * Hakerh400 * (+14)
00:40:21 <ais523> b_jonas: no it can't, the only time it reads the stack is to read its top element
00:40:29 <b_jonas> oh yeah, it has a state for that
00:40:32 <b_jonas> sorry I'm stupid and tired
00:40:39 <b_jonas> I should just go to bed, good nigth
00:40:50 <b_jonas> I stayed up too long last night reading about cryptography
00:41:09 <b_jonas> and https://noiseprotocol.org/ btw which I recommend looking at
00:41:15 -!- b_jonas has quit (Quit: leaving).
00:42:44 -!- BWBellairs has quit (Quit: Quit).
00:44:46 -!- BWBellairs has joined.
01:00:45 -!- sprocklem has quit (Ping timeout: 240 seconds).
01:02:46 -!- sprocklem has joined.
01:15:13 -!- sprocklem has quit (Ping timeout: 264 seconds).
01:15:50 -!- sprocklem has joined.
01:32:59 <fizzie> Speaking of trying to use copyright to control what people do with technology, ran across Apple's "our hard work / by these words guarded / please don't steal" copyright haiku the other day.
01:34:23 <shachaf> Other than having a confusing name, the Boyer-Moore majority algorithm is pretty neat and does something that doesn't seem possible at first.
01:34:51 <shachaf> (Find the majority element in a stream using constant space.)
01:36:37 <ais523> where "majority" strictly means "more than half"
01:36:51 <ais523> otherwise it's unsolvable
01:37:48 <shachaf> But you can do "strictly more than 1/k" for any k.
01:40:06 -!- craigo has quit (Ping timeout: 260 seconds).
01:42:21 <esowiki> [[User:RocketRace]] https://esolangs.org/w/index.php?diff=76469&oldid=72180 * RocketRace * (+159) AAA
01:48:38 -!- ais523 has quit (Quit: quit).
02:08:16 -!- Phantom__Hoover has joined.
02:17:26 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
02:57:52 -!- tromp has joined.
03:02:51 -!- tromp has quit (Ping timeout: 272 seconds).
03:17:59 -!- salpynx has quit (Ping timeout: 245 seconds).
03:48:59 -!- Lord_of_Life_ has joined.
03:50:35 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
03:50:35 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:50:46 -!- adu has joined.
04:01:46 -!- Sgeo has quit (Read error: Connection reset by peer).
04:03:16 -!- Sgeo has joined.
04:07:22 -!- Sgeo has quit (Read error: Connection reset by peer).
04:11:59 -!- Sgeo has joined.
04:17:39 -!- adu has quit (Quit: adu).
04:24:52 -!- craigo has joined.
04:46:04 -!- tromp has joined.
04:51:09 -!- tromp has quit (Ping timeout: 272 seconds).
04:55:03 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:11:40 <zzo38> I looked at Boyer-Moore in Wikipedia, and it requires to rewind the data to read it again a second time, which depending on how the data is read, may require more space. (But, if you know how many different kind of items there are, it is possible to make a list indexed by that too, I suppose)
05:12:48 <shachaf> It requires a rewind if you're not sure there's a majority element.
05:13:40 <zzo38> O, yes. If you don't care what the answer is if there is no majority (such as because you know there is a majority), then you do not need to rewind it.
05:14:48 <zzo38> (I forgot that, but, yes you are correct)
05:38:44 -!- adu has joined.
05:43:48 <esowiki> [[Introduction to esolang design]] https://esolangs.org/w/index.php?diff=76470&oldid=44838 * TwilightSparkle * (+359) /* Methods of Design */
05:45:08 -!- adu has quit (Quit: adu).
06:04:11 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76471&oldid=76327 * Bangyen * (+140) /* Implementations */
06:34:11 -!- tromp has joined.
06:38:42 -!- tromp has quit (Ping timeout: 244 seconds).
07:01:13 -!- grumble has quit (Quit: Thanks for coming to or show and being an amazing audience. We have been Look Ma We Made A Band.).
07:02:21 -!- grumble has joined.
07:29:00 -!- kritixilithos has joined.
07:54:48 -!- tromp has joined.
08:08:38 -!- hendursa1 has joined.
08:10:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:27:48 -!- Phantom__Hoover has joined.
08:49:47 -!- imode has quit (Ping timeout: 240 seconds).
09:15:32 -!- Sgeo has quit (Read error: Connection reset by peer).
10:03:40 -!- user24 has joined.
10:19:34 -!- wib_jonas has joined.
10:24:45 <wib_jonas> I didn't know about this Boyer-Moore thing, interesting
10:28:53 <fizzie> Surprised Wikipedia doesn't have a "List of algorithms with ambiguous names" page.
10:32:56 <int-e> Huh, do they do that? Seems kind of meta...
10:33:34 <wib_jonas> I wonder how many Euler's algorithms and Gauss's algorithms are
10:34:34 <int-e> what I would expect is a disambiguation page for "boyer-moore" algorithm, or at least cross links between the two (or maybe there are others?)
11:28:55 <shachaf> There is such a page: https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore
11:30:24 <myname> i was told it is pretty common in bioinformatics to just ask a friend you didn't published with yet to be a co-author to make names less ambiguous
13:19:45 -!- craigo has quit (Ping timeout: 240 seconds).
13:40:05 -!- hendursa1 has quit (Quit: hendursa1).
13:40:44 -!- hendursaga has joined.
13:46:43 <esowiki> [[Talk:Turinf machine]] N https://esolangs.org/w/index.php?oldid=76472 * LegionMammal978 * (+1249) Turinf machines are Turing-complete
14:01:58 -!- user24 has quit (Quit: Leaving).
14:25:12 <esowiki> [[User talk:Hanzlu]] https://esolangs.org/w/index.php?diff=76473&oldid=76430 * LegionMammal978 * (+58)
14:25:19 <esowiki> [[User talk:Hanzlu]] M https://esolangs.org/w/index.php?diff=76474&oldid=76473 * LegionMammal978 * (+105)
14:35:42 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
14:38:06 <int-e> shachaf: so... what's missing then are the links back to the disambiguation page. Do I care enough... probably not.
14:41:03 <int-e> shachaf: But thanks for pointing it out :)
14:42:32 <wib_jonas> myname: hmm, does that conflict with http://phdcomics.com/comics/archive.php?comicid=562 the convention where they just include everyone in the lab as an author?
15:11:07 <fizzie> As a person who was the non-first author in 4 out of the 9 publications making up their thesis, I'm happy about these conventions.
15:11:24 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76475&oldid=76468 * Hakerh400 * (+0) Reword the specification to make it more clear; add missing halting states syntax
15:11:29 <esowiki> [[Talk:Turinf machine]] https://esolangs.org/w/index.php?diff=76476&oldid=76472 * Hakerh400 * (+1147)
15:24:50 -!- wib_jonas has quit (Quit: Connection closed).
15:35:50 <esowiki> [[UM8]] https://esolangs.org/w/index.php?diff=76477&oldid=75350 * LegionMammal978 * (+11) /* Implementations */ fixed link
15:38:48 <esowiki> [[UM8]] M https://esolangs.org/w/index.php?diff=76478&oldid=76477 * LegionMammal978 * (+1) https
15:41:29 -!- Sgeo has joined.
15:45:21 -!- Arcorann has quit (Read error: Connection reset by peer).
15:46:49 <esowiki> [] https://esolangs.org/w/index.php?diff=76479&oldid=75563 * LegionMammal978 * (+129) /* Example programs */ added truth machine
15:47:30 <esowiki> [] M https://esolangs.org/w/index.php?diff=76480&oldid=76479 * LegionMammal978 * (+27) /* Truth machine */
15:49:05 -!- Lord_of_Life_ has joined.
15:51:38 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
15:51:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
15:53:38 -!- adu has joined.
15:56:48 <esowiki> [[ARCAL]] https://esolangs.org/w/index.php?diff=76481&oldid=25344 * LegionMammal978 * (+127) /* External resources */ fixed link
16:04:54 -!- Phantom__Hoover has joined.
16:24:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:24:44 -!- b_jonas has joined.
16:29:13 -!- kritixilithos has joined.
17:37:31 -!- imode has joined.
17:42:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:54:05 -!- kritixilithos has joined.
18:12:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:31:03 -!- kritixilithos has joined.
18:32:20 -!- kritixilithos has quit (Client Quit).
19:05:44 -!- tromp has quit (Remote host closed the connection).
19:06:31 -!- TheLie has joined.
19:27:18 -!- xkapastel has joined.
19:34:51 -!- tromp has joined.
20:14:42 -!- TheLie has quit (Remote host closed the connection).
20:44:16 -!- craigo has joined.
21:05:24 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76482&oldid=76471 * Bangyen * (+26) /* Implementations */
21:06:10 <esowiki> [[Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76483&oldid=75463 * Bangyen * (+101)
21:20:37 -!- adu has quit (Quit: adu).
22:30:16 -!- adu has joined.
22:37:45 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
22:44:07 -!- tromp has quit (Remote host closed the connection).
23:20:35 -!- tromp has joined.
23:23:08 -!- Arcorann has joined.
23:25:49 -!- tromp has quit (Ping timeout: 272 seconds).
23:55:57 -!- tromp has joined.