« first day (1470 days earlier)      last day (2568 days later) » 
00:00 - 20:0020:00 - 00:00

20:02
@Undo having a single token to rule them all would make life easier though
For Smokey runners, not necessarily from a dev point of view
Oh, no. Smokey tokens yes, MS tokens no
Talking about the token used for communication between MS and Helios
So you'd still add a token on metasmoke and it'd get synced over to Helios via black magic.
@Glorfindel Awesome. Happen to live near an airport?
I live in the Netherlands. Everything is near.
Oh, right. Hold on, this might be a US thing but I hope not
Nice. It will work there.
@Undo oh right, yeah, using some AWS magic here sounds like a good idea
@Glorfindel If you're interested, I'll send you a TestFlight bundle when I can (IIRC it has to go through Review at least once)
Just need an email address.
^ somewhat old screenshot of what I'm playing with
20:13
Cool :)
Got it, thanks
@JF I have two separate things on my plate for that: one is the blacklist requests to replace our PRs (that'll go into Metasmoke) and the other is to view the current blacklists (that'll be a frontend app)
@Undo I think I got away with it
J F
J F
@quartata Got anything on GitHub yet?
Nothing for either no
The latter was going to go under like the Tools section of the big app I'm making -- if you're interested in working on that I can put up the skeleton I have
20:18
fp- by ByteCommander
hah
J F
J F
@quartata U+1F44D đź‘Ť THUMBS UP SIGN
@ArtOfCode If you're lucky it was just growing Penicillin :) In case of apocalypse, here's how to make penicillin in your kitchen
@SmokeDetector ??
that was in a code block
shouldn't be included
@JF fair warning: it's coffeescript
J F
J F
Don’t worry. I’ve worked on Coffee before :)
20:21
oh
in that case you're probably a lot better at it than I am
keeping the scoping of thin arrow in mind is tough for me
J F
J F
@quartata Essentially: If you define foo = -> this, foo() returns window, bar = { foo: foo }; bar.foo() returns bar, and bar = { foo: foo }; baz = bar.foo; baz() returns window.
It helped for me to look at the compiled JS.
basically just remember the .call(this) wrapper
reasons I like real JS... ES2017, preferably, for its syntactic niceness
@Undo I'll be around later tonight so we can talk about details
J F
J F
^^
20:32
@ArtOfCode I didn't know ES2017 had any new syntax?
I thought the main draw was shared memory and atomics
maybe I have weird priorities
@quartata s/syntax/general/
@Andy Sounds good
ES2015 syntax, plus ES2017 features.
like fetch
I mean I am using ES6
JS prototype inheritance is kind of awful
@quartata that's ES2015
20:34
weird mixture of class-style constructors and """prototypes""" but not really. it's just odd
J F
J F
ES2016: exponentiation (**) operator; ES2017: trailing function commas (f(x, y, z,); function foo(bar, baz,)) and async functions.
@ArtOfCode fetch is a DOM thing, not part of JS FYI
@JF uh
huh?
how? It's definitely a JS call
He's saying that browsers magic-ify it in
J F
J F
^
[ SmokeDetector | MS ] Few unique characters in body: Are you retarded? by Kanker on stackoverflow.com
J F
J F
20:45
Just like how window and document aren’t part of the JS spec — they’re part of the DOM, which isn’t restricted to JS, but nobody’s written browsers that support other languages AFAIK.
Also, if you want to try stuff that isn’t yet JS: Stage 1: export foo from 'bar'; Stage 2: import('foo') and class Foo { bar = 2; static baz = 3; autoBound = () => this.bar }; Stage 3: Async generators, Object spread (const x = { ...foo, bar })
@JF huh, TIL
[ SmokeDetector | MS ] Blacklisted user: SO people are retarded right? by Kanker on stackoverflow.com
tpu- by thesecretmaster
Conflicting feedback across revisions: current, #1
@Andy Something that seems missing from Helios right now is a way of seeing when a blacklist was last modified
20:54
@Undo can you take care of this
tpu- by Makyen
@quartata What's this?
the user above
@Undo Already flagged in the other place :)
Ah, thanks. Figured it out now :P
21:04
All taken care of :)
tpu- by doppelgreener
nonsense post with an f-bomb
21:35
[ SmokeDetector | MS ] Offensive body detected: Could i be pregnant? by usercj on biology.SE
^ not really r/a, just OT
fp- by DavidPostill on Could i be pregnant? [MS]
tpu- by DavidPostill
@quartata An assumption that I made is that smoke detector would pull down the entire blacklist when it starts up. Then "last updated" doesn't matter. It's always pulling the most recent. The locally running instance will update it's local cache and push any changes it makes to Helios. If someone runs the update blacklist command (whatever that ends up being) it will force the local cache to be overwritten by the Helios data.
@Undo I am still not around to discuss full architecture right now, but my current thoughts are: MS has a token in Helios. This gives it access to the create token end point. The tokens created here are for the smokey instances so that they can edit any lists we have - blacklists, notifications, watchlist, etc.
I'm not opposed to IAM permissions though
The Smokey tokens will not grant access to the create token end point
21:52
It'd probably work, the main question is whether we want another secret string floating around
It'd be the most straightforward way, probably - as in "we definitely know how to do it"
MS could store it however it needs to - database, env variable, carrier pigeon - but I don't think it matters because it'd be in an area that only you can access, correct?
@Andy If I have a frontend to display the blacklist, I sure don't want to pull the full blacklist every time
Even if you don't want deltas I still would prefer to know if I need to pull the full thing
@Andy Ideally, though it'd need to be in at least two places.
@quartata We'll have to discuss what you're building a bit later then. I think we are trying to build slightly different things reaching the same goal.
21:57
If AWS IAM has a quick "if request.role == metasmoke" check in Lambda, that'd be the cleanest thing
I just wanted to make a little bit of JavaScript that shows the blacklist, at the very minimum
I was hoping to cache it in localStorage
I mean pretty printed obviously
Oh by the way @Undo before you merge my PR make sure that github.com is in known hosts so that it doesn't prompt on clone
It is
mkay
I fixed the things
waiting on CI rn
150 character line limit is pretty damn long but I won't complain
22:09
[ metasmoke ] ci/circleci failure on 8bd1ed5: Your tests failed on CircleCI
[ metasmoke ] ci/circleci failure on 8bd1ed5: Your tests failed on CircleCI
heh
yeah yeah
great now I need to think of another witty robocop commit message
J F
J F
@quartata You know you can run rubocop locally, right?
Yes
I forgot to run it
J F
J F
What editor do you use?
22:12
vim currently
vundle is my plugin manager
J F
J F
can’t help you then :(
my rubies are kind of messed up anyways
I have a Ruby 2.0.0 that works and a Ruby 2.4.0 that didn't link with OpenSSL correctly
but there's a third Ruby somewhere with Rubocop that I have to find now
think it's on vagrant lolz
[ SmokeDetector | MS ] Few unique characters in answer, no whitespace in answer, repeating characters in answer: Referring twice to the same footnote in Word by hbhkb on superuser.com
zzzz
tpu- by ByteCommander
22:17
6/10 robocop joke
[ metasmoke ] ci/circleci success on 5147039: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on 5147039: Your tests passed on CircleCI!
there we go
@Undo we all good?
Can't look now, but should get to it soon
k, no rush
:)
22:31
[ SmokeDetector | MS ] Link at end of answer: Trading with smart contract by Blank on ethereum.SE
fp- by Riker
22:49
@ArtOfCode So wait a second
The new Websocket thing is like a mixin you include in models, no?
needs manual inclusion
Well I don't want to make a new model for this
It's just a blob of JSON, I don't want to know anything about its contents or put it in the DB
You don't need a model
but I do need a new class
right
It broadcasts stuff automatically if you include it in a model, but you can send stuff outside of models too
no
22:51
ok then I have no idea how this works
I just saw it being used as a mixin with like include Websocket
Copy this line, use the params I suggested on the issue
oh
my bad
that's pretty easy then
So literally be like
ApiChannel.broadcast_to 'smokey_repos_update', event_type: 'update', event_class: 'SmokeyRepo', object: params
[ SmokeDetector | MS ] Offensive answer detected: PHP cURL HTTP CODE return 0 by FIX IT on stackoverflow.com
I don't exactly get what event_class does but the rest seems sensible to me
23:06
[ metasmoke ] ci/circleci success on e1e1a6b: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on e1e1a6b: Your tests passed on CircleCI!
tpu- by Makyen
J F
J F
@quartata event_class is the name of the model being broadcast.
@quartata yeah, that
When you include it in a model, event_class is the model class, but it serves as an identifier for clients to figure out what event they're receiving.
so yeah, SmokeyRepo doesn't exist, but that's okay
sd fp-
23:26
uh
google pls
that is not a valid phone number
Okay, I'm back @quartata
how convenient I'm back too
needed something to eat
@quartata 284 should be ready to deploy?
Should be, yeah. I made the two changes you suggested
[ metasmoke ] ci/circleci success on bacb207: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on bacb207: Your tests passed on CircleCI!
23:30
It uses system for all the calls now and splits up the bits with user input into individual arguments
so it won't go through the shell
and it clones with ssh
so the default remote should also be ssh
Deploying...
we need a guinea pig PR
And done. Should be live.
y'all wouldn't happen to have any of those fancy socks would you
actually
Hey @Riker you don't have code admin right
How about we just temporarily depriv you and !!/reboot
23:33
[ metasmoke ] ci/circleci success on fe2c8b8: Your tests passed on CircleCI!
fine fine
although you'll need to give them back since I need to make a regular watch afterwards
!!/reboot
oh you know actually
I did just think of a problem, which is that force pushes will mess it up
Restart: API quota is 11095.
23:36
I can fix that by checking out origin/master and replacing local master with it
@quartata Why not just always get a fresh checkout? It's fast as heck from EC2.
Throw it in a tmp folder and nuke it when we're done
Looks like I can just do git checkout -B master origin/master
pretty darn simple
in fact
that would actually replace the current checkout I do
works for me if it's kinda stateless
oh yeah
it needs to be done every time anyways
checking out to master
the fetch should come first though
perfect
Deploying again
23:42
that should be bullet proof -- it'll always be exactly at the latest on Github no matter what happened to history
ok so should I just watch something random?
Hold off a minute to let WebPacker finish
Done
!!/whois codeadmins
@Undo I am aware of 21 code admins. Currently in this room: Undo, Mithrandir, bwDraco, ArtOfCode, Magisch, angussidney, Paul Stenne. Not currently in this room: Ferrybig, Byte Commander, Thomas Ward, doppelgreener, Suraj Rao, John Dvorak, tripleee, Yvette Colomb, ProgramFOX, Ashish Ahuja, Henders, Andy, Glorfindel, NobodyNada.
!!/watch kaboom
@quartata You don't have code privileges, but I've created PR#1279 for you.
ok before you merge that
give me code admin back?
so then I can make another watch and cause a conflict
23:44
Done. Needs a reboot
!!/reboot
!!/whois codeadmins
Restart: API quota is 11031.
@Undo I am aware of 22 code admins. Currently in this room: Undo, quartata, Mithrandir, bwDraco, ArtOfCode, Magisch, angussidney, Paul Stenne. Not currently in this room: Ferrybig, doppelgreener, Thomas Ward, Byte Commander, Suraj Rao, tripleee, John Dvorak, Yvette Colomb, ProgramFOX, Ashish Ahuja, Henders, Andy, Glorfindel, NobodyNada.
!!/watch variable speed corn muffins
There you go
23:45
[ metasmoke ] ci/circleci success on 9d84c68: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on 9d84c68: Your tests passed on CircleCI!
silence
@quartata Added variable speed corn muffins to watchlist
@quartata where the heck did you get this?
[ metasmoke ] ci/circleci success on 924e1b1: Your tests passed on CircleCI!
Yep, conflicts on the PR
Merged SmokeDetector #1279.
and here we go
holy shit
it worked
it actually worked first try
Something's wrong if it worked first try
23:46
except for one problem
oh good
the email address is wrong, metasmoke's avatar isn't showing
not my fault though
oh, that's my fault :P
other than that, flawless
and it was surprisingly fast
EC2 connections are pretty fast
probably to a server in the same DC, actually
@quartata Should be fixed now
23:51
Did you just git config? that'll be overwritten
--global
It's setting user.email to AppConfig['github']['username'] (local)
Was looking at drones on Amazon. Spent waaay too long trying to see how this would fly:
Art said that would be the email
@quartata Heh. It's the username.
Is it used anywhere else?
metasmoke
If it's not used anywhere else, I'll just change it
23:54
Used to login with Octokit, but I think that would take the email too. Just like logging in on Github
let me check
Changed
Easiest way to tell if it worked it to push something to master
!!/watch totallyinnocuousnonspammyphrase
@Undo Added totallyinnocuousnonspammyphrase to watchlist
or you could reset all of those commits we just made :P
yep, works
@quartata I'll do that now
let me see what the last clean commit was
you can hard reset and then force push
23:57
Looks like a159e6
I'll just do a proper revert
CI on b513189 succeeded. Message contains 'autopull', pulling...
Restart: API quota is 10971.
00:00 - 20:0020:00 - 00:00

« first day (1470 days earlier)      last day (2568 days later) »