2012-08-29.log

--- Log opened Wed Aug 29 00:00:10 2012
foucistdelinquentme: 11:19 < nmz787> delinquentme: I would use SCP00:09
delinquentmethat was the last activity??00:13
foucistdelinquentme: right after you asked how to send a 2gb file00:13
delinquentmeOhhh00:14
foucistdelinquentme: personally i use the alias: scpresume00:16
foucistscpresume='rsync --partial --progress --rsh=ssh'00:16
foucistjust in case the file gets interrupted00:16
foucistscp doesn't have resume itself00:16
foucistthough wget -c is pretty good too00:16
foucistasuming the file was on a webserver :P00:16
foucistfunny how ftp clients already solved the problem a long time ago00:17
foucistbut i havne't used ftp in YEARS00:17
foucistwell, probably not since i used windows00:18
-!- joshcryer [g@unaffiliated/joshcryer] has quit []00:18
-!- archels [~foo@sascha.esrac.ele.tue.nl] has quit [Ping timeout: 252 seconds]00:42
-!- archels [~foo@sascha.esrac.ele.tue.nl] has joined ##hplusroadmap00:52
-!- minimoose [~minimoose@pool-173-75-216-239.phlapa.fios.verizon.net] has quit [Quit: minimoose]00:59
delinquentmeNIGHT!01:07
-!- delinquentme [47ec6527@gateway/web/freenode/ip.71.236.101.39] has quit [Quit: Page closed]01:07
-!- obscurite [~obscurite@danielpacker.org] has quit [Ping timeout: 276 seconds]01:13
-!- Netsplit *.net <-> *.split quits: superkuh01:26
-!- drazak_ [~ahdfadkfa@199.188.72.84] has quit [Ping timeout: 245 seconds]01:29
-!- obscurit1 [~obscurite@danielpacker.org] has joined ##hplusroadmap01:30
archelshttp://www.urbandictionary.com/define.php?term=Hacker%20Spaces01:54
-!- obscurit1 [~obscurite@danielpacker.org] has quit [Ping timeout: 244 seconds]01:59
-!- obscurite [~obscurite@danielpacker.org] has joined ##hplusroadmap02:00
Utopiahlooks accurate02:00
-!- AdrienG [~ircname@unaffiliated/amphetamine] has joined ##hplusroadmap02:01
-!- AdrianG [~ircname@unaffiliated/amphetamine] has quit [Ping timeout: 244 seconds]02:04
-!- obscurite [~obscurite@danielpacker.org] has quit [Ping timeout: 245 seconds]02:18
-!- obscurit1 [~obscurite@danielpacker.org] has joined ##hplusroadmap02:26
-!- hankx7787 [181e2e48@gateway/web/freenode/ip.24.30.46.72] has joined ##hplusroadmap02:30
-!- obscurit1 [~obscurite@danielpacker.org] has quit [Ping timeout: 268 seconds]02:32
-!- hankx7787 [181e2e48@gateway/web/freenode/ip.24.30.46.72] has quit [Client Quit]02:32
-!- drazak_ [~ahdfadkfa@199.188.72.84] has joined ##hplusroadmap02:34
-!- obscurit1 [~obscurite@danielpacker.org] has joined ##hplusroadmap02:40
-!- sylph_mako [~mako@168.3.252.27.dyn.cust.vf.net.nz] has quit [Ping timeout: 248 seconds]03:50
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap03:53
-!- superkuh [~superkuh@unaffiliated/superkuh] has joined ##hplusroadmap04:32
-!- superkuh [~superkuh@unaffiliated/superkuh] has quit [Remote host closed the connection]04:34
-!- tashoutang [~tata@pc131090206.ntunhs.edu.tw] has quit [Ping timeout: 244 seconds]04:35
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has joined ##hplusroadmap04:44
-!- superkuh [~superkuh@unaffiliated/superkuh] has joined ##hplusroadmap04:48
strangewarpP2P Foundation has a maddive hard-on for Carrico, all of a sudden... Looks like their main blogger has been captured by the "social justice before technology" thing04:49
strangewarpmassive*04:49
* strangewarp unfollows that blog04:49
strangewarpI was momentarily tempted to write an essay about how Carrico's opposition of globalization technologies impedes the formation of international workers' solidarity, which means his leftist credentials are short-sighted at best... but then I remembered he's a dang troll05:04
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap05:41
nmz787kanzure: jrayhawk: i have this dir... d-wx-ws--x  5 root staff      4096 Apr 20 01:33 djangoApps05:46
nmz787when i type groups, two things show up, staff and sudo05:46
nmz787so why can't I even ls the dir as my user?05:46
chris_99don't you need read permissions05:48
nmz787derr05:50
nmz787yes05:50
nmz787thx05:50
-!- chido [chidori@pasky.or.cz] has joined ##hplusroadmap06:07
-!- minimoose [~minimoose@74-95-191-59-Philadelphia.hfc.comcastbusiness.net] has joined ##hplusroadmap06:30
OldCoderminimoose, Good nick06:33
minimoosetx, OldCoder06:41
-!- jmil [~jmil@hive76/member/jmil] has quit [Quit: jmil]06:47
-!- jmil [~jmil@hive76/member/jmil] has joined ##hplusroadmap07:31
-!- soylentbomb [~k@d149-67-118-140.col.wideopenwest.com] has joined ##hplusroadmap08:05
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has quit [Remote host closed the connection]08:13
nmz787anyone here know SVN?08:19
bkerofor a certain definition of know08:29
bkeronmz787: chmod g+x djangoApps08:30
bkeros-s-s-sticky bit08:30
nmz787bkero: that was already done08:30
nmz787svn status says the dir is locked tho08:31
* bkero doesn't deal with svn locks08:31
-!- minimoose [~minimoose@74-95-191-59-Philadelphia.hfc.comcastbusiness.net] has quit [Quit: minimoose]08:34
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has joined ##hplusroadmap08:45
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Ping timeout: 246 seconds]08:46
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap08:59
-!- archels [~foo@sascha.esrac.ele.tue.nl] has quit [Ping timeout: 256 seconds]09:06
@kanzuredeath to svn09:08
-!- archels [~foo@sascha.esrac.ele.tue.nl] has joined ##hplusroadmap09:15
@kanzure"A hundred billion or so humans have ever lived, but only seven billion are alive now (which gives the human condition a 93% mortality rate)."09:25
-!- Falfe [~not@c83-251-81-162.bredband.comhem.se] has joined ##hplusroadmap09:28
-!- chido [chidori@pasky.or.cz] has quit [Read error: Connection reset by peer]09:38
-!- augur [~augur@208.58.5.87] has quit [Remote host closed the connection]09:42
-!- chido [chidori@pasky.or.cz] has joined ##hplusroadmap09:49
-!- pasky [~pasky@nikam.ms.mff.cuni.cz] has quit [Ping timeout: 240 seconds]09:58
-!- audy [~audy@unaffiliated/audy] has quit [Quit: ZNC - http://znc.sourceforge.net]09:58
-!- pasky [~pasky@nikam.ms.mff.cuni.cz] has joined ##hplusroadmap09:58
-!- audy [~audy@heyaudy.com] has joined ##hplusroadmap09:58
-!- SDr|Berlin is now known as SDr|London10:06
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has quit [Quit: Leaving]10:07
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has joined ##hplusroadmap10:14
-!- augur [~augur@216-164-54-41.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com] has joined ##hplusroadmap10:16
nmz787soo ACS Synthetic Biology is now offered in print10:18
nmz787that's stupid10:18
nmz787how am i suppoesd to be a synBio fanboy if i can't get some physical instruments10:19
nmz787but members get to choose 5 titles with their subscription10:19
nmz787so 25 bucks a year for some ACS journals isn't too bad10:20
nmz787but i really wanted print10:20
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Read error: Connection timed out]10:22
-!- augur [~augur@216-164-54-41.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com] has quit [Ping timeout: 268 seconds]10:22
-!- hifrog [~swamp@p5B16D6F4.dip.t-dialin.net] has joined ##hplusroadmap10:23
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap10:23
@kanzurehttp://coding.fm/ i like the "angry dev coding" mode (it's just "sounds of angry coders typing on keyboard")10:25
@kanzurethey need to throw in some "FUCK"s and "SHIIIT"s10:25
chidoI have that live at home10:25
@kanzurethe at-home version exhausts your resources of food and drink10:28
nmz787any opinions on http://phabricator.org10:29
@kanzurei'd look at redmine first probably10:29
@kanzurei'm not too hawt on running php10:30
@kanzurea lot of people just use github or unfuddle or something10:30
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has quit [Ping timeout: 244 seconds]10:31
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has joined ##hplusroadmap10:32
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Ping timeout: 256 seconds]10:40
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap10:44
chris_99if i'm going to get a book on microbiology10:44
chris_99what would you guys recommend10:44
chris_99*molecular biology10:45
nmz787why doesnt this work find / -name svn2|grep -v 'denied'10:48
nmz787mol bio of the gene10:49
nmz787mol bio of the cell is supposed to be good too10:49
@kanzurenmz787: do you mean "find ./"10:50
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Ping timeout: 268 seconds]10:51
nmz787no10:51
@kanzurechris_99: the wikibook on microbiology is surprisingly awful http://en.wikibooks.org/wiki/Microbiology10:51
nmz787grep isn't finding denied10:51
@kanzure-v is to exclude10:51
nmz787chris_99 this is better prob http://www.google.com/url?sa=t&rct=j&q=microbio%20book&source=web&cd=13&cad=rja&ved=0CGUQFjAM&url=http%3A%2F%2Ftextbookofbacteriology.net%2F&ei=p1Y-UJ-wFMHW0QGs-oDICw&usg=AFQjCNFNPmWiNaFLBuTdBWxcAJOctFU0lg10:51
@kanzureand this sounds like you want "locate". your system is probably running locatedb. this would be faster than running find on your whole file system.10:51
nmz787google sucks10:52
nmz787textbookofbacteriology.net/10:52
nmz787yes i want to exclude10:52
nmz787that is why i give -v10:52
nmz787but it doesnt exclude 'denied'10:52
nmz787it still shows up on STDOUT10:52
@kanzurebecause of how find works, i think10:52
nmz787:/10:52
nmz787grr10:52
@kanzurelocate svn2 | grep -v denied10:52
nmz787that immediately returns with no results10:53
nmz787i just installed svn2git10:53
nmz787and it cant find it10:53
nmz787and i wanna search for the sv2git file10:53
@kanzurewhat is svn2git?10:53
@kanzuregit-svn is provided by default with git i think10:53
@kanzuretype: man git-svn10:53
@kanzurethat textbook doesn't look very thorough.. it goes over some metabolism stuff but it doesn't seem to mention streaking, plating, or things like that10:54
nmz787https://github.com/nirvdrum/svn2git10:55
nmz787there is nothing called git-svn10:55
nmz787after installing some stuff git svn works10:55
nmz787with a space10:56
nmz787not dash10:56
nmz787is streaking really microbiology though?10:57
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap11:00
jrayhawk'2|' is not a valid stream redirection11:00
jrayhawkyou can use |& as shorthand for 2>&1 |11:01
jrayhawkat least, in bash11:01
nmz787no i want to search for 'svn2'11:01
nmz787i didnt think a space was rewuired11:01
nmz787required11:01
jrayhawkoh, well, use 2>&1 | to get stderr into stdout11:01
jrayhawkIt isn't.11:01
nmz787why is find going to put results in stderr?11:01
jrayhawkyou seemed to be grepping for 'permission denied', which is, notably, an error.11:02
@kanzurewhat is the "ncbi C++ toolbox"? http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/ seems to have BLAST, fastcgi, some weird xml crap.. bleh11:02
nmz787oh11:02
nmz787kanzure: yes11:02
nmz787its just bindings11:02
@kanzurei see11:02
nmz787i use it through biopython11:02
@kanzureso um, hey, what's the point of ncbi.nlm.nih.gov/books if the book contents can't be displayed? http://www.ncbi.nlm.nih.gov/books/NBK21154/ "By agreement with the publisher, this book is accessible by the search feature, but cannot be browsed"11:03
jrayhawkpresumably so that you can find them with searches?11:04
nmz787you can see stuff if you search11:04
nmz787so you could prob search streaking11:04
-!- augur [~augur@129-2-129-33.wireless.umd.edu] has joined ##hplusroadmap11:09
@kanzurejrayhawk: when i try to clone a private repo on gnusha i get "fatal: failed to open '/srv/git/enzyme-filter.git/objects/17': Permission denied"11:10
@kanzure(i addaccess'd myself)11:10
jrayhawkYou may need to relogin in order to get the new groups11:12
@kanzuredoh11:14
@kanzurenmz787: the only commit message in there is "Convert svn:ignore properties to .gitignore."11:15
nmz787can you delete everything, i guess i'll jus push the files11:16
nmz787this git to svn seems to not work11:16
@kanzureyou can do "git push -f" if you want to override the crap already there11:16
@kanzureyou don't want git->svn.. you want svn->git11:16
jrayhawkreceive.denynonfastforwards might be on11:16
nmz787well there arent any files in the dir the stupid git svn command made11:16
nmz787oh, right11:17
nmz787well it sucks no matter11:17
@kanzurejrayhawk: stat( /srv/git/enzmye-filter.git/objects ) failed: No such file or directory at /usr/share/perl5/Piny/Repo.pm line 601.11:17
nmz787i just want something that easily does diff/patch11:17
nmz787geez11:17
jrayhawk'enzmye'11:18
-!- augur [~augur@129-2-129-33.wireless.umd.edu] has quit [Remote host closed the connection]11:25
@kanzureoh fooey11:26
@kanzurenmz787: ok i made a terrible typo11:26
nmz787oh11:26
@kanzurenmz787: ok now "git push -f" will work11:27
@kanzurewhat did you do to convert it?11:27
chris_99it's £185 for 100ug of GFP, isn't that rather expensive?!11:29
nmz787git svn clone 'svn+ssh://secretrepo'  --no-metadata -A authors-transform.txt --stdlayout ~/temp11:31
jrayhawklooks like he's following http://john.albin.net/git/convert-subversion-to-git but something is going wrong with git svn11:31
nmz787the shit here http://john.albin.net/git/convert-subversion-to-git11:31
nmz787yes11:32
nmz787so in Oregon you can ask a doctor to sterilize you without parental consent at 1511:32
nmz787pretty cool11:32
nmz787there are no files in the resulting temp dir11:33
nmz787except for a .git dir11:33
jrayhawkWhich kind of sterilization?11:33
nmz787sexual11:33
jrayhawki mean, more specifically11:33
nmz787      (4) “Sterilization” means any medical  procedure, treatment or operation for the purpose of rendering an individual  permanently incapable of procreating. [1983 c.460 §3; 1991 c.67  §116]11:33
nmz787from Definitions here http://www.leg.state.or.us/ors/436.html11:34
nmz787wait11:34
nmz787.us11:34
nmz787same as diyhpl.us11:34
jrayhawkholy moses11:34
nmz787kanzure are you posing as Oregon?11:34
@kanzure.us is a generic "united states" domain11:34
@kanzure*gtld11:34
jrayhawki don't think even planned parenthood would give a 15 year old a hysterectemy11:34
nmz787go Oregon11:34
jrayhawkor a tubal ligation11:35
nmz787though I suspect Oregon is not on the top of the over-populators list11:35
@kanzureso do they have to be a resident?11:35
jrayhawkwell, if they cross state lines, then it becomes a federal issue11:35
@kanzurejrayhawk: maybe you know an easier way for nmz787 to convert his svn repository11:36
@kanzurenmz787: what's that molecular biology protocols book that everyone keeps recommending?11:36
jrayhawki suspect it's the wrong path or permissions are still wrong or something and git-svn doesn't give sufficient error messages11:37
nmz787wish this was on android https://www.facebook.com/TheSimpsonsTappedOut11:38
nmz787no this http://itunes.apple.com/us/app/id497595276?mt=811:38
jrayhawki need to take off, so i probably won't be of much help for at least a couple hours11:38
nmz787maniatas11:38
nmz787molecular cloning a lab manual... by sambrook and russel11:39
nmz787i guess maniatis was on older editions11:39
nmz787this sounds like a PITA http://codeascraft.etsy.com/2011/12/02/moving-from-svn-to-git-in-1000-easy-steps/11:40
nmz787i want 1 or 2 steps11:40
@kanzureoh it's sambrook11:40
@kanzure"Molecular Cloning: A Laboratory Manual"11:40
@kanzureright11:41
@kanzureok thanks11:41
nmz787yeah i think the git svn is silently failing11:44
@kanzuredoes "svn log" work?11:44
nmz787ok looks like removing the -A authors-transform.txt --stdlayout is working11:46
nmz787i actually see files being downloaded11:46
@kanzuredid you make authors-transform.txt?11:47
@kanzureor did you neglect that part :P11:47
nmz787yes11:48
nmz787i made it11:48
@kanzurehrrm11:48
@kanzurewell ok11:48
nmz787it was a 1 line file11:49
nmz787nathan = nathan <nathan>11:49
@kanzurehaha i think you should've used "Nathan McCorkle <nmz787@gmail.com>"11:49
nmz787well i'm not using it at all now11:53
nmz787gah, it died12:00
nmz787r16 = 94559e0d1272d17d0fa5f800855c89cc4071fe54 (refs/remotes/git-svn)12:00
nmz787fatal: refs/remotes/trunk: not a valid SHA112:00
nmz787update-ref refs/heads/master refs/remotes/trunk: command returned error: 12812:00
@kanzurethat looks like a valid SHA1 to me..12:03
nmz787rf -Rfing and trying again12:07
gnushadiyhpluswiki.git: 641e37c links to actual books12:09
nmz787why do some of the files it shows during check say D12:10
gnushadiyhpluswiki.git: 101c23a remove pesky inconsistency in book labelling12:10
nmz787if i made them D (deleted) why are they showing up in a new checkout???12:10
@kanzurebecause you didn't svn commit your deletions12:10
nmz787wtf12:11
@kanzure(probably)12:11
nmz787i said commit12:11
@kanzurei don't know how svn works12:11
@kanzurethe only time i use it is when i'm converting it to git12:11
@kanzurei have added some possibly-useful files here http://diyhpl.us/wiki/diybio/faq/books12:11
@kanzureas far as i can tell there's no actually-useful free molecular biology book out there on the interwebs12:12
nmz787the ones i like are free outside US copyright law12:13
nmz787you should add mol bio of the gene12:14
-!- eridu [~eridu@gateway/tor-sasl/eridu] has joined ##hplusroadmap12:17
@kanzureok grabbing12:18
gnushadiyhpluswiki.git: 095952d add a link to Molecular Biology of the Gene12:23
-!- SDr|London is now known as SDr12:29
-!- eridu [~eridu@gateway/tor-sasl/eridu] has quit [Quit: Leaving]12:31
@kanzureactually i think my copy of mbotg is bad.. doesn't seem to be a pdf, can't figure out what type of file it is12:31
nmz787so i tried again, this time adding --username myusername12:31
nmz787i dunno if the rm -Rf did it, or that12:31
nmz787but it worked12:31
nmz787so now12:32
nmz787shit, just boiled a pot of water dry12:33
nmz787ok kanzure the repo should be all pushed12:36
nmz787hmm, beer or coffee12:38
@kanzuresambrooks is pretty awesome, why haven't i read this yet?12:40
nmz787dunno12:45
nmz787late to the game12:46
nmz787found that PDF after being in school maybe 6 months12:46
nmz787referred to it quite often for background research12:46
nmz787one lab i worked in actually had a paper copy, that was nice too12:46
nmz787i doubt most other students used it much12:47
nmz787kanzure: did you ever make an equipment auction  app?12:48
-!- augur [~augur@129-2-129-33.wireless.umd.edu] has joined ##hplusroadmap12:48
@kanzurenope not yet12:48
nmz787i wonder if there is cheap stuff within an hour of NYC12:48
-!- drazak__ [~ahdfadkfa@199.188.72.84] has joined ##hplusroadmap12:49
-!- drazak__ [~ahdfadkfa@199.188.72.84] has quit [Client Quit]12:49
@kanzurei want to find a book like sambrooks except for motion control automation things12:50
@kanzure(and not something insulting like "here's some gear equations, now piss off")12:51
nmz787hmm12:51
nmz787i can email someone12:51
-!- EnLilaSko- [~Nattzor@m77-219-191-209.cust.tele2.se] has joined ##hplusroadmap12:58
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has quit [Ping timeout: 248 seconds]12:59
@kanzurenmz787: do you have a pdf copy of cathal's wikibook?13:15
@kanzureevery time i try to render it on wikipedia it ends up with an error13:15
@kanzurei've told cathal about this, but he can't fix it13:15
@kanzurehttp://pastebin.com/raw.php?i=AdJg9gwv13:16
nmz787no13:16
nmz787can you complain?13:17
nmz787submit bug?13:17
@kanzurenot sure where to submit this bug13:18
@kanzurei guess i should complain to aran dunkley13:19
@kanzure"Multibyte characters not working"13:20
-!- drazak__ [~ahdfadkfa@199.188.72.84] has joined ##hplusroadmap13:29
-!- drazak__ [~ahdfadkfa@199.188.72.84] has quit [Client Quit]13:29
nmz787kanzure: when do you have time to look at that enzymeFilter code?13:39
nmz787with me13:39
@kanzurei can look at it in a few minutes (it's downloading but i'm on a slow connection)13:41
nmz787cool13:42
-!- jmil [~jmil@hive76/member/jmil] has quit [Quit: jmil]13:46
-!- jk4930 [~jk@p57B73587.dip.t-dialin.net] has joined ##hplusroadmap13:46
-!- strangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has quit [Read error: Connection reset by peer]13:46
@kanzurenmz787: so what are all these multi-megabyte files in the main directory?13:47
@kanzurelike CAZyall.faa13:47
@kanzurewhog13:48
-!- strangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has joined ##hplusroadmap13:48
@kanzureKEGG_KO_list13:48
@kanzurenmz787: i've pushed a minor change (git pull it)13:49
nmz787they are... lists13:49
nmz787what you do?13:49
nmz787CAZy is carbohydrate active enzymes or something like that13:49
@kanzurei removed a small svn file13:49
nmz787KEGG is some japanese database/ontology AFAIK13:49
nmz787KO is KEGG ORTHOLOG13:50
@kanzurewhat is the difference between enzymeFilter/views.py.new and enzymeFilter/views.py.old ?13:50
@kanzureand enzymeFilter/views.py13:50
nmz787umm13:50
nmz787i dunno if the dates are there or not13:51
nmz787but the .new .old are both not active13:51
nmz787so I'm not sure but they can be deleted most likely13:51
nmz787i stopped using svn after I forgot it last summer13:51
@kanzureok pushed13:51
-!- srangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has joined ##hplusroadmap13:52
nmz787brb, lemme switch to linux pidgin in VM13:52
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has left ##hplusroadmap []13:52
-!- strangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has quit [Disconnected by services]13:53
-!- srangewarp is now known as strangewarp13:53
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Quit: Leaving]13:54
-!- nmz787 [~nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap13:57
@kanzurenmz787: i think your first step is to switch out postgresql in settings.py with sqlite13:57
@kanzuresecond step is to assemble a requirements.txt file to list out the dependencies13:57
@kanzurethis way you can re-install this app in different environments13:58
nmz787why go to sqlite?13:58
@kanzurewell, unless you want to install postgresql on your system13:58
nmz787well isn't it faster and more robust?13:58
@kanzurerequirements.txt is necessary so that you know which version of django you're using, or which version of the other packages13:58
nmz787oh, its the newest version of django, 3 something i think13:59
@kanzurepostgresql is definitely better for production, but sqlite is really nice for development (unless you're dealing with huge databases..)13:59
nmz787grr, i had that all written somewhere, once13:59
@kanzurei thought you said it was from last year?13:59
nmz787well i upgraded to the newest django about 5 months ago13:59
@kanzuredo you have virtualenv stuff already installed?14:00
nmz787never use virtualenc14:00
nmz787env14:00
nmz787never saw the reason14:00
@kanzurei suggest doing this:14:00
@kanzurecurl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash14:00
@kanzurethis way you can switch into a virtualenv just for this project14:00
nmz787why?14:00
@kanzureand keep track of the dependencies14:00
nmz787the VM i'm on is only for doing this14:00
@kanzurebecause then you can commit requirements.txt and just push your git repository around14:00
@kanzurewhen you want to deploy.14:00
nmz787likewise, the server its on is only for this app14:01
@kanzureyes, but you're not going to push this back to jbei14:01
@kanzurepresumably you will want to deploy this elsewhere14:01
nmz787if you help me get it working i will14:01
nmz787hmm14:01
nmz787well, sure14:01
@kanzureexactly. so using requirements.txt is how you're going to get it to work.14:01
nmz787but why use virtualenv?14:01
nmz787why should the app be as easy to install along whatever system?14:01
@kanzurebecause then you don't need me in the future14:02
@kanzurebrownies: help me :(14:02
brownieskanzure: ?14:02
nmz787i don't follow, i need your help with a file parser mainly, and figuring out if there's a better way to background processes than django-celery14:03
@kanzurebrownies: i'm trying to describe why something like rvm and bundler is useful, except in the context of django14:03
@kanzuredjango-celery is perfectly fine for spawning workers14:03
browniesif he uses bundler, then... it's the same thing. same reasons.14:03
nmz787:/14:03
nmz787huh?14:03
@kanzurebrownies: he doesn't use bundler, this is a python project without any dependency management14:03
@kanzureit's basically a blob of broken code on my system14:03
nmz787right, it requires django, django-celery, and biopython14:04
nmz787i think thats it14:04
@kanzurebrownies: maybe you know a way to convince him to actually use these tools14:04
@kanzurebrownies: because i seem to be failing14:04
@kanzureyes but which version of those14:04
nmz787should it always be 'the newest'14:04
nmz787shouldn't it*14:04
@kanzurei'd rather use the exact versions that you're using14:04
@kanzureyou don't want my system-wide version of biopython 'cause that could be anything14:05
nmz787do you use debian?14:06
browniesnmz787: you have to understand that the "app" you've made has to run on many different machines14:07
nmz787sure14:07
brownieseven if it's *only* you *ever* working on it, you still need to account for dev vs. staging vs. production14:07
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap14:07
nmz787hrmm14:07
browniesso, how do we maintain a uniform environment across machines? we do that by specifying "this app *requires* these packages, at this version, running on this python"14:07
browniesnmz787: using different versions of packages in different places may break the app, so this is an attempt to ensure some degree of portability14:08
nmz787sure14:08
nmz787but it seems ugly14:08
@kanzureand i don't want to debug this if 50% of my packages are wrong14:08
browniesyou are basically saying "this is what it was built and tested with; if you recreate that environment on your system, it should also work"14:08
nmz787i'd rather the app be one file14:08
brownies...14:08
nmz787sure14:08
@kanzurewhat does that have to do with it?14:08
@kanzureit's already like 50 files14:08
nmz787right14:08
nmz787i would love if it was 1 file14:09
nmz787just like the old days14:09
browniesi would love if i had a hot tub in my backyard, but... looking out there, i still don't see one.14:09
nmz787well so what do i do ?14:09
nmz787find the versions, then what14:09
@kanzurecurl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash14:09
browniesthen you specify them, written down in a format that other people can understand14:09
@kanzuremkvirtualenv enzyme-filter14:09
@kanzureworkon enzyme-filter14:09
browniesother people have built tools to automatically understand such files in specific formats14:09
@kanzurepip install thethingyouwant14:09
browniesfor ruby, people use bundler. for python, people use pip.14:09
browniespip + virtualenv.14:09
@kanzurepip freeze > requirements.txt14:10
nmz787kanzure: do i run those in the git repo dir?14:10
@kanzuregit add requirements.txt; git commit -m'yo dog, requirements'14:10
@kanzurei suggest running the "pip freeze > requirements.txt" and git commands in the repo yes14:10
-!- sylph_mako [~mako@168.3.252.27.dyn.cust.vf.net.nz] has joined ##hplusroadmap14:11
@kanzureyou can also manually write requirements.txt in the format "django==5.5.5" on each line14:11
@kanzureyou can check which version you have with uh.. um.14:11
@kanzureah, with pip freeze | grep django14:12
@kanzurewell, actually, it's Django14:12
@kanzurefor instance, my system version of django is apparently 1.2.314:13
@kanzureso i'd write "Django==1.2.3"14:13
nmz787well, I should upgrade Django then to the latest14:13
nmz787before doing this14:13
nmz787right?14:13
@kanzureno14:14
@kanzurebecause it might not work on latest django14:14
browniesno... and hopefully you see *why* you shouldn't14:14
nmz787but latest django is prob more secure14:14
@kanzurelatest django probably doesn't work with your code14:14
nmz787so upgrade, take care of (possibly) broken stuff14:14
@kanzureand even if it does, you have zero unit tests, so you can't be sure that it works14:14
nmz787add to virtualenv burrito thing14:15
nmz787i didnt unit test this anyway14:15
@kanzureno don't upgrade django14:15
@kanzurewhateveryoudo don't do that.14:15
nmz787ok14:15
* brownies facepalms14:16
browniesnewer version != better14:16
nmz787You asked me to pull without telling me which branch you14:18
nmz787want to merge with, and 'branch.master.merge' in14:18
nmz787your configuration file does not tell me, either. Please14:18
nmz787specify which branch you want to use on the command line and14:18
nmz787try again (e.g. 'git pull <repository> <refspec>').14:18
nmz787See git-pull(1) for details.14:18
nmz787so git pull didnt work14:18
brownieseh? what did you run?14:18
nmz787git pull14:18
brownieswhy did you git pull?14:18
@kanzurei committed things and pushed to the server14:18
@kanzureand i think nmz787 also committed things14:19
nmz787to prepare to commit and push req.ytxt14:19
@kanzureanyway, i think a merge is probably okay14:19
nmz787wait, no14:19
@kanzuregit pull origin master14:19
nmz787why should it merge?14:19
@kanzurebecause there are two different HEADs right now14:19
nmz787why?14:19
@kanzurethere's mine (on the server) and yours14:19
nmz787how did that happen?14:19
@kanzurei committed in git14:19
browniesjust... git pull origin master14:19
@kanzureand then pushed to the server14:19
browniesyou guys should learn about branches -_-14:19
@kanzurewell, i thought my changes should be on master14:20
nmz787wtf is that?14:20
nmz787why isn't this easier?14:20
@kanzurethis is very easy14:20
@kanzure"git pull origin master"14:20
nmz787no its not14:20
nmz787why did we ever get off the same branch or master or head14:20
nmz787etc14:20
@kanzureyou are still on master14:21
nmz787it didnt seem to know that14:21
@kanzuretype git status and it will tell you that you're on master14:21
@kanzure"git pull" was warning you that there were upstream changes14:21
@kanzuresometimes you don't want an automerge to happen14:21
@kanzurethis is not one of those times14:21
nmz787upstream changes??14:22
nmz787you deleted files14:22
@kanzureyeah. and then i pushed my commits to the server ("upstream").14:22
nmz787so why didn't pull work? because I already said commit on req.txt?14:22
@kanzureso, let's imagine the server didn't exist for a moment14:22
@kanzureno14:22
@kanzurepull didn't work because it was warning you that there were changes on the remote git repository14:22
nmz787that's WHY i was pulling14:22
nmz787because I knew there were changed14:23
nmz787changes14:23
@kanzureit was also telling you that to complete that operation you should type "git pull origin master"14:23
browniesgit pull didn't work because it wasn't specific enough14:23
browniesnever type "git pull" and nothing else14:23
@kanzurewell.. i do "git pull" all the time. it's really an alias for two other operations.14:23
@kanzure"git pull" runs "git fetch" and then "git merge"14:24
@kanzure"git fetch" updates your local repo's knowledge of some remote branch, plus pulls in those commits, without touching your branches14:24
browniesonce you have multiple remotes and multple branches, it becomes a pretty stupid idea14:24
nmz787emote: skipping bad filename enzymeFilter/media/jszip/jszip/docs/ZIP spec.txt14:24
@kanzurenmz787: that's ikiwiki printing out a statement, you can ignore that14:24
-!- EnLilaSko- [~Nattzor@m77-219-191-209.cust.tele2.se] has quit [Quit: - nbs-irc 2.39 - www.nbs-irc.net -]14:24
@kanzureikiwiki generates a private wiki based on the files, but in this case we don't care14:24
@kanzureand ikiwiki- for some unholy reason- hates filenames with spaces14:25
nmz787ok14:25
nmz787so I added the pip freeze>requirements.txt14:25
@kanzurelooking..14:26
@kanzureok looks good14:26
@kanzureso now i'm running: mkvirtualenv enzyme-filter; workon enzyme-filter; pip install -r requirements.txt14:27
@kanzureDownloading/unpacking BeautifulSoup==3.1.0.1 (from -r requirements.txt (line 1))14:27
@kanzureCould not find a version that satisfies the requirement BeautifulSoup==3.1.0.1 (from -r requirements.txt (line 1)) (from versions: )14:27
@kanzureum, which version of python is this?14:27
nmz787sounded like that should be in req.txt!14:28
nmz787i dunno14:28
nmz7872.X14:28
@kanzurehmm14:28
@kanzurepython --version14:28
nmz7872.6.614:28
nmz787i dont think that should matter14:28
@kanzurereally? i'm using 2.6.6 too14:28
@kanzureso um, how come it can't get that version of BeautifulSoup?14:28
@kanzureare you even using BeautifulSoup in this project14:29
nmz787just change beautiful soup to ver 3.2.014:29
nmz787yeah, i was14:29
@kanzurebut why does requirements.txt say 3.1.0.114:30
@kanzuremaybe you installed it manually from them?14:30
@kanzureok anyway, i'm trying 3.214:30
nmz787because i just told you to change it14:30
nmz787yeah i dont think it will matter14:31
nmz7873.2 is what my ubuntu has14:31
nmz787so you should be able to dl that14:31
@kanzurebtw: i'm not on ubuntu (i'm on debian), which is more evidence of why pip is a good idea for isolating the web app from which system it's running on14:31
nmz787yeah i know you're on deb14:32
nmz787which is weird, because the jbei machine is deb, which is where i did pip freeze14:32
nmz787well i don't think its using beautifulsoup14:33
nmz787i grepped the entire dir, and its only in req.txt14:33
@kanzureCould not find any downloads that satisfy the requirement iotop==0.4 (from -r requirements.txt (line 11))14:33
nmz787dunno what that is14:33
nmz787i only did what you told me!14:33
nmz787any deps will be at the top of views.py14:34
@kanzurestill installing things.14:35
nmz787i doubt you really need anything in req.txt14:35
@kanzurebiopython isn't listed14:36
nmz787yeah14:36
@kanzurewhich means that biopython isn't installed on that system14:36
nmz787it is 1.5414:36
nmz787yeah it is14:36
nmz787i just imported it into python14:36
nmz787on that sys14:36
-!- minimoose [~minimoose@pool-173-75-216-239.phlapa.fios.verizon.net] has joined ##hplusroadmap14:36
@kanzuresure.. but pip looks at your installed libraries, and "pip freeze" dumps the full list. so somehow biopython is not installed. anyway, i'm adding it to requirements.txt14:37
@kanzureand 1.54 seems to exist, so it's installing now.14:37
browniesbtw... sad news from the monkey front http://www.nytimes.com/2012/08/30/science/low-calorie-diet-doesnt-prolong-life-study-of-monkeys-finds.html?_r=114:38
@kanzureCould not find any downloads that satisfy the requirement reportbug==4.12.6 (from -r requirements.txt (line 18))14:38
-!- Falfe [~not@c83-251-81-162.bredband.comhem.se] has quit [Ping timeout: 260 seconds]14:39
@kanzurebiopython fails to install with: error: option --single-version-externally-managed not recognized14:39
nmz787python-biopython shows up as installed in dpkg14:40
nmz787pip must be broken14:40
nmz787just do apt-get install python-biopython14:40
nmz787i don't think req.txt is helping at all14:40
nmz787no one uses reportbug14:40
@kanzureyou had to do "pip freeze" because you didn't have a pip file from before; most people just write their requirements file as they go along14:41
@kanzureso naturally "pip freeze" included a bunch of things that were installed system-wide14:41
nmz787right14:41
nmz787which is what /you/ said to do14:41
@kanzureyep14:41
nmz787i told you before that, django, biopython, and django-celery14:42
nmz787if you have a vanilla debian install, if my shit is broken it deserves to be14:42
nmz787it deserves to be fixed to be compatible with latest14:42
nmz787IMO14:42
* nmz787 shrugs14:42
@kanzurebefore fixing things you have to make sure it works with the latest versions14:43
@kanzurei mean, with the versions that you previously had working14:43
@kanzuremy debian is far from vanilla- it's customized like crazy, so trusting it is a terrible idea, and the project isn't far enough along to justify a custom vm14:43
@kanzurejrayhawk would suggest a chroot but, again, that would be a few gigs for this :P14:43
browniespip is not exactly a stellar piece of software14:44
@kanzureno14:44
* kanzure is still installing things14:45
nmz787geex14:45
nmz787what are you installing?14:45
@kanzurepython-dev, for numpy14:46
@kanzurebecause numpy has to compile things when it installs via an egg14:46
nmz787why don't you just apt-get all that?14:46
chris_99does anyone know about biotic interactions with yeast cells?14:46
@kanzurenmz787: i already have numpy installed, but not in my virtualenv14:46
nmz787chris_99: i am about to have a biotic reaction with some yeast14:46
nmz787when i drink this beetr14:46
nmz787beer14:46
chris_99hehe14:47
nmz787kanzure: and why doesnt that pass through?14:47
@kanzurebecause that's not how virtualenvs work14:47
@kanzurevirtualenvs separate your code from my system installation14:47
nmz787right, but.... umm14:51
nmz787don't you already have numpy?14:51
@kanzurei do have numpy. i don't have numpy in enzyme-filter's virtualenv.14:51
@kanzurei think i have at least six versions of numpy on my system haha14:52
@kanzureokay, so i've pushed a branch (since you seem to hate when i put things into master..)14:52
@kanzuregit fetch origin requirements14:52
@kanzuregit checkout origin/requirements14:52
@kanzurethen "git log" to see what i did14:52
@kanzureto get back to master you would type "git checkout master" or "git branch -a" to see a list.14:53
@kanzureoh oops i meant "git checkout remotes/origin/requirements"14:53
nmz787what?14:53
nmz787no, i hate branches!14:53
nmz787:D14:53
nmz787ugh14:54
@kanzureso anyway, i think this should be in master, so you can pull master now with my changes14:55
browniesthis is kinda funny14:55
@kanzurebrownies: ?14:55
brownieslargely because i don't have to suffer through it, and i can just watch the action =P14:55
@kanzurewell, now the app can presumably work wherever, including on my system14:56
@kanzurenmz787: so you wanted help with something in particular on this right? or just getting it installable?14:56
nmz787hmm, ok14:56
nmz787well its installed and running now, so the former14:56
nmz787enzymeFilter/views.py is where 95% of stuff happens14:57
@kanzure(enzyme-filter)kanzure@pikachu:~/local/enzyme-filter$ python manage.py runserver 0.0.0.0:403014:57
nmz787the rest is HTML templates and javascript and CSS crap14:57
@kanzureError: No module named djangoApps.enzymeFilter14:57
@kanzurethe heck is djangoApps ??14:57
nmz787oh, the folder that is now enzyme-filter14:57
@kanzurewaait why is stuff like blastGene() in views.py14:58
nmz787i like single file programs14:58
@kanzureok this is why it's slow14:59
nmz787y?14:59
-!- srangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has joined ##hplusroadmap14:59
-!- strangewarp [~strangewa@c-76-25-200-47.hsd1.co.comcast.net] has quit [Disconnected by services]14:59
@kanzureBLAST should not be in your views file14:59
-!- srangewarp is now known as strangewarp14:59
nmz787huh?14:59
@kanzureit should be a separate task that the web app spawns14:59
nmz787why not14:59
@kanzureor it should be in your controller14:59
@kanzurebecause views are supposed to be about rendering silly little templates14:59
nmz787MVC blah blah, tl;dr that class14:59
@kanzureoh god.14:59
nmz787:D14:59
@kanzurei give up14:59
nmz787well that just calls BLAST anyway15:00
nmz787and only if you ask it to15:00
nmz787its not what is slow15:00
@kanzureyes it is.. BLAST is blocking15:00
nmz787no15:00
@kanzureso that means your http request waits until it is done15:00
nmz787BLAST doesnt get called15:00
nmz787i'm pretty sure that is forked by biopython to the C version of NCBI tools15:01
nmz787but even when I used that, it didn't make things slow15:01
nmz787i could never figure out how to get celery and the rabbitmq server setup as daemons either15:02
nmz787which kinda makes me not like celery15:02
nmz787but i could just be dumb15:02
@kanzurei think on ubuntu you just type "start celeryd" and make sure it's in your /etc/init/ folder15:03
@kanzuresomething like that15:03
nmz787so the stuff i need help with is the process*** at the bottom15:04
nmz787they aren't using the ORM efficiently i think15:04
@kanzureprocessFAA?15:04
nmz787or rather, I shouldn't be using the ORM, because what I think I really want is raw SQL bulk inserts15:04
nmz787FAA, FNA, and XLS15:05
@kanzurefirst thing i suggest is moving the import statements out of the function..15:05
@kanzureso you're importing data from these files?15:05
nmz787well that's not the problem15:05
nmz787yes15:05
nmz787upload receives the files, then when all 3 are present they get processed15:07
brownieso.O15:07
@kanzurewhy are you uploading files? why not just run a script on files on the server15:07
nmz787first there are some .py files in the root dir of the project that need run, to set up all the different ontology links (i.e. how to map one to the other)15:08
nmz787because JGI didnt hire me15:08
nmz787JBEI did15:08
nmz787and JGI has the server15:08
@kanzureoh they didn't let you on the server?15:10
nmz787well, no, they don't want me messing with pip and virtualenv on their servers15:11
@kanzurethey sound lame15:13
nmz787psh15:14
nmz787they sequence DNA, not do synBio15:14
-!- _sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has joined ##hplusroadmap15:14
-!- sylph_mako [~mako@168.3.252.27.dyn.cust.vf.net.nz] has quit [Ping timeout: 252 seconds]15:15
@kanzurenmz787: so, you think that the sql inserts are slow, or parsing the file?15:16
@kanzureif the file is a few hundred megs, i think you should do a stream parser or something15:16
@kanzurewhere you load a line at a time (or w/e small fragment makes sense)15:16
@kanzurebrownies: btw.. what do you think? http://diyhpl.us/wiki/diybio/faq/books/ try the sambrook one15:19
nmz787the ORM stuff15:22
@kanzurehave you profiled it?15:22
nmz787i can read the file and for loop through each line very fast15:22
@kanzureyou can add statements to get datetime and then check datetime again and print the difference between statements15:23
nmz787not since last year, i don't remember15:23
nmz787but i am sure its the ORM15:23
@kanzureok. i see. yeah, so some of the ORM statements might be querying all objects for some reason, or it might be the transaction committing that is sucking up time15:23
nmz787i wrote it like i thought django wanted me to... as soon as I added something to the ORM, I retrieved it from there (even though it may have still been in a local var)15:26
@kanzureoh, no, you don't need to do that15:27
-!- sylph_mako [~mako@14.24.252.27.dyn.cust.vf.net.nz] has joined ##hplusroadmap15:27
nmz787basically I have that geneObject15:27
nmz787which is getting built from the file data15:28
nmz787if that geneObject was just some list or something that got built... then the whole thing inserted in one SQL call... i think that would fix things15:29
nmz787rather than geneObject being an ORM object... with everytime I touch it, it calling the db15:29
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Quit: Leaving]15:34
brownieskanzure: much improved. i'll pick one up, thanks.15:35
nmz787kanzure: do you have any recommendations on where to start, or things i should do to break this down15:39
nmz787so i can start fixing it, properly15:39
nmz787kanzure: FYI, my mentor, Patrik, originally just wanted scripts to run on his own box15:40
nmz787but also foresaw that others would find utility in it15:40
nmz787so I said 'O I know some Django!!!'15:40
nmz787and got swept into CSS and javascript uploaders15:41
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap15:42
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has joined ##hplusroadmap15:43
-!- sylph_mako [~mako@14.24.252.27.dyn.cust.vf.net.nz] has quit [Ping timeout: 245 seconds]15:45
-!- jmil [~jmil@hive76/member/jmil] has joined ##hplusroadmap15:49
skorketevening all15:51
nmz787hi15:52
@kanzurenmz787: i suggest starting with unit tests, i guess.15:55
nmz787what does that mean in this case?15:56
nmz787generally i've just been uploading files and watching where it breaks15:56
@kanzurewell, this way you can make sure that code still works15:56
nmz787or adding in printlines to things i know are wonky15:56
@kanzurelet's say that you have a function that does a multi-step calculation based on input15:57
@kanzureyou would write a unit test to see if the function still works with previous inputs and if those inputs still cause it to return the right answer15:57
@kanzurehttps://docs.djangoproject.com/en/dev/topics/testing/15:57
@kanzurein your case there's a file enzymeFilter/tests.py15:57
@kanzurewhich is all lonely :(15:57
@kanzurei think you run it with "python manage.py test"15:58
nmz787that file is practically empty15:59
@kanzureyep.. you gotta write tests to confirm that your stuff works / still works with new updates15:59
@kanzure*new changes15:59
chris_99couple of interesting courses starting soon - https://www.coursera.org/category/biology16:00
@kanzurei think this is a good place to start because you can have a re-usable way to determine which parts are breaking16:00
nmz787hmm16:00
-!- sylph_mako [~mako@14.24.252.27.dyn.cust.vf.net.nz] has joined ##hplusroadmap16:02
browniesdon't get too bogged down into TDD/BDD dogma16:08
browniesjust think of it as automating the tedious tasks you're doing right now to test your app16:08
nmz787TDD/BDD?16:09
nmz787well right now i open the webpage, upload a file, and wait for it to break, then fix/screw with... and repeat16:10
nmz787i'll have to read that testing doc16:10
nmz787new zealand is sposed to be pretty sweet16:11
nmz787whoops16:11
@kanzureyeah you shouldn't have to manually do any of that16:12
@kanzurei'd be far too lazy to do that more than uh, once16:12
nmz787oh16:13
nmz787i'm the otherway, too lazy to learn the (right?) way16:13
nmz787its not really too much though, click a few things, wait for breakage16:13
@kanzureyou're using "python manage.py runserver" right?16:14
nmz787figuring out how to call a function in django from outside sounds PITA16:14
nmz787yeah16:14
@kanzureyou just import your project and then call it16:15
@kanzurehttps://docs.djangoproject.com/en/dev/topics/testing/#django.test.client.Client.post16:16
@kanzurefrom myapp.models import Animal, etc.16:16
-!- jmil [~jmil@hive76/member/jmil] has quit [Read error: Connection reset by peer]16:25
-!- jmil [~jmil@hive76/member/jmil] has joined ##hplusroadmap16:25
-!- augur [~augur@129-2-129-33.wireless.umd.edu] has quit [Remote host closed the connection]16:27
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has quit [Ping timeout: 248 seconds]16:27
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has joined ##hplusroadmap16:36
@kanzureso what is the "methods in molecular biology" series from springer?16:48
@kanzureis this a journal, or is it more like updated textbook editions?16:48
@kanzure"Methods in Molecular Biology is a book series from publisher Humana Press that presents biomedical and life science research methods and protocols. The book series was introduced by series editor Dr. John Walker [disambiguation needed] in 1983 and provides step-by-step instructions for carrying out experiments in a research lab.[1]"16:49
@kanzure"As of April 2011, 867 volumes had been published in the series. The protocols are also available online at Springer Protocols."16:49
nmz787its mainly protocols i think16:50
nmz787like once a technique gets pretty good16:50
@kanzurethere's 126 books in the 2012 series16:50
@kanzurehttp://www.springerlink.com/content/1064-3745/copyright/2012/16:50
@kanzure933 volumes16:51
nmz787they compile a ton of original/influential/top-game papers, along with a good review tying it all together in the beginning16:51
-!- hifrog [~swamp@p5B16D6F4.dip.t-dialin.net] has quit [Quit: Love Everything! Resistance is Futile.]16:51
@kanzureso, "volume 2" of a book from this series will probably contain different protocols?16:51
nmz787did you see that ACS Synthetic Biology comment i made early today?16:51
nmz787they dont make it in paper format16:51
@kanzurehuh.16:51
nmz787so i can't really even be too much of a fanboy16:52
nmz787i woulda got the backissues16:52
nmz787:)16:52
-!- danielcc [62471046@gateway/web/freenode/ip.98.71.16.70] has joined ##hplusroadmap16:53
@kanzuredanielcc: hi16:53
-!- nmz787 [~nathan@ool-45792f2b.dyn.optonline.net] has quit [Quit: Leaving.]16:53
@kanzurewait don't leave16:53
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap16:53
@kanzureok there you are16:53
@kanzuredanielcc: so you were saying you think you can get a 20 um spot size?16:54
danielccBrian: someone has offered me a 100W lazer for the project, though I tried just scratching borosilicate glass and think I may have gotten into the ballpark of the 20um goal16:55
danielccI will probably go this weekend and take a peak with an afm16:55
nmz787oh its a 10.6 micron IR?16:56
nmz787CO2?16:56
danielccI just got off the phone with a sr bioengineer and dear friend and he brought up a point that the glass may be to jagged if mechanically scratched(I guess we will see after the afm pictures are back) but I was curious if anyone knew of a chemical process to smooth things out16:57
danielccI was thinking something like a sulfuric acid and h2o2 bath16:57
danielccbut I am but a humble EE16:57
nmz787HF16:57
nmz787but its nasty16:58
danielccI dont want to deal in hf if i dont have too...16:58
danielccI've seen my fair share of it in the SiC business for a lifetime16:58
@kanzureglass is just an ideal material, but we will probably be prototyping with pdms too16:59
danielccmy main question is does anyone here know of any modifications to the experiment before I go hit up the afm so I am not wasting microscope time?16:59
@kanzureso you just drew a line with a 100W laser?17:00
@kanzurenmz787 has a test image that he used before that tried out a number of patterns17:00
@kanzuresome svg file somewhere?17:00
@kanzurenmz787: where is microfluidic-chip-test-1.svg ?17:01
danielccno I scored the glass with a very finely etched tungsten carbide tip17:02
@kanzurewait, no that wasn't the file17:02
@kanzurehttp://diyhpl.us/~bryan/papers2/diybio/mccorkle_tomkins-tinch_microchannels.svg17:04
@kanzurebut this was for playing with a laser17:04
danielccI am assuming also the accuracy is decent enough with this bit...17:07
-!- eudoxia [~eudoxia@r186-54-251-164.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap17:07
danielccsorry for the delay but someone just gave me a ring17:07
nmz787well are you using CO2 laser?17:07
@kanzureno he's using a tungsten carbide tip17:08
eudoxiahey, strangewarp, you unfollowed Dale just before shit matched coordinates with the fan, now he's arguing with Max More17:08
nmz787ok17:08
nmz787oh17:08
nmz787is the afm free?17:08
-!- augur [~augur@208.58.5.87] has joined ##hplusroadmap17:09
@kanzurenmz787: so he's wondering if he should do anything else to the sample before sending it off to afm17:10
danielccThe AFM is in the lab I used to work at17:12
danielccthe guys offered to let me come in and run it for old time sake assuming this project was not for profit17:13
danielccI however do not want to over extend my welcome, if you know what I mean17:13
nmz787I think glass may crack if not cooled...17:16
nmz787there is that kickstarter17:16
nmz787http://www.kickstarter.com/projects/fsl/affordable-20x12-laser-cutter-engraver-assembled-i17:16
-!- eudoxia [~eudoxia@r186-54-251-164.dialup.adsl.anteldata.net.uy] has quit [Ping timeout: 252 seconds]17:16
nmz787place an array of TEC peltiers under there17:17
nmz787the floor drops out17:17
nmz787they are USA company17:17
nmz787other products are chinese lasers upgraded with their electronics17:17
danielccI'm just wanting to think simplicity... A fella from work showed me this: http://www.instructables.com/id/Pocket-laser-engraver/step2/Rip-apart-the-DVD-Roms/17:20
nmz787yeah blu-ray or IR is the only way to go really17:20
nmz787excimer is what you want tho, and they're dam expensive17:20
nmz787DRIE might do it17:20
danielccapparently the heads should be set to roughly what we need, but I was wanting to shoot kinda high with the borosilicate glass17:21
nmz787http://en.wikipedia.org/wiki/Deep_reactive-ion_etching#Applications17:21
nmz787g2g17:21
nmz787would like to talk again later17:21
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has quit [Quit: Leaving.]17:22
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Quit: Leaving]17:23
danielccI feel certain that this deep etching is not going to be achievable in most home labs... though I do have a deep vacuum system laying around if anyone in the SC region wants to help put together a setup17:25
danielccI have actually used this method for making some microcantilevers17:25
-!- tashoutang [~tata@pc131090206.ntunhs.edu.tw] has joined ##hplusroadmap17:31
tashoutangmorning17:32
@kanzurehi.17:34
tashoutanghi,@K17:38
@kanzuretashoutang: press k then press tab17:38
tashoutangkanzure17:38
tashoutangmy msn is michaeltashoutang@hotmail.com17:38
-!- soylentbomb [~k@d149-67-118-140.col.wideopenwest.com] has quit [Quit: Leaving]17:38
@kanzuremy client does not notify me when someone says "K", but it does notify me for "kanzure"17:38
tashoutangoK17:39
tashoutangmy skype is tashoutang-essan17:39
@kanzuremy contact details are on here: http://heybryan.org/17:39
tashoutangOK17:45
tashoutang:)17:45
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap17:46
@kanzurebrownies: https://github.com/soundcloud/large-hadron-migrator17:57
@kanzure"The basic idea is to perform the migration online while the system is live, without locking the table. In contrast to OAK and the facebook tool, we only use a copy table and triggers."17:57
brownieskanzure: interesting! thanks17:58
@kanzureso it looks like it just copies a giant million-row table to a temporary table and slowly migrates things over?17:58
browniesalthough the fact that they assume the presence of an :id column is... stupid.17:59
@kanzurehow does this work in production when some of your users are migrated and others aren't?17:59
@kanzuresay your migration takes two hours..17:59
browniesnot sure, tbh, what they're doing.17:59
@kanzurei guess you would write your code to check whether or not the migration is completed??17:59
@kanzuree.g. in controller methods17:59
browniesno, that would make it stupid and useless18:00
browniesalso, this already makes it mostly useless... "Lhm currently only works with MySQL databases"18:00
@kanzure"TableMigrator does essentially the same thing, but more intelligently. First, we create a new table like the original one, and then apply one or more ALTER TABLE statements to the unused, empty table. Second we copy all rows from the original table into the new one. All this time, reads and writes are going to the original table, so the two tables are not consistent"18:00
@kanzure"Finally, we acquire a write lock on the original table before copying over all new/changed rows, and swapping in the new table."18:00
@kanzurehttps://github.com/freels/table_migrator (twitter's similar thing)18:00
@kanzure"The solution to find updated or new rows is to use a column like updated_at (if a row is mutable) or created_at (if it is immutable) to determine which rows have been modified since the copy started. These rows are copied over to the new table using REPLACE"18:01
browniesyeah, this all basically the obvious solution.18:01
-!- danielcc [62471046@gateway/web/freenode/ip.98.71.16.70] has quit [Ping timeout: 245 seconds]18:01
@kanzure"The default method (:multi_pass => true) copies over changed rows in a non-blocking manner multiple times until we can be reasonably sure that the final sweep will take very little time. The last sweep is done within the write lock, and then the tables are swapped. The length of time taken in the write lock is extremely short, hence the claim zero-downtime migration."18:02
@kanzureyep ok18:02
@kanzurei thought it would be something more interesting than that18:02
brownieseh, what else can you do?18:03
browniesi like that... classic untrained-engineer idiocy18:03
@kanzurei don't know, something that would deserve the name 'large hadron' :)18:03
brownies"the downtime is small, so we called it zero."18:03
@kanzurehaha18:03
browniesmorons.18:03
@kanzurelim downtime_t with a subscript => 018:03
@kanzurehahah.18:04
@kanzure"This method will not propagate normal DELETESs to the new table if they happen during/after the copy. In order to avoid this, use paranoid deletion, and update the column you are using to find changes appropriately."18:04
@kanzureyou should paranoid deletion anyway, but that's amusing18:04
brownieshaha18:04
browniesi'm implementing paranoid deletion later today, from scratch18:05
browniesbecause (surprise!) the author of the gem is an idiot18:05
@kanzureoh, why?18:05
@kanzureoh hm18:05
@kanzurewhich gem were you using?18:05
browniesif you use paranoid deletion, you can't use :default_scope18:05
@kanzurei've tried a few, but i think i used rails3_acts_as_paranoid most recently18:05
brownieslet me take a look18:05
browniesi surveyed the choices a while back, and decided they were all idiots18:05
@kanzuresounds fun18:05
@kanzureyou know, out of all the times i've implemented paranoid delete, i don't recall ever making something that would periodically go through and actually delete really really old stuff18:06
-!- delinquentme [~asdfasdf@c-71-236-101-39.hsd1.pa.comcast.net] has joined ##hplusroadmap18:07
delinquentmeafternoon all!18:07
browniesoh, hmmm18:07
brownieskanzure: the README doesn't make mention of this :default_scope issue ...18:07
brownieskanzure: which means, either it's fixed, or the author is an asshole.18:07
@kanzuredo a pull request :P18:07
@kanzurewith the README updated, not the solution (unless you have that too)18:08
browniesbleh ... and he doesn't seem to manage his pull requests competently18:09
@kanzurethat's lame18:09
@kanzuresomeone should make a script that looks at your gems' repositories on github and rates how likely they are to be idiots18:09
@kanzure"Your rails app is made up of 43% idiocy, congratulations!"18:09
@kanzurethis is easy to determine: do they have lots of open issues, pull requests? do they pull their pull requests, or do they re-commit the changes?18:10
@kanzuredo they mix tabs and spaces?18:10
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has quit [Quit: Leaving.]18:15
-!- augur [~augur@208.58.5.87] has quit [Remote host closed the connection]18:20
brownieshehe18:21
browniesyeah, that would be useful.18:21
browniesthe non-idiots could proudly badge their READMEs18:21
brownies"i'm only 10% idiot, according to idiotrubyists.com!"18:21
-!- yashgaroth [~f@cpe-66-27-117-179.san.res.rr.com] has joined ##hplusroadmap18:22
yashgarothkanzure: methods in molecular biology is good, definitely worth the space18:29
-!- tashoutang [~tata@pc131090206.ntunhs.edu.tw] has quit [Ping timeout: 268 seconds]18:30
@kanzureyashgaroth: ok i'll grab 'em all18:37
-!- tashoutang [~tata@pc131090206.ntunhs.edu.tw] has joined ##hplusroadmap18:45
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap18:56
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has quit [Remote host closed the connection]19:04
nmz787ahh this is gold: http://www.youtube.com/playlist?list=PLD0444BD542B4D7D9&feature=plcp19:06
nmz787About Walter + Eliza Hall Institute Movies from The Walter and Eliza Hall Institute of Medical Research19:07
@kanzureyashgaroth: some of these books seem to be highly esoteric though19:07
yashgarothoh, totally19:08
foucistyou rails guys should be in my ridiculously awesome #offrails channel19:08
-!- minimoose [~minimoose@pool-173-75-216-239.phlapa.fios.verizon.net] has quit [Quit: minimoose]19:08
@kanzure"siRNA Techniques for Gene Silencing in Transgenic Wombats - Methods in Molecular Biology - 8th edition"19:08
yashgarothbut when you gotta know about cyclooxygenases, you better hope you have vol. 644 handy19:08
@kanzurecyclowhats?19:10
@kanzureblaargh chrome removed --vertical-tabs https://code.google.com/p/chromium/issues/detail?id=99332#c2519:10
yashgarothhey man you've got the book now19:10
@kanzurenot quite yet19:11
nmz787COX right yashgaroth?19:11
yashgarothyep, and one day when I'm stuck in limbo I can read up on it19:11
@kanzuredidn't you just experience a three month limbo?19:11
nmz787he prob got to vol 64319:12
@kanzurewhat a slacker19:12
nmz787thats why he is ready for 64419:12
yashgarothnot quite limbo enough to read up on COX19:12
nmz787gene jokes19:12
nmz787oh gosh19:12
yashgarothremembering how shitty work is, is giving me more motivation than unemployment ever did19:12
nmz787genetic slurs19:12
yashgarothtruncated cox19:12
nmz787"heard your COX wasn't doing too well, nerd!"19:13
yashgarothhey girl I heard you're an expert in cox assays19:13
nmz787lol19:13
nmz787that's a good one19:13
brownieschrome used to have vertical tabs?19:15
brownieswild19:15
-!- jk4930 is now known as transgenicWombat19:16
nmz787"Disclaimer - Due to Chrome limitations, extensions cannot restore history from closed tabs"19:19
@kanzuredafuq19:20
@kanzurebrownies: my religion is carefully constructed around the existence of https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/19:20
@kanzurealthough opera does that better19:22
browniesheh yea i used to use that pretty heavily19:23
browniesnowadays i just stash everything in pinboard19:23
nmz787can you reduce the visibility of firefox to that of chrome?19:24
nmz787kanzure: does it retain your tab history?19:24
@kanzurefirefox has other tab history things19:25
nmz787so it doesnt do it19:26
nmz787i mean clicking back19:26
nmz787after restoring a tab19:26
-!- _sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has quit [Read error: Connection reset by peer]19:28
-!- _sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has joined ##hplusroadmap19:29
nmz787so toomanytabs doesn't actually get rid of the tabs visually?19:32
nmz787nor does tree-style-tab?19:32
nmz787this looks like what i want https://chrome.google.com/webstore/detail/bbcnbpafconjjigibnhbfmmgdbbkcjfi19:36
-!- transgenicWombat is now known as jk493019:40
nmz787oh, bad reviews19:42
nmz787i could just have like 10 different chromium installs19:43
foucistchrome is fucking shit.. i really need to stop using it as my main browser19:46
brownieswhat alternative is there, though?19:46
foucisti use Sessions Buddy extension in chrome19:47
foucistbrownies: firefox or safari19:47
brownieseh, i try out safari every now and then, but it feels slower19:47
browniesand Firefox still leaks memory everywhere19:47
foucisthave you tried ff this summer?19:48
foucistapparently they were fixing that big time19:48
foucisti haven't tried it yet19:48
foucisti definitely need a more memory efficient browser than chrome19:48
foucistor i need to know which version of chrome is the most memory efficient and fix it at that19:48
-!- augur [~augur@208.58.5.87] has joined ##hplusroadmap19:51
browniesi heard something about that, but i haven't tried FF in a while19:51
foucistbrownies: i have my swap disabled for speed reasons, but if i go over 4gigs ram it crashes my computer..  chrome is painful since it tends to use up all my memory19:51
foucistof course, i tend to have loads of tabs open19:51
brownies=/19:53
browniesyeah, i got in the habit of closing tabs, and instead pinboarding things that i wanted to read later19:53
nmz787how do i add a sub comment to stackoverflow?19:54
nmz787http://stackoverflow.com/questions/9981267/google-chrome-back-and-forward-history?answertab=oldest#tab-top19:54
foucistbrownies: i don't actually read anything later even if i bookmark or use readitlater/etc bookmarklets heh19:55
nmz787yeah that's why i want to save my tabs, not bookmark them19:56
nmz787;)19:56
nmz787the difference is, uh, retaining tab history19:56
-!- ivan`_ is now known as ivan`19:56
nmz787and the concept of loading/unloading... if i click a bookmark, i dont want to have to click around to delete it too19:56
foucisti don't like bookmarks at all, i want a more of seamless logging interfce..  log all the sites and pages i went to, then when i "google" something, search my local cache first19:58
foucistbased off my history (not just links but actual content perhaps)19:58
nmz787hmm, that would annoy me i.e slow me finding new stuff i think19:58
nmz787maybe not19:59
browniesfoucist: yeah, neither do i, but it's a nice lie to tell myself so i don't drown in tabs19:59
browniesfoucist: try out historious ... might be what you're looking for19:59
foucistcool20:00
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has quit [Read error: Connection reset by peer]20:11
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap20:12
-!- hankx7787 [181e2e48@gateway/web/freenode/ip.24.30.46.72] has joined ##hplusroadmap20:27
brownieskanzure: looks like DelayedJob might be another one that's full of random unpredictable fail =/20:40
@kanzurei don't think i'm smart enough to understand noscript20:43
@kanzurehow do i make it inform me of things (like xss attacks it spots) without disabling javascript everywherE?20:43
@kanzure*everywhere?20:43
delinquentmei just dont understand http://www.gizmag.com/walking-paper-robot-elastic-bands/23877/20:49
delinquentmedude (painstakingly) makes a robot entirely out of paper and rubberbands20:49
nmz787kanzure said not to follow your links20:50
nmz787but i will this time20:50
skorketnmz787, hows the laser cutter coming?20:53
@kanzure'gizmag' sounds like spam to me20:54
nmz787gonna order a diode and power supply in the next few days20:55
tashoutanghttp://www.panoramas.dk/mars/greeley-haven.html20:55
tashoutangthe view on Mars20:56
nmz787looking into modelling the whole system as well, using goptical or something like it/better20:56
skorketyou have the steppers, drivers and hardware?20:56
nmz787maybe this http://code.google.com/p/pyoptools/20:56
tashoutangthey can put the blue green algae there....20:56
@kanzurefirebug feels a little forced in comparison to chrome inspector20:58
nmz787skorket: no not yet, going to wait til i get the laser and optics sorted out, I still need to try and find some CAD models for fenn, if I can find them, or CAD drawings of a few of the cutter components... so his model can be complete21:00
skorketwhy do you need to simulate the optics?21:00
-!- klafka [~textual@c-67-174-253-229.hsd1.ca.comcast.net] has joined ##hplusroadmap21:00
nmz787just want to21:00
nmz787it will be good to learn, as I will prob need to do something similar when I try to do single-molecule fluorescence detection21:01
skorketah, I see, yeah, cool21:01
nmz787i feel its stuff like that which separates good engineering/design from just screwing around21:01
nmz787I trust things with nice spec sheets more than claims of 'it works great'.... but yeah mainly because I also am totally new to optics21:02
skorketWhat diode are you getting?21:02
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has quit [Read error: Connection reset by peer]21:03
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has joined ##hplusroadmap21:04
nmz787like most diagrams show rays eminating from a focus, but what if my rays eminate from somewhere else... then I need the simulator21:04
-!- nmz787 [~Nathan@ool-45792f2b.dyn.optonline.net] has quit [Read error: Connection reset by peer]21:04
skorketNo, I feel the same ways about some tools.  Even if my project is simple, I like getting my feet wet with the EDA packages that are available21:05
@kanzurehmm http://code.google.com/p/pyoptools/21:22
@kanzureso it's just a raytracer?21:23
-!- jmil [~jmil@hive76/member/jmil] has quit [Quit: jmil]21:23
-!- hankx7787 [181e2e48@gateway/web/freenode/ip.24.30.46.72] has quit [Quit: Page closed]21:28
-!- yashgaroth [~f@cpe-66-27-117-179.san.res.rr.com] has quit [Quit: Leaving]21:46
-!- jk4930_ [~jk@p57B73C7A.dip.t-dialin.net] has joined ##hplusroadmap21:47
-!- jmil [~jmil@hive76/member/jmil] has joined ##hplusroadmap21:47
-!- jmil [~jmil@hive76/member/jmil] has quit [Client Quit]21:48
-!- jk4930 [~jk@p57B73587.dip.t-dialin.net] has quit [Ping timeout: 264 seconds]21:51
-!- delinquentme [~asdfasdf@c-71-236-101-39.hsd1.pa.comcast.net] has quit [Quit: Leaving]21:51
@kanzurematplotlib guy died http://mail.scipy.org/pipermail/ipython-dev/2012-August/010135.html21:55
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has quit [Ping timeout: 244 seconds]22:14
-!- skorket [~skorket@cpe-24-58-232-122.twcny.res.rr.com] has joined ##hplusroadmap22:15
-!- drazak__ [~ahdfadkfa@199.188.72.84] has joined ##hplusroadmap22:17
-!- drazak__ [~ahdfadkfa@199.188.72.84] has quit [Client Quit]22:17
@kanzureoh geeze "那些自称“生物黑客”,并把该领域称之为“DIY生物学(DIYBio)”的狂热人士,开始进行他们自己的“合成生物学”试验项目"22:24
@kanzurehahah genspace translates to "绅士空间" apparently? "gentleman space"22:25
@kanzure"绅士" is gentleman i think22:25
@kanzure"亿万富豪企业家文特尔" well that's one way to describe craig venter.. but i think this is wrong22:28
tashoutangkanzure where did you see that?22:30
tashoutangso they are very well informed!!!22:31
@kanzureventer is not a billionaire22:35
@kanzureto my knowledge.22:35
@kanzurei think his networth is south of $500M22:35
@kanzure2 hour python/requests scraping presentation from pycon 2012 http://youtube.com/watch?v=52wxGESwQSA23:02
@kanzurebut he's really super slow23:02
@kanzure"Interestingly: I'm actually a guy on the team that sends back that different HTML from Google. ;) See: 55:19"23:04
@kanzureoh nevermind, that's just for user agents23:05
@kanzurehttp://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet/23:12
@kanzureso that video in the last 40 minutes shows using twisted/gevent/promises to process scraped content. i don't see why he didn't just stick with celery?23:17
@kanzureoh neat, python-requests supports async http requests23:18
--- Log closed Thu Aug 30 00:00:11 2012

Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!