--- Log opened Mon Sep 16 00:00:20 2019 |
--- Day changed Mon Sep 16 2019 |
00:00 | <&[R]> | (Useful if the output line has a ton of the delimeter characters) |
--- Log closed Mon Sep 16 03:28:20 2019 |
--- Log opened Mon Sep 16 03:28:26 2019 |
03:28 | | TheWatcher [chris@GlobalOperator.Nightstar.Net] has joined #code |
03:28 | | Irssi: #code: Total of 32 nicks [25 ops, 0 halfops, 0 voices, 7 normal] |
03:28 | | mode/#code [+o TheWatcher] by ChanServ |
03:28 | | Irssi: Join to #code was synced in 15 secs |
04:59 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has joined #code |
04:59 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
05:18 | | Derakon is now known as Derakon[AFK] |
06:47 | | Kimo|autojoin is now known as Kindamoody |
07:07 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
07:10 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
07:13 | | 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!] |
08:19 | <@sshine> | dang. I just pushed something into production that crashed horribly. apparently I'd updated a Perl module that depended on a newer version of OpenSSL, and apparently the production and development servers ran different versions of OpenSSL. |
08:19 | <&McMartin> | >_< |
08:26 | <@sshine> | so there was a .1.0.so but not a .1.1.so, sigh. |
08:26 | <&jeroud> | This is docker and friends are a win despite their extremely low implementation quality. :-/ |
08:26 | <&McMartin> | Oh god, and then OpenSSL has that wackass scheme were the minor revision is the major revision and the minor and patch revisions are letters at the end |
08:27 | <&McMartin> | THe last time I had to mess with this stuff I ended up using mbedTLS instead and I don't regret it. |
08:27 | <&McMartin> | I think that was the one |
08:31 | <&jeroud> | (That said, we haven't had a major docker issue in over a year. So it's nowhere near as bad as it used to be. And it was still a win back then.) |
08:38 | <@sshine> | yes, one guy is working on dockerizing the main repo. |
08:39 | <@sshine> | he's basically got that part working. but production doesn't run on docker yet. |
08:55 | <&jeroud> | The troll in me wants to say `apt install docker`, except it's nowhere near that easy. :-( |
08:56 | <&jeroud> | (To start with, you need to figure out what the package is even called this week.) |
08:56 | <&McMartin> | Today in why Fedora has been my primary Linux distro for the past fifteen years |
08:56 | <&jeroud> | The package naming is docker shenanigans, not debian silliness. |
08:57 | <&jeroud> | But yeah, it's definitely possible for the distro to handle that stuff better. |
08:58 | <&jeroud> | I *think* it's stabilized now, but we delegate worrying about that stuff to a third-party puppet module. |
10:53 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
11:34 | | Emmy is now known as Emmy-AFK |
11:44 | | Kindamoody is now known as Kindamoody|afk |
13:26 | | Emmy-AFK is now known as Emmy |
13:28 | | celticminstrel [celticminst@Nightstar-6an2qt.dsl.bell.ca] has joined #code |
13:28 | | mode/#code [+o celticminstrel] by ChanServ |
13:38 | | celticminstrel is now known as celmin|away |
14:31 | | Degi [Degi@Nightstar-vpk2lu.dyn.telefonica.de] has joined #code |
15:26 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
15:26 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:31 | < Yossarian> | yikes, this commented function in my .vimrc doesn't work anymore when un-commented :/ |
15:51 | <@abudhabi> | Hmmm. |
15:52 | <@abudhabi> | Is there a way in Excel/Gnumeric to specify a list of values as text, simulating a bunch of cells? |
15:53 | <@abudhabi> | What I'd like to do is specify the labels for data points without referring to the sheet. |
15:53 | <~Vornicus> | Excel yes |
15:55 | <~Vornicus> | {1,2,3,4,5}. It is a little weird to work with though |
15:56 | <@abudhabi> | Hm. |
15:56 | <@abudhabi> | It works for numbers, but not for strings? |
15:57 | <~Vornicus> | {"a","b","c","d","e"} |
15:58 | <@abudhabi> | This may be a bug in Gnumeric. |
15:58 | <@abudhabi> | https://i.imgur.com/WKFv48l.png |
16:07 | <~Vornicus> | try replacing with semicolons, which makes it a column instead |
16:18 | <@abudhabi> | Same. |
16:19 | <~Vornicus> | mh. |
16:25 | | Degi [Degi@Nightstar-vpk2lu.dyn.telefonica.de] has quit [Connection closed] |
16:39 | < Yossarian> | the internals of vim are so damned confusing |
16:52 | | Kindamoody|afk is now known as Kindamoody |
17:14 | < Emmy> | Well, so are my internals |
17:14 | <@abudhabi> | Livers, how do they work? |
17:14 | < Emmy> | that's why you usually want to keep them inside :P |
17:14 | <~Vornicus> | the internals of Vorn are pretty weird too. |
17:29 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
17:51 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
17:53 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:02 | <&jeroud> | Yossarian: This is a well known property of commented-out code. |
18:03 | <&jeroud> | Which is why the correct(*) action is to delete the code instead and rummage in the commit history if you decide that you need it again. |
18:04 | <&jeroud> | (*) May not be correct in all circumstances. |
18:14 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
18:17 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:32 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
18:34 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:40 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
18:42 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:43 | <&jeroud> | In my experience, the vast majority of code that gets deleted rather than commented out in this way is either never missed or easier to rewrite than resurrect. |
18:43 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
18:45 | | Pinkhair [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:57 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
18:58 | <@TheWatcher> | Yossarian: well, you see the problem here is that you're using vim instead of a more sensible editor like emacs~ |
19:02 | <&jeroud> | I don't think I can describe emacs as "sensible" with a straight face. |
19:02 | <&jeroud> | But vim is definitely less sensible. |
19:03 | <&jeroud> | If only because of the horror it tries to pass off as an extension language. |
19:03 | < Yossarian> | I would just say the internals of vim don't match up to modern day... stuff... but all the platforms it is compatible with is impressive. |
19:05 | < Yossarian> | I think there is a way to do IPC or RPCs or something so if you wanted help beyond scripting? |
19:06 | <&jeroud> | (emacslisp is a horror too, but it's more "risk of summoning Shub Niggurath" than vim's "room full of dismembered cadavers".) |
19:08 | <&jeroud> | The real problem with vim is that it was never really designed to be extended beyond a small number of specific things. |
19:09 | <&jeroud> | It's been hacked to do more, but it's very much a hack. |
19:10 | < Yossarian> | That sounds pretty accurate, actually. |
19:11 | < Yossarian> | I wish my resolution was a bit smaller or perhaps I could find a different font or go down another pt size |
19:12 | <&jeroud> | Yossarian: https://langserver.org/ may be a useful thing for you. |
19:13 | <&jeroud> | Programming fonts. :-( |
19:16 | <&jeroud> | Back when I used to run emacs not-in-a-terminal I maintained my own font which was a copy of something that provided bitmaps for specific sizes, but with the `#` glyph edited at several resolutions to that it didn't overlap the next cell and leave little turds on my display when emacs's efficient screen redraw didn't clear "unchanged" regions. |
19:17 | <&jeroud> | Then I realized that I wasn't actually every using any features that aren't available in a terminal. |
19:20 | <&jeroud> | Regarding LSP: When I tried it a couple of years ago it had enough rough edges (both in the servers for the languages I was using and the emacs client integration) that I trashed it with no regrets. |
19:20 | <&jeroud> | But when I tried again this month it was significantly better. |
19:21 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
19:22 | <&jeroud> | (And the not-in-a-terminal features look like enough of an improvement to be worth looking into doing that again.) |
19:29 | | * abudhabi has reportedd the Gnumeric issue. |
19:30 | <@abudhabi> | It did turn out to be a bug. And they fixed in like 30 minutes ago. |
19:31 | <&jeroud> | abudhabi: Nice! |
19:31 | < Yossarian> | jeroud: interesting concept |
19:34 | <&jeroud> | Yossarian: It's a thing I wondered about on and off for years before Microsoft went and invented it. |
19:34 | <&jeroud> | Now we get to see if the protocol they designed is actually fit for purpose. |
19:35 | <&jeroud> | Which is a lot of work, and the reason I never did anything about it myself. |
19:50 | <&[R]> | What'd MS invent? |
19:50 | <&jeroud> | The Language Server Protocol. |
19:51 | <&jeroud> | At least, their name's attached to it everywhere. |
19:52 | <&jeroud> | IIRC it started life as a VSCode thing and was then generalized to other editors. |
19:55 | <&[R]> | So it provides auto-complete? Syntax highlighting too, or is that separate? |
19:56 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
19:57 | <&jeroud> | Mostly static analysis and autocompletion. |
19:58 | <&[R]> | Something to play around with this evening then |
19:58 | <&jeroud> | Syntax highlighting is explicitly out of scope on the basis that it's way too editor-specific and everyone already has it anyway. |
19:58 | <&[R]> | Except acme (which is listed as a client) |
19:59 | <&jeroud> | TEXT IS NOT A RAINBOW! TEXT IS TEXT! |
19:59 | <&[R]> | Heh |
20:00 | <&jeroud> | (Actual response a friend of mine got on the acme mailing list about a decade and a half ago when he asked about it.) |
20:00 | <@sshine> | I made an open-source project that I'm going to commit to! |
20:00 | <@sshine> | https://github.com/sshine/hs-jq |
20:00 | <&[R]> | I saw the same attitude in #cat-v |
20:01 | <@sshine> | so far all my programming has either been commercial or toying around and eventually burying. |
20:01 | <&jeroud> | sshine: Best of luck! |
20:01 | <@sshine> | thanks! |
20:01 | <@sshine> | I picked something fun rather than particularly useful. :) |
20:02 | <&jeroud> | I'm unlikely to ever contribute (Haskell is the one non-esoteric language that has ever defeated me) but I approve of the idea. |
20:03 | <&jeroud> | I finally got around to pushing my not-yet-a-Scheme to github yesterday. |
20:03 | <@sshine> | nice, can I see? |
20:04 | <&jeroud> | But the repo's still private. |
20:04 | <@sshine> | ah, okay. |
20:04 | <@sshine> | well, still. :) |
20:04 | <@sshine> | was it in git before? |
20:04 | <&jeroud> | I can add you as one of the limited number of contributors a free account is allowed to have if you want. |
20:05 | <&jeroud> | But it'll have to wait until I get home, which will be a while. |
20:05 | <@sshine> | cool, no problem. |
20:05 | <&jeroud> | And yes, it's been in local git since I started a few weeks ago. |
20:05 | <@sshine> | what is it written in? |
20:05 | <&jeroud> | Rust. |
20:05 | <@sshine> | Scheme? ;) |
20:05 | <@sshine> | oh, right. |
20:05 | <@sshine> | I don't Rust yet. |
20:06 | <@sshine> | like I never got into C++. just TMI. |
20:07 | <@sshine> | I go with only one obelisk language at a time. :-P |
20:08 | <@sshine> | I never really grokked APL and Prolog, among esoteric languages. |
20:09 | <@sshine> | I mean, conceptually, but not practically. |
20:10 | <@sshine> | I didn't grok 'jq' either. that's why I'm building an interpreter for it. |
20:11 | <@sshine> | Prolog has a super neat feature that I learned about recently called CLP(FD) (constraint logical programming over finite domains), there's a very educational video on it (and I think the video's style is almost more amazing than CLP(FD)): https://www.youtube.com/watch?v=5KUdEZTu06o |
20:12 | <&jeroud> | The two things I want to achieve with the project are getting to grips with some of the CS theory stuff I've seen but never understood and building a Rust thing that's big enough that I can internalize some of the things I struggle with in Rust. |
20:12 | <@sshine> | hmm, nice. |
20:13 | <&jeroud> | I've never tried Prolog or APL. I had a traumatic experience with C++ at university and while modern C++ looks like a better language, I don't think it can teach me much that I can't get elsewhere. |
20:13 | <&jeroud> | But now I must drive. |
20:13 | <@sshine> | good driving. |
20:15 | <&jeroud> | (I'm completely done with manual memory management on any machine with more than a kilobyte or two of RAM.) |
20:29 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
20:30 | | Degi [Degi@Nightstar-vpk2lu.dyn.telefonica.de] has joined #code |
20:51 | <&McMartin> | I have come to the conclusion that modern C++ is a better language only by a very limited metric |
20:52 | <&McMartin> | And that it walked, intentionally, off a usability cliff that Rust is going out of its way to walk along the edge of. |
21:01 | | Derakon[AFK] is now known as Derakon |
21:02 | <&jeroud> | Rust is going very much out of its way to be usable. |
21:03 | <&McMartin> | C++ toolchain developers have forgotten that dealing with demangled symbol names in the kilobyte range is a learned skill and not a baseline. |
21:03 | <&jeroud> | It is, however, limited by its attempt to solve a very difficult problem that nothing else has ever solved in any useful way. |
21:04 | <&McMartin> | There have been too many cases at work of a developer being lost at sea by a bug that turned out to be a typo in a method name or something and the compiler only concluding this was wrong deep into template instantiation, because too often misspelled method names are not errors. |
21:05 | <&jeroud> | Yeah, that's not a great experience. |
21:05 | <&McMartin> | And instead of being "yeah, this is some deep esoteric wackiness" about it, the C++ community uses it as the basis for their entire standard library and everything that supplements it. |
21:06 | <&McMartin> | Rust does a better job of separating library implementation from library use. |
21:07 | <&jeroud> | You can get extremely confusing errors in Rust code that involves macros, but macros are very much the exception rather than the rule. |
21:08 | <&jeroud> | I was very pleased that v5 of `nom` (my parser library of choice) moved a bunch of stuff from macros to not-macros. |
21:09 | <&McMartin> | I discovered a C-based non-garbage-collected parser combinator library a while ago which also seemed to make minimal use of the preprocessor and I feel that I need an excuse to put it through its paces at some point |
21:09 | <&jeroud> | The macros are all still there, and they're often the most convenient thing to use, but they're no longer mandatory. |
21:11 | <&jeroud> | Of course, the very first thing I did when I rewrote my parser was to write my own parser-building macro.~ |
21:12 | <&jeroud> | But that was just to factor out all the type system boilerplate, and was roughly equivalent to one of the few macros in nom that didn't actually get in the way of anything. |
21:16 | <&jeroud> | (The main difference between my macro and theirs is that I hardcode the input type (their default is `&[u8]` and I don't want to type `&str` everywhere to override it) and can get away with fewer superfluous commas.) |
21:17 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
21:17 | <&jeroud> | (And probably also that I don't have to worry about having other macros inside mine, etc. - I didn't actually read theirs.) |
21:20 | <&jeroud> | I've been watching some Bryan Cantrill talks recently and they've given me an appreciation for C that I've never had before. |
21:22 | <&jeroud> | In particular, I've always assumed that the problem with C is that manual memory manawis hard. |
21:23 | <&jeroud> | When the problem is actually that manual memory management *across component boundaries* is hard. |
21:24 | <&jeroud> | (Where "component" is a deliberately vague term here.) |
21:25 | <&jeroud> | 22:06 <& McMartin> Rust does a better job of separating library implementation from library use. |
21:25 | <&jeroud> | I think having a powerful type system is a big part of that. |
21:26 | <@abudhabi> | Hmm. I want to grep for a regexp pattern and have it spit out what it matched, not the whole line. What's the syntax for that? |
21:26 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
21:26 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
21:26 | <&jeroud> | Do you mean search for a thing that is a regex pattern? |
21:27 | <&jeroud> | If so, fgrep (I can never recall what flag that is equivalent to) might help. |
21:28 | <&jeroud> | I *think* -o is the usual flag for "output only the match, not the whole line". |
21:28 | <@abudhabi> | I have a bunch of HTML files and I want to extract a bunch of strings that are "<three digit number><space>cm". |
21:30 | <&jeroud> | Ah. `grep -o '[0-9][0-9][0-9] cm'` might do the trick. |
21:30 | <@abudhabi> | Almost! |
21:30 | <~Vornicus> | omgwtf regex on html (no this is fine) |
21:30 | <@abudhabi> | Can I have it skip the name of the file somehow? |
21:30 | <&jeroud> | There's a more concise way to do it, but I can never remember which things need to be escaped. |
21:31 | <@abudhabi> | But that's not a problem. I can just dump it into a file. |
21:31 | <@abudhabi> | And use search/replace. |
21:31 | <&jeroud> | abudhabi: Maybe -h or -l? I usually look that one up. |
21:31 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
21:31 | <@abudhabi> | -h worked! |
21:32 | <&jeroud> | Then -l is probably the one to emit *only* the filenames. :-) |
21:32 | <@abudhabi> | Heh. |
21:32 | <@abudhabi> | Thank you. |
21:34 | <&jeroud> | If you're doing more complex HTML surgery, there's a thing called `pup` that is basically `jq` for HTML. |
21:35 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
21:35 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
21:41 | <&McMartin> | I have only just recently learned about Pandoc |
21:45 | <&jeroud> | Pandoc is great. I've only really use it as part of some prebuilt toolchain, though. |
21:47 | <&jeroud> | IIRC it's the thing that reveal to me that Haskell is actually useful for things that aren't FP penis waving contests. |
21:48 | <&jeroud> | *revealed |
22:14 | <@sshine> | hehe |
22:14 | <&McMartin> | Heh |
22:14 | <@sshine> | there's not a lot of cool Haskell projects that escape the Haskellsphere. |
22:15 | <&jeroud> | Right. Now that I have food in me it's time to drive the rest of the way home. |
22:15 | <&McMartin> | The first Haskell program I needed to learn a decent amount of practical Haskell to modify was a decompiler for one of the interactive-fiction binary formats |
22:16 | <@sshine> | https://www.reddit.com/r/haskell/comments/5glulo/any_popular_software_used_also_by_nonhaskellers/ |
22:16 | <@sshine> | apparently, not a whole lot. |
22:17 | <@sshine> | Pandoc, Detexify, darcs, git-annex, shellcheck, elm-compiler, idris-compiler. but I think the list got thin quickly. |
22:17 | <&McMartin> | I'm pretty sure Mrifk isn't going to be on that list. |
22:17 | <&McMartin> | BY THE SURLY BEARD OF MRIFK. |
22:18 | <@sshine> | Mrifk? |
22:18 | <&jeroud> | I liked darcs back in the day. |
22:18 | <@sshine> | A decompiler and disassembler for the Glulx virtual machine. |
22:18 | <@sshine> | ha. |
22:18 | <&jeroud> | And shellcheck is amazeballs. |
22:18 | <&McMartin> | An answer that, while fully correct, is probably extremely unhelpful. |
22:18 | <@sshine> | jeroud, I never got into it. and then git got popular. |
22:18 | <&McMartin> | Glulx is a 32-bit extension to the old Infocom text adventure VM, the Z-Machine. |
22:18 | <&McMartin> | It's what Hadean Lands runs on. |
22:19 | <&McMartin> | (And a bunch of amateur stuff.) |
22:19 | <&jeroud> | (shellcheck got an explicit thank you in José's Elixirconf keynote this year.) |
22:19 | <&McMartin> | Anyway, at the time (maybe still? project may be abandoned) Mrifk could not handle strings with unicode codepoints above 127 |
22:19 | <&McMartin> | So I needed to hack that in to tear some game apart. |
22:23 | <&jeroud> | Github says last commit two years ago. |
22:24 | <&McMartin> | That is much later than when I was messing with stuff |
22:26 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
22:27 | <&jeroud> | Yesterday I put "natural language programming" on my blog ideas list and went to see if Inform 7 has had a release recently. |
22:27 | <&jeroud> | And discovered that Graham is in the process of open sourcing it. |
22:29 | <&jeroud> | Which pleases me greatly, because aside from Rust it's the only language I know of that has achieved a unique feat. |
22:30 | <&jeroud> | (Rust's is avoiding manual memory management without adding GC. Inform 7's is understanding something very close to natural language.) |
23:24 | <&jerith> | sshine: Added you to my `icebo` repo. |
23:32 | | * McMartin checks in on the inform site himself, !s at the schedule being more advanced than he thought. |
23:32 | <&McMartin> | Also |
23:32 | <&McMartin> | "Inform’s first website, dating from 1992-93, was one of the first ten thousand sites on the World Wide Web." |
23:55 | < Pink> | It has come a long way |
--- Log closed Tue Sep 17 00:00:32 2019 |