code logs -> 2016 -> Fri, 29 Jan 2016< code.20160128.log - code.20160130.log >
--- Log opened Fri Jan 29 00:00:27 2016
--- Day changed Fri Jan 29 2016
00:00 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
00:00 mode/#code [+qo Vornicus Vornicus] by ChanServ
00:11 * catalyst wonders how long it would take an average programmer to implement a standard library type
00:28
<@gnolam>
https://twitter.com/NachoSoto/status/659959849266970624
00:31
<~Vornicus>
catalyst: you mean, like... Vector<T> or something?
00:33
<&McMartin>
I'm pretty sure the answer for C++ would be "an infinite amount of time" because the standard's requirements are pretty arcane
00:33
<&McMartin>
Java, it's more feasible
00:48 Derakon[AFK] is now known as Derakon
00:53
< catalyst>
they aren't really
00:53
< catalyst>
but I can't say things like that with any kind of objectivity
01:15 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed]
01:43
<&Derakon>
It takes like fifteen minutes to implement a templated linked list.
01:44
<&Derakon>
Whether that's adequate to your needs compared to std::list, I don't know.
01:46
<&McMartin>
std::list also requires things like proper implementation of interaction with standard iterators, custom allocators, and (as of C++11) emplacement of elements and initializer lists
01:47
<&McMartin>
(I was taking the question as "capable of implementing everything in std::list so that anyone could use your implementation as a drop-in", not "implement a doubly-linked list")
01:48
<&McMartin>
(The latter is "anyone who's taken a datastructures course", ISTR Bjarne Stroustroup estimating the former as under 100 people in the world)
01:48
< catalyst>
I was thinking 'that implements all standard features to the required specifications'
01:49
< catalyst>
under 100 people?
01:49
<&McMartin>
That dot, right
01:49
< catalyst>
dot?
01:50 * catalyst is possibly in the 0.001% or something stupid like that?
01:50
<&McMartin>
The talk you gave me - the one with the three nested circles of "people using C++", "People who need to use all the standard library stuff in C++" and "people who actually can implement all the standard library" thing"
01:50
< catalyst>
gah, sorry, I've been self-focusing too much
01:50
< catalyst>
oh, I forgot that part
01:50
<&McMartin>
I recall the latter being a case where the number was small enough he started actually ticking off names
01:50
<&McMartin>
Though that might have been "the people writing libc++", which is indeed like six people
01:51
<&McMartin>
libstdc++ has a larger team, and boost has a larger team still
01:52
< catalyst>
I am confident that I could implement std::list to the letter of the standard in a usable, optimal manner on any recent general computing platform, in a matter of days
01:53
< catalyst>
Why can't I internalise that?
01:54 * Vornicus wonders how well written the standard is.
01:54
<~Vornicus>
...knowing standards, probably godawful
01:55
< catalyst>
Honestly, once you grok the style and the way it explicitly and implicitly defines things, succinctly and fairly well grammared
01:55
< catalyst>
It has jokes in it.
01:55
< catalyst>
the C++ standard is actually reasonable to read if you know the sorts of things it is describing, but I would go language knowledge -> standard not the other way
01:57
<~Vornicus>
yeah no
01:57
< catalyst>
the C++14 standard: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf
01:58
< catalyst>
iunno
01:58
< catalyst>
I like reading things that are incredibly well specified, they seem calming
01:58
<&McMartin>
It's hard to tell from close in, yeah
01:59
<~Vornicus>
loadin' loadin' loadin', get that standard loadin'
01:59
<~Vornicus>
I've never met a standard that you can learn the thing it standardizes from
01:59
< catalyst>
that's not what they're for, though
01:59
< catalyst>
they're lists of abstractions from bottom up
01:59
< catalyst>
humans generalise from top down
02:00
<~Vornicus>
oh my god this thing is longer than lord of the rings
02:00
< catalyst>
the best way to teach someone is to show very concrete examples then abstract them, if you try giving the abstraction in general terms first then it does not work
02:00
< catalyst>
if you arrange it that way, then they have to keep switching back and forth as well, which impedes learning
02:01
< catalyst>
This is actually The Problem With Teaching Monads
02:01
< catalyst>
the people writing those articles are trying to teach the abstraction, not the use case
02:01
< catalyst>
hence no-one learns anything
02:01
< catalyst>
I should try writing some general C++ tutorial articles
02:01
< catalyst>
I think I'd be okay at it
02:02
< catalyst>
Or, at least, improve quickly
02:02
< catalyst>
oh, it's 2am
02:02
< catalyst>
I should go lie in bed
02:02
< catalyst>
and make sure I get up tomorrow
02:03
<~Vornicus>
people I would like to learn C++ from: catalyst
02:03
< catalyst>
being truthful?
02:03
< catalyst>
sorry, I am not internalising anything even the sincerity of other folk right now
02:04
< catalyst>
I ought to go sleep
02:04
<~Vornicus>
Yes.
02:04
< catalyst>
(err, yes to which?)
02:04
<~Vornicus>
to being truthful
02:05
<~Vornicus>
Even just hearing you rant and talk with McM I've learned an awful lot
02:05 * catalyst nods
02:05
< catalyst>
I actively try not to come across as arrogant or preachy with this stuff either, which I see a lot of people do
02:08
< catalyst>
the number one way to turn me off learning something is to imply that you're superior for knowing it
02:08
< catalyst>
except that if I want to know that I'm good at it I maybe don't do that so well
02:08
< catalyst>
the whole 'I'm the humblest person in the world!' thing
02:12 gnolam_ [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
02:13
< catalyst>
These tutorials were written in 2007. Are they still relevant?
02:13
< catalyst>
Yes, absolutely. C++ doesnât change very often, and these tutorials have been largely kept up to date.
02:13
< catalyst>
#^ hah
02:13
<~Vornicus>
lulz.
02:14
<~Vornicus>
C++11 basically is an entirely different language, from what I can tell
02:14 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Ping timeout: 121 seconds]
02:15
< catalyst>
Yes, for the better - which requires a different manner of teaching
02:15
< catalyst>
essentially a lot of the syntactic features supersede C++98 in the same way C++98 superceded C
02:15
< catalyst>
teaching it the old way is detrimental to learning
02:17
< catalyst>
okay, I'm going to dgo lie down on my bed at least
02:20 catadroid [catalyst@Nightstar-2j2.qom.132.82.IP] has joined #code
02:20 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection reset by peer]
02:50 Turaiel[Offline] is now known as Turaiel
02:55
<&Derakon>
I note that "go lie down" means "IRC from my phone instead of my computer", apparently.
03:16 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
03:23 Turaiel is now known as Turaiel[Offline]
03:35 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
03:42
<&McMartin>
All right, that's another thing that's finished.
03:43
<&McMartin>
https://hkn.eecs.berkeley.edu/~mcmartin/retro/galaxy_2_1.nes
03:43
<&McMartin>
Graphical overhaul, event loop overhaul, translation to a different assembler
03:43
<&McMartin>
Debating whether to keep the flashy bits in the title.
03:50
<&Derakon>
Man, who designed this spaceship? It only has room for 10 seconds' worth of fuel?
04:12 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [[NS] Quit: Page closed]
05:09 Derakon is now known as Derakon[AFK]
05:38 catadroid` [catalyst@Nightstar-gi5.0vd.132.82.IP] has joined #code
05:41 catadroid [catalyst@Nightstar-2j2.qom.132.82.IP] has quit [Ping timeout: 121 seconds]
05:45 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
05:47 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
05:54 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
07:01 Kindamoody[zZz] is now known as Kindamoody
07:32 catadroid [catalyst@Nightstar-gi5.0vd.132.82.IP] has joined #code
07:32 catadroid` [catalyst@Nightstar-gi5.0vd.132.82.IP] has quit [Connection closed]
07:54 Emmy-zZz is now known as Emmy-Werk
08:22 gnolam_ is now known as gnolam
08:22 mode/#code [+o gnolam] by ChanServ
08:45 Kindamoody is now known as Kindamoody|afk
08:49 Emmy [NSwebIRC@Nightstar-41pbej.static.chello.nl] has joined #code
08:55
< abudhabi>
Hm. What do you lot use for random, meaningless short text? Stuff like when adding a temporary debug message that's just supposed to mark a place recognizably, or a fill for a non-essential text field, etc.
08:56
< abudhabi>
I've noticed that me and my boss use different customary 'garbage text' in these situations.
08:58
<&McMartin>
Lorem ipsum has a few variations
08:59
< Emmy>
assuming it's less than a whole sentence, i just use something like "Here be bullshit abound" "random bull" "This place is filled with random rambling" that kind of shit
08:59
< Emmy>
alternatively, an accurate description/summary of what actually is supposed to be there
09:00
< abudhabi>
I only use lipsum if I care about long text presentation in that place. It's too much of a bother to google and copy and paste, when mashing the keyboard will work.
09:05
< Emmy>
fair point
09:06
< Emmy>
long text presentation might be necessary sometimes
09:06
< abudhabi>
Not trying to make a point. I'm just curious what people use.
09:07
< Emmy>
btw, does any of you know the nickserv command to change passwords? i kinda accidentally'd, and nickserv's help function is whack now
09:09
< Emmy>
Real helpful, this: [09:53] <Emmy> help [09:53] -Nightstar- Nightstar commands: [09:53] -Nightstar- HELP Displays this list and give information about commands
09:09
< Emmy>
nad that's it
09:09
< Emmy>
*and
09:12
< abudhabi>
/msg nickserv help
09:12
< abudhabi>
This gives me the whole list.
09:13
< abudhabi>
resetpass <nickname> <email>
09:14
< Emmy>
huh. weird.
09:14
< Emmy>
for me it only gives those two lines
09:14
< Emmy>
must be the nightstar client itself?
09:15
< Emmy>
0.o wait, no direct method to change your password?
09:15
< Emmy>
i mean when you know your password, not when you lost it
09:16
< Emmy>
Aaaaawww yisss.
09:16
< Emmy>
mothafuckin teaaa.
09:16
< Emmy>
bliss
09:20
< abudhabi>
Actually, there is.
09:20
< abudhabi>
set <password> <new-password>
09:21
< abudhabi>
But either should work.,
09:22
< Emmy>
TYVM
09:24 Emmy [NSwebIRC@Nightstar-41pbej.static.chello.nl] has left #code [""]
09:24 Emmy [NSwebIRC@Nightstar-41pbej.static.chello.nl] has joined #code
09:25
< Emmy>
whoops.
09:25
< Emmy>
wrong button
09:25
< Emmy>
anyway, no bingo.
09:26
< catadroid>
:o
09:35
< Emmy>
hmmmmh, anyone knowledgeable in SQL here?
09:44 * gnolam points to the "Ask, then hang about till someone appears who can help" in the topic.
09:45 * Emmy nods
09:45
< Emmy>
am hanging out
09:45 * Emmy points to the AFK-ing Emmy-Werk at home
09:46
< Emmy>
but i was wondering if there's anyone for that right now. :P
09:52
<@gnolam>
(If you just ask the question you want to ask, anyone with knowledge and the free time will probably respond. If you ask for someone knowledgeable in [X], people who know enough to answer you but don't consider themselves experts will probably wait for someone else to respond.)
09:52
<@gnolam>
(Plus, the whole self-assessment thingy. The Dunning-Kruger effect cuts both ways.)
09:53
<@TheWatcher>
(plus, in explaining the problem, you may see the solution yourself)
09:53
<@gnolam>
(That too. Rubber duck debugging is a thing.)
09:54 * Emmy nodnods
09:54
< Emmy>
i suppsoe you're correct.
09:54
< Emmy>
it's why i converse with my computer.
09:54
< Emmy>
hmmmh, right
09:55
< Emmy>
...crap. what was i about to ask again?
09:55
< Emmy>
Oh right.
09:56
< Emmy>
though i suppose it's not just SQL but also Access (and therefore, VBA)
09:56
< Emmy>
I'm wondering if it's possible to (re-)sort the results of a query /without/ requerying.
09:56
< Emmy>
this is going to be a big database, and i'd hate to have to requery it again just for a simple resort.
09:57
< Emmy>
resort of the list of results, i mean.
09:57
< abudhabi>
If you have a tabular GUI, then you should be able to use whatever's built-in for sorting the table.
09:58 * Emmy IS the one building the gui, for the most part.
09:58
< abudhabi>
If you have the results in a model, like a List<YourObjectHere>, then you can sort that programmatically.
09:58
<@TheWatcher>
Rule of thumb: databases engines are usually better optimised for that sort of thing than your code will be. A properly set up database will have indexes and other metadata that allows it to optimise sorting - the overheads of you doing the sort may well be higher than just asking the database engine to do it for you.
09:58
< Emmy>
A VB(A) listbox.
09:59
< Emmy>
meaning there might be the option, but i'll have to build it in myself.
09:59
<@TheWatcher>
Whether this si true of Access, I dunno.
10:00
< abudhabi>
Then you should use whatever facilities VBA gives you.
10:00
< abudhabi>
https://msdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.110%29.aspx ?
10:00
< Emmy>
TheWatcher: with one database to access to resort, or to use everyone's own resources on the computer...
10:01
< Emmy>
*their
10:01
<@TheWatcher>
Yeah, but a decent RDBMS will cache queries and results anyway
10:01
< Emmy>
hmmmh, fair enough
10:01
<@TheWatcher>
(again: Access isn't a decent RDBMS, so yeah)
10:01
< Emmy>
but this IS a microsoft product we're talking about, so 'decent' remains to be seen
10:02
< Emmy>
no offense to their msdn site, which is teh awsum.
10:02
< Emmy>
anyway, breaktime
10:33
< Emmy>
back
11:05 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
11:05 mode/#code [+o Crossfire] by ChanServ
11:13 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
11:21
< Emmy>
Seariously. lots of help sites can take an example in MSDN
11:50 Emmy [NSwebIRC@Nightstar-41pbej.static.chello.nl] has quit [[NS] Quit: homeward bound!]
12:09 catadroid` [catalyst@Nightstar-puf00f.dab.02.net] has joined #code
12:11 catadroid [catalyst@Nightstar-gi5.0vd.132.82.IP] has quit [Ping timeout: 121 seconds]
12:11 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
12:44 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving]
12:51 catadroid` is now known as catadroid
13:54 gizmore [kvirc@Nightstar-9jvkv0.dip0.t-ipconnect.de] has joined #code
14:06 natanial [NSwebIRC@Nightstar-f3k.t3q.245.162.IP] has joined #code
14:12 natanial [NSwebIRC@Nightstar-f3k.t3q.245.162.IP] has quit [[NS] Quit: Page closed]
14:44 Emmy-Werk is now known as Emmy
15:13 catadroid [catalyst@Nightstar-puf00f.dab.02.net] has quit [A TLS packet with unexpected length was received.]
15:14 catadroid [catalyst@Nightstar-puf00f.dab.02.net] has joined #code
15:22 catadroid [catalyst@Nightstar-puf00f.dab.02.net] has quit [Connection closed]
15:27 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has joined #code
15:27 mode/#code [+o celticminstrel] by ChanServ
15:36 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
15:41 catadroid` [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
15:42 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Connection closed]
15:42 catadroid` [catalyst@Nightstar-ls9442.dab.02.net] has quit [Connection closed]
15:42 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
15:43 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
15:43 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [A TLS packet with unexpected length was received.]
15:43 mode/#code [+o Crossfire] by ChanServ
15:43 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
15:46
<&ToxicFrog>
Your "what the hell is this" for the day: man 3 malloc_info
15:47
<&ToxicFrog>
Your "what the hell is this" for the day: man 3 malloc_info/buffer 41
15:57
< abudhabi>
I don't have the second one.
16:03
<&jeroud>
ToxicFrog: I have a friend who recently used that in anger.
16:03
<&jeroud>
He's building profiling tools.
16:09 Derakon[AFK] is now known as Derakon
16:09
< [R]>
What's the "/buffer 41" supposed to do?
16:09
< [R]>
Also why is a libc call generating XML straight to a FILE pointer?
16:10 Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [Connection closed]
16:13 Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code
16:13 mode/#code [+ao Derakon Derakon] by ChanServ
16:16 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Ping timeout: 121 seconds]
16:16
<&ToxicFrog>
[R]: that was a typo. "/buffer 41" is a command to my IRC client.
16:16
<&ToxicFrog>
As for "why god why", a co-worker of mine did the research:
16:16
<&ToxicFrog>
"I researched this several months ago, and it seems to have been a unilateral addition by Ulrich Drepper, from when he was the iron dictator of glibc. XML-for-everything was briefly popular for GNU tools at about that time - brief enough to date the additions, like a layer of iridium in the rocks,"
16:17 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
16:17
<&ToxicFrog>
The stated rationale is "with changes to glibc/malloc over time, the information that needs to be returned might change, but if it returned a struct we could never change it without recompiling everything that depends on it"
16:17
<&ToxicFrog>
Which is manifestly false, but apparently code review isn't a thing, or wasn't.
16:21 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Ping timeout: 121 seconds]
16:21 * Derakon :gonk:s at some code in a pull request for, thankfully, a project he is not himself making direct use of.
16:21
<&Derakon>
Rather than add a dependency to a JSON library, they opted to manually parse the JSON themselves.
16:26
< [R]>
Nice
16:26
< [R]>
https://nakedsecurity.sophos.com/2016/01/28/police-destroy-evidence-with-10-fail ed-passcode-attempts-on-iphone/?utm_source=feedburner&utm_medium=feed&utm_campai gn=Feed:+nakedsecurity+Naked+Security+-+Sophos
16:31 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
16:41
<&jerith>
catadroid: Thanks for that C++ explanation last night.
16:42
<&jerith>
I finally got the chance to read your pastes properly. :-)
16:42
< catadroid>
No worries, did it make sense?
16:43
<&jerith>
It did, once I discovered that `class` and `struct` are interchangeable except for access permissions or whatever. :-)
16:43
<&jerith>
I'm curious about your reasons for choosing one rather than the other.
16:45
< catadroid>
Oh, struct implies lack of encapsulation, class implies methods
16:46
< catadroid>
So if something is a struct I also tend to assume it is internal to a system since its data is likely public
16:47
< catadroid>
But yeah, they are ultimately the same thing
16:49
<&ToxicFrog>
jerith: IIRC, in C++ "struct" is eqv to "class" in every respect except that all members are public.
16:50 gizmore [kvirc@Nightstar-9jvkv0.dip0.t-ipconnect.de] has quit [[NS] Quit: KVIrc 4.3.2 Aria http://www.kvirc.net/]
16:51 * catadroid nods
17:39 * Derakon checks his issues list, cackles madly as he realizes that all of the release blockers have been resolved.
17:39
<&Derakon>
We still have 16 issues open which I'm basically entirely responsible for, but none of them are release blockers!
17:40 Emmy is now known as Emmy-zZz
17:40 Emmy-zZz is now known as Emmy-Noms
17:59
<@celticminstrel>
Sounds like fun!
18:10
<@gnolam>
Release blockers - like beta blockers, but more advanced.~
18:44 Derakon_ [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code
18:45 Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [Ping timeout: 121 seconds]
18:47 Derakon_ [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [[NS] Quit: Leaving]
18:48 Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code
18:48 mode/#code [+ao Derakon Derakon] by ChanServ
18:51 Emmy-Noms is now known as Emmy
19:05
<@gnolam>
Well, that only took... two days. >_<
19:06
<@gnolam>
Not counting the work lost trying to finagle the standard widgets to do what I wanted.
19:10
<&jeroud>
gnolam: Still less than my efforts to write and test a puppet module.
19:11
<&jeroud>
I probably have two to three times as much code in the tests as in the module.
19:15
<&ToxicFrog>
So I finished Email Hates the Living, and it was good, but at the end he puts up a slide for "SMTP: for when UUCP just isn't awful enough"
19:15
<&ToxicFrog>
But then decides there isn't enough time and takes questions instead.
19:15
<&ToxicFrog>
Was that latter talk ever presenteD?
19:15
<&McMartin>
I kind of want to do a UUCP build for Windows, just for the irony
19:17
<&ToxicFrog>
I have fond memories of uucp, but it was my dad who had to admin it, so~
19:24
<&jerith>
A frind of mine used UUCP in Modern Times.
19:24
<&jerith>
*friend
19:25
<&jerith>
Turns out when you're delivering "the internet" to connectionless rural schools by riding a motorcycle with a USB hard drive on it around the countryside, UUCP works prety well.
19:25
<&McMartin>
I had somehow gotten the impression that UUCP basically required you to manually route your packets in the name of the address
19:26
<&jerith>
This was UUCP from one disk to another in the same machine.
19:27
<&McMartin>
"UUCP implementations exist for several non-Unix-like operating systems, including Microsoft's MS-DOS, IBM's OS/2, Digital's VAX/VMS, Commodore's AmigaOS, classic Mac OS, and even CP/M."
19:36 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Connection closed]
19:36 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
20:00
<&ToxicFrog>
jerith: for that use case, doesn't rsync completely supersede it?
20:01
<&ToxicFrog>
McMartin: it can use other routings, but yes, back in the day you used bang paths
20:04
<&ToxicFrog>
e.g. my email address in the 80s was ...!hcr!ancilla!ben
20:06
<&ToxicFrog>
Being "route to hcr's public server however is convenient to you, and from there it will be routed to ancilla and then to my mailbox with the next uucp run"
20:06
<@gnolam>
jerith: there's one upside, and that is that it could have taken even longer. Those old game programming skills are paying off again.
20:20 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Ping timeout: 121 seconds]
20:31
<&jerith>
ToxicFrog: I'm unfamiliar with the details, but I suspect it was easier to get bidirectional mail delivery working like that.
20:33
<&jerith>
I may alse be thinking of the next version which had wifi on the motorcycle and the school, so transferring data became "park, have a cup of tea with the teachers, move on".
20:33
<&ToxicFrog>
jerith: oh, if this is for email and news and stuff it absolutely makes sense, I was thinking static webpages
20:34
<&ToxicFrog>
Then you plug it in and run uucp and it shlorps off all the data on the drive destined for the computer and copies onto the drive all the data destined for another computer
20:34
<&jerith>
There was also a wikipedia database update, etc.
20:34
<&ToxicFrog>
Presuming that the bang paths all look something like ...!motorcycle!destination_system!user
20:39
<&jerith>
There were definitely "user@school.godsverlatensvallei.org.za" email addresses in there.
20:39
<&jerith>
So probably some clever MTAs.
20:40
<&McMartin>
Hee, !motorcycle
20:42
<@gnolam>
I hee'd at "godsverlatensvallei.org.za" :)
20:43
<&Derakon>
"Godless valey"?
20:43
<&Derakon>
Er, valley.
20:43 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
20:45
<@gnolam>
"Godforsaken", I believe.
20:45
<&Derakon>
Ahh.
20:47 catadroid` [catalyst@Nightstar-ls9442.dab.02.net] has joined #code
20:47 catadroid [catalyst@Nightstar-ls9442.dab.02.net] has quit [Connection closed]
20:48
<&jerith>
Forsaken or forgotten.
20:51 catadroid` [catalyst@Nightstar-ls9442.dab.02.net] has quit [[NS] Quit: Bye]
20:55 Meatyhandbag [sebastianfe@Nightstar-foo.i9h.224.136.IP] has joined #code
21:05 Kindamoody|afk is now known as Kindamoody
21:21 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
21:21 mode/#code [+o himi] by ChanServ
21:51 Meatyhandbag [sebastianfe@Nightstar-foo.i9h.224.136.IP] has quit [Client exited]
22:37 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
22:43 Kindamoody is now known as Kindamoody[zZz]
22:48
<&McMartin>
catalyst: Finally got to take a look at the type erasure stuff
22:48
<&McMartin>
Good stuff
22:48
< catalyst>
I'm glad it made sense
22:48
< catalyst>
I wrote it stressed out of my mind
22:48
<&McMartin>
Only thing I can really add to it is "in addition to saving space on template instantiation, it lets you jam the Inners into the same collection"
22:48
<&McMartin>
"Since C++ collections have to be homogeneous"
22:48
<&McMartin>
Well, also
22:48 * catalyst nods
22:48
<&McMartin>
"Argh. Type erasure means something different in Java."
22:49
<&McMartin>
"Well. It's the same thing. If you're standing in one specific location with one eye closed and your head tilted like so"
22:49
<&McMartin>
See also: promises and futures -_-
22:49
< catalyst>
Sadly no matter how much I always want to be with you, it still has terrible cache coherency
22:50
<&McMartin>
?
22:50
<&McMartin>
I'm suddenly not tracking
22:50
< catalyst>
https://www.youtube.com/watch?v=lWqJTKdznaM
22:51
<&McMartin>
Heh. Unavailable in the US but that was enough >_>
22:51
<&McMartin>
Hmmm
22:51
< catalyst>
:D
22:52
<&McMartin>
So, I'm seeing some notion of bit of boost::asio getting standardized. Do you happen to know offhand if that means they'll have a mode for futures that are basically "here, take ownership of this future, and when it transitions out of pending state do this callback"?
22:52
<&McMartin>
Or something in that neighborhood; it seems like all operations that get the value out of a future are presently potentially blocking
22:52
< catalyst>
https://www.youtube.com/watch?v=yOtb508xQuM
22:53
<&McMartin>
Just from the name, yep, that would track
22:53
< catalyst>
Which I literally just watched the other day - though that's a usage rather than a standard proposal
22:53
< catalyst>
(though it may become one based on the audience partitipation)
22:53 * McMartin nods
22:53
<&McMartin>
Yeah
22:53
<&McMartin>
I mean, with boost::asio, getting something like that was maybe 50 lines of code?
22:53
< catalyst>
I honestly don't know
22:53
<&McMartin>
But I could see it dropping to, like, 15
22:54
< catalyst>
I don't do much async stuff, honestly
22:54
<&McMartin>
Oh, so, I'm on firmer ground here
22:54
<&McMartin>
Setting up an async mode that worked like Java's CompletableFuture, C#'s TaskCompletionSource, or JS's version of promises and futures was the second thing I did at this job
22:54
<&McMartin>
It's a very thin wrapper around boost::asio
22:54
<&McMartin>
But it's one I feel like I shouldn't have had to write >_>
22:55
<&McMartin>
Ah, I see he references a proposal for Then as well, which is v. close to JS's model
23:00
<&McMartin>
And yeah, I'm finally getting my feet enough in async to start having opinions about it
23:00
<&McMartin>
But I'm not yet really good enough to actually have them be good.
23:01
<&McMartin>
But I have a fully-fleshed-out collection of prejudices now! :D
23:01
<&McMartin>
I 100% agree with this guy as to what's wrong with future<T>
23:05
<&McMartin>
Oh hey, N4015, That Thing I Won't Shut Up About :D
23:05
<&McMartin>
I guess "expected" is their name for Result<T, E>
23:07
<&McMartin>
Yeah, this is That Thing I Want
23:07
<&McMartin>
I have a custom build of this for our project, more or less, but this is more, hm
23:08
<&McMartin>
More in the style of the standard :D
23:08
<&McMartin>
As opposed to "someone tried to shoehorn a C# API in here"
23:09
< catalyst>
:)
23:10 * catalyst is some combination of Scott Meyers and John Carmack, feels this is a reasonable place to be
23:13
<&McMartin>
OTOH, I also have to decide how stealable this is, because this is part of an FFI, and FFIs much prefer things that look like Java/C# >_>
23:13
<&McMartin>
Er, "this" being "my little system"
23:14
< catalyst>
:)
23:15
<&McMartin>
20 minutes in and still not seeing anything that makes this talk improved by invoking monads in the title >_>
23:15
< catalyst>
Yeah, that's what I thought as well
23:15 * catalyst shrugs
23:15
< catalyst>
I mean, it is one
23:16
<&McMartin>
I hope they at least mean the same thing the Haskellers do.
23:16 * McMartin mutters darkly at the word "functor"
23:16
<&McMartin>
I don't believe any two languages that mean something by "functor" mean the same thing
23:17
< catalyst>
They are a fancy word for 'thing that lets you trick the optimiser into thinking two identical calls are not'
23:17
< catalyst>
Amoung other uses
23:17
<&McMartin>
Which, "monad" or "functor"
23:17
< catalyst>
Monads, at least the 'IO Monad'
23:17
<&McMartin>
I'm used to functor in C++ meaning "function-like object", pre std::function
23:17
<&McMartin>
Ah, right
23:18
< catalyst>
which I also discovered is entirely a compiler construct
23:18
< catalyst>
Fun fact - lambdas are best described as functors
23:18
<&McMartin>
Well, the IO monad is of the unit type
23:18
<&McMartin>
Yep
23:18
<&McMartin>
I learned the spells for implementing all object systems in terms of all others
23:18
< catalyst>
:D
23:18
<&McMartin>
And closure -> callable object is one of the simplest transforms
23:19 * catalyst nods
23:19
<&McMartin>
For whatever reason, lambdas/closures are actually more "natural" to me than objects.
23:20
< catalyst>
OOP objects are actually a conflation of two concepts that suffer from being conflated - data layout and induction into concepts
23:20
< catalyst>
executable concepts, that is
23:20 * McMartin nods
23:21
< catalyst>
which has actually been bugging me for longer than I can remember without having a name, and I immediately understand that when I grokked what Rust was up to
23:21
<&McMartin>
I should do a writeup on polymorphism that moves you from Smalltalk through Haskell/Rust.
23:21
< catalyst>
I'd be very interested in that
23:21
<&McMartin>
Well, it's not near the top of my list, but it is *on* the list.
23:22
<&McMartin>
I need to write up the work I've been doing on Macross and what it represents and why that matters
23:22
<&McMartin>
And I need to write up the sprite-timing stuff for the VIC-II chip, which I have a nicely-built experiment for
23:23
<&McMartin>
Then it would be next, alongside the "hack together more silly retro stuff", but those are more parallel operations
23:23
<&McMartin>
Different kinds of brainmeats
23:24
< catalyst>
I look forward to having some of my brain processing back for doing actual creative projects
23:24
< catalyst>
instead of solving implementation puzzles
23:25 * McMartin nods
23:25
<&McMartin>
Right now the implementation puzzles are the hobby work for me >_>
23:25
< catalyst>
:)
23:28
<&McMartin>
(The one that's #4 on that list is basically "despite different but predictable levels of memory contention, write a certain graphics register at the same cycle on each scanline in a display"
23:28
<&McMartin>
)
23:51
< catalyst>
:D
--- Log closed Sat Jan 30 00:00:38 2016
code logs -> 2016 -> Fri, 29 Jan 2016< code.20160128.log - code.20160130.log >

[ Latest log file ]