[04:55] <greg-g> rick_h_: mispell in your post title :)
[05:09] <mrgoodcat> in what post title?
[05:10] <greg-g> his bookie gsoc post he posted tonight
[05:11] <greg-g> or, as he typed in the title "booke"
[05:12] <mrgoodcat> lol
[05:12] <mrgoodcat> i didn't even notice
[05:13] <mrgoodcat> good catch
[11:13] <rick_h_> greg-g: bah, stayed up too late writing that
[11:17] <cmaloney> heh
[11:17] <cmaloney> morning
[12:26] <brousch> rick_h_: Bookie is spelled wrong in the title and URL of your blog post http://blog.mitechie.com/2014/04/21/booke-meets-google-summer-of-code-2014/
[12:26] <bookiebot> http://is.gd/MM8cmt - Booke meets Google Summer of Code 2014 | Tech Rantings from a Michigan Techie
[12:27] <rick_h_> thanks brousch updated
[12:29] <brousch> URL is probably stuck with that, eh?
[12:29] <rick_h_> ugh
[12:29] <rick_h_> fail
[12:30] <brousch> Great post though
[12:31] <rick_h_> thanks
[12:31] <rick_h_> cmaloney: is that one the merge at least?
[12:31]  * rick_h_ feels stupid, never post to the internet when tired
[12:45] <rick_h_> oh and morning
[12:50] <mrgoodcat> gooooood morning campers
[12:53] <mrgoodcat> rick_h_: you can change the permalink on wordpress if you want. the old one stays working too
[12:53] <rick_h_> mrgoodcat: that's what I could not tell, if the old one would stay working
[12:53] <cmaloney> rick_h_: That's the merged one
[12:53] <mrgoodcat> yes it does
[12:53] <rick_h_> we'll try it
[13:30] <cmaloney> rawr rawr rawr rawr
[13:31] <cmaloney> .np squeekyhoho
[13:31] <bookiebot> squeekyhoho's current track - Goat of Departure by The Black Dahlia Murder on Everblack
[13:33] <cmaloney> Also: disk-bound stuff sucks. :)
[13:33]  * cmaloney is creating a windows 7 vm while loading a mysql database locally and upgrading his machine
[13:34] <Havenstance> mrgoodcat, zentyal will be replacing our current network server in about 5 minutes...
[13:36] <mrgoodcat> cmaloney: i feel your pain
[13:46] <mrgoodcat> the bookie make install is not quick
[14:16] <mrgoodcat> rick_h_: i'm a bit confused by a part of the docs, but i'm not sure if it's just me or if the docs need updating
[14:17] <mrgoodcat> http://docs.bmark.us/en/latest/tests.html#test-types
[14:17] <bookiebot> http://is.gd/HzYGuV - Bookie Tests — Bookie 0.5.0 documentation
[14:17] <mrgoodcat> doesn't seem to be consistent with what is actually done
[14:29] <rick_h_> mrgoodcat: yea, 4yr old docs need updating
[14:29] <mrgoodcat> i'm crawling through them right now
[14:29] <mrgoodcat> cleaning up some things
[14:30] <rick_h_> k
[14:30] <mrgoodcat> like how in http://docs.bmark.us/en/latest/development.html the contents list should be hierarchical. It's not apparent that the 5 items under "about JSON API" belong to "About JSON API"
[14:30] <bookiebot> http://is.gd/GrPMDd - Development — Bookie 0.5.0 documentation
[14:30] <mrgoodcat> that really confused me for a while
[14:45] <mrgoodcat> rick_h_: in the docs, what do you think about making the toc tree a maxdepth of 2? so it shows one level of children. I think it would make the docs easier to navigate
[15:17] <greg-g> rick_h_: never post on the internet when tired? shit man, I won't be able to do any work anymore.
[15:18] <rick_h_> greg-g: :P
[15:18] <rick_h_> mrgoodcat: sounds fine to me I guess
[15:18] <mrgoodcat> ok
[15:18] <mrgoodcat> i think you're going to like what i've done with the docs
[15:18] <mrgoodcat> also one more question
[15:18]  * greg-g is going on 4.5 hours of sleep last night
[15:18] <mrgoodcat> the admin calls, some start with /a/ some with /admin/
[15:19] <mrgoodcat> what is the difference and should they be separate?
[15:19] <jrwren> i think i got 11hrs of sleep last night.
[15:19] <jrwren> 11hrs of sleep yesterday, and 11hrs of sleep the day before.
[15:19] <jrwren> being sick SUCKS
[15:22] <greg-g> jrwren: ahh, I was about to say, you decadent bastard!
[15:22] <greg-g> jrwren: sorry you're sick, though
[15:23] <greg-g> today should be fun, 4.5 hours of sleep on day one of three of this all day leadership training thing
[15:24] <jrwren> decadent? yes, excuse me while I poor fresh pidgeon blood on my toe gout
[15:24] <brousch> You have gout?
[15:25] <jrwren> yes
[15:26] <rick_h_> ouch! I had that once for a weekend. Painful!
[15:26] <jrwren> but I don't use 16th century "remmedies"
[15:26] <jrwren> only a weekend? you are lucky.
[15:26] <brousch> I thought it was an old person thing
[15:26] <jrwren> i am old.
[15:26] <rick_h_> yea, had it flare up in a toe I injured as a kid and basically sat in bed for 3 days
[15:27] <jrwren> oh, mine has never been that bad.
[15:27] <jrwren> just some discomfort, maybe pain at worst, but I learned to manage it.
[15:27] <jrwren> I don't even notice it anymore
[15:27] <rick_h_> ugh
[15:27] <rick_h_> it scared the crap out of me. Having that all the time would be awful. Couldn't walk
[15:28] <jrwren> yeah, 'cept walking through it is actually good for it.
[15:28] <jrwren> painful for sure
[15:30] <greg-g> I had it a while ago, it did suck, lasted a little bit but wasn't debilitating
[15:32] <brousch> Damn. I don't like the risk factors for gout. I think I hit them all, or will within 3 years
[15:32] <jrwren> lol
[15:33] <jrwren> i mostly removed red meat from my diet. that helped.
[16:32] <jcastro> rick_h_, wow!
[16:32] <jcastro> you got two GSOC students?!
[16:33] <rick_h_> jcastro: woot!
[16:34] <brousch> I wonder how many you could have handled
[16:34] <rick_h_> they say 10hrs a week
[16:34] <rick_h_> so cmaloney and I will be good I think
[16:35] <rick_h_> not like I'm earning a living on bookie :P
[16:35] <brousch> canonical would give you a paid leave of absence, I'm sure
[16:35] <rick_h_> hah
[16:38] <cmaloney> I think what rick_h_ means is "so sandbagger and I will be good I think". ;)
[17:55] <cmaloney> Baked Lays: Now with 65% less fat *
[17:56] <cmaloney> * than sticking your gob in a tub of Crisco and inhaling
[17:57] <brousch> I'll kindly ask you to keep yer gob out of my Crisco bucket
[18:22] <cmaloney> heh
[19:13] <Havenstance> well, that server is in and running... I left the important half of the network on the old server for a day or two in order to test the uptime abilities. They will change over probably Friday but so far everythings looking good
[19:13] <Havenstance> mrgoodcat, thank you for the recommendation so far its doing everything he wanted and more.
[19:14] <mrgoodcat> glad to hear it
[19:58] <jrwren> TIL: getattr(obj, 'function') returns a bound method
[19:58] <jrwren> sometimes python is black magic
[20:01] <mrgoodcat> jrwren: this is how i'm building the plugin system for the newest version of bookiebot
[20:02] <mrgoodcat> each plugin is a plug object and getattr() allows me to put all the callback functions in a dict so i can call plugs['command']()
[20:02] <jrwren> mrgoodcat: cool!
[20:02] <jrwren> i'm just hacking on simplejson
[20:02] <jrwren> because there is no fast json in python.
[20:03] <mrgoodcat> json isn't too slow in python...
[20:03] <mrgoodcat> at least not in python 3
[20:03] <jrwren> oh yes it is :p
[20:03] <jrwren> do a list of 12million dictionaries
[20:04] <rick_h_> umm, json is not a database?
[20:04] <mrgoodcat> lol
[20:04] <jrwren> but it might be an ETL tool :p
[20:04] <mrgoodcat> sounds like you need redis
[20:04] <jrwren> mrgoodcat: hahahaha, good one.
[20:05] <mrgoodcat> but srsly why do you have a list of 12 million dicts?
[20:05] <jrwren> that is not important.
[20:05] <mrgoodcat> rick_h_: what did you think of the documentation changes? didn't really make a lot of substantial changes to the content but I find it easier to navigate this way
[20:06] <rick_h_> mrgoodcat: not looked yet, been a busy work day
[20:06] <mrgoodcat> cool
[20:06] <mrgoodcat> no worries
[20:06] <mrgoodcat> i have to go to school soon anyways :(
[20:13] <cmaloney> Who's fault is that? :)
[20:18] <mrgoodcat> ummmmm
[20:18] <mrgoodcat> i don't have an answer for that?
[20:18] <cmaloney> heh
[20:18] <jrwren> zomg, python never ceases to amaze me.
[20:18] <jrwren> function calls are so expensive!
[20:19] <mrgoodcat> is that surprising?
[20:19] <cmaloney> Why is this surprising?
[20:19] <cmaloney> This isn't C.
[20:19] <jrwren> i'm used to C
[20:19] <mrgoodcat> try ruby
[20:19] <jrwren> or C like langauges.
[20:19] <jrwren> are funciton calls slow in Ruby too?
[20:19] <mrgoodcat> 1999 times do chain.ten.million.functions
[20:19] <cmaloney> Part of the fun of Python is everything acts like an object
[20:20] <cmaloney> including methods. :)
[20:20] <mrgoodcat> yea and ruby is even more so that way
[20:20] <mrgoodcat> even keywords in ruby are objects
[20:20] <mrgoodcat> you can override def if you want
[20:20] <mrgoodcat> not sure why you'd want to but.....
[20:20] <mrgoodcat> you can
[20:20] <jrwren> what about literals?
[20:20] <jrwren> can I override []
[20:20] <mrgoodcat> you can override Array
[20:20] <cmaloney> def def: if def == 'foo': monkeypatch. ;)
[20:20] <jrwren> i'd love to override python literals
[20:21] <cmaloney> jrwren: Check out the Hy project
[20:21] <jrwren> yeah... that isn't python
[20:21] <jrwren> that is a lisp that runs on pyhton
[20:21] <cmaloney> If anyone is close to making Python into a DSL it's Hy
[20:22] <mrgoodcat> in ruby even == is a method
[20:22] <jrwren> yup, they are an interesting group of hackers.
[20:23] <mrgoodcat> it has some syntax sugar to make it easy to type
[20:23] <cmaloney> Python is all about those clean coding techniques I learned in Mrd. Deryckre's Pascal class
[20:23] <jrwren> hey, in c++ == is a method too :p
[20:23] <mrgoodcat> but 1.==(1) is perfectly good ruby
[20:23] <cmaloney> Hy is about taking everything I learned in that class and turning it on its head.
[20:23] <mrgoodcat> so you can override == in the Numbers class to make 1 == 2
[20:23] <mrgoodcat> er Integer maybe
[20:23] <jrwren> mrgoodcat: same with c++
[20:24] <jrwren> although, in ruby it is open classes
[20:26] <mrgoodcat> it's part of the reason rails is so damn easy to use
[20:26] <mrgoodcat> "tomato".pluralize makes "tomatoes" when that isn't even remotely a part of a regular string literal
[20:27] <jrwren> yup
[20:27] <jrwren> and the kids LOVE IT
[20:27] <jrwren> its just fancy calling syntax on a pluralize(str) global function.
[20:28] <jrwren> I like C#'s extension method approach.
[20:28] <jrwren> IMO it makes more sense
[20:28] <jrwren> but I must admit I love the optional parens
[20:28] <jrwren> aren't the commas optional too?
[20:28] <jrwren> so i can write stuff like this
[20:31] <mrgoodcat> no. commas are req'd
[20:31] <mrgoodcat> def add x, y
[20:31] <mrgoodcat>   x + y
[20:31] <mrgoodcat> end
[20:32] <mrgoodcat> add 3, 1  # => 4
[20:36] <jrwren> oh, just the parens are optional
[20:36] <mrgoodcat> yea
[20:36] <jrwren> so if I write functions that only take 1 arg, ever, then I never need a comma?
[20:36] <mrgoodcat> right
[20:36] <jrwren> sounds great!
[20:37] <mrgoodcat> def pluralize word
[20:37] <mrgoodcat>   "#{word}s
[20:37] <mrgoodcat> end
[20:37] <mrgoodcat> pluralize "tomato" # => "tomatos"
[20:37] <mrgoodcat> it's not correct but it shows the basic idea
[20:37] <mrgoodcat> also i missed the closing "
[20:38] <mrgoodcat> def pluralize word
[20:38] <mrgoodcat>   "#{word}s"
[20:38] <mrgoodcat> end
[20:38] <mrgoodcat> pluralize "tomato" # => "tomatos"
[20:38] <rick_h_> ccccccdilrkrvljnegtdjgnjvclvkkncjbfglddkkhrh
[20:38] <rick_h_> bah
[20:38] <mrgoodcat> sry bout spam
[20:40] <mrgoodcat> jrwren: it is actually a really cool language. just getting your environment set up can be a pain
[20:42] <jrwren> ruby?
[20:42] <jrwren> I've used it for only slightly more than the trivial.
[20:42] <jrwren> i've nothing against ruby.
[20:43] <mrgoodcat> i was more of a rubyist than anything for a long time
[20:43] <mrgoodcat> maybe still today
[20:43] <jrwren> pythons "everything is an object"... "oh except builtins and cpython types and..."
[20:43] <jrwren> drives me crazy
[20:44] <jrwren> ruby is definitely nicer there.
[20:44] <mrgoodcat> although i'm becoming increasingly comfortable with python, i still feel I know ruby's advanced features much better
[20:44] <jrwren> tehre are advanced features?
[20:45] <mrgoodcat> well it makes metaprogramming pretty easy, and open classes aren't exactly the first thing you learn in any language
[20:45] <mrgoodcat> or defining your own domain specific language, which is pretty much encouraged in ruby
[20:48] <mrgoodcat> also the differences between require and include are confusing at first, as well as catch/throw vs begin/raise/rescue
[20:49] <mrgoodcat> catch/throw is mainly used for excecution flow control where begin/raise/rescue is for exception handling
[20:50] <jrwren> sounds complex.
[20:50] <mrgoodcat> it's really not. but you did ask what the advanced features are
[20:52] <mrgoodcat> if you're interested give this a read http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue-im-so-confused/
[20:54] <mrgoodcat> time for class
[20:54] <mrgoodcat> good talk
[20:58] <jrwren> http://rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue-im-so-confused/  shows as empty response
[21:04] <mrgoodcat> hmmmm
[21:04] <mrgoodcat> it just broke apparently
[21:04] <mrgoodcat> i was just looking at it
[21:05] <mrgoodcat> google to the rescue http://webcache.googleusercontent.com/search?q=cache:Hwys7iKcvKcJ:rubylearning.com/blog/2011/07/12/throw-catch-raise-rescue-im-so-confused/+&cd=1&hl=en&ct=clnk&gl=us
[21:05] <bookiebot> http://is.gd/2bLjR7 - Throw, Catch, Raise, Rescue… I’m so confused!
[21:46] <mrgoodcat> when i instantiate a python object, is there a way to make it inherit the scope of the calling class?
[21:47] <mrgoodcat> but i don't want it to have the entire scope, prefferably it would be able to pick out certain variables
[22:11] <jrwren> inherit implies an OO inheritance model, is that what you want?
[22:12] <jrwren> sounds like you are trying ot not write much needed __init__ code :)
[23:29] <cmaloney> heh
[23:32] <mrgoodcat> no i'm just trying to figure out a way to have all of the plugins be able to access the IRC connection
[23:33] <mrgoodcat> right now i'm passing the irc object to the call function for the plugin so it can write to the server
[23:33] <mrgoodcat> but i wish i didn't have to
[23:53] <mrgoodcat> java--