code logs -> 2018 -> Thu, 22 Feb 2018< code.20180221.log - code.20180223.log >
--- Log opened Thu Feb 22 00:00:16 2018
00:36 celticminstrel [celticminst@Nightstar-gil1m1.dsl.bell.ca] has joined #code
00:36 mode/#code [+o celticminstrel] by ChanServ
00:49 Derakon[AFK] is now known as Derakon
01:10 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
02:00 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
02:00 mode/#code [+o Reiv] by ChanServ
02:29 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
02:46 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
02:46 mode/#code [+o Reiv] by ChanServ
02:47 mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code
02:47 mode/#code [+o mac] by ChanServ
02:50 macdjord|slep [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code
02:50 mode/#code [+o macdjord|slep] by ChanServ
02:50 macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
02:52 mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
03:01 Jessikat [Jessikat@Nightstar-i6l6k1.dab.02.net] has quit [Ping timeout: 121 seconds]
03:02 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [Ping timeout: 121 seconds]
03:07 macdjord|slep is now known as macdjord
03:23 Jessikat [Jessikat@Nightstar-i6l6k1.dab.02.net] has joined #code
05:05
<&McMartin>
Success! https://www.dropbox.com/s/cvkzp4nqo34e78w/smd_hello.png?dl=0
05:12 Jessikat` [Jessikat@Nightstar-l41vtp.dab.02.net] has joined #code
05:15 Jessikat [Jessikat@Nightstar-i6l6k1.dab.02.net] has quit [Ping timeout: 121 seconds]
05:28 Attilla [sid13723@Nightstar-0bi4dv.irccloud.com] has quit [Connection closed]
05:30 Attilla [sid13723@Nightstar-0bi4dv.irccloud.com] has joined #code
05:30 mode/#code [+o Attilla] by ChanServ
05:36 celticminstrel [celticminst@Nightstar-gil1m1.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:42 mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code
05:42 mode/#code [+o mac] by ChanServ
05:45 macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
06:26 Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code
06:29 Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
06:44 Vornlicious [Vorn@Nightstar-6if25i.sub-174-211-8.myvzw.com] has joined #code
06:46 Vornotron [Vorn@Nightstar-1l3nul.res.rr.com] has quit [Ping timeout: 121 seconds]
06:48 Vorntastic [Vorn@Nightstar-1l3nul.res.rr.com] has quit [Ping timeout: 121 seconds]
06:48 Vornlicious [Vorn@Nightstar-6if25i.sub-174-211-8.myvzw.com] has quit [Ping timeout: 121 seconds]
06:51 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has joined #code
08:25 Jessikat` is now known as Jessikat
08:26 Vornotron [Vorn@Nightstar-1l3nul.res.rr.com] has joined #code
08:26 mode/#code [+qo Vornotron Vornotron] by ChanServ
08:33 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has quit [Ping timeout: 121 seconds]
08:44 Kindamoody[zZz] is now known as Kindamoody|afk
08:45 Degi [Degi@Nightstar-a3omhh.dyn.telefonica.de] has joined #code
08:52 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has joined #code
08:57 * TheWatcher readsup
08:58
<@TheWatcher>
Whitespace sensitivity can burn in the pits of hell
09:20 Vornucopia [Vorn@Nightstar-1l3nul.res.rr.com] has joined #code
09:21 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has quit [Ping timeout: 121 seconds]
09:21 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed]
09:21 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has joined #code
09:22 Vornotron [Vorn@Nightstar-1l3nul.res.rr.com] has quit [Connection closed]
09:23 Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
09:23 mode/#code [+o Syloq] by ChanServ
09:40
< Jessikat>
TheWatcher: if only
10:28 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
10:42 Kindamoody|afk is now known as Kindamoody
11:42 Jessikat` [Jessikat@Nightstar-qk08hf.dab.02.net] has joined #code
11:45 Jessikat [Jessikat@Nightstar-l41vtp.dab.02.net] has quit [Ping timeout: 121 seconds]
12:34
<&[R]>
So, I was kind of wondering what autoconf does to convert the .in files with all the @variable@ stuff into the proper files. Since it uses m4 for other things, I thought it was that.
12:34
<&[R]>
Apparently it's just a really long sed invocation.
12:36
<&[R]>
And given I've played around with m4... I wonder what it even uses m4 for
13:56 Jessikat` is now known as Jessikat
14:12 Degi [Degi@Nightstar-a3omhh.dyn.telefonica.de] has quit [Connection closed]
14:13 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [Ping timeout: 121 seconds]
14:18 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code
14:18 mode/#code [+ao McMartin McMartin] by ChanServ
15:37 Kizor [moryok@Nightstar-e0a4sm.utu.fi] has quit [Connection closed]
15:52 Kizor [moryok@Nightstar-e0a4sm.utu.fi] has joined #code
15:54 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has quit [Ping timeout: 121 seconds]
15:58 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has joined #code
16:41 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
16:44 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
16:44 mode/#code [+o Alek] by ChanServ
18:12 Jessikat` [Jessikat@Nightstar-98n.159.132.82.IP] has joined #code
18:15 Jessikat [Jessikat@Nightstar-qk08hf.dab.02.net] has quit [Ping timeout: 121 seconds]
18:59 Jessikat` is now known as Jessikat
20:04
<@gnolam>
https://twitter.com/hervepiton/status/905755879609438208
20:10
<@TheWatcher>
...
20:12
<@TheWatcher>
Thanks. Now I feel old /as well/ as ill
20:13 * Tamber hands TW a biro, some sticky tape, and a casette tape
20:13
<@TheWatcher>
Heee
20:14
<@Tamber>
At least you only feel old, and not ancient. :)
20:14
<&McMartin>
The sad thing is that they could have had two icons for it!
20:15
<&McMartin>
You'd make that rectangle in the upper left a slightly different color.
20:16
<@gnolam>
... aww. Nobody on the internet seems to have GIFified the floppy scene from Deutschland '83.
20:17 Degi [Degi@Nightstar-a3omhh.dyn.telefonica.de] has joined #code
20:18
<&McMartin>
That said, at the time those images were created, floppies had been gone for less than ten years.
20:19
<@gnolam>
(D'83 has a wonderfully deadpan scene with a group of Stasi agents trying to read a 5 1/4" floppy with stolen NATO secrets... with their 8" floppy computer.)
20:21 * McMartin was digging through old floppies last year for data recovery purposes and found early releases of stuff he's since put on Github.
20:21
<@gnolam>
(Found a still image at least: http://i.imgur.com/6gmJGtA.jpg )
20:40
<&McMartin>
Today in Apple rocking it like a proper technology company
20:40
<&McMartin>
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreAnimation_guide/Art/layer_coords_bounds_2x.png
20:41
<&McMartin>
Standards are *great*
20:41
< Mahal>
I'm not sure I understand waht I'm looking at
20:42
<&McMartin>
It's from an explanation of a single, notionally source-compatible API
20:42
<&McMartin>
Where you write a library once and can compile it on iOS and macOS and it all just works
20:42
<&McMartin>
Or, well, it would, but there's an unfortunate difference, which this chart from their docs displays
20:42
<&McMartin>
Which is that if it's truly the same source code, one of them will be upside-down
20:42
<&McMartin>
Because the location of the origin, and the positive Y direction, are different.
20:47
<@gnolam>
...
20:49
< Jessikat>
Nice
20:54 * TheWatcher golfclaps
20:55
<@TheWatcher>
Nicely done, apple, nicely don.
20:55 * McMartin has Opinions about coordinate systems and the one on the macOS side is never correct
20:55
<&McMartin>
If y-positive is up, the origin should be the center of the view.
20:56
<&McMartin>
... barring camera/modelview transformations, but those should start from a system where the origin is the center of the view
20:58
< Jessikat>
IIRC the justification for origin being top left and positive Y being down on windows is that's how text progresses in English
20:58 * Jessikat doesn't have enough rendering knowledge to care yet
20:58
<&McMartin>
Top left means positive Y down and I would suggest not text as the reason for that but "the path of a CRT's electron beam"
20:59
< Jessikat>
Though I assume they're all wrong
20:59
< Jessikat>
Oh, that would make sense
20:59
<&McMartin>
That's the order the signal come out if you're sending a composite video signal.
20:59
< Jessikat>
XD
20:59
<&McMartin>
I mean, there is the question "why is that how a CRT works" and English text tradition may have influenced that!
20:59
<&McMartin>
But the Atari 2600 VCS certainly does that because it's handholding the video signal from microsecond to microsecond.
21:00
<&McMartin>
So yes, my opinions on this do have brief defenses
21:01
< Jessikat>
:)
21:01
<&McMartin>
If you're representing a raster display of some kind, top-left origin, y positive, because that's traditionally how rasters were displayed so play along with the half century of tradition kthx
21:01
<&McMartin>
If you're representing a vector display of some kind, center origin, down is y negative, because that produces the traditional right-handed coordinate system in 3D and also means you don't have to do two extra matrix multiplications when performing a rotate-and-translate transform.
21:05 Vorntastic [Vorn@Nightstar-1q4c8c.sub-174-210-2.myvzw.com] has quit [[NS] Quit: Bye]
21:05 Vorntastic [Vorn@Nightstar-1l3nul.res.rr.com] has joined #code
21:09
<&ToxicFrog>
Why not bottom left origin, -y down, a la postscript?
21:09
<&McMartin>
Well, that's what macOS is doing
21:10
<&McMartin>
And my objection is basically "more work to get something out"
21:10
<&ToxicFrog>
IIRC the MacOS rendering stack is a distant descendant of Display Postscript, so that makes sense
21:10
<&McMartin>
postscript is a special case because despite the fact that people do write it, it's not intended to actually be written by humans
21:10
<&McMartin>
Humans *are* intended to subclass NSView::paint
21:10 * Vornucopia has written postscript!
21:10
<&McMartin>
And use gl-like transforms to place their stuff
21:11
<&McMartin>
which means you have to do a bunch of work to, say, center an unscaled element, and that's silly for a UI
21:11
<&McMartin>
(See also Cairo, which is similar but with the raster-style coordinates, and making Cairo do the same thing an OpenGL context would do was *much uglier* because of the multiple extra transforms and computations involved.)
21:12
<&McMartin>
(While for OpenGL it was basically "multiply each vertex position by these dimensional scale factors")
21:15 Vornucopia [Vorn@Nightstar-1l3nul.res.rr.com] has quit [Ping timeout: 121 seconds]
21:23
<@TheWatcher>
Vorntastic: "it's not intended to actually be written by humans", so you don't really count ;)
21:23
<&ToxicFrog>
I have not only written it, I wrote most of an IRC client in it~
21:24
<@TheWatcher>
...
21:24
<@TheWatcher>
madness
21:24
<&ToxicFrog>
("most" because I needed to connect it to the tty and netcat with fifos to get keyboard input and do networking respectively)
21:35
<&McMartin>
More joys from this API I'm studying
21:35
<&McMartin>
"Each view defines a layerContentsRedrawPolicy method that returns the redraw policy for the view’s layer."
21:35
<&McMartin>
"NSViewLayerContentsRedrawDuringViewResize: This is the default view policy."
21:36 * TheWatcher twitch
21:36
<&McMartin>
"NSViewLayerContentsRedrawOnSetNeedsDisplay: This is the recommended policy."
21:36
<@TheWatcher>
... why is the recommended not the default? Legacy?
21:36
<&McMartin>
"This policy most closely represents the standard behavior for [library objects in this framework]. However, it is not the default policy and must be set explicitly."
21:37
<&McMartin>
I'm not actually sure
21:37
<&McMartin>
Apple doesn't really *do* legacy.
21:37
<&McMartin>
Also, anyone complaining about Microsoft's function name verbosity needs to spend a week writing system-level iOS code.
21:37
<@TheWatcher>
And do you need to have a NSViewLayerContentsRedrawOnSetNeedsDisplayFactory to generate NSViewLayerContentsRedrawOnSetNeedsDisplays to set as the policy?
21:38
<&McMartin>
No, because Objective-C's object model looks more like Python's than Java's, and more like Smalltalk's than either's.
21:38
<&McMartin>
So factory classes are not a thing. The idiomatic design is to have a global-namespace function that returns an interface type.
21:39
<&McMartin>
Or for an abstract superclass to return alternate classes from its own constructor, because this is in fact allowed.
21:40
<&McMartin>
(But constructors - as opposed to initializers - are basically global functions as it is, because this split is an artifact of languages more object-obsessed than ObjC.)
21:40
<&McMartin>
(Which is honestly kind of wacky for a language decended mostly from Smalltalk for its OO aspects.)
21:41
<&McMartin>
Also in a very limited defense of Apple here
21:42
<&McMartin>
A whole lot of the verbosity is because C and languages that are too like it (including, very much, ObjC) need to use ever-more-absurd prefixes to replace the lack of namespaces at the language level.
22:13
< Jessikat>
Huh. I just had a thing click in my brain about composition vs subclassing
22:16
<&McMartin>
do tell
22:20
< Jessikat>
It requires diagrams
22:21
< Jessikat>
I've written it down, ask again in a couple days
22:21
<&McMartin>
Ah. IRC perhaps not the best medium for it then
22:28
< Jessikat>
But basically, if I draw these diagrams based on encapsulation, then composition looks clean, inheritance looks messy but manageable in small doses, and multiple inheritance is a complete mess that I can't even work out how to draw
22:29
< Jessikat>
Oh wait! I have a mechanism to show you
22:29
< Jessikat>
Duh
22:29
< Jessikat>
One min
22:35 Degi [Degi@Nightstar-a3omhh.dyn.telefonica.de] has quit [Connection closed]
22:37
<@ErikMesoy>
https://jimrandomh.tumblr.com/post/170911109518/levels-of-tech-debt "Extreme tech debt: Starcraft hasn’t been updated in 8 years, the source code and debug symbols are lost, and the community has extended the API using a buffer overflow in the map format. You must maintain compatibility with their extensions."
22:39
< Jessikat>
https://www.dropbox.com/s/1fqa6dluvcers86/20180222_223654.jpg?dl=0
22:39
< Jessikat>
ErikMesoy :D
22:40
< Jessikat>
McMartin ^^^^ those diagrams, indicating context available at each level and direction of API context
22:40 * McMartin nods
22:41
< Jessikat>
The last one is a bit messy because there's a dividing line between the two superclasses that I drew the API arrow over
22:41
<&McMartin>
I'm not positive, but I think that multiple inheritance case is the virtual-inheritance one in C++
22:42
<&McMartin>
(Unless that's baz extending foo and bar)
22:42
<&McMartin>
Life gets exciting when foo and bar both themselves extend fnord.
22:42
< Jessikat>
class baz : public foo, public bar
22:42
< Jessikat>
Yes
22:42
<&McMartin>
Because then you have to decide whether baz has two fnords inside it or just one.
22:42
< Jessikat>
Even more exciting*
22:42
<&McMartin>
virtual inheritance is the single-fnord case
22:43
< Jessikat>
I was watching a talk on virtual pointer math when you have virtual inheritance
22:43
< Jessikat>
...you do things like store the offset of the parent class as part of the vptr
22:43
< Jessikat>
(I've never yet had to use virtual inheritance and dammit I never will)
22:44
< Jessikat>
Anyway this is all part of my thesis that composition is the one true way to write software
22:45
< Jessikat>
(obviously there are benefits to bringing the inner API up through classes sometimes, but honestly making it the general case is so bad)
22:48
< Jessikat>
But just look at the complexity going on there :|
22:49
<&McMartin>
Oh god, yes
22:49
<&McMartin>
One of the arguments against multiple inheritance, in my book, is "static_cast<> will change the bit pattern"
22:50
<&McMartin>
do not want
22:50
<&McMartin>
I have a generic singleton template in my (paper) library from the C++98 days
22:50
<&McMartin>
It has to create some ptr_diff_t values from (T *)1 in order to ensure it correctly alters pointer values on casts
22:53
< Jessikat>
XD
22:53
< Jessikat>
Burn it
22:53
< Jessikat>
C++ has made some wrong turns and this is one of them
22:56
<&McMartin>
Can't burn it, that book also has the really nice quick specification for plasma fractals
22:57
< Jessikat>
Blech
22:57
< Jessikat>
Oh well
23:16 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds]
23:26 Jessikat [Jessikat@Nightstar-98n.159.132.82.IP] has quit [[NS] Quit: Bye]
23:45 Jessikat [Jessikat@Nightstar-98n.159.132.82.IP] has joined #code
--- Log closed Fri Feb 23 00:00:16 2018
code logs -> 2018 -> Thu, 22 Feb 2018< code.20180221.log - code.20180223.log >

[ Latest log file ]