[00:18] wow... I really do have more storage than I know what to do with... for the time being. datavg 5 6 4 wz--n- 12.74t 6.81t [00:19] woot! [00:19] yeah. [00:56] Evening [01:31] good evening yourself [01:33] party party [01:33] and then bed time [12:12] Good morning [12:12] double morning [12:13] heh [12:13] rick_h_: It's WEdnesday today, just in case you needed a reminder. ;) [12:13] heh yea I do [12:13] I'm not sure where I'm at any more [12:14] I gathered. [12:14] when do we get to NAPDay? [12:14] Not sure [12:15] I think it happens between CoffeeDay and PassOutDay. [12:37] today is coffee day [12:37] super cheap coffee at biggby for their birthday [12:38] 2$ 20oz hot mocha caramel ftw [13:02] \m/ [13:02] mrgoodcat: good day for coffee [13:02] awesome song to start the day always helps. [13:04] i have a quick sqlalchemy question about best practices [13:05] i have a module to store my model. Should I have code in the model to create the table if it doesn't exist or should that be in the main code? [13:09] mrgoodcat: db migations, check out alembic [13:10] manage migrations manually vs auto creating things [13:10] so they should be run separately outside the app? [13:10] yes, the app shouldn't magically create data store imo. It hides that you typod the db name, etc [13:10] thats the way it was done in rails too. i was just wondering. alembic must be the same thing basically as rake db:migrate? [13:10] yes [13:11] ok [13:11] Alembic can also be used to generate the migrations [13:11] yes [13:12] Think of it as a melding of rake db:migrate and the magic migration management of Active Record [13:12] but less magic. :) [13:12] and written by a serious badass [13:13] rake db:migrate is the magic migration management of active record. unless i'm misunderstanding what you mean [13:14] Right, but not recalling offhand in Ruby what makes the migration files that get parsed [13:14] s/Ruby/Rails/ [13:14] got it. in rails its just a rake task [13:14] right. [13:15] Haven't touched Rails in quite a while (outside of trying to install Redmine. ;) ) [13:15] and fixing a bug in Tracks. ;) [13:17] i still use rake for things that aren't even rails related [13:18] i use it the same way rick_h_ uses make [13:19] But then you need Ruby on your computer [13:21] i have ruby so no big deal [13:22] i write things for myself to use, and if they happen to be useful for other people then great [13:22] not the other way around [13:22] i just reread that and i sound like a dick. i promise it sounded better in my head [13:23] but the statement stands [13:23] On the Internet, everyone sounds like a dick [13:25] lol [13:26] but you know what i mean right? rake is more comfortable for me. if someone else wants to use my app and really wants make, they can port it. otherwise i don't think it's a big deal [13:26] when i make apps for other people i try to stick to dependencies that everyone is likely to have. so no rake tasks [13:48] how often should i commit() sqlalchemy? or is it better to let it deal with those semantics by itself? [13:49] mrgoodcat: it depends, most web things will commit at the end of every web request [13:49] mrgoodcat: but in scripts I might bunch commits into chunks of 10 or 20 for performance reasons [13:49] if you're doing something else, commit where the transaction in progress is 'done' [13:49] ok. so if performance isn't an issue, a commit after each process is ok [13:49] sure [13:50] but chunking them together makes it process faster [13:50] yea, every transaction creates locks and the commit takes time. So if you do a looped new trans/commit for every record you'll find it's 100x longer than a single commit [13:51] but that's bad because if one item in the transaction fails and it rolls back you've got nothing in the db to show for it [13:51] unless that is a good thing. [13:51] so I tend to create bunches. And if one fails for some issue, it's only that batch that I need to address [13:51] jrwren: definitely [13:51] it all depends on what you're doing [13:51] as usual, it depends. [13:52] as usual, adult diapers [13:52] woot! [13:52] diaper me! [13:52] great [13:52] ty [13:52] i'm going to keep the commit schedule i already had, but now i feel better about it [13:52] ex: importing bookmarks. I do in batches. if one or two fail fine, we can deal with a failed batch and reimport [13:52] ex2: Alter all records to be lowercase: maybe you want this as a single large commit so that you don't miss any [13:52] and if anything fails, then don't convert the data [13:57] i just pressed ^C during a try-except clause that lasts all of .002 seconds and the program didn't quit. it just caught the exception... wtf... [13:57] terrible timing [13:58] good lesson learned though... i should explicitly catch KeyboardInterrupt [14:00] rick_h_: maybe we'll actually get around to that test today at CHC [14:01] mrgoodcat: ok coolio [14:17] "Alter all records to be lowercase" <-- don't use an ORM [14:18] jrwren: yea, true. I use SQLE layer for that [14:18] but still, you manage transactions and such as it should be a migration [14:18] i see. [14:37] switching to sqlalchemy was definitely a good idea. thanks whoever suggested it [14:38] i think it might have been jrwren [15:03] I wish I knew more about network interfaces. [15:03] I'd love to use my LXC containers outside of my private machine [15:03] but I'm worried I'll goof up Virtualbox in the process [15:03] and not 100% sure how VBox does bridging [15:04] and my Google-fu is not showing me a definitive "step 1., step 2." process [15:06] KVM > VBox [15:06] I'm pretty sure VBox just runs brctl for you [15:07] jrwren: if I do brctl list i don't see anything outside of lxcbr0 [15:07] huh. nevrmind then. I have no idea. [15:07] (show, rather) [15:07] lxc containers running inside a vbox? [15:07] no, alnogside [15:08] I use vbox for a Windows machine [15:08] there is a pretty good digital ocean article about making lxc public [15:08] hang on i have it bmarked [15:08] tx [15:09] cmaloney: https://www.digitalocean.com/community/articles/getting-started-with-lxc-on-an-ubuntu-13-04-vps?refcode=074ce6598105 [15:09] BOOM [15:10] tx [15:10] i run all my services in lxc [15:10] i used to use docker but docker only runs on 64 bit [15:12] the important bit is this: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 10.0.3.143:80 [15:12] Interesting that their solution is to use NAT to hook to the internal container. [15:12] where 10.0.3.143 is the private address of your lxc container and port 8- is the one you want [15:12] Hadn't though to go that route. [15:13] thats what i do [15:13] Hmmm... nginx as a proxy to this app. :) [15:13] i do that as well [15:13] tx. That might be just what I need. [15:13] np [15:14] hah! Awesome! [15:15] That's just what I needed. [15:15] great [15:15] glad to help [15:15] Thank you [15:15] no problem [15:17] * mrgoodcat wishes there was a distro where all programs were wrapped in lxc by default [15:17] i think the logistics of getting that many lxc containers to communicate with each other might be a nightmare though [15:17] would be nice if any non-core services ran in lxc though [15:20] i want that too [15:20] with all the storage in ceph [15:20] Yeah, I think that might be both cool and a nightmare as well [15:20] cool that everything is self-contained [15:20] so the host is a tiny cloudimg itself that does some ceph storage management :p [15:20] and a nightmare because ^^ [15:21] there are a lot of things i want. would be nice if /etc configurations were standardized as well [15:21] mrgoodcat: i Think you might need a time machine for that one. ;) [15:21] yea [15:22] pretty much everything would have to be rewritten [15:22] it's a part of the reason nixos is so interesting [15:23] Well, it seems to me a way to emulate a mainframe-like environment [15:23] where everything is extremely job-controlled [15:24] *nix had the memory management that sort-of protected processes from each other [15:24] now we have that on steroids. [15:25] would be cool if there was some sort of juju like program to manage services in containers on a local machine [15:26] "I'd like to run ls in 'incognito' mode". :) [15:27] wat [15:27] ;) [15:28] Create a one-off container for running ls. :) [15:28] in case there is a 0day exploit that involves folder names? [15:28] yep [15:28] lol [15:29] When people are out to get you, paranoia is just good thinking. :) [15:49] well, if I were an attacker and I owned a box, I'd replace some common commands like ls and cd with wrappers that also go off and cover up my tracks [15:57] rick_h_: How many proposals have you received for gsoc? [15:57] n0p, ping [15:57] jcastro: wrong window [15:57] hmmm? [15:58] oh. i assumed you didn't mean to say that since it seems like nonsense to me [15:58] oh I say that all the time to people [15:58] maybe it means somethign to someone. i apologize [15:58] even in real life! [15:59] mrgoodcat: It means jcastro was trying to get n0p's attention [15:59] oh [15:59] got it [16:00] time for lunch [16:01] brousch: hmm, 10 so far, I've got a few more sent via email [16:01] geezum pete [16:02] kivy only has 2. I think it's because we're part of PSF which has 21 sub-orgs [16:02] yea, I think we've been on the high end of things [16:03] which is @$##@ as a first time org with only a couple of spots we're trying to get [16:05] I see a lot for scientific python going by [16:29] brousch: 11 [16:29] wheeee [16:53] rick_h_: Found a neat plugin that integrates Kanban-style card shuffling with Redmine [16:54] cmaloney: cool [16:55] http://www.alleyinteractive.com/blog/alley-redmine-taskboard/ [16:55] Playing wiht it under Redmine 2.5 [16:57] http://magnatune.com/artists/introspekt [16:57] currently bopping to iNTROSPEKT [16:58] nice to see the disclaimer on the bottom there [16:58] cool though [17:13] mrgoodcat: oh, I know. instead of /etc/ configurations standard, lets use a database for configs. we could call it a registry. [17:13] ugh [17:13] * rick_h_ runs away [17:14] i ate lunch across the street from n0p and didn't even invite him. I'm a dick. [17:14] oooh, lots of that going around today [17:14] rick_h_: We just got our 3rd submission. 2nd for the part that I would work on [17:15] brousch: cool, got another one up to 12. [17:15] I just hope google gives us the two spots we asked for [17:15] the docs say new orgs normally only get 1 [17:15] that would suck [17:15] how much do they get paid? [17:15] 13 now [17:15] 5500 [17:15] for the 3 mo [17:16] geez [17:16] geez on the 13 [17:16] lets have a fund raiser and fund the second spot ourselves if goog doesn't :p [17:16] we need moar bookie mentors! [17:17] if I had a clue about bookie, I'd offer to mentor. [17:17] If I had the mentors I could easily take 5 quality students on. [17:17] some are meh, and the others aren't worth the time [17:17] but we've had 5 or 6 solid students [17:26] jrwren++ [17:27] If Bookie was in Django ... [17:29] lol, then I'd REALLY run screaming :p [17:39] What? jrwren I thought you were a fellow django-lover [17:40] they have a fellowship in that now? [17:44] We ride ponies and play Django Reinhardt songs together [17:44] woot [17:45] jrwren: I don't have a clue and I'm the backup. :) [17:45] kind of cool, we had a netcraft security audit done [17:46] makes for some interesting reading to see someone pick apart your app [17:49] django ain't bad, but I'd not say I love it. [17:49] its sooooo heavy weight. [17:50] it's good for what it's good for [17:53] even that is more friction taht I like. I'd like more convention and less required configuration [17:54] jrwren: well you don't gotta be a dick about it [17:55] it's a requirement and seems to be the theme of the day [17:57] jrwren: the idea of the registry isn't fundamentally flawed anyways. just terrible execution. if it had atomic upgrades/rollbacks, version control, and core system didn't depend on it (so you would still be bootable in case of failure), I don't see why it couldn't be useful for some things [17:58] also storing executable code in the registry was awful [17:58] and it would need to be backed up correctly [17:58] and the userspace tools for it could be better [17:58] mrgoodcat: lol, i was joking. I was not trying to be a dick. [17:58] but given those things, the idea of centralized configurations isn't nessecarily bad [17:59] i agree. [17:59] many config files in /etc are executable. [17:59] things in /etc/default/* typically just get sourced by a shell, you could put any executable code in there you want. [18:00] python programs often just load config as a python module [18:00] a lot of people just regurgitate "THE REGISTRY SUX" without even knowing why they say it. Im not accusing you of that, but i'm just sick of every single conversation about the registry ending in the same stupid undereducated place [18:00] the registry sucks because I can't grep, awk, sed, perl, python it like I can plain text :) [18:01] and managing permissions on trees is painful, largely for the same lack of tools you already mentioned. [18:01] it's just poor implementation [18:02] Much of "the registry sucks" rhetoric IMO, come from registering com components. which is really a com detail. [18:03] i think 99% of it is people regurgitating shit they've heard other people say [18:04] likely. [18:04] honestly, i've not heard anyone complain aobut it in years. [18:04] btw thanks for the sqlalchemy tip [18:04] i think it was you [18:04] I think the biggest problem is the registry is a giant shithole of hashes. [18:05] and if it gets corrupted your system won't boot [18:05] and it makes it extremely hard to find anything in there unless you have a map, a torch, and a sherpa. [18:05] which makes me really nervous when i'm editing things that i'm not 100% sure about [18:05] jrwren: So there you go. Reset the shot clock. :) [18:06] what? [18:06] The "i've not heard anyone complain about [the registry] in years" comment [18:07] lol [18:08] well it would be nice to standardize configuration even if it was just standardized syntax in /etc, but that would require every single program to be rewritten with the new config syntax and every developer would have to agree on the new one. in other words, not going to happen [18:21] not to mention "it would be nice" isn't very good trade off for "now I can't optimize" [18:22] e.g. postfix configs use bdb, ldap, lmdb, etc. [18:22] not using optimal configuration systems for a task at hand is not optimal. [18:22] I like our potentially optimal /etc [18:23] OSX and iOS have this single config system - plist. they suck. [18:28] I personally like dot files [18:28] and dot directories. [18:29] at least I have a snowballs chance in hell of removing config should the need arise [18:29] which is why I hate the registry with a passion [18:29] same here. [18:36] does anyone have a link a help guide or something to help me configure this server? I have 4 nics, I want one to get dhcp from the internet and the other 3 to host 3 subnets that assign other clients dhcp on them. [18:37] Havenstance: no problem. [18:39] jrwren, glad it's no problem for you lol, I've been pulling my hair out over this for 3 days now. I'm using server 13.10 if it matters [18:39] http://pastebin.ubuntu.com/7121342/ [18:40] then eth3 be static as well? [18:40] and then a /etc/dhcp/dhcpd.conf with subnets for your dhcp [18:40] Havenstance: if that is what you want. [18:41] jrwren can you give me a slight idea as to what that might look like? as I said im having so much trouble with this its unreal [18:41] the dhcpd.conf? [18:42] yeah just a basic syntax and I can fill in my information [18:43] http://pastebin.ubuntu.com/7121357/ [18:44] isc dhcpd is nice enough to ignore interfaces with addresses in ranges that you don't specify, so it won't offer leases on your DHCP client interface [18:45] that dhcp config assumes you have 192.168.15,16,17 on your three static interfaces [19:57] jrwren, thank you, I was out of the office for a few but thanks again this should work [20:21] jrwren, sorry about taking that to the other place.. I just wanted some clarification on what I was looking at as your setup is just a bit different then mine :) [20:21] and before i waste another 8 hr day on this I wanted to make sure it'd work :) [20:43] no worries. i just thought it was funny that I was there too [20:45] Havenstance: someone caught /etc/default/isc-dhcp-server, which I had missed. INTERFACES= in there. [20:45] which means I was wrong about it not offering on ohter interfaces. [20:46] hm, okay [20:46] I wish there was a GUI or something to do this automatically kind of like the Windows Server 2008 DHCP Config :) [20:46] But this is a good learning experience [20:47] you are insane. [20:47] text > gui. [20:47] i'd hate doing this in a DHCP msc [20:47] I agree text > gui but for a noob gui = text :) [20:47] i disagree. [20:47] because finding where those text files go is horrid sometimes [20:48] i'm a noob on many, many things, and i find text much easier to configure [20:48] a gui just confuses me and adds to my noobness [20:48] finding where they go is easy. I know how to use strace and strings to see what a process is doing to know where it wants them. [20:49] I suppose, but I literally just started experimenting with ubuntu server. I'd like to get it going and operating because I can see how much more reliable then most things this is [20:50] I will say uncommenting a couple lines and throwing in text in files is great if you know what files to edit and where to put them. I expect I'll probably break this a few more times before I'm done lol [20:51] yup. [20:52] at that point, its not much different than poking in a gui and checking a few of the wrong checkboxes [20:52] I'm trying to learn though so that has to stand for something [20:52] and most of it im doing on my own granted I pick some brains when I need to but usually as a last resort :) [20:53] if all things were the same in a perfect world someone would have written a tutorial for this by now that says you do this this and this then this this and this and point this at this and your good to go [20:54] iface eth0 inet dhcp my understanding of that is its telling the system this is the DHCP Server and all clients get addresses from this card? [20:55] d'oh, next line answsered that it tells eth0 it gets ip from dhcp [20:59] /etc/network/interfaces is very well documented [20:59] man interfaces [20:59] yeah I'm finding that out :) its just trying to decypher some of it is a bit confusing at times [21:02] I think i'm more confused on the syntax then the actual configuration though. I know what I want and I can explain that till im blue in the face but the syntax still doesn't make sense when someone pastes it. [21:02] http://askubuntu.com/questions/140126/how-do-i-configure-a-dhcp-server/184351#comment481661_184351 [21:03] this is what i found. but the subnet netmas and range under the DNS config doesn't make sense to me [21:03] that isn't a very good answer. [21:03] I have 3 subnets getting addresses [21:03] someone should edit it. [21:03] so wouldn't I need to specify all 3 and all 3 pools? [21:04] yes? [21:04] man dhcpd :) [21:04] It looks quite interesting actually [21:05] I now see why people charge so damn much for setting these up though. not that its hard just lots of time required [21:07] ya know... now that I skim the docs some. I'm not sure a single dhcp server can do what you want. [21:07] you might need to run 3, each with different config and each listening on a different interface. [21:08] if that is the answer im going to kick my own ass, and I think you might be right [21:08] that is the easy way, for some definition of easy. [21:08] well, I think its the right way like your saying it makes sense now [21:09] if eth1 is subnet 192.168.1.x then dhcp 1 would need to listen on eth1 and assign from the 1.x pool, then eth2 would be dhcp2 from the 2.x pool and so on with eth3 [21:10] so if i used webmin to do this I need to configure 1 dhcp server on each of the eth1,2,3 with config for each. it makes sense [21:10] i'll give it a go and i'll let you know how it works out for me [21:11] im also seeing the iptables which i don't recall configuring because the guide i was following said i didn't need it i just needed to uncomment a line in /etc/network/interfaces [21:14] jrwren, could this local network bridge be the issue? https://help.ubuntu.com/community/BridgingNetworkInterfaces do i need to run that script to bridge ports eth1,2,3 with 0? [21:20] http://decafbad.net/2014/03/19/computers-making-identity-theft-possible/ [21:23] jrwren, i think i just found an article covering the whole of what i was asking about https://help.ubuntu.com/community/Router [21:48] Evening. [21:48] (almost) [22:03] jrwren: http://surveillance23.bandcamp.com/ [22:04] (and anyone else who like Assemblage23) [22:29] Havenstance: you said you wanted different subnets per interface, so I did not recommend bridging. [22:29] Havenstance: I actually bridge 5 or so interfaces and do DHCP for that one net with one IP subnet at home. [22:29] the config I linked you was based around that. [22:30] also, webmin doesn't work with ubuntu, or at least it isn't tested so YMMV [23:44] Waiting for JoDee to finish up her exam so I can take her home. [23:44] sheesh, this sucker must be the homma-momma of exams. [23:44] Already going on hour 2 [23:44] (she managed to sprain her ankle earlier today) [23:44] so I'm sure she's going to be dipping into the Jamesons tonight