life is a rum go guv’nor, and that’s the truth

Compiling bcrypt-ruby gem for Windows

I am a heretic. I develop Rails apps on Windows. I own a Macbook, but I usually boot it into Windows. Justin thinks I should just should just move to developing on a Mac. I keep holding out. But periodically I try to install a gem that needs to compile native extensions for Windows, and it fails. This just makes me mad. My latest encounter was with the bcrypt gem. I did some googling and finally found a solution:

  1. Dug up my old copy of Visual Studio 6 CDs and installed the command line utilities. Apparently, not just any version will do; you have to be in sync with the version used to compile ruby.
  2. Added VS6’s bin directories to my Windows path. Default install locations are:
    C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;

    Alternatively, you can get a command prompt in  C:\Program Files\Microsoft Visual Studio\VC98\Bin and run VCVARS32.BAT to add those directories to your path.

  3. Added some typedefs and a function to C:\Program Files\Microsoft Visual Studio\VC98\Include\SYS\TYPES.H that are not available on Windows:
    #ifndef _UINT_T_DEFINED
    typedef unsigned char  u_int8_t;
    typedef unsigned short u_int16_t;
    typedef unsigned int   u_int32_t;
    typedef unsigned __int64 u_int64_t;
    #define _UINT_T_DEFINED
    #endif
    #ifndef snprintf
    #define snprintf _snprintf
    #endif

Now I can do:

gem install bcrypt-ruby

I get the “Building native extensions. This could take a while…” message and it works!

I’m happy once again. I’m satisfied. And I didn’t even have to change religions.

Presenting at Teachers College Columbia University

I arrived in NYC today with Bob Heal, Jim Dorward, and Patricia Moyer-Packenham. Tomorrow we are making a presentation titled “Using Virtual Manipulatives to Support the Development of Mathematical Understanding” at the Teachers College, Columbia University. Daniel McVeigh has been an advocate of our work with the NLVM for a number of years and arranged for us to come out.

In my part of our presentation I plan to talk about Teacher Training and Curriculum development. Here are some links I plan to use / reference:

Teacher Training. A process I have used with teachers:

  1. Demo a lesson
  2. Discuss / critique the lesson together based on a rubric
  3. Have teachers observe students while the lesson is taught
  4. Debrief the experience
  5. Revise the lesson
  6. Reteach

Training Goals. My goals are for teachers to learn:

  • Content knowledge
  • Instructional strategies
  • Familiarity with using high quality materials
  • Where to find high quality materials
  • Material evaluation / selection
  • Help them enter a community
  • Implementation issues
  • Barriers / workarounds
  • How to adapt existing resources
  • How to evaluate student learning
  • Processes for continuous improvement

Developing Interactive Math Curriculum

When developing curriculum, one of the first thing designed are the elements and structures of design and the processes of design, whether they be ad-hoc or structured. Curriculum design structures include time, learning outcomes, content models, instructional strategies, messages, representations, and media elements such as pages, displays and controls. Important design activities include:

  • analyzing content,
  • identifying desired learning outcomes,
  • recognizing common student errors and difficulties,
  • developing an overarching design,
  • using design tools that allow for quick inexpensive prototyping and iteration,
  • putting off expensive development as long as possible,
  • using modular approaches,
  • expert review,
  • testing with real users,
  • iteration

Considerations for Designing Interactive Math Curriculum

The design of interactive math curriculum should take into account the affordances that the medium can offer. These include efficient rich, dynamic, and linked representations, exploration, simulation of physically in-accessible situations and events, guided practice, immediate feedback, easy revision, recording sharing and replay, collaboration at a distance, linkages to real-time data, data sampling, and complex computation.

Contexts of Use

  • Group presentation – projection, activity, discussion, worksheet
  • Classroom station
  • Computer lab (self-paced, pairs)
  • Home work (self-paced)

Three Levels of Adaptation

  • Activity instructions (via web or worksheet)
  • Problem sequence (via web or instructions)
  • Virtual manipulative (via configuration or code)

Multi-Disciplinary Teams

  • Mathematician – Make sure the concepts / content / terminology / representations are correct
  • Instructional Designer – Translate ideas into concrete technology designs
  • Programmer – Develop virtual manipulatives
  • Educator – Instructional sequences, strategies and types of activities
  • Classroom Teacher – Access to students, anticipate student responses, guide implementation

Some Observations

  • When an interactive model is on the screen, students ignore the text
  • Text must be short and to the point
  • Questions that require responses can help focus attention
  • Transitions (going to lab, setting up equipment, getting people started, etc) waste time and need to be taken into account when designing experiences
  • Always test out exact usage before going live and check again in the morning
  • Developing virtual manipulatives is expensive
  • Leverage existing manipulatives
  • Choose areas where the impact will be greatest
  • Teachers are much more likely to adapt than create activities

Camping at Tony Grove


Last week our family camped at Tony Grove Lake up Logan Canyon. The wildflowers were amazingly diverse and beautiful including these that Meghan spotted growing on a boulder in the lake.

After morning hikes we swam in the lake which was surprisingly pleasant.

The older kids and I explored polygamy cave.

My Dad and I backpacked into White Pine lake where we ran into beaver. One beaver (I’m assuming the mother) made quite a show repeatedly slapping her tail on the water.

Seth made a compass course for those of us who are directionally challenged.

Good times. Now get back to work!

How fun is that!

Teacher Authoring and Metacognition at the PSLC

JCDL 2008 trip continued: On my way out of town I couldn’t resist stopping by the PSLC to attend a lunch meeting where Turadg Aleahmad and Ido Roll were giving practice talks for ITS2008. Turadg presented on an online authoring tool designed for teachers to use to create worked example math problems. I was surprised to hear that he had over 500 different users submit problems. That is until I heard that he posted an invite on a website offering $10 for each submission. Most of the submissions were unusable.

This vision of providing tools for teachers to create online content is similar to what I envisioned for my dissertation work which led to the eNLVM. My eyes were soon opened to the fact that most teachers do not have the time or skill to create online content, especially from scratch. I suggested to Turadg that if he wanted to encourage better and more problem submissions that they could provide example problems from which teachers could base similar problems. I also pointed out that there is already a massive supply of math problems in textbooks that could be tapped. He and others present mentioned concerns about copyright. To me, this is not a problem. By looking at a math problem you can extract the essence of the problem or it’s “problem type” and use that to easily generate many more of the same type of problem with different cover stories and values. Of course, until you solve a problem it can be difficult to know that the problem has similar solution structure as another. This is the basis for a project I would like to do some day: a library of math problem generators coupled with math test generators that leverage the problem generators and their alignments with standards and textbooks.

Ido presented a study that measured metacognition, specifically help seeking behavior. He began by flaming simple recall as a learning outcome, showing the example of the YouTube video of the child who can point to the names of the countries that her parents name. He did this probably because a PostDoc sitting in the presentation focuses on fact learning (Chinese). Ido’s study compared a new measure to the “assistment” measure used by Carnegie Learning’s tutors as predictors of learning. It seems to me that they pretty much measured the same things, and both are somewhat good predictors of learning.

This is an interesting area. Information seeking is a metacognitive skill: knowing when you know enough to proceed and when you don’t. Having the will to not take the lazy out when you know enough. Knowing where to go to find information you need. The picture is actually much more complex than this. When you are first learning something, or solving a novel problem, it is expected that you would need more information. Better problem solvers and learners recognize this and seek the needed information effectively. As you learn more in an area, you don’t need as much help and so you should stop relying on it. In a situation where making a wrong decision could cause someone to die, the good problem solver relies on additional sources to verify that what they think is a good decision is actually one :-).

Measuring information seeking behavior is an important way to measure problem solving ability. Unfortunately, school, and even worse, school testing situations, are very unnatural problem solving situations where information seeking behavior is called cheating :-)

Visiting the Entertainment Technology Center

JCDL 2008 trip continued: I’ve watched Alice with interest for a number of years and my children and I have played with it. Naturally, Randy’s last lecture renewed my interest. Wednesday morning I visited Drew at the Entertainment Technology Center that Randy co-founded. Drew was very kind to give me a tour of the place, including robot hall of fame and design rooms, while describing the amazing program and projects they do there.

The Masters in Entertainment Technology (MET) program brings together people from multiple disciplines to work together on intensive entertainment technology projects. He said that this is the head fake; the MET program is designed to help people learn to communicate together and work as a team. It only made me wish I could be back in school doing their program! Now if I can just convince Julianne :-)

Drew explained that they Randy likes research and had pretty much moved Alice and his group back to the CMU campus for some time even before the last lecture. While Alice is a good tool for introducing programming to novices, it is not the tool of choice for developing production quality 3D games. The ETC now uses Panda3D heavily with Jesse Schell one of the primary contributors on staff. Panda3D is the open-source, python programmable, game engine used by Disney to develop games such as Toontown and Pirates of the Caribbean.

Very cool! I could have kicked myself when standing outside waiting for the bus I realized that I failed to take out my camera during my tour of the ETC.

Measuring the Wrong Things

JCDL 2008 trip continued: In Education and NSDL: Past, Present and Future, David McArthur presented the future of the NSDL as a platform from which to build. This is the right direction to head… hopefully not too late. The NSDL should provide additional services beyond search, it should provide web services, architectures, and tools that make it easy for people to develop learning resources and communities. Those services should provide simple and powerful ways for member collections to play together. Needed services include authoring, collaboration, adaptation, recommendation, student tracking, and teacher publishing. It was also neat to meet Kim Lightle and David Yaron who I had never met before.

I resonate with David Yaron’s concern that we teach the wrong things in High School and introductory College courses, focusing on teaching students to follow mathematical procedures rather gain a conceptual understanding of the content. I shared my theory a cause:

  1. We emphasize in our teaching what we test
  2. We test what is easy to test
  3. Testing simple recall and procedure following is easy
  4. We emphasize simple recall and procedure following in our tests
  5. We emphasize simple recall and procedure following in our teaching

The remedy is to develop automated measures of higher level thinking: conceptual understanding, problem solving, design. He agreed in part but challenged that we don’t know or agree what problem solving is and have an even harder time measuring it. I agree in part, but think we do know something and can begin heading in the direction of trying to measure problem solving and higher level thinking.

Problem solving is what we do when we don’t know what to do.

Problem solving involves recognizing and defining a problem, searching for relevant information, forming appropriate subgoals, selecting appropriate strategies for accomplishing subgoals, executing procedures, monitoring progress and redirecting efforts when appropriate, recognizing when satisfactory solution has been arrived at, and interpreting the results of problem solving efforts. Interestingly this relates to the conversations I had at the PSLC later in my trip.

Yaron, who sits on the AP Chemistry board, also indicates that even if we had good automated measures of higher level thinking it would take a long time for them to be widely adopted and that a revision approach is more likely to succeed than a revolution approach.

Aligning Content with Standards

JCDL 2008 trip continued: I talked with Bryan Chapman about aligning content with standards (see his paper Exploring Educational Standard Alignment: In Search of ‘Relevance’). He pointed me to the CNLP’s Curriculum Assignment Tool and to the Teacher’s Domain cross walking service as potential sources of tools and providers of standards alignment. I have the idea that if we could create a backbone set of standards that was as superset of all of the state standards and then align content with that set of standards, then it would make it dramatically easier to provide answers to a teacher’s query for resources relevant to what they are teaching.

Bryan believes that it is nearly impossible to develop effective crosswalks between the standards. Different standards focus on different levels of detail and address different levels of outcome. They use the same words to mean different things and some standards assume the context of their location in an hierarchy rather than restating it. This still seems like an interesting problem to try to solve, maybe even something that recommender technology could be applied to.

JCDL 2008

I recently attended JCDL 2008 to present a poster on OER Recommender with Brandon. As usual, the interactions with people were the best part of the conference. Monday night I enjoyed good dinner with at Lidia’s with David Tarrant and Max Wilson, PhD students from the University of Southampton England. Max’s dissertation work is on co-citation as predictor and measure of article impact. Co-citations being the other citations that get cited in articles that cite your article. His research indicates that it converges more quickly than just citation count. Interesting.

Tuesday morning I got in a run along the Allegheny and saw up close a few of the 466 bridges of Pittsburgh as well as the inclines.

R. Shankar - Small Coincidences

Physics Books

After years of keeping them in boxes, I recently got out my University Physics and Math books and put them on my shelves. Just getting them out inspired me :-). This morning while testing the Open Yale Courses feed that I had added to OER Recommender, I ran across the Fundamentals of Physics course. This led me to R. Shankar’s home page, where I noticed an old friend,Book: Principles of Quantum Mechanics Shankar’s book that I used in my quantum mechanics class at the University of Utah. I also smiled to see him list his

Most important contribution to physics

Discovered a small parameter that justifies most calculations performed in physics: 1/ego, where ego is the author’s ego.”

Very clever. It is cool to see a self-deprecating physicist. The description of his other book shown there: Basic Training in Mathematics rang true to my experience. My love and interest while studying at the UofU was always Physics, but I ended up taking so much math that I decided to go ahead and major in Math as well. While doing so, I found that almost everything I learned in my Math classes I had previously learned in my Physics classes :-).