egg|nomz|egg changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> egg|nomz|egg: generally if your eyes are dewing over, that's not the weather. | <ferram4> I shall beat my problems to death with an engineer.
<egg|zzz|egg>
!wpn whitequark
* Qboid
gives whitequark an Algol monopole approximation
<egg|zzz|egg>
!wpn Fiora
* Qboid
gives Fiora a zero
<egg|zzz|egg>
but is it a positive or a negative zero
<egg|zzz|egg>
meow
egg|phone|egg has quit [Ping timeout: 383 seconds]
<kmath>
<calfromkansas> Creating this #set of 6 24x24 #celestialobjects reminded me of a choice few arcade shmups 🙃 @Pixel_Dailies… https://t.co/4hOfJmWI3r
<egg|zzz|egg>
bofh: see backlog, I had a question about aliasing
<bofh>
sec.
<bofh>
egg|zzz|egg: I don't see it, got an approximate timestamp
<egg|zzz|egg>
bofh: <egg|zzz|egg> bofh: so what are the restrictions on aliasing in FORTRAN? is it just that arguments can't alias, or are there other things that can't alias
<kmath>
<sadserver> twitch plays s3 bucket policies
<bofh>
egg|zzz|egg: that was from, like, yesterday :P and I responded: I think it's just arguments, but honestly that suffices, since you can just put all your allocation into your PROGRAM statement and then pass the allocated arrays to your actual function and yeah.
<egg|zzz|egg>
huh, seems I didn't get the response
<awang>
I don't have it in my scrollback either
<egg|zzz|egg>
bofh: Ada has this neat things where you need to declare a thing aliased to be able to alias it
<awang>
logs.tmsp.io doesn't seem to have it either
<awang>
More languages need to adopt Ada features >:(
<egg|zzz|egg>
bofh: also Ada allows actually doing things on the heap (including returning records with discriminant etc.)
<egg|zzz|egg>
(Ada is terrible at heap-allocated things because type-level pools are bad, but hey, it was designed in 79)
<egg|zzz|egg>
(returning unconstrained base classes too!)
<egg|zzz|egg>
s/on the heap/on the stack/
<Qboid>
egg|zzz|egg meant to say: bofh: also Ada allows actually doing things on the stack (including returning records with discriminant etc.)
<egg|zzz|egg>
meow
<iximeow>
!wpn egg
* Qboid
gives egg a triangulated unicode mace
<egg|zzz|egg>
appropriate
<bofh>
egg|zzz|egg: Fortran is pretty bad with heap-allocated things to the point where a good chunk of the codebase I work with actually calls out to a C function that calls mmap and returns the pointer address, which we then pass varying increments of to whatever the hell needs bigass arrays
<bofh>
!wpn egg|zzz|egg
* Qboid
gives egg|zzz|egg an adaptive 🐍
<bofh>
!wpn iximeow
* Qboid
gives iximeow a ½λ quabla
<bofh>
where were my manners
<awang>
bofh: Fortran version of C++ allocators?
<egg|zzz|egg>
bofh: so Ada is either safe and memory pools (where things have lifetime tied to a scope, which is the scope of the access type), or unchecked_deallocation which is unsafe as the name indicates
<egg|zzz|egg>
(all the unsafe things say "unchecked" in the name, so you can grep for it)
<egg|zzz|egg>
unchecked_conversion!
<bofh>
awang: erm, it's basically just mmap(NULL, a_few_thousand_MB, RW, MAP_ANON, -1, 0) and then passing the return of that with various increments to places :P
<bofh>
I mean if that's what C++ allocators do then: A) cool, B) rofl
<egg|zzz|egg>
?
<egg|zzz|egg>
ah replying to awang, missed that
<awang>
bofh: I think that's what they do at least? Or at you can write one that does that, probably
<bofh>
it's like the derpy simple thing
<awang>
Oh
<awang>
That reminds me
<awang>
I found this really really old Fortran code sitting on one of the backup servers at work
<awang>
Old enough that it still has the column 6 thing
<awang>
Also, Clang can't release their Fortran frontend soon enough
<egg|zzz|egg>
mrow
<bofh>
awang: ifort, friend.
* UmbralRaptop
wonders if spending too much time online can have uneggspected effects. Like turning someone into a cat.
<bofh>
I mean being online is highly correlated with becoming a catgirl, so.
<UmbralRaptop>
well, yes.
<iximeow>
meow
* UmbralRaptop
scritches iximeow.
<awang>
bofh: Is gfortran worth using?
<awang>
I don't think we have an ifort license any more
<awang>
Or if we do, then it's on a computer that still uses VS 6
<bofh>
awang: it's free for noncommercial use
<bofh>
awang: alternatively, piss-easy to crack
<egg|zzz|egg>
UmbralRaptop: meow?
<bofh>
awang: gfortran is a garbage fire, but I guess usable if you have literally nothing else.
* UmbralRaptop
pets egg|zzz|egg.
<awang>
bofh: Oh, really? When did Intel start with the non-commercial user thing?
<awang>
Is the free version limited compared to the paid one? Or the same?
<awang>
Can you explain the "garbage fire" part? Actually curious here
<awang>
Like every time that someone says that some program is only good for the compost, I want to know why
<awang>
It's usually funny and informative. Good combo!
<bofh>
awang: like at least 5 or 6 years ago, I recall starting with ifort in ~2010
<bofh>
anyway the answer is simple: it usually, inexplicably, outputs worse assembly for arbitrary fortran than f2c followed by gcc on the .c does (optionally adding __restrict to pointers first), despite if anything, the opposite should be true.
<bofh>
*maybe* this has finally changed for the better, but it was true as of still even a year ago.
<bofh>
I don't even have a satisfactory answer for why, this defies common sense, sanity and compiler design.
<awang>
Huh, I should download ifort then
<awang>
...That's quite impressive
<awang>
gfortran doesn't seem to get enough use to warrant more time figuring that out, it seems?
<awang>
...I feel like I hear things similar to "defies common sense, sanity, and [something] design" disturbingly frequently when talking about GNU software
<bofh>
Like I mean it *is* used often by the academic community when people don't want to use ifort and/or PGI Fortran (tho iirc the latter is being turned into an llvm Fortran frontend now?)
<awang>
Right, I remember reading about PGI open-sourcing their front end
<awang>
Or at least part of it
<awang>
Maybe it'll be the competition gfortran needs
<awang>
Like what clang did for gcc, from what I heard?
<bofh>
Yeah, hopefully.
icefire has quit [Read error: Connection reset by peer]
<whitequark>
there's also flang now
pixelfox has joined #kspacademia
pixelfox has quit []
<egg|zzz|egg>
!wpn whitequark
* Qboid
gives whitequark a plain palladium Friend Ball
<egg|zzz|egg>
!wpn bofh
* Qboid
gives bofh a lenticular grammar which strongly resembles a diagram
ferram4 has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
<kmath>
<strowger78> @shadytel in RO i saw wiring of that calibre *mixed up with the bare 1500v dc caternary for the trams*. that was p… https://t.co/FRHGXT6Ceb
<bofh>
"Change the parallel_test_runner.cs to just pass unencoded strings when starting the test processes."
<bofh>
using the W entrypoints is arguably correct and should've been done awhile ago
<egg|zzz|egg>
bofh: yeah
<egg|zzz|egg>
bofh: but, well, we didn't feel like doing i18n on the gtest thingies on a saturday evening
<egg|zzz|egg>
I'll probably get annoyed by not being able to pass Чебышёв on the command line eventually and fix it
<egg|zzz|egg>
bofh: we did check that it works if the test is called ρ so it's not actually CP1252 (it allows 0x81)
<bofh>
ahh.
<bofh>
and yeah, that's reasonable.
<egg|zzz|egg>
bofh: note that "Change the parallel_test_runner.cs to just pass unencoded strings when starting the test processes." is also correct, albeit weirdly-worded (the bullet-point list is a conjunction not a disjunction)
<egg|zzz|egg>
currently we encode UTF-8 and decode CP1252 and weep
<egg|zzz|egg>
"unencoded" means you just pass a System.String and on the other side there's a wmain
<bofh>
<@egg|unit_tests|egg> oh but the affine ordered hovel is called a "masure"
<bofh>
<@egg|unit_tests|egg> that's a french word for, hovel basically
<bofh>
<@egg|unit_tests|egg> sometimes they run out of words and they use french
<bofh>
wait, really?
<egg|zzz|egg>
bofh: ?
UmbralRaptor has quit [Ping timeout: 182 seconds]
<egg|zzz|egg>
that's some rather old backlog
<bofh>
I got it from topicquotes. :P
<bofh>
<@Ellied> I still get about five orders of magnitude of reasonable stability before it gets eaten by a cosmic toad. <- I *really* want to know the context of this.
* egg|zzz|egg
pokes Ellied in the toad
<bofh>
LOL I pasted that quote to a friend of mine that works in number theory and uh
<bofh>
21:29:38 <mlbaker> the first google query that resulted from reading your messages, fyi, was "hovel tits"
<egg|zzz|egg>
bofh: well, yes
<egg|zzz|egg>
bofh: amusingly, that query actually works
<egg|zzz|egg>
bofh: and also picking french words in english when you're out of english words is a classic
<egg|zzz|egg>
see also étale
<bofh>
"[...] because open sets in the Zariski topology are so large [...]" I hate that this makes perfect sense as a sentence.