Monday, June 29, 2009

New server, new iTALC, new webmin... No! I mean...

..."New server, new webmin (change port to something like 10010), then new iTALC". Learned my lesson, didn't I :-). I followed the instructions from the Ubuntu wiki on installing iTALC on LTSP, seems to work for jaunty as well as hardy. Also, didn't add root to any groups! Both iTALC and webmin seem to be working well.

::::Update--iTALC not working :(
YET.

Saturday, June 27, 2009

Ways to think about homework

I just finished reading Rick DuFour interesting post on thinking about homework. He commented on the ironic situation where someone learned all that was expected of him-her but then failed the class because of a refusal to do homework. He recommends that one decide the purpose of providing homework and go from there. The following is copied from his post though I recommend reading the whole thing:

Therefore, I submit the following propositions:

  1. Homework should be given only when the instructor feels it is essential to student learning. If, for example, the teacher believes that by practicing a skill and receiving prompt and specific feedback students will learn at higher levels, homework is very appropriate and should be assigned.
  2. The teacher then has an obligation to monitor the homework carefully and provide individual students with precise feedback based on their specific needs.
  3. If the work is deemed essential to a student’s learning, that student should not have the option of taking a zero but instead should be required to complete the work. This necessitates a coordinated, schoolwide approach to responding when students do not complete their work because there are limits as to what an individual teacher can require. The schoolwide response should be timely, directive (non-invitational), systematic (not left to the discretion of individual teachers), and should never require the student to be removed from new direct instruction. (For examples of such a systematic approach, see Whatever It Takes: How Professional Learning Communities Respond When Kids Don’t Learn by DuFour, DuFour, Eaker, and Karhanek and/or Pyramid Response to Intervention: RTI, Professional Learning Communities, and How to Respond When Kids Don’t Learn by Buffum, Mattos, and Weber.)

How might I implement these ideas in my practice...? We'll I like the idea in his second scenario:
...that students will not be required to continue practicing each day when they have demonstrated they are mastering the content. There will be daily homework for all students for the first two weeks of school, at which time a unit test will be given. Students who earn an A or B on the test will not be required to complete daily homework during the next unit. For them, homework will be optional. All other students will be required to continue doing their daily practice.
The idea of the "Martial-Arts Metaphor"--which I'll develop soon--could work smoothly with this idea. Perhaps I would provide a pre-test of the skill, also, so students could opt out of the after-school practice if they had previously mastered the content in some other context. However, this undermines the coercive effects mentioned by DuFour: a student is motivated to do well on a unit/summative test so as to avoid required HW for the next unit.

Hmmm... thinking this through. Let's say someone doesn't pass the summative/formative 'test' of measuring mass, for example. Well, we are moving on to the next skill of making concept maps. Well, assuming that no one passes the concept mapping pretest everyone will have that HW to do. However, what intervention then does one use for the students who didn't master measuring mass? Additional HW? After-School-Required-Study? One can feel the workload creaking...

I agree with DuFour's perspective on being explicit on one's goals for HW, requiring it/or not (and not permitting "0's") and making it a useful learning tool by providing students with providing students with individually-useful feedback. Nonetheless, providing useful feedback on students' HW adds up to a LOT of time outside of class. I know this as I've attempted it sometimes. Adapting/creating good curriculum not to mention preparing materials for this instruction already is taking a lot of out-of-class time.

In addition to calling families, communicating/coordinating teammates, and all the administrative requirements to teaching, this HW concept is sounding questionable in the practicality dept.

Thursday, June 25, 2009

Back to CmapServer issue--not found on 'list of Places'

For some reason our CmapServer doesn't show up on West Florida University Directory of Places. It should. I've been working on this issue for a couple of months, back-burner style, and have gotten a few replies. I'm in the middle of trouble shooting it with Doug Roberts and Rodrigo Carvajal's help. Here are a couple of cool commands I learned to check out the status of network ports:
  • netstat -nat (This will list active internet connections, servers and established.
  • netstat -at |grep LISTEN ( This lists the ____ that have the state "LISTEN".
  • nmap -sT -O localhost (This determines which ports are listening for TCP connections from the network
The saga will continue...

Wednesday, June 24, 2009

NX Client and me

NoMachine's remote access software is great, the best, to my experience. I can sit at any computer with NXclient and open a window from a remote computer that's running NXserver, and the experience is about as good as if I were actually sitting in front of that remote computer. This is is important for me so as I can access my server (soon to be servers) from at home or behind locked doors. Of course, I know there are people who prefer the (potentially) powerful, linear, command-line interface to the 2/3 dimension access provided by a Graphical User Interface. That's fine, I like my GUI.

As I mentioned in my last post, my NXclient access broke in working on the firefox localapp: advance on one front, retreat on another...

So, I spent 5+ hours today trying to regain access. I won't go into gory details but finally when I removed a hidden file from my file system
  • sudo rm -r Users/admin/.nx
as well as the 2, non-hidden main directories:
  • sudo rm -rf /usr/NX
  • sudo rm -rf /Applications/NX*.app
and reinstalled, I was able to gain access again. The, 'creating another system user' fix did not work nor did the re-doing and copying the access key.

[Also--I got all hidden files (the ones with . at the start of the file name like, .letter.txt), to show up on my file system by these 2 commands:]
  • defaults write com.apple.finder AppleShowAllFiles TRUE
  • killall Finder
And make them hide again by setting the TRUE back to FALSE.

Localapps on Jaunty -- if it doesn't work...

One of the main reasons I upgraded to Jaunty from the LTS Hardy was that localapps--running applications of your choice on the 'thin client'--is almost built into this version. However, like most things that are trivial to someone who really knows Linux, it can be an ordeal for one who doesn't. Thanks to pmatulis who first started answering my questions and then a huge thanks to alkisg who worked with me for over 3 hours to successfully get firefox running as a localapp!

I'm going to recreate the directions alkisg provided which supplement the fine directions at https://wiki.edubuntu.org/LTSPLocalAppsJaunty. In other words, do the instructions on that page first and if it doesn't work, then use these additional instructions, here. These directions are a 20-20 hindsight version, of course, not exactly as they happened.

I followed the directions at this above address, booted my client, opened firefox and wondered, how do I know if firefox is running in localapp mode? I now know that when firefox is working as a localapp it will say "Mozilla Firefox (on ltsp20)" or something similar, on the title bar of the window. However, one can also 'log into the client' (open console mode) and check there. If you have intrepid or jaunty you can do this:
  • open terminal on the thin client, type 'ltsp-localapps xterm' which gives a local xterm.
  • type, 'ps ax | grep fire' and check the output--a list of 'processes' that are currently running on the local client that have the text string, 'fire' in them. It will always show the, 'grep fire' process or whatever you 'grepped'. In my case, it showed that firefox was not running locally. What to do?
To try to open firefox as a localapp alkisg said to go back to the regular terminal window in GNOME and type:
  • ltsp-localapps firefox
I did and it opened up firefox as a localapp! However, the goal is to be able to just open firefox from the GNOME menu to launch it as a localapp. Since it didn't do that there must have been a problem in the lts.conf file I had earlier made. alkisg found the error--the top line of the /var/lib/tftpboot/ltsp/i386_w_localapps/lts.conf file needs to be exactly like this:
[Default]
Upon adding this, saving and rebooting the client, firefox booted from the menu!!! I've added this info to the ubuntu wiki page mentioned above.

The next step was getting firefox to be able to access the internet. Now that firefox was being run on client instead of on the server I had to set up NAT on the server to act as the 'middle man' between the client and the internet. (How does Squid/SquidGuard fit in here?) Now, alkisg had written a script that sounded pretty robust which would do all this stuff. However, since it has parts in Greek and well, Greek is unfortunately greek to me I couldn't avail myself of this help. I typed in the following commands at the terminal prompt on the server as root. (note this interrupts network access but is re-established. It did break my NX access :( and haven't been able to get it to work since)
  • invoke-rc.d dhcp3-server stop
  • invoke-rc.d NetworkManager stop
  • invoke-rc.d networking stop
  • sed -i -e 's/192\.168\.0\.254/192.168.0.1/g' /etc/network/interfaces
  • invoke-rc.d networking start
  • invoke-rc.d NetworkManager start
  • invoke-rc.d dhcp3-server start
(for further info on the 'sed' lines if you want, check out this page in the section: iptables Masquerading)
then I ran:
  • sed -i -e "s/^# By default this script does nothing\./# By default this script does nothing\.\n\niptables -t nat -A POSTROUTING -j MASQUERADE/" /etc/rc.local
  • sed -i -e 's/^[[:space:]]*##*[[:space:]]*net.ipv4.ip_forward[[:space:]]*=[[:space:]]*1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
  • sysctl -p
  • iptables -t nat -A POSTROUTING -j MASQUERADE
  • ltsp-update-sshkeys
  • ltsp-update-image -a i386_w_localapps
--actually, I typed this last command as: ltsp-update-image which updated the original chroot, not the copy I had made per the instructions on: https://wiki.edubuntu.org/LTSPLocalAppsJaunty and that resulted in issues--I still couldn't log into my client after restart. to help troubleshoot the problem I added the following 2 lines right under the line that said [Default] in the above-mentioned lts.conf file:
  • SCREEN_02=shell
  • SCREEN_07=ldm
This allows me to open the console on the thin client by pressing Alt+Ctrl+F2 and back to normal screen by pressing Alt+Ctrl+F7.
After doing the "ltsp-update-image -a i386_w_localapps" command mentioned above, everything would have worked. I *would* have been able to get to the internet on firefox at this point but, upon opening the app, firefox automatically opened a saved tabs with Flash video content. Since the localapp doesn't have much in the way of plugins, firefox crashed. When I quickly closed all open tabs and went to Google.com it worked!!!

Saturday, June 20, 2009

Which version of java for jaunty?

I asked myself this multiple times in the last few days--some are saying that the java-6-sun version is better than java-6-openjdk. What does better mean? I just got a hold of the guy who got me started with Ubuntu and open source and planted the seeds for thin clients--Tom Marble. He worked for many years at Sun and was passionatly involved in the open-sourcing of java. He said that the java-6-sun version, as long as you have all of it's dependencies, is probably more stable. This was in response to, 'which is better'. He then led me through the terminal steps to set this up:

in terminal:
  1. "sudo su" to become the root user.
  2. "update-java-alternatives --list" to find out what java you have installed. I had both java-6-openjdk and java-6-sun.
  3. "update-java-alternatives --set java-6-sun" upon which tons of lines started rolling by like, 'No alternatives for appletviewer', etc. He reassured me this was fine.
  4. And then it ended. Then I typed, "java -version" and it said: "java version "1.6.0_13"" and that was great since in all my efforts to update java I'd never gotten it to say that advanced of a version (it always reported, '1.6.0_0').
I haven't checked much, but going to a couple of java test sites ( e.g. http://javatester.org/index.htm) and things are looking peachy. Next to the really challenging tests: CmapTools, a java based program that has brought my server to its knees with just 2 thin clients opening it over a 30 second period, and the java applets which are excellent science learning resources such as the dozens at this tremendous site: http://phet.colorado.edu/index.php.

I'll comment back when I've done more tests...

Wednesday, June 17, 2009

Scientific habits of mind

AAAS--the American Association for the Advancement of Science has been an inspirational organization to me, or at least their publications have been. I'll share a secret--I'm not a scientist (one who creates knowledge within a community of scientists)--I'm a teacher of science.

AAAS in their 2 watershed publications, "Science for All Americans" and "Benchmarks" provided me with lots to think about the question, 'what is the nature of science, and what is it like being a scientists?' While I took lots of science classes in college and in high school--I've always loved science--I never was a science professional--really just a dabbler--not really even an apprentice--well maybe a bit.

While studying for my MA a brilliant Philosophy professor, Jonas Soltis, gave us students the following task for our final paper: "Imagine it is the last day of classes for your students and that they are walking out of your science class for the last time in their life. Describe what you want them to think science, is."

The Benchmarks dedicates chapter 12 to this topic of the "habits of mind" of scientists or more specifically, how it can be developed throughout grades K-12. Chapter 12 addresses "Problem Solving" unarguably one of lifes most important skills. It talks about this:
Quantitative, communication, manual, and critical-response skills are essential for problem solving, but they are also part of what constitutes science literacy more generally. That is why they are brought together here as scientific habits of mind rather than more narrowly as problem-solving skills or more generally as thinking skills.



To be continued...

Sunday, June 14, 2009

Student Agency? Questions as meaning-making tools...

(Most of this post was written on May 7--I'm finishing it up today)

A quiet, generally hard working 9th grader in class today wasn´t helping out his group. Today wasn´t the first time this has happened... He´s well liked and does his homework showing a well-developed level of responsibility (HW is a stretch for many of my students).

I had recently partially reconstituted this 4-person table, switching out a couple of students that needed a lot of support and added a couple of pretty active students to that table. These fairly active students joined 2 quiet and 'responsible' students. I did this about a week ago.

So now when I re-visited this table several minutes later, only 1 of the new boys was working. I quickly deduced that the main problem was that the 2 boys who were originally from the table didn´t know what to do and were being pretty passive about this. I chose the boy mentioned above to start with...

I asked him what their table´s experiment was about. I probably used a dangling proposition, then, too. He couldn´t tell me. So I went about asking several questions trying to see where his thinking was at. I quickly saw that he was lost so I changed my track. I said, OK I´ve got a deal for you, ask me any question you want to try and figure out what you need to know to help your group.

He couldn´t come up with a single question even with my help. Why? Was he on the spot and his mind shut down? I was rather matter of fact about things so I didn´t put him in a pressure cooker but still this might have been part of the explanation. Was he resisting my questioning and directions? In other words was he silent as a way to retain some control--AKA ´the silent treatement´? Maybe...but he wasn´t acting sullen or angry...

I didn´t know what was the deal but the group was ticked with him and he wasn´t helping so I asked him to step aside and that I´d be with him in a few minutes. I then helped the remaining members and they got up to speed, quickly.

About 3 minutes later I went back to where he was standing (I´ve got a huge room) and asked him if he knew what he could have asked me and he was silent then shook his head. I could see this wasn´t going to be a quick intervention so I asked him to stay after class to talk for a few minutes (I had prep next period). He agreed and went back to his table.

The bell rang; classmates cleared out. We sat down and I worked to understand why he hadn´t sought to understand things, just, ¨I don´t know¨. I certainly gave him plenty of prompts to ´ask me a question´. He said he doesn´t ask questions in any class. Our team of teachers know him as a good natured, generally hard working student that is sometimes frustrating to teach, too.

After more talking, I figured out that he doesn´t know how to use questions as a tool to dig himself out of confusion. This was a major revelation, I've been teaching many years and knew that sometimes students were so lost they didn't know how to work their way out of it, but I really think I need to focus more on this next year.

I've used "sentence starters" like, 'give me an example of what you mean', 'what are you talking about', 'why are we studying this', 'what does x mean' etc. I taught this student these and over the following days helped him practice them and indeed he did take a more active role in his group :-) including knowing what was going on more and being able to ask me questions. This is a start.

Many students may need extensive help to take control over their learning. What support in a GCoS classroom can I provide them?
  • How does this support look?
  • How can I include this support, especially at the start of the year, on a day to day basis?
  • How can I assess where students are at on this skill? Probably scenarios would be helpful.
  • Obviously many educators have created lessons and structures to support this. It would be nice not totally re-inventing the wheel...

building a culture (started 4-30, finished today)

I've spent a little time each day on reviewing each classes posts to one another and also updating the class list of values. It has been cool doing activities and discussions in class as well as on line. I've been able to reference things students have said to our codified class list of values. Even students have referred to it a couple of times, including once when a student challenged another student saying that he wasn't adding anything new to the conversation, just repeating other people's stuff.

See the screen shots at the bottom showing Period 4's list and their comments listed below. This is an un-edited list, of course so you get what's there.

There is much to do in this area:
  • Don't have a list for each class, but have a single list of values that all of my science students and I can agree to. What's a process by which to do this that is effective and maintains all students buy-in? Is this possible while allowing for and developing the unique personalities of each class?
  • Bring professional scientists into this dialog.
  • Find effective ways to grow the culture--for example, start with just a couple at the start of the year and constantly re-visit the list, adding and improving and changing as the year goes on?
  • What are different strategies to bringing this to life in daily class? That is, what is scaffolding for both the students and I to help us develop the habit of mind of referencing what we do relative to agreed upon community values.
  • How do we keep this a living list?
  • Of course, all of the answers must be practical or they won't be used!
Here are 3 screen shots showing period 4's web page of values..

Minnesota Penguins Unbound Installfest AKA good times (this is a post started about 6 weeks ago)

Today (4-25-09) I came to TIES where Brian Dolan-Goecke organized and hosted the semi-annual Ubuntu InstallFest. It's a good time for all, Linux nerd or wannabe. I fall into the latter category but am slowly becoming more of an asset to the community, I hope. In that spirit, I asked Jack Ungerleider to take some notes as he set about solving a pernicious problem with my Plone 3.1.4 PIL installation. In brief, the problem was that I could upload images eg a jpg onto the site (though there would be an error message) and then trying to use fancy zoom on them the expanding picture would be...nothing. Anyway, he got it working and here is what he wrote.

Tkinter support:
install python-imaging-tk
set TCL_ROOT in setup.py to "/usr/include/tcl"

Build PIL using python2.4 setup.py build
If Tkinter support ok then
Install PIL using sudo python2.4 setup.py install

He also gave some ideas about backup which I will address this summer.

Simple backup
tar -cvf /where/you/want/output/givenametofile.tar Root/level/of/source

(for external drive /media/disk-name)

tar -cvf /Volumns/UbuntuServerBackup1/4-25-09.tar

Thursday, June 11, 2009

LoggerPro and Edubuntu and thin clients

Hurray! Vernier Software recently released a Linux version of their super software, "LoggerPro". I'm installing it on my Edubuntu thin client server.

To get the software I went to this page and signed up for the public beta at which time they sent me a link to the software which I downloaded. I unpacked it into 2 .deb files. So I looked up and quickly found out how to install a .deb file on Ubuntu. You simply type:
sudo dpkg -i package_file.deb (where 'package_file.deb is the absolute path to the .deb file I want to install)
at the prompt as described on numerous pages. I installed the driver file and then the loggerpro file. However, the real adventure began as I tried to find the installed programs. I did a search using the 'find' app in the places menu typing in loggerpro and logger and all to no avail!

After spending a good time googling, "where are .deb files installed" "Ubuntu .deb files installed" etc etc I was getting frustrated. There was no 'finally'. However, on one page I read something about the admin program Synaptic which sparked an idea so I opened it, typed, 'logger' and quickly found the files were installed at: /usr/share/local/

I logged into a thin client and tried to open the 'startup.cmbl' file but nothing happened. I reasoned that maybe I should have installed the 2 .deb files in reverse order and did so. I restarted the server for good measure. Still clicking on the startup.cmbl did nothing. Then I dragged a copy of an experiment file I had saved on my flashdrive onto the desktop and double clicking on it did nothing. And, I just tried to start it on the server (remotely via NX Client) and while a window did pop up on the screen for a half second, it still didn't work.

I just got the idea trying to install it from the command line but that didn't work, either. Hmmm time to go to forum and ask for some help.

Monday, June 01, 2009

Using FLE3--Creating the context with the wrong question

Note to self--When choosing the key question for the course context the question need be plenty big--if it is too specific--even if very profound--it won't easily allow for being broken down to smaller, specific questions. Of course students can ask parallel question but that's pretty difficult. Let students ask the specific question based on their activities.