[00:21] Yes [03:40] a surprise rick_h_! I was just mentioning your trailer trip here recently and missed you [03:41] https://www.cnbc.com/2020/03/19/california-governor-issues-statewide-order-to-stay-at-home-effective-thursday-evening.html [03:41] all of CA is shelter in place as of tonight [11:33] greg-g: ah howdy. Welcome to lock down city [13:47] CHC next week is online again: https://gettogether.community/events/4809/coffee-house-coders-regular-meeting/ [13:54] cmaloney: cool [13:54] Yep. Still going. :) [17:40] man... i'm writing a tiny bit of python, and I've forgotten so much python and going from Go to python makes me feel that python is just a terrible langauge. [17:41] hah [17:42] try js [17:44] ugh. no ty. [17:46] * cmaloney has a sad because Python is beautiful [17:46] its probably less python and more the way this particular huge tree data structure is built in python that is my gripe. [17:46] but yeah, Python Unicode is really a mess [17:47] even with 3 it's still more than I care to think about stuff [17:47] hasattr(python, "beautiful") returns false, bro. [17:47] try the same with go [17:47] pretty sure it'll do the same [17:48] lol. [17:48] nope, Go simply won't compile. [17:49] See? Failing silently is a good thing. [17:50] hahahaha [17:51] explains some silently failing apps that I know are python... like launchpad ;) [17:53] Yeah, I'll grant you that. Python is not great with bad data [17:53] like Launchpad. ;) [17:53] Too many times I've had something like this [17:53] if condition: [17:54] if condition is not None and condition: [17:54] if condition is not None and condition is True: [17:56] if condition is not none and isinstance(condition, (bool)): [17:56] etc. [18:26] in js you simply have if (typeof condition === "boolean" && condition) [18:26] ~beautiful~ [18:29] in JS you just give up all hope [18:29] and hide console.log [18:39] hide console.log? [18:39] behind a logging framework you mean? [18:43] just in general. No more warnings. ;) [18:43] * cmaloney is being facetious [19:17] um... triple equals isn't type equality in js, so... [19:17] or is it? [19:17] It's place-in-memory equality (is how I remember it) [19:19] which is technically incorrect, obviously [19:19] because I am full of incorrect information [19:20] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness [19:23] I figure everything is online until further notice. [19:24] The 2600 group that meets in A2 is doing a telco bridge call-in the first Friday of the month 248-724-2600 (or call in whenever, maybe others will join, the bot mentions it in IRC when someone does) [19:26] I came up with an idea for a Mumble/IRC integration. Pretty sure the IRC spec doesn't really allow for that, so the client would need to shadow servers/channels. [19:27] if "x" in o and o["x"] == foo: oh python. [19:28] jrwren: o.get('x') == foo [19:28] nope. [19:28] cmaloney: you wish, but python. [19:28] i wish too... but python. [19:28] no, it works. :) [19:28] nope. [19:28] it'll get X or none [19:29] KeyError: 'x'' [19:30] https://paste.ubuntu.com/p/GVXPhJ75g4/ [19:30] It'll retrieve None if it doesn't exist [19:30] which may be a separate issue [19:30] python2, ordereddict [19:30] the fact that we are even arguing about it is proof that python isn't very good. [19:31] I'm about to tell me team that I can't write python. [19:31] Well, a) Ordered Dict in Python 2 is no longer supported (Python2) [19:33] Also ordereddict should support the same .get syntax [19:33] i assure you it doesn't. [19:33] though you might need to put .get('x', None) [19:33] yes, that's probably what I want. [19:33] still, that is garbage. [19:33] python is terrible. [19:33] can I use perl instead? [19:34] no, because it's not 2003 [19:34] Also: what is Perl? :) [19:35] Is this ordered dict somehow part of a scraper? [19:35] no. [19:35] also, I read what you wrote wrong and you've been right all along. [19:35] <3 [19:35] Python is great [19:35] no, python is still terrible. [19:35] i'll be glad to never use it again. [19:35] You're allowed to be wrong again [19:35] ;) [19:36] because, how do you do get("",None) for a bool? [19:36] is None true or false? [19:36] its all so backwards. [19:36] not to mention I just don't want to use it now. [19:36] and what we want is everything. [19:37] You can use something other than None [19:37] like False [19:37] it just defalts to None because None is more correct than False or 0 [19:39] why can't I use Go? ;) [19:41] Because you're not an intern at Google? :) [19:41] You've got this [19:41] nope. [19:41] Stop fighting it [19:42] just let the zen of Python wash over you [19:42] can't do it. [19:42] ooommm [19:42] I said OOOM MOFO [19:42] the zen of python is bullshit compared to the proverbs of go. [19:42] I graduated python. I wrote plenty of it for years. [19:42] I've moved beyond it. [19:42] You should do it in Rust [19:42] so far beyond it that I can't even understand it. [19:42] jrwren: has ascended his conciousness [19:43] ugh rust... i'll keep my garbage collection TYVM [19:45] i'm just salty cuz I already wrote this in Go, it works, but we haven't rewrote all of it in Go, so I ahve to write it in python too. [19:45] and I've no idea how to do it. [19:46] just needs more metaclasses, and f-strings, and ... [19:47] ugh. [19:49] i missed programming language talk :( [19:51] really more jrwren being grumpy talk [19:53] Yes, more jrwren being wrong talk [19:53] (I do this from a place of love. :) ) [19:54] hah [19:56] python was great for its time. [19:56] thankfully, its time is gone. [19:57] hah