[00:08] <cmaloney> evening
[00:19] <rick_h_> evening
[00:22] <cmaloney> how goes?
[00:23] <greg-g> yo yo
[10:42] <brousch> Hm, U-M has 2 Coursera courses: Python and web design. Python course is from Charles Severance
[10:42] <brousch> https://www.coursera.org/browse/computer-science
[10:59] <cmaloney> Morning
[11:59] <brousch> yes
[13:15] <jrwren> pretty sure you know python better than any course could teach you.
[13:16] <jrwren> then again, its college, so some of the general compsci might be good.
[13:16] <jrwren> i don't remember if you were a compsci major, brousch ?
[13:20] <mrgoodcat> i occasionally run through a course like that just to see. sometimes you learn little things like syntax shortcuts and such
[13:21] <jrwren> good point.
[13:21] <jrwren> there are a lot of python syntax shortcuts I never mastered because python2 is still a thing :(
[13:21]  * jrwren rages against python2
[13:22] <mrgoodcat> i use py3 when i can
[13:22] <mrgoodcat> i dislike that python2 is still teh default python in most distros
[13:23] <jrwren> mrgoodcat: you'll love ubuntu wiley  :)
[13:23] <brousch> jrwren: I didn't take anything above CS 200 level courses. I have a BS in Anthropology
[13:23] <jrwren> mrgoodcat: less than 4 weeks away!
[13:23] <jrwren> brousch: ah, then algorthims stuff in a college course would likely be great.
[13:23] <mrgoodcat> jrwren: can't wait :)
[13:23] <brousch> I don't plan on taking the courses, I just find it interesting what U-M is up to these days
[13:24] <mrgoodcat> although the only ubuntu i use has been lts as of late
[13:24] <jrwren> brousch: oh, u-m is still all c++ afaik
[13:24] <mrgoodcat> so i have to wait for 16.04
[13:24] <jrwren> then again, it has been a few years since I met any students or recent graduates.
[13:24] <mrgoodcat> i'm a student
[13:24] <jrwren> mrgoodcat: at umich?
[13:24] <mrgoodcat> no
[13:24] <mrgoodcat> but that wasn't what you said
[13:25] <jrwren> context.
[13:25] <brousch> I am weak in algorithms and design patterns
[13:28] <brousch> I thought U-M was moving to Java when I left in 1999
[13:29] <mrgoodcat> likely they were
[13:29] <jrwren> brousch: design patterns are just knowing names for things. Its like knowing the names of birds. Its only useful if it is useful.
[13:29] <mrgoodcat> most schools i know of are java now
[13:29] <mrgoodcat> although usually there is still some c++ required
[13:30] <jrwren> brousch: they definitely were not in the early 2000s. They were c++. I know a handful of grads who finished in '05 and they were very good c++ devs.
[13:30] <jrwren> I was impressed because most kids coming out of college think they can code and think they know c++, but really don't. These kids were the real deal.
[13:31] <jrwren> Then again, c++ now is quite a bit different than c++ 10 years gao :)
[13:31] <jrwren> *ago
[13:32] <cmaloney> I still don't know Design patterns
[13:32] <cmaloney> at least the name of things
[13:32] <cmaloney> Every time I start reading about them I get bored and drift off
[13:32] <jrwren> cmaloney: they are exceptionally dull
[13:32] <jrwren> and knowing more than a few of them is utterly useless
[13:33] <jrwren> many of them are language specific.
[13:33] <cmaloney> Yeah
[13:33] <cmaloney> Same with knowing bird taxonomy
[13:33] <jrwren> e.g. Observer Pattern in C# is implemented in the language - its called events.
[13:33] <jrwren> haha, birds.
[13:34] <jrwren> i see a black bird, and I say, hi black bird. I see a blue bird, and I say hi blue bird. and so on...
[13:35] <jrwren> I think knowing antipatterns is more useful than knowing design patterns.
[13:35] <brousch> EECS 281 (Data structures and Algorithms) kicked my butt twice. I hated memory management (C/C++) and pointers. these are the primary things that kept me from getting to 300 level CS courses
[13:35] <cmaloney> I get that we need to have lingua franca and what-not, but I'll be damned if I'll pull "Observer Pattern" out of something that's "Event driven"
[13:35] <cmaloney> memory management is tricky stuff. Even the computer doesn't get it right
[13:36] <brousch> this is why I use Python now, but I'm not really an awesome programmer
[13:36] <cmaloney> "Did you free that memory?" "0" "Does that mean yes?" "Banana!"
[13:37] <jrwren> all the recent c++ trends agree. its considered bad form to use new and delete yourself now.
[13:37] <jrwren> C++ folks have basically said, memory management is hard.
[13:37] <cmaloney> "Yo! I heard you liked releasing memory so I free'd the free'd the free'd the free'd the SEGFAULT"
[13:38] <cmaloney> Hah
[13:38] <cmaloney> jrwren: How times change
[13:38] <cmaloney> 1990 / 2000 was all about that destructor
[13:39] <jrwren> cmaloney: well, its also a different world. 20yrs ago when I started c/c++, most programs weren't long lived. they'd run, do their thing and terminate. Now everythign is a long time running server.
[13:39] <jrwren> cmaloney: oh, the destructor is still there and important, afaik. you just won't call delete from it :)
[13:39] <cmaloney> heh
[13:39] <cmaloney> Been a while since I looked at C++
[13:39] <cmaloney> I need to give it a peek again
[13:40] <cmaloney> see if it makes my stomach churn
[13:40] <jrwren> cmaloney: just be careful where you look. there is a lot of bad info, bad advice out there.
[13:40] <cmaloney> I wouldn't look at a book prior to 2010
[13:40] <jrwren> Bjarn actually said this in his cppcon talk
[13:40] <cmaloney> and certainly not Bjarne's book
[13:40] <jrwren> :)
[13:40] <jrwren> EffectiveC++ then?
[13:40] <cmaloney> possibly
[13:40] <cmaloney> I think I have that laying around
[13:41] <cmaloney> Picked up a decent looking C++ Games book
[13:42] <cmaloney> http://www.amazon.com/Beginning-Through-Programming-Fourth-Edition-ebook/dp/B00LZW07P0
[13:43] <cmaloney> "4.0 out of 5 starsI'd say taht this is a good, a realy good"
[13:43] <cmaloney> Can't go wrong with that review
[13:44] <jrwren> why a game programming book?
[13:44] <cmaloney> I like games? :)
[13:45] <cmaloney> Plus it doesn't teach a library, all of the games are text-based
[13:45] <cmaloney> so you're not fighting with something like Unity3d while learning hte language
[13:46] <jrwren> ha, timely: https://twitter.com/wc_duck/status/646957178235035649
[13:47] <cmaloney> heh
[13:49] <jrwren> for the record: I'm a total c++ n00b.
[13:49] <cmaloney> The syntax put me off
[13:49] <jrwren> really?
[13:50] <jrwren> well, it is hard to beat python.
[13:50] <cmaloney> It just felt like it was bastardized C to me
[13:50] <cmaloney> I find C can be quite beautiful
[13:51] <cmaloney> C++ felt like a lot of boilerplate
[13:51] <cmaloney> similar to Java
[13:52] <jrwren> so, that is kind of what bjarne said in that same keynote.
[13:52] <jrwren> he said most c++ is bad.
[13:52] <jrwren> he said clases are overused, there is a reason c++ has functions just like C
[13:52] <jrwren> he said a lot of c++ devs go out their way to use all htese complex features when simple things would work.
[13:53] <cmaloney> Did he fall on his sword because that's what it sounds like. ;)
[13:56] <jrwren> :)
[13:56] <jrwren> I think he more cried, "its not my fault everyone else sucks."
[13:56] <cmaloney> heh
[14:23] <mrgoodcat> after lots of work i finally reduced my vimrc to 72 lines (only 27 of which are actually directives) and got rid of all vim plugins
[14:23] <mrgoodcat> removed all the old crufty crap that i installed, used once, and forgot about
[14:23] <cmaloney> heh
[14:23] <mrgoodcat> my vimrc also has a comment for every single directive now
[14:23] <cmaloney> " This sets the value of a to 42
[14:23] <mrgoodcat> lol
[14:23] <mrgoodcat> some of them are simple like that
[14:24] <cmaloney> "This ensures that something down the chain works. Fuck if I know what it actually does
[14:24] <cmaloney> " This sends my bank information to the IRS, FBI, and NDA
[14:24] <cmaloney> NSA
[14:24] <cmaloney> hah, NDA my ass
[14:25] <mrgoodcat> https://github.com/dyladan/dotfiles/blob/master/vimrc
[14:25] <jrwren> I should probably do that.
[14:25] <mrgoodcat> it feels nice
[14:26] <jrwren> i bet I have 27 color directives commented out, so that I know what color options are available
[14:26] <mrgoodcat> like replacing all your socks and getting all matching pairs
[14:27] <mrgoodcat> i think line 17 and 23 are my most used
[14:27] <cmaloney> You can do that?
[14:27] <mrgoodcat> imap jk <esc>`^:%s/ \+$//eg<return>`^:w<return>
[14:27] <mrgoodcat> imap kj <esc>
[14:27] <mrgoodcat> jk leaves insert mode, removes trailing spaces, and saves
[14:27] <mrgoodcat> kj just leaves insert mode
[14:27] <mrgoodcat> screw reaching for esc
[14:28] <jrwren> i would hit that all teh time navigating up and down lines.
[14:28] <_stink_> doesn't rick_h_ use jj or something?
[14:28] <_stink_> for esc
[14:28] <mrgoodcat> jrwren: not in insert mode you wouldn't
[14:28] <rick_h_> _stink_: yes, in zsh and in vim
[14:28] <rick_h_> ftw
[14:28] <rick_h_> yes in insert mode
[14:29] <rick_h_> and it's awesome, home row and one char ftw
[14:29] <jrwren> map esc to ` as god and the terminal on which vi was written intended :)
[14:29] <jrwren> err, tab.
[14:29] <rick_h_> heh, except ~ moves on keyboards, especially kenisis/etc
[14:29] <jrwren> maybe it was tab location is esc?
[14:29] <rick_h_> esc was where tab or caps lock was on that terminal
[14:30] <rick_h_> so it was close/on home row
[14:30] <rick_h_> jj is awesome, there's like 3 words that use that
[14:30] <rick_h_> and if you do NEED a jj you just type it slowly
[14:30] <mrgoodcat> jk and kj are the best
[14:30] <mrgoodcat> and in insert mode i'm not using them to move
[14:30] <rick_h_> there's a timer on that for 100ms or something
[14:30] <_stink_> what words use jj?
[14:30] <mrgoodcat> very few if any
[14:30]  * cmaloney still needs to get rick_h_ a proper ADM terminal
[14:30] <rick_h_> mrgoodcat: nope, why two fingers? when you can do one?
[14:30] <jrwren> there is no except. look at the keyboard as it was on a adm-3a, make your KB the same. then vi is usable
[14:30] <mrgoodcat> rick_h_: can hit faster with two
[14:31] <jrwren> https://en.wikipedia.org/wiki/ADM-3A  the KB used to write vi
[14:31] <rick_h_> mrgoodcat: with proper keys I disagree
[14:31] <rick_h_> you're not taking your finger off
[14:31] <cmaloney> https://en.wikipedia.org/wiki/ADM-3A
[14:31] <cmaloney> ;)
[14:31] <mrgoodcat> roll right for save roll left for not save
[14:31] <mrgoodcat> can hit the second key while key 1 is still down
[14:31] <mrgoodcat> hitting them at pretty much the same time
[14:31]  * jrwren maps tab to esc :)
[14:31]  * cmaloney looks for the "Here is" key
[14:32] <rick_h_> jrwren: how do you tab in code then?
[14:32] <jrwren> rick_h_: i'd never do that. gofmt does it for me :)
[14:32] <rick_h_> jrwren: ugh
[14:32] <jrwren> ctrl-i maybe :)
[14:32] <rick_h_> insanity
[14:32] <cmaloney> Or you use CTRL-I
[14:32] <cmaloney> Dammt
[14:32] <rick_h_> lol
[14:32] <cmaloney> jrwen is jinxing me
[14:32] <rick_h_> once you go jj you never go back :P
[14:33] <jrwren> rick_h_: gofmt is opoiste of insanity. imagine all pep8 violations being automatically resolved on every file save. its glorious
[14:33] <jrwren> unfortunately, nothing fixes my spelling.  opposite?
[14:33] <rick_h_> http://www.wordfind.com/contains/jj/
[14:33] <jrwren> grep jj /usr/share/dict/words
[14:33] <jrwren> jk is in Dijkstra :)
[14:34] <jrwren> jj wins.
[14:34] <cmaloney> rick_h_: I hope you never have a Scandanavian employee. :)
[14:34] <mrgoodcat> http://www.wordfind.com/contains/jk/
[14:34] <mrgoodcat> 1 word
[14:34] <mrgoodcat> 3 contain kj
[14:36] <jrwren> more than 3
[14:36] <jrwren> well, blackjack, lockjaw, and some propernames.
[14:37] <mrgoodcat> wordfind didn't find blackjack
[14:37] <mrgoodcat> interesting
[14:37] <mrgoodcat> did find inkjet though
[14:38]  * rick_h_ claims enough old man greybeard cli points to guffaw at alternatives to jj :P
[14:38] <rick_h_> without any data other than experience
[14:39] <cmaloney> funnily enough I knew a gent who had an IRC nick with jj in it
[14:40]  * cmaloney remembers simpler times when sending +++ over IRC would reset some stupider modems
[14:40] <jrwren> ha, inkjet isn't in dict/words :)
[14:40] <cmaloney> NOCARRIER
[14:41] <rick_h_> cmaloney: you'd tab complete that anyway and never type it :P
[14:41] <rick_h_> boom!
[14:41] <cmaloney> Well, it also assumes you're using IRC from vim in insert mmode
[14:41] <cmaloney> so MMMOOOOOOBBB
[14:46] <mrgoodcat> yea
[15:27] <cmaloney>  Shigeto - There Is Always Hope (Mux Mool Remix)
[15:27] <cmaloney> ^ hearing an echoey voice saying "Michigan michigan michigan..."
[15:27] <cmaloney> Thanks Soma.fm
[15:28] <cmaloney> also: have a replacement for how I use last.fm
[16:46] <jrwren> so... we went from no python podcasts, to a new one every month, it seems.
[16:46] <jrwren> anyone want to start a python podcast?
[16:54] <cmaloney> heh
[17:38] <cmaloney> I think I've hit mini-rick_h_
[17:38] <rick_h_> ?
[17:38] <cmaloney> I have multiple tmux sessions, each full-screen, with multiple panes in each.
[17:39] <jrwren> but all one tmux server?
[17:39] <cmaloney> Each is it's own server
[17:41] <jrwren> ah. bummer. that sounds rough
[17:42] <cmaloney> Nah, it's quite cool
[17:42] <cmaloney> No complaints, or I wouldn't do it
[22:12] <brousch> What the ...  https://blog.adafruit.com/2015/09/23/a-breadboard-for-pebble-smartstrap-lovers-wearablewednesday/
[22:45] <cmaloney> That is awesome.