[02:14] <rick_h_> https://twitter.com/bradfitz/status/436578596786667520
[02:47] <cmaloney> rick_h_: http://mug.org
[04:00] <mrgoodcat> when i create three workspaces with a program in each one, [1,2,3] then kill the program in 2 i'm left with [1,3]. is there a way to have it automatically renumber them?
[04:03] <waf> not that i know of, though i3 is super scriptable.
[04:04] <waf> i personally wouldn't want that. if i have in my head that a program is on workspace 3, i don't want it "moving around" when i'm doing things on unrelated workspaces
[04:04] <rick_h_> heh, well love the ideas and spirit of biting off a lot of work https://github.com/bookieio/Bookie/issues/307
[04:04] <cmaloney> rick_h_: yeah, I saw that.
[04:05] <cmaloney> That falls into the "patches welcome, and please fork the project when you're done"
[04:05] <rick_h_> heh, pretty much
[04:05] <rick_h_> "OSS ftw! go have fun"
[04:05] <mrgoodcat> wow
[04:06] <mrgoodcat> i haven't ever made anything for app engine. any idea how hard it is?
[04:07] <rick_h_> it's not hard, but it's app engine specific
[04:07] <rick_h_> very specific rules on how things run so that they can scale the app easily enough
[04:07] <rick_h_> the big feature is auto scaling google style if you do things right
[04:10] <mrgoodcat> do you need that?
[04:23] <rick_h_> not really
[04:24] <mrgoodcat> lol
[04:24] <mrgoodcat> would be nice to need it though
[04:24] <rick_h_> it's a different design
[04:24] <rick_h_> yea, but then I'd have to pay google and only google to run my app
[04:24] <rick_h_> hard to transfer it elsewhere at scale
[04:24] <rick_h_> but hey, nice problem to have I guess
[04:29] <mrgoodcat> haha
[06:21] <mrgoodcat> this is amazing http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/multi_comparison.html
[12:47] <cmaloney> Good morning
[12:48] <rick_h_> morning
[15:30] <jrwren> he's not mortal?
[15:30] <cmaloney> Nope. I think he's scored himself his own constellation now
[15:30] <cmaloney> ever since MSU won the rosebowl
[15:31] <cmaloney> That deal with the Greek Gods really paid off for him.
[15:31] <cmaloney> (The Man, The Myth, the Jorge Castro)
[15:33] <mrgoodcat> rick_h_: on http://docs.bmark.us/en/latest/development.html the link to pyramid is broken
[15:33] <rick_h_> mrgoodcat: ah cool
[15:34] <mrgoodcat> http://docs.pylonsproject.org/en/latest/docs/pyramid.html
[15:34] <mrgoodcat> is the new location
[15:34] <rick_h_> good place to patch :)
[15:34] <mrgoodcat> is the website in github?
[15:35] <rick_h_> https://github.com/bookieio/Bookie/blob/develop/docs/development.rst
[15:43] <mrgoodcat> so just to make sure i'm doing this right. make a development branch, make changes, commit branch, fetch, rebase upstream/master, push, create pull request
[15:44] <rick_h_> I consider this the typical good github workflow https://github.com/juju/juju-gui/blob/develop/HACKING.rst#typical-github-workflow
[15:45] <rick_h_> just replace juju/juju/gui with bookieio/bookie
[15:48] <jrwren> anyone using 14.04 cloudimg? It just occured to me that it likely isn't going to change much in the next couple months. I could start testing with it.
[15:57] <rick_h_> mrgoodcat: add your name to the credits file and 'git rebase -i --autosquash' to fix the commit and push --force
[15:59] <mrgoodcat> it says there is no tracking information for the current branch when i try to rebase
[15:59] <rick_h_> hmm, git rebase -i HEAD~~
[15:59] <rick_h_> ?
[16:03] <mrgoodcat> done
[16:04] <mrgoodcat> so you don't require rebase off of upstream/master?
[16:04] <mrgoodcat> or upstream/development
[16:08] <rick_h_> meh, I do whatever I like :)
[16:08] <mrgoodcat> i just mean to prevent merge conflict
[16:08] <rick_h_> mrgoodcat: so yes, ideally now you delete your feature branch
[16:08] <mrgoodcat> shouldn't the person making the pull request fix any potential collision?
[16:08] <mrgoodcat> already did
[16:08] <cmaloney> rick_h_ looks forward to merge conflicts
[16:08] <cmaloney> ;)
[16:08] <rick_h_> and then you can go to your develop and do a 'git pull bookieio develop'
[16:09] <cmaloney> The hairier the better.
[16:09] <rick_h_> mrgoodcat: oh, yea so that's just because I know you just forked it over and it was a clean mergable in files not touched by anyone else
[16:09] <rick_h_> mrgoodcat: since landing goes through me I know what's an issue or not for the most part
[16:10] <mrgoodcat> got it
[16:10] <mrgoodcat> i like to fetch and merge instead of pull
[16:10] <rick_h_> typically I end up pulling locally, cleaning up the commit history, running tests, making small tweaks, lint fixes and then I merge locally for the pull request
[16:11] <rick_h_> well ideally it's git rebase bookieio develop in case you've got any local changes to your develop tree but hopefully not
[16:14] <mrgoodcat> this is only the third public project i've submitted pull requests for so thanks for the help
[16:14] <rick_h_> woot
[16:14] <mrgoodcat> i'm used to working on personal repos only
[16:18] <brousch> It's so hard to stifle all of my usual snarky comments in #bookie
[16:23] <rick_h_> :P
[16:23] <rick_h_> imagine being me?!
[16:23] <mrgoodcat> haha
[16:23] <mrgoodcat> i guess i picked a bad time to start asking n00b questions about git workflow
[16:27] <brousch> rick_h_: I have been impressed with your lack of rage
[16:27] <mrgoodcat> anybody else having trouble loading assets from github?
[16:27] <mrgoodcat> nm. fixed now
[16:45] <mrgoodcat> is there a way to disable power button in i3? or at the very least require a 1 second hold? i've accidentally hit it > 10 times now
[16:45] <rick_h_> power button?
[16:46] <mrgoodcat> my power button on my laptop is a keyboard button
[16:46] <mrgoodcat> above backspace
[16:53] <waf> i don't think i3 can control that. probably would be controlled via acpi
[16:53] <waf> or that gnome-settings-daemon (does ubuntu still use that?)
[16:54] <mrgoodcat> yes it does
[17:16] <mrgoodcat> apparently the powerbutton is now handled by logind in ubuntu
[17:16] <mrgoodcat> man 5 logind.conf
[17:34] <mrgoodcat> i am woefully unfamiliar with pyramid.
[17:35] <brousch> mrgoodcat: It's like Django, but not as useful
[17:35] <mrgoodcat> lol
[17:35] <rick_h_> mrgoodcat: :) you'd need some python to help
[17:35] <mrgoodcat> well obviously i'd need to know python
[17:36] <mrgoodcat> but it uses javascript also
[17:36] <rick_h_> pyramid doesn't
[17:36] <mrgoodcat> but bookie does
[17:37] <rick_h_> oh..yea definitely
[17:37] <rick_h_> and sass
[17:37] <rick_h_> and make
[17:37] <rick_h_> and ...
[17:37] <mrgoodcat> for views. i was just looking at routes.py to try to figure out how views word in pyramid when i realized you're using a js framework for that
[17:37] <mrgoodcat> s/word/work
[17:37] <rick_h_> well, only to tie onto the pyramid views
[17:38] <rick_h_> routes is all python and only talks to python
[17:38] <rick_h_> https://github.com/bookieio/Bookie/tree/develop/bookie/views
[17:38] <rick_h_> is all python views
[17:38] <mrgoodcat> hadn't yet gotten that far
[17:39] <mrgoodcat> so /login for instance, does that load a javascript view or a pyramid view?
[17:40] <rick_h_> that loads a pyramid view
[17:40] <rick_h_> all routes load pyramid view
[17:40] <mrgoodcat> but there isn't one called login
[17:40] <mrgoodcat> and routes.py doesn't specify auth.py
[17:40] <rick_h_> https://github.com/bookieio/Bookie/blob/develop/bookie/views/auth.py#L21
[17:40] <rick_h_> :)
[17:41] <rick_h_> https://github.com/bookieio/Bookie/blob/develop/bookie/__init__.py#L50 is the magic
[17:41] <rick_h_> config.scan('bookie.views')
[17:41] <rick_h_> it loads the module bookie.views, walks through them all looking for the decorated view_config, and matching the names in the decorator to the views in routes.py
[17:43] <mrgoodcat> sorry if i seem so incompetent right now. i've worked almost exclusively in RoR
[17:43] <mrgoodcat> at least as far as web frameworks go
[17:43] <rick_h_> all good
[17:43] <mrgoodcat> and i have very little web experience in general
[17:43] <rick_h_> happy to explain
[17:44] <rick_h_> I like teaching and talking shop (why I'm doing this GSoC thing and do CHC and all that)
[17:45] <mrgoodcat> so it doesn't matter what file a view is in?
[17:45] <mrgoodcat> you just have authentication related views in auth.py because that made sense to you
[17:46] <rick_h_> right, it only matters that it's inside the module bookie.views
[17:46] <mrgoodcat> ok
[17:46] <rick_h_> I can name/create files in there at will just to organize where I think things go to ease development
[17:47] <mrgoodcat> so if I make a GET request to /login I get the view which is rendered using the /templates/auth/login.mako template
[17:47] <rick_h_> mrgoodcat: yep
[17:48] <rick_h_> and that creates a JS view to make the JS bits of the UI work in that template https://github.com/bookieio/Bookie/blob/develop/bookie/templates/auth/login.mako#L37
[17:49] <mrgoodcat> which uses YUI
[17:49] <rick_h_> :)
[17:49] <mrgoodcat> why javascript?
[17:50] <rick_h_> because I wanted to learn and try stuff out
[17:50] <mrgoodcat> got it
[17:50] <rick_h_> and it makes for pretty stuff and some cool experiences
[17:50] <rick_h_> much of the app uses the API it provides itself
[17:50] <rick_h_> via JS/ajax calls
[17:50] <rick_h_> so I'm my own api consumer. If it sucks or breaks I have to fix it
[17:51] <mrgoodcat> got it. i've always just used html and put it scripts where i need them for specific functionalities
[17:51] <rick_h_> I've got my own JS implementation of the api https://github.com/bookieio/Bookie/blob/develop/bookie/static/js/bookie/api.js
[17:51] <rick_h_> ah, yea that's a mess
[17:51] <mrgoodcat> i saw that
[17:51] <mrgoodcat> but didn't look closely
[17:51] <rick_h_> by creating real views/modules I can test the JS
[17:51] <rick_h_> apart from the templates and things
[18:05] <mrgoodcat> on this line, why do you finish with .first() ? shouldn't there only be one instance of a username?
[18:05] <mrgoodcat> https://github.com/bookieio/Bookie/blob/develop/bookie/models/auth.py#L157
[18:06] <rick_h_> is you use .one and the user does not exist it throws an exception
[18:06] <rick_h_> I use .first and check for None for my needs
[18:07] <rick_h_> the db has constraints that deal with preventing more than one based on primary keys
[18:10] <cmaloney> Does the DB checking work across platforms (SQLite for instance?)
[18:10] <rick_h_> yes
[18:10] <cmaloney> kk
[18:10] <rick_h_> as long as I stick in sqlalchemy I get all three dbs
[18:11] <cmaloney> Ah, so SQLAlchemy does the checks. That's cool
[18:11] <rick_h_> yea, it creates the constraints when the db comes up
[18:30] <cmaloney> https://plus.google.com/+MugOrgPage
[20:17] <rick_h_> thanks brousch :)
[20:17] <rick_h_> I owe you a coffee next pyohio!
[20:18] <brousch> Hah, well I use Bmark for free, so if I can help a little it alleviates some guilt
[20:19] <rick_h_> :) well appreciate it
[20:19] <brousch> Unfortunately I haven't looked at Bookie code since PyOhio 2012
[20:19] <rick_h_> overall been easier today
[20:19] <rick_h_> but it goes in waves
[20:19] <rick_h_> and 30+ people in channel now :/
[20:19] <brousch> I think right now is post-dinner hacking time in India
[20:19] <rick_h_> must be something
[20:20] <rick_h_> looking at google analytics india was #2 for traffic
[20:20] <brousch> Hm, 1:50AM
[20:20] <rick_h_> ty GSoC
[20:20] <rick_h_> hah, late night hacking then
[20:20] <brousch> Definitely students at that hour
[20:20] <brousch> If I'm hacking anything at 2AM it means someone slipped some crack in my dinner milk
[20:26] <mrgoodcat> rick_h_: pull request #309 is just more broken docs. you must have moved the repository from mitechie to bookieio?
[20:26] <rick_h_> mrgoodcat: yea, went from my accout to the org
[20:27] <mrgoodcat> i fixed the README
[20:27] <rick_h_> thanks
[20:28] <mrgoodcat> np. both links work anyways but i figured you'd want it to be the organization
[20:29] <rick_h_> yep
[20:35] <mrgoodcat> i think i'm going to take some time and clean up your docs if you don't mind. some things could use some expansion and/or clarification
[20:35] <cmaloney> CEASE AND DESIST!
[20:35] <cmaloney> *cough*, I mean go ahead.
[20:35] <cmaloney> ;)
[20:37] <rick_h_> lol
[20:42] <mrgoodcat> any part of the documentation you particularly want updated? the testing was what i saw that really needs expansion
[20:43] <cmaloney> I'm pretty sure the "if you feel the itch, scratch away" rule applies here.
[20:48] <mrgoodcat> also, since i'm doing this, is there any reason the README is so sparse? would you rather people just go to the documentation website? if so, should the information in the README like the quickstart be in the docs?
[21:20] <brousch> How can I tell if a program is installed by default on Ubuntu? Specifically python-dbus
[21:48] <rick_h_> brousch: heh, I did a juju install ubuntu to test that out today
[21:52] <brousch> To check python-dbus?
[21:52] <rick_h_> sec, still have it up
[21:53] <rick_h_> yep, there ootb
[21:53] <rick_h_> this is on trusty
[21:53] <brousch> awesome, thanks
[21:53] <brousch> It seems to be there on precise server
[21:54] <brousch> So I'd guess it's there on everything (Ubuntu)
[21:54] <rick_h_> party
[21:55] <brousch> I guess we're going to use it for kivy->plyer->notifications
[22:06] <brousch> Quote of the Day: "I have to apologize you, It was my fault and I cant tell you what the problem because of degree of stupidity of this problem. Thanks anyway "
[22:06] <rick_h_> lol
[23:05] <mrgoodcat> !message brousch you can grep this manifest, which is a list of every package and it's version installed by default http://releases.ubuntu.com/releases/precise/ubuntu-12.04.4-desktop-amd64.manifest
[23:05] <mrgoodcat> oh shit no bot in this channel
[23:14] <mrgoodcat> waf: i switched i3 to use the vim keys. i've hit $mod+h so many times now