Nuck

Activity Graph

Page 1 of 10 | Next »

2019-07-09

[11:56:00] Nuck: *.net *.split
[12:01:27] Nuck: has joined #RubyOnRails
[12:01:32] Nuck: has joined #ruby

2019-06-03

[12:42:42] Nuck: Ping timeout: 250 seconds
[12:44:29] Nuck: has joined #RubyOnRails
[12:44:33] Nuck: has joined #ruby

2019-05-22

[05:29:00] Nuck: Ping timeout: 252 seconds
[05:33:45] Nuck: has joined #RubyOnRails
[05:33:52] Nuck: has joined #ruby

2019-04-13

[16:50:10] Nuck: *.net *.split

2019-03-22

[04:33:45] Nuck: Ping timeout: 268 seconds
[04:36:05] Nuck: has joined #RubyOnRails
[04:36:12] Nuck: has joined #ruby

2019-02-15

[21:00:22] Nuck: has joined #RubyOnRails
[21:00:58] Nuck: Does #deliver_later serialize the args or just references to them?
[21:01:29] Nuck: Like, if I want to email a user about something I'm deleting
[21:03:57] Nuck: Er, how to put it. I want to email a user when I delete a model. If I call do `Mailer.new(thing).deliver_later; thing.destroy!` in the web process, will it work?
[21:05:17] Nuck: Like, where is the view rendered there? My method calls `render` and I get the `ActionMailer::MessageDelivery`, but am I *actually* rendering right then in the web process?
[21:05:47] Nuck: The docs don't say how much is actually offloaded to ActiveJob by deliver_later

2019-02-11

[20:26:28] Nuck: has joined #ruby
[22:09:30] Nuck: Anyone know if it's possible to do an "or" with RSpec mock matchers?
[22:09:48] Nuck: This doesn't work for me: expect(message).to have_received(:deliver_now).or have_received(:deliver_later)
[22:11:39] Nuck: undefined method `or' for #<RSpec::Mocks::Matchers::HaveReceived:0x00007fa6cfec43e8>
[22:13:53] Nuck: My test shouldn't care if the delivery is now or later, just that it happens
[22:14:16] Nuck: Tried that too, same issue :(
[22:14:32] Nuck: In fact that's where I started, I much prefer the | syntax
[22:31:24] Nuck: huh, thanks! I... may try that
[22:31:35] Nuck: Impressed that one line can make it all work haha
[22:32:09] Nuck: Eh, they're not that weird
[22:35:35] Nuck: They're not *ideal* but they're actually pretty legible considering how hacked that is

2018-08-12

[14:56:24] Nuck: Quit: Connection closed for inactivity

2018-07-30

[21:05:52] Nuck: Ping timeout: 256 seconds
[21:06:53] Nuck: has joined #ruby

2018-07-27

[22:10:57] Nuck: has joined #ruby

2018-05-07

[20:53:24] Nuck: *.net *.split

2018-04-25

[12:25:37] Nuck: *.net *.split
[12:27:10] Nuck: has joined #ruby
[12:27:31] Nuck: has joined #RubyOnRails
[15:01:07] Nuck: *.net *.split
[15:03:07] Nuck: has joined #RubyOnRails
[15:03:26] Nuck: has joined #ruby

2018-04-24

[14:56:18] Nuck: has joined #RubyOnRails
[14:56:22] Nuck: has joined #ruby

2018-04-10

[14:32:36] Nuck: has joined #RubyOnRails
[14:32:40] Nuck: has joined #ruby

2018-03-18

[07:18:46] Nuck: Read error: Connection reset by peer

2018-03-02

[04:11:23] Nuck: Read error: Connection reset by peer
[04:14:07] Nuck: has joined #RubyOnRails
[04:14:11] Nuck: has joined #ruby

2018-02-28

[23:19:23] Nuck: Ping timeout: 256 seconds
[23:21:22] Nuck: has joined #RubyOnRails
[23:21:30] Nuck: has joined #ruby
[23:24:06] Nuck: Max SendQ exceeded
[23:24:53] Nuck: has joined #RubyOnRails
[23:25:01] Nuck: has joined #ruby
[23:25:16] Nuck: Max SendQ exceeded
[23:25:56] Nuck: has joined #RubyOnRails
[23:26:01] Nuck: has joined #ruby
[23:26:06] Nuck: Max SendQ exceeded
[23:26:22] Nuck: has joined #RubyOnRails
[23:26:26] Nuck: has joined #ruby
[23:26:40] Nuck: Max SendQ exceeded
[23:26:55] Nuck: has joined #RubyOnRails
[23:26:59] Nuck: has joined #ruby
[23:27:16] Nuck: Max SendQ exceeded
[23:27:36] Nuck: has joined #RubyOnRails
[23:27:40] Nuck: has joined #ruby
[23:27:58] Nuck: Max SendQ exceeded
[23:28:17] Nuck: has joined #RubyOnRails
[23:28:22] Nuck: has joined #ruby
[23:28:39] Nuck: Max SendQ exceeded
[23:28:55] Nuck: has joined #RubyOnRails
[23:29:00] Nuck: has joined #ruby

2018-01-01

[07:34:49] Nuck: has joined #RubyOnRails

2017-12-31

[15:40:06] Nuck: Ping timeout: 260 seconds
[17:37:28] Nuck: has joined #ruby

2017-12-27

[19:14:00] Nuck: Ping timeout: 246 seconds
[21:30:10] Nuck: has joined #ruby

2017-12-09

[05:06:15] Nuck: *.net *.split
[05:14:35] Nuck: has joined #ruby

2017-12-08

[07:08:15] Nuck: Ping timeout: 246 seconds
[09:06:08] Nuck: has joined #ruby

2017-12-07

[14:48:17] Nuck: *.net *.split
[14:54:21] Nuck: has joined #ruby
[21:43:04] Nuck: *.net *.split
[21:48:16] Nuck: has joined #ruby
[21:48:19] Nuck: has joined #ruby
[21:48:19] Nuck: Changing host
[21:48:41] Nuck: Max SendQ exceeded
[21:49:17] Nuck: has joined #ruby

2017-10-21

[22:20:33] Nuck: What would you guys suggest for grouping actions to be done at the end of a request or background worker? So, like, if I have to sync a set of updates to an external API and I want to batch them up
[22:21:34] Nuck: So maybe I call `do_thing` 5 times during a request in various after_commit hooks, but I want them to run at the end of the request as some big bulk hit to reduce overhead (there's noticeable lag on each request)
[22:22:18] Nuck: I know Chewy does this for elasticsearch, but I can't figure out quite how it's doing it. I was thinking of using Thread/Fiber-local variables but that seems prone to, uh, *issues*
[22:24:17] Nuck: Sending the batch is easy, I can do it in a controller lifecycle hook or rack middleware, but building the batch seems trickier

2017-10-11

[01:20:22] Nuck: Anyone know if Rubocop has a setting to detect cases when you're a moron and do like `verb = verb.to_s`
[01:20:29] Nuck: Where the second one is _supposed_ to be a method call
[01:20:53] Nuck: I just failed to catch that and went "shiiiiiiiiit I forgot about syntactical ambiguity"
[02:28:19] Nuck: Okay, so, if I have a method `def verb` and in another method I do `verb = verb.to_s`, Ruby seems to interpret both `verb` as variable references (not method calls)
[02:28:36] Nuck: Which is totally understandable, it has to make that call at parse time
[02:32:11] Nuck: havenwood: It wouldn't be called, but it's also not what I'm seeking
[02:32:28] Nuck: I'm wondering if Rubocop has a cop to detect ambiguity such as that
[02:32:39] Nuck: Where you seem to be referencing a variable which didn't exist previously
[02:33:12] Nuck: No no, the variable is used
[02:35:25] Nuck: havenwood: Indeed, and I'd like a cop to enforce that :D
[02:35:32] Nuck: matthewd: Yeah
[02:35:51] Nuck: Either of those solves the ambiguity, though self.verb has the downside of not working with private methods either
[02:37:24] Nuck: Well, it's not an instance variable, it's just a local variable
[02:38:05] Nuck: havenwood: I want to set local variable `verb` to `verb().to_s`
[02:38:28] Nuck: Or rather, I want to *detect* when I make that stupid mistake
[02:38:31] Nuck: Shadowing the instance method with a local variable (which is bad)
[02:47:59] Nuck: matthewd: Yeah, it could be covered by a "variable referenced prior to assignment" cop or a "variable shadows instance method" cop
[02:52:16] Nuck: Indeed, the latter would probably be far more complicated

2017-10-09

[23:29:28] Nuck: Hello, does anyone know if it's possible in Rails 4.2 to override the mailers queue for ActiveJob? Evidently in Rails 5 you can set `config.action_mailer.deliver_later_queue_name` but we haven't yet had the chance to get onto Rails 5 :(
[23:30:20] Nuck: (it's literally the next thing on our todo list though, since support is basically over)
[23:32:37] Nuck: Ah, that's a good point
[23:44:31] Nuck: Awesome, turns out it's super simple, thanks for that suggestion lol

2017-09-29

[02:29:15] Nuck: has joined #ruby
[02:29:43] Nuck: has joined #RubyOnRails

2017-07-29

[03:48:24] Nuck: Quit: Nuck Off

2017-06-20

[00:17:25] Nuck: *.net *.split
[00:22:38] Nuck: has joined #RubyOnRails
[00:23:02] Nuck: has joined #ruby

2017-06-16

[23:28:02] Nuck: Ping timeout: 260 seconds
[23:38:40] Nuck: has joined #ruby
[23:38:40] Nuck: has joined #RubyOnRails

2017-05-31

[06:18:58] Nuck: Ping timeout: 240 seconds
[20:22:35] Nuck: has joined #ruby
[20:22:35] Nuck: has joined #RubyOnRails

2017-04-12

[00:41:16] Nuck: has joined #ruby
[00:41:16] Nuck: has joined #RubyOnRails

2017-04-11

[22:35:27] Nuck: Ping timeout: 240 seconds

2017-03-29

[02:26:55] Nuck: has joined #ruby
[02:26:55] Nuck: has joined #RubyOnRails

2016-07-28

[05:32:10] Nuck: has joined #ruby
[05:32:10] Nuck: has joined #RubyOnRails

2016-07-19

[06:40:11] Nuck: has joined #ruby
[06:40:11] Nuck: has joined #RubyOnRails

2016-07-17

[18:54:27] Nuck: *.net *.split
[19:16:09] Nuck: has joined #ruby
[19:16:09] Nuck: has joined #RubyOnRails

2016-07-02

[10:12:51] Nuck: Ping timeout: 240 seconds
[10:15:30] Nuck: has joined #ruby
[10:15:30] Nuck: has joined #RubyOnRails

2016-06-23

[20:27:33] Nuck: *.net *.split
[20:27:48] Nuck: has joined #ruby
[20:27:48] Nuck: has joined #RubyOnRails

2016-06-19

[00:37:46] Nuck: has joined #ruby
[00:37:46] Nuck: has joined #RubyOnRails
[11:36:29] Nuck: has joined #ruby
[11:36:29] Nuck: has joined #RubyOnRails

2016-06-18

[23:47:51] Nuck: Ping timeout: 240 seconds
[23:48:03] Nuck: has joined #ruby
[23:48:03] Nuck: has joined #RubyOnRails

2016-06-08

[08:56:22] Nuck: has joined #ruby
[08:56:22] Nuck: has joined #RubyOnRails

2016-05-01

[11:56:46] Nuck: has joined #ruby
[11:56:46] Nuck: has joined #RubyOnRails

2016-04-27

[07:13:33] Nuck: Ping timeout: 240 seconds
[07:33:45] Nuck: has joined #ruby
[07:33:45] Nuck: has joined #RubyOnRails

2016-04-18

[14:03:11] Nuck: has joined #RubyOnRails
[14:03:12] Nuck: has joined #ruby

2016-04-17

[07:57:08] Nuck: has joined #ruby
[07:57:08] Nuck: has joined #RubyOnRails
[21:08:30] Nuck: has joined #ruby
[21:08:30] Nuck: has joined #RubyOnRails

2016-04-15

[08:46:36] Nuck: Ping timeout: 276 seconds
[08:48:01] Nuck: has joined #ruby
[08:48:01] Nuck: has joined #RubyOnRails
[10:06:41] Nuck: has joined #ruby
[10:06:41] Nuck: has joined #RubyOnRails
[15:27:16] Nuck: has joined #ruby
[15:27:16] Nuck: has joined #RubyOnRails
[17:26:11] Nuck: has joined #ruby
[17:26:11] Nuck: has joined #RubyOnRails

2016-04-13

[14:44:44] Nuck: has joined #ruby
[14:44:44] Nuck: has joined #RubyOnRails

2016-04-12

[15:14:53] Nuck: has joined #ruby
[15:14:53] Nuck: has joined #RubyOnRails

2016-04-08

[08:15:10] Nuck: Ping timeout: 244 seconds
[08:23:35] Nuck: has joined #ruby
[08:23:35] Nuck: has joined #RubyOnRails

2016-04-02

[01:51:53] Nuck: has joined #ruby
[01:51:53] Nuck: has joined #RubyOnRails

2016-03-31

[03:29:18] Nuck: has joined #ruby
[03:29:18] Nuck: has joined #RubyOnRails

2016-03-29

[08:26:48] Nuck: Ping timeout: 276 seconds
[08:28:41] Nuck: has joined #ruby
[08:28:41] Nuck: has joined #RubyOnRails

2016-03-19

[21:49:29] Nuck: I thought it was by somebody major
[21:50:22] Nuck: rik: Always use MD5(password) without salt or pepper, and never use HTTPS. I redirect HTTPS to HTTP, just to be sure
[21:50:45] Nuck: havenwood: Yep this is it. Thanks!
[21:52:08] Nuck: rik: Well I mean, that's standard practice
[21:52:26] Nuck: If you hash on the client, you have to expose your pepper to the client *and* you can't reasonably salt it
[21:52:42] Nuck: Plus you have less control over rate limiting of brute force attempts
[21:54:22] Nuck: HTTPS is extremely secure (when configured properly, obviously)
[21:55:02] Nuck: At the very least it's probably better than anything you can come up with, since it's been battle-tested on the billions of websites which use it
[21:56:28] Nuck: havenwood: heh it's weird reading ruby without parens on nested method calls
[21:57:43] Nuck: ^ I agree so much with this
[21:58:03] Nuck: It was already good advice thanks to systemd, but now with Docker it's 500x more relevant
[21:59:00] Nuck: One command per docker container, logging to stdout/err, with all log aggregation handled by the Docker daemon
[21:59:14] Nuck: Self-forking daemons are awful for this
[22:00:34] Nuck: al2o3-cr: Because it makes composition of daemons into a larger app easier
[22:01:28] Nuck: al2o3-cr: How so? Docker is barely-there
[22:01:56] Nuck: It's all LXC containers, you don't need muscle for it
[22:02:41] Nuck: But the benefit of having all daemons log to stdout and respond to sigint and sighup in standard ways... it's huge!
[22:05:31] Nuck: By having a consistent interface, you enable simple declarative deployment
[22:06:53] Nuck: forcer: I think one of the problems is that 12factor was, for a while, kinda hard to do without expensive stuff like Heroku
[22:07:39] Nuck: The expansion of Docker (especially the recent improvements in their networking system) has brought Heroku-quality deployment to the masses
[22:08:09] Nuck: I can now hook up AWS CodeDeploy w/ GitHub and have it do a downtimeless deploy of some docker container
[22:08:21] Nuck: Boom, cheap Heroku alternative
[22:08:58] Nuck: Papierkorb: ahaha why
[22:10:01] Nuck: Papierkorb: But... this isn't the job of Docker Swarm
[22:10:14] Nuck: Papierkorb: Thsi is the job of the provider you hooked in with Docker Swarm lol
[22:10:45] Nuck: (incidentally, I'm gonna be using ECS w/ docker-compose for deploying this app I'm working on)
[22:11:26] Nuck: Papierkorb: Eh, it's young. I'm sure they'll fix it soon enough. I mean, remember that until like December they didn't even have real networking support in Docker
[22:11:30] Nuck: It was all local-only
[22:12:29] Nuck: forcer: I've been pushing for systemd for years. But Docker is so much better for deployments. I can write a Dockerfile for a rails app in all of 1 line
[22:14:33] Nuck: Papierkorb: Docker works great in my experience, as long as you avoid the recent additions. Compose is mature enough that I trust it, but Swarm is extremely young, and rather novel
[22:15:26] Nuck: I'll also admit that Docker is rather slow to develop things
[22:15:38] Nuck: Like how many years did it take for real multi-node networking to be developed?
[22:16:17] Nuck: I dunno what the hell is up with them. Maybe because they chose a language like Go
[22:16:34] Nuck: Can't iterate as quickly because of it? I'm honestly at a loss
[22:16:59] Nuck: I don't get why they use Go for *everything*
[22:17:18] Nuck: Sure it's important for the docker daemon to be fast and concurrent, so Go or Erlang is a good fit
[22:17:29] Nuck: But did the client need to be in Go? Did Swarm?
[22:19:52] Nuck: Well, Go is a good fit for microservices because static linking
[22:20:05] Nuck: There's no dependencies to install, just one binary
[22:20:25] Nuck: Go is honestly great for concurrent and distributed systems, since it's mostly a rehash of Erlang
[22:21:08] Nuck: But I mean, Docker handles the containers so it kinda makes sense
[22:21:24] Nuck: havenwood: I think al2o3-cr might be a markov chaining bot I'm not even sure
[22:22:22] Nuck: Papierkorb: Frankly I think Go was the right choice for the daemon, but wtf why not use Ruby or (dare I say it) Python for the client, for Swarm, for basically anything except the data-shuffling bits!?
[22:22:39] Nuck: And I mean, how big of a team does Docker, Inc. have?
[22:23:08] Nuck: It seems like a team of 5 could achieve the timeframes they have
[22:25:53] Nuck: Papierkorb: They're trying to build a whole ecosystem around Docker, but I think they may be going too wide. I think Docker+Compose+Swarm+Hub+Machine is all you really need
[22:26:38] Nuck: Docker is useless without Hub, Machine makes it viable to run Docker on OSX
[22:27:36] Nuck: Papierkorb: boot2docker is the old name of docker-machine
[22:27:56] Nuck: docker-machine is also able to provision remote servers just as easily as it provisions a VM
[22:28:17] Nuck: Papierkorb: Just as docker-compose used to be called fig
[22:28:24] Nuck: I think docker-compose is in Ruby iirc
[22:29:09] Nuck: Ah nope python
[22:29:26] Nuck: That's because fig was a third-party project originally :P
[22:29:55] Nuck: It's kinda like how CouchDB managed to keep their git repo when they joined Apache instead of switching to SVN
[22:30:09] Nuck: Sometimes legacy is good
[22:31:21] Nuck: haha yeah