<seanstickle>
There are about 10,000 other things on my typical day's plate that made a slight redundancy in one-line methods not worth the effort to reconcile.
Carnage\ has joined #ruby-lang
fgomez has quit [Quit: Lost terminal]
havenn has quit [Remote host closed the connection]
fgomez has joined #ruby-lang
<Jay_Levitt>
I get seduced by Ruby being all pretty.
<Jay_Levitt>
and the vague sense that I had solved this problem 20 years ago.
<seanstickle>
Well, it's a world better than Python anyways
gsav has joined #ruby-lang
Anonchair has joined #ruby-lang
Anonchair has left #ruby-lang [#ruby-lang]
<erikh>
I'm just sticky
<seanstickle>
Is that a statement of your consumer interest?
<seanstickle>
Or do you mean it's humid outside?
<erikh>
I'm not wet or dry
<erikh>
and yes, mildly humid... still not east coast humid though
<Jay_Levitt>
(cue single oboe) ... I believe that I am MORE than a moisture level...
ironcamel has joined #ruby-lang
<lianj>
had a python -i vs irb session with someone at a LUG today. needless to say, ruby won
<seanstickle>
Really? With IRB?
<seanstickle>
Well, I guess it was python -i, and not ipython
<seanstickle>
ipython is pretty awesome
<seanstickle>
Not Pry awesome, IMO, but pretty darn good
<lianj>
about the language not their repls
<seanstickle>
Ah
<erikh>
process management and multiprocessing look a lot more solid in python.
<erikh>
but I haven't verified that.
<seanstickle>
Lack of suck is pretty solid in Ruby though.
Carnage\ has quit []
<erikh>
heh
<lianj>
erikh: they have the same GIL issues we have (sort of)
<drbrain>
ruby has its moments
<erikh>
lianj: multiprocessing =~ threads
<erikh>
there are alternatives, and python has some good pre-baked stuff.
bryancp has joined #ruby-lang
<drbrain>
can you process zlib streams in parallel with python?
<drbrain>
no released ruby version has that yet
<erikh>
drbrain: with forking? sure!
bglusman has quit [Remote host closed the connection]
* erikh
trolololololol
<drbrain>
without forking
<erikh>
I don't know. I doubt it.
<erikh>
I just slogged through sys and os and a few other places while going through zed's book
bfreeman has quit [Quit: bfreeman]
<erikh>
speaking of patches, what's your release timeline for rdoc 4?
<erikh>
when it's done, or something more specific?
<drbrain>
the former
<erikh>
ok, cool. I was going to start chipping away at that coverage report patch
<drbrain>
I have some renames to do, so I worked through a few bugs to avoid invalidating patches and giving myself extra work
<drbrain>
but… I may just skip doing the renames
<erikh>
ok, well, I probably won't get started until this weekend
<erikh>
if you change your mind on the renames... basically i need to touch RDoc::Stats and make some output formatter refactors to it
<erikh>
either way, should it be an issue I can reconcile the patches later.
jblack has quit [Quit: Lost terminal]
kurko_ has quit [Quit: This computer has gone to sleep]
ezkl has quit [Quit: Quit!]
headius has quit [Quit: headius]
stardiviner has joined #ruby-lang
qpingu has quit [Quit: Leaving.]
<drbrain>
erikh: python back to 2.7.1 can inflate in parallel
bglusman has joined #ruby-lang
Natch has joined #ruby-lang
<erikh>
neat
dv310p3r has joined #ruby-lang
fgomez has quit [Remote host closed the connection]
qpingu has joined #ruby-lang
plusk has quit [Quit: This computer has gone to sleep]
gix has quit [Ping timeout: 240 seconds]
Z33K|Lux has joined #ruby-lang
havenn_ has quit [Remote host closed the connection]
<erikh>
drbrain: oh, i'm going to try and get test.rubygems.org back up tonight
<drbrain>
awesome
<erikh>
sorry about this, EY ate the database
gix has joined #ruby-lang
kyrylo has quit [Ping timeout: 246 seconds]
kyrylo has joined #ruby-lang
<drbrain>
np
VegetableSpoon has joined #ruby-lang
sailias has joined #ruby-lang
bglusman has quit [Remote host closed the connection]
neoesque has joined #ruby-lang
kurko_ has joined #ruby-lang
dv310p3r has quit [Ping timeout: 255 seconds]
savage- has quit [Remote host closed the connection]
joshwines has joined #ruby-lang
hahuang65 has quit [Quit: Computer has gone to sleep.]
bfreeman has joined #ruby-lang
bryancp has quit [Remote host closed the connection]
null- has joined #ruby-lang
neoesque has quit [Quit: Bye!]
kurko_ has quit [Quit: This computer has gone to sleep]
mistym has quit [Remote host closed the connection]
cantonic_ has joined #ruby-lang
Jay_Levitt has quit [Ping timeout: 244 seconds]
cantonic has quit [Ping timeout: 244 seconds]
cantonic_ is now known as cantonic
Zyclops has joined #ruby-lang
Zyclops has quit [Client Quit]
havenn has joined #ruby-lang
dalekurt has joined #ruby-lang
perryh_away is now known as perryh
yellow5 has quit [Ping timeout: 240 seconds]
perryh is now known as perry
levicole has quit [Ping timeout: 265 seconds]
mistym has joined #ruby-lang
chendo_ has joined #ruby-lang
igotnolegs has joined #ruby-lang
levicole has joined #ruby-lang
tonni has quit [Read error: Connection reset by peer]
fgomez has joined #ruby-lang
yellow5 has joined #ruby-lang
tonni has joined #ruby-lang
tonni has quit [Read error: Connection reset by peer]
kurko_ has joined #ruby-lang
chendo_ has quit [Quit: Computer has gone to sleep.]
JustinCampbell has quit [Remote host closed the connection]
JustinCampbell has joined #ruby-lang
plusk has joined #ruby-lang
banisterfiend has quit [Remote host closed the connection]
banisterfiend has joined #ruby-lang
chendo_ has joined #ruby-lang
chimkan_ has joined #ruby-lang
seanstickle has quit [Quit: Nihil sub sole novum]
banisterfiend has quit [Ping timeout: 244 seconds]
JustinCampbell has quit [Ping timeout: 245 seconds]
bglusman has joined #ruby-lang
chendo_ has quit [Client Quit]
coryf has joined #ruby-lang
mistym has quit [Remote host closed the connection]
dalekurt has quit [Read error: Connection reset by peer]
mistym has quit [Remote host closed the connection]
umttumt has quit [Remote host closed the connection]
umttumt has joined #ruby-lang
wallerdev has quit [Remote host closed the connection]
savage- has quit [Remote host closed the connection]
wallerdev has joined #ruby-lang
plusk has quit [Quit: Leaving]
dhruvasagar has quit [Ping timeout: 240 seconds]
dhruvasagar has joined #ruby-lang
qpingu1 has joined #ruby-lang
qpingu1 has left #ruby-lang [#ruby-lang]
umttumt_ has joined #ruby-lang
umttumt has quit [Ping timeout: 248 seconds]
umttumt_ has quit [Remote host closed the connection]
scientes has quit [Ping timeout: 264 seconds]
Dreamer3 has quit [Quit: Leaving...]
nofxxx has quit [Ping timeout: 240 seconds]
petercooper has quit [Remote host closed the connection]
wmoxam has joined #ruby-lang
dalekurt has joined #ruby-lang
dalekurt has quit [Read error: Connection reset by peer]
dalekurt has joined #ruby-lang
savage- has joined #ruby-lang
null- has left #ruby-lang [#ruby-lang]
nofxxx has joined #ruby-lang
ryanf has quit [Quit: leaving]
umttumt has joined #ruby-lang
sailias has quit [Ping timeout: 244 seconds]
sailias has joined #ruby-lang
imperator has left #ruby-lang ["Leaving"]
npras has joined #ruby-lang
ryanf has joined #ruby-lang
dhruvasagar has quit [Read error: Connection reset by peer]
yxhuvud has joined #ruby-lang
scientes has joined #ruby-lang
crudson has joined #ruby-lang
akira989 has quit [Remote host closed the connection]
scientes has quit [Ping timeout: 244 seconds]
ramonmaruko has quit [Remote host closed the connection]
burgestrand has joined #ruby-lang
ramonmaruko has joined #ruby-lang
brianpWins has joined #ruby-lang
savage- has quit [Remote host closed the connection]
Z33K|Lux has quit []
gouthamvel has joined #ruby-lang
gouthamvel has left #ruby-lang [#ruby-lang]
akira989 has joined #ruby-lang
ku1 has quit [Read error: Connection reset by peer]
akira989 has quit [Remote host closed the connection]
cantonic has quit [Ping timeout: 265 seconds]
nertzy has quit [Quit: This computer has gone to sleep]
andrewhl has quit [Remote host closed the connection]
dalekurt has quit [Read error: Connection reset by peer]
dalekurt has joined #ruby-lang
burgestrand has quit [Quit: Leaving.]
andrewhl has joined #ruby-lang
ecin has quit [Quit: ecin]
msaffitz has joined #ruby-lang
wmoxam has quit [Ping timeout: 252 seconds]
outsmartin has joined #ruby-lang
msaffitz has quit [Quit: Computer has gone to sleep.]
ruurd has joined #ruby-lang
workmad3 has joined #ruby-lang
xtrsyz has joined #ruby-lang
xtrsyz has left #ruby-lang [#ruby-lang]
chendo_ has joined #ruby-lang
andrewhl has quit [Remote host closed the connection]
wallerdev has quit [Quit: wallerdev]
zmack_ has joined #ruby-lang
xtrsyz has joined #ruby-lang
<xtrsyz>
any one here?
Carnage\ has joined #ruby-lang
s0ber has quit [Ping timeout: 240 seconds]
ecin has joined #ruby-lang
cantonic has joined #ruby-lang
sailias has quit [Quit: Leaving.]
chendo_ has quit [Quit: Computer has gone to sleep.]
dhruvasagar has joined #ruby-lang
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
workmad3 has quit [Ping timeout: 244 seconds]
npras has quit [Quit: npras]
<outsmartin>
332 people
xtrsyz has quit [Quit: Page closed]
ecin has quit [Read error: Connection reset by peer]
l0r0nAr has joined #ruby-lang
srbartlett has quit [Remote host closed the connection]
burgestrand has joined #ruby-lang
perry is now known as perryh_away
<yorickpeterse>
Morning
gsav has quit [Ping timeout: 246 seconds]
<ddfreyne>
Nice
joshwines has quit [Ping timeout: 245 seconds]
<ddfreyne>
Rubiniuis' hydra branch has been merged into master
<ddfreyne>
I need to give Rubinius another try then :)
* ddfreyne
is looking forward to using nanoc with multiple cores
<yorickpeterse>
Is Rubinius still dog slow?
<yorickpeterse>
and how is its memory usage these days?
<ddfreyne>
it's not dog slow
<ddfreyne>
memory usage... no clue.
<yorickpeterse>
ddfreyne: any test I've seen on Travis CI using Rubinius takes around 2x more time than YARV
<yorickpeterse>
Though this of course isn't a very good benchmark
apeiros_ has joined #ruby-lang
<apeiros_>
moin
<apeiros_>
didn't somebody in here implement a spinlock in ruby?
<apeiros_>
hm… thinking about it, I think it was tenderlove…
<ddfreyne>
yorickpeterse: MRI 1.9.x sometimes takes a lot longer than MRI 1.8.x on Travis
<ddfreyne>
different servers, perhaps... but no good benchmark at all
* apeiros_
thinks it's just Thread.pass until condition - no?
<ddfreyne>
I *would* like to see good Rubinius benchmarks...
<yorickpeterse>
ddfreyne: Same here, but I do remain skeptical about it
<yorickpeterse>
If they can get it up to par with YARV I'm sold
gsav has joined #ruby-lang
<ddfreyne>
yorickpeterse: the lack of a GIL is very, very attractive
<ddfreyne>
of course, JRuby doesn't have a GIL either (but starting JRuby is slow because of the ramp-up time of the JVM)
<yorickpeterse>
Exactly
<yorickpeterse>
I'm really interested in Rbx but if it's slower than YARV I'd say it's not worth it
<ddfreyne>
Especially for an embarrassingly parallel problem (like nanoc)
igotnolegs has quit [Quit: Computer has gone to sleep.]
<ddfreyne>
I've been looking forward to using Ruby on multiple cores for a long time now
<ddfreyne>
hopefully I can get to it soon
<apeiros_>
hm… no thread-experts here?
<burgestrand>
apeiros_: Thread.pass until X sounds reasonable
<yorickpeterse>
apeiros_: isn't a spinlock fairly trivial
<burgestrand>
But…
<burgestrand>
It will also eat up a bunch of resources
<apeiros_>
yorickpeterse: if it is Thread.pass until condition, then I'd say yes. but sometimes there are dragons in threaded programming where you don't expect them :)
<burgestrand>
But that’s the point of them, no?
<yorickpeterse>
Hm
<apeiros_>
burgestrand: I think that's the expectation with a spinlock. so you use it where you expect the lock to be removed "very soon"
<yorickpeterse>
Better yet, what's your particular use case for a spinlock?
<apeiros_>
and in that situation, even though it is busy, it is supposed to perform better
<apeiros_>
I intend to use it in a situation where I do: work_queue.push(work); Thread.sleep
<yorickpeterse>
hmm
robotmay has joined #ruby-lang
<apeiros_>
and in the worker I do: do_work; Thread.pass until waiting_thread.sleep?; waiting_thread.wakeup
<yorickpeterse>
I'd use events (moar callbacks) for this but I'm not sure if that would be viable
<apeiros_>
i.e., the spinlock is there to avoid waking the sleeping thread before it actually goes to sleep
<burgestrand>
Hm, actually…
<burgestrand>
There’s a race condition there if two threads try to acquire the same spinlock
<apeiros_>
that's not possible. a producer thread can only feed one worker thread. so per work-unit there will only be one thread working on it and only one thread waiting for it
<burgestrand>
You still need the usual set_if_not_set operation
<burgestrand>
Ah, alright, that’s probably fine then
<burgestrand>
You’ll have yourself a ghetto spinlock
<apeiros_>
(it's to implement the blocking variant in a generally non-blocking lib)
<apeiros_>
I'll push it to github in maybe an hour or two. it's an MxResolverPool
<apeiros_>
could theoretically easily be used for anything other than just mx resolving :) but that's what I need it for.
<apeiros_>
scales nicely btw. - 20 threads provides almost 20x the performance on average.
gnufied has joined #ruby-lang
<burgestrand>
Sweet!
<apeiros_>
yeah, I was quite happy about that. had to resolve ~10k mx'es - that'd have taken ages otherwise :D
<ddfreyne>
nice :)
<ddfreyne>
I have some thing like that in nanoc for validating external links
<apeiros_>
you might be interested in the pool class then ;-)
<ddfreyne>
certainly :)
<apeiros_>
all you need to do is replace the resolving logic I think. the result is out-of-order, though.
<ddfreyne>
yeah that is to be expected
<apeiros_>
indeed. one can reorder. which still makes sense if you have an array input and expect an array output.
AlHafoudh has quit [Client Quit]
<ddfreyne>
what I basically have is a work queue and a threadsafe enumerator, and a bunch of threads that take work
<apeiros_>
yeah, I have in-queue, out-queue and worker threads
gnufied has quit [Ping timeout: 244 seconds]
<apeiros_>
I assume you use the threadsafe enumerator for what I use the out-queue?
<ddfreyne>
the out-queue is also threadsafe (well, just an array with mutex.sync { ... } around it)
<ddfreyne>
do let me know once you have your pool :)
<ddfreyne>
apeiros_: I intend to make the reading of items, parsing of metadata, ... in nanoc all concurrent as well. Should provide a speedup (not large, but it should remove quite a bit of iowait)
<apeiros_>
well, I have it. I'm working on generalizing it.
<apeiros_>
but I notice it's quite a lot of work to make it generic :-/
<ddfreyne>
so I migiht be able to use something of a general pool for that
<apeiros_>
the generic solution is technically looking like this: you have a key (in my case the domain), and you have a query (in my case the mx lookup). key+query are used to cache the result. if the result can be retrieved from cache, don't parallelize.
<apeiros_>
if it can't be retrieved from cache, push it to the worker queue
<apeiros_>
and now comes the hard part - for different usage patterns, it needs different ways to retrieve the result
<apeiros_>
also I want to avoid that if a key+query comes a second time while the first one is being processed, that the item is added to the work queue a second time
<apeiros_>
I *may* be overthinking this.
Mon_Ouie has joined #ruby-lang
Mon_Ouie has joined #ruby-lang
Mon_Ouie has quit [Read error: Connection reset by peer]
Mon_Ouie has joined #ruby-lang
Mon_Ouie has joined #ruby-lang
Mon_Ouie has quit [Changing host]
l0r0nAr has quit [Quit: Leaving]
dmartenson has joined #ruby-lang
l0r0nAr has joined #ruby-lang
dmartenson has quit [Remote host closed the connection]
outsmartin has quit [Quit: Leaving.]
cdt has joined #ruby-lang
robin850 has joined #ruby-lang
toretore has joined #ruby-lang
woollyams has quit [Quit: Computer has gone to sleep.]
crudson has quit [Quit: Leaving.]
thisirs has joined #ruby-lang
ioga_wrk has quit [Remote host closed the connection]
<andrewvos>
If you think you're overthinking it, then you're overthinking it.
pbjorklund has quit [Ping timeout: 245 seconds]
pbjorklund has joined #ruby-lang
gouthamvel has joined #ruby-lang
<rue>
If you may be thinking you’re overthinking it, you’re maybe overthinking overthinking
thone has quit [Read error: Connection reset by peer]
thone_ has joined #ruby-lang
Criztian has joined #ruby-lang
<rue>
apeiros_: Wouldn’t double-checked help there?
<rue>
I just skimmed, so
gouthamvel has left #ruby-lang [#ruby-lang]
<apeiros_>
double-checked? You mean waiting_thread.sleep? twice, no loop? or…?
zz_chrismcg is now known as chrismcg
dc5ala has joined #ruby-lang
Carnage\ has quit [Read error: Operation timed out]
workmad3 has joined #ruby-lang
<rue>
Check your condition once before trying to mutex it, then check it again after
postmodern has quit [Quit: Leaving]
pbjorklund has quit [Ping timeout: 245 seconds]
pbjorklund has joined #ruby-lang
Zyclops has joined #ruby-lang
gokul has joined #ruby-lang
yannis has joined #ruby-lang
dalekurt has quit [Quit: Zzz...]
ioga_wrk has joined #ruby-lang
qwerxy has joined #ruby-lang
jbsan has joined #ruby-lang
ben has joined #ruby-lang
tjadc has joined #ruby-lang
tjadc has quit [Read error: Connection reset by peer]
neoesque has quit [Quit: Bye!]
woollyams has joined #ruby-lang
fgomez has quit [Ping timeout: 250 seconds]
gouthamvel has joined #ruby-lang
gouthamvel has left #ruby-lang [#ruby-lang]
yannis has quit [Quit: yannis]
sepp2k has joined #ruby-lang
npras has joined #ruby-lang
kitallis has joined #ruby-lang
srbartlett has joined #ruby-lang
pbjorklu1d has joined #ruby-lang
pbjorklund has quit [Ping timeout: 245 seconds]
QaDeS has joined #ruby-lang
futurechimp has quit [Ping timeout: 252 seconds]
dhruvasagar has quit [Ping timeout: 246 seconds]
futurechimp has joined #ruby-lang
dhruvasagar has joined #ruby-lang
gnufied has joined #ruby-lang
symm-_ has joined #ruby-lang
kitallisii has joined #ruby-lang
kitallis has quit [Ping timeout: 250 seconds]
retro|cz has joined #ruby-lang
yannis has joined #ruby-lang
Asher1 has joined #ruby-lang
Asher has quit [Read error: Connection reset by peer]
Asher1 has quit [Read error: Connection reset by peer]
Hakon|mbp has quit [Quit: Leaving...]
kke has quit [Ping timeout: 265 seconds]
<andrewvos>
Hmm, phone interviewing a rails contractor.
<andrewvos>
What sort of questions should I ask?
<andrewvos>
Basically just want to make sure he's not making up his rails experience.
<andrewvos>
So I can get him in for a real interview.
<andrewvos>
What sort of questions aren't shitty?
<andrewvos>
Like, asking someone to explain TDD is a bit of a dick move in my opinion.
<andrewvos>
I think for phone interviews you should maybe just ask quick questions.
<andrewvos>
Not "explain TDD and how it changes your development cycle"
<burgestrand>
andrewvos: how about his github account?
<burgestrand>
Doesn’t necessarily have one, but if he does it might help.
<andrewvos>
burgestrand: It looks pretty bleak
<andrewvos>
burgestrand: Took me about 5 minutes of googling to find it
<burgestrand>
andrewvos: hm, you could ask him what he usually do when he creates a new rails project, or when he visits an already-existing project. Not sure how much value the question brings (but then again, it *is* a phone interview after all so you can’t expect much anyway).
<burgestrand>
Like. What are his first steps.
<andrewvos>
burgestrand: But that's not really something you do often is it?
<burgestrand>
If he says he goes into config/routes.rb and deletes all the comments you have a winner.
<burgestrand>
:p
<burgestrand>
andrewvos: well, for a contractor it’d be once for every rails project, wouldn’t it?
<andrewvos>
Yeah true
<tooky>
andrewvos: can you remote pair on a simple project with him, maybe rubygems.org or something? TeamViewer makes it pretty easy.
<tooky>
s/simple/opensource/
<andrewvos>
tooky: He's coming in for pairing if the interview goes well
<burgestrand>
Personally I’d be interested in what his major pain point of Rails is.
* burgestrand
shrugs
workmad3 has quit [Ping timeout: 248 seconds]
<andrewvos>
That's a good one
<andrewvos>
I'll ask that
srbartlett has quit [Remote host closed the connection]
Asher has joined #ruby-lang
JustinCampbell has joined #ruby-lang
soahccc` is now known as soahccc
dc5ala has quit [Quit: Ex-Chat]
workmad3 has joined #ruby-lang
<whitequark>
burgestrand: maybe ask a list of gems he commonly uses?
<burgestrand>
andrewvos: ^
<whitequark>
... and I'd also be interested if he's using them as a readymade components (a la Delphi) or actually forked/explored/debugged them.
<whitequark>
s,a ,,
<andrewvos>
whitequark: He hasn't really forked much I don't think
<andrewvos>
Heh I'm not going to do fizzbuzz over the phone.
Berglund has joined #ruby-lang
<andrewvos>
And I don't think it's right to ask developers to do a coding task at home.
<workmad3>
andrewvos: why not?
<andrewvos>
They can pair program with me when they get a face to face interview.
<workmad3>
andrewvos: you want to determine if they can code, they want to demonstrate they can code, either they link to code they've done or they provide a demonstration
<andrewvos>
workmad3: Because it's bullshit
<workmad3>
andrewvos: no less bullshit than those questions are
ben has left #ruby-lang [#ruby-lang]
<workmad3>
andrewvos: and a lot more relevant than asking questons about code comments that will either give you a canned answer from university saying 'comments are good' or a canned answer from some agile book saying 'comments are bad'
<andrewvos>
So you think instead of a phone intervie
<andrewvos>
gah stupid ssh
<andrewvos>
So you think instead of a phone interview I should just ask them to write code for me?
<workmad3>
andrewvos: and even better, it'll weed out the people who don't give a shit and mean you're only left with candidates who can give you code to demonstrate they can code
<whitequark>
andrewvos: you're hiring him for him to write code for you. yes.
<workmad3>
andrewvos: do both... but keep the phone interview to something you *can* assess by talking to him... does he seem to be a good fit personality wise for your team?
<workmad3>
andrewvos: rather than the equivalent of asking a painter about bristle thickness and how it makes him feel over the phone
zmack_ has quit [Read error: Connection reset by peer]
<andrewvos>
I hardly think those are equivalent.
<workmad3>
andrewvos: do what? asking what he thinks about code comments? it's pretty close :P
zmack has joined #ruby-lang
<workmad3>
andrewvos: or what he thinks about some gem libraries? :)
<andrewvos>
workmad3: It will show that he has actually written code before.
<andrewvos>
Which is pretty much what I need
<workmad3>
andrewvos: no, it'll show that he's done a preliminary google about ruby on the net before a phone interview
<andrewvos>
The pairing excercise will prove that I can work with him, and that he can write good code.
<workmad3>
andrewvos: or that he's good at fast googling and BS
<andrewvos>
Well if he's that good at googling and BS then I'm prepared to waste my time pairing with him.
<workmad3>
andrewvos: assessing if someone can code is hard... the best metric is to get them to write code, not ask some focussed questions about random areas of programming trivia
dRbiG has quit [Ping timeout: 250 seconds]
<andrewvos>
workmad3: I'm pretty sure I've mentioned that I intend pairing with him?
<workmad3>
andrewvos: sure, but you want to determine if he's coded beforehand to filter
<andrewvos>
Yeah, so some questions about ruby with short answers should help with that.
<workmad3>
andrewvos: it'll mean either you've gotten a coder who isn't brilliant at phone interviews and you get rid of him, you've got a coder who is good at phone interviews, so you keep him, you've got a good BSer and you keep him, or you've got a bad BSer and you get rid of him
<workmad3>
andrewvos: so out of 4 options, you get rid of 1 option you want, and 1 option you don't want and keep 1 option you want and 1 option you don't want... while a quick request for either code repos or a short exercise will get rid of 2 options you don't want and keep 2 options you want
<andrewvos>
Luckily I don't intend on hiring him without pair programming with him first
<workmad3>
andrewvos: no, but that's a pretty poor screening mechanism :)
<tooky>
andrewvos: I think using the phone interview to get a feel for whether you'll get on with him works well, not sure how much you can screen him as a programmer without the pairing exercise.
<tooky>
andrewvos: so either wait to do that, or do a smaller one as a pairing exercise remotely.
<workmad3>
andrewvos: I'm not suggesting you drop the pairing exercise, I'm just suggesting that a few short questions about programming is nowhere near as good a screening mechanism as asking for a demonstration of programming
<andrewvos>
tooky: Yeah true. These questions should basically prove that he has written code before, and that he isn't a dick.
<workmad3>
andrewvos: and it's much easier to get through questions about coding without having written code than it is to get through coding without having written code
<tooky>
andrewvos: personally I'd do remote pairing using teamviewer or similar, so he can use his environment and feel comfortable. and do something like a kata together.
<workmad3>
andrewvos: and I can say that, having been on both sides, I don't consider being asked to provide examples of work or do a short exercise for a job an imposition, and also that the people I've asked to provide code and get upset about it tend to be the ones who can't code
<workmad3>
andrewvos: and yet those same people could wax eloquently *about* coding, just didn't want to show they could do it
<banisterfiend>
andrewvos: better yet, ask him to start a REPL, if he chooses pry then hire him on the spot
<andrewvos>
heh
<workmad3>
banisterfiend: what if he starts up scala? :P
<banisterfiend>
workmad3: then he's turned up at the wrong interview heh heh
<workmad3>
banisterfiend: or a lisp REPL? :)
<workmad3>
banisterfiend: what if he's an annoying pedant and decided to do it because you didn't specify a *ruby* REPL? ;)
<banisterfiend>
if it's SLIME or smalltalk then probably +1 him
dRbiG has joined #ruby-lang
outoftime has quit [Ping timeout: 248 seconds]
squatch_ has joined #ruby-lang
<workmad3>
andrewvos: anyway, I'm just saying, from my experience and from other people I've heard from, the standard of people that can get through a short phone interview with some coding questions is lower than the standard of people you get by asking for some code, as a precursor to a f2f interview or pairing exercise
<workmad3>
andrewvos: and asking for code also gives you a talking point in a f2f interview... you can ask questions about why they chose certain ways of doing things in the past based off it :)
Kzar has joined #ruby-lang
gokul has quit [Remote host closed the connection]
heftig has quit [Ping timeout: 245 seconds]
l0r0nAr has quit [Quit: Leaving]
symm-_ has quit [Ping timeout: 252 seconds]
ryanf has quit [Quit: leaving]
outoftime has joined #ruby-lang
<andrewvos>
workmad3: Thanks I will keep this in mind.
tekin has joined #ruby-lang
tekin has quit [Client Quit]
dejongge has joined #ruby-lang
squatch_ has quit [Quit: Computer has gone to sleep.]
gouthamvel has joined #ruby-lang
symm-_ has joined #ruby-lang
gouthamvel has left #ruby-lang [#ruby-lang]
woollyams has quit [Quit: Computer has gone to sleep.]
woollyams has joined #ruby-lang
dejongge has quit [Quit: Leaving.]
jxie_ has quit [Quit: leaving]
dejongge has joined #ruby-lang
bazza has joined #ruby-lang
bazza has left #ruby-lang [#ruby-lang]
mistym has joined #ruby-lang
jperry2 has joined #ruby-lang
jewing has joined #ruby-lang
kitallisii has quit [Ping timeout: 248 seconds]
jewing has left #ruby-lang [#ruby-lang]
ku1 has joined #ruby-lang
sailias has joined #ruby-lang
heftig has joined #ruby-lang
nofxxxx has joined #ruby-lang
nofxxx has quit [Ping timeout: 250 seconds]
kitallis has joined #ruby-lang
squatch_ has joined #ruby-lang
srbartlett has quit [Remote host closed the connection]
awwaiid has quit [Read error: Connection reset by peer]
awwaiid has joined #ruby-lang
umttumt has quit [Remote host closed the connection]
squatch_ is now known as tommyvyo
soahccc` is now known as soahccc
chendo_ has joined #ruby-lang
dalekurt has joined #ruby-lang
Axsuul has quit [Ping timeout: 248 seconds]
kurko_ has joined #ruby-lang
<kith>
can i use cgi/session to authenticate users?
mistym has quit [Remote host closed the connection]
kristofferrr has quit [Quit: ❤]
Jay_Levitt has joined #ruby-lang
Jay_Levitt has joined #ruby-lang
workmad3 has quit [Ping timeout: 240 seconds]
mistym has joined #ruby-lang
mistym has quit [Changing host]
mistym has joined #ruby-lang
mistym has quit [Remote host closed the connection]
robin850 has left #ruby-lang ["Konversation terminated!"]
workmad3 has joined #ruby-lang
kristofferrr has joined #ruby-lang
<rue>
You could implement an auth system via CGI, yes
<rue>
Or use the HTTP basic/digest auth
<kith>
hm
<kith>
i will need a GUI to manage users
<yorickpeterse>
What's the generally accepted way of breaking a Sinatra app into multiple classes/modules? The docs don't really clarify this other than showing a single class that inherits from Sinatra::Base.
<kith>
vi + conf files ist not managable by the "audience"
andrewhl has joined #ruby-lang
<rue>
yorickpeterse: Wouldn’t you just do that?
<kith>
would i need both sessions and cookies to do auth on cgis?
<yorickpeterse>
rue: dunno, I don't use Sinatra that often
<kith>
or do sessions alone work?
<workmad3>
kith: how do you maintain a session without a cookie over http? :)
<yorickpeterse>
What I've found so far just slaps everything into a single class
<kith>
workmad3: yeah i wasnt sure i got it right
<andrewvos>
yorickpeterse: Yeah keep it in a single class
<andrewvos>
yorickpeterse: But try keep it small
<andrewvos>
yorickpeterse: Have other classes do important things
<kith>
workmad3: so when a cookie gets stolen i'm screwed rightt?
<workmad3>
kith: an HTTP session is just an abstraction over http cookies
<workmad3>
kith: pretty much, so make sure they don't get stolen :P
<kith>
ok
<workmad3>
kith: https all the way ;)
<yorickpeterse>
andrewvos: I'd rather not have all the routing in a single file
<yorickpeterse>
or class for that matter
<andrewvos>
yorickpeterse: Why not?
<andrewvos>
yorickpeterse: Not being an argumentative douchebag, just genuinely interested.
<yorickpeterse>
Because you'll have routes for different data endpoints in the same location. It's like having one controller that does everything
enebo has joined #ruby-lang
dv310p3r has joined #ruby-lang
<yorickpeterse>
Ideally I want to go down the usual controller approach with Sinatra
<andrewvos>
yorickpeterse: Does sinatra not do nested routes yet?
<workmad3>
yorickpeterse: sounds like something you'd probably want to play with using Rack to route to different sinatra apps
<yorickpeterse>
hmm
<andrewvos>
yorickpeterse: Could you just have a file for every group of routes?
<yorickpeterse>
andrewvos: that's what I'm looking for
<workmad3>
yorickpeterse: assuming Sinatra doesn't provide a way to route urls to different sinatra apps easily already
<andrewvos>
yorickpeterse: So just have each file inherit from Sinatra::Base
<andrewvos>
yorickpeterse: Like you normally do it
<andrewvos>
yorickpeterse: It will share the same class name, but meh
<yorickpeterse>
Thanks, I'll give that a try :)
<yorickpeterse>
And no, I think I can abuse rack's nested routing as workmad3 mentioned
<andrewvos>
yorickpeterse: Or maybe you could class_eval inside Application class?
<workmad3>
hmm, actually, that's a point... you can just reopen the class with ruby, so you can split across several files easily :)
<yorickpeterse>
In that case I'd go with modules and extend those
Manhose has joined #ruby-lang
<yorickpeterse>
feels cleaner than re-defining the class' contents
<yorickpeterse>
class MyApp < Sinatra::Base; extend SomePartOfWhatever; end
<workmad3>
yorickpeterse: sounds reasonable to me
<yorickpeterse>
But first I'll give map() a try, maybe that solves it in the cleanest way
<banisterfiend>
yorickpeterse: you should use MOVE instead of MVC
<banisterfiend>
:D
<yorickpeterse>
haha
kvirani has quit [Remote host closed the connection]
<andrewvos>
STFU banisterfiend
<workmad3>
banisterfiend: looks like you have a groupie! :)
<banisterfiend>
andrewvos: or what.........u gonna pay for $500 ppl to say bad things about me on twitter??
<banisterfiend>
500*
<andrewvos>
banisterfiend: I CAN DO THAT?
<workmad3>
andrewvos: you can... you could probably spawn an amazon mechanical turk job to do it too, nice and cheap
<tubbo>
would it be possible to design a piece of hardware to only run ruby? that is, put ruby in the place of C as a low-level programming language just above assembly
<lianj>
C is high level
<scientes>
tubbo, it wouldn't be hardware, it would be something like a ruby compiler, build on llvm
akira989 has quit [Remote host closed the connection]
<lianj>
_trollface_
<scientes>
or as another frontend to gcc
<scientes>
but I doubt it would work without significant changes to the language, or only as a hybrid JIT/compiled
<tubbo>
lianj: well yeah but i didn't want to confuse people by saying high-level b/c they'd think i meant java :)
<drbrain>
there's Ruby Arduino Development
<scientes>
the problem is that ruby isn't statically typed
<erikh>
there is a java chip
<tubbo>
scientes: so theoretically, it would be possible to create an operating system written entirely in ruby?
<erikh>
as I understand it
<drbrain>
it translates ruby to C to Arduino
<erikh>
oh, neat.
<scientes>
and if it isn't statically typed whats the damn point
<tubbo>
scientes: well *technically* there are types.
<drbrain>
scientes: what does static typing have to do with writing an OS?
<lianj>
and "only ruby" is near impossible
<tubbo>
it's not statically typed but that's a detail of implementation
<tubbo>
lianj: well, ruby being the dominant language. imagine ruby in the place of C.
<erikh>
drbrain: it's faster, duuuuuh.
<drbrain>
Smalltalk isn't statically typed
<tubbo>
neither is lisp :)
<scientes>
I only think statically typed languages can be taken seriously as low-level languages
<tubbo>
lol
<drbrain>
and both run on hardware
<tubbo>
once again, that's a matter of opinion
<drbrain>
scientes: you should read some more literature on the matter
<erikh>
literature!
<erikh>
I'm adding nothing of value, but it's friday.
<tubbo>
we got them literatures for you
<tubbo>
litter-churrs
RegEchse has quit [Quit: <3 WeeChat (v0.3.8-rc2)]
<tubbo>
drbrain is right though. it's all relative and a matter of personal preference
<tubbo>
for example, i prefer dynamically typed languages. i see static typing as an unnecessary annoyance
<scientes>
i prefer dynamic typing for scripting
<tubbo>
a programming language is just an interface, it can be whatever we want it to be
<drbrain>
at this point, running CRuby would be restricted in a multicore environment due to the GVL
<scientes>
I just don't think it can be taken seriously for systems programming
<tubbo>
but for example, in something like Ruby which is so expressive and dynamically typed, we could represent extremely low-level features such as memory allocation as objects rather than types