--- Log opened Fri Apr 07 00:00:44 2017 |
00:25 | | Derakon[AFK] is now known as Derakon |
00:48 | | Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection reset by peer] |
00:53 | | Jessikat [Jessikat@Nightstar-idoqj9.dab.02.net] has joined #code |
00:58 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code |
00:58 | | mode/#code [+o Reiv] by ChanServ |
01:01 | | * McMartin looks at library and development support for RISC OS on the Pi |
01:01 | <&McMartin> | ... I think a RISC OS native UQM port would not be out of the question |
01:15 | | Kindamoody is now known as Kindamoody[zZz] |
01:49 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds] |
04:42 | | Derakon is now known as Derakon[AFK] |
04:46 | | Derakon[AFK] [Derakon@Nightstar-5mvs4e.ca.comcast.net] has quit [Operation timed out] |
04:48 | | Turaiel is now known as Turaiel[Offline] |
05:58 | | celticminstrel is now known as celmin|sleep |
06:16 | | Jessikat` [Jessikat@Nightstar-8hn676.dab.02.net] has joined #code |
06:19 | | Jessikat [Jessikat@Nightstar-idoqj9.dab.02.net] has quit [Ping timeout: 121 seconds] |
06:44 | | Jessikat` is now known as Jessikat |
07:04 | <@abudhabi> | McMartin: UQM on the Pi? Nice. |
07:04 | <&McMartin> | UQM on the Pi is already a thing via Raspbian |
07:05 | <@abudhabi> | No performance issues? |
07:05 | <&McMartin> | Not as long as you stick to Pure-SDL mode and don't engage OpenGL. |
07:09 | <&McMartin> | The gag here would be basically a nod to my retrocoding hobby of the past three or four years |
07:09 | <&McMartin> | ... which is that the Pi also has a custom distro of the OS that shipped with the old Acorn Archimedes. |
07:10 | <@abudhabi> | Make the original OS SCII ran on run on Pi! :V |
07:10 | <&McMartin> | That's the thing I'm trying to test the feasibility of here, and it's complicated by me suddenly turning into a confused grandpa who does not understand these "computer" things, as this OS bears no genetic relationship to any Windows, DOS, or Unix variant. |
07:10 | <&McMartin> | DosBox was ported ages ago~ |
07:10 | <@abudhabi> | Wasn't it also on some silly non-DOS platform also? |
07:11 | <&McMartin> | The 3DO. That's the code we inherited. |
07:40 | <&McMartin> | It seems getting PackMan off the ground is a little more complicated than I'd like for a lazy evening. |
08:01 | <@abudhabi> | Is there a setting somewhere in Google that lets me say "ALWAYS ask for two-factor authentication, don't ever assume I want not to use two-factor authentication, leave that bloody checkbox UNCHECKED"? |
08:01 | | Kindamoody[zZz] is now known as Kindamoody |
08:25 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
08:46 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [[NS] Quit: Reboot] |
08:58 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code |
08:58 | | mode/#code [+ao McMartin McMartin] by ChanServ |
09:11 | <&McMartin> | Some progress with this alien system |
09:11 | <&McMartin> | Now I just need to figure out how to use its package manager while it's offline. |
09:12 | <@abudhabi> | For a moment there I thought that you were talking about Stellaris. |
09:14 | <&McMartin> | No, I'm just calling the Acorn systems alien |
09:21 | | Kindamoody is now known as Kindamoody|afk |
09:31 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [A TLS packet with unexpected length was received.] |
09:32 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
09:32 | | mode/#code [+o Syloq] by ChanServ |
09:36 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
09:37 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
09:37 | | mode/#code [+o Syloq] by ChanServ |
12:02 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] |
12:26 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
12:27 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
12:27 | | mode/#code [+o Syloq] by ChanServ |
12:35 | <~Vornicus> | The annoying part about gamedev is that all the systems that already do the things I don't want to think about are in languages I'm not actually comfortable with |
12:36 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
12:38 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
12:38 | | mode/#code [+o Syloq] by ChanServ |
12:41 | <@abudhabi> | Vornicus: In my case is that no language has all the features I want. ;) |
12:42 | <~Vornicus> | like - I know python like the back of my hand. Is there a python system that does what I want? No! If I want to code in python I have to write my own damn event loop and quite frankly fuck that noise. |
12:43 | <@abudhabi> | Yup. |
12:43 | <@TheWatcher> | The event loop of the damned. Sounds like something you'd write in perl, really. |
12:44 | <~Vornicus> | but then I've got love and that's in lua and that's super duper alien because of the way it handles objects and I haven't found a pleasant way of building them. |
12:46 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed] |
12:46 | | Jessikat` [Jessikat@Nightstar-sk3r18.dab.02.net] has joined #code |
12:47 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
12:47 | | mode/#code [+o Syloq] by ChanServ |
12:49 | | Jessikat [Jessikat@Nightstar-8hn676.dab.02.net] has quit [Ping timeout: 121 seconds] |
12:52 | <@abudhabi> | Vornicus: Time to make a Frankenstein's moster of Python, Lua, Assembly, C++ and Java. |
12:52 | <@abudhabi> | *monster |
12:52 | | Jessikat` is now known as Jessikat |
12:53 | <@TheWatcher> | Sounds like a plan to me. |
12:53 | <~Vornicus> | I am not writing a nullsoft installer |
12:54 | < Jessikat> | Wait wait wait are we not running in a browser yet? |
12:59 | | * Vornicus looks around for a sarlacc pit |
13:00 | | IRCFrEAK [gk.1wm.su@Nightstar-9mi.itq.93.204.IP] has joined #code |
13:00 | <@TheWatcher> | XD |
13:00 | | IRCFrEAK [gk.1wm.su@Nightstar-9mi.itq.93.204.IP] has quit [RecvQ exceeded] |
14:34 | <@TheWatcher> | Talking of browsers |
14:35 | | * TheWatcher idly stabstabstabs Firefox |
14:45 | | Derakon [Derakon@Nightstar-5mvs4e.ca.comcast.net] has joined #code |
14:45 | | mode/#code [+ao Derakon Derakon] by ChanServ |
15:56 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
16:43 | <&ToxicFrog> | https://aphyr.com/posts/340-acing-the-technical-interview |
16:43 | <&ToxicFrog> | And its sequel, https://aphyr.com/posts/341-hexing-the-technical-interview |
16:46 | <&ToxicFrog> | "Then clap your hands, place them firmly upon the disk, and open a portal to the underworld. |
16:46 | <&ToxicFrog> | (gen-class |
16:46 | <&ToxicFrog> | " |
16:46 | <&ToxicFrog> | ahahahahahahahahaha |
16:47 | <&McMartin> | I have done this, albeit not in Clojure and for Java 1.4 |
16:48 | <&McMartin> | Nor for a job interview~ |
16:48 | <&McMartin> | I think the toolkits I used are part of Apache now, and they're only slightly more sophisticated than this. :( |
16:48 | <&McMartin> | (Clojure itself uses stuff invented later) |
16:50 | | * Jessikat hides her broomstick and whistles innocently |
16:50 | < Jessikat> | Apparently I can explain to someone how std::enable_if works in a few minutes now |
16:50 | <&McMartin> | I thought you said you *hid* your broomstick |
16:53 | < Jessikat> | It's buried under a pile of sharp brackets |
17:01 | < RchrdB> | std::enable_what? |
17:04 | < Jessikat> | It's a template that lets you use boolean conditions at compile time to enable our disable particular function definitions based on properties of one of the template arguments - so for example you can turn off the default constructor in a container class if the things contained don't have default constructors |
17:04 | < Jessikat> | Enable or disable * |
17:04 | <@ErikMesoy> | ToxicFrog: but...but... anvise doesn't rhyme with javanisse! |
17:08 | < RchrdB> | Jessikat, nice. |
17:08 | <&McMartin> | Given the tradition, the goal may be alliteration of the stressed syllables, not full rhymes |
17:08 | <&McMartin> | hwaet |
17:09 | < RchrdB> | I lost some SAN points skimming cppreference.com's article on SFINAE though. |
17:09 | < Jessikat> | Yeah |
17:09 | < Azash> | 19:08 <&McMartin> hwaet < Insert Chappelle's Lil Jon skit here |
17:09 | < Jessikat> | Because it's a really complicated way to do a very simple thing |
17:09 | | * McMartin needs to translate "Let's talk about rubies" into Eald Aenglisc now. |
17:10 | < Jessikat> | Template wizardry in C++ is a scam, it's a bunch of people very excitingly whisking eggs with Swiss army knives |
17:10 | < Jessikat> | It looks impressive and there's a lot of different ways to do it, but ultimately no one knows where the whisk is |
17:13 | <@ErikMesoy> | McMartin: I suspect the goal is mostly "Look Norse". <_< |
17:13 | < RchrdB> | Jessikat, I am very glad that you say this. |
17:13 | | * McMartin renames nm find_the_whisk |
17:14 | < RchrdB> | because I have no idea how to converse with people who think C++ templates are simpler than, say, even a fairly crummy macro system. |
17:15 | <&McMartin> | Your bar for "fairly crummy" may be too high |
17:16 | <&McMartin> | Of its three closest neighbors in the language space, two of them don't have macro systems at all and the third relies entirely on the C preprocessor |
17:16 | < RchrdB> | "fairly crummy macro system" to me means "anything where you represent code as data structures rather than strings and you get to run subroutines to alter or generate it" |
17:16 | < RchrdB> | so uh |
17:16 | <&McMartin> | That is actually a stupendously powerful macro system |
17:16 | < RchrdB> | I appreciate your point that cpp can burn in flames |
17:16 | <&McMartin> | What you describe summarizes Lisp's sole remaining USP |
17:17 | <&McMartin> | In fact, I think I've seen it said that no other language class copies it because doing so causes you to cease "copying features from LIsp" and causes you to start "being a Lisp dialect" |
17:17 | < RchrdB> | Er, no? You can do that in Haskell, Rust, D, Nim, Prolog... |
17:18 | <&McMartin> | I admit that I have seen it said by Lispers. |
17:18 | <&McMartin> | Also Rust got this, like, two weeks ago, didn't it |
17:18 | <&McMartin> | Or is it up to eight now |
17:18 | < RchrdB> | the point of the prefix "fairly crummy" is that I'm not requiring that the data structures involved have to be nice (Template Haskell for example is ugly and a bit hairy) |
17:19 | < RchrdB> | nor do you have to have a good story for e.g. hygiene to pass this bar |
17:19 | <&McMartin> | Last I looked at Rust's new macro system it was almost literally loading modules into the compiler |
17:19 | < Jessikat> | I'm pretty sure one of a good LISP's USP's is going to be 'has very few syntactic USPs' |
17:19 | < RchrdB> | Rust has had working macros like try!() and friends since version 1? |
17:19 | <&McMartin> | Um |
17:19 | < RchrdB> | Some lisps such as Clojure have a reasonable amount of syntax |
17:19 | < Jessikat> | I'm still not convinced whether I've created something that's actually not quite a LISP |
17:20 | <&McMartin> | What you state is true but I think we've been talking past each other for awhile now |
17:20 | < Jessikat> | It feels like you have |
17:20 | <&McMartin> | I was referring to macros that the *developer defined* |
17:20 | <&McMartin> | In my book, in Lisp-speak, try!() and friends are not macros but rather special forms. |
17:21 | < Jessikat> | They're compile time functions from compile time constructs to arbitrary compile time constructs |
17:21 | < Jessikat> | ...they're macros |
17:21 | <&McMartin> | I mean, OK |
17:21 | <&McMartin> | But I can't *define* them |
17:21 | < RchrdB> | McMartin, I think this is the implementation of try! from Rust 1.0.0 https://doc.rust-lang.org/1.0.0/std/macro.try!.html |
17:21 | <&McMartin> | ... actually, I think now I can |
17:21 | < Jessikat> | I'm pretty sure you can |
17:21 | < RchrdB> | I'm pretty sure you can define those yourself. |
17:21 | < Jessikat> | Whether you should is another matter |
17:21 | < RchrdB> | There's no __magic_underscores__ or anything anywhere near it to indicate that there's magic there which couldn't go in an ordinary user library. |
17:22 | < Jessikat> | (I'm really not fond of try!) |
17:22 | <&McMartin> | I appear to have a circuit crossed with custom-derive, which landed eight weeks ago |
17:23 | < RchrdB> | McMartin, easy to do. |
17:23 | <&McMartin> | Derive *was* compiler-internals magic and inextensible until 1.15 |
17:24 | < RchrdB> | Yep. |
17:24 | < RchrdB> | I don't know of any PLs prior to Rust that actually had a user-extensible typeclass derivation mechanism? |
17:25 | <&McMartin> | I always figured that was my own ignorance >_> |
17:25 | < RchrdB> | I know Haskell, which (largely) popularised typeclasses, and has a really useful "data X = ... deriving (Show, Read, Eq)" kind of feature, didn't have any way to define custom typeclass derivations for a long time |
17:26 | < RchrdB> | iii'm not sure if it actually does now |
17:26 | <&McMartin> | In something like Scheme or C I would define a macro that declared and implemented some routines |
17:26 | <&McMartin> | In C++, this is the sole use case for templates that doesn't cause your symbol lengths to be measured in kilobytes, ANAICT |
17:27 | < RchrdB> | so I think, to be fair to Rust, there very likely wasn't a good battle-tested implementation of custom typeclass derivations anywhere lying around to steal ideas from^W^W^W^H examine and improve upon. |
17:28 | < Jessikat> | I still feel so much like Rust completely misses the point |
17:28 | <&McMartin> | I've been meaning to put its macro definition tools through its paces |
17:28 | < RchrdB> | Jessikat, ? |
17:28 | < Jessikat> | Then again, I've been thinking that LISP misses the point lately as well |
17:29 | < RchrdB> | :) |
17:29 | < Jessikat> | Rust is a superbly designed C++ |
17:29 | < Jessikat> | It's a Swiss army knife with a whisk on it |
17:29 | < RchrdB> | huh |
17:30 | < RchrdB> | there's also a bunch of nice things like algebraic data types |
17:30 | < Jessikat> | I admit that I have a lot of explaining to do about why I think LISP misses the point |
17:30 | < RchrdB> | AFAICT the Rust project took all of the productivity features from languages like ML/Haskell that could fit into something like C without causing any problems and... did that. |
17:31 | < Jessikat> | But the problem I have with languages like C++ and Rust is that they expose the entire working of the machine abstraction to you at all times |
17:31 | <&McMartin> | It helps that C has idioms for something very like ADTs already. |
17:31 | < RchrdB> | You need pattern matching to get the actual benefit. |
17:32 | < Jessikat> | Oh, Rust is a very impressive piece of work and lets you cleanly express a lot of useful things in ways that C++ either can't or will cut you if you get |
17:32 | < Jessikat> | Try* |
17:32 | < Jessikat> | I'm really very excited by Rust, but I don't think it's actually better enough than C++ to displace it |
17:33 | < RchrdB> | I think pattern matching is another one of those things that could have fitted into C years ago without causing any interesting problemsā¦ except that way back in the 1980s, it would've probably caused 'cc' to use a whole extra megabyte of memory so, no dice. :) |
17:33 | < Jessikat> | :3 |
17:33 | < Jessikat> | I like pattern matching |
17:33 | <&McMartin> | I compiled C on a machine with 48KB of RAM |
17:34 | < RchrdB> | Yes, McM. :) |
17:35 | < Jessikat> | :D |
17:36 | <&McMartin> | (And the *last* time I compiled C it was in a simulated system with... well, OK, with 1MB of RAM, but total and including screen memory.) |
17:37 | < RchrdB> | Yeah you should definitely use the framebuffer as scratch memory just for the pretty patterns during compilation. |
18:08 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Operation timed out] |
18:36 | <&McMartin> | ...heh |
18:36 | <&McMartin> | "I like to think that this story is just a documentary of what McM does at work daily." |
18:37 | <&McMartin> | 'twas the work of but a moment to reply "Ha ha! Silly man! This is what I do on weekends." |
18:38 | <&McMartin> | ""Raspberry pie" redirects here. For the dessert, see List of pies, tarts and flans Ā§ Raspberry pie." |
18:42 | <&ToxicFrog> | Aah, and here's the author's notes on Acing/Hexing the Technical Interview: http://www.metafilter.com/166166/Og-to-til-javanissen#6985515 |
18:43 | <&McMartin> | Excellent |
18:52 | | celmin|sleep is now known as celticminstrel |
18:56 | <&McMartin> | "Of course, functions without side effects are free, which is why Vidrun is a mostly a functional programmer. I imagine she's exhausted after this particular story." |
18:57 | <&McMartin> | "ML-likes are all robes and Orders and, like, Triumvirs to Lisp-likes' ethereal faerie magick." Confirmed |
19:04 | | Kindamoody|afk is now known as Kindamoody |
19:16 | | Jessikat` [Jessikat@Nightstar-bh7lio.dab.02.net] has joined #code |
19:18 | | Jessikat [Jessikat@Nightstar-sk3r18.dab.02.net] has quit [Ping timeout: 121 seconds] |
19:22 | < Kizor> | The puzzle game 3 in Three gave me a puzzle where I had to use twelve switches to close 24 shutters, and also each switch controlled multiple shutters and had more than two positions. |
19:22 | <&McMartin> | 3 in Three! |
19:22 | < Kizor> | Yes. |
19:22 | <&McMartin> | I still need to play that |
19:22 | <&McMartin> | Also At the Carnival |
19:22 | <&McMartin> | Also System's Twilight |
19:22 | <&ToxicFrog> | That sounds like the kind of puzzle I would have more fun writing a program to solve than I would actually solving |
19:22 | < Kizor> | Mine is running now |
19:22 | < Kizor> | I hate those sorts of puzzles |
19:23 | < Kizor> | Other than that, though, yeah, give it a play. It's a right bastard but a good time. |
19:26 | < Kizor> | Also, I wrote the program in QBASIC. I'm enjoying the sense of perversion here. |
19:26 | <&McMartin> | QBASIC is a fine language. |
19:27 | < Kizor> | Yep. |
19:27 | < Kizor> | But I sure did miss function calls, even in something this small. |
19:27 | <&McMartin> | I distinctly recall that QBASIC *had* function calls. |
19:27 | <&McMartin> | But I do not recall the syntax. |
19:28 | <&McMartin> | Not DEF FN - that was just expressions and went back to BASICA - but more than DEF SUB or DEFPROC, too. |
19:28 | < Kizor> | Oh look. I have now found a way to make function calls in QBASIC. It is the way I saw occasionally as a kid, didn't understand at the time, and left aside. |
19:28 | <&McMartin> | My memory that has not been recently refreshed is that QBASIC is a full Algoloid, with all the constructs you'd normally have except maybe records... and it might have those two but I forgot |
19:29 | <&McMartin> | *too |
19:29 | < Kizor> | So I quess I wrote this in GW-BASIC despite using QBASIC |
19:29 | <&McMartin> | A thing that mostly works! |
19:29 | < Kizor> | That's what I get when my reference books are from the seventies, I guess |
19:29 | < Kizor> | Thanks for the heads-up |
19:29 | <&McMartin> | Heh |
19:29 | <&McMartin> | GW-BASIC had WHILE/WEND and such, right? |
19:29 | < Kizor> | (Microcomputer edition!) |
19:29 | < Kizor> | Wikipedia says yeah. |
19:30 | <&McMartin> | WEND is great because it means something in English, but does so by accident |
19:30 | <&McMartin> | But that accident produces a sensible meaning! |
19:30 | <&McMartin> | QBASIC, IIRC, has DO/LOOP, which is frankly better than Pascal or C's equivalent constructs |
19:31 | < Kizor> | You are in a maze of wending little passages, all alike |
19:31 | <&McMartin> | Are you running this through QB64 or with an old terp in emulation? |
19:31 | <&McMartin> | Hm. Technically correct, but I associate wending with what the traveler does *in* the passages, personally. |
19:32 | < Kizor> | DOSBox and the same .exe I used as a six-year-old |
19:32 | <&McMartin> | Excellent |
19:33 | <&McMartin> | I hope you've cranked it to 12,000 cycles or so |
19:33 | < Kizor> | Yes. Yes, I have. |
19:33 | < Kizor> | ...hmm, the .exe has a "last modified" of 2000, though the readme is from '88. Have I been upgrading? |
19:33 | <&McMartin> | Some copy may have altered its timestamps |
19:34 | <&McMartin> | "QBasic 1.1 is included with MS-DOS 6.x, and, without EDIT, in Windows 95, Windows 98 and Windows Me. Starting with Windows 2000, Microsoft no longer includes QBasic with their operating systems,[8] but can still be obtained for use on newer versions of Windows." |
21:24 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
21:52 | | Jessikat` [Jessikat@Nightstar-bh7lio.dab.02.net] has quit [Ping timeout: 121 seconds] |
23:01 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:01 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:19 | | Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
--- Log closed Sat Apr 08 00:00:45 2017 |