=== mrgoodcat is now known as dyladan === dyladan is now known as mrgoodcat [01:18] evening [01:18] hey [01:18] howdy [01:18] added authentication :) [01:18] w00t [01:18] .adminecho testing [01:18] testing [01:18] .adminecho testing [01:18] right now i'm working on making it so you have to reauth after changing nick [01:19] otherwise if i change my nick someone can impersonate me [01:54] cmaloney: done :) [01:55] no commands are marked adminonly right now except adminecho but that can come later === lotia_ is now known as lotia [12:35] happy launch day! [12:41] and a happy launch day to you as well :) [12:44] Is SpaceX going up today? [12:44] 14.04 [12:45] aoril 4 has already passed [12:45] 14 [12:45] ah [12:45] well idk then [12:45] jrwren: knows tho. maybe he had a product launch? [12:46] I'm just messing with you [12:46] 14.04 today [12:46] you silly #ubuntu-us-mi folks [12:46] 17.04.14 today [12:47] trusty today [12:48] So is mrgoodcat, which is why he was easy to troll [12:49] gdi [12:49] i didn't even think to check it [12:49] i was like "how did i miss launch day?" [12:49] brousch: saucy today, you are. [12:52] I think Tim Hortons gave me caffeinated coffee [12:59] brousch: those cheeky bastards [13:06] as they say in #openstack, ヽ༼ຈل͜ຈ༽ノ RELEASE or RIOT! ヽ༼ຈل͜ຈ༽ノ [13:12] mrgoodcat: hey, sorry i couldn't make chc. i was traveling for work yesterday. [13:14] got it [13:15] no big deal really. i was more productive alone anyways [13:21] http://www.wwmt.com/shared/news/features/top-stories/stories/wwmt_witnesses-report-shooting-at-wayside-west-kalamazoo-20097.shtml#.U0_S2M-x15S [13:21] http://is.gd/WOBk5P - 23-yr old Kalamazoo man shot and killed at Wayside West - WWMT - Kalamazoo MI Top Stories - News, Sports, Weather, Traffic [13:23] great, i'm going there next weekend. [13:23] jrwren: To that sports bar? [13:23] well, kzoo, not wayside. [13:24] I've been to waysides countless times. [13:24] I think KalamazooX will be slightly less violent [13:24] all more than 10 yrs ago :) [13:24] lol [13:24] yes likely kalamazoox will be less violent than a sports bar [13:24] wayside is a pretty meh bar anyways [13:24] slightly [13:24] it's not bad, just difficult to get to and from without driving [13:26] next thing to add to bookiebot is database support so i can play with message history [13:27] when i started pickling dicts to store information i realized i should probably get goin on real database storage [13:27] pickled dicts just sounds dirty [13:30] waysides is terrible. [13:30] i rarely had fun when I was there. [13:34] brousch: i needed key-value store [13:34] i was just using a dict [13:35] but then i wanted it persistent over restarts [13:35] so i started pickling [13:44] pickle is faster than in thought... [13:45] 99999 random 7 character strings in a dict with ints as keys pickled in 0.049 seconds as timed by datetime module... [13:45] it took longer to create in memory than it took to write it to the disk [13:46] file ended up 2.0M [13:58] yup, pickle is good. it has downsides too [14:12] jrwren: anything specific i should be looking out for? [14:12] executable code. [14:12] when you read the pickle it can/will just start running code if it finds it. [14:12] its fine if you always trust your pickle files. [14:12] but you shouldn't unpickle things from untrusted sources [14:12] ah, well i'm not _too_ worried about that, since i'm creating the pickle files [14:12] right. [14:13] also, pickle versions change. [14:13] IIRC there was a bug between 2.7.2 and 2.7.3 :( [14:13] i'm on 3.3 [14:13] so it will likely change even more [14:13] yes, beware. [14:14] there's no long term storage of the pickle though [14:14] .reload [14:14] reloaded 20 plugins in 0.007452 seconds [14:14] about 7 thousandths of a second [14:14] oh, only short term? then I'd not worry at all. [14:15] it's just to persist over restarts [14:16] sure, and then one day apt-get upgrade upgrades your python and then you restart and KABOOM you cant read your pickle [14:17] well i'm using virtualenv [14:17] so that's not likely [14:18] but nothing critical is stored [14:18] .message jrwren it only stores messages right now [14:18] mrgoodcat: I'll tell him [14:18] .reload [14:18] reloaded 20 plugins in 0.007524 seconds [14:18] its very likely with virtualenv [14:18] jrwren, at 2014-04-17 10:18:17 EST mrgoodcat said: it only stores messages right now [14:18] virtualenv doesn't copy the python bin into the venv. [14:18] virtualenv is a link to system python, not a copy (except on windows) [14:18] ah [14:18] didn't realize that [14:18] i've had apt-get upgrades make me recreate my venvs :( [14:19] is there any way to force python version? [14:19] i created with virtualenv -p python3.3 [14:20] so it will stay on 3.3 no matter what, but if a minor version change can break pickle, wouldn't i want to force that too? [14:27] anyone use msmtprc for emailing notifications from a server? [14:33] msmtp too [14:43] mrgoodcat: the only way I've found to "freeze" the version of Python to something I control is to do a "side/alt" install into /usr/local [14:45] .. and note that Python upgrades from 2.7.A to 2.7.B can break venvs.. heck I had a problems when 2.6.5 was updated without a version change once. [14:47] well i guess i'm not that worried about it [14:48] this is all very theoretical for an irc bot [14:48] if it breaks i'll fix it [14:48] simple as that [14:48] .. and recreating VE's is easy.. espeically with pip install.. [14:49] Oh, another reminder, the code in a VE may not "break"/crash after a Python upgrade until you restart it (if it were a web app, or some other long running app) [14:49] we had that "surprise" as well. [14:50] ha something to look out for i guess [14:50] i like how i can make edits to running python files and just propogate the change when i feel like it [14:50] Do you guys use venv in production, or a dedicated server for each thing? [14:50] its not often, but yeah.. VE's are still great, but it sucks when the "earth is moved".. [14:50] .reload is my favorite command :) [14:50] reloaded 20 plugins in 0.00777 seconds [14:50] brousch: we use them in production.. [14:51] we host all of our webapps in their own VE. [14:54] jsivak: you have a lot of them? [14:55] how many do you consider to be "a lot"? :) [14:56] I don't know. I've just noticed you for the first time today so I'm trying to learn more about you [14:56] brousch: heh.. I've been to chc off an on; rick_h_ used to work for me and cmaloney currently does. [14:56] Ah, OK [14:57] Then I do have a small idea of how many you have [14:57] we've got 10+ production web apps, each running in their own VE on 1 particular server. Our pattern is 1 webapp == 1 VE [14:58] We do per-project web-simulators on another server.. there's probably about 30 VE's/apps there, but they have very low traffic/volume [14:58] right now we are finally starting to use the spooling features of uwsgi. [15:00] 1 webapp == 1 VE and 1 VE != 1 server? [15:00] we host apps like portal.morpace.com/app_name_here.. so we use proxy prefixing a lot. [15:01] many of our apps have somewhat limited lifetimes and very limited user bases.. [15:03] we also maintain a local copy of all pypi packages that we use.. so we can always re-create VE's in their "original" state.. === mrgoodcat is now known as ljt === ljt is now known as mrgoodcat [15:06] oops changed my nick on wrong server [15:06] lol [15:07] would be interesting to have a declarative VE config so you could assert versions and such [15:07] like a gemfile in ruby [15:08] "virtualenv.py -p /usr/local/bin/python2.7 myenv_ve" is about as close as I can think of. [15:08] heh [15:10] you can be a little more "tricky" if you INSTALL virtualenv.py to /usr/local/bin USING /usr/local/bin/python2.7, then "virtualenv.py" automatically uses /usr/local/bin/python2.7 when creating new VE's. [15:12] (don't need the "-p" arg..) [15:23] .reload [15:23] reloaded 21 plugins in 0.009743 seconds [15:23] .chanlist [15:23] Current channels: #ubuntu-us-mi #bookie [15:23] .shortlog [15:23] Current commit is 21f43bb996dea28dbdaef70a7fffbfabeaa33650 removed adminecho and added chanlist [15:23] ok, I've been away from this channel for awhile, what's the "bookiebot".. [15:24] i just made it [15:24] .source [15:24] https://github.com/dyladan/alan [15:24] it's my way of experimenting/playing/learning with python [15:24] i'm newish to python [15:24] ah, its not related to rick_h_'s Bookie? [15:24] it is actually [15:24] .bmark dyladan [15:25] http://nbviewer.ipython.org/github/rasbt/python_reference/blob/master/not_so_obvious_python_stuff.ipynb - Not so obvious python [15:25] my most recent bmark [15:25] .bmark admin 99 [15:25] http://techblog.ironfroggy.com/2013/11/5-reasons-web-components-arent-ready.html - Developing Upwards: 5 Reasons Web Components Aren't Ready for Prime Time [15:25] rick_h_'s 99th newest bookmark [15:26] also if you reference a bookie issue number like #223 it pings the github api to get info about it [15:26] closed - ERROR/PoolWorker-3] maximum recursion depth exceeded - https://github.com/bookieio/Bookie/issues/223 [15:26] Has anyone used Scratch? [15:27] brousch: heh.. I tried to get my daughter to use it.. [15:27] brousch: i'm not _that_ young... [15:28] jsivak: Judging by the tone, it did not go well? [15:29] brousch: she's 12, Minecraft and Skyrim were "moar interesting".. :P [15:30] .. though she's getting good at managing different Minecraft plugins/installs.. [15:30] Hm, yeah, might be a bit old fro Scratch [15:30] I have a 6 year old [15:53] <100 => trivial [15:53] 100-1000 => a little [15:53] 1000+ => a lot [15:53] lol [15:54] hey, you asked :) [15:54] yeah, walked into that one.. [15:54] I'm not sure I'd classify < 100 as 'trivial' [15:54] what do you use to host. [15:54] ? [15:54] uwsgi? [15:54] yep [15:54] and nginx? [15:55] yep [15:55] some apache. [15:55] ugh [15:55] mod_wsgi or mod_uwsgi? [15:55] all the new stuff is using nginx... [15:55] oh, straight proxy to the uwsgi HTTP port. [15:56] (for the apache stuff) [15:56] ya know, I never had luck wiht mod_uwsgi [15:56] yeah, that is probably easier. [15:56] slightly more overhead though :( [15:56] yeah, I never tried it.. didn't like that *one* master Python instance was running the show [15:57] plus, as rick_h_ and cmaloney can attest to, I *LIKE* having the sites/apps being as indepedent as possible. [15:57] same here [15:57] once you go uwsgi process, I feel it is hard to go back to web server integrated [15:57] no kidding. [15:57] nginx support uwsig protocol. I wonder if there is an apache module to just uwsgi protocol to uwsgi sockets [15:58] dunno [15:58] I really dislike going back to apache config files.. ;) [15:58] same here. [15:58] esp since I never really learned 2.4 access changes, and I dont like access_compat [15:58] *but* I do miss the "mixed case URL" handling that apache offers.. [15:59] ugh.. 2.4's "requires".. ugh [15:59] ya know what would be a bit interesting... haproxy for uwsgi protocol [15:59] hmm.. not sure.. I almost ALWAYS want nginx "in front" to handle all of the goofy proxy/url/redirect things.. SSL too, even though latest haproxy supports SSL now [16:00] with our projects we need to great "glamour" URLs quite often. [16:02] haproxy excells at goofy proxy/url/redirect things :) [16:02] haproxy does not excel at ssl :) [16:02] but its in beta ;) [16:02] its not nice making the redirect rules with "variables" in them.. I have to use "if" sometimes in the nginx conf.. [16:03] yeah, until 1.5 goes "gold" I wasn't going to try the SSL support in haproxy [16:03] .. but nginx does it well enough for us.. our load's aren't crazy high, so we can afford the overhead.. but I *LOVE* have all SSL handled at the front door and not at the web workers. [16:04] what kind of apps you hosting with uwsgi? [16:04] same here. nginx works great for me/us [16:04] have you had to deal with 'mixed-case' URL's? (or normalizing mixed-case URLs) [16:05] no [16:05] everything, well, 99% of what I do is machine to machine. [16:05] its on my radar; I'm sure to get bit by it someday.. we have IIS servers as well, and people get lazy with their URLs. [16:05] lucky you. [16:05] we invite people for surveys.. [16:06] is there some mixed case url recent issue? [16:06] why would you get hit? [16:07] Oh, someone could print an URL invite like "http://s.morpace.com/VISITus" [16:07] http://is.gd/KDiLF2 - Interviewer Server - Error [16:07] if that went to an nginx system, then the url may not redirect/map correctly. [16:08] (without 'admin' intervention).. trying to avoid work whenever possible. :) [16:11] just going for IIS compatility? [16:11] AFAIK, that is true of apache too [16:11] path_info has been case sensitive forever. [16:11] in fact, even case sensitive in IIS if it is an application [16:12] its just not case sensitive because NTFS is not case sensitive [16:12] an asp.net application would treat it case sensitive in IIS afaik [16:12] I thought that apache had an option/mode to process URL's in a case insenstive manner.. nginx chose not to for performance reasons. [16:12] in IIS we've only used classic ASP, so we've been able to "ride" on the case-insenstive wagon there. [16:13] I think I've see the case issue in one of the .NET apps we inherited recently.. [16:13] yeah, i think I'm wrong about .NET [16:14] mod spelling in apache :) [16:17] so when is the release time for 14.04? cuz holy shit #ubuntu is blowing up with people asking about it already [16:19] lol [16:19] patience. [16:19] just wait until tomorrow [16:20] im good :) [16:20] I'm just finding it comical that they have it in their topic and people are still asking haha [16:20] cdimage.ubuntu.com is DDOS [16:20] go back in time and get the last beta [16:21] the diff between the last beta and release is minimal, there's rarely some weird install issue found/fixed between them [16:21] do-release-upgrade [16:21] most folks aren't devs and don't understand that its the same thing greg-g [16:21] most folks think there is magic in the release version. [16:21] do you guys know how to make mdadm monitor the raid and email on a status change? I have the email part setup, configured, and I can get test messages from the raid [16:21] they are wrong. it isn't magic, it is extra love. [16:22] but if i unplug to simulate failure nothing happens [16:22] jrwren: I assumed Havenstance2 wasn't in the category referred to as 'most folks' [16:22] Havenstance2: i do not know that exactly. I know smartmontools is pretty good at watching disk health [16:22] greg-g: nah, definitely not. [16:23] greg-g, I understand the difference in Beta and Release candidates, all the RC is is a BETA that's been approved for release :) [16:23] all a release is, is a beta that has been approvate for release. [16:23] i've evne played with 14.04 in test machines and I love it [16:23] "Alright, change that number and regen the iso!" [16:23] yup that's about it lol [16:23] some companies even just rename the same iso lol [16:24] .. one step closer to "rolling relase".. heh heh.. (Arch user) [16:24] fully automated release based on scm tags is the only one true way [16:56] jrwren: coffee is my current upper of choice. [16:56] better than alternatives. :) [16:56] :) [16:56] I do fear I'm on the border line of it effecting greater health [16:57] I'd like to get better [16:57] I've got other shit to deal with first [16:57] ha! don't we all [16:57] like, that whole exercise thing [16:57] I did an hour on a stationary bike last night :) [16:57] I need to do it more than once a week. [16:57] I stopped drinking many beers every night of the week. [16:58] I thank spring. I'm emerging from winter blues. [16:58] in 2010? 2011? I did a 10k in 50ish minutes. Now, shit, no idea how slow I'd be. [16:58] WOW! that is fast. [16:58] I rocked it. [16:58] in 2010 i did 5k in ~18 [16:58] wait wait... ages? [16:58] I was 29? [16:58] greg-g is like 32, so he might have been 28 in 2010 :p [16:58] i was 18 [16:58] I was close. [16:59] and in high school cross country team [16:59] hahah, yeah, mrgoodcat yours doesn't count :p [16:59] mrgoodcat: I was gonna say, that's a good HS time ;) [16:59] * greg-g did XC in HS [16:59] i mean, awesome for you, but its not the same as being a middle aged man. [16:59] haha [16:59] no i'm pretty young [16:59] take that "mr" out of your nick! [16:59] ;) [17:00] i was more of a swimmer than a cross country runner though === mrgoodcat is now known as goodcat [17:00] my cross country time was more of a result of my swimming conditioning than actually being on the XC team [17:01] hahahaha [17:01] <3 nick change [17:01] :) :) [17:01] goodcat: or I guess "mrgoodkitten" would also work :P [17:01] good cat still keeps the reference intact [17:02] so i'm good with it [17:02] :) [17:02] my ability to run was/is entirely dependent on my bike conditioning [17:02] i've NEVER been a runner [17:02] biking++ [17:02] road or mtb? [17:02] both [17:02] I was a runner first, other things second. [17:02] i prefer mtb [17:02] i used to prefer mtb, but I learned to appreciate road [17:03] mainly for my commute :p [17:03] i like road for a different type of conditioning [17:03] but mtb is best [17:03] i love the challenge of mtb [17:03] which is on the road, but its not really RAOD BIKING [17:03] what bike do you ride? [17:03] Havenstance2: its official http://releases.ubuntu.com/14.04/ [17:03] http://is.gd/5PDYGK - Ubuntu 14.04 LTS (Trusty Tahr) [17:04] right now, I don't ride a bike. I totalled my old Trek830 [17:04] I might not get back into biking. [17:04] my kid isn't interested in it, and I like to spend time with the kid. [17:04] i was hoping we'd bike together, but she is a big wuss [17:04] ahhhh totaled? how? [17:05] jrwren: How old is she? [17:05] i ride an older diamondback but it's the equivalent of the overdrive carbon [17:06] hardtail, 26.5, full XTR equipment [17:06] i want a 29er though [17:06] brousch: she is 7, TODAY!!! [17:06] and a full suspension would be nice [17:06] jrwren: nice, happy birthday to her! [17:06] FOX locking front shock [17:06] getting 50Mbit download on ubuntu torrent :) [17:07] niiiice [17:07] jrwren.get_daughters()[0].happy_birthday() [17:07] so... i love mtn biking, but I'm not a gear head. [17:07] I love hving an old shit bike [17:07] well my bike is 2 years younger than i am [17:07] so it's not exactly new [17:08] but it's been taken care of excellently by my dad [17:08] jrwren, sweet, time to setup a vm and check it out :) [17:08] heh, my bike in grad school was as old as I was [17:08] Miyata 310 [17:08] thing was an awesome fixie [17:08] jrwren: Last year we did a ride-along bike. My son likes that more than riding his own [17:09] 70Mbit now :) [17:09] now I'm riding a Lemond Zurich, forget which year, but near the last they made. [17:09] Rowan *loves* the ibert [17:09] get to chat with him/tell him the things he pointing at with "what's that?!" [17:10] ah, no this was half a bike you connect to your bike, so the kid gets to peddle [17:10] yeah, those are neat too [17:10] he's not there yet :) [17:11] brousch: I HAD ONE OF THOSE [17:11] that's the best [17:11] I loved riding with my dad like that [17:11] ibert does look fun though. Ours is like the back part of this http://collegecyclery.biz/wp-content/uploads/2011/05/ibert_02.jpg [17:11] mine was just like that [17:12] We're trying to transition him to his own bike this year (6-7) [17:12] the worst part of the ibert is you need a bike with the right geometry, mine is just barely off where I have to splay my knees a bit at the top of their arch [17:13] doing 5-10 miles is fine, but I'm not going to do a century with it :) [17:13] lilly loved the trail-a-bike, i thought she'd want to learn solo, but alas :( [17:14] sharing ubuntu torrents at 5Mbit... becuase comcast doesn't have limits anymore :) [17:18] jrwren: Have you tried Scratch yet? [17:18] yes. [17:18] but not since she has gotten very good at reading. [17:18] We are going to be reviewing a raspberry pi programming book for pakt [17:19] Yeah, reading skills seem ready now [17:19] yup. good reader now [17:19] RPi comes with Scratch [17:20] but a lot of books also use pygame [17:29] comcast doesn't have limits anymore? [17:30] monthly bandwidth usage ones [17:30] oh [17:30] i was gonna say.... [17:30] i'm definitely still speed limited [17:30] lol, of course [17:31] no more 250GB/month cap [17:45] anyone using wwsgi to host a Pylons/Pyramid site with the number of uwsgi workers > 1? [17:47] I'm looking at logging messages to a file and it just dawned on me that uwsgi with workers > 1 means that I've got multiple processes logging to the same file. [17:47] Was curious if this has caused issues/prob's with anyone. [17:55] i think it cna cause issues, yes. [17:55] this is why syslog is good :) [17:55] I want the logging to stay "local" to each webapp. [17:55] Are the problems with "corrupt/messy" logs, or are they more "sinister" than that? [17:56] I haven't seen any problems to-date on our sites. [17:56] you just using python logging module [17:57] we've been using uwsgi for a few years now, so it's obviously not happening often, but I'm starting to use the "spooling" function of uwsgi and its raised my awareness of multiple processes logging to the same file. [17:57] (been reading about it all day.. I think my eyes are starting to send log messages..) [17:58] jsivak: i think bookie maybe? [17:59] goodcat: to find out more links/info? [18:16] jsivak: what? [18:17] you asked who is using pyramids with >1 worker [18:17] i think bookie is [18:19] goodcat: last I heard rick_h_ was running it with gunicorn, but I'll check with him when he's back from pycon [18:21] .. for posterity: it looks like I can either setup logging SocketHandlers or just have the webapp dump its log to stdout/stderr and let uwsgi handle it.. [18:23] http://i.imgur.com/44rFwrT.gif [18:24] i wonder why link wasn't shortened?... [18:25] no title attribute [18:25] thread died [18:25] * goodcat off to code :) [18:31] They drove? [18:32] brousch: I thought they flew [18:34] no idea [18:34] i was just trying to explain why he wasn't online [18:34] goodcat: you're supposed to be coding.. [18:35] :P [18:35] i'm done [18:35] it was easy [18:35] lol.. then it wasn't coding.. [18:35] well, it works [18:35] def do_everything(): pass [18:35] i'm still trying to decide how to handle it [18:35] i just made a default no title message [18:36] but maybe i should check mime type or something [18:36] or google reverse image search on posted images [18:37] wouldn't it be cool to reverse image search on a posted image and return the first google result? [18:38] would be zacgorman.com for that image [18:38] which is good because he is the original author [18:55] .reload [18:55] reloaded 22 plugins in 0.009063 seconds [18:55] http://i.imgur.com/44rFwrT.gif [18:55] :) [18:56] whats a good solution for offsite backups of files? [18:56] jsivak brousch: bookiebot checks content-type header now and only works on text/html [18:56] Havenstance2: what platform? [18:56] goodcat, zentyal, [18:56] damn [18:57] well backblaze is sweet but winders only [18:57] I want to store a copy of the files in the storage drives to the boss' server at home. [18:57] I checked out urbackup but the linux client software seems to be a bitch to get running. [18:57] everybody got their torrents running? [18:57] dzho, already downloaded but seeding currently [18:57] oh wait you want hosted or not hosted? [18:57] Havenstance2++ [18:58] goodcat, unhosted, don't want any 3rd parties involved [18:58] well i was gonna say spideroak but nope [18:58] rsync ftw [18:59] just rsync it [18:59] backing up to home server is going to be SLOW though [18:59] Havenstance2: crashplan [19:06] brousch, thank you. goodcat yeah i know it will be slow. urbackup will work great for all the machines in the building to sync to the server, however the server needs someplace to sync to, the boss wants it at his house most of the files we have are just simple text files or word documents not too large generally [19:18] Anyone know how to pass a multiline string as an argument from the command line to a python file? It appears the interpret \n literally as \n instead of the new line charactor. [19:19] Examples: python server.py "this is a test" "this is a\n multiline test" [19:19] That seems like the wrong way to do something [19:20] send it to a file and pass the file name? [19:21] That might be complicated. This is going to be running on a server where dozens of people may accessing it simultaniously. Each instance of the server.py file must be run uniquely. [19:21] And the passed in parameters will be mostly unique as well. [19:24] http://stackoverflow.com/questions/749049/passing-a-multi-line-string-as-an-argument-to-a-script-in-windows [19:24] I'm attempting to push most of the processing work of my app off to the server. As it is, the app sucks up network usage like crazy. Mostly just constant pinging. Attempting to have it act more like a socket where the background thread sends off of the info and just idle's until the server returns to info it needs [19:26] mathomastech: get the data from stdin then `echo "line 1\nline2" | script.py` [19:27] has the added benefit of allowing `cat input | script.py` [19:27] time for class [20:15] jsivak: goodcat it's uwsgi with nginx up front in production [20:15] and waitress (pserve) in dev [23:40] man, i go dark from IRC for a bit and all heck breaks loose [23:40] lol [23:40] :)