Sunday, August 30, 2015

Transposable Elements, European PhDs, and Bad Ideas

Today I Learned:
 1) Transposable elements* are preferentially found in areas with open chromatin structure. Makes perfect sense — open-chromatin regions are more accessible to most things, so it stands to reason that a transposable element would be more likely to land in one — and it turns out to be true. Beautiful.

Thanks to Andrew Halleran for pointing this out to me.

* These are “genes” that, as far as we know, do nothing but move themselves around the genome, sometimes duplicating themselves.

2) With very few exceptions (as in, awardees of very prestigious scholarships), you have to pay money to get a PhD at Cambridge University (the british one). Thank goodness for the American model. To be fair, British PhDs aren’t really the same as American PhDs — they’re much faster and in some ways closer to a Master’s degree. Still, that’s three years of no income, which sucks.

3) It’s a bad idea to let the last little bits of soap bars go down the shower drain — they’ll nucleate hairballs and clog it up.

Saturday, August 29, 2015

A Small Piece of a Big World, Lines of Code, and Basil

Today I Learned:
 1) …a small piece of the intricacies of high-level Super Smash Bros. I learned about wave-dashing, and about a few of the one- or two- or three- frame tricks with various characters. I performed my first-ever short jump, and learned how to double-shine with Fox. Just a heads-up — Erik Jue is very, very good at that game. It’s beautiful to watch, if a bit bewildering to a plebe like I.

2) A modern fighter jet has about as many lines of code as an old-ish operating system, like one of the Linux kernels from a couple of versions back… but a modern smart car has some of the most code of any single system, far more than, say, Windows 7. Also, something I knew the pieces of but never put together… pretty much all modern operating systems, with the possible exceptions of some mobile OSes, have more information content than most bacteria. That makes bacteria all the more impressive to me.

3) A handful of fresh basil does wondrous things to jarred pasta sauces, even to sauces that already nominally have basil. Just chop it into fine strips and throw into the sauce in a saucepan, you won’t regret it. Trader Joe’s sells really convenient packs of basil for a couple bucks that are each good for something like two to four jars of sauce.

Thursday, August 27, 2015

Idaho Power, Auto, and Hot Cores... and a Bonus!

Today I Learned:
 1) Idaho is a geologically active state, and has some of the best geothermal power in the States, with an estimated 800 MW of untapped geothermal potential*. Idaho also has the oldest geothermal power system in the country, and its state capitol building is the only US state capitol building powered geothermal.

*which isn’t really *that* much, in the grand scheme of things, but hey, maybe it’s enough for Idaho

2) The “auto” keyword in C++ — it replaces any type declaration and automatically infers the correct type at compile-time.

 3) Why the Earth’s core is hot! I knew that radioactive decay was involved (which was what threw off Lord Kelvin’s famous and abysmally wrong calculation of the age of the Earth). Quite a bit of the heat is still residual from the formation of the Earth. When the planet formed, it formed from tons of little chunks of matter falling into its gravity well… the potential energy of all that stuff was largely converted into heat via the usual means, and a lot of that has been locked away under the crust, where it can’t escape very quickly, to the present day.

Bonus) How to say “electrophoresis” in Spanish. It’s “electroforesis”.

Wednesday, August 26, 2015

Make Tricks, Microfluidic Timings, and One Big Haplotype

Today I Learned:
1) I actually learned this on Monday, but it’s useful enough to cheat with — you can run “make” using more than one core with the -j flag! So if you have a 4-core machine, you can run “make -j 4” to build your program four times as quickly!

2) It takes between 4 and 8 hours to etch microfluidic channels into a set (2-4(?)) of typical glass slides.

3) I knew that Genghis Khan had a lot of descendants. Thanks to Chris Lennox, I now know that he had a lot of *direct* descendants — specifically, about 10% of the population of Asia, which is *way* more than can be accounted for even by his stunningly large collection of wives. Evolutionary biologists studying the Genghis Khan haplotype hypothesize that simply being a descendent of the Khan has been culturally selected for over the last 800 years.

Tuesday, August 25, 2015

Khanian Meritocracy, Lukewarm Superconductivity, and Cas9 Strikes Again

Today I Learned:
1) Although Genghis Khan was well known as a ruthless leader who would execute basically anyone who messed up or showed the slightest hint of disloyalty, and for massacring any enemies who did not immediately surrender, he was also known for taking in enemies who has particular talents, particularly particular leadership ability, and giving them rank and power according to their abilities. He may have been a cruel dictator, but he was at least a meritocratic one.

2) Scientists have just achieved superconductivity at -70 C! That’s pretty cold… but it’s a temperature that *exists on Earth in the wild*. You could occasionally make that work in Antarctica. With no cooling. Or you could do it in a standard -80 C freezer in any molecular biology lab. That’s a lot better than other superconductivity experiments!

Thanks to Alex Alexander for linking me to this one.

3) Scientists in Ireland and Scotland have successfully used cas9 to treat a mouse model of Meesmann’s epithelial corneal dystrophy. I have no idea what Meesmann’s epithelial corneal dystrophy is, except that it’s caused by a well-known single-nucleotide polymorphism, and it’s apparently dominant. The researchers used a more-or-less standard cutting variant to introduce a frameshift specifically into the mutant allele, knocking it out, while leaving the wild-type, healthy allele intact.

Thanks to the AddGene Facebook page for linking me to this one.

Monday, August 24, 2015

Externs, Acrylamides, and Chaos Game Representations

Today I Learned:
1) In C, if you’re using an external variable and you malloc it (which, I suppose, you have to do sometime), be careful how you do it. If you declare its type when you malloc it, it will be allocated as a local variable unconnected to the external variable. If you want to actually use it as an extern, you have to declare it *without* its type. So

extern int* x;
x = malloc(2048);

will give you the *actual external variable x*, while

extern int* x;
int* x = malloc(2048);

will give you a *local* variable named x that isn’t related. Intuitive, right? …

2) …why acrylamide is toxic. Acrylamide is a small molecule used a lot in molecular biology to make gels, which you can run proteins or DNA (usually proteins) through to separate them out by size or charge or other things. Acrylamide gels are perfectly harmless, and can, for instance, be thrown out safely in regular garbage. Unpolymerized acrylamide powder, on the other hand, is a neurotoxin and has to be handled pretty carefully.

Today I learned *why* acrylamide powder is toxic. It turns out it’s because acrylamide in the bloodstream can very easily enter the brain… and polymerize there. Well how about that.

3) The Chaos Game Representation (CGR) I talked about a few TILs ago can be used to draw Sierpinski triangles and other fractals. Here’s the algorithm for a Sierpinski triangle:
 * Start with a triangle
* Draw a point at the center
* Randomly pick a corner and draw a point halfway between that corner and the last point you drew. Repeat this step a bunch.

From a little experimentation of mine (and ideas from Robert Johnson), I’ve found that you can probably get a Sierpinski-looking fractal from any similar algorithm with more “dimensions” than degrees of freedom — for instance, you can do the same thing by drawing inside a pentagon but only picking from four points.
EDIT: Whoops, looks like it might not have to have more dimensions than degrees of freedom — it still makes a fractal if you use all of the points of a pentagon.

Friday, August 21, 2015

Biological Composition, Leaklessness, and Otter Deaths

Today I Learned:
1) A couple of tricks for composing biological parts (genetically encoded logic gates, switches, sensors, and the like). First, use really strong terminators! Transcriptional leakage is common, and using better terminators can help quite a bit. Second, put a ribozyme motif between your promoter and your ribosomal binding sites (RBSs). It will cleave off the promoter after transcription, which prevents different promoters from interacting differently with the RBS. 

Also, Chris Voigt’s lab is working on a piece of software called Cello, which should be available on the web soon, which can design complex genetic circuits based on a logical specification. It uses the tricks mentioned above, and has pretty detailed empirical characterization of performance and error for its parts, which it propagates through the circuits it designs to determine their expected performance. Also Voigt lab’s web page has a nice compendium of (mostly external) tools for synthetic biologists (and other biologists!): http://web.mit.edu/voigtlab/webtools.html

2) A motif for leafless strand displacement reactions! See http://solo.ucsf.edu/papers/dsd-leakless.pdf for details. Basically, there’s a whole bunch of nano tech things you can build from DNA that use a technique called DNA strand displacement, or DSD — it’s a really simple and elegant way of making DNA strands in a test tube dynamically interact with each other. The trouble is, DSD almost always features “leak”, which is unwanted reactions between certain kinds of strands that end up killing the whole thing over the long term. Today I heard a proposal for essentially eliminating leak reactions, which is a big deal in the field.

3) Most sea otters die from infectious diseases. Most of the infectious diseases are protists. Remember all the nasty little choanoflagellates and flagellate parasites from AP/Intro Bio? Yeah, sea otters get those a lot. There’s also a fair amount of death to injuries and predation (about 2.5% of otter deaths are from gunshot wounds).

Wednesday, August 19, 2015

Primate Noses, Genomic Classification, and Entropy-Driven Crystals

Today I Learned:
1) Order primate is commonly divided into “wet-nosed” primates and “dry-nosed” primates. Seriously?

2) A really strange way of classifying species by genomic structure, which seems to work better than it sounds like it should. Here’s what you do:

a) Start with a square labeled A, T, C, and G at the corners, and put a point at the center.
b) Start with the first nucleotide of some species’ genome. Move the point halfway from its current position to the corner of the square labeled with the first nucleotide. Repeat this for every nucleotide, giving you a heckabuncha points scattered on the square. This is called a “Chaos Game Representation” (CGR).
c) Use a measure of image dissimilarity (for instance, structural dissimilarity index, or DSSIM) to produce a matrix of distances between CGR representations of genomes (that is, a big matrix where the number on the i-th row and the j-th column is the distance between the i-th and j-th genome.
d) Plot the genomes using the dissimilarity matrix to determine how far apart each pair of dots are. Multi-dimensional scaling (MDS) is a good tool to do this.

If you do this on the mitochondrial genomes of creatures from a huge array of eukaryotes, it very nicely recapitulates much of known taxonomy. In fact, it is *better* than euclidean or manhattan distances at successfully classifying snippets of genomes into the correct species. This is quite surprising to me. More information at http://ift.tt/1UU4jsg (free article).

3) Entropy alone can drive crystallization! Imagine this experiment — you take a bunch of identical rigid polyhedra, say tetrahedrons (d4’s). Put them in a box. Shake the box. Continuing to shake the box, start adding more of your shape in until you are filling slightly more than 50% of the box (by total volume). Do you see it? Are your shapes making a crystal? Because that’s what happens, at least for a lot of shapes.

The key awesome thing about this is that you can get crystal structures even from bodies that have no interactions other than bouncing off of each other like billiard balls. There’s no electrostatic charges, no binding, no latching into place — just jiggling of solid polyhedra, which are driven *by entropy* to form ordered, structured, repeating (or non-repeating, depending on the shape) crystals. This is very much the opposite of how I usually think of entropy working — usually you think of high entropy as being more *disordered*, but in some cases, it’s more entropically favorable to have ordered structures that give the individual components more room to wiggle (thus increasing the total number of states they can occupy).

For more information, see http://ift.tt/1NwaKiQ. I think the “The Polyhedral Zoo” is probably a good one, but you’ll need Science access to read it (which I don’t currently have, thus the “I think”).

Tuesday, August 18, 2015

Photonic Crystals, DNA Walkers, and Teeming Hordes

Today I Learned:
1) How a photonic crystal works, at least in the barest sense. A photonic crystal is a form of photonic resonator, which is a thing-that-keeps-light-trapped-in-it. Specifically, a photonic crystal is a very thin sheet of glass or some other material with very carefully-spaced holes in it. The sheet is made of a material and thickness that keep the light bouncing around inside it in the z-axis, exactly the same way a fiber optic cable keeps light bouncing around inside itself. The holes act to reflect light of a specific wavelength in a similar way, keeping it contained in the center of the pattern. For information on how to use DNA origami to *very* specifically place fluorophores inside photonic crystals, see http://ift.tt/1D9vchU.

2) One of the major problems with current DNA walkers is that they tend to fall off of their surfaces. (DNA walkers are little robots made of DNA that can “walk” along a track of pre-arranged DNA strands, much the same way myosin can walk down actin filaments). Another is that it’s hard to make the tracks all come out on the same side of whatever surface they’re on, so a few percent of the time a walker will just run into a gap where there’s supposed to be a thing to grab.

3) …about monads and applicators and some of the ugly yet elegant workings deep inside Haskell. It turns out that behind virtually all of the comforting-looking bits of haskell — things like *functions* and *lists* and *list comprehensions* — are teeming hordes of functional constructs, quietly keeping everything running under the hood. This is not the forum to discuss the details, at least not until I understand those hordes well enough to explain them to a six-year-old.

Monday, August 17, 2015

Aberrant Spices, Chromatic Aberrations, and Aberring Lenses

Today I Learned:

1) Lots of really spicy Indian dishes temper the spiciness with either szeschuan peppers (which produces a tingly sensation by activating the receptors that normally detect vibration) or, less dramatically, cardamom or nutmeg (which contain, among other things, mild local anesthetics). I'd wondered before how Indian food can be super spicy from the first bite, yet remain *exactly* that spicy over the whole meal -- apparently that has something to do with it.

2) A chromatic aberration is a shift or stretch in the position of a beam of light passing through a lens that depends on the color of the light. So maybe red light shifts a little to the left, green shifts a little to the right, and blue shifts way to the right -- that sort of thing. Apparently confocal microscopes are often not calibrated very well against chromatic aberrations, which is why co-localization photos (where you take a picture of two different things using different colors and overlay them) often have an annoying shifted effect.

3) There's a cool trick you can play with a cylindrical lens (which is actually the shape of a cylinder sliced down the center of the circular face) to get super high resolution in the Z axis. It turns out that cylindrical lenses have this cool little aberration where they stretch a beam in one axis (X or Y, I forget which) if you're looking at something slightly above the focal plane, but in the other axis (Y or X, respectively) if you're looking at something *below* the focal plane. Moreover, you can calculate the strength of the stretch from the distance off of the focal plane... and vice versa. So by measuring the stretch of what should by all rights by a circular signal, you can tell where a fluorescent point source is with respect to height. Ok, so the best stuff from today happened to not be DNA stuff. That will unlikely hold true -- expect DNA facts!

Sunday, August 16, 2015

Water Fountains, The Hashemites, and Your Turn To Teach!

Today I Learned:

1) If a water fountain initially spurts out plenty of water but then dies back, a likely cause is a bad or filled-up water filter.

2) Many of the ruling royal families in the Middle East today are descended from a family backed by the allied powers during World War I in an effort to gain political traction in the region post-Ottoman Empire. Every time I think I understand the scope and impact of European imperialism on the modern world, I learn something new…

3) I’m gonna be honest, I’m drawing a blank and running low on time. This has been a travel-heavy day, and the kind of travel that’s not so great for learning. Don’t worry, I’ll have a ton of information about DNA in the coming week!

Saturday, August 15, 2015

Casein, JQuery, and Lenin

Today I Learned:
1) Some details about milk and cheese-making.
 a) Casein is, by default, inactive. In the stomach, it is processed into various peptides called casomorphins, at least some of which are opioid mimics. It is thought that this leads to addiction by a newborn to its mother’s milk. I wonder if this is part of why cheese is so hard to give up.
b) Lactose, though very common in milk, is mostly removed from cheese along with the whey. The confusing bit is that lactose is still important for culturing the bacteria of cheeses, which break it down into lactic acid, which adds flavor. ¯\_(ツ)_/¯

2) How to make JQuery do stuff. JQuery is a javascript library that adds a bunch of convenience functions to make it easy to select HTML elements (among many other things). I’ve used JQuery in bits and pieces before, but I don’t think I ever really understood what I was doing. I also learned today why I despise Javascript so much — I think it mostly has to do with it’s terrible debugging features. When I do something totally, utterly, completely incorrect, like forgetting to put a semicolon at the end of a statement, the most common symptom is… nothing at all. Consequently, it constantly looks like javascript just completely, utterly doesn’t work, when the real problem is the usual kind of silly programmer errors that get caught by a better language (say Python) quickly and easily.

3) Vladimir Lenin was intentionally unleashed on Russia after the fall of the last Czar by German leadership near the end of World War I in an attempt to take Russia out of the war via pacifist socialist takeover. It worked.

August 15, 2015 at 06:07PM

Forgot to post this last night, so here it is: Today I learned: 1) How to make a moving GIF! (You use imgur’s gif-making service. =P) 2) The Oxford English Dictionary is a treasure of literary knowledge. It has usage citations going back more than a thousand years, and a thorough explanation of every word’s etymology and, to some degree at least, why we think it is that way. 3) Much to my chagrin, Arch Linux doesn’t support Python debugging very well. In particular, I’ve found it quite difficult to debug Python programs under gdb, which is theoretically quite possible (and useful for debugging segfaults… say when using Cython…).

Friday, August 14, 2015

Candle Smoke, Triggered Abilities, and Microfluidic Chips

Today I learned:
1) If you do it right, it is possible to re-light a recently snuffed candle by lighting the candle’s smoke on fire.

2) A bit of Magic: The Gathering rules — triggered abilities are checked whenever a player is about to gain priority, but after state-based effects are checked. (It’s not every day I learn a new MtG rule).

3) …a bunch of little details about microfluidic chips. For instance, 100 micrometers is a typical maximum channel width and depth in an etched glass microfluidic chip. I also learned a few different designs for slip-chips (a slip-chip is a design where you have two etched glass microfluidic chips pressed up against each other, with reagents in separate wells. You slide them so that the various wells come into contact, which lets their contents mix and react with… whatever you need them to do.

Tuesday, August 11, 2015

Tiling, Osotua, and Recursing Profilers

Today I learned:

1) All possible triangles and quadrilaterals can perfectly tile a plane (that is, they can cover it perfectly without overlaps or gaps). No convex polygon with seven or more sides can tile a plane. The really interesting ones are pentagons and hexagons — there are proven to be exactly three hexagons capable of tiling a plane, and something like plane-tiling 30 pentagons that have been slowly discovered over the last 100 years (one by an amateur, middle-aged housewife who read about the problem in Scientific American).

2) There is a concept used in many East African tribes/cultures called osotua, which translates literally to “umbilical cord”, which describes a certain kind of gift-giving relationship between two people or families. Osotua is established between two people when one asks the other for a gift out of need — imminent starvation, for instance. The gift-asker must only ask for what he truly needs, and the gift-giver may, if he freely chooses, give the asker what he needs.

Once osotua is established, it doesn’t go away. There is no time limit on it, no condition under which it may be broken, no way it can be said to be “paid off” by either party. If one party of the osotua dies, it generally passes to that person’s family (I have no idea how they keep track of all of the osotuas going around).

Two people in osotua can, if they are in need, ask each other for gifts. Again, the gift-asking is limited to what is needed by the asker, but now the gift-giving person is essentially obligated to give whatever the asker needs. Sometimes this relationship is reciprocal, with both parties asking and giving in equal measures. Sometimes it is quite one-sided, with either the original asker or the original giver doing most of the asking.

3) (‪#‎python‬) You can profile cProfile! Just do "cProfile.run("cProfile.run('<your code here>')")" (mind the different quotation types).

I'm not sure why you'd ever want to do this, but you can.

‪#‎todayilearned‬

Transcription, The Game of Life, and Google

Today I learned:
1) Apparently it's somewhat of an outstanding question how much of the genome is transcribed with any regularity. There are some reports (mostly meta-analyses of hundreds of RNA-seq projects) that suggest that more than half of the genome is transcribed at or above approximately 1 transcript per cell. Then again, there are counter-articles claiming that those are mostly technical artifacts. Then again, there are reports that long intergenic non-coding RNAs (lincRNAs), which play varied and mostly mysterious roles in the cell (and, it seems, are generally very tissue-specific in their expression) may be very common.

Anybody know more about this? Say, Andy Halleran? Christine Gao?

2) The Game of Life (Conway's, not Hasbro's) is intrinsically universal for 2D synchronous cellular automata. That means that you can use the Game of Life to emulate any 2D synchronous cellular automata. Who knew!
Relatedly, I learned a pretty elegant implementation of logical circuits in the Game of Life using glider guns.

Not the source I used, but seehttp://tinyurl.com/plzpe73 for more.

3) Google is now called Alphabet. Seriously. I'm not making this up. Go look it up.

The details -- the company called Google is reorganizing into a new supercompany called Alphabet. The web engine, Gmail, and a couple of other web services will be run by a... new?... subcompany still called Google, but Alphabet will be in charge of a bunch of other subcompanies like Calico, Nest, Fiber, and Google Ventures. I guess this makes it clearer how the whole thing is structured... but why "Alphabet"?

If you were in charge of naming the new company in charge of Google, what would *you* want to call it?

Sunday, August 9, 2015

Chickpea Water, Cracking Plastic, and Cascading Style Sheets

Today I learned:
1) The excess liquid from a can of chick peas can be whipped into a “magical” egg white substitute for the purposes of recipes like meringues.

2) ABS (one of the main plastics used for 3D printing) seems to get quite brittle when left exposed to air. Extra spools of plastic should be kept in sealed bags.

3) How to CSS! And what CSS is. I kind of had a vague idea that it involved making HTML look pretty, and I knew there were classes (which are not classes in the OOP sense) and stylesheets (which are not spreadsheets), but now I actually have some idea of how it works. (For the record, my one-sentence summary is that it's a way of adding tags about placement and appearance to a whole bunch of HTML elements at once.)

Batman, Mustard, and Controllers

Today I learned:
1) The character of batman goes back, just barely, to the 1930s. I didn't know modern superheros went back that far.

2) Mustard stems have a similar texture, color, and taste to bamboo shoots.

3) Many (most?) 3D printers can be run from the same software (we use Cura). For some reason, I had assumed that each brand would come with its own control software. Of course it makes more sense to just have one that's easily configurable for different machine setups.

Saturday, August 8, 2015

Cashews, parakeets, and naval battles

Today I learned:

1) Cashew butter oil is difficult to remove from plastic surfaces.

2) All of the little petal-like things I’ve seen under trees around campus aren’t, in fact, petals. They’re the shelled husks of little berry-like seeds that have been cracked open (rather noisily) by parakeets.

3) Ok, I know I’ve been talking a lot about world war I stuff, but this one actually made me laugh out loud at the absurdity of it (something you don’t get to do often when learning about world wars). I speak of the Battle of Jutland, the war’s biggest and probably most famous naval battle. It was also the only time in history, to my knowledge, that two large fleets of modern cruisers, battlecruisers, and battleships slugged it out using more-or-less 18th century naval tactics. Up until then (and again afterward), no naval power was really willing to test its fleet against another industrialized fleet in an open battle. That kind of warfare was highly risky, and nobody really knew how it would play out, so naval commanders were exceptionally cautious about putting their ships into pitched combat. The Battle of Jutland only happened at all because… well, it’s a pretty special battle.

Here’s how Dan Carlin describes the setup (I haven’t verified this against other sources — again, I encourage reading more before taking my word 100%). The German fleet had been more or less penned into German ports up until that point by the numerically superior British fleet, and the two sides had played maneuvering games for a few years trying to get a good edge. A German Admiral (who’s name I don’t recall) set everything in motion by planning a trap for the British fleet. He was somehow going to lure some of the big British battleships through German submarine traps into an area covered by a big portion of the German fleet — I’m kind of fuzzy on the details. The important thing is that the British had cryptographers who were able to decode communications about this plan and let the Admiralty know that it was a trap. So the British fleet left harbor *early*, throwing the German trap-plans all askew, and set metaphorical sail for where they knew the Germans would be, so as to trap the trappers...

...Except that while the British fleet maneuvered, the cryptographers phoned in and told them that it had all been a mistake, and that there was no trap. Except there was. But now the British “didn’t know about it”… and the trap wouldn’t work because the British were out of position. So now both fleets were out in the North Sea, totally ignorant of each others’ positions, both thinking they were trapping the other side, sort of.

And that might have been the end of it, except that a civilian ship happened to pass between the two fleets, just where it could be spotted by both (but they were far enough apart that they couldn’t see each other directly). Both fleets sent small ships to investigate, which discovered each other and called in the *big* fleets. And then the battle happened.

To summarize: The Germans planned a trap, which the British turned into a counter-trap, but it instead ended up being two giant fleets running into each other more or less blind. And the reason no battle like that has occurred before or since is that it takes scenarios like *that* for two big fleets to both decide to fight.

Friday, August 7, 2015

Parser and Conductors and Bears, Oh My!

Today I learned:
1) …that writing parsers can get pretty mind-numbing. I mean, writing a parser or two is good fun, but I’m on my fourth for the same weird, heterogeneous dataset in two days, and it’s getting annoying.

2) Double-stranded DNA is highly conductive… but a single base pair mismatch makes it much, much more insulating. This is a pretty new discovery — it turns out to be pretty difficult to figure out the conductance of a molecule in dilute solution. The lab of Jacqueline Barton at Caltech recently figured out how to do it — you string a filament of carbon nanotube through a solution of DNA, then snip out a little bit of the nanotube such that it leaves reactive functional groups in the gap. You *somehow* attach the DNA to the functional groups, which basically lets the DNA act as a resistor in the middle of a carbon nanotube wire.

3) …reddit.com/r/hybridanimals. My amazement at human artistic ingenuity knows no bounds. Seriously, go look it up. If you’re not impressed, check out the top posts (of all time). A few gems:
http://i.imgur.com/sCFFks5.jpg
http://i.imgur.com/VI9Jhll.jpg
http://i.imgur.com/lJdMFM9.jpg
http://i.imgur.com/iFd90un.jpg

Tuesday, August 4, 2015

Unit Tests, Star Destroyers, and Hired Ladies

Today I learned:
1) How to code unit tests in Python! It is, as so many things in Python are, ridiculously easy. And, as I recalled from earlier experiences unit-testing, I spent just as much time debugging the tests as I did fixing the code they were testing. I expect good future returns from the investment, though.

2) There are many pre-made 3D-printable models for star destroyers. They come in many forms, including ISDs (both I and II), VSDs, Venators, Interdictors (I know, technically not a star destroyer) — heck, I even found a model for a Republic-class star destroyer. No super star destroyer models, though, weirdly.

3) In world war I, to encourage enlistment after suffering massive casualties in France and Turkey, the British government hired young women to patrol the streets, looking for young men who had not joined up to fight. When they found them, the women were instructed to publicly berate and humiliate the young men for not doing their duty. They carried white feathers, which they would place on the young men’s lapels or hats as a symbol of cowardice. This was apparently pretty effective for a while… although it could get a little nasty when the women accidentally harassed returned soldiers.

Molds, Cython, and Gallipoli

Today I learned:

1) …that if you’re trying to 3D print something and you’re concerned about sharp edges (perhaps to protect sensitive tissues), you can make the object safer by printing a *mold* of the thing you want and forging it out of some softer material.

2) …how to use Cython! Cython is a version of Python that basically lets you use C code inside a Python script. That way, you get most of the ease-of-use and flexibility of Python (not to mention all of the great packages for Python) and most of the speed of C (not to mention all of the great libraries for C).

I do have a serious problem, though — I’m trying to access global variables from a C project, and I can’t figure out how to link them properly. I’ve successfully linked to and used *functions* from the same project, but not global variables. (the project is big and crufty and more than I’m willing to clean up by myself, so I can’t change it to not use global variables =( ). Anyone have experience with Cython?

3) …about the Battle of Gallipoli in World War I. I’d heard about it before, kind of in hushed tones, as a horrible battle where many Australians bravely gave their lives, but I never knew any of the details until now. The short story — Winston Churchill wanted to take pressure off the Allied powers by directly attacking the Ottoman Empire (which had just recently entered the war and put a lot of pressure on Russia) at a key strait near the Dardanelles. He planned to attack quickly and decisively with a huge fleet of obsolete warships Britain had lying around that weren’t doing any good against the Germans.

Unfortunately, the attack did not go quickly — Churchill apparently blamed British officers who felt emotionally attached to their old ships hesitated to send them into dangerous situations, even though the whole point was that those ships were entirely, completely expendable. By the time the British were able to land troops (many of which were from Australia and Canada), the Ottomans and their German allies were able to set up fortified defenses. The attack went kind of like D-day might have gone if everything had gone wrong, and instead of decisively taking the Ottomans out of the war, the attack just opened up a new entrenched, grinding front of the same sort as in the rest of Europe. About seven months and ~250,000 dead soldiers later, the Allies left with nothing to show as far as I can tell.

One interesting invention from the tail end of the battle — William Scurry’s self-firing rifle was a rifle left in abandoned trenches and rigged to fire by water dripped into a pan attached to the trigger. They were left in abandoned positions during the allies’ retreat to hide said retreat from the Ottomans.

Monday, August 3, 2015

Pens, Printers, and PHP

Yesterday I learned:

1) Uniball signo 0.7mm pens *do not* bleed under isopropyl alcohol. So much for my kitchen chromatography experiment.

2) How to 3D print! My new roommate just acquired a 3D printer, and we've been busily printing test pieces to see how far we can push the precision and smoothness. The stuff we print comes with a surprising amount of hairy stringy things -- anyone know how to get rid of those? Also, what should we print?

3) Apparently you *don't* need javascript to communicate between HTML and PHP (unless you really want intermediate computation to happen client-side). Wish I'd know this nine months ago. -_-

Saturday, August 1, 2015

Poker, Pings, and Pocket Money

Today I learned:

1) How to play texas hold ‘em. Surprisingly fun!

2) I haven’t yet confirmed this, but apparently ping requests are given about the lowest priority of any signal on the internet, which can make ping times seriously unrepresentative.

3) Costa Rica has really awesome bills. Seriously — go google up a 5 mil bill. It’s got a full-color macaque *and* a guy who looks like a spitting image of Nicola Tesla.