code logs -> 2019 -> Mon, 09 Sep 2019< code.20190908.log - code.20190910.log >
--- Log opened Mon Sep 09 00:00:21 2019
00:26 Degi [Degi@Nightstar-m9o50k.dyn.telefonica.de] has joined #code
00:42 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
01:21 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
02:27 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code
02:27 mode/#code [+o himi] by ChanServ
02:27
<@celticminstrel>
I wonder, when I get a new Mac, should I stick to MacPorts or switch to Homebrew...?
02:35 Degi [Degi@Nightstar-m9o50k.dyn.telefonica.de] has quit [Connection reset by peer]
02:39
<@Reiv>
why would you get a new Mac~
02:53
<@celticminstrel>
That's an excellent question TBH.
03:31 catalyst [catalyst@Nightstar-5dv16h.cable.virginm.net] has joined #code
04:17 * celticminstrel wonders if McMartin has an opinion on this question.
04:17
<&McMartin>
Are you developing software for macOS or iOS?
04:17
<&McMartin>
If so, then you have little choice
04:17
<&McMartin>
If not... well
04:17
<@celticminstrel>
What do you mean?
04:17
<&McMartin>
Let's see how many programs we care about still run once 10.15 comes out.
04:18
<@celticminstrel>
I'd probably only be developing for Mac.
04:18
<@celticminstrel>
Not iOS.
04:18
<&McMartin>
Would you be using ObjC/Swift/AppKit/etc, or are we talking standard triplatform POSIX-y stuff?
04:18
<@celticminstrel>
Tho whichever package manager is chosen, it wouldn't necessarily only be used for development stuff.
04:19
<@celticminstrel>
The latter, I guess. If I were using ObjC it would be to the minimum extent possible to get a menubar and stuff like that.
04:19
<&McMartin>
As I've been opining at great length over on Freenode, having *any* package managers installed for developing stuff tends to hurt ease of distributing the results, unless it's distributed strictly as source
04:20
<&McMartin>
And since 10.15 might also be dropping system-shipped Python and Perl...
04:20
<&McMartin>
Yeah, you might also consider checking on Linux-specific computer makers. I've had good experiences with System76.
04:20
<@celticminstrel>
Huh?
04:20
<&McMartin>
Underlying my answer is that the only reason to buy a Mac is because it is necessary to run the software you need or want to run.
04:21
<&McMartin>
The big one there is, frankly, Xcode, and Xcode specifically as opposed to "a software development toolchain"
04:21
<&McMartin>
"Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default"
04:22
<&McMartin>
If the "huh" was about 10.15 not shipping with scripting languages naymore
04:22
<@celticminstrel>
No it was about the line after that.
04:22
<&McMartin>
Oh
04:23
<&McMartin>
"Then maybe *don't* get a Mac. Here is a company that makes Linux hardware prebuilt in a box that I've had good experiences with, as a Linux option for such things."
04:23
<@celticminstrel>
Ah.
04:23
<&McMartin>
In particular particular
04:23
<@celticminstrel>
I do want to be able to support my games running on the Mac though.
04:24
<&McMartin>
And the reason I'd just spin my wheels just *now*
04:24
<&McMartin>
... yeah, so, about that
04:24
<&McMartin>
How many of them are IA32 x86
04:24
<&McMartin>
Because they will not run on 10.15. At all.
04:24
<@celticminstrel>
??? Is that an unusual way of saying 32-bit? I'd already heard about that...
04:24
<&McMartin>
10.14 is the last edition of macOS that will run 32-bit.
04:24
<&McMartin>
It's "x86 32-bit as opposed to x86_64 aka AMD64", yes.
04:25
<&McMartin>
But not IA64, which is Itanium.
04:25
<&McMartin>
"x86" is notionally actually 16-bit real mode.
04:25
< catalyst>
x64 is fairly common usage I think
04:25
<&McMartin>
Ah yes
04:26
<@celticminstrel>
But again, my understanding is that I need a Mac if I want to support Mac ports - even if using an engine such as Unreal.
04:26
< catalyst>
it went something like AMD64 => x86_64 => x64
04:26
< catalyst>
you need a mac for compiling and running mac code iirc
04:26
<&McMartin>
celticminstrel: Right, that's the question I was aiming for.
04:26
<@celticminstrel>
So there is a reason to get a Mac, unfortunately. (I also happen to like my current Mac, though no idea whether that would extend to newer Macs...)
04:26
<&McMartin>
"Are you developing software for Mac shipped as a binary? Then you're stuck. If so, get a Mac Mini, I guess, to minimize the Apple Tax?"
04:27
<@celticminstrel>
Pffft.
04:27
<@celticminstrel>
I thought Mac Mini was kinda too low-end to be good as a build machine tho...
04:27
<&McMartin>
My general understanding is that being a build machine is almost the only thing it's good for~
04:28
<@celticminstrel>
Really? Huh...
04:28
<&McMartin>
You're not going to be compiling the Windows kernel on this thing.
04:28
<&McMartin>
From personal experience: our flagship iOS product takes about 20 minutes to build on a 2015 MBP, and we use a Mac Mini for our official back-office build-bot, and it's fine.
04:29
<&McMartin>
The mini's meaningful sacrifices are in graphics capability.
04:29
<@celticminstrel>
Couldn't that be a problem for game development tho?
04:30
<&McMartin>
Depends on the game, I suppose.
04:30
<@celticminstrel>
Well, true enough...
04:30
<&McMartin>
The Mini is *also* due for a refresh soon.
04:30
<&McMartin>
So that's something that can be compared against UE4's requirements once both stabilize.
04:31
<&McMartin>
But, well
04:31
<&McMartin>
If the plan was to play The Fool And His Money, or the old Deadly Rooms of Death games, or Avernum, etc. etc
04:31
<&McMartin>
A lot of those are either totally fine or locked out permanently by the 64-bit requirement.
04:32
<@celticminstrel>
Well, if I wanted to play those I'd probably just use this old computer.
04:32
<&McMartin>
Ah, you're not contemplating replacing it, just giving it a younger sibling. I see. :)
04:33
<&McMartin>
My computers tend to be used to destruction, alas
04:33
<@celticminstrel>
Yeah, because I have things that can't even run on Lion, so I'd push this one permanently back to Snow Leopard.
04:33
<@celticminstrel>
Mind you, most of those things aren't super-important, but still.
04:34
<&McMartin>
You won't see me object to retrocomputing systems :)
04:34
<@celticminstrel>
Some of them are really old games that I made with an obsolete program.
04:35
<@celticminstrel>
Off the top of my head, the only actual game that fits this profile is Cro-mag Rally. Maybe there are a few others tho.
04:35
<@celticminstrel>
(That sentence has nothing to do with the prior sentence about games that I made.)
04:37 catalyst [catalyst@Nightstar-5dv16h.cable.virginm.net] has quit [[NS] Quit: Leaving]
04:38
<@celticminstrel>
I wonder if newer GCC/clang supports use of [[ ... ]] in place of __attribute__(( ... )) ...
04:41
<@celticminstrel>
Another random aside - didn't the concept of application packages actually predate Mac OSX? ISTR having some in OS9.
04:41
<@celticminstrel>
(As in, an app that's actually a directory.)
04:41
<@celticminstrel>
I could be imagining it, I suppose...
05:00
<&McMartin>
celticminstrel: No, this goes back all the way to when it was just "System" :)
05:00
<&McMartin>
Programs had their code in the resource fork as CODE resources.
05:00
<&McMartin>
PPC moved the code into data forks because maybe you'd like to have them be in chunks of larger than 64KB in 1998.
05:01
<&McMartin>
The OS X behavior mimics that with directories, and, frankly, the choice of Mach-O as a binary format is mystifying given all that.
05:20 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Ping timeout: 121 seconds]
05:31 Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has joined #code
05:31 mode/#code [+qo Vorntastic Vorntastic] by ChanServ
05:53 Derakon is now known as Derakon[AFK]
06:44 Kindamoody[zZz] is now known as Kindamoody
07:06 celticminstrel [celticminst@Nightstar-6an2qt.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
07:52 himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code
07:52 mode/#code [+o himi] by ChanServ
12:50 mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code
12:50 mode/#code [+o mac] by ChanServ
12:53 macdjord|slep [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
12:57 macdjord|slep [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code
12:57 mode/#code [+o macdjord|slep] by ChanServ
12:59 mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
13:41 Kindamoody is now known as Kindamoody|afk
13:48
<@TheWatcher>
TIL that comma is a valid character in git tag names
13:53 Degi [Degi@Nightstar-5v2v2q.dyn.telefonica.de] has joined #code
14:09 catalyst [catalyst@Nightstar-5dv16h.cable.virginm.net] has joined #code
14:10
< catalyst>
https://paste.ofcode.org/vtpC9HCeRZ6vJQRpkKFPBr
14:10
< catalyst>
for those wondering if you can create an is_printable typetrait
14:40
<~Vorntastic>
Areyouawizard.jpg
14:51
< catalyst>
https://paste.ofcode.org/zGk6FWc3nFBmN4Jm2Qb3Nk
14:51
< catalyst>
yes
15:13 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
15:13 mode/#code [+qo Vornicus Vornicus] by ChanServ
16:13 Degi [Degi@Nightstar-5v2v2q.dyn.telefonica.de] has quit [Connection closed]
16:33 catalyst [catalyst@Nightstar-5dv16h.cable.virginm.net] has quit [Connection closed]
16:51 Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity]
16:59 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
17:55 mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code
17:55 mode/#code [+o mac] by ChanServ
17:58 macdjord|slep [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
18:18 Derakon[AFK] is now known as Derakon
18:44
<&jeroud>
Twice in a fortnight I have been bitten by the mutability of things that are generally treated as immutable.
18:44
<&jeroud>
On the same project.
18:46
<&jeroud>
By people from two different major corporations.
18:47
<&jeroud>
First, someone replaced a git tag and its accompanying github release with something almost completely different.
18:47
<&jeroud>
Then someone pushed a different docker image with the same semver point release tag.
19:53 Degi [Degi@Nightstar-5v2v2q.dyn.telefonica.de] has joined #code
20:33 * Vornicus pokes at Vornonoi.
20:55
<@abudhabi>
Is it a diagram?
20:57
<~Vornicus>
Will be once I shake this bug out
21:03
<~Vornicus>
ok. problem is: I have a degenerate but infinite triangle, and when another point lands in it I end up with a degenerate *finite* triangle as well and that doesn't work right. so in order to get this to work I need to make sure that when I add the point, that I do not get the degenerate finite triangle.
21:03
<~Vornicus>
Because trying to handle the degenerate finite triangle after it's been created gives problems of its own that I can't figure out why it's happening
21:05
<~Vornicus>
Therefore, the correct place to put the special casing for this is in the place where I select an edge that I land on.
21:05 * McMartin froths at boost, as he bends it to his will
21:05
<&McMartin>
The only piece of boost left in this project is boost::optional, a header-only library that adds nullable types to the language.
21:06
<~Vornicus>
...the question is, which fucking edge is that
21:06
<&McMartin>
If I cut down my copy of boost headers to only those subunits that *are* boost::optional or the subpackages it depends on
21:06
<&McMartin>
The result is four megabytes of headers
21:06
<~Vornicus>
that's a lot of headers
21:07
<&McMartin>
Stripping the unused files out of that (which varies by platform you compile it on, but there are only two we're compiling it on) shrinks it down to 140 headers and just under a single megabyte.
21:07 * Vornicus draws.
21:08
<~Vornicus>
It might always be the short edge.
21:08
<~Vornicus>
ok if it's the finite edge that's definitely right.
21:08
<&McMartin>
catalyst here is exploiting parts of boost that became standard in 2017, but I can't use them because the C++ libraries on the relevant versions of iOS and macOS do not support them despite them being header only
21:09
<&McMartin>
But if they did I could bring zero extra files in.
21:09 macdjord|slep [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code
21:09 mode/#code [+o macdjord|slep] by ChanServ
21:09
<~Vornicus>
But I have two infinite edges, and it's possible to land on both.
21:10
<~Vornicus>
...scratch *that*, what I should be doing is explicitly disallowing degenerate infinites from gaining the point in the first place, because if I'm on the short infinite edge and the next one over is also degenerate infinite then there's another finite edge I might have landed on instead.
21:11 mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
21:11
<~Vornicus>
Okay!
21:15 Kindamoody|afk is now known as Kindamoody
21:15 * Vornicus deletes one hunk of code, adds another one in a completely different land.
21:20
<~Vornicus>
scalar_triple to the rescue again!
21:25
<~Vornicus>
not quite there yet.
21:31
<&jerith>
McMartin: Is this not a thing you can reimplement (or find in non-boost) cheaper?
21:31
<&jerith>
Or does the implementation actually require a megabyte of headers if you don't have C++17 magic?
21:33
<&McMartin>
The general plan is actually "migrate away from C++ entirely"
21:33
<&McMartin>
So in the meantime I can put a smaller thing in the vendor directory.
21:35
<&McMartin>
boost is also one of those things where if someone reimplements something in boost, it is downvoted into oblivion with "you should be using boost"
21:36
<&McMartin>
Also a secondary goal here is to resolve some of our NIH syndrome or our related maladies
21:36
<&McMartin>
"Wasn't actually stable yet at the time but is now widely used" and "a change in the project's nature altered the viability of some alternatives that were never revisited for five years"
21:37
<&McMartin>
The latter of which includes the submalady "we did not have the expertise in-house to actually properly exploit the alternative"
21:38
<&McMartin>
Which is what happens when you hire a triplatform desktop application developer with a side in Windows kernel work to produce libraries for your iOS project, I suppose.
21:38
<&McMartin>
But!
21:38
<&McMartin>
I also just got permission from the CTO to write up some of the dumber corners I'll have to explore while evolving this infrastructure.
21:40 * Vornicus is really not sure what is going wrong now but it's definitely a thing that is going wrong.
21:47
<&jeroud>
Meanwhile, my work anecdotes from today involve having mutable-thing-that-should-not-change changed under me and helping a colleague figure out how a thing she's trying replace works, because it's not being sent the input it expects, only to discover that it's broken in several different ways and nobody noticed because it has been neither tested nor used in at least two deployments.
22:34
<&McMartin>
I no longer have to feel bad about adding code as part of my purge
22:34 * McMartin finds a 140MB binary blob that somebody accidentally checked in 2 years ago as part of a repo reorganization
22:45 Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds]
22:48 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
22:56
<@TheWatcher>
McMartin: *wince*
23:17 Kindamoody is now known as Kindamoody[zZz]
23:58 mac [macdjord@Nightstar-rslo4b.mc.videotron.ca] has joined #code
23:58 mode/#code [+o mac] by ChanServ
23:59 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
23:59 macdjord|slep [macdjord@Nightstar-rslo4b.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
--- Log closed Tue Sep 10 00:00:23 2019
code logs -> 2019 -> Mon, 09 Sep 2019< code.20190908.log - code.20190910.log >

[ Latest log file ]