#test | Logs for 2017-04-19
« return
[00:59:20] -!- bot [bot!~bot@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[00:59:20] -!- mode/#test [+v bot] by Artemis
[00:59:36] <chromas> 💩say test
[00:59:36] <bot> test
[00:59:39] <chromas> neat
[00:59:44] <chromas> 💩quit
[01:00:00] <chromas> ooh
[01:00:07] <chromas> not authorized
[01:00:09] -!- bot has quit [Remote host closed the connection]
[01:03:23] -!- bot [bot!~bot@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[01:03:23] -!- mode/#test [+v bot] by Artemis
[01:03:34] <chromas> 💩quit
[01:03:34] -!- bot has quit [Client Quit]
[01:14:30] -!- bot [bot!~bot@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[01:14:30] -!- mode/#test [+v bot] by Artemis
[01:14:37] <chromas> fpos
[01:14:38] <chromas> 💩quit
[01:14:38] -!- bot has quit [Client Quit]
[01:14:57] -!- dbot [dbot!~dbag@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[01:14:57] -!- mode/#test [+v dbot] by Artemis
[01:15:00] <chromas> yay
[01:15:09] <chromas> 💩join #fite
[01:32:14] <chromas> 💩say #smake chromas
[01:32:14] <dbot> #smake chromas
[01:32:14] * MrPlow smakes chromas upside the head with a strawman
[01:41:48] -!- dbot has quit [Quit: Bye!]
[01:42:23] -!- dbot [dbot!~dbag@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[01:42:23] -!- mode/#test [+v dbot] by Artemis
[01:42:46] <chromas> 💩quit
[01:42:46] -!- dbot has quit [Client Quit]
[10:59:26] -!- dbot [dbot!~dbag@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[10:59:26] -!- mode/#test [+v dbot] by Artemis
[10:59:36] <chromas> http://sylnt.us
[10:59:39] <dbot> ^ Turkish President May Receive Increased Power - SoylentNews ( https://soylentnews.org )
[10:59:56] <chromas> ooh, another thing to streep
[11:00:04] <chromas> stdeep
[11:00:11] * chromas gives dbot an accent
[11:00:15] <chromas> http://google.com
[11:00:16] <dbot> ^ Google ( http://www.google.com )
[11:00:19] <chromas> https://google.com
[11:00:20] <dbot> ^ Google ( https://www.google.com )
[11:00:24] <chromas> https://www.google.com
[11:00:25] <dbot> ^ Google
[11:00:52] <TheMightyBuzzard> say, what's with the new bot?
[11:00:58] <chromas> 💩join #fite
[11:01:08] <chromas> It's written in D.
[11:01:14] <chromas> It's already less buggy than my old one
[11:01:22] <TheMightyBuzzard> ahh, yeah i remember ya tellin me about that.
[11:01:30] <TheMightyBuzzard> at least that you was doing so
[11:01:45] <chromas> doesn't do much though. Basic page tit-les, join, say, et cetera
[11:01:53] <TheMightyBuzzard> yar
[11:01:56] <chromas> and the prefix is the poo glyph :D
[11:02:05] <TheMightyBuzzard> as long as it's a valid fite target...
[11:02:16] <chromas> hellz yeah
[11:02:24] <chromas> not sure about the name though
[11:02:27] <chromas> maybe systemd :D
[11:03:11] <TheMightyBuzzard> oh hey, check it... dev is now a gentoo box. nc and audioguy got dat shiz switched over and working again all last night. cept for varnish.
[11:03:22] <chromas> neat
[11:04:04] <chromas> Does it do upgrades on site or do they outsource it to one of their boxes for maximum fastitude?
[11:04:12] <TheMightyBuzzard> i thunk so. i think we're gonna have dev do the building of binary packages for every box and have the rest pull from it.
[11:04:56] <chromas> So they're all switching over?
[11:05:15] <chromas> You'll need a story so people can bitch about not using a BSD
[11:05:18] <TheMightyBuzzard> eventually. we're gonna get dev solid first then do the unused load balancer.
[11:05:26] <chromas> and circlejerk about poetterix
[11:05:28] <TheMightyBuzzard> ya, i expect we'll run at least one.
[11:06:12] <TheMightyBuzzard> should be some quality nerd-fite in them.
[11:07:41] <chromas> 💩say #fite exec
[11:07:41] <dbot> #fite exec
[11:07:41] <MrPlow> #fite restricted to the channel #fite
[11:08:04] <chromas> 💩nick 💩
[11:08:05] <chromas> aw
[11:08:09] <chromas> irc--
[11:08:09] <Bender> karma - irc: -1
[11:08:30] <chromas> 💩nick systemd
[11:08:30] dbot is now known as systemd
[11:15:21] <TheMightyBuzzard> blame Deucalion for that. really it's the charybdis folks who don't wanna wade through unicode soup to stop all the exploits but he's more fun to blame.
[11:19:35] <chromas> 💩blame
[11:21:04] <TheMightyBuzzard> man, i'm kinda stoked bout dev already being up and running again
[11:21:34] <chromas> Does gentoo have an "LTS" kernel like arch?
[11:22:22] <chromas> sldkfjsdl;kjhttps://google.com/
[11:22:23] <systemd> ^ Google ( https://www.google.com )
[11:22:26] <chromas> heat
[11:22:28] <chromas> neat
[11:22:30] <chromas> regex++
[11:22:30] <Bender> karma - regex: 3
[11:22:45] <chromas> http(s)?:\/\/[a-zA-Z0-9-_\.]+([-a-zA-Z0-9:%_\+.~#?&\/=]*)[^\.| ]
[11:22:58] <chromas> ^ my url-matching regex
[11:25:39] <TheMightyBuzzard> that hurts my eyes
[11:26:04] <TheMightyBuzzard> http://localhost
[11:26:24] <chromas> What have you done with the real TheMightyBuzzard?
[11:26:25] <TheMightyBuzzard> doesn't match unicode urls
[11:26:44] <chromas> nothing on localhost
[11:26:45] <TheMightyBuzzard> he hasn't had enough coffee yet
[11:26:51] <TheMightyBuzzard> i'm filling in for him
[11:27:21] <chromas> that's what the strange man told your mom
[11:27:48] <chromas> Was there a hidden secret unichode character in there?
[11:28:27] <chromas> oh I guess it's not in the regex. /me should go a huntin'
[11:28:35] <TheMightyBuzzard> i don't think _ is valid in a hostname
[11:29:39] <chromas> that + should be a * too, right?
[11:29:44] <chromas> + is 0 or more?
[11:30:04] <chromas> oh no, * is 0 or more
[11:30:15] * chromas should drank coffee but isn't masculine enough
[11:30:21] <TheMightyBuzzard> and it really needs to be http(s)?:\/\/[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+([-a-zA-Z0-9:%_\+.~#?&\/=]*)[^\.| ])
[11:30:51] <chromas> to force at least one . in the domain?
[11:30:55] <TheMightyBuzzard> should always be at least one alphanumeric character before the dot
[11:30:58] <TheMightyBuzzard> so...
[11:31:05] <TheMightyBuzzard> and it really needs to be http(s)?:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9-\.]+([-a-zA-Z0-9:%_\+.~#?&\/=]*)[^\.| ])
[11:31:16] * TheMightyBuzzard removed the dash in the first group
[11:31:34] <TheMightyBuzzard> no, wait...
[11:32:30] <TheMightyBuzzard> and it really needs to be http(s)?:\/\/[a-zA-Z0-9][a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+([-a-zA-Z0-9:%_\+.~#?&\/=]*)[^\.| ])
[11:32:49] <TheMightyBuzzard> oh and put a * at the end
[11:33:10] * chromas inspects to see if there's some trap hidden within
[11:33:43] * chromas can't tell
[11:34:09] <TheMightyBuzzard> must start with alphanumeric, then you can throw in -, then you MUST have a dot somewhere in the hostname unless you're getting funky with the local domain completion cheeze-whiz
[11:34:53] <TheMightyBuzzard> then you can have more of all of the above before the first /
[11:35:09] <TheMightyBuzzard> that's still not entirely a correct regex but it'll do for now.
[11:35:25] <TheMightyBuzzard> the bit after the last + needs fixed still
[11:35:45] <TheMightyBuzzard> there may or may not be a / then there may or may not be valid path characters
[11:36:06] <TheMightyBuzzard> but if there are valid path characters there MUST be a / after the hostname
[11:38:06] <chromas> 💩quit
[11:38:07] -!- systemd has quit [Quit: Bye!]
[11:38:22] -!- dbot [dbot!~dbag@39-155-605-112.dhcp.wlwl.wa.charter.com] has joined #test
[11:38:22] -!- mode/#test [+v dbot] by Artemis
[11:38:28] <chromas> Thanks :D
[11:38:56] * TheMightyBuzzard cheated and looked up the old hostname specs
[11:38:59] <chromas> 💩nick systemd
[11:38:59] dbot is now known as systemd
[11:39:07] <chromas> 💩join #fite
[11:39:09] <TheMightyBuzzard> mind you, they don't account for IDNs
[11:39:44] <chromas> I don't see no colons in there
[11:39:50] <chromas> so no ipv6 addresses I guess
[11:40:12] * chromas should add sedbotting :D
[11:40:27] <TheMightyBuzzard> no colons for port matching either
[11:41:36] <chromas> https://mathiasbynens.be
[11:41:39] <systemd> ^ In search of the perfect URL validation regex
[11:41:50] <chromas> that's a big table
[11:43:24] <TheMightyBuzzard> some folks got too much time on their hands.
[11:43:32] <chromas> hah, some of the end notes have their own scrollbars
[11:49:17] <chromas> #grab Loggie by the pussy
[11:50:48] <TheMightyBuzzard> oh, i finally got the main loop not tied to receiving a message from the irc server. can eliminate some ugly hacks from the code now.
[11:51:34] <TheMightyBuzzard> was having to ping the server after a delay in another thread to get it to finish the submission process when it got the pong back.
[11:52:29] <chromas> seems like the submission process is the part that should be in another thread
[11:59:58] <TheMightyBuzzard> ya, it needs a rewrite now
[12:16:01] <TheMightyBuzzard> bleh. can't quite wrap my head around the code i wrote for either fite or submit. too much multi-threading craziness.
[12:17:15] <chromas> Maybe rust has a nifty multithreading unit
[12:18:00] <TheMightyBuzzard> oh it's fine for multi-threading. it's my code that's insanity-inducing.
[12:20:02] <TheMightyBuzzard> my main loop had been tied to waiting for a message from the server. it blocked until it received one. so i had to do some really weird shit like send server pings so i could react when i got the pong back.
[12:20:58] <chromas> Did you replace it with a nonblockong select?
[12:21:15] <TheMightyBuzzard> now i got the blocking read spun off into another thread and sending every message it receives back to the main loop which does NOT block if there's no message in the socket.
[12:21:35] <chromas> Ah
[12:21:47] * chromas should copycat that design
[12:22:02] <TheMightyBuzzard> still works just like it did but it's confusing as fuck and i'd like to make it not so.
[12:23:03] <TheMightyBuzzard> here's that whole entire thread:
[12:23:06] <TheMightyBuzzard> let (msgtx, msgrx) = mpsc::channel::<irc::client::data::Message>();
[12:23:06] <TheMightyBuzzard> {
[12:23:06] <TheMightyBuzzard> let server = storables.server.clone();
[12:23:06] <TheMightyBuzzard> let _ = thread::spawn(move || {
[12:23:06] <TheMightyBuzzard> for message in server.iter() {
[12:23:07] <TheMightyBuzzard> let umsg = message.unwrap();
[12:23:09] <TheMightyBuzzard> msgtx.send(umsg).unwrap();
[12:23:11] <TheMightyBuzzard> }
[12:23:13] <TheMightyBuzzard> });
[12:23:15] <TheMightyBuzzard> }
[12:24:26] <TheMightyBuzzard> let _ = means IDGAF about the results of the right side of the = but it's going to return something of a must be used type
[12:24:57] <TheMightyBuzzard> basically dump the result into /dev/null
[12:25:05] <chromas> The for message in server.iter() is the socket read loop?
[12:25:21] * chromas tosses in some quotes
[12:25:41] <TheMightyBuzzard> for irc, yeah
[12:26:08] <TheMightyBuzzard> that's the bit that blocks until a message comes in from irc.
[12:27:24] <chromas> Then msgtx is the ipc
[12:27:56] <chromas> To send to main thread. I guess that would be itc
[12:28:06] <TheMightyBuzzard> the unwraps is a rust thing. they like to return an enum that's either Ok type with some data you want or Err with the error data
[12:28:13] <TheMightyBuzzard> yar
[12:28:26] <TheMightyBuzzard> that's literally all that thread does
[12:29:03] <chromas> Nothin' wrong with that
[12:29:42] <chromas> You could have another that monitors stdin so you can make the bot squawk from the terminal
[12:29:56] <TheMightyBuzzard> yup. specially since rust is smart enough to only include what actually gets used in the thread, in the thread.
[12:30:14] <TheMightyBuzzard> none of this bullshit about a thread getting a copy of every variable and function
[12:31:01] <TheMightyBuzzard> i could, yeah, but he runs detached unless i'm debugging him. i'm usually not even logged in to the box he's running on.
[12:32:03] <TheMightyBuzzard> and i can't be arsed to use screen or the like
[12:32:29] <TheMightyBuzzard> i just start him up as a background process and disown %1
[12:33:20] <chromas> Letting the daemons run wild
[12:33:39] <TheMightyBuzzard> yarp