--- Log opened Thu Jan 24 00:00:39 2013 | ||
@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:02 | |
-!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap | 00:03 | |
u-metacognition | Sounds like the probability of being in a sim just got higher | 00:05 |
@kanzure | uh | 00:05 |
@kanzure | because they chose his project, you are updating your priors for whether or not you are simulated? | 00:06 |
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:07 |
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:09 |
-!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has quit [Quit: later] | 00:21 | |
@kanzure | huh? none of that should have any baring on your computations for that. i think you're being unreasonable. | 00:23 |
-!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has joined ##hplusroadmap | 00:24 | |
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:25 |
u-metacognition | Sure | 00:26 |
u-metacognition | Shouldn't developing the ability raise the chances in any case | 00:28 |
Viper168 | lol, didn't we discuss this in the other channel last night | 00:29 |
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:30 |
u-metacognition | Why? | 00:31 |
@kanzure | insert various pascal wager arguments here | 00:33 |
@kanzure | pascalean-wagerian | 00:34 |
@kanzure | actually, that's not a good answer. | 00:37 |
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:41 |
-!- 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:47 | |
-!- chrisian is now known as strangewarp | 00:56 | |
-!- 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:03 |
-!- 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:04 |
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:05 |
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:06 |
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:07 |
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:08 |
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:09 |
@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:10 |
@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:11 |
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:12 |
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:13 |
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:14 |
@kanzure | strangewarp: http://www.thewildca.com/ | 01:15 |
@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:18 |
@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:19 |
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:20 | |
@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:21 |
eleitl | a lot of neuroscience people are jealous | 01:22 |
@kanzure | well they should be | 01:22 |
archels | "principles of neural computation" specific? | 01:22 |
archels | hard to be more vague | 01:23 |
-!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap | 01:23 | |
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:24 |
eleitl | of course it would probably make Markram's budget like small beer | 01:25 |
eleitl | look lie | 01:25 |
eleitl | like, dammit | 01:25 |
@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:26 |
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:27 |
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:28 |
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:29 |
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:30 |
@kanzure | archels: yes that's what i was looking for, thanks | 01:38 |
@kanzure | pfft 7148 person-years | 01:42 |
-!- Proteus1 [~Proteus@71-34-198-154.omah.qwest.net] has joined ##hplusroadmap | 01:44 | |
eleitl | kanzure: ? | 01:44 |
@kanzure | just reading the document archels linked | 01:45 |
@kanzure | http://www.humanbrainproject.eu/files/HBP_flagship.pdf | 01:45 |
eleitl | so about 100 people/10 years? | 01:46 |
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:47 |
eleitl | at least they're focusing on the right goal: energy | 01:48 |
* kanzure sleeps | 01:49 | |
eleitl | good night | 01:49 |
* eleitl goes to a meeting | 01:49 | |
-!- phm [~anon@host-78-150-147-154.as13285.net] has quit [Ping timeout: 248 seconds] | 02:29 | |
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap | 02:37 | |
-!- 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:41 | |
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:47 |
archels | heh, heh | 02:48 |
archels | No, I just meant specifically, Memphis, USA? | 02:49 |
archels | bible belt? | 02:49 |
brownies | hm, tennessee right? but it's a large city... might not be that bad. | 02:50 |
archels | mmm | 02:51 |
brownies | which program? | 02:54 |
archels | Computational Intelligence Laboratory | 03:00 |
archels | looks like their main current focus is hierarchical neural networks | 03:00 |
-!- 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:08 |
archels | it's fully funded. I'm 26 | 03:11 |
archels | I'm not really considering anything that would require a hefty loan. | 03:14 |
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:18 |
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:19 |
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:20 |
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:21 |
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:22 |
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:23 |
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:24 |
archels | aye, which is why this Memphis thing attracted my attention | 03:25 |
archels | https://sites.google.com/site/bonnybanerjee1/ | 03:25 |
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:27 |
archels | haha, that's the spirit :) | 03:28 |
eleitl | that Bannerjee guy has clue, is he a name/rising name in the area? | 03:28 |
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:31 |
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:32 |
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:33 |
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:34 |
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:35 |
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:36 |
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:37 |
archels | as eleitl said, so long as it's not podunk hollow... | 03:39 |
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:40 |
eleitl | all Ph.D. students I know live in the lab | 03:41 |
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:43 |
strangewarp | Also the city's suburbs are bait for the occasional fucking strong tornado, from what I hear. | 03:48 |
eleitl | the older I get, the farther out into the sticks I want to move | 03:49 |
eleitl | assuming you have a decent network connection, and emergency medicine coverage, fuck humanity | 03:50 |
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:51 |
-!- 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:52 |
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:53 |
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:54 |
eleitl | Paraguay or Uruguay look like the best spots in the whole of South America | 03:55 |
eleitl | what is your opinion of Jose Mujica, eudoxia? | 03:56 |
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:57 |
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:58 |
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 | 03:59 |
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:00 |
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:01 |
strangewarp | Hmmm. My productivity script has decided that today is orange. Got to log some worktime on that color in a while.. | 04:04 |
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:05 |
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:06 |
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:07 |
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:08 |
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:09 |
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:10 |
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:11 |
eleitl | I hope my Parallella kit gets shipped soon. | 04:12 |
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:13 |
eleitl | everyone seen the Epiphany specs and roadmap, right? | 04:15 |
eudoxia | kirka was telling me about it the other day | 04:16 |
eudoxia | he wants to do MD with FPGAs | 04:17 |
eleitl | there is a very good dedicated MD machine already | 04:17 |
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:18 |
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:19 |
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:20 |
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:21 |
eleitl | you will probably have to do wafer stacking with TSV | 04:22 |
eleitl | the cells would be tiny | 04:22 |
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:23 |
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:24 |
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:26 |
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:27 |
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:28 |
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:29 |
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:30 |
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:31 |
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:32 |
eleitl | you can use them with OpenCL | 04:33 |
eleitl | and MPI | 04:33 |
eleitl | https://s3.amazonaws.com/ksr/assets/000/176/726/b1b37020789ddc9dadadc089d42610f5_large.jpg?1348545920 | 04:39 |
eleitl | the chip is not large | 04:39 |
-!- eudoxia [~eudoxia@r190-134-19-19.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] | 04:48 | |
-!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] | 04:58 | |
-!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap | 04:59 | |
-!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap | 05:03 | |
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:07 | |
eleitl | not good news for the South Sea Bubble project | 05:08 |
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:11 | |
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:17 |
barriers | middle of the year it was at 11 | 05:18 |
eleitl | if you can make the news, yes | 05:18 |
-!- 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 | 05:41 | |
eleitl | paperbot: http://www.nature.com/nature/journal/v493/n7433/full/nature11721.html | 06:03 |
paperbot | http://diyhpl.us/~bryan/papers2/paperbot/Laser%20cooling%20of%20a%20semiconductor%20by%2040%20kelvin.pdf | 06:04 |
eleitl | very nice | 06:04 |
-!- 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:07 | |
-!- 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:28 | |
-!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] | 06:52 | |
-!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap | 06:53 | |
-!- Viper168_ [~Viper@unaffiliated/viper168] has quit [Ping timeout: 264 seconds] | 07:24 | |
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has joined ##hplusroadmap | 07:24 | |
-!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has quit [Quit: lunchtime] | 07:36 | |
-!- OldCoder_ [~OldCoder_@wsip-68-105-243-2.sd.sd.cox.net] has quit [Remote host closed the connection] | 07:41 | |
-!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] | 08:10 | |
-!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap | 08:11 | |
-!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has joined ##hplusroadmap | 08:16 | |
@kanzure | eleitl: there's a bit of synergy between nodejs server/client.. in particular look at browserify, https://github.com/substack/browserify | 08:21 |
eudoxia | good morning kanz | 08:24 |
eudoxia | out of curiosity, why is gnusha called that? | 08:24 |
eudoxia | what does it mean? | 08:24 |
@kanzure | it's a play on ganesha and gnu | 08:26 |
@kanzure | win 88 | 08:26 |
@kanzure | oops | 08:26 |
@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:28 |
@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:32 |
-!- nsh [~nsh@wikipedia/nsh] has quit [Remote host closed the connection] | 08:34 | |
-!- nsh [~nsh@wikipedia/nsh] has joined ##hplusroadmap | 08:35 | |
@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:36 |
@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:37 |
@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." | 08:40 |
@kanzure | http://www.amazon.de/Biohacking-Gentechnik-Garage-Hanno-Charisius/dp/3446435026 | 09:05 |
-!- 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:06 |
eleitl | would you donate to libgen if they did accept btc? | 09:15 |
@kanzure | no. i'm not convinced their distribution strategy is good. nobody seeds it. | 09:16 |
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:17 |
@kanzure | jrayhawk: do you have anything laying around? | 09:18 |
@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:19 |
@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:20 |
@kanzure | oh i see now "7 x 3 TB SATA" | 09:21 |
eleitl | or 15 x 3 | 09:21 |
eleitl | moar pm | 09:23 |
-!- panax [panax@131.247.116.2] has quit [Read error: Connection reset by peer] | 09:40 | |
-!- panax [~panax@68.200.160.182] has joined ##hplusroadmap | 09:43 | |
-!- qu-bit_ [~shroedngr@gateway/tor-sasl/barriers] has joined ##hplusroadmap | 09:53 | |
-!- qu-bit [~shroedngr@gateway/tor-sasl/barriers] has quit [Ping timeout: 276 seconds] | 09:55 | |
eleitl | running home, cul8r | 09:55 |
-!- eudoxia [~eudoxia@r186-52-37-252.dialup.adsl.anteldata.net.uy] has quit [Quit: leaving] | 09:57 | |
-!- archbox_ [~archbox@unaffiliated/archbox] has quit [Quit: bye] | 10:37 | |
-!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap | 11:03 | |
-!- augur_ [~augur@208.58.5.87] has quit [Remote host closed the connection] | 11:06 | |
@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:11 |
-!- _sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has quit [Ping timeout: 248 seconds] | 11:28 | |
-!- _Sol_ [~Sol@c-174-57-58-11.hsd1.pa.comcast.net] has joined ##hplusroadmap | 11:29 | |
-!- 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:32 | |
-!- ParahSailin [~eg@unaffiliated/parahsailin] has joined ##hplusroadmap | 11:45 | |
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:47 |
@kanzure | per run? | 11:48 |
ParahSailin | per lane on a run | 11:48 |
ParahSailin | that will be ~300 million PE reads, so 60 Gb sequence data expected | 11:49 |
ParahSailin | this is if you fedex the sequencer prepared libraries | 11:50 |
@kanzure | we should organize a ##hplusroadmap run at some point | 11:51 |
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:52 |
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:55 |
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:56 |
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:57 |
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:58 |
@kanzure | is that how much a stud goes for | 11:59 |
@kanzure | i am a terrible texan | 11:59 |
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:00 |
ParahSailin | no, pretty sure just 100 | 12:01 |
@kanzure | well that's weird. why is it so much less than taking the animal? | 12:01 |
ParahSailin | http://www.championgenetics.com/bulls.htm | 12:02 |
@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:03 |
ParahSailin | its fewer than microarray can do for sure... | 12:04 |
@kanzure | will you also be doing tests for canine owners? | 12:05 |
@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:06 |
-!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has joined ##hplusroadmap | 12:07 | |
@kanzure | hmm i don't think there's a snpedia for doggy alleles yet | 12:09 |
-!- sylph_mako [~mako@103-9-42-1.flip.co.nz] has joined ##hplusroadmap | 12:10 | |
-!- 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:36 | |
archels | kanzure: I see what you did there. | 12:38 |
@kanzure | hm? | 12:38 |
archels | You're a teapot. | 12:38 |
@kanzure | it's a stupid feature for them to impose on their users anyway | 12:39 |
archels | it does seem pretty useless. | 12:39 |
sheena1 | teapots? | 12:41 |
ParahSailin | truseq (illumina's library prep) is 2.6k for 48 rxns | 12:41 |
-!- phm [~anon@host-2-98-178-132.as13285.net] has joined ##hplusroadmap | 12:43 | |
ParahSailin | if hplusroadmap were to do a hiseq (or iontorrent) run, i'd say probably outsource the library work and the sequencing | 12:45 |
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:46 |
ParahSailin | Axeq probably would do the library work for an additional couple hundred | 12:48 |
ParahSailin | I'm not sure how much UCDavis charges for a hiseq run, probably about the same | 12:49 |
ParahSailin | ah http://dnatech.genomecenter.ucdavis.edu/prices.html | 12:51 |
-!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has quit [Quit: Leaving] | 12:55 | |
-!- 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:04 |
@kanzure | i assume this will be in #openworm-office | 13:05 |
-!- yorick [~yorick@oftn/member/yorick] has joined ##hplusroadmap | 13:06 | |
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:07 |
@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:08 |
@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:09 |
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:10 |
@kanzure | based on the people i knew in molecular biology phd programs, their lives were miserable | 13:11 |
@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:12 |
nmz787 | hmm | 13:13 |
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:14 |
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:15 |
@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:16 |
seba- | on chemistry | 13:17 |
@kanzure | lolcat: are you doing a phd in chemistry? | 13:17 |
lolcat | No... | 13:17 |
lolcat | Or not yet | 13:18 |
nmz787 | seba-: because I applied to it, but school stresses me out | 13:18 |
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:19 |
lolcat | oh, I know a chris doing a phd from britain in Norway | 13:20 |
chris_99 | aha | 13:20 |
@kanzure | it's not the lectures that are stressful | 13:22 |
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:23 |
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:24 |
@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:26 |
@kanzure | science liberation front stuff in #aaronsw | 13:34 |
-!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has joined ##hplusroadmap | 13:36 | |
-!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has quit [Read error: Connection reset by peer] | 13:42 | |
-!- strangewarp [~Christian@c-67-173-247-251.hsd1.co.comcast.net] has joined ##hplusroadmap | 13:43 | |
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:44 |
@kanzure | teach them to run gels | 13:45 |
@kanzure | and then put them to work | 13:45 |
nmz787 | :) | 13:47 |
nmz787 | yeah I don't even have a gel box | 13:47 |
ParahSailin | you can make one out of wood | 13:48 |
-!- eudoxia [~eudoxia@r186-53-129-66.dialup.adsl.anteldata.net.uy] has quit [Read error: Connection reset by peer] | 13:52 | |
-!- wrldpc [~wrldpc@203.105.94.33] has quit [Quit: wrldpc] | 14:08 | |
-!- devrandom [~devrandom@gateway/tor-sasl/niftyzero1] has quit [Remote host closed the connection] | 14:10 | |
@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:28 |
@kanzure | well that was pointless | 14:29 |
-!- yoleaux [~yoleaux@obquire.infologie.co] has quit [Remote host closed the connection] | 14:31 | |
-!- yoleaux [~yoleaux@obquire.infologie.co] has joined ##hplusroadmap | 14:33 | |
-!- EnLilaSko [~Nattzor@unaffiliated/enlilasko] has quit [Quit: - nbs-irc 2.39 - www.nbs-irc.net -] | 14:43 | |
-!- monoprotic [~monoproti@unaffiliated/monoprotic] has joined ##hplusroadmap | 14:50 | |
-!- monoprotic [~monoproti@unaffiliated/monoprotic] has left ##hplusroadmap [] | 14:50 | |
Guest40461 | wtf is paperbot | 14:51 |
@kanzure | it fetches papers | 14:53 |
@kanzure | example, http://www.nature.com/nmat/journal/v11/n9/full/nmat3357.html | 14:53 |
@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 | 14:54 |
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:08 |
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:10 |
ParahSailin | paperbot is the avatar of aaronsw | 15:13 |
@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:16 |
@kanzure | oh you want to serve a webpage via torrents in javascript? | 15:17 |
-!- 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:18 |
@kanzure | naturally, this kills the advantages of torrenting in the first place | 15:19 |
-!- jpratt2 is now known as wraithansmom | 15:19 | |
@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:20 |
@kanzure | https://github.com/bittorrenttorque/btapp | 15:21 |
-!- 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:23 |
-!- 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:25 |
damselfly9 | hello. I was just seeing what this channel is all about | 15:26 |
damselfly9 | sometimes the official descriptions are meaningless | 15:26 |
@kanzure | the /topic is accurate | 15:27 |
damselfly9 | so you talk about biohacking here? | 15:27 |
@kanzure | yes? | 15:27 |
damselfly9 | what is biohacking? | 15:28 |
@kanzure | http://diyhpl.us/wiki/diybio/faq | 15:28 |
@kanzure | it's just regular biology | 15:29 |
damselfly9 | ok | 15:30 |
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:31 |
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:32 |
damselfly9 | say, for example, a buccal smear | 15:33 |
@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:34 |
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:35 |
@kanzure | when buying a microscope you should focus on NA or NV | 15:36 |
@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:37 |
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:38 |
@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:39 |
@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:40 |
sheena1 | yeah, depending what you're looking for | 15:41 |
damselfly9 | I was thinking of a second-hand Bausch and Lomb lab model | 15:41 |
@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:42 |
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:43 |
gnusha | https://secure.diyhpl.us/cgit/diyhpluswiki/commit/?id=eb249204 Bryan Bishop: add more microscopy links to the faq | 15:44 |
damselfly9 | if it works out, the next purchase will a camera attachment so I can record evidence | 15:46 |
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:47 |
@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:48 |
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:49 |
@kanzure | flash | 15:50 |
damselfly9 | oh | 15:50 |
damselfly9 | one of those pkugins that always crashes my computer | 15:50 |
@kanzure | yeah that's the one | 15:51 |
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:52 |
@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:53 | |
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:54 |
damselfly9 | the stain I need, methylene blue, seems realtively cheap at better pet stores | 15:55 |
@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:56 |
sheena1 | antibody stains are different, eh? | 15:59 |
@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:00 |
damselfly9 | I guess I'll be finding out | 16:04 |
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:05 |
damselfly9 | video or not, I'll still be finding out how difficult it is for me | 16:06 |
damselfly9 | there is an unfortunate clumsiness factor | 16:07 |
@kanzure | you don't have to include clumsiness | 16:07 |
damselfly9 | my own | 16:07 |
@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:08 |
@kanzure | i assume that was the part that you were concerned about, and not the eyedropping | 16:09 |
damselfly9 | yes | 16:09 |
@kanzure | i'm sure there's a way to make that suck less. the wells help but it's not a real solution. | 16:10 |
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:11 |
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:13 |
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:14 |
@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:16 |
damselfly9 | balancing the cover slip on a toothpick seems a bit not-easy | 16:17 |
damselfly9 | I hop this doesn't turn into a frustrating ordeal | 16:19 |
@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:20 |
damselfly9 | that sounds very encouraging | 16:21 |
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:23 |
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:24 |
@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:25 |
@kanzure | i never did any fixing, but it looks like the heating method would damage your cells | 16:26 |
-!- phm [~anon@host-78-149-106-41.as13285.net] has joined ##hplusroadmap | 16:27 | |
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:28 |
damselfly9 | that's ok sheena. methylene blue is cheap and I can keep reusing slides until I get it right | 16:29 |
@kanzure | hehe "machine for automatically attaching cover slips to microscope slides" http://www.google.com/patents/US6626224 | 16:30 |
damselfly9 | sounds like a good idea | 16:31 |
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:34 |
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:35 | |
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:36 |
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:38 |
@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:39 |
damselfly9 | but since that is a contraversial subject, no eye doctor would want to risk their rep by saying it in writing | 16:40 |
damselfly9 | I see the color red very well, but in the syringes my blood doesn't look red so much as brown | 16:41 |
-!- yashgaroth [~ffffff@cpe-66-27-118-94.san.res.rr.com] has joined ##hplusroadmap | 16:44 | |
damselfly9 | sorry for being controversial | 16:44 |
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:45 |
@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:46 |
-!- 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:47 |
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:48 |
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:49 |
@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:50 |
@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:51 |
@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:52 |
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:53 |
damselfly9 | thankyou for the answers, kanzure and sheena and yashgaroth | 16:55 |
damselfly9 | I'll be sure to remember this channel | 16:56 |
-!- damselfly9 [~damslfly@c-24-60-136-110.hsd1.nh.comcast.net] has left ##hplusroadmap ["no message"] | 16:57 | |
-!- panax [~panax@68.200.160.182] has quit [Ping timeout: 256 seconds] | 16:59 | |
-!- panax [panax@131.247.116.2] has joined ##hplusroadmap | 17:00 | |
-!- Viper168 [~Viper@unaffiliated/viper168] has joined ##hplusroadmap | 17:03 | |
@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:04 | |
nmz787 | helloo | 17:05 |
yashgaroth | well there's hemocytometers | 17:05 |
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:06 |
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:07 |
yashgaroth | and are crappy at distinguishing live/dead cells, contamination, counts outside of normal range | 17:08 |
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:09 |
@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:10 |
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:11 |
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:12 |
@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:13 |
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:14 |
yashgaroth | I should pick up a microscope, even though I never intend to use one for immediate projects | 17:15 |
@kanzure | it's a nice thing to have laying around | 17:16 |
sheena1 | hemocytometers are evil. that is all. i must go now! | 17:25 |
@kanzure | they break? | 17:30 |
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:31 |
-!- sheena1 [~home@d207-216-112-48.bchsia.telus.net] has quit [Ping timeout: 248 seconds] | 17:33 | |
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:42 |
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:43 |
-!- 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:44 |
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:45 |
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:46 |
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:47 |
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:48 |
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:50 |
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:52 |
nmz787 | i think you could do it with a $50 microscope | 17:53 |
yashgaroth | true | 17:54 |
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:01 |
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:02 |
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:03 |
@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:04 |
@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:05 |
@kanzure | https://gist.github.com/4631087 | 18:07 |
@kanzure | git clone https://gist.github.com/4631087 | 18:07 |
@kanzure | of course, "get_data" is not pythonic at all and violates everything in pep8 | 18:08 |
@kanzure | ok i pushed some clarifications | 18:11 |
@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:13 |
-!- 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:16 | |
-!- JayDugger [~duggerjw@pool-173-74-81-239.dllstx.fios.verizon.net] has quit [Quit: Leaving.] | 18:19 | |
-!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Ping timeout: 248 seconds] | 18:21 | |
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:35 |
@kanzure | all of the above? why. | 18:36 |
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:37 |
phm | I'm more curious about certain individuals. | 18:38 |
phm | You can take it as a sign of respect. | 18:38 |
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:40 |
yashgaroth | what's your agenda? I am curious | 18:44 |
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:45 |
-!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has joined ##hplusroadmap | 18:46 | |
-!- eudoxia [~eudoxia@r186-53-133-179.dialup.adsl.anteldata.net.uy] has quit [Remote host closed the connection] | 18:55 | |
-!- augur [~augur@c-98-218-127-183.hsd1.md.comcast.net] has quit [Remote host closed the connection] | 18:58 | |
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 | 18:59 | |
phm | Although you did use a question mark. | 19:00 |
phm | I find a lot of your statements to be rather ambiguous. | 19:01 |
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:03 | |
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:13 |
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:15 |
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:16 |
nmz787 | :/ | 19:17 |
nmz787 | read_data is fine too | 19:17 |
@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:18 |
@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:19 |
@kanzure | what spectrometers do you have physical access to? | 19:20 |
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:21 |
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:22 |
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:23 |
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:24 |
@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:25 |
nmz787 | that's why i thought of prototypes | 19:26 |
nmz787 | or whatever they're called | 19:26 |
nmz787 | subclasses | 19:26 |
@kanzure | was the pastebin link from yesterday data from the bio-wave ii? | 19:27 |
-!- 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:28 |
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:29 |
nmz787 | ok | 19:31 |
nmz787 | how do you add a comment in a file with JSON? | 19:35 |
@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:40 |
@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:41 |
nmz787 | https://github.com/nmz787/open-spectrometer/tree/master/desktop-software | 19:43 |
@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:46 |
@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:47 |
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:48 |
nmz787 | it is using functions from the openSpectrometer file | 19:49 |
nmz787 | in openSpectrometer.py i wrote a section getDataFromSerial | 19:52 |
nmz787 | but i'm gonna basically refactor it into te biowave class | 19:52 |
nmz787 | hmm, but you see how I implemented it | 19:53 |
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:54 |
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:55 |
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:56 | |
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:57 |
-!- Proteus1 [~Proteus@71-34-198-154.omah.qwest.net] has quit [Read error: Connection reset by peer] | 19:58 | |
@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 | 19:59 | |
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:00 |
@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:03 |
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:04 |
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:05 |
nmz787 | ahh ok | 20:06 |
@kanzure | try:\n import whatever\n except ImportError as exception:\n pass | 20:06 |
nmz787 | should a spectrometer device just try connecting to all com ports in detect() | 20:07 |
-!- 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:08 |
@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:09 |
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:10 |
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:12 |
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:13 |
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:14 | |
@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:15 |
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:16 |
@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:17 |
@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:18 |
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:19 |
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:20 |
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:21 |
@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:22 |
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:23 |
@kanzure | so wavelengths[0] should be paired with ad_voltages[0] ? | 20:24 |
nmz787 | yeah | 20:24 |
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:25 |
@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:26 |
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:27 |
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:28 |
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:29 |
@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 | </pedant> | 20:30 |
@kanzure | <pedant> | 20:30 |
@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:31 |
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:32 |
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:33 |
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:34 |
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:35 |
@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:36 |
@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:37 | |
@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:38 |
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:39 |
@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:40 |
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:41 |
@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:42 |
@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:43 |
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:44 |
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:45 |
@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:46 |
@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:47 |
@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:48 |
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:49 |
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:50 |
-!- 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:51 |
@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:52 |
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:53 |
-!- 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:54 |
@kanzure | in python, * does not mean pointer | 20:55 |
nmz787 | kanzure: get cmdline input with raw_input() | 20:56 |
nmz787 | ? | 20:56 |
@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:57 |
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:58 |
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 | 20:59 |
@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:00 |
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:01 |
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:02 |
-!- 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:03 |
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:04 |
@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:05 |
@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:06 |
@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:07 |
@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:08 |
@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:11 |
rigel | anyone interested in destroying our system of medical education? | 21:12 |
rigel | because if so, we should chat | 21:13 |
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:14 | |
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:15 |
-!- xx [~xx@72.53.96.212] has quit [Read error: Connection reset by peer] | 21:16 | |
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:17 | |
@kanzure | oops, turns out the "spectroid" name was taken by another python package | 21:20 |
@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:21 |
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:22 |
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:23 |
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:24 |
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:25 |
@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:26 |
@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:27 |
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:28 | |
yashgaroth | this is all starting to sound harder than 'coerce doctor' | 21:29 |
@kanzure | yashgaroth: it will cure your insatiable hunger for uh.. | 21:29 |
yashgaroth | flesh? | 21:30 |
@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:31 |
nmz787 | kanzure: does python setup.py uninstall work somehow | 21:32 |
nmz787 | i tried it and remove and they didnt work | 21:32 |
@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:33 |
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:34 |
@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:35 |
rigel | cf. restless leg syndrome | 21:36 |
@kanzure | how about ebola? | 21:36 |
rigel | probably not | 21:36 |
@kanzure | wouldn't fly huh | 21:36 |
@kanzure | nmz787: would you mind if i add your serial/com code to python-spectrometers? | 21:37 |
nmz787 | kanzure: yes | 21:37 |
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:38 |
@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:39 |
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:40 |
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:41 |
nmz787 | why wouldn't you just do it all in GTK then? | 21:42 |
@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:43 |
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:44 |
@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:45 |
@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:46 |
-!- 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:47 |
@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:49 |
@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:50 |
@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:51 |
nmz787 | kanzure: how do i clear all the values in a dict without messing the keys | 21:56 |
nmz787 | dict.values()=[] dont do it | 21:56 |
@kanzure | uh, my first idea is mydict.update(dict([(key, None) for key in mydict.keys()])) | 22:02 |
@kanzure | second idea is to create a new dict.. new_dict = dict([(key, None) for key in old_dict.keys()]) | 22:03 |
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:04 |
@kanzure | well yeah, but i was trying to crush it into a single line on irc :p | 22:05 |
@kanzure | aaronsw memorial stuff http://www.livestream.com/oreillyradar | 22:08 |
nmz787 | [(myDict[key]= None) for key in myDict.keys()] | 22:09 |
nmz787 | why can't that work | 22:09 |
@kanzure | because assignment statements aren't compatible with list comprehension statements | 22:11 |
nmz787 | yeah, pretty dumb | 22:12 |
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:19 |
nmz787 | and once i've added them, I can't easily store them back to the orderedDict values | 22:20 |
@kanzure | well, you could create a new type that does exactly what you need | 22:22 |
-!- 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:32 | |
-!- yashgaroth [~ffffff@cpe-66-27-118-94.san.res.rr.com] has quit [Quit: Leaving] | 22:35 | |
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:38 |
nmz787 | so i shouldn't pass around an ordereddict? you think i should make some spectrometerDataObject? | 22:46 |
@kanzure | well, if you want something more than an OrderedDict, then yeah.. play around with something and see if it works for you.. | 22:47 |
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:51 |
@kanzure | mydict.update(some_other_dict) | 22:52 |
@kanzure | that's how you do it "at once" | 22:52 |
nmz787 | yeah but that's horrible for memory | 23:01 |
nmz787 | seems like using that kinda stuff too often is what makes it not run well on something like android | 23:02 |
@kanzure | well, that's why you would use __iter__ and iterables | 23:05 |
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:14 |
nmz787 | i have the spectra | 23:25 |
nmz787 | they are orderedDicts | 23:25 |
nmz787 | i want to average them | 23:25 |
-!- 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:26 |
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:27 |
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:28 |
@kanzure | i am having troubel following. what structure does numpy expect? | 23:29 |
nmz787 | list | 23:29 |
nmz787 | for spectrum in listOfSpectra: | 23:29 |
nmz787 | output['datapoints']=np.add(output['datapoints'], spectrum['datapoints']) | 23:30 |
nmz787 | that's what it was | 23:30 |
@kanzure | and now? | 23:32 |
nmz787 | figuring that out | 23:32 |
nmz787 | i guess i'll just use a temp array | 23:33 |
nmz787 | then go through at the end and reassign each value | 23:33 |
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:38 |
@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:39 |
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:40 |
@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:44 |
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:45 |
nmz787 | because I don't want to modify the existing data | 23:46 |
nmz787 | the function is average | 23:46 |
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:47 |
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:48 |
@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:49 |
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:50 |
nmz787 | I dont get it | 23:57 |
--- Log closed Fri Jan 25 00:00:39 2013 |
Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!