<zenspider>
whitequark: ? I was making commentary on the silence
qpingu has joined #ruby-lang
banisterfiend has joined #ruby-lang
<whitequark>
zenspider: sure, I understood that and began reading the backlog
franky has joined #ruby-lang
<whitequark>
and then became curious about the siren thing, whatever it is
<zenspider>
siren song
<whitequark>
it is related to lowlevel, therefore probably interesting
<zenspider>
it's on my blog
<whitequark>
hm
cantonic has quit [Quit: cantonic]
<whitequark>
ahh, I've already read it
gsav has joined #ruby-lang
lolzie has quit [Quit: Page closed]
<whitequark>
but I don't really understand what kind of result do you want to achieve...
<whitequark>
is it just a really really weird project/tdd tutorial?
Criztian has quit [Remote host closed the connection]
qpingu has quit [Quit: Leaving.]
elux has joined #ruby-lang
nebbie has quit [Ping timeout: 244 seconds]
tenderlove has quit [Remote host closed the connection]
<postmodern>
is there a library that can infer the gender of a given name?
sepp2k has quit [Remote host closed the connection]
cantonic has joined #ruby-lang
<drbrain>
none that I've heard of
<postmodern>
or maybe a database I can reuse?
<drbrain>
what do you do for "Pat"
<drbrain>
"Chris"?
<postmodern>
drbrain, i'll have to rewatch the old Saturday Night Live episodes for Pat
<postmodern>
see how they handled it
<postmodern>
basically i need a function that can go from "Foo Bar" => "(Mr.|Mrs.) Bar"
<drbrain>
why not just "Dear Bar"
<postmodern>
drbrain, might work, but sounds weird
<canton7>
making guesse like that is generally a bad idea. people tend to get offended if you get it wrong
<drbrain>
it'll probably save you from angry mail recipients
<canton7>
which you will, sooner or later
<drbrain>
I'd be upset
<zzak>
Dear Ms. Erica Hodel
tenderlove has joined #ruby-lang
elux has quit [Quit: Leaving...]
<zenspider>
postmodern: pretending there is such a thing as binary gender is a mistake.
<zenspider>
whitequark: huh? no. it's supposed to be some software that lets you listen to your code running
<whitequark>
postmodern: there is, but I don't recall a name
<whitequark>
it uses a really big public domain database
znz_jp has quit [Quit: kill -QUIT $$]
<drbrain>
there's also the problem of parsing out a "first name"
<whitequark>
drbrain: and it has 5 grades for names, from "certainly male" to "mostly male" to "not sure" to ... to "certainly female"
<whitequark>
Compares two values of any type and structure and returns true if they are the same. It does a deep comparison of the structures, so a hash of a hash of a whatever will be compared correctly.
<whitequark>
use Struct::Compare;
<whitequark>
erm, sorry
<whitequark>
my $is_different = compare($ref1, $ref2);
<whitequark>
damned middle-click paste
<drbrain>
… looks like perl
<whitequark>
yes, it's from zenspider's website
<whitequark>
I tend to select paragraphs of text while reading
<whitequark>
and then this touchpad sometimes thinks that a 3-finger tap is actually a 2-finger tap
<whitequark>
and you see what happens.
<drbrain>
I cured myself of that habit. It was dificult
<whitequark>
what for?
znz_jp has joined #ruby-lang
<drbrain>
well, I didn't have random crap in my clipboard anymore
<whitequark>
yeah, I would probably have some password then :)
<drbrain>
the biggest problem was my font was too small
<drbrain>
making the font bigger makes paragraphs easer to read
franky has quit [Ping timeout: 252 seconds]
<drbrain>
then I don't forget where I was
<whitequark>
hm, I don't forget the position and never did, it's just a weird habit
<whitequark>
no idea how it has evolved
znz_v has quit [Quit: kill -QUIT $$]
znz_v has joined #ruby-lang
<whitequark>
postmodern: sorry, I can't seem to find the library
dhruvasagar has joined #ruby-lang
wpaulson has joined #ruby-lang
<postmodern>
whitequark, thanks for looking
vu33 has quit [Quit: Leaving]
elux has joined #ruby-lang
banisterfiend has quit [Remote host closed the connection]
crackity_jones has quit [Quit: Computer has gone to sleep.]
s0ra_h is now known as sora_h
enebo has quit [Quit: enebo]
ttilley has quit [Quit: ttilley]
sandbags has quit [Remote host closed the connection]
sora_h is now known as s0ra_h
Hakon has joined #ruby-lang
macmartine has joined #ruby-lang
elux has quit [Quit: Leaving...]
sush24 has joined #ruby-lang
tenderlove has quit [Remote host closed the connection]
alvaro_o has quit [Quit: Ex-Chat]
banisterfiend has joined #ruby-lang
kvirani has quit [Remote host closed the connection]
wpaulson has quit [Read error: Connection reset by peer]
wpaulson has joined #ruby-lang
lsegal` has joined #ruby-lang
lsegal` has quit [Client Quit]
towski has quit [Remote host closed the connection]
dous has quit [Remote host closed the connection]
banisterfiend has quit [Remote host closed the connection]
<MouseTheLuckyDog>
I just encountered the FileTest module in 1.9.3 . What's the history of this module? DO I have to use it if I want the functionality in it?
m3nd3s has quit [Remote host closed the connection]
mistym has quit [Remote host closed the connection]
crankharder has joined #ruby-lang
chendo_ has quit [Ping timeout: 255 seconds]
chendo_ has joined #ruby-lang
banisterfiend has quit [Read error: Connection reset by peer]
jtoy has joined #ruby-lang
banisterfiend has joined #ruby-lang
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
^sandbags^ has joined #ruby-lang
^sandbags^ has quit [Changing host]
^sandbags^ has joined #ruby-lang
burgestrand has quit [Quit: Leaving.]
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
sandbags_ has joined #ruby-lang
sandbags has quit [Ping timeout: 246 seconds]
^sandbags^ has quit [Ping timeout: 246 seconds]
dous has quit [Ping timeout: 246 seconds]
rohit has quit [Ping timeout: 244 seconds]
codewrangler has joined #ruby-lang
snorkdude has quit [Remote host closed the connection]
codewrangler has quit [Client Quit]
ruurd has joined #ruby-lang
deryl has quit [Quit: deryl]
macmartine has quit [Quit: Computer has gone to sleep.]
Swimming_Bird has joined #ruby-lang
rue|w has joined #ruby-lang
rue|w has quit [Remote host closed the connection]
nXqd has joined #ruby-lang
diegoviola has quit [Read error: Connection reset by peer]
wallerdev has quit [Quit: wallerdev]
diegoviola has joined #ruby-lang
ronnieBoy has joined #ruby-lang
andoyasushi has joined #ruby-lang
andoyasushi has quit [Excess Flood]
ronnieBoy has quit [Ping timeout: 246 seconds]
chendo_ has quit [Ping timeout: 246 seconds]
_|christian|_ has quit []
chendo_ has joined #ruby-lang
ramu3 has joined #ruby-lang
banisterfiend has quit [Remote host closed the connection]
crankharder has quit [Ping timeout: 246 seconds]
ttilley has joined #ruby-lang
pabs has quit [Ping timeout: 268 seconds]
banisterfiend has joined #ruby-lang
yxhuvud has joined #ruby-lang
zmack has joined #ruby-lang
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
crankharder has joined #ruby-lang
yats has joined #ruby-lang
nXqd has quit [Remote host closed the connection]
pabs has joined #ruby-lang
dous has quit [Ping timeout: 246 seconds]
ramu3 has quit [Quit: Leaving...]
yats has quit [Quit: Leaving]
burgestrand has joined #ruby-lang
tjadc has joined #ruby-lang
igotnolegs has quit [Quit: Computer has gone to sleep.]
kingCrawlerx has joined #ruby-lang
tjadc has quit [Ping timeout: 240 seconds]
justinmcp has quit [Remote host closed the connection]
ruurd has quit [Quit: Leaving...]
andoyasushi has joined #ruby-lang
faces has joined #ruby-lang
areil has joined #ruby-lang
sandbags_ has quit [Remote host closed the connection]
hhatch has joined #ruby-lang
|Vargas| has joined #ruby-lang
|Vargas| has quit [Changing host]
|Vargas| has joined #ruby-lang
hhatch has quit [Read error: Connection reset by peer]
hhatch has joined #ruby-lang
Theueip has joined #ruby-lang
burgestrand has quit [Quit: Leaving.]
hollymann has joined #ruby-lang
_malte has joined #ruby-lang
robbyoconnor has joined #ruby-lang
r0bby has joined #ruby-lang
r0bby has quit [Read error: Connection reset by peer]
r0bby has joined #ruby-lang
robbyoconnor has quit [Ping timeout: 240 seconds]
r0bby is now known as robbyoconnor
r0bby has joined #ruby-lang
nXqd has joined #ruby-lang
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
savage- has quit [Remote host closed the connection]
robbyoconnor has quit [Ping timeout: 255 seconds]
yxhuvud has quit [Ping timeout: 268 seconds]
r0bby is now known as robbyoconnor
dous has quit [Ping timeout: 246 seconds]
_malte has quit [Remote host closed the connection]
Xzyx987X has quit [Quit: Leaving]
runeb has joined #ruby-lang
runeb has quit [Remote host closed the connection]
kingCrawlerx has quit [Quit: Computer has gone to sleep]
alexkira_ has quit [Remote host closed the connection]
justinmcp has joined #ruby-lang
jtoy has quit [Quit: jtoy]
towski has quit [Remote host closed the connection]
Dreamer3 has quit [Quit: Computer has gone to sleep.]
tjadc has joined #ruby-lang
_malte has joined #ruby-lang
jtoy has joined #ruby-lang
qwerxy has joined #ruby-lang
sandbags has joined #ruby-lang
sandbags has quit [Changing host]
sandbags has joined #ruby-lang
_malte has quit [Remote host closed the connection]
andoyasushi has quit [Ping timeout: 246 seconds]
rue|w has joined #ruby-lang
kitallis has joined #ruby-lang
runeb has joined #ruby-lang
fragmach1ne has joined #ruby-lang
banisterfiend has quit [Read error: Connection reset by peer]
fragmach1ne has quit [Client Quit]
jtoy has quit [Quit: jtoy]
ruurd has joined #ruby-lang
banisterfiend has joined #ruby-lang
cha1tanya has joined #ruby-lang
Xzyx987X has joined #ruby-lang
tbuehlmann has joined #ruby-lang
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
thone has joined #ruby-lang
dous has quit [Ping timeout: 246 seconds]
thone_ has quit [Ping timeout: 244 seconds]
josh^ has quit [Ping timeout: 246 seconds]
josh^ has joined #ruby-lang
qwerxy has quit [Quit: offski]
charliesome has joined #ruby-lang
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
mr_dynamix has joined #ruby-lang
mr_dynamix has quit [Client Quit]
<yorickpeterse>
Morning
<rue|w>
HI THERE
andoyasushi has joined #ruby-lang
<erikh>
HELLO
Criztian has joined #ruby-lang
mr_dynamix has joined #ruby-lang
Criztian has quit [Remote host closed the connection]
<yorickpeterse>
Reached a nice milestone today: my Ruby parser is now capable of parsing itself without errors :>
cdt has joined #ruby-lang
<yorickpeterse>
Still not parsing everything though, classes and modules (and a few other things) still have to be taken care of
<erikh>
fun.
<erikh>
my goal today is to learn enough rust to write a small program.
toretore has joined #ruby-lang
<ryanf>
yorickpeterse: does that mean your parser is written without defining any classes or modules?
<yorickpeterse>
No, it means it still uses Ripper's default sexp output when it finds a class or module
mr_dynamix has quit [Quit: mr_dynamix]
lun__ has joined #ruby-lang
lun_ has quit [Ping timeout: 252 seconds]
mr_dynamix has joined #ruby-lang
tjadc_ has joined #ruby-lang
tjadc has quit [Ping timeout: 248 seconds]
<zzak>
erikh: you're up early
<erikh>
woke up at 1pm today
<zzak>
oh wait, its only midnight PST
<erikh>
need to get my sleep schedule fixed, so I'll be staying up today
mylordangus has joined #ruby-lang
<erikh>
interesting, rust is self-hosted already
diegoviola has quit [Quit: leaving]
ryanf has quit [Ping timeout: 252 seconds]
<erikh>
it's just amazing how complete it is already
<yorickpeterse>
meh, I don't like the syntax
<yorickpeterse>
It's as if they went "EWWWW PARENTHESIS/BRACES" but without actually removing the braces
<erikh>
ruby has the braces too, it just makes them wordier
<yorickpeterse>
I don't mind the braces but something like `if foobar { ... }` just looks weird to me
diegoviola has joined #ruby-lang
<erikh>
oh, I'll bet you (just like ruby) you can use parens there if you desire it.
<erikh>
it's like dot syntax in scala -- it's totally something you can do but the language author prefers the dotless method
<erikh>
and he's writing the manual, so...
<erikh>
I really like how local variables are implicitly const'd
<erikh>
and language constructs are expressions ala ruby.
stepnem has joined #ruby-lang
<yorickpeterse>
"implicitly const'd"?
<erikh>
yeah. 'let' implies first assignment only, errors out if you try to reassign
<erikh>
you use 'let mut' to create variables that can be mutated within scope
<erikh>
it also does this with inference so you don't have to predeclare any types if you'd prefer not to
<yorickpeterse>
Ah
<erikh>
it may not be everyone's desire, but they have their shit together for sure.
<erikh>
I guess what I'm saying is that it's remarkably mature for something that was really only publicized a month or two ago
<erikh>
even has syntax support for vim and emacs.
<yorickpeterse>
How does it compare to other compiled languages such as C and Haskell in terms of performance?
<yorickpeterse>
Or is this something you haven't looked into yet?
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
<erikh>
nah, not yet
<erikh>
I imagine it's much slower. Last I heard, fortran compilers generated the fastest code, but only because they had a 20 year or so head start
jbsan has quit [Quit: jbsan]
<whitequark>
moo
dous has quit [Ping timeout: 246 seconds]
s1n4 has joined #ruby-lang
justinmcp has quit [Remote host closed the connection]
etan has joined #ruby-lang
robotmay has joined #ruby-lang
rohit has joined #ruby-lang
qwerxy has joined #ruby-lang
diegoviola has quit [Ping timeout: 244 seconds]
rue|w has quit [Remote host closed the connection]
runeb has quit [Remote host closed the connection]
rue|w has joined #ruby-lang
Future[Chimp] has joined #ruby-lang
justinmcp has joined #ruby-lang
tooky has joined #ruby-lang
tooky has quit [Remote host closed the connection]
tooky has joined #ruby-lang
<andrewvos>
Current Status: Arguing that PHP is shit in a channel filled with PHP programmers.
<erikh>
andrewvos: there are no shitty languages, only shitty programmers.
<tbuehlmann>
hah, wanted to write that..
<canton7>
some languages don't make it exactly easy though
<Future[Chimp]>
Computer languages are like human languages - they usually have distinct cultures associated with them.
<andrewvos>
erikh: That is wrong. PHP is a shitty language.
<canton7>
my current gripe is they randomly decided to shift method/function names from snake_case to CamelCase. so no standard I can adopt looks consistent
<tbuehlmann>
and they even differ when using different locals, which is pretty funny
<canton7>
I did spend some time extend e.g. ArrayObject to to provide methods similar to ruby's array
<canton7>
*time try to extend
<canton7>
*trying (still drinking my morning coffee)
<erikh>
andrewvos: dunno, seems to work well for yahoo and facebook. that said, they're using it where it's done best.
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
runeb has joined #ruby-lang
<erikh>
andrewvos: c'mon man, this effort is wasted if you don't rage out of control at me
dous has quit [Ping timeout: 252 seconds]
* andrewvos
can not hear anything
<erikh>
can you read this: umadbro
<andrewvos>
:)
<andrewvos>
ok, so, where is it "done best" then?
<erikh>
seriously, yahoo and facebook use it strictly for upper-middle-tier programming and that's it
<erikh>
real backend work goes to C and C++ mostly.
<erikh>
similar to how amazon used to do perl, although I'm told it's mostly just C and C++ these days with some java splashed in
<andrewvos>
Reddit use only two columns and that works. Still not a good idea.
<erikh>
reddit actually has downtime, to
<erikh>
o
<andrewvos>
Reddit goes down more than your mom
<andrewvos>
haha sorry
<andrewvos>
bit far there
<erikh>
my mom's pushing 60. good for her, she needs her bones rattled.
<andrewvos>
hehe
<banisterfiend>
erikh: isn't the reason they're using PHP mainly historical ? i.e the time they wrote it PHP was the only option
<erikh>
with facebook to a degree, but I doubt that's the real issue still.
<banisterfiend>
also i guess there's tonnes of PHP engineers so they have no problem finding willing code monkeys
<erikh>
yahoo introduced php later
<erikh>
yahoo *predates* php, and it would be wise to remember that
<banisterfiend>
and for websites the size of yahoo and facebook
<erikh>
right, lots of young, cheap, effective php programmers
<banisterfiend>
the need tonnes of engineers
<banisterfiend>
they*
<bnagy>
I guess that's the outsourcing issue
<banisterfiend>
though youtube is python apparently
<banisterfiend>
and that's a huge site
<bnagy>
you get way less US software engineers per tonne
<erikh>
I don't think google uses php anywhere
<andrewvos>
hehehe
<erikh>
that said, they're not writing bigtable in python either
<banisterfiend>
erikh: well they buy out so many companies, im sure some of them use PHP on their products ;)
<banisterfiend>
i bet blogspot was php
<banisterfiend>
shitty thing anyway
<erikh>
I'll ask tomorrow
<erikh>
they recently redid it, it's actually pretty neat now
<rohit>
I think Orkut was PHP, but they bought it
<erikh>
has a lot of influence from readability.com for sure
<injekt>
good luck if you need support on their irc channel
<erikh>
I think scala is where all the assholes from the lisp community went right after a brief tour through the world of haskell
<banisterfiend>
injekt: the course is taken by the language creator, and it's pretty interactive i.e you can ask him questions and he'll answer (or one of the instructors will, at least for the course duration)
<injekt>
cool
<banisterfiend>
erikh: well im not really learning it for scala, more to get a handle on functional programming ;)
<banisterfiend>
which i dont have at all, really
<erikh>
ah
<erikh>
FP as a concept really isn't complicated
rohit has joined #ruby-lang
<banisterfiend>
just a little sense from when i messed with elisp and got used to writing recursive functions for everything
<injekt>
I learned and wrote scala for about 2 months. I enjoyed the language but would fight every single time I wanted help
<erikh>
it's just that FP is dominated by mathtards who overcomplicate everything
s1n4 has quit [Ping timeout: 264 seconds]
deryl has joined #ruby-lang
<injekt>
it's one of those languages where there's 10 billion ways to do something, but only 1 of them wont get you beheaded
<erikh>
you're a perl programmer
<erikh>
you should be used to this
<injekt>
heh
<injekt>
true
<injekt>
I think the 'do this to optimize for the jvm' was the worst
<erikh>
oh. yeah.
<injekt>
I heard that more than anything
<erikh>
see my statement above about overcomplication
<injekt>
write it like this and it'll be 400x faster... that is not right :D
<injekt>
aye
<injekt>
wow I'm watching paralympics and some of the shit these guys do is incredible
<erikh>
I hate to be such a douche about this, but more often than not people right out of college love FP, and then at around 28 it finally hits them that none of this shit matters
<injekt>
aye
<erikh>
at least that's the pattern I've seen
<injekt>
It's one of those things you should learn to know it, but not be religious about it
<erikh>
I worked at a shop when I was really young where I'd come up with all these cool ideas, and my seniors would say, "remember, we're building a website to sell guitars to stoners."
<erikh>
took a bit, but it grounded me
<injekt>
the last like 18 months I've changed massively in the way I do things, and well.. I kinda just get shit done now. a LOT more shit
<erikh>
aye
<injekt>
and it was actually mostly based on something you said
<injekt>
so I guess I have you to thank
<erikh>
haha, really?
<erikh>
what'd I say? was I drunk?
<injekt>
yeah I was complaining about something stupid, and we were discussing it, before you replied "what are you doing? just get it done"
<injekt>
possibly
<injekt>
paraphrasing a little
<erikh>
haha yeah, or I was tired
<erikh>
I get really short when I'm tired.
<banisterfiend>
erikh: for data.each |byte| { acc += #fmt("%02x", byte as uint); }
<injekt>
it helped anyway
<erikh>
cool.
<banisterfiend>
erikh: what the heck is that ? :P looks like a bizarre mix of for..in and enum.each
<banisterfiend>
^Rust
<erikh>
banisterfiend: yeah; for is actually a kind-of macro that just inlines the processing of the last argument as a block
<erikh>
for has no explicit structure other than it expects the last argument to be a block (properly labeled a closure in rust-speak)
<banisterfiend>
erikh: so arbitrary methods can't accept blocks?
<erikh>
you can write it this way too, if I recall right: each(data, fn |byte| { acc += #fmt(...) })
<erikh>
for is just syntactic sugar. do is the same way.
<injekt>
oo you started getting more into rust today?
<banisterfiend>
ruby FTW
<erikh>
injekt: read the whole tutorial, now to write some programs.
<injekt>
nice
<erikh>
banisterfiend: yeah, I mean, it's not that different from ruby really
<banisterfiend>
erikh: who backs Rust? any big companies?
<erikh>
mozilla
<banisterfiend>
oh ok
<erikh>
it's a 100% mozilla sponsored project
<injekt>
:D
<erikh>
it's not going away.
<erikh>
the team is full time staff.
tallship has quit [Quit: Too Hip gotta go - Going..... Down..... Mr. Tyler?]
andoyasushi has quit [Ping timeout: 246 seconds]
<erikh>
what's neat is that those blocks can also be stored on the heap
<erikh>
well, heap(s)
<erikh>
so they can be used in concurrent programs pretty trivially as long as you stay within the allocation rules for the different heaps.
<erikh>
(think Celluloid)
<injekt>
do they have full concurrency?
<erikh>
yes!
<erikh>
their memory model is divine
<injekt>
neat
<injekt>
not that it matters, but what's the speed like iyo?
<erikh>
basically, they have your standard stack, and a local heap, which are not shared, and a second heap for shared access, but require that each concurrent component utilize that heap's values uniquely
<erikh>
basically all the memory barrier/mutex work is done for you, provided you can keep the compiler happy.
<rue|w>
Rust is the awesomest
<erikh>
speed wise, I don't know yet. I've written hello world and read the tutorial, that's about it.
<injekt>
ah
x0F has quit [Disconnected by services]
x0F_ has joined #ruby-lang
x0F_ is now known as x0F
<erikh>
I'm not too concerned really. given it's compiling to native code the performance possibilities are likely endless
<erikh>
it's not like python or ruby where great strides have to be made for real significant performance gains, like rubinius or pypy
<injekt>
yeah
<injekt>
what do they use it for? (mozilla) looking around but can't find much on that
<injekt>
any idea?
<erikh>
heh, no idea there, it's still solidifying, been public for about 2 months now.
<injekt>
oh that's all
<andrewvos>
I'm pretty good at starting conversations and the promptly buggering off. That is my talent here.
<erikh>
dunno. it's really intriguing and there seems to be a lot of room for awesome provided they don't D it up
<injekt>
ohhh macros
<erikh>
:)
<injekt>
dammit
vlad_starkov has joined #ruby-lang
<injekt>
NO
<erikh>
format strings are provided by macros :)
<injekt>
yeah just noticed that
<injekt>
hmm
<erikh>
oh, and the whole task/parallelism abstraction has proper communication channels too
<erikh>
you don't really have to care how it gets there, but it's typed and structured and all that.
<injekt>
wow their memory system is fucking inteligent
<injekt>
unlike my spelling
<erikh>
yeah. I was really impressed.
<injekt>
intelligent*
<injekt>
@T ~T &T *T
<erikh>
:)
<injekt>
not sure on the whole 'define this function argument as mutable' perl 6 has something similar iirc
sush24 has joined #ruby-lang
<erikh>
the approach is an FP one
<erikh>
ocaml does it similarly IIRC, but it's been a long time
<banisterfiend>
erikh: does it have a gc
<erikh>
it's basically how I program now so it doesn't bother me
<injekt>
ah
<erikh>
banisterfiend: yep, that's why the memory model is the way it is
<banisterfiend>
erikh: oh ok
<injekt>
yeah the memory model has impressed me massively and I've only read the docs
<erikh>
the general idea being that the compiler should be able to determine at compile time what's using what, and optimize appropriately
Mon_Ouie has quit [Read error: Connection reset by peer]
Criztian has joined #ruby-lang
<erikh>
anyhow, you guys should read the tutorial. I imagine it'll be a while before its viable for real world stuff, but it's definitely got some great steps in the right direction
Mon_Ouie has joined #ruby-lang
<injekt>
yeah checking it out
<injekt>
does rust have generics?
<erikh>
yep, it's fully generic.
<injekt>
crap
sush24 has quit [Client Quit]
<injekt>
i miss generics
<erikh>
it also abuses the ocaml style pattern matching stuff to get even more obscene
<erikh>
(which are really just high-powered case statements)
<injekt>
ah you'd use an interface and polymorphism to try and sold the same thing inheritance does
<injekt>
solve
<erikh>
one thing I really dig on is that each library has a file solely dedicated to namespace structure
<erikh>
injekt: right
<injekt>
so many keywords
<erikh>
yeah it's got a lot of syntax, but it's pretty consistent in its use
<erikh>
there's not a lot of implicit rules that I found in the tutorial at least, and most of them were related to the memory model
<banisterfiend>
erikh: do its blocks have non local returns?
<injekt>
yeah lots of appreviations which are kinda easy to remember
mr_dynamix has quit [Quit: mr_dynamix]
<erikh>
banisterfiend: they jump out of the called function, if that's what you're asking
<banisterfiend>
erikh: cool so they behave like rubys blocks (rather than ruby's lambdas) with respect to 'return' ?
<erikh>
correct
<injekt>
:)
<erikh>
and it does implicit last-value return too, not that it's relevant here but people like that thing
<banisterfiend>
is there an equivalent of instance_eval ?
<injekt>
oh didn't know that
<injekt>
neat
<banisterfiend>
btw is instance_eval unique to ruby? whta other languages have it?
<erikh>
injekt: let val = if x { y } else { z }
<injekt>
erikh: ah yes
<erikh>
banisterfiend: eval in general is generally the domain of interpreted langauges
<banisterfiend>
string-based evals, but i mean evaluating a block in a different context
<banisterfiend>
i guess that's pretty dynamic-y too
<erikh>
that's what interfaces provide, as I understand it.
<erikh>
but don't hold me to that
<erikh>
you can bind interfaces to any type
<erikh>
bbiam
<erikh>
banisterfiend: there are non-local closures too, which would probably be a more suitable fit
<erikh>
this is all in the tutorial :)
runeb has quit [Remote host closed the connection]
<banisterfiend>
erikh: what's a nonlocal closure?
sush24 has joined #ruby-lang
krz has quit [Quit: krz]
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
runeb has joined #ruby-lang
<erikh>
def foo(x, y); return lambda { x.call(y) }; end
<erikh>
x is carried with the lambda, a traditional closure.
<matti>
:)
elico has joined #ruby-lang
<matti>
Where is it being carried? ;]
dous has quit [Ping timeout: 248 seconds]
<erikh>
it stays with the lambda
<injekt>
to ur moms bed
<erikh>
so, b = foo(lambda { |z| z + 1 }, 3); b.call would yield 4
<erikh>
anyhow, I need a brain break
<erikh>
bbl
rohit has quit [Quit: Leaving]
elico has quit [Quit: Elico]
elico has joined #ruby-lang
elico has quit [Client Quit]
kvirani has joined #ruby-lang
<matti>
I was just being silly ;d
elico has joined #ruby-lang
<banisterfiend>
i dont get how the traditional closure was different to a non-local closure though
kvirani has quit [Remote host closed the connection]
<erikh>
read the damned tutorial already
vlad_starkov has quit [Remote host closed the connection]
<matti>
hi hi banisterfiend
<matti>
banisterfiend: ;] ;] ;] ;] ;] ;]
<banisterfiend>
matti: sup homo
* matti
hugs banisterfiend
<matti>
*kiss* *kiss*
<matti>
;d
<matti>
banisterfiend: I am tired ;/ 4 h of sleep only. My work is killing me.
<banisterfiend>
matti: get drunk
mr_dynamix has joined #ruby-lang
<matti>
Drunk?
<matti>
Why?
<banisterfiend>
because it's better than being sober
<matti>
Oh, I see your insight there.
<matti>
;d
<banisterfiend>
matti: there's a quote: "I pity those who do not drink, as when they wake up in the morning that is the best they are going to feel all day."
Criztian has quit [Remote host closed the connection]
dfr|sf has joined #ruby-lang
<banisterfiend>
package management srsly sucks on osx
S1kx has joined #ruby-lang
S1kx has quit [Changing host]
S1kx has joined #ruby-lang
kvirani has joined #ruby-lang
deryl has quit [Quit: deryl]
IndieProgrammer has quit [Quit: irc2go]
<bnagy>
what's wrong with ports?
mwjcomputing has joined #ruby-lang
<banisterfiend>
bnagy: in my experience it just didnt have a lot of stuff
<banisterfiend>
i think other people have legitimate reasons to hate it too, hence the rise of homebrew
<banisterfiend>
but homebrew is too crazy for me, i remember trying to install QT one time and it was going to take hours and download hundreds of megs of crap
stardiviner has joined #ruby-lang
dous has joined #ruby-lang
dous has quit [Changing host]
dous has joined #ruby-lang
<bnagy>
well qt is a bit like that
<bnagy>
guess I been lucky with ports
<bnagy>
I don't have particularly obscure needs, just standard unix base libs
anannie has joined #ruby-lang
<anannie>
I was wondering if someone could advise me how I should progress in my self-education. I've been trying to teach myself how to program and I've completed Learn Ruby The Hard Way and I would really like to find a book which teaches me the basics of computer science using ruby or a similar language whilst I learn the underlying math. I ideally want to be able to build something complex like a simple NLP parser within the next year or so on my
<anannie>
own. What book/resource should I pick up next?
<banisterfiend>
anannie: coursera
<banisterfiend>
anannie: there's even courses on NLP
<anannie>
banisterfiend: Are there a lot of pre-requisites?
<banisterfiend>
anannie: none, you can just watch the videos. I dont think the course is currently in session so you wont get credit for it, but the lectures are still up and you can self-educate by watching the vids
<banisterfiend>
i think they probably have exercises too
dous has quit [Ping timeout: 248 seconds]
<banisterfiend>
anannie: well, i think you'd be lucky to learn algorithms in ruby. but the thing about algorithms is the language often isn't that relevant, you should be able to write it in ruby yourself once you understnad the idea
<banisterfiend>
anannie: many algorithms books show the process in pseudo-code anyway
<banisterfiend>
and pseudo-code --> ruby is pretty trivial translation
<banisterfiend>
since ruby has basically no boilerplate
<banisterfiend>
or very little
Axsuul has quit [Ping timeout: 268 seconds]
<anannie>
banisterfiend: Ah I see. Do you have any good books I can work my way through? I also want to expand my command over ruby/programming in general
<banisterfiend>
anannie: if you want to learn ruby get 'eloquent ruby'
<banisterfiend>
but it doesnt focus so much on algorithms as design patterns and ruby idioms
<banisterfiend>
but honestly, "algorithms" per se aren't that useful to a programmer these days as nearly everything you'd learn in an algorithms course has already been implemented in the stdlib
<banisterfiend>
such as sorting routines and so on
<banisterfiend>
still good to know it i guess, but not necessarily important if you just want to get stuff done
<banisterfiend>
i dont think i've ever had to implement a red-black tree outside of a programming assignemtn ;)
<anannie>
banisterfiend: Actually I want to do a lot of AI work in my life, so those sorting procedures et al are pre-requisites to what I want to build
<banisterfiend>
anannie: well then just follow the algorithms course at coursera
bryancp has joined #ruby-lang
vlad_starkov has joined #ruby-lang
<anannie>
banisterfiend: Okay I shall. I'll get eloquent ruby as well, is there any other book that teaches through projects?
<banisterfiend>
anannie: rubykoans, rubymonk
<banisterfiend>
not books,b ut online resources
<anannie>
banisterfiend: The goal is to be able to build something useful by the end of the next few months.
<anannie>
banisterfiend: Rubykoans is equivalent to Learn Ruby The Hard Way right? I've already completed that and I was looking to go to the next level
<bnagy>
but hard if you don't have a formal compsci background
<anannie>
bnagy: I want to build a formal compsci background... :)
<banisterfiend>
anannie: are you still in highschool?
<anannie>
banisterfiend: No, I'm 20. Just didn't have the opportunity to go to college.
<banisterfiend>
ah ok
<banisterfiend>
anannie: well with things like coursera and MIT courseware and so on, you can give yourself a great compsci education for free
<banisterfiend>
dont limit yourself to just ruby resources
<anannie>
banisterfiend: That's the plan, but I want to be systematic at it, so that my learning is inductive otherwise it's going to be a huge mess.
<banisterfiend>
a lot of those things will be in python or java
<darix>
i am trying to wrap my head around erlang atm ...
<anannie>
banisterfiend: I don't plan on doing so.
m3nd3s has joined #ruby-lang
<banisterfiend>
anannie: cool, well just enroll in a tonne of online courses, learn whatever they teach you, and also learn ruby on the side, even translating what you learn into ruby if you have time
<anannie>
banisterfiend: So I should learn python and Java as quickly as possible while implementing projects in ruby?
<banisterfiend>
and you'll pretty much be set
wpaulson has joined #ruby-lang
<banisterfiend>
anannie: the courses should teach you python/java i think
<anannie>
banisterfiend: Okay that sounds like a plan
<darix>
anannie: the thing is "learn the concepts behind it" dont focus all that much on the language
m3nd3s has quit [Read error: Connection reset by peer]
<banisterfiend>
anannie: and if you find it too easy, well you'll just end up getting good grades :) I think employers might start to look at coursera sometime soon, if they're not already..
<anannie>
darix: That's what I'm trying my best to do, but it's confusing and difficult to understand differing resources on my own
<banisterfiend>
anannie: great thing about coursera is the interacgtive element, the forums are usually really active
Guedes has quit [Remote host closed the connection]
<anannie>
banisterfiend: That's great. I'll go and do this
m3nd3s has quit [Client Quit]
m3nd3s has joined #ruby-lang
<anannie>
darix: The problem isn't one of understanding the concept, but shifting through something and understanding how all of this applies to something else. The hardest thing is connecting the dots and I'm just starting out so I don't have a lot of requisites. I know a bit of calculus and discrete math, but it's nothing special just the standard first year second semester level of stuff
m3nd3s has quit [Remote host closed the connection]
fgomez has quit [Ping timeout: 255 seconds]
m3nd3s has joined #ruby-lang
<banisterfiend>
anannie: you could contribute to an opensource project
<anannie>
banisterfiend: Oh? Isn't it likely that my own code will be quite crappy at the start?
rue|w has quit [Remote host closed the connection]
<banisterfiend>
maybe, but they can just reject your pull requests and tell you how to improve it
<banisterfiend>
just choose simple issues
<bnagy>
meh at least half of open source is smashed in my mouthbreathers with their elbows, you'll probably be fine
fgomez has joined #ruby-lang
imperator has joined #ruby-lang
<anannie>
banisterfiend: The first project I want to build is something that allows you to control a robot on the ground over the web. Maybe I can create an opensource equivalent in python of the RAD project which allows compilation of ruby into C
<anannie>
for the arduino
<banisterfiend>
sounds kind of intense for a first project..
<anannie>
banisterfiend: I used to build robots and well the hardware bits are easy for me. The problem is building the code for all of that to work. It's going to be hard, but I think I'll learn a lot while making it
rue|w has joined #ruby-lang
<banisterfiend>
anannie: cool, there's a girl on #ruby who does a lot of that kind of stuff you might like talking to her
<banisterfiend>
anannie: nickname is blueblie
<banisterfiend>
bluebie
carloslopes has joined #ruby-lang
<rue|w>
Goddamn #ruby.
m3nd3s has quit []
<anannie>
banisterfiend: I would love to talk to someone like that. Thanks :)
<anannie>
I googled her... I like her work and interest in ponies :)
<banisterfiend>
yeah she's pretty awesome :)
chendo_ has quit [Ping timeout: 244 seconds]
hhatch has quit [Quit: leaving]
postmodern has quit [Quit: Leaving]
m3nd3s has joined #ruby-lang
chendo_ has joined #ruby-lang
dfr|sf has quit [Remote host closed the connection]
m3nd3s has quit [Client Quit]
Dreamer3 has joined #ruby-lang
_malte has joined #ruby-lang
etan has quit []
chendo_ has quit [Ping timeout: 252 seconds]
rolfb has joined #ruby-lang
knu has quit [Remote host closed the connection]
vlad_starkov has quit [Ping timeout: 246 seconds]
chendo_ has joined #ruby-lang
codewrangler has joined #ruby-lang
justinmcp has joined #ruby-lang
<anannie>
banisterfiend: Thanks for helping me out, I've signed up for coursera and I'll start doing things one at a time. (I have a full time job, so I have only so many hours within which I can plug away at this)
<banisterfiend>
g'luck
<anannie>
banisterfiend: Can I please stay in touch?
<rue|w>
The important bit is to keep at it, even if it does take a while
<anannie>
rue|w: It'll take years...
<rue|w>
Yep! Though you’ll start feeling like you’re getting somewhere far before that
vlad_starkov has joined #ruby-lang
ruby-lang627 has joined #ruby-lang
knu has joined #ruby-lang
chendo_ has quit [Quit: Leaving...]
<anannie>
rue|w: It is quite terrifying given the huge span of time and amount of work involved... I have to teach myself advanced calc., discrete math, analysis of circuits + algorithms, all of the practical bits involved, then mechanics, more advanced rigid body physics, biology, organic and inorganic chem... The list seems endless.
mistym has joined #ruby-lang
mistym has quit [Changing host]
mistym has joined #ruby-lang
<banisterfiend>
anannie: why the heck do you need to learn all that?
<rue|w>
It is certainly easier if you don’t really think much beyond immediate goals. Much more manageable
<anannie>
banisterfiend: I want to automate mining... That's one of my end goals. I've always wanted to do robotics and be a proper engineer.
<banisterfiend>
anannie: you'll definitely need to go to college to learn all that i think
<banisterfiend>
no way you can autodidact at that level..
<anannie>
banisterfiend: That isn't an option for the time being...
ruby-lang627 has quit [Ping timeout: 245 seconds]
totallymike has quit [Ping timeout: 276 seconds]
mistym has quit [Remote host closed the connection]
_malte has quit [Remote host closed the connection]
Madis has joined #ruby-lang
Dreamer3 has quit [Ping timeout: 244 seconds]
CarlB_the_great has joined #ruby-lang
Dreamer3__ is now known as Dreamer3
voker57_ has quit [Remote host closed the connection]
sush24 has quit [Quit: This computer has gone to sleep]
dhruvasagar has joined #ruby-lang
sora_h is now known as s0ra_h
hollymann has quit [Quit: hollymann]
totallymike has joined #ruby-lang
enebo has joined #ruby-lang
Criztian has joined #ruby-lang
tbuehlmann has quit [Remote host closed the connection]
vlad_starkov has joined #ruby-lang
zmack has quit [Remote host closed the connection]
canton8 has joined #ruby-lang
vlad_starkov has quit [Remote host closed the connection]
vlad_starkov has joined #ruby-lang
mylordangus has joined #ruby-lang
canton7 has quit [Ping timeout: 264 seconds]
yats has joined #ruby-lang
kalleth has joined #ruby-lang
fgomez has quit [Ping timeout: 272 seconds]
Nisstyre_ has joined #ruby-lang
Nisstyre_ is now known as Nisstyre
vbatts has quit [Ping timeout: 265 seconds]
hhatch has joined #ruby-lang
imperator has quit [Quit: Leaving]
konfusius_ has joined #ruby-lang
sush24 has joined #ruby-lang
sush24 has quit [Client Quit]
Bwild has joined #ruby-lang
rippa has joined #ruby-lang
ruurd_ has joined #ruby-lang
konfusius_ has quit []
s0ra_h is now known as sora_h
ruurd has quit [Ping timeout: 246 seconds]
hhatch has quit [Quit: leaving]
outoftime has joined #ruby-lang
jtoy has joined #ruby-lang
elux has joined #ruby-lang
Elico1 has quit [Ping timeout: 246 seconds]
alexkira has joined #ruby-lang
znake has joined #ruby-lang
Jay_Levitt has joined #ruby-lang
znake has quit [Remote host closed the connection]
Elico1 has joined #ruby-lang
sora_h is now known as s0ra_h
|Vargas| has quit [Quit: ...]
rwilcox has quit [Ping timeout: 276 seconds]
headius has joined #ruby-lang
jtoy has quit [Quit: jtoy]
<elux>
hey guys
<elux>
does anyone here use mongoid with jruby?
imajes has quit [Excess Flood]
<elux>
i find it has quite a bit of overhead after doing some profiling..
qwerxy has quit [Read error: Connection reset by peer]
qwerxy has joined #ruby-lang
nXqd has quit [Ping timeout: 246 seconds]
imajes has joined #ruby-lang
Theueip has quit [Quit: Leaving...]
cantonic has joined #ruby-lang
savage- has joined #ruby-lang
<headius>
what sort of overhead did you find?
<headius>
elux: ^^
<elux>
hey :)
<elux>
well.. right now its empirical evidence using ab. i have an endpoint requesting the first object from a collection using moped (the mongodb driver) and the same thing with mongoid (which uses moped) .. and there is a different of 180req/sec to 600req/sec
<elux>
im running --profile.. but it actually crashes with jruby-head and jdk7u7.. but the profiler runs on jruby 1.6.7+jdk7u7
Nisstyre has quit [Remote host closed the connection]
<headius>
oh that's not good…make sure you report that crash
<headius>
mongoid must be doing something we have a problem with
<elux>
actually i dont know if its really a crash.. it seems more like an infinite loop or something..
<elux>
i will try to pin point it and create an example.. working on that now
nXqd has joined #ruby-lang
<elux>
strange because i know Durran, the lead of mongoid uses jruby.. and wrote moped specifically for GIL-fee ruby's
<elux>
gonna hammer through this and report back.. thx
_malte has joined #ruby-lang
canton8 has quit [Remote host closed the connection]
canton8 has joined #ruby-lang
canton8 has quit [Remote host closed the connection]
canton7 has joined #ruby-lang
<headius>
ok
stanzgy has quit [Ping timeout: 260 seconds]
_malte has quit [Ping timeout: 246 seconds]
jakob-_ has joined #ruby-lang
jakob-_ has quit [Client Quit]
jobicoppola has joined #ruby-lang
rue|w has quit [Remote host closed the connection]
sush24 has joined #ruby-lang
_malte has joined #ruby-lang
Elico1 has quit [Quit: Elico1]
Elico1 has joined #ruby-lang
kain has quit [Ping timeout: 248 seconds]
bryancp has quit [Remote host closed the connection]
Elico1 has quit [Client Quit]
Elico1 has joined #ruby-lang
tomzx has joined #ruby-lang
kingCrawlerx has joined #ruby-lang
Dreamer3 has quit [Ping timeout: 244 seconds]
dhruvasagar has quit [Remote host closed the connection]
runeb has quit [Remote host closed the connection]
Dreamer3 has joined #ruby-lang
<andrewvos>
I have a ten or so digit string, containing alphanumeric charactes. I want to generate a string that is as short as possible, is alphanumeric, and can't be converted back to the original string.
<andrewvos>
So something like "KSD235345" => "ew43"
<andrewvos>
And it must be unique for every key, cause it's going in the DB.
CarlB_th_ has joined #ruby-lang
<andrewvos>
Is this even possible?
m3nd3s has joined #ruby-lang
CarlB_the_great has quit [Ping timeout: 246 seconds]
Theueip has joined #ruby-lang
cantonic has quit [Quit: cantonic]
mylordangus has quit [Ping timeout: 255 seconds]
<wnd>
alphanumeric sounds like base-(26 * 2 + 10 = 62). converting to base64 would save you 3.125 %, but you wouldn't see anything unless your input was at least 32 digits long. :-)
<andrewvos>
wnd: Ok I'll just randomly generate strings then and check them against the DB.
<andrewvos>
Will get this done faster.
slyphon has joined #ruby-lang
ben_m has joined #ruby-lang
outoftime has quit [Remote host closed the connection]
slyphon has quit [Client Quit]
slyphon has joined #ruby-lang
ruurd_ has quit [Quit: Leaving...]
<wnd>
I just realised I read that "and can be converted back to the original"
<wnd>
why don't you just use database serial (and possibly convert that to base-64 or base-62)
jbsan has joined #ruby-lang
totallymike has quit [Ping timeout: 240 seconds]
jxie has quit [Ping timeout: 268 seconds]
jxie has joined #ruby-lang
kingCrawlerx has quit [Quit: [kingCrawlerx release]]
nXqd has quit [Remote host closed the connection]
alexkira has quit [Remote host closed the connection]
jakob- has joined #ruby-lang
grefab has joined #ruby-lang
slyphon has quit [Quit: WeeChat 0.3.8]
grefab has quit [Client Quit]
yl has joined #ruby-lang
<zzak>
headius: do you have a beeper that goes off whenever anyone ever mentions jruby
<headius>
I do
tjadc_ has quit [Ping timeout: 260 seconds]
m3nd3s has quit [Read error: Connection timed out]
<yl>
Hello, I would like to make an announcement on the news section of ruby-lang. What is the best way to do it?
jakob- has quit [Ping timeout: 264 seconds]
rippa has quit [Ping timeout: 244 seconds]
jakob-_ has joined #ruby-lang
robotmay has quit [Remote host closed the connection]
m3nd3s has joined #ruby-lang
headius has quit [Quit: headius]
totallymike has joined #ruby-lang
mr_dynamix has quit [Ping timeout: 272 seconds]
jtoy has joined #ruby-lang
bryancp has joined #ruby-lang
rippa has joined #ruby-lang
Hakon has quit [Quit: Leaving...]
JoelMcCracken has joined #ruby-lang
JustinCampbell has joined #ruby-lang
runeb has joined #ruby-lang
yats has quit [Quit: Leaving]
runeb has quit [Ping timeout: 246 seconds]
bradland has joined #ruby-lang
m3nd3s has quit [Read error: Connection timed out]
gsav has quit [Ping timeout: 252 seconds]
yxhuvud has joined #ruby-lang
alvaro_o has joined #ruby-lang
coryf has joined #ruby-lang
Hakon has joined #ruby-lang
Elico1 has quit [Quit: Elico1]
butchanton has joined #ruby-lang
tooky has quit [Remote host closed the connection]
m3nd3s has joined #ruby-lang
alexkira has joined #ruby-lang
tooky has joined #ruby-lang
s1n4 has joined #ruby-lang
lun_ has quit [Remote host closed the connection]
sepp2k1 has joined #ruby-lang
sepp2k has quit [Ping timeout: 276 seconds]
bryancp has quit [Remote host closed the connection]
rue|w has joined #ruby-lang
<rue>
yl: It’s curated and I assume reserved for mostly MRI news…you can try contacting the admin, or mail ruby-core maybe
<rue>
What’s it about?
rue|w has quit [Ping timeout: 240 seconds]
m3nd3s has quit [Read error: Connection timed out]