Fortune Teller


Eve’s Fortune Teller

The student project that I keep revisiting the most is the Fortune Teller webpage created a couple years ago by former student Eve J.

You get a randomly generated fortune, and Eve built in enough combinations that I still see unique fortunes two years later.

I think what I like the most about it is how well it captures Eve’s “voice”. The style of the sentences and the little twists that pop up here and there. I can’t help reading this in her voice.

Eve is off in college right now, and gave me permission to post about the project, and to adapt the code as necessary, as long as I keep her informed (Hi Eve!).

I’ve ported the core of her program from JavaScript to PHP so you can now just get just the fortune telling text.


Eve’s Fortune Teller

https://soriki.com/eve/fortune/fortune.php?name=Doc

I’ve also, sort of, memefied the fortunes but putting the text over a background image, which is what you see at the top of the post.

https://soriki.com/eve/fortune-m/meme-fortune.html?name=Doc

As an experiment, I now have a version that makes the image as an svg:

I have another student now who’s interested in making a smart mirror, and this will make it easier to include fortunes into that project.

I’ve also posted the project on Github: https://github.com/lurbano/fortune

DNA Visualization

Screen capture from R.M's code.
Screen capture from R.M’s code.

Another interesting project that came out of the Creativity Interim was a VPython program that uses the DNA Writer translation table to convert text into a DNA sequence that is represented as a series of colored spheres in a helix.

The code, by R.M. with some help from myself, is below. It’s pretty rough but works.

dna_translator.py

from visual import *
import string

xaxis = curve(pos=[(0,0),(10,0)])

inp = raw_input("enter text: ")
inp = inp.upper()


t_table={}



t_table['0']="ATA"
t_table['1']="TCT"
t_table['2']="GCG"
t_table['3']="GTG"
t_table['4']="AGA"
t_table['5']="CGC"
t_table['6']="ATT"
t_table['7']="ACC"
t_table['8']="AGG"
t_table['9']="CAA"
t_table['start']="TTG"
t_table['stop']="TAA"
t_table['A']="ACT"
t_table['B']="CAT"
t_table['C']="TCA"
t_table['D']="TAC"
t_table['E']="CTA"
t_table['F']="GCT"
t_table['G']="GTC"
t_table['H']="CGT"
t_table['I']="CTG"
t_table['J']="TGC"
t_table['K']="TCG"
t_table['L']="ATC"
t_table['M']="ACA"
t_table['N']="CTC"
t_table['O']="TGT"
t_table['P']="GAG"
t_table['Q']="TAT"
t_table['R']="CAC"
t_table['S']="TGA"
t_table['T']="TAG"
t_table['U']="GAT"
t_table['V']="GTA"
t_table['W']="ATG"
t_table['X']="AGT"
t_table['Y']="GAC"
t_table['Z']="GCA"
t_table[' ']="AGC"
t_table['.']="ACG"

dna=""

for i in inp:
    
    dna=dna+t_table[i]
print dna

m=0
r=3.0
f=0.5
n=0.0
dn=1.5


start_pos = 1
for i in dna:
    rate(10)
    n+=dn
    m+=1
    x = n
    y=r*sin(f*n)
    z=r*cos(f*n)
    a=sphere(pos=(x,y,z))
    #print x, y, z
    if (i == "A"):
        a.color=color.blue
    elif (i== "G"):
        a.color=color.red
    elif (i== "C"):
        a.color=color.green

Transit

NWI Instruments transit.
NWI Instruments transit.

This spring I was nominated by my head of school for a small, Teacher of Distinction award offered by the Independent Schools of St. Louis (ISSL). I proposed to get a survey transit that our students could use to map ecological change on campus. My outdoor group has been slowly cutting down the invasive Bradford pear saplings on the slope and I’ve been curious to see if mapping their locations would help us better understand where they’re coming from.

Measuring the distance down to the creek.
Measuring the distance down to the creek.

The transit would also be a great tool for math. Geometry, algebra, and pre-calculus classes could all benefit because surveying can require quite a bit of geometry and trigonometry.

View through the transit.
View through the transit. The middle mark on the reticule allows you to measure elevation change, while the upper and lower marks are used to measure distance. There’s a 100:1 conversion from the distance between the upper and lower marks and the distance from the transit to the measuring rod.

So, I’ve started training a few of my outdoor group in making the measurements. They’ve spent a few weeks learning how to use the transit; we only meet once a week so it goes slowly. However, we’ll start trying to put marks on paper at our next class.

Students trying out the transit.
Students trying out the transit.

Constructing a Wooden Slide Tray

Handmade, 25 slot slide tray.
Handmade, 25 slot slide tray.

To have somewhere to store the slides I’ve been making, I needed a slide storage box. They’re pretty cheap, but they’re also pretty simple to put together with stuff I could, mostly, find around the house: some scrap wood (from an small wooden CD holder tray that I’m not using any more); a small sheet of clear acrylic (from the hardware store); a short piece of sticky-backed, rubber foam for insulating windows (to keep the slides pressed into place so they don’t move in the box); and some craft glue (ModPodge). For tools, all I used were a few clamps and the saw on a pocket tool.

Using the pocket saw was the biggest pain because I had to cut little slots into the wooden frame to hold the slides. Twenty five slides meant 50 slots, and although the wood was soft, the width of the blade was almost exactly the width of a slide, so if the slot was not perfectly vertical the slides would not fit properly and I’d have to carefully saw it a little bigger. The clamps were a big help with the sawing.

The base of the slide tray was put together with scrap wood and the saw on the pocket tool.
The base of the slide tray was put together with scrap wood and the saw on the pocket tool.

A Skeleton in the Woods

Raccoon skeleton and bits of fur found in the woods behind Ms. Eisenberger’s house. Photo by Micaela Mason.

Just out of the blue, I got a text from Maggie (Eisneberger) yesterday saying, “Wanna see something awesome. Bring the kids.” Well I didn’t have the kids with me, but I went over anyway. She and her niece had found an almost complete skeleton in the woods.

Since I’ll be teaching biology next year, I’ve been on the lookout for a good skeleton. The last time I had one was when my middle school class found a raccoon skeleton on an immersion trip. They brought it back to school, cleaned it up, and reassembled it on a poster board. It was an awesome learning experience.

This skeleton is even more complete. Even some of the cartilage between the vertebrae was dried out and preserved. It was a bit puzzling that the whole skeleton seemed to be there, and had not been too disturbed by scavengers even though, based on the state of decay, it had been there for quite a while.

We collected as much as we could, although some of the smaller bones in the hands and feet are quite tiny.

Maggie lent me her book on the animals of Missouri so I could try to identify it based on the teeth. However, later yesterday evening I got an email from her. She’d been talking to her brother, who’d, back in March, shot a raccoon that was going after his chickens. He’d left the body out in the woods.

Well now someone/s will have a nice little project in the fall.

Life Under the Ice

Algae growing under the ice on the creek.

While not quite as dramatic as drilling through four kilometers of ice to find signs of live in an Antarctic lake that’s been isolated from the rest of the world for over 100,000 years, we observed filamentous algae blooming under the clear ice on the creek earlier this winter.

Algae under the microscope (40x magnification).

I collected some of the algae and put it into the fish tank; I was hoping I could use it when we looked at plant cells because aquatic plants tend to have larger cells that are easier to see under the microscope.

However, one of my students is keeping tadpoles (also from the creek) in the fish tank. She noticed that the tadpoles were hanging out on top of the algae, and the algae was disappearing. Well, at least we’d solved her problem about what to feed the tadpoles.

Unknown microbe hanging out in the algae.

While the filamentous algae might not be as good as the Egeria densa for plant-cell microscopy, it does host quite a number of other microbes that are fascinating to look at.

Ecological Role of Algae

Based on these observations, ecologically the filamentous algae does not just provide habitat for protists and other microbes, it also appears to be a significant source of food for larger animals, like the tadpoles, and probably also the small fish that live in the creek.

Bubbles trapped under the ice. With all the algae growing in the water, and the clear ice, these bubbles may well be made of oxygen.

Therefore, I’d hypothesize that in the winter, when the fish disappear, and most of animal life is quite subdued, the algae blooms because it’s not being grazed on nearly as much (see the picture above). When the weather warms, however, it’s the turn of the algae to repressed.

It would be interesting to have a student monitor the algae growth, and the fish/tadpole population, over the course of the school year to see if the relationship is more than just coincidence.

P.S. After our last snowfall, the melting snow has put a lot of water into the creek, and all the algae appears to have been washed away.

T’s Apothecary

Specimen collection.

Environmental Science students have been working on a wide range of term projects. They’re required to use real data. Some are using the long term weather, climate and socioeconomic records from national and international data repositories. Others are collecting their own measurements — the ability to connect temperature, pH, and conductivity sensors to the new calculators have proven invaluable.

One project that I’ve been particularly happy that someone has taken up, because of its potential future use, has been to assemble a specimen collection cataloging the vegetative biodiversity in the area around the creek. With the help of TFS parent Scott Woodbury, who works for the Missouri Botanical Gardens, she’s collected, identified, and preserved dozens of specimens. She’s also compiled them all into an online phylogenetic tree (using mind42) that should serve as a wonderful reference for future class and student projects.

Bending a Soccer Ball

Students from the University of Leicester have published a beautiful short research paper (pdf) on the physics of curving a soccer ball through the air.

It has been found that the amount a football bends depends linearly on the speed of the ball and the amount of spin.

— Sandhu et al., 2011: How to score a goal (pdf) in the University of Leicester’s Journal of Physics Special Topics

They derive the relationship from Bernoulli’s equation using some pretty straightforward algebra. The force (F) perpendicular to the ball’s motion that causes it to curl is:

F = 2 \pi R^3 \rho \omega v

and the distance the ball curls can be calculated from:

D = \frac{\pi R^3 \rho \omega}{ v m } x^2

where:

  • F = force perpendicular to the direction the ball is kicked
  • D = perpendicular distance the ball moves to the direction it is kicked (the amount of curl)
  • R = radius of the ball
  • ρ = density of the air
  • ω = angular velocity of the ball
  • v = velocity of the ball (in the direction it is kicked)
  • m = mass of the ball
  • x = distance traveled in the direction the ball is kicked

The paper itself is an excellent example of what a short, student research paper should look like. And there are number of neat followup projects that advanced, high-school, physics/calculus students could take on, such as: considering the vertical dimension — how much time it take for the ball to rise and fall over the wall; creating a model (VPython) of the motion of the ball; and adding in the slowing of the ball due to air friction.

ScienceDaily