--- Log opened Thu Jan 24 00:00:39 2013 00:02 <@kanzure> what was supposed to be included in his $500 million plan? 00:02 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 00:03 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 00:05 < u-metacognition> Sounds like the probability of being in a sim just got higher 00:05 <@kanzure> uh 00:06 <@kanzure> because they chose his project, you are updating your priors for whether or not you are simulated? 00:07 < u-metacognition> A bit at least 00:07 < u-metacognition> If they'll fund a large scale project to emulate a brain I think that raises the odds 00:09 < u-metacognition> The world could have been such that people would at least passively resist the idea 00:09 < u-metacognition> not actively support it 00:21 -!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has quit [Quit: later] 00:23 <@kanzure> huh? none of that should have any baring on your computations for that. i think you're being unreasonable. 00:24 -!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has joined ##hplusroadmap 00:25 < u-metacognition> One of the main defeaters of the simulation argument is that we won't develop the ability or inclination 00:25 <@kanzure> the simulation argument is primarily concerning whether or not you are presently simulated 00:26 < u-metacognition> Sure 00:28 < u-metacognition> Shouldn't developing the ability raise the chances in any case 00:29 < Viper168> lol, didn't we discuss this in the other channel last night 00:30 < u-metacognition> We could have been in a world where things just simply didn't get that for or couldn't be made for whatever reason 00:30 <@kanzure> u-metacognition: no. it would increase the likelihood that it is possible in the first place, but not whether or not your universe happens to be simulated. 00:31 < u-metacognition> Why? 00:33 <@kanzure> insert various pascal wager arguments here 00:34 <@kanzure> pascalean-wagerian 00:37 <@kanzure> actually, that's not a good answer. 00:41 < sylph_mako> I agree. If this tells us anything it's that the gods of the simulation are more likely to be human. That situation is not a teapot. We could reason about that productively. Unlike most possible scenarios. 00:41 <@kanzure> it tells you nothing though 00:41 < sylph_mako> Yep. 00:47 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] 00:47 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 00:47 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has joined ##hplusroadmap 00:56 -!- chrisian is now known as strangewarp 01:03 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] 01:03 < eleitl> good morning 01:03 < eleitl> if it's a probability argument, it doesn't work 01:03 < u-metacognition> Morning 01:04 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has joined ##hplusroadmap 01:04 < eleitl> as kanzure says, it only says that it's at all possible, not how it is probable 01:04 < eleitl> it is some information, but only qualitative 01:04 < eleitl> the reason is statistics fail on side of Bostrom 01:05 < u-metacognition> So you're saying the probability should not go up at all before you know it's possible to after you know it's possible? 01:06 < u-metacognition> That doesn't seem right to me 01:06 < eleitl> it does go up, from unknown 01:06 < u-metacognition> That's what I'm saying 01:06 < eleitl> definitely observer-moments don't tell you a thing 01:07 < eleitl> whether it's 10^0 or 10^100, you still self-observe 01:07 < eleitl> can't tell between these two branches 01:07 < u-metacognition> yea 01:07 < eleitl> we're in agreement, then 01:07 < u-metacognition> I think so 01:07 < phm> If you knew you were in a sim; would you behave any different to the way you do now? 01:07 < eleitl> Probably. 01:08 < u-metacognition> If I knew for sure? 01:08 < u-metacognition> Definitely 01:08 < phm> how? 01:08 < eleitl> Unless the sim is a process. 01:08 < u-metacognition> Wait I amend that 01:08 < eleitl> Like Tegmark-stuff. 01:08 < u-metacognition> only if I knew whether other agents were real or not 01:08 <@kanzure> huh? being in a simulation doesnt change realness. 01:08 <@kanzure> you guys are crazy 01:08 < eleitl> If there's a simulator that is a person, there is intent. 01:09 < u-metacognition> You could be the only one in a simulation 01:09 < eleitl> If this is Tegmark, there is no intent, hence no incentive to behave otherwise. 01:09 < u-metacognition> like a lucid dream or it could be multi-agent 01:09 < phm> How would it change your behaviour? 01:09 < eleitl> Look, I ran plenty of random CA sims as a kid. 01:10 <@kanzure> is golly still around? 01:10 <@kanzure> http://golly.sf.net/ 01:10 < eleitl> Probably, it even did Hashlife. 01:10 < eleitl> If this is the equivalent of a large scale experiment, there's no reason to behave any different, other than flipping the idiot kid the bird. 01:10 < eleitl> Not that he notices. 01:11 <@kanzure> i have a friend obsessed with a certain CA rule he's been investigating for years 01:11 <@kanzure> http://transforum.net/m.cgi?num=2926 01:11 <@kanzure> http://www.thewildca.com/images/Whoa_130000.gif 01:11 < eleitl> I'm only interested in designing CA rules for optimal computation in hexagonal closest or cubic closest, or cubic primitive cell packing. 01:12 < eleitl> I've seen very similiar to identical behavior when I did run my CA sims. 01:12 < eleitl> Some of these are amazing. 01:12 < eleitl> different speeds of gliders, organic shapes 01:12 < strangewarp> damn that's a pretty CA... 01:12 < eleitl> all in 1d 01:13 < phm> Does anyone here work on proof checkers or meta-mathematics stuff? 01:13 <@kanzure> no, go away 01:13 < brownies> meta-mathematics? i think we just call that "mathematics" 01:13 < phm> no. They are very different 01:14 < eleitl> http://www.nature.com/news/billion-euro-brain-simulation-and-graphene-projects-win-european-funds-1.12291 <-- Henry got his wish 01:14 <@kanzure> eleitl: you're getting slow! 01:14 < eleitl> now he damn better delivers 01:14 <@kanzure> i've been trying to find his proposal though 01:14 <@kanzure> what exactly is he going to be spending $500 million on? 01:14 < eleitl> I'm not slow, I post everything I see. I just don't have time to look actively, because I'm busy, for a change. 01:15 <@kanzure> strangewarp: http://www.thewildca.com/ 01:18 <@kanzure> ah maybe this isi t 01:18 <@kanzure> http://www.unicog.org/publications/Human%20Brain%20Project%20for%20FET11%20v2.pdf 01:18 < eleitl> Markram and Allen Institute should team up 01:19 <@kanzure> yeah 01:19 <@kanzure> "The project will build on the work of European projects such as SenseMaker [7], FACETS [8], 01:19 <@kanzure> BrainScales [9] and SpiNNaker [10] that have already built “neuromorphic chips”. Meanwhile, HBP 01:19 <@kanzure> theoretical neuroscientists will analyze brain models and simulations to reveal fundamental principles of 01:19 <@kanzure> neural computation." 01:19 <@kanzure> well i guess that's somewhat specific. 01:20 < eleitl> at least that field is not dead, let's be thankful for that 01:20 <@kanzure> surely there's an actual document somewhere that explains what exactly the money would go towards 01:20 <@kanzure> last i checked, he had a legion of 100 postdocs 01:20 -!- Viper168_ [~Viper@unaffiliated/viper168] has joined ##hplusroadmap 01:21 <@kanzure> so.. now he will have 1,000 postdocs? 01:21 <@kanzure> or just dump it into hardware? 01:21 < eleitl> a lot of it will be hardware 01:21 < eleitl> the next gen Blue Brain is already earmarked 01:21 <@kanzure> sure.. ibm sorta dissociated themselves from him though. 01:22 < eleitl> a lot of neuroscience people are jealous 01:22 <@kanzure> well they should be 01:22 < archels> "principles of neural computation" specific? 01:23 < archels> hard to be more vague 01:23 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 01:24 < eleitl> I wish people would actually try to use GA to optimize biologicially inspired networks 01:24 -!- Viper168 [~Viper@unaffiliated/viper168] has quit [Ping timeout: 276 seconds] 01:24 <@kanzure> also, he possesses a fascinating hypnotic power http://www.youtube.com/watch?v=9gFI7o69VJM#t=600 01:24 < eleitl> just pick 10 or 100 k cell types seeded with real biology data, and look for ways to create morphogenetic programs to wire them up 01:24 < eleitl> no need to fake cell migration though 01:25 < eleitl> of course it would probably make Markram's budget like small beer 01:25 < eleitl> look lie 01:25 < eleitl> like, dammit 01:26 <@kanzure> i also appreciated his non-simulation-related work, 01:26 <@kanzure> http://diyhpl.us/~bryan/papers2/neuro/Intense%20world%20syndrome%20-%20an%20alternative%20hypothesis%20for%20autism%20-%20Markram.pdf 01:27 < archels> eleitl: yes, it's the convolution of NN + GA + biological constrains that is still exceptionally rare 01:27 <@kanzure> eleitl: archels has some supercomputing resources that we might be able to bum off of him 01:27 <@kanzure> *cough* 01:27 < eleitl> how large the resources, archels? 01:27 < archels> haha, incidentally I'm just getting those upgraded to Ubuntu 12.04 01:28 < archels> but mostly kanzure is making this up. they're just some fast boxes at my university 01:28 <@kanzure> yeah :/ 01:28 < eleitl> a cluster? 01:28 < eleitl> with GPGPU? 01:28 < archels> kanzure: http://www.humanbrainproject.eu/files/HBP_flagship.pdf 01:28 < archels> no, general purpose CPUs 01:29 < eleitl> a cluster? how many nodes? 01:29 <@kanzure> wasn't it like 192 TB of RAM? 01:29 < eleitl> a single box with a lot of RAM is quite useless 01:29 < archels> actually my prof is involved in the Human Brain Project, so we could probably arrange CPU time on some pretty fancy systems 01:29 < archels> brb, shower 01:30 < eleitl> you can do nice bioinformatics things, as most bioinformatics code is not parallel 01:30 < eleitl> the problem with fancy systems is that they're booked to the gills 01:30 < eleitl> you can easily run a year job on your own cluster, but no can do on a national facility 01:38 <@kanzure> archels: yes that's what i was looking for, thanks 01:42 <@kanzure> pfft 7148 person-years 01:44 -!- Proteus1 [~Proteus@71-34-198-154.omah.qwest.net] has joined ##hplusroadmap 01:44 < eleitl> kanzure: ? 01:45 <@kanzure> just reading the document archels linked 01:45 <@kanzure> http://www.humanbrainproject.eu/files/HBP_flagship.pdf 01:46 < eleitl> so about 100 people/10 years? 01:47 < eleitl> or rather closer to 1000 01:47 -!- Proteus [~Proteus@unaffiliated/proteus] has quit [Ping timeout: 264 seconds] 01:47 < eleitl> if these are the right people... 01:48 < eleitl> at least they're focusing on the right goal: energy 01:49 * kanzure sleeps 01:49 < eleitl> good night 01:49 * eleitl goes to a meeting 02:29 -!- phm [~anon@host-78-150-147-154.as13285.net] has quit [Ping timeout: 248 seconds] 02:37 -!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap 02:41 -!- ThomasEgi [~thomas@gw-ko-kostr2.inka-online.net] has joined ##hplusroadmap 02:41 -!- ThomasEgi [~thomas@gw-ko-kostr2.inka-online.net] has quit [Changing host] 02:41 -!- ThomasEgi [~thomas@panda3d/ThomasEgi] has joined ##hplusroadmap 02:41 -!- u-metacognition [~metacogni@99-7-58-96.lightspeed.davlca.sbcglobal.net] has left ##hplusroadmap [] 02:47 < archels> Do I want to do a PhD in Memphis? 02:47 < archels> "Obtaining a Ph.D. typically requires 4-5 years." 02:47 < brownies> do you want to do a Ph.D. there? do you want to do a Ph.D. there? do you want to do a Ph.D. anywhere? 02:47 < brownies> better budget 6 years, to be safe. 02:48 < archels> heh, heh 02:49 < archels> No, I just meant specifically, Memphis, USA? 02:49 < archels> bible belt? 02:50 < brownies> hm, tennessee right? but it's a large city... might not be that bad. 02:51 < archels> mmm 02:54 < brownies> which program? 03:00 < archels> Computational Intelligence Laboratory 03:00 < archels> looks like their main current focus is hierarchical neural networks 03:08 -!- sylph_mako [~mako@103-9-42-1.flip.co.nz] has quit [Ping timeout: 248 seconds] 03:08 < eleitl> how old are you, archels? 03:08 < eleitl> spending 5-6 years on a PhD would depend whether you can afford it 03:11 < archels> it's fully funded. I'm 26 03:14 < archels> I'm not really considering anything that would require a hefty loan. 03:18 < eleitl> oh, that would be a given. 26 is pretty young. 03:18 < eleitl> What do you want to do with the rest of your life? 03:19 < archels> hah, that's what I'm asking myself 03:19 < archels> I love to be part of academia, but I want to have some fruits of my work other than a few obscure, essentially useless papers 03:20 < eleitl> my opinion that the funding situation in the academia will become a lot worse 03:20 < eleitl> I might we wrong, of course, but if I was you I'd operate under such assumptions 03:21 < archels> In the EU, globally? 03:21 < eleitl> globally. Things might be slightly different in Asia, but, then, they might be even worse there. 03:22 < archels> mhm. Well, the fact is, I'm in a bit of a dilemma... I have a running offer for a PhD position. Great pay, good people--but I'm not certain the subject really binds me. 03:23 < archels> s0o it's essentially job security vs. doing something that I really want to do 03:23 < eleitl> what do you want to do? 03:24 < archels> build neural networks that do useful things, e.g. control a robot, visual recognition, memory function, etc. 03:24 < eleitl> I think that could be very useful, if you can get your foot into that 03:24 < archels> this offer I mentioned has none of that, and I doubt anything of practical value is going to come out of it 03:25 < archels> aye, which is why this Memphis thing attracted my attention 03:25 < archels> https://sites.google.com/site/bonnybanerjee1/ 03:27 < eleitl> you should be able to do PhD in the area 03:27 < eleitl> not sure you can survive Memphis, but you probably won't see much of it, anyway 03:28 < archels> haha, that's the spirit :) 03:28 < eleitl> that Bannerjee guy has clue, is he a name/rising name in the area? 03:31 < archels> I had never heard of him. The journals he publishes in don't really ring a bell (apart from IEEE), but then again I'm more aware of neuroscience journals than AI journals. 03:31 < archels> so, will need to do some reading up. 03:32 < eleitl> I would avoid sinking your time into an obscure group in Podunk University 03:32 < eleitl> if he's a rising name that might be worth it, though 03:32 < eleitl> unrelated: does anyone know how Kickstarter works? 03:33 < eleitl> does one need to be USian, or an USian needs to be on the team? 03:33 < archels> haha. Well, if they allow me to do cool stuff, and pay me for doing it, why not? 03:33 < archels> all this impact factor fetishism... 03:34 < eleitl> if you want to do postgraduate work, or get into a prestigious industry group, it might be worth it 03:34 < eleitl> I don't know, it's not my field, and I'm a 46 year old guy in Germany doing shitty work 03:34 < archels> referring to your dayjob? 03:34 < eleitl> yeah, they pretend to pay me, and I pretend to work 03:35 < brownies> archels: eh? so the offer in Memphis is for the field you are interested in? but you have another PhD offer elsewhere for something higher-paying but less boring? 03:36 < brownies> is that the choice? 03:36 < archels> brownies: higher-paying, higher job security, but *more* boring 03:36 < archels> that's the tradeoff 03:37 < brownies> ah right, more boring, less interesting 03:37 < brownies> what about the location issue? is the boring job in a place better or worse than Memphis? 03:37 < brownies> that Banerjee guy looks pretty smart. got his PhD, did 3 years producing IP at a startup that got sold for the IP, then got a professorship right away. 03:39 < archels> as eleitl said, so long as it's not podunk hollow... 03:40 < archels> but I'm not aware enough of Memphis culture to know whether it might still feel like that, in spite of being a large city 03:41 < eleitl> all Ph.D. students I know live in the lab 03:43 < strangewarp> I visited Memphis TN once. It's pretty cosmopolitan, but not necessarily in a progressive way, and definitely feels like a raft in the ocean. 03:48 < strangewarp> Also the city's suburbs are bait for the occasional fucking strong tornado, from what I hear. 03:49 < eleitl> the older I get, the farther out into the sticks I want to move 03:50 < eleitl> assuming you have a decent network connection, and emergency medicine coverage, fuck humanity 03:51 < strangewarp> meh, I'm just hoping regular people don't kill me in war, or for being a weirdo, and that I don't have any fatal diseases or accidents. 03:51 < eleitl> my plan is to retire to a rural place with a large garden 03:51 < eleitl> it is quite safe here, not sure if we even get much fallout 03:52 -!- eudoxia [~eudoxia@r190-134-19-19.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 03:52 < strangewarp> "fallout" 03:52 < strangewarp> what 03:52 < eudoxia> hi eleitl, archels 03:52 < eleitl> hail eudoxia 03:52 < eleitl> well, wars today where I sit would mean food fight endgame 03:52 < eleitl> these will be WoMD 03:53 < eudoxia> well s'warp he is in the middle of Germany which is a rather important target 03:53 < eleitl> who would want Germany? 03:53 < eleitl> there's nothing of use here 03:54 < eleitl> of course eudoxia is even more safe than me 03:54 < eudoxia> its ok eleitl when the resource wars happen you can stay here 03:54 < eleitl> :) 03:54 < eleitl> I've been actually thinking about visiting Montevideo, providing the flights are cheap enough 03:55 < eleitl> Paraguay or Uruguay look like the best spots in the whole of South America 03:56 < eleitl> what is your opinion of Jose Mujica, eudoxia? 03:57 < strangewarp> I've read about him. He seems to be a decent guy. He might get thrown from ofice in his next election though. 03:57 < strangewarp> *office 03:57 < strangewarp> It's nice to see a socialist who is actually a socialist for a change, and not a wannabe Stalinist. 03:58 < eudoxia> a communist terrorist who bombed civilians and triggered a twelve year dictatorship 03:58 < eudoxia> still better than the other two candidates: the son of the dictator, and a former president who embezzled money from the treasury 03:58 < eleitl> hmm 03:59 < strangewarp> Yeah, I do not like his history at all, but as a leader he seems to have done decently. 03:59 < eudoxia> he's decent 04:00 < eudoxia> not as good as our last president but at least he hasn't turned this into a People's Republic or anything 04:00 * strangewarp nods 04:00 < eudoxia> frankly what bothers me the most is his relationship with Chavez 04:01 < eudoxia> i always hear americans saying the media portrays him in a bad light, they don't: guy's a fucking lunatic 04:01 < strangewarp> Yeah, Chavez is ideological poison :/ 04:01 < eudoxia> and this country shouldn't support the guy's delusions, christ he should have his blood replaced with Risperidone 04:04 < strangewarp> Hmmm. My productivity script has decided that today is orange. Got to log some worktime on that color in a while.. 04:05 < eudoxia> and how does this script make that decision? 04:05 < strangewarp> md5 hash of the date, truncated to its first 6 digits and expressed as an HTML color code, basically 04:05 < eleitl> what is the intent of that? 04:06 < eudoxia> i thought it looked at your productivity in previous days and told you it's time to catch up 04:06 < eudoxia> but i guess that's cool too 04:06 < strangewarp> one of several small implicit nudges, basically. 04:06 < strangewarp> eudoxia: For that purpose, I cameup with a bit of algebra that generates a score like a baseball pitcher's ERA, for the amount of work performed in the past week and month. 04:07 < eleitl> I wonder whether it's not too late to do something about that ADHD I suppose I have 04:07 < strangewarp> I might download and learn Node.js, and rewrite the script in node/passport/jquery/bootstrap, so that other people can use it too... hmmm 04:08 < eleitl> how much synergy is there between Node.js server-side and client-side? 04:08 < strangewarp> My webhost is kind of outdated and I don't have admin panel access, so I had to write the first version in PHP 4.4. Which.. lol 04:08 < strangewarp> eleitl: I am so not in a position to even begin to be able to answer that :p 04:08 < eleitl> JavaScript is supposed to be a reasonable language. 04:08 < eudoxia> lol php 04:08 < strangewarp> yeah 04:08 < strangewarp> X) 04:09 < eleitl> Not Lisp-grade reasonable, but, on the other hand, don't look a gift horse on the dentures too hard. 04:09 < eudoxia> i wish lisp was statically typed and had pointers 04:09 < eudoxia> there i said it 04:09 < eleitl> ;) 04:09 < eudoxia> i think c++ gave me stockholm syndrome 04:10 < strangewarp> Oh fine, I might as well link the publically viewable face of my productivity log, so everyone here can see how much I slack 04:10 < eleitl> I wish people would build really minimalistic Forth hardware 04:10 < strangewarp> http://breck.us/prod/index.php 04:10 < eleitl> If I had that, I'd be too afraid to look at it 04:11 < eleitl> it's too bad Chuck Moore only builds toys 04:11 < eudoxia> oh you improved your site 04:11 < strangewarp> Eh, it doesn't keep a concrete tally of points, so even if I slack shamefully for like a week, it would eventually fade into the past 04:11 < strangewarp> eudoxia: shhh I'm trying not to hype myself up until my music setup is finished ;) 04:11 < eleitl> http://www.greenarraychips.com/ <-- this needs to be slightly fatter, and done wafer-scale 04:12 < eleitl> I hope my Parallella kit gets shipped soon. 04:13 < eleitl> I *tnink* I can do something useful with that, but I'm not sure yet 04:13 < eleitl> 32 k is enough to encode some minimal neurons 04:15 < eleitl> everyone seen the Epiphany specs and roadmap, right? 04:16 < eudoxia> kirka was telling me about it the other day 04:17 < eudoxia> he wants to do MD with FPGAs 04:17 < eleitl> there is a very good dedicated MD machine already 04:18 < eleitl> a way to do really fast MD would be doing discrete representation in 3d voxels 04:18 < chris_99> MD? 04:18 < eleitl> a digital physics approach to MD 04:18 < eudoxia> molecular dynamics 04:18 < chris_99> aha 04:18 < eleitl> e.g. imagine ~100 pm voxels, with 8 bit coordinates for the particle, some bits for type, and for state 04:19 < eudoxia> you mean 8 bits for each axis? 04:19 < chris_99> that'd be fun to implement in VHDL 04:19 < eleitl> yeah, that would be enough resolution, if you use relative coordinates 04:19 < eleitl> all computation is local, using next-neighbor information 04:19 < eleitl> it's basically a CA, only with a rich state 04:20 < eudoxia> hm 04:20 < eleitl> you would start with a hard sphere potential, and just do collision with energy conservation 04:20 < eudoxia> or they could have no coordinates and just pointers to their neighbours in a graph 04:21 < eudoxia> actually that would occupy more space 04:21 < eleitl> then go van der Waals, add multibody, then covalents and electrostatics, and off you go 04:21 < eudoxia> 8 * 3 < (32 | 64) * 6 04:21 < eleitl> there are no pointers, we're computing at the speed of light 04:21 < eleitl> if your steps are fs or ps, and you want to reach ms scale, you better be quick 04:21 < eudoxia> certainly 04:22 < eleitl> you will probably have to do wafer stacking with TSV 04:22 < eleitl> the cells would be tiny 04:23 < eleitl> just few 100 um at best 04:23 < eleitl> or you use power of two sized voxelboxes, and slice that over a wafer surface, but there paths will be a bit long 04:24 < eleitl> even with cut-through communication the delay will be there 04:24 < eleitl> you already see it in the Epiphany, each hop adds latency 04:26 < eleitl> http://www.adapteva.com/white-papers/building-the-worlds-first-parallella-beowulf-cluster/ 04:26 < eleitl> heh, they beat me to it 04:26 < chris_99> wouldn't a GPU be better to do neural nets than the Parallela 04:27 < eleitl> no, because the cores have giant memory bandwidth to the local memory 04:27 < eleitl> GPU looks great on paper, but as soon as you start doing real work on it it tarnishes a bit 04:28 < chris_99> don't they each have their own cache? 04:28 < eleitl> in principle you want to do spiking stuff with packets on the mesh 04:28 < eleitl> nope, no cache, nor need for one 04:28 < chris_99> ah 04:28 < eleitl> I'm talking about the SHARC-like cores, not the ARM ones 04:28 < eleitl> the ARM ones are just slaves 04:29 < eleitl> it's too bad their structure size is still 65 nm, or so, and they only have 16 cores. 04:29 < eleitl> 64 cores and larger embedded memory, and smaller process would make them scream quite a bit 04:29 < chris_99> mm, yeah 04:29 < chris_99> how much are they too? 04:29 < chris_99> as you could always buy a load maybe 04:29 < eleitl> even so, I consider these a test 04:29 < eleitl> 99 USD/board 04:30 < chris_99> aha not terribly cheap then 04:30 < eleitl> I think the 64 core will be maybe 150 USD 04:30 < eleitl> well, it's a complete computer with Ethernet and Ubuntu 04:30 < eleitl> you only need a switch 04:30 < chris_99> yeah it does sound really cool though, just too expensive to buy a tonne of them though maybe 04:31 < eleitl> I think the energy efficiency of these is 8x of the latest Blue Gene 04:31 < chris_99> so would all 16 cores show up in 'top'? 04:31 < eleitl> the boards you see are the old ones, the new ones will be credit card sized 04:32 < eleitl> not sure, these are not SMP cores, so they probably won't show up in Linux directly 04:32 < eleitl> they're like dedicated DSP cores 04:32 < chris_99> aha 04:33 < eleitl> you can use them with OpenCL 04:33 < eleitl> and MPI 04:39 < eleitl> https://s3.amazonaws.com/ksr/assets/000/176/726/b1b37020789ddc9dadadc089d42610f5_large.jpg?1348545920 04:39 < eleitl> the chip is not large 04:48 -!- eudoxia [~eudoxia@r190-134-19-19.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 04:58 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 04:59 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 05:03 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 05:07 < eleitl> whoops, BTC is at 18 now 05:07 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has quit [Client Quit] 05:07 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 05:08 < eleitl> not good news for the South Sea Bubble project 05:11 < eleitl> on the other hand, this finally forces me to buy some BitCoin 05:11 -!- Humean [~quassel@unaffiliated/humean] has quit [Read error: Connection reset by peer] 05:17 < barriers> buying high? 05:17 < eleitl> no, buying low 05:17 < eleitl> but of course lower would have been even better 05:17 < barriers> 18 is low for bitcoin now? 05:18 < barriers> middle of the year it was at 11 05:18 < eleitl> if you can make the news, yes 05:41 -!- joehot [~not@bas5-kingston08-2925406539.dsl.bell.ca] has quit [Ping timeout: 256 seconds] 05:41 -!- joehot [~not@bas5-kingston08-3096530329.dsl.bell.ca] has joined ##hplusroadmap 06:03 < eleitl> paperbot: http://www.nature.com/nature/journal/v493/n7433/full/nature11721.html 06:04 < paperbot> http://diyhpl.us/~bryan/papers2/paperbot/Laser%20cooling%20of%20a%20semiconductor%20by%2040%20kelvin.pdf 06:04 < eleitl> very nice 06:07 -!- yorick [~yorick@ip51cd0513.speed.planet.nl] has joined ##hplusroadmap 06:07 -!- yorick [~yorick@ip51cd0513.speed.planet.nl] has quit [Changing host] 06:07 -!- yorick [~yorick@oftn/member/yorick] has joined ##hplusroadmap 06:28 -!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has quit [Ping timeout: 244 seconds] 06:28 -!- chrisian [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has joined ##hplusroadmap 06:28 -!- chrisian is now known as strangewarp 06:52 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 06:53 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 07:24 -!- Viper168_ [~Viper@unaffiliated/viper168] has quit [Ping timeout: 264 seconds] 07:24 -!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has joined ##hplusroadmap 07:36 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has quit [Quit: lunchtime] 07:41 -!- OldCoder_ [~OldCoder_@wsip-68-105-243-2.sd.sd.cox.net] has quit [Remote host closed the connection] 08:10 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] 08:11 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 08:16 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has joined ##hplusroadmap 08:21 <@kanzure> eleitl: there's a bit of synergy between nodejs server/client.. in particular look at browserify, https://github.com/substack/browserify 08:24 < eudoxia> good morning kanz 08:24 < eudoxia> out of curiosity, why is gnusha called that? 08:24 < eudoxia> what does it mean? 08:26 <@kanzure> it's a play on ganesha and gnu 08:26 <@kanzure> win 88 08:26 <@kanzure> oops 08:28 <@kanzure> paperbot: http://www.jneurosci.org/content/20/5/1675.long 08:28 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/%20Subunits%20Modulate%20Alternatively%20Spliced%2C%20Large%20Conductance%2C%20Calcium-Activated%20Potassium%20Channels%20of%20Avian%20Hair%20Cells.pdf 08:32 <@kanzure> paperbot: http://publications.arl.org/3450vu.pdf 08:32 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/45dfd228f596c74b90981629e8ef6766.pdf 08:32 <@kanzure> "The authors note that licenses need to allow libraries to: make new uses of the licensed content, share information with peers about licensing terms, and rest assured that licensed content will be available in the future." 08:34 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 08:35 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 08:36 <@kanzure> To an outside observer it might be surprising to see that more than a decade into electronic 08:36 <@kanzure> journal licensing, historic subscription expenditure remains by far the dominant model for 08:36 <@kanzure> determining library pricing. 08:37 <@kanzure> For most of the 375 contracts for which pricing model was 08:37 <@kanzure> reported, libraries’ prices are determined by their historic print subscriptions (now dating 08:37 <@kanzure> back to the 1990s in many cases), plus inflation increments applied annually during the 08:37 <@kanzure> intervening years. For the four largest publishers, 82% of contracts are priced in this way. 08:40 <@kanzure> "The responses included information on publishers that allow sending printed 08:40 <@kanzure> articles (58% to 79%), allow the transmission of electronic articles (39% to 73%), and allow 08:40 <@kanzure> international interlibrary loan (11% to 36%). A small number of libraries indicated that the 08:40 <@kanzure> contract was silent on ILL. The challenge for future contracts is to make sure that 08:40 <@kanzure> any licenses being signed do not abridge a library’s ability to share materials." 09:05 <@kanzure> http://www.amazon.de/Biohacking-Gentechnik-Garage-Hanno-Charisius/dp/3446435026 09:06 -!- yorick [~yorick@oftn/member/yorick] has quit [Remote host closed the connection] 09:06 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=0a917d2b Bryan Bishop: add wired.com article about the biocurious 3d printer 09:06 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=7c6e3d42 Bryan Bishop: add bbc article about sascha karberg 09:15 < eleitl> would you donate to libgen if they did accept btc? 09:16 <@kanzure> no. i'm not convinced their distribution strategy is good. nobody seeds it. 09:17 < eleitl> I think we need a local copy. 09:17 <@kanzure> yes 09:17 < eleitl> Do you think you can rustle up 10 TByte online storage? 09:18 <@kanzure> jrayhawk: do you have anything laying around? 09:19 <@kanzure> the only place i know where i can reliably get that much storage is s3, and transferring terabytes out of s3 is not cheap. 09:19 < eleitl> check pm, kanzure 09:19 < eleitl> http://www.hetzner.de/en/hosting/produkte_rootserver/xs13 but not cheap 09:20 <@kanzure> well i need about 50 TB for another project i'm doing 09:20 < eleitl> http://www.hetzner.de/en/hosting/produkte_rootserver/xs29 <-- even less cheap 09:20 <@kanzure> "Backup Space100 GB" 09:21 <@kanzure> oh i see now "7 x 3 TB SATA" 09:21 < eleitl> or 15 x 3 09:23 < eleitl> moar pm 09:40 -!- panax [panax@131.247.116.2] has quit [Read error: Connection reset by peer] 09:43 -!- panax [~panax@68.200.160.182] has joined ##hplusroadmap 09:53 -!- qu-bit_ [~shroedngr@gateway/tor-sasl/barriers] has joined ##hplusroadmap 09:55 -!- qu-bit [~shroedngr@gateway/tor-sasl/barriers] has quit [Ping timeout: 276 seconds] 09:55 < eleitl> running home, cul8r 09:57 -!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has quit [Quit: leaving] 10:37 -!- archbox_ [~archbox@unaffiliated/archbox] has quit [Quit: bye] 11:03 -!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 11:06 -!- augur_ [~augur@208.58.5.87] has quit [Remote host closed the connection] 11:11 <@kanzure> https://www.google.com/search?num=100&hl=en&safe=off&tbo=d&q="4000..50000+Total"+"longest+streak"+site%3Agithub.com 11:11 <@kanzure> https://www.google.com/search?num=100&hl=en&q="100..50000+days"+"longest+streak"+site%3Agithub.com 11:28 -!- _sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has quit [Ping timeout: 248 seconds] 11:29 -!- _Sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has joined ##hplusroadmap 11:32 -!- EnLilaSko- [~Nattzor@host-85-30-145-65.sydskane.nu] has joined ##hplusroadmap 11:32 -!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has quit [Ping timeout: 255 seconds] 11:45 -!- ParahSailin [~eg@unaffiliated/parahsailin] has joined ##hplusroadmap 11:47 < ParahSailin> cool, got a copy of one of the quotes we got from a sequencer in korea-- 2.7k per HiSeq2000 lane (paired end 2x100nt) 11:48 <@kanzure> per run? 11:48 < ParahSailin> per lane on a run 11:49 < ParahSailin> that will be ~300 million PE reads, so 60 Gb sequence data expected 11:50 < ParahSailin> this is if you fedex the sequencer prepared libraries 11:51 <@kanzure> we should organize a ##hplusroadmap run at some point 11:52 < ParahSailin> what would you want to sequence? 11:52 <@kanzure> not sure yet. 11:52 <@kanzure> probably each other 11:52 <@kanzure> maybe some shit i dig up from the dirt? i'm open to ideas. 11:55 < ParahSailin> so i got confirmation from the CFO that EG is going to try to launch 23andme for pets this year 11:55 < ParahSailin> with cheaper-than-microarray allele genotyping 11:55 <@kanzure> yeah i've been curious about pedigree stuff.. surely they want genetic confirmation, or even genetic work done on their dogs prior to embryo implantation 11:56 < ParahSailin> pets, because they dont have google-wife's deep pockets to handle liabilities of doing human stuff 11:56 <@kanzure> are there even that many allele studies for various pets in the first place? 11:56 < ParahSailin> we've been working a lot with bovine genotyping 11:57 < ParahSailin> those are probably the real market 11:57 -!- augur [~augur@129-2-129-32.wireless.umd.edu] has joined ##hplusroadmap 11:57 <@kanzure> selling a bull should involve his genotype, definitely 11:58 < ParahSailin> well on a million dollar stud, people can typically afford whatever the most expensive genotyping is 11:58 < ParahSailin> but cheap allele testing would allow an entire herd to be done 11:59 <@kanzure> is that how much a stud goes for 11:59 <@kanzure> i am a terrible texan 12:00 < ParahSailin> the tube of semen goes for at least 100 12:00 < ParahSailin> and a stud has huge testicles full of it 12:00 <@kanzure> 100k? 12:01 < ParahSailin> no, pretty sure just 100 12:01 <@kanzure> well that's weird. why is it so much less than taking the animal? 12:02 < ParahSailin> http://www.championgenetics.com/bulls.htm 12:03 <@kanzure> what sort of price range will EG likely be doing? same as 23andme? 12:03 < ParahSailin> it could be as low as 5 dollars for 100 loci genotyped, maybe even 500 12:04 < ParahSailin> its fewer than microarray can do for sure... 12:05 <@kanzure> will you also be doing tests for canine owners? 12:06 <@kanzure> paperbot: http://dx.doi.org/10.1038/nature11837 12:06 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/8b85d69ac1c405d30e7486d9c49936d1.txt 12:06 <@kanzure> paperbot: http://www.nature.com/nature/journal/vaop/ncurrent/full/nature11837.html 12:06 < paperbot> http://diyhpl.us/~bryan/papers2/paperbot/The%20genomic%20signature%20of%20dog%20domestication%20reveals%20adaptation%20to%20a%20starch-rich%20diet.pdf 12:06 < ParahSailin> yeah dogs will probably be one of the direct to consumer things 12:07 -!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has joined ##hplusroadmap 12:09 <@kanzure> hmm i don't think there's a snpedia for doggy alleles yet 12:10 -!- sylph_mako [~mako@103-9-42-1.flip.co.nz] has joined ##hplusroadmap 12:36 -!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has quit [Ping timeout: 276 seconds] 12:36 -!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has joined ##hplusroadmap 12:38 < archels> kanzure: I see what you did there. 12:38 <@kanzure> hm? 12:38 < archels> You're a teapot. 12:39 <@kanzure> it's a stupid feature for them to impose on their users anyway 12:39 < archels> it does seem pretty useless. 12:41 < sheena1> teapots? 12:41 < ParahSailin> truseq (illumina's library prep) is 2.6k for 48 rxns 12:43 -!- phm [~anon@host-2-98-178-132.as13285.net] has joined ##hplusroadmap 12:45 < ParahSailin> if hplusroadmap were to do a hiseq (or iontorrent) run, i'd say probably outsource the library work and the sequencing 12:46 < ParahSailin> because unless you're going to be doing multiple runs of sequence, it's not worth doing a bunch of failed runs to get good technique 12:48 < ParahSailin> Axeq probably would do the library work for an additional couple hundred 12:49 < ParahSailin> I'm not sure how much UCDavis charges for a hiseq run, probably about the same 12:51 < ParahSailin> ah http://dnatech.genomecenter.ucdavis.edu/prices.html 12:55 -!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has quit [Quit: Leaving] 13:04 -!- EnLilaSko- is now known as EnLilaSko 13:04 -!- EnLilaSko [~Nattzor@host-85-30-145-65.sydskane.nu] has quit [Changing host] 13:04 -!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has joined ##hplusroadmap 13:04 <@kanzure> archels: "The next OpenWorm office hours will be happening January 30th at 17:30 GMT." 13:05 <@kanzure> i assume this will be in #openworm-office 13:06 -!- yorick [~yorick@oftn/member/yorick] has joined ##hplusroadmap 13:07 < nmz787> kanzure: so you mentioned being able to find me fundin for the synthesizer? 13:07 < nmz787> kanzure: i am a horrible student 13:07 <@kanzure> i'm still willing to buy parts for the laser cutter 13:08 <@kanzure> did they reject your application? 13:08 < nmz787> kanzure: I should have started working on that spectrometer crap last week, so I could have used it to write a lab report... which I ended up not doing because i didn't want to hand calculate the data 13:08 <@kanzure> lethargy is the primary motivator of all good programmers 13:08 < nmz787> kanzure: no, but even though school stimulates me to do shit, it usually only happens the day something is due.... so I get really stressed and then most projects end up turned in late 13:09 <@kanzure> pfft, don't talk to me about that, i dropped out because i hated that, remember? 13:09 < nmz787> yes i am a programmer because I am 'lazy' 13:09 < nmz787> though I probably would have only spent 10 minutes calculating the shit by hand 13:09 < nmz787> now I can do it in 10 seconds 13:09 <@kanzure> programming is a super power 13:10 < nmz787> i really like the idea of more learning, and PhD setting sounds like it might be nice, but if I'm such a stressed student... I wonder if PhD will be totally chill, or just as stressful as undergrad 13:11 <@kanzure> based on the people i knew in molecular biology phd programs, their lives were miserable 13:12 <@kanzure> uk phd programs tend to be stressless, i hear 13:12 < nmz787> well i don't want to do molbio 13:12 < nmz787> just chem 13:12 <@kanzure> i haven't heard too many insider reports from chemistry phd students 13:13 < nmz787> hmm 13:14 < phm> Lethargy? DId you mean laziness? Not that it matters. 13:14 -!- seba- [~hel1@cpe-90-157-233-7.static.amis.net] has joined ##hplusroadmap 13:14 < seba-> what is here 13:14 < seba-> lol 13:15 < nmz787> "Formal program requirements are few, with specific coursework tailored to each student's area of specialization. All graduate students in the Department of Chemistry complete a one-term course in seminar preparation" 13:15 -!- lolcat [~john@unaffiliated/energy-/x-7653247] has joined ##hplusroadmap 13:15 < lolcat> Hello 13:15 <@kanzure> hi lolcat 13:15 < chris_99> so in the US, you have lectures while doing a PhD? 13:16 <@kanzure> chris_99: not only that, but there is an extremely hostile working environment 13:16 <@kanzure> you know how dilbert is terribly accurate for corporate lif? 13:16 <@kanzure> *life 13:16 <@kanzure> phdcomics is terribly accurate for phd life. 13:16 < nmz787> so i guess that sounds OK... but if you think you can really get me grant funding other ways... 13:16 < seba-> wbat 13:16 < seba-> wbaa 13:16 < chris_99> heh, kanzure 13:16 < seba-> w 13:16 < seba-> oops cat 13:16 < seba-> lol 13:16 <@kanzure> nmz787: no, not grants. 13:16 < seba-> what is it about the phd, i'm not doing it, but i'm interested why you've asked 13:17 < seba-> on chemistry 13:17 <@kanzure> lolcat: are you doing a phd in chemistry? 13:17 < lolcat> No... 13:18 < lolcat> Or not yet 13:18 < nmz787> seba-: because I applied to it, but school stresses me out 13:19 < nmz787> I think it's some maladapted mental framework that I developed as a child when my first grade teacher scolded me for finishing my work faster than the other children 13:19 < chris_99> nmz787, i'm doing a PhD in the UK and found it lest stressful than a masters, but it's different here as we don't have lectures/coursework for the PhD 13:19 < nmz787> chris_99: I don't want to move though 13:19 < lolcat> chris_99: Are you in Norway? 13:19 < chris_99> no, i'm in the UK 13:20 < lolcat> oh, I know a chris doing a phd from britain in Norway 13:20 < chris_99> aha 13:22 <@kanzure> it's not the lectures that are stressful 13:23 < nmz787> yeah for me it's more just homework 13:23 < nmz787> i don't like talking/outputting when I'm not comfortable 13:23 -!- phm [~anon@host-2-98-178-132.as13285.net] has quit [Quit: Leaving] 13:23 < seba-> :> 13:24 < nmz787> and I always have so many things I'm researching on my own that outputting non-novel stuff just doesn't make it to the top of my priority list... even though I'm aware that I'm paying for school and essentially wasting money 13:26 <@kanzure> nmz787: you should definitely meet some phd students before you agree to anything 13:26 <@kanzure> most advisors have other students working for them.. go meet them. 13:34 <@kanzure> science liberation front stuff in #aaronsw 13:36 -!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 13:42 -!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has quit [Read error: Connection reset by peer] 13:43 -!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has joined ##hplusroadmap 13:44 < nmz787> well looks like i got a 1 hour/week teaching volunteer gig 13:44 < nmz787> don't need a PhD to teach 8 year olds! 13:45 <@kanzure> teach them to run gels 13:45 <@kanzure> and then put them to work 13:47 < nmz787> :) 13:47 < nmz787> yeah I don't even have a gel box 13:48 < ParahSailin> you can make one out of wood 13:52 -!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] 14:08 -!- wrldpc [~wrldpc@203.105.94.33] has quit [Quit: wrldpc] 14:10 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] 14:28 <@kanzure> paperbot: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3057417/ 14:28 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/f26f1bded767dc7960a75099f7aab271.txt 14:28 <@kanzure> paperbot: http://www.hindawi.com/journals/jna/2012/371379/ 14:28 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/250b548d1a94fb02d2e62d743574b1bd.txt 14:28 <@kanzure> paperbot: http://www.biomedcentral.com/1472-6750/9/6 14:28 < paperbot> HTTP 404 http://www.biomedcentral.com/bmcbiotechnol/content/pdf/1472-6750-9-6.pdf 14:29 <@kanzure> well that was pointless 14:31 -!- yoleaux [~yoleaux@obquire.infologie.co] has quit [Remote host closed the connection] 14:33 -!- yoleaux [~yoleaux@obquire.infologie.co] has joined ##hplusroadmap 14:43 -!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has quit [Quit: - nbs-irc 2.39 - www.nbs-irc.net -] 14:50 -!- monoprotic [~monoproti@unaffiliated/monoprotic] has joined ##hplusroadmap 14:50 -!- monoprotic [~monoproti@unaffiliated/monoprotic] has left ##hplusroadmap [] 14:51 < Guest40461> wtf is paperbot 14:53 <@kanzure> it fetches papers 14:53 <@kanzure> example, http://www.nature.com/nmat/journal/v11/n9/full/nmat3357.html 14:54 <@kanzure> http://www.nature.com/nmat/journal/v11/n9/full/nmat3357.html 14:54 < paperbot> http://diyhpl.us/~bryan/papers2/paperbot/Rapid%20casting%20of%20patterned%20vascular%20networks%20for%20perfusable%20engineered%20three-dimensional%20tissues.pdf 15:08 < nmz787> kanzure: have you seen anything on using private torrent trackers with unlimited bandwidth seedboxes for doing webhosting (or i.e. S3) 15:08 < nmz787> can you download torrents in javascript? 15:10 < nmz787> like if I had a bunch of images on the seedbox with respective torrents, and simply sent the client the torrents on pageLoad, then the client downloads the images via torrent, not http, to populate the webpage 15:10 < nmz787> since seedboxes are pretty cheap IF they disallow public trackers 15:13 < ParahSailin> paperbot is the avatar of aaronsw 15:16 <@kanzure> the problem with javascript or a browser for torrenting is that it would have to be rebooted frequently because browsers suck 15:16 <@kanzure> anyway, yes there are private trackers if that's what you're asking. 15:17 <@kanzure> oh you want to serve a webpage via torrents in javascript? 15:18 -!- Guest40461 is now known as jpratt2 15:18 <@kanzure> well, you would have to do it with websockets i guess, and then you would need to implement a server that would do the actual torrenting and pass the data back over websockets 15:19 <@kanzure> naturally, this kills the advantages of torrenting in the first place 15:19 -!- jpratt2 is now known as wraithansmom 15:20 <@kanzure> iirc torque works by using an extension in your browser 15:20 <@kanzure> so if you're willing to install an extension, then yes you can serve a page by torrenting 15:20 <@kanzure> http://torque.bittorrent.com/oneclick/ 15:21 <@kanzure> https://github.com/bittorrenttorque/btapp 15:23 -!- wraithansmom is now known as guest43256 15:23 <@kanzure> "When calling connect for the first time, the user will be prompted to install the browser plugin. The browser plugin is responsible for making sure that the underlying torrent client is running when needed." 15:23 <@kanzure> http://btappjs.com/torrent-clients.html 15:25 -!- yorick [~yorick@oftn/member/yorick] has quit [Remote host closed the connection] 15:25 -!- damselfly9 [~damslfly@c-24-60-136-110.hsd1.nh.comcast.net] has joined ##hplusroadmap 15:25 <@kanzure> damselfly9: hello 15:26 < damselfly9> hello. I was just seeing what this channel is all about 15:26 < damselfly9> sometimes the official descriptions are meaningless 15:27 <@kanzure> the /topic is accurate 15:27 < damselfly9> so you talk about biohacking here? 15:27 <@kanzure> yes? 15:28 < damselfly9> what is biohacking? 15:28 <@kanzure> http://diyhpl.us/wiki/diybio/faq 15:29 <@kanzure> it's just regular biology 15:30 < damselfly9> ok 15:31 < damselfly9> do you have much biology background? 15:31 <@kanzure> i know my way around a lab, if that's what you're wondering 15:32 < sheena1> i just hang out for kicks :) 15:32 < damselfly9> I do have one specific question. What magnification of microscope is required for seeing a human cell nucleus in reasonable detail? 15:32 <@kanzure> for "detail" you probably want to do staining and fluorescence microscopy 15:32 < sheena1> it depends on the cell? 15:33 < damselfly9> say, for example, a buccal smear 15:34 <@kanzure> also, magniciation isn't exactly what you should be optimizing for 15:34 < sheena1> def agree on the staining, not sure what sort of detail you're looking for, squamous cells are pretty big 15:34 <@kanzure> *magnification 15:35 < damselfly9> I mean, if I were going out to purchase a microscope for the primary purpose of a buccal swab, how much magnification do I need to buy? 15:35 < sheena1> http://www.austincc.edu/histologyhelp/tissues/ta_sim_sq_e_iso.html the bottom image here is at 400x (usually your 40x lens on a microscope) 15:35 < sheena1> but those cells are also stained 15:36 <@kanzure> when buying a microscope you should focus on NA or NV 15:37 <@kanzure> oops i mean just NA 15:37 < damselfly9> that website gave me an error message when I tried to d/l the bottom umage 15:37 <@kanzure> http://micro.sci-toys.com/NA 15:38 < damselfly9> I'm pretty sure I need more than a toy. The results would need to be unquestionable and hopefully convincing 15:38 <@kanzure> sci-toys has lots of information, not just toys 15:39 <@kanzure> https://groups.google.com/forum/?fromgroups=#!topic/diybio/R-M51HlD2W8 15:39 <@kanzure> https://groups.google.com/forum/?fromgroups=#!topic/diybio/e83G-rB0WXg 15:39 <@kanzure> https://groups.google.com/forum/?fromgroups=#!topic/diybio/RmwnFQc5NHo 15:39 <@kanzure> https://groups.google.com/forum/?fromgroups=#!topic/diybio/ikdnw295XYI 15:40 <@kanzure> https://groups.google.com/forum/?fromgroups=#!msg/diybio/KVuAg40yO-c/U3J-c3tk-OMJ 15:40 < sheena1> we (vet, not human medicine stuff) had microscopes with 4, 10, 40 and 100 power. that gives you actual powers of 40, 100, 400 and 1000. The 400 is what we used most often for cells, 1000 requires immersion oil to get a decent view. the staining makes a huge difference, too. 15:40 <@kanzure> https://groups.google.com/forum/?fromgroups=#!topic/diybio/ZR5DpccpDu4 15:40 < damselfly9> Is 400x enough to image the average human cell, not just the squamous cells? 15:41 < sheena1> yeah, depending what you're looking for 15:41 < damselfly9> I was thinking of a second-hand Bausch and Lomb lab model 15:42 <@kanzure> when in doubt, buy an electron microscope http://www.ebay.com/itm/Hitachi-S-5500-scanning-electron-microscope-/170934170264 15:42 < damselfly9> I'm intending to focus on the cell nucleii 15:43 < damselfly9> Electron microscopes are out of my budget. A 70's or 80's vintage optical B+L is the best I can afford 15:44 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=eb249204 Bryan Bishop: add more microscopy links to the faq 15:46 < damselfly9> if it works out, the next purchase will a camera attachment so I can record evidence 15:47 < sheena1> http://www.cengage.com/custom/static_content/OLC/1111071020/OwensAnatomy_Lab1Microscope.swf this has a good sampling of various cells under the various standard powers of a light microscope 15:47 < sheena1> one of my instructors got decent shots by just putting her regular digicam lens up to the ocular 15:48 <@kanzure> there are lots of 3d printable parts on thingiverse for attaching cameras to microscopes like that 15:48 <@kanzure> but most of the time you just have to measure it yourself (gasp) 15:49 < chris_99> anyone seen / used these http://www.marzhauser.com/en/products/micromanipulators/manual-micromanipulators/mm33.html ? 15:49 < damselfly9> what kind of file type is .swf? My browser wouldn't open it directly 15:50 <@kanzure> flash 15:50 < damselfly9> oh 15:50 < damselfly9> one of those pkugins that always crashes my computer 15:51 <@kanzure> yeah that's the one 15:52 < damselfly9> if I purchase a binocular microscope, can I attach the camera to one eye piece while using the other for viewing? 15:52 < sheena1> sorry for the stupid flash. chrome handled it fine 15:52 < chris_99> you could but the quality probably wouldn't be great 15:52 < sheena1> thats what my instructor did, exactly 15:52 < sheena1> you're wanting video tho, not stills? 15:52 < damselfly9> stills is fine 15:53 <@kanzure> red blood cells at 100x and 400x http://www.youtube.com/watch?v=hrSu5pBxqfc 15:53 < damselfly9> I suppose the cells won't be going anywhere 15:53 <@kanzure> red blood cells 1000x http://www.youtube.com/watch?v=9va0KPrVExs (blood cells are tiiiny) 15:53 -!- augur [~augur@129-2-129-32.wireless.umd.edu] has quit [Remote host closed the connection] 15:54 < damselfly9> I was primarily interested in good shots of nucleii, rbc's don't have those 15:54 <@kanzure> human cheek cells at 40x, 100x and 400x http://www.youtube.com/watch?v=FgNbTkol6Lk 15:54 < damselfly9> hmm 15:54 <@kanzure> nmz787: how much do stains cost? i never looked. 15:55 < damselfly9> the stain I need, methylene blue, seems realtively cheap at better pet stores 15:56 <@kanzure> iirc antibody stains end up costing an arm and a leg :/ 15:56 < damselfly9> I only need to do Barr body tests on a few people 15:59 < sheena1> antibody stains are different, eh? 16:00 <@kanzure> i'm just ranting about staining in general 16:00 < damselfly9> does it take much dexterity to stain cells once they are on the slide? 16:04 < damselfly9> I guess I'll be finding out 16:05 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=4947848a Bryan Bishop: cleanup whitespace 16:05 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=011ba5d4 Bryan Bishop: re-organize the microscopy section 16:05 < gnusha> https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=dd46801c Bryan Bishop: staining links from diybio 16:05 <@kanzure> damselfly9: or you can just watch a video http://www.youtube.com/watch?v=LnXslXMHeFs 16:06 < damselfly9> video or not, I'll still be finding out how difficult it is for me 16:07 < damselfly9> there is an unfortunate clumsiness factor 16:07 <@kanzure> you don't have to include clumsiness 16:07 < damselfly9> my own 16:08 <@kanzure> no i mean, you have correctly identified that biologists are crazy for thinking that is repeatable 16:08 <@kanzure> instead, i suggest those slides that have the wells built in 16:08 <@kanzure> then you can put a cover on without risking bubbles 16:08 < damselfly9> ahh, I see your point 16:08 < damselfly9> slides with wells onto my shopping list 16:09 <@kanzure> i assume that was the part that you were concerned about, and not the eyedropping 16:09 < damselfly9> yes 16:10 <@kanzure> i'm sure there's a way to make that suck less. the wells help but it's not a real solution. 16:11 < sheena1> we always just dipped ours 16:11 < damselfly9> all in all, this seems like a task almost beyond my skills, but the experiment(s) must be done 16:11 -!- eudoxia [~eudoxia@r186-53-133-179.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap 16:11 <@kanzure> dipped the slides or the covers? 16:11 <@kanzure> damselfly9: microscopy is beyond your skills? 16:11 < damselfly9> I have no lab experience beyond highschool biology labs 16:13 < sheena1> slides into the stains 16:13 < damselfly9> and I didn't get good grades on those 16:13 <@kanzure> huh? wouldn't that contaminate the stains? 16:13 < sheena1> damselfly9: i hope you can figure it out. lots of college level courses have lab course material online free.. 16:14 < sheena1> kanzure: yeah i suppose it would a bit.. we fixed, then stained. 16:14 < damselfly9> thanks sheena, I hope so too 16:14 < sheena1> i'm trying to remmebre what exactly we did for squamous. Mostly we were using DiffQuik for blood slides, not so many other cells 16:14 < sheena1> if i wasnt still between places, i'd dig out my lab book.. might have some on my compute,r hang on 16:16 <@kanzure> "To make a wet mount place a sample on the slide. Using an eyedropper put a drop of water on the sample. Place one end of the cover slip on the slide and slowly lower the other end using the end of a toothpick. This will help to prevent air bubbles from getting trapped under the cover slip. 16:16 <@kanzure> you know, i never called anyone out on that, but looking at it objectively, that's a terrible technique 16:17 < damselfly9> balancing the cover slip on a toothpick seems a bit not-easy 16:19 < damselfly9> I hop this doesn't turn into a frustrating ordeal 16:20 <@kanzure> welcome to boilogy.. frustration is the name of the game. but the trick to fixing it is to not tolerate bad things, and make them better instead. 16:21 < damselfly9> that sounds very encouraging 16:23 < damselfly9> at least until the transhumanism mentioned in the topic someday comes true 16:23 < sheena1> we never did many wet mounts 16:23 <@kanzure> paperbot: http://www.ingentaconnect.com/content/maney/his/2006/00000029/00000001/art00006?crawler=true 16:23 < paperbot> error: HTTP 500 http://diyhpl.us/~bryan/papers2/paperbot/988bed95457978a3dfb906075bdb5f05.txt 16:23 <@kanzure> "crawler=true" sounds evil 16:23 < sheena1> you can just fix the cells to the slide then you dont need the drops and cover slips 16:23 < damselfly9> that sounds easier sheena 16:24 < sheena1> its what we did for almost all our cell stuff. agian, mostly animal, but we did do some human stuff 16:24 < sheena1> but its all the same really 16:24 < sheena1> im still looking for notes. right. hang on 16:24 < damselfly9> yes, humans are animals 16:25 <@kanzure> paperbot: http://cshprotocols.cshlp.org/content/2006/3/pdb.prot4292.full 16:25 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/b18ca9cce9d18571cf391d1bd0cb54a7.txt 16:25 < damselfly9> once there is the pictures, maybe the slips (and the bubbles those cause) won't really matter 16:26 <@kanzure> i never did any fixing, but it looks like the heating method would damage your cells 16:27 -!- phm [~anon@host-78-149-106-41.as13285.net] has joined ##hplusroadmap 16:28 < damselfly9> the paperbot artcile linked here tells me I have to pay $20 16:28 -!- xx is now known as xx2 16:28 <@kanzure> yeah, paperbot doesn't have access at the moment, sorry about that 16:28 < sheena1> damn, i have all kinds of notes on COLLECTING samples, and hardly nothing on what we used to stain the etc 16:29 < damselfly9> that's ok sheena. methylene blue is cheap and I can keep reusing slides until I get it right 16:30 <@kanzure> hehe "machine for automatically attaching cover slips to microscope slides" http://www.google.com/patents/US6626224 16:31 < damselfly9> sounds like a good idea 16:34 < damselfly9> before I go, I did have a second specific question. when you are getting your blood drawn by a phlobotomist, does it usually look the color of chocolate syrup for everyone? 16:34 <@kanzure> show us an image. 16:35 < joehot> yes 16:35 < damselfly9> I don't have an image, just that's the color it's looked in the syringes everytime I get mine drawn 16:35 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has joined ##hplusroadmap 16:36 < damselfly9> when I was reading up on methylene blue, there was a mention of methohemoglobinemia and I was wondering if my own blood was that color or if it just looks that way in the syringes 16:38 < damselfly9> on the other hand, if it was abnormally colored, you'd think at leat one of the phebotomists would have noticed 16:38 <@kanzure> btw is it possible that you're color blind? 16:38 < indigenous> A bit late but for what it's worth veterinarians in practice use DiffQuik for nearly everything. But methylene blue gives better nucleur detail while the former gives better detail to the other organelles. 16:38 < damselfly9> no, the eye doctor who most recently tested me said my color vision was actually much better than normal 16:39 <@kanzure> "RESULTS: Color-blind subjects were significantly less able to identify correctly whether pictures of body fluids showed blood compared with non-color-blind controls (P =.001);" 16:39 <@kanzure> that was from http://www.ncbi.nlm.nih.gov/pubmed/11176773 16:39 < damselfly9> he even suggested unofficially of course the possibility of tetrachromacy 16:40 < damselfly9> but since that is a contraversial subject, no eye doctor would want to risk their rep by saying it in writing 16:41 < damselfly9> I see the color red very well, but in the syringes my blood doesn't look red so much as brown 16:44 -!- yashgaroth [~ffffff@cpe-66-27-118-94.san.res.rr.com] has joined ##hplusroadmap 16:44 < damselfly9> sorry for being controversial 16:45 < damselfly9> have a nice evening 16:45 <@kanzure> yashgaroth: "To make a wet mount place a sample on the slide. Using an eyedropper put a drop of water on the sample. Place one end of the cover slip on the slide and slowly lower the other end using the end of a toothpick. This will help to prevent air bubbles from getting trapped under the cover slip." 16:46 <@kanzure> yashgaroth: so, that's actually sort of annoying and not highly repeatable and it sucks 16:46 < yashgaroth> haha no just lay the top slide onto the bottom at an angle 16:46 < yashgaroth> fuck toothpicks 16:46 <@kanzure> not a top slide, a coverslip 16:46 < yashgaroth> anyway bubbles aren't really a concern unless you need to take pretty pictures or are too dumb to tell what's a bubble and what's a cell 16:46 < yashgaroth> same thing 16:46 <@kanzure> every time i did it i always just dropped the coverslip carefully and hoped it would work out in my favor 16:46 < damselfly9> pretty pictures will be required 16:47 -!- qu-bit [~shroedngr@gateway/tor-sasl/barriers] has joined ##hplusroadmap 16:47 < yashgaroth> oh no our precious sample of cheek scrapings will need to be retaken, damn these toothpicks 16:47 < yashgaroth> damselfly9, in that case find a section that doesn't have a big bubble in it and take a picture of that 16:47 <@kanzure> man, try saying that when you're doing slide washing duty for a lab with >50 people 16:48 < damselfly9> I don't mind retaking cheek scrapings, but there's only so many that can be taken at one time 16:48 <@kanzure> you go through slides pretty fast :p 16:48 -!- qu-bit_ [~shroedngr@gateway/tor-sasl/barriers] has quit [Ping timeout: 276 seconds] 16:48 < yashgaroth> look bubbles are the least of your concerns here 16:49 < damselfly9> there is other concerns? 16:49 < yashgaroth> not really 16:49 < yashgaroth> but bubbles are the least of them 16:49 < damselfly9> ok :) 16:49 <@kanzure> it's not always a big deal, but surely we could do better 16:50 <@kanzure> biology protocols have all sorts of weird problems 16:50 <@kanzure> and fixing them starts with the easiest ones 16:50 < yashgaroth> many can be solved through experience, but that's not always a cheap or fast solution 16:50 <@kanzure> "just do it a few thousand times until you get good at it" 16:50 <@kanzure> "i promise my super secret pcr reaction protocol works, you're just doing it wrong" 16:51 <@kanzure> -reaction (oops) 16:51 < damselfly9> All I need is good images of 10 or 20 nuclii tominimize chances of false negatives 16:51 < yashgaroth> so um are you doing this protocol? https://docs.google.com/viewer?a=v&q=cache:iVhzuIJ06vEJ:outreach.mcb.harvard.edu/teachers/Summer07/ErnestineStruzziero/BarrBody_lab.doc+&hl=en&gl=us&pid=bl&srcid=ADGEESgolkHG7g2d836OzD0n4rgbSZuo2-myp_tcP7725FgBfO8sm2uCjDbxZoTNteajOXLLfc91Lm7P1OjT1gnZ13uWXR_hDm0NmwJCOCBSsnqn-vr_8O105BhPtNikkAD1by01pGX6&sig=AHIEtbTDfcn43p35hEZckUwkb1hww7wbpw 16:52 <@kanzure> sigh google 16:52 <@kanzure> http://outreach.mcb.harvard.edu/teachers/Summer07/ErnestineStruzziero/BarrBody_lab.doc 16:52 < damselfly9> ues, more or less 16:52 < yashgaroth> hey I linked the quick look for a reason 16:52 < damselfly9> (yes) 16:52 <@kanzure> yashgaroth: ah, okay. 16:53 < yashgaroth> not necessarily a good reason considering how long that url was, but 16:53 < damselfly9> 20 cells would make the chance of false results 1 in a million 16:53 < sheena1> http://www.amazon.ca/Laboratory-Urinalysis-Hematology-Animal-Practitioner/dp/1893441105 this is the book i was thinking of, and i thought it had other cell stuff in it, but seems not. hmph 16:55 < damselfly9> thankyou for the answers, kanzure and sheena and yashgaroth 16:56 < damselfly9> I'll be sure to remember this channel 16:57 -!- damselfly9 [~damslfly@c-24-60-136-110.hsd1.nh.comcast.net] has left ##hplusroadmap ["no message"] 16:59 -!- panax [~panax@68.200.160.182] has quit [Ping timeout: 256 seconds] 17:00 -!- panax [panax@131.247.116.2] has joined ##hplusroadmap 17:03 -!- Viper168 [~Viper@unaffiliated/viper168] has joined ##hplusroadmap 17:04 <@kanzure> how about a slide that has a hole on the edge that you dump your sample into, then you rotate the slide when you want to look at it under a microscope. 17:04 <@kanzure> you could clean it by throwing it away (or maybe with a straw and vacuum/pressure) 17:04 <@kanzure> erm, i mean, the straw obviously wont be sterile 17:04 -!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Quit: Leaving] 17:05 < nmz787> helloo 17:05 < yashgaroth> well there's hemocytometers 17:06 < nmz787> what are you guys trying to figure out how to do? 17:06 < nmz787> better...? 17:06 <@kanzure> a hemocytometer looks like it just uses capillary action to move samples around? 17:06 <@kanzure> nmz787: a less sucky way to apply coverslips 17:07 < yashgaroth> to draw sample into the slide, yeah 17:07 < yashgaroth> plus you get to count the cells, repeatedly and mind-numbingly, for hours 17:07 <@kanzure> isn't that what a computer is for? 17:07 <@kanzure> maybe i'm just bad at biology 17:07 < yashgaroth> yes but those cost more than poor biology grads desperate for work 17:08 < yashgaroth> and are crappy at distinguishing live/dead cells, contamination, counts outside of normal range 17:09 < nmz787> yeah i'd say haemocytometer (or whatever the spelling is) 17:09 < nmz787> they sell disposale ones too 17:09 < nmz787> disposable 17:09 < nmz787> it really depends on the sample though 17:09 < nmz787> like free floating cells vs tissue sections 17:10 <@kanzure> "Coverslips for counting chambers are specially made and are thicker than those for conventional microscopy, since they must be heavy enough to overcome the surface tension of a drop of liquid. The coverslip is placed over the counting surface prior to putting on the cell suspension. The suspension is introduced into one of the V-shaped wells with a pasteur or other type of pipet. The area under the coverslip fills by capillary action. " 17:10 < yashgaroth> true, it's only good for suspension cells, i.e. blood like they're named for 17:10 <@kanzure> works for me 17:10 <@kanzure> well capillary action still works for chopped up tissue no? 17:10 <@kanzure> or are you talking about mm^2 samples of contiguous tissue 17:11 < yashgaroth> never tried, but I'd think even a cheek scraping would be a hassle 17:11 < nmz787> chromosomes have that chromo in the beginning because they soak certain stains pretty easily, but I'm not sure it works if the cell isn't dividing 17:11 < nmz787> those old ones (GIEMSA is one I think) are pretty cheap, but there are some that are like $400 for 100 microliters 17:12 < nmz787> depends what you want to do 17:12 < nmz787> also I saw something about chromatin precipitation, and the biggest diameters were like 300-400nm 17:12 <@kanzure> http://www.scbt.com/datasheet-203738-giemsa-stain.html 25 g for $237 17:12 < nmz787> so I imagine that the nucleus is 2-5 times that size 17:13 <@kanzure> yashgaroth: that's just because hemocytometers are all the same size (for red blood cells), or because cheek cells are too large to be moved by capillary action? 17:13 < nmz787> http://store.p212121.com/categories/Chemicals/Stains-and-Dyes/ 17:14 < yashgaroth> nah cheeks cells are normal size, but when you've got a bunch of mucus or extracellular matrix or w/e in there, it might mess with the flow 17:14 < yashgaroth> then again that's only a major problem when you want the equal distribution for cell counting 17:14 <@kanzure> ah sure, well you could just resuspend in water and mix or something :/ 17:14 <@kanzure> "mix with toothpick" or microcentrifuge tube 17:15 < yashgaroth> I should pick up a microscope, even though I never intend to use one for immediate projects 17:16 <@kanzure> it's a nice thing to have laying around 17:25 < sheena1> hemocytometers are evil. that is all. i must go now! 17:30 <@kanzure> they break? 17:31 < yashgaroth> nah 17:31 <@kanzure> they cost a lot? 17:31 < yashgaroth> my guess it that that was related to ":yashgaroth: plus you get to count the cells, repeatedly and mind-numbingly, for hours" 17:33 -!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has quit [Ping timeout: 248 seconds] 17:42 < nmz787> yashgaroth: or you just put a cam on it and write some blob detection software 17:42 < nmz787> i have some images we could use 17:43 < yashgaroth> sure, if it can differentiate white/red blood cells, and/or stained live/dead cells 17:43 < nmz787> paperbot: http://antiquity.ac.uk/ant/subscriptions/howtoaccess.htm?PageWanted=http://antiquity.ac.uk/Ant/076/0015/Ant0760015.pdf 17:43 < paperbot> no translator available, raw dump: http://diyhpl.us/~bryan/papers2/paperbot/40393e18fd6c3bd8c3386bf5c7dbca5d.txt 17:44 -!- ThomasEgi [~thomas@panda3d/ThomasEgi] has quit [Remote host closed the connection] 17:44 < nmz787> yashgaroth: alive/dead is easy with... trypan blue??... 17:44 < yashgaroth> that's the common one 17:44 < nmz787> ya 17:44 < nmz787> red white should be easy, since they're red right? 17:45 < nmz787> macrophage vs b cell is what you need for hybridoma righr? 17:45 < nmz787> when you grind up the spleen 17:45 -!- Viper168 [~Viper@unaffiliated/viper168] has quit [Ping timeout: 255 seconds] 17:45 < yashgaroth> I don't know what criteria they have for blood counts 17:45 < yashgaroth> also it's myelomas 17:46 < nmz787> yeah but you need B cells to merge with 17:46 < yashgaroth> sure, myelomic ones 17:46 < nmz787> the myeloma is from an un-immunized mouse i believe... or myeloma cell culture more likely 17:46 < yashgaroth> yes but you're not counting myelomas when you do a blood test 17:46 < nmz787> you need immunized B cells from a non-cancerous mouse 17:47 < yashgaroth> err, hybridomas 17:47 < nmz787> to merge them with 17:47 < yashgaroth> sure but you can't separate them with a hemocytometer 17:47 < nmz787> yeah i used haemocytometers to count diff white cells vs each other 17:47 < nmz787> no just calc concentration 17:48 < yashgaroth> oh yeah then sure 17:48 < nmz787> so you can have the right proportion of myelomas to Bs 17:48 < yashgaroth> I didn't think anyone really did hybridomas anymore, eschewing them for libraries 17:48 < yashgaroth> but it would be one application 17:50 < yashgaroth> for determining your markets for said diy cell counter, I'd think most of the market is in trypan blue staining for biotech, as I imagine most diagnostic blood counts are by hand what with the subtle nuances of white blood cells 17:52 < nmz787> yeah 17:52 < nmz787> that's easy and pro versions start at like $3k 17:52 < nmz787> the 'countess' 17:52 < yashgaroth> $200 microscope, cheap camera, free-ish software, cheap hardware 17:53 < nmz787> i think you could do it with a $50 microscope 17:54 < yashgaroth> true 18:01 < nmz787> kanzure: where should individual spectrometer profiles fit into the code 18:01 < nmz787> like, each spectrometer will have it's own method for getting data 18:01 < nmz787> the one i just used is via serial 18:02 < nmz787> others are probably the same, but is it possible to have blank function prototypes in python, that you then override later with instrument-specific logic? 18:03 < nmz787> like instead of me having a getDataFromSerial function in the spectrometer class 18:03 <@kanzure> i suggest a module that provides plugins 18:03 <@kanzure> and then these plugins would be distributed with the library as an extra module 18:03 < nmz787> i would think it migh be better to have a getData function, that is then custom for this spectrometer i'm currently working with 18:03 <@kanzure> e.g. from spectrometerthing.equipment import biorad199x 18:04 <@kanzure> yes a "blank function prototype" is known as a class method :P 18:04 <@kanzure> you would have a generic class- let's call it Spectrometer- and then Biorad199x would inherit from Spectrometer 18:04 < nmz787> so how can i craft a skeleton class (i dont know if that term is correct) in spectrometer's main class... that each instrument file module would extend 18:05 <@kanzure> give me one moment 18:05 < nmz787> such that python will enforce all the arguement requirements from spectrometer 18:05 < nmz787> ok 18:05 < nmz787> i did this in c++ a few years ago, but it was pretty rough going 18:07 <@kanzure> https://gist.github.com/4631087 18:07 <@kanzure> git clone https://gist.github.com/4631087 18:08 <@kanzure> of course, "get_data" is not pythonic at all and violates everything in pep8 18:11 <@kanzure> ok i pushed some clarifications 18:13 <@kanzure> this is still sorta wonky.. first of all, why would there be "data" attached to the spectrometer object itself. it would make more sense to return it once reading is done, and then the spectrometer knows nothing of it. 18:16 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Remote host closed the connection] 18:16 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has joined ##hplusroadmap 18:19 -!- JayDugger [~duggerjw@pool-173-74-81-239.dllstx.fios.verizon.net] has quit [Quit: Leaving.] 18:21 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Ping timeout: 248 seconds] 18:35 < phm> kanz: Do you use python in preference to smalltalk or lisp? Or do you only use it because you work on existing codebases or need python libraries? 18:36 <@kanzure> all of the above? why. 18:37 < phm> You think python is a better language than smalltalk or lisp? Or you think their power is equal? 18:37 <@kanzure> why? 18:37 < phm> Is 'curiosity' a good enough answer? 18:37 <@kanzure> no 18:37 <@kanzure> i doubt it's curiosity, why not ask anyone else in here 18:38 < phm> I'm more curious about certain individuals. 18:38 < phm> You can take it as a sign of respect. 18:40 < phm> Yes, I have an agenda. No, I'm not ready to tell you what it is. Are you going to answer the smalltalk vs python question? 18:44 < yashgaroth> what's your agenda? I am curious 18:45 < phm> No, I'm not ready to tell you what it is. All I'll say is that I think we have similar goals. 18:45 <@kanzure> nmz787: i guess it really only needs one method (capture). i pushed up that change up. 18:46 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has joined ##hplusroadmap 18:55 -!- eudoxia [~eudoxia@r186-53-133-179.dialup.adsl.anteldata.net.uy] has quit [Remote host closed the connection] 18:58 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Remote host closed the connection] 18:59 < phm> Thinking about it; you can't have 'all of the above' without a contradiction. 18:59 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has joined ##hplusroadmap 19:00 < phm> Although you did use a question mark. 19:01 < phm> I find a lot of your statements to be rather ambiguous. 19:03 < phm> Which suggests natural language is not your strength. I haven't reviewed your code yet. 19:03 -!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Ping timeout: 248 seconds] 19:13 < nmz787> i guess there doesn't have to be data in the spectrometer object 19:13 <@kanzure> well, the one function that matters the most is capture() which returns data 19:15 < nmz787> capture==read? 19:15 < nmz787> readData 19:15 < nmz787> etc 19:15 <@kanzure> readData is not pep8 compatible :P 19:15 < nmz787> in some cases you might also be able to send data to the spectrometer 19:15 <@kanzure> http://www.python.org/dev/peps/pep-0008/ 19:15 < nmz787> wtf is pep8 19:16 < nmz787> ? 19:16 < nmz787> says mixed case is OK 19:16 -!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has joined ##hplusroadmap 19:16 < nmz787> the name of the project is openSpectrometer 19:17 < nmz787> :/ 19:17 < nmz787> read_data is fine too 19:18 <@kanzure> oh you're right, it's not actually forbidden in pep8 19:18 <@kanzure> well, readData seems weird anyway. why not just read, and then it can be compatible with File. 19:19 <@kanzure> doesn't matter, moving on 19:19 < nmz787> hmm 19:19 < nmz787> i guess read is good 19:19 < nmz787> then write? 19:19 <@kanzure> a spectrometer never writes 19:19 <@kanzure> ... does it? 19:20 <@kanzure> what spectrometers do you have physical access to? 19:21 < nmz787> bio-wave II or something like that 19:21 < nmz787> i'm am planning on openSpectrometer to be writable 19:21 <@kanzure> what does writable mean in this context? 19:22 < nmz787> that's how you will select streaming to computer, stream to on-board disk, stream out the SPI port to some other device... change exposure time... 19:22 < nmz787> maybe you want to turn on the timer function 19:23 < nmz787> so it takes a reading every 5 mins, when it isn't plugged into the computer 19:23 <@kanzure> just out of curiosity, which of these features are implemented in other spectrometers? 19:23 <@kanzure> i've worked with some nanodrops and one other thing that i can't remember 19:23 <@kanzure> and i was always just doing basic captures 19:23 < nmz787> i think exposure is definitely one 19:23 <@kanzure> not sure what else they could do 19:24 < nmz787> for some with moving parts you could select a scan range too 19:24 < nmz787> range and dwell time per interval 19:24 <@kanzure> spectrum range, or physical swivel range thing? 19:24 < nmz787> potentially tell it to swap a filter in for fluorescence 19:25 <@kanzure> ok well, in an ideal world, 19:25 <@kanzure> the spectrometer library should hide all of those features and make it so that i could set those features the same way for each device 19:25 <@kanzure> even if the implementation is different 19:25 < nmz787> well on a monochromator you move the grating and can have a pixel array getting blocks at a time, or you can have a PMT/single-pixel getting one wavelength at a time 19:25 < nmz787> right 19:26 < nmz787> that's why i thought of prototypes 19:26 < nmz787> or whatever they're called 19:26 < nmz787> subclasses 19:27 <@kanzure> was the pastebin link from yesterday data from the bio-wave ii? 19:28 -!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] 19:28 < nmz787> yes 19:28 < nmz787> i have since written a parser for the original 19:28 <@kanzure> paste it up https://gist.github.com/ 19:29 < nmz787> then averaging datasets, fitting a curve to that, searching for peaks, displaying the original spectrum + fit and possible peaks highlighted, added a 'select this peak' button to that 19:31 < nmz787> ok 19:35 < nmz787> how do you add a comment in a file with JSON? 19:40 <@kanzure> you do not :( 19:40 <@kanzure> even if you did, when the file is parsed by a json library, the comment will be discarded 19:41 <@kanzure> yaml uses "#" for comments, but yaml parsers also discard comments 19:41 <@kanzure> (yaml is a superset of json) 19:41 < nmz787> ok i just added a README section 19:41 < nmz787> to the dict 19:43 < nmz787> https://github.com/nmz787/open-spectrometer/tree/master/desktop-software 19:46 <@kanzure> oops 19:46 < nmz787> changed the filenames just now 19:46 <@kanzure> well, maybe you would find this useful anyway 19:46 <@kanzure> https://github.com/kanzure/python-spectroid 19:46 < nmz787> from openSpectrometerGUI to openSpectrometer 19:46 <@kanzure> this is just a basic egg for the code i jotted out for you 19:47 <@kanzure> feel free to not use it 19:47 < nmz787> cool 19:47 < nmz787> yeah so i know it needs cleaned up, but it's a start 19:48 < nmz787> figuring out the stupid gtk and matplotlib stuff was pretty annoying 19:48 <@kanzure> what is phPython ? 19:48 <@kanzure> https://github.com/nmz787/open-spectrometer/blob/master/desktop-software/phPython.py 19:48 < nmz787> gonna calculate pH from spectral data 19:49 < nmz787> it is using functions from the openSpectrometer file 19:52 < nmz787> in openSpectrometer.py i wrote a section getDataFromSerial 19:52 < nmz787> but i'm gonna basically refactor it into te biowave class 19:53 < nmz787> hmm, but you see how I implemented it 19:54 < nmz787> i will have to move the while loop i guess, to make it 'read' 19:54 < nmz787> instead of save to disk 19:54 <@kanzure> i don't think relying on KeyboardInterrupt is a good idea 19:54 <@kanzure> isn't there some way to know that it is done sending data? like EOF? 19:54 < nmz787> dunno, i only had the file i copy-pasted to go on 19:55 < nmz787> haven't been around the instrument since last week 19:55 <@kanzure> but i mean, this while loop never ends 19:55 < nmz787> sure it does, when you press ctrl-c 19:55 <@kanzure> <-- major facepalming 19:55 < nmz787> there's a KeyboardInterrupt at the bottom 19:55 < nmz787> why is that bad? 19:56 < nmz787> the spectrometer only sends data to the computer when you press a physical button 19:56 < nmz787> so i never have to touch the computer once i run this 19:56 < nmz787> just press the 'take reading' button on the device 19:56 -!- OldCoder_ [~OldCoder_@c-69-181-140-134.hsd1.ca.comcast.net] has joined ##hplusroadmap 19:57 < nmz787> i can just return at dataReady=True though 19:57 < nmz787> to make it compatible with read() 19:57 < nmz787> err datapointsReady 19:57 < nmz787> return instead of fwrite 19:58 -!- Proteus1 [~Proteus@71-34-198-154.omah.qwest.net] has quit [Read error: Connection reset by peer] 19:59 <@kanzure> ctrl-c is actually the SIGINT signal 19:59 <@kanzure> you shouldn't have to kill your program to stop reading. what if reading is only the first step? 19:59 -!- Proteus [~Proteus@unaffiliated/proteus] has joined ##hplusroadmap 20:00 < nmz787> yeah but i catch the exception and just continue 20:00 < nmz787> no killing happens 20:00 < nmz787> i actually imported signal earlier but then just used the exception catch 20:03 <@kanzure> the other issue of concern is the reliance on gtk and so on 20:03 <@kanzure> would you be opposed to me writing a pull request that makes that optional? 20:03 < nmz787> huh? 20:04 < nmz787> the getting data doesn't require gtk 20:04 <@kanzure> well, let's say that i want to run this on my phone where i don't have gtk installed. this wouldn't work on my phone :(. 20:04 < nmz787> only the plotting stuff 20:04 <@kanzure> yes, but the imports run regardless 20:04 < nmz787> ok, so catch the import error? 20:04 <@kanzure> yes that is one of the things i would be doing 20:04 < nmz787> you won't be able to use this on your phone anyway 20:05 < nmz787> you probably can't do USB host 20:05 <@kanzure> they also said that about linux, but look at me now 20:05 < nmz787> how do i add a catch for import exception around those statements? 20:05 <@kanzure> same way as normal try/catch 20:05 < nmz787> and #ifndef 20:05 < nmz787> or whatev on the gtk usin funcs 20:06 < nmz787> ahh ok 20:06 <@kanzure> try:\n import whatever\n except ImportError as exception:\n pass 20:07 < nmz787> should a spectrometer device just try connecting to all com ports in detect() 20:08 -!- Proteus [~Proteus@unaffiliated/proteus] has quit [Read error: Connection reset by peer] 20:08 <@kanzure> well, actually, we have one of the authors of cupsd in here and she might have some ideas 20:08 <@kanzure> s/authors/contributors 20:09 <@kanzure> juri_: right? you did something cupsd related. maybe? 20:09 -!- Proteus [~Proteus@unaffiliated/proteus] has joined ##hplusroadmap 20:09 <@kanzure> but yeah, for now i think just cycling through com ports is ok. is there a way that a spectrometer tells the software what version it is? 20:09 < nmz787> biowave told it when it printed out a spectrum 20:09 <@kanzure> neat 20:09 <@kanzure> good 20:10 < nmz787> i didn't pok biowave_II though to see if i could detect() 20:10 < nmz787> so i'm just gonna have a connect() function 20:10 < nmz787> which you can optionally pass a com port to 20:10 < nmz787> or port 20:10 < nmz787> since i guess IP spectrometers could happen 20:10 < nmz787> maybe 20:12 < nmz787> so how do i append to a JSON object 20:12 < nmz787> like i want to add another k,v to a json string 20:12 -!- Proteus [~Proteus@unaffiliated/proteus] has quit [Read error: Connection reset by peer] 20:12 <@kanzure> jsonthing = json.loads("{\"key\": \"value\"}"); jsonthing["key2"] = "value2"; print json.dumps(jsonthing) 20:13 < nmz787> can i insert it before key1? 20:13 < nmz787> key0? 20:13 <@kanzure> python dictionaries do not have guaranteed order, unless you use a OrderedDict 20:13 < nmz787> i am using that 20:13 <@kanzure> json doesn't guarantee ordering either, i think 20:14 < nmz787> json.dumps keeps it ordered 20:14 <@kanzure> you can use a numerical key btw 20:14 <@kanzure> jsonthing[0] = "whaaat" 20:14 < nmz787> so i return a JSON object or a OrderedDict from read()? 20:14 -!- Proteus [~Proteus@unaffiliated/proteus] has joined ##hplusroadmap 20:15 <@kanzure> well, why is it a dictionary in the first place? 20:15 <@kanzure> i thought it's a list of wavelengths? 20:15 -!- Proteus [~Proteus@unaffiliated/proteus] has quit [Client Quit] 20:15 < nmz787> you said to make it that way 20:15 <@kanzure> that's a good reason, but i don't think we figured out whether or not i was right 20:15 < nmz787> after you told me to use config parser 20:15 < nmz787> you told me to use JSON 20:15 <@kanzure> ok but you mean read() from the spectrometer? 20:15 <@kanzure> not the config parser 20:15 < nmz787> yes 20:16 < nmz787> now i am returning all the data in a JSON dict 20:16 <@kanzure> json is a format for representing dictionaries, lists and strings, inside of a string 20:16 < nmz787> it has the startwavelength, end, etc 20:16 <@kanzure> in python, a dict (dictionary) is a native type just like list or int 20:16 < nmz787> right i know that 20:16 <@kanzure> ok, startwavelength 20:16 < nmz787> why are you telling me that? 20:16 <@kanzure> because you said returning a JSON dict 20:17 <@kanzure> what's a json dict? 20:17 < nmz787> ok fine i'm just gonna return the ordereddict 20:17 < brownies> a dictionary in JSON, i assume 20:17 <@kanzure> is it a string literal of json text? or is it a dict in python? 20:17 < nmz787> " json is a format for representing dictionaries, lists and 20:17 < nmz787> strings, inside of a string" 20:17 <@kanzure> ok returning an ordereddict is a sensible thing 20:17 <@kanzure> but 20:17 < brownies> and you people need to start using underscores where you should have spaces in variable names 20:17 <@kanzure> brownies: i agree 20:17 < brownies> start_wavelength ... not startwavelength 20:17 <@kanzure> nmz787: the other issue is why is there a start_wavelength in the first place? 20:18 <@kanzure> can't you just do min(wavelengths) ? 20:18 < nmz787> it's actually startWavelength 20:18 < nmz787> in the file 20:18 < nmz787> why would i store all the wavelengths 20:18 < nmz787> in this instrument it's 1nm steps 20:18 <@kanzure> because that's what the function does? returns all the wavelengths? 20:18 <@kanzure> right? 20:18 < nmz787> so i can accurately interpolate the range 20:18 < nmz787> no 20:18 < nmz787> it returns all the data 20:19 < nmz787> regarding a sample 20:19 < nmz787> the data is ADC reading @ some wavelength 20:19 <@kanzure> what i'm trying to get at is that it's not a simplified api if each spectrometer class returns a different value from the capture/read function 20:19 < nmz787> i woudln't think it should 20:20 < nmz787> i guess i could interpolate the whole range of wavelengths and write it to file 20:20 <@kanzure> what's wrong with returning all wavelenghts in 1 nm increments? 20:20 < nmz787> or make the [(wavelength, absorbance)] 20:20 <@kanzure> (also, you're right about adc reading at a specific wavelength, so yes that's a dictionary) 20:21 < nmz787> yeah it might not always be integral step size 20:21 <@kanzure> so imagine this 20:21 <@kanzure> you have a library of functions for running mathy things on spectrometer data 20:21 <@kanzure> one of these is the ph calculator 20:21 <@kanzure> the other is a.. uhm. detects metals? 20:21 -!- augur [~augur@208.58.5.87] has joined ##hplusroadmap 20:21 < nmz787> or i just have a fallback if a range is given 20:22 <@kanzure> if the data is different from each capture() method, these plugins/methods would have to be rewritten each time you write a new spectrometer class 20:22 < nmz787> well another would be some sort of pattern recognition 20:23 < nmz787> so if i have two lists, how do i combine them to form a dict? 20:23 <@kanzure> mydict.update(otherdict) 20:23 < nmz787> i.e. wavelengths and ADV val 20:24 <@kanzure> so wavelengths[0] should be paired with ad_voltages[0] ? 20:24 < nmz787> yeah 20:25 < nmz787> i think a list comprehension may do it 20:25 < nmz787> hmm 20:25 < nmz787> maybe not 20:25 < nmz787> a list of dict pairs? 20:26 <@kanzure> dict([(wavelengths[index], ad_voltages[index]) for index in range(0, min([len(ad_voltages), len(wavelengths)]))]) 20:26 <@kanzure> will give you a dictionary of wavelength -> ad_voltage 20:27 < nmz787> well this failed [(k,v) for k,v in p,t] 20:27 -!- Mariu [Jimmy98@89.41.57.33] has joined ##hplusroadmap 20:27 < brownies> of course it did 20:27 < brownies> what are p and t? 20:27 < nmz787> p=[1,2,3,4]; t=[0,9,8,7] 20:28 < nmz787> ValueError: too many values to unpack 20:28 <@kanzure> "in" only works for a single list, i've never seen it work for a tuple 20:29 < nmz787> :P 20:29 < brownies> =( 20:29 <@kanzure> what's wrong with the code i dropped? 20:29 < nmz787> works 20:29 <@kanzure> oh also i think it forgets the last value 20:30 <@kanzure> because i do range(0, length) 20:30 <@kanzure> so it should be range(0, length+1) because you still want the last index 20:30 < brownies> you can just write range(length+1) 20:30 < brownies> 20:30 <@kanzure> 20:31 <@kanzure> open that back up, you jerk 20:31 <@kanzure> you don't get to stop the pedantry 20:31 < brownies> hahah 20:31 <@kanzure> man you totally messed up the xhtml compatibility of this log 20:32 < phm> "< kanzure> this is entering the realm of extreme pedantry" and there was me thinking that this was a complaint! 20:32 < nmz787> nope it works without +1 20:32 < brownies> heh. 20:33 < brownies> ah, yes, you don't need the +1 because you're using the length 20:33 <@kanzure> phm: it was not a complaint 20:34 < heath> my first blog post since i found out about blogging ;) 20:34 < heath> http://isotope11.com/blog/a-guide-to-automatic-semicolon-insertion-in-javascript 20:35 < heath> one bug report follows: https://bugs.webkit.org/buglist.cgi?quicksearch=oliver%40apple.com 20:35 <@kanzure> ah so you're a corporate blogger now 20:35 < phm> Do you actually want to know what was 'wrong' with the code you 'dropped'? Or was that a rhetorical question? 20:35 <@kanzure> who are you asking 20:35 < phm> you 20:36 <@kanzure> my dict() line works for his purposes 20:36 < phm> That's why I put 'wrong' in quotes. 20:36 <@kanzure> he seemed to be ignoring it, so i mentioned it again. 20:36 < nmz787> kanzure: if i have a dict d, how do i most easily get a list of all k or v 20:36 <@kanzure> nmz787: mydict.items() gives you a [(key, value), ...] list 20:36 <@kanzure> mydict.keys() gives you a list of keys 20:37 <@kanzure> and mydict.values() gives you a list of values 20:37 < brownies> you want iteritems() dawg 20:37 * phm resists temptation to troll pythonistas 20:38 <@kanzure> heath: i don't understand any of your diagrams 20:38 <@kanzure> why are these circles? 20:38 <@kanzure> brownies: nmz787 doesn't know about __iter__ yet 20:39 < brownies> i don't write enough Python to know most of these things tbh 20:39 < brownies> i always have to crack open the docs for basic string manipulation -_- 20:39 <@kanzure> example? 20:39 < heath> yeah, they aren't the greatest, i was originally going to make it like something you see in graphs of automata, showing all the possible moves, but then i realized it probably wouldn't be clear the exact path that is being taken without adding in some type of coloring which i don't care for doing 20:39 <@kanzure> heath: i think the text is clear enough on its own 20:40 <@kanzure> heath: also, i did a very tiny proof of concept of a hack to a deobfuscator that you might be interested in looking at 20:41 < heath> yep 20:41 <@kanzure> heath: https://github.com/kanzure/uglifyjs-poc 20:41 <@kanzure> it replaces short variable names with longer variable names 20:41 <@kanzure> because i read a lot of obfuscated javascript and it's easier to replace longer variable names 20:41 <@kanzure> however, it doesn't capture all possible situations. sometimes there are leftover variables because that's how prototypes work and such. 20:42 <@kanzure> maybe you know a better way to implement this? (also, my implementation was that of a bastard's-- i just did whatever i wanted, which is why it's a proof of concept and not something people should use) 20:43 <@kanzure> although brownies seemed to find some use out of it ? 20:43 < brownies> it added a nice dash of flavor to our JS shenanigans 20:44 < brownies> heath: it's not really clear what 1 circle vs. 2 circles means 20:44 < brownies> heath: also, that text in the diagrams is far too maddeningly small 20:44 <@kanzure> ah i thought that was my browser's fault 20:44 <@kanzure> yeah the text inside the diagrams is very tiny 20:44 < heath> clicky! 20:44 <@kanzure> getclicky.com? 20:45 < brownies> he means click on them 20:45 < brownies> but regardless that is not good information design 20:45 <@kanzure> well once i click it, it pops up and takes up the entire screen 20:45 < brownies> heath: nice article though. 20:45 <@kanzure> then i click it again, and it zooms in even more 20:45 < nmz787> can i store args somehow? 20:45 <@kanzure> and i have to refresh 20:45 < brownies> i find it odd that Chrome got slower from 22.0 to 24.0 20:45 <@kanzure> nmz787: probably, but explain your exact situation? 20:46 <@kanzure> brownies: i bet experimental things. 20:46 < nmz787> well instead of pasting this in two differnt places port=sys.argv[1], baudrate=115200, rtscts=True, dsrdtr=True, timeout=5 20:46 <@kanzure> nmz787: yes, you can pass variables between functions 20:46 < nmz787> just store it to a string, then pass that string to pyserial 20:46 < nmz787> no i don't want to pass it between funcs 20:46 <@kanzure> when wondering how to design a python library, i think the best thing to look at is python-requests 20:47 <@kanzure> https://github.com/kennethreitz/requests 20:47 < nmz787> ? 20:47 < nmz787> that has nothing to do with storing args 20:47 <@kanzure> his api design is solid and he stores arguments as a config variable attached to his session 20:47 < nmz787> can i just save then to *args and **kawargs 20:47 < nmz787> then pass them? 20:47 <@kanzure> it would work.. in the same sense that your while loop works. yes. 20:47 < nmz787> syntax error 20:48 <@kanzure> what? 20:48 < nmz787> doesnt like that * 20:48 <@kanzure> paste the offending line 20:48 < nmz787> *args='1' 20:48 <@kanzure> that's not how python works 20:48 < nmz787> **kwargs='baudrate=115200' 20:48 <@kanzure> nonono 20:49 < nmz787> you said it would work! 20:49 <@kanzure> you said pass them 20:49 < nmz787> just like my loop! 20:49 <@kanzure> not redefine them 20:49 < nmz787> yeah 20:49 <@kanzure> you are redefining them 20:49 < nmz787> i want to pass them a few lines down 20:49 <@kanzure> if you want to override their values, just say args=whatever and kwargs=whatever 20:49 < nmz787> ok so can i just do nateKwargs='baudrate=115200' 20:49 < nmz787> then pass nateKwargs? 20:49 <@kanzure> to pass a list of values as positional arguments to a function, do: myfunc(*list_of_positional_arguments) 20:50 < nmz787> can they be nonpositional? 20:50 < nmz787> i.e. kwargs? 20:50 <@kanzure> def myfunc(*args, **kwargs): blah... in this function, kwargs will be a dictionary of all of the keyword arguments passed to myfunc 20:50 < nmz787> can i just options='port=sys.argv[1], baudrate=115200, rtscts=True, dsrdtr=True, timeout=5' 20:50 <@kanzure> no 20:50 < nmz787> so dumb 20:50 < nmz787> why don't they make languages work 20:50 <@kanzure> options = {"port": sys.argv[1], "baudrate": 115200} 20:50 < nmz787> they way i want 20:51 -!- Hu_Meanan [~quassel@199.48.197.18] has joined ##hplusroadmap 20:51 < nmz787> easier to just double past self.ser=serial.Serial(port=sys.argv[1], baudrate=115200, rtscts=True, dsrdtr=True, timeout=5) 20:51 <@kanzure> but you can also just specify the keyword arguments explicitly.. def myfunc(positional_argument1, keyword_here=True, another_keyword_argument=False) 20:51 <@kanzure> well, baudrate=115200 looks like a setting that a user would want to change 20:52 <@kanzure> and using sys.argv for the port is sorta weird because what if your function was called from another python script ? 20:52 <@kanzure> e.g. without using the command line 20:52 < nmz787> no that was old 20:53 < nmz787> no the baud rate won't change for Biowave_II 20:53 < nmz787> i only got it to work with one setting 20:53 <@kanzure> have i sufficiently explained why *args=1 is wrong? 20:54 -!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has joined ##hplusroadmap 20:54 -!- Viper168 [~Viper@unaffiliated/viper168] has joined ##hplusroadmap 20:54 < nmz787> sure, python doesn't like pointers 20:55 <@kanzure> in python, * does not mean pointer 20:56 < nmz787> kanzure: get cmdline input with raw_input() 20:56 < nmz787> ? 20:57 <@kanzure> "If the form *identifier is present, it is initialized to a tuple receiving any excess positional parameters, defaulting to the empty tuple. If the form **identifier is present, it is initialized to a new dictionary receiving any excess keyword arguments, defaulting to a new empty dictionary." 20:57 <@kanzure> i highly discourage the use of raw_input 20:57 <@kanzure> but yes, it grabs things from stdin 20:58 < nmz787> why? 20:58 <@kanzure> because it makes your program less automatable 20:58 < nmz787> how else should i ask for sample IDs before saving the reading to disk? 20:58 < nmz787> well there's a bool flag to disable getting sample IDs from the user 20:58 <@kanzure> i would suggest you make a new folder based on a timestamp, and inside you can dump new files in sequential order if you want 20:59 < nmz787> but that isn't good enough 20:59 <@kanzure> if the user specifies a folder name, that folder should be used 20:59 < nmz787> i want to be able to load up my data and see, oh yeah, this is acid 1 20:59 < nmz787> this is acid 2 20:59 < nmz787> if the program doesn't do that, then i have to write the timestamps in my lab manual with the labels 21:00 <@kanzure> the way i'd love to run this would be: 21:00 <@kanzure> spectrometer capture > acid.dat 21:00 < nmz787> but where is the config of the spectrometer 21:00 -!- u-metacognition [~metacogni@99-7-58-96.lightspeed.davlca.sbcglobal.net] has joined ##hplusroadmap 21:00 < nmz787> port num 21:00 < nmz787> etc 21:00 < nmz787> when did you set that up? 21:00 <@kanzure> ~/.spectrometerrc 21:00 <@kanzure> :P 21:01 < nmz787> :/ 21:01 <@kanzure> hmm, well, my point was that it should dump to stdout so that i can pipe to a file, right? 21:01 < nmz787> hmm 21:01 < nmz787> i guess, but then i have to write a script in bash 21:01 < nmz787> when i already did it in python 21:01 <@kanzure> why in bash? 21:02 < nmz787> well why would you want it going to stdout 21:02 <@kanzure> so that i can control where i want it to go ? 21:02 < nmz787> if you were using python you'd just import the module 21:02 <@kanzure> yes definitely 21:03 -!- qu-bit [~shroedngr@gateway/tor-sasl/barriers] has quit [Remote host closed the connection] 21:03 < nmz787> my ideal setup is to have the prog get readings, ask me for a sample ID, save to disk in a separate or appended file 21:04 < nmz787> or if i'm dealing with all the same samples, or just looking at time, then i wouldn't give it the sample ID, i'd just name the file 21:05 <@kanzure> that's reasonable 21:05 <@kanzure> as long as the stuff under the hood can be reused for other things 21:05 < nmz787> so how do i do that, and what you want 21:05 <@kanzure> do you know how to make a python module? 21:06 <@kanzure> if not, i could illustrate one with https://github.com/kanzure/python-spectroid 21:06 < nmz787> i can already import these files in other files 21:06 < nmz787> these classes* 21:07 <@kanzure> not quite.. 21:07 -!- xx [~xx@72.53.96.212] has joined ##hplusroadmap 21:07 <@kanzure> do you have your django stuff still working, by any chance? try importing from there. 21:08 <@kanzure> your class isn't installed on your system, so it will be an ImportError 21:08 -!- qu-bit [~shroedngr@gateway/tor-sasl/barriers] has joined ##hplusroadmap 21:08 < nmz787> not if i added it to my path already 21:11 <@kanzure> i don't know how to answer your question succintly, sorry. 21:11 <@kanzure> the long way involves a lot of complicated explanation about how to use python modules 21:11 <@kanzure> and how to write reusable code 21:12 < rigel> anyone interested in destroying our system of medical education? 21:13 < rigel> because if so, we should chat 21:14 < yashgaroth> get back to memorizing all the anterior processes 21:14 < rigel> i got an extension on my exam until friday 21:14 < rigel> er 21:14 < rigel> monday 21:14 -!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has quit [Ping timeout: 256 seconds] 21:15 < rigel> it seems completely fucking insane to me though that we're taught not the basics about systems and then how to use the literature to find out details 21:15 < rigel> but instead we're just crammed full of information that we spew out and forget 21:15 < rigel> at least at this institution 21:15 < rigel> i hear it's a bit better in some other places 21:16 -!- xx [~xx@72.53.96.212] has quit [Read error: Connection reset by peer] 21:17 < yashgaroth> hey so if I want to inject someone with a plasmid can I just get a doctor to sign off on it or what? 21:17 -!- xx [~xx@72.53.96.212] has joined ##hplusroadmap 21:20 <@kanzure> oops, turns out the "spectroid" name was taken by another python package 21:21 <@kanzure> so i renamed to https://github.com/kanzure/python-spectrometers and http://pypi.python.org/pypi/spectrometers 21:21 < nmz787> yashgaroth: what doc will sign off though 21:21 < rigel> yashgaroth: is that some kind of freaky transhumanism euphemism? 21:21 < nmz787> yashgaroth: lot on the line 21:21 < yashgaroth> euphemism? 21:21 < yashgaroth> nm787: one who's down with the h+, can you dig it 21:22 < rigel> if you're that down, why not just inject yourself 21:22 < yashgaroth> oh I will, but eventually we'll need an n greater than 1 21:22 < nmz787> can you remove the s kanzure ? 21:23 < rigel> thats how a lot of medical experiments have been done, before the advent of clinical trials 21:23 <@kanzure> nmz787: yes, but why? 21:23 < nmz787> kanzure: seems better to name it python-spectrometer 21:23 < nmz787> i dunno 21:23 < rigel> yashgaroth: you'll probably need to put together an actual experiment 21:23 < nmz787> why keep it plural 21:23 < yashgaroth> oh totally, there's still plenty of apocryphal reports of researchers self-injecting to prove a point 21:23 < rigel> you know, do stuff in rodents first, demonstrate efficacy 21:24 < rigel> then pull together a couple hundred mil to do the FDA approval dance 21:24 < yashgaroth> man I ain't got time to fuck around with rodents, can't I just do it on myself? 21:24 < nmz787> kanzure: it wasn't really inspired by openSpectrometer... it is written because of it 21:24 < yashgaroth> 200 mil? that's cheap for three phases 21:24 < rigel> not really 21:24 <@kanzure> nmz787: because it deals with multiple spectrometers. i dunno, i could go either way. 21:24 < rigel> the pharma estimates are hugely bloated 21:24 < nmz787> yashgaroth: outsource to china or bangladesh? 21:25 < yashgaroth> true, they bundle in all the failed trials and R&D 21:25 < rigel> even doing the work here, theres a lot of drugs that only cost $150mil or so 21:25 < yashgaroth> man I don't want china stealing it and selling cheap knockoff plasmods 21:25 < rigel> they bundle in failed trials, but also opportunity cost 21:25 < rigel> and a lot of other accounting tricks 21:25 < nmz787> why is there a make file if its interpreted kanzure 21:25 < yashgaroth> actually wait I was making a bad joke about knockoffs with spelling errors, but "plasmod" is actually a sweet name 21:25 < rigel> what do you mean "stealing" 21:25 < rigel> its information isnt it? 21:25 < yashgaroth> yeeesssss 21:25 <@kanzure> nmz787: because i like to use makefiles to simplify some common behaviors 21:25 <@kanzure> nmz787: check out the makefile to see what it does 21:25 < rigel> doesnt it want to be free or something 21:26 <@kanzure> "make test", "make upload" (to send a new version to pypi), etc.. 21:26 < yashgaroth> but my fast cars and even faster mansions 21:26 < yashgaroth> anyway I don't think I have enough money for a chinese clinical trial, even 21:26 <@kanzure> clinical trials: langton labs style 21:27 <@kanzure> all residents of langton labs must report immediately for clinical testing 21:27 <@kanzure> i'm sure they would be down for it 21:27 < rigel> Quintiles will pretty much do anything 21:27 < yashgaroth> I've got the grinders already, don't need those nonces at langton 21:27 < rigel> they are the mercs of the clinical trials world 21:27 < rigel> theyll get their own for-profit IRBs together to nod over the protocol and approve it 21:27 < yashgaroth> also I don't know how clinical trials are operated for non-therapeutic purposes, since it won't cure anything 21:28 < rigel> they will outsource the testing to dirt poor farmers in bangladesh 21:28 -!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has quit [Quit: Lost terminal] 21:29 < yashgaroth> this is all starting to sound harder than 'coerce doctor' 21:29 <@kanzure> yashgaroth: it will cure your insatiable hunger for uh.. 21:30 < yashgaroth> flesh? 21:31 <@kanzure> i wonder if it's possible to invent a bogus disease and get the FDA to approve a medicine for this bogus disease 21:31 <@kanzure> i guess this will not get past the double blind portions 21:31 < yashgaroth> well theoretically it'd work for sarcopenia and cachexia 21:32 < nmz787> kanzure: does python setup.py uninstall work somehow 21:32 < nmz787> i tried it and remove and they didnt work 21:33 <@kanzure> pip has remove 21:33 <@kanzure> pip remove spectrometers 21:33 < nmz787> i didnt use pip 21:33 < nmz787> i used setup.py install 21:33 <@kanzure> pip alters the same thing that setup.py install alters 21:34 < nmz787> pip remove spectrometers 21:34 < nmz787> Usage: pip-script.py COMMAND [OPTIONS] 21:34 < nmz787> pip-script.py: error: No command by the name pip-script.py remove 21:34 < nmz787> (maybe you meant "pip-script.py install remove") 21:35 <@kanzure> pip uninstall spectrometers 21:35 < rigel> kanzure: "social anxiety disorder" 21:35 < rigel> though the best practice for this sort of thing is usually to take a rarely-diagnosed disease and assert that it is under-diagnosed 21:36 < rigel> cf. restless leg syndrome 21:36 <@kanzure> how about ebola? 21:36 < rigel> probably not 21:36 <@kanzure> wouldn't fly huh 21:37 <@kanzure> nmz787: would you mind if i add your serial/com code to python-spectrometers? 21:37 < nmz787> kanzure: yes 21:38 < nmz787> kanzure: this is openSpectrometer code 21:38 < nmz787> at least let me get it working 21:38 <@kanzure> well, i was thinking you could see the alternative that i suggest and then you can choose whether or not you want to use it 21:38 < nmz787> why didn't you just upload those files to the openSpectrometer repo? 21:39 <@kanzure> because i didn't know you were still using that repo, :/ 21:39 < nmz787> ? 21:39 <@kanzure> i wrote those files before you reminded me today that you were writing things in that git repo 21:39 < nmz787> ahh 21:39 <@kanzure> there was this like five minute gap when i didn't say anything, didn't you notice 21:39 < nmz787> unless you have a strong reason to change the name... 21:39 < nmz787> it's only this part of the code that's in python 21:40 < nmz787> originally i'd planned on making some data analysis tools on the web 21:40 <@kanzure> yes, i specifically mean your com/serial code and not your gtk things. i was going to show you how it would look like to separate the gui concerns from the underlying library. 21:40 < nmz787> but i couldn't find a nice way to handle numpy like ops in javascript 21:40 <@kanzure> but i told you how :/ 21:41 < nmz787> no you didn't 21:41 <@kanzure> when there's no way to do it directly in javascript, you write up a quick server app and just run the server locally, then communicate with the server through javascript 21:41 < nmz787> that sounds horrible 21:42 < nmz787> why wouldn't you just do it all in GTK then? 21:43 <@kanzure> you could, the gtk front-end would get data from a back-end 21:43 <@kanzure> a browser could be useful if you want multiple users to view the same graphs 21:43 <@kanzure> on different machines 21:43 <@kanzure> or if you want to support some basic mobile things without porting gtk things to android/iphone/blackberry/etc. 21:44 < nmz787> right but it would be easier to keep it ALL python or ALL web separately 21:44 < nmz787> like i said the phones likely won't have usb HOST 21:44 < nmz787> and they won't run python 21:45 <@kanzure> in the context of a web page showing a graph loading data from a remote server, i don't think it matters that the phone is not running usb host mode 21:45 < nmz787> so if it's not all web, then it's gotta be phone OS specific 21:45 <@kanzure> python runs pretty well on android, but i haven't tried it on iphone 21:46 <@kanzure> i think your strategy so far is working- but don't get pissed off if i submit pull requests cleaning up some things 21:47 -!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has joined ##hplusroadmap 21:47 < nmz787> well doesn't it look like your project now 21:47 < nmz787> since it's your repo 21:49 <@kanzure> git repos can be controlled by anyone 21:49 < nmz787> so that CaMV is dangerous article guy didn't post my comment where i specified how i though he was wrong 21:49 -!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap 21:49 <@kanzure> the only thing that makes python-spectrometers "mine" at the moment is that i am the only user that pypi.python.org allows to publish an updated version, but i could add you to that 21:49 < nmz787> how do i linkback my response which i posted to DIYbio, that didn't get moderated? 21:49 < nmz787> how does pypi get updated? 21:50 <@kanzure> make upload 21:50 < nmz787> when there's a new version 21:50 < nmz787> does it keep a copy there? 21:50 < nmz787> make isn't on windows 21:50 < nmz787> :( 21:50 <@kanzure> you mean, you haven't installed make ;) (cygwin, etc. etc..) 21:50 <@kanzure> yes, pypi keeps copies of all versions of all public packages 21:50 <@kanzure> that's how everyone is able to type things like "pip install pie" 21:51 <@kanzure> here's python-requests: http://pypi.python.org/pypi/requests 21:51 <@kanzure> old versions: http://pypi.python.org/packages/source/r/requests/ 21:56 < nmz787> kanzure: how do i clear all the values in a dict without messing the keys 21:56 < nmz787> dict.values()=[] dont do it 22:02 <@kanzure> uh, my first idea is mydict.update(dict([(key, None) for key in mydict.keys()])) 22:03 <@kanzure> second idea is to create a new dict.. new_dict = dict([(key, None) for key in old_dict.keys()]) 22:04 < nmz787> how about this 22:04 < nmz787> d={'a':1,'b':2,'c':3} 22:04 < nmz787> >>> default_val=99 22:04 < nmz787> >>> for k in d: 22:04 < nmz787> ... d[k]=default_val 22:04 < nmz787> d=={'a': 99, 'b': 99, 'c': 99} 22:05 <@kanzure> well yeah, but i was trying to crush it into a single line on irc :p 22:08 <@kanzure> aaronsw memorial stuff http://www.livestream.com/oreillyradar 22:09 < nmz787> [(myDict[key]= None) for key in myDict.keys()] 22:09 < nmz787> why can't that work 22:11 <@kanzure> because assignment statements aren't compatible with list comprehension statements 22:12 < nmz787> yeah, pretty dumb 22:19 < nmz787> kanzure: so adding the values as an array is PITA 22:19 < nmz787> since they're now a dict 22:19 < nmz787> instead of a list of data points 22:20 < nmz787> and once i've added them, I can't easily store them back to the orderedDict values 22:22 <@kanzure> well, you could create a new type that does exactly what you need 22:32 -!- paperbot [~paperbot@131.252.130.248] has quit [Remote host closed the connection] 22:32 -!- paperbot [~paperbot@131.252.130.248] has joined ##hplusroadmap 22:35 -!- yashgaroth [~ffffff@cpe-66-27-118-94.san.res.rr.com] has quit [Quit: Leaving] 22:38 < nmz787> kanzure: isn't that against being compatible 22:38 <@kanzure> nope, there are things you can do in python to make your object act like other objects 22:46 < nmz787> so i shouldn't pass around an ordereddict? you think i should make some spectrometerDataObject? 22:47 <@kanzure> well, if you want something more than an OrderedDict, then yeah.. play around with something and see if it works for you.. 22:51 < nmz787> lemme see if there's an easy way to assign all the values to an ordereddict at once 22:51 < nmz787> maybe it's just using two arrays underneath 22:52 <@kanzure> mydict.update(some_other_dict) 22:52 <@kanzure> that's how you do it "at once" 23:01 < nmz787> yeah but that's horrible for memory 23:02 < nmz787> seems like using that kinda stuff too often is what makes it not run well on something like android 23:05 <@kanzure> well, that's why you would use __iter__ and iterables 23:14 < nmz787> that isn't convenient though 23:14 < nmz787> should I just change the data from a dictionary, to two parallel lists? 23:14 <@kanzure> why, again? can you explain the problem one more time? 23:25 < nmz787> i have the spectra 23:25 < nmz787> they are orderedDicts 23:25 < nmz787> i want to average them 23:26 -!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has joined ##hplusroadmap 23:26 < nmz787> so i used to pass them to a function, it copied one to have a skeleton structure, deleted the data, then summed the data from each spectrum into that blaned copy 23:26 < nmz787> blanked copy* 23:26 < nmz787> then i would divide that summed data by len(spectraList) 23:26 < nmz787> using numpy 23:26 < nmz787> all that 23:26 < nmz787> the summing and dividing 23:27 < nmz787> then i'd return that temp structure 23:27 <@kanzure> okay 23:27 < nmz787> that was when it was just a dict with a list of values 23:27 < nmz787> and the start and endwavelength 23:28 < nmz787> so it /was/ a list then 23:28 < nmz787> and numpy worked easily 23:28 < nmz787> but now it's not a list, it's a list of values in the orderedDict 23:28 < nmz787> but i can't act like its a list 23:29 <@kanzure> i am having troubel following. what structure does numpy expect? 23:29 < nmz787> list 23:29 < nmz787> for spectrum in listOfSpectra: 23:30 < nmz787> output['datapoints']=np.add(output['datapoints'], spectrum['datapoints']) 23:30 < nmz787> that's what it was 23:32 <@kanzure> and now? 23:32 < nmz787> figuring that out 23:33 < nmz787> i guess i'll just use a temp array 23:33 < nmz787> then go through at the end and reassign each value 23:38 < nmz787> kanzure: is there a way to enforce that all spectra are OrderedDict ? 23:38 < nmz787> so the code won't run if someone adds a plugin but has some unordering step 23:39 <@kanzure> i would recommend against that.. 23:39 <@kanzure> so um.. why are you using np.add ? 23:39 <@kanzure> what's wrong with my_dict.update() ? 23:40 < nmz787> i guess i could use a for loop instead 23:40 < nmz787> of numpy 23:40 < nmz787> before since they were lists it was easy 23:44 <@kanzure> np.add just updates things i thought 23:44 <@kanzure> brownies: check this out 23:44 <@kanzure> 23:43 < tjohnson> you can find papers doing cost analysis and reporting that for many ILL requests, it's cheaper to buy the item new than use ILL 23:44 < nmz787> kanzure: how's this http://pastebin.com/X73Zq5cs 23:44 < nmz787> numpy does matrix additions 23:44 < nmz787> and matrix divisions 23:44 < brownies> kanzure: well that is interesting. 23:44 <@kanzure> what is listOfSpectra[0] 23:45 < nmz787> the first item in the list 23:45 < nmz787> duh 23:45 < nmz787> its an ordereddict 23:45 <@kanzure> but why are you using deepcopy? 23:45 < nmz787> with one of the values being datapoints, where the value of that is an ordereddict 23:46 < nmz787> because I don't want to modify the existing data 23:46 < nmz787> the function is average 23:47 < nmz787> simply setting out=in does some pointer-like shit 23:47 <@kanzure> brownies: more details, http://diyhpl.us/~bryan/papers2/paperbot/91b4a36a1f5865fa3dafafc17424f297.pdf 23:47 < nmz787> i guess since it's an object 23:47 < nmz787> kanzure: so i'm gonna move that function to spectrometer 23:47 <@kanzure> i guess 23:48 < nmz787> since it's not ph experiment only 23:48 <@kanzure> when it's working, i'll take a closer look at it 23:48 <@kanzure> for now i am having trouble understanding it completely 23:48 < nmz787> it works 23:48 <@kanzure> well, 23:48 <@kanzure> i suggest creating a unit test that loads some sample data 23:48 <@kanzure> and confirms that it's working 23:48 <@kanzure> have you done unit tests before? 23:48 < nmz787> but you don't have gtk to see what i would show you 23:48 <@kanzure> i exclusively use gtk what are you talking about 23:49 <@kanzure> btw i highly recommend writing a unit test 23:49 <@kanzure> if you want some examples of how to write unit tests, uhm, i wrote a crapload of them in the pokecrystal project 23:50 < nmz787> yeah i only have this test data for this experiment so far 23:50 <@kanzure> https://github.com/kanzure/pokecrystal/blob/master/extras/crystal.py#L8154 23:57 < nmz787> I dont get it --- Log closed Fri Jan 25 00:00:39 2013