Wednesday, November 04, 2009

Starting and Stopping the CmapServer

One can stop CmapServer using AdminTool. To get AdminTool just download the CmapServer software from the IHMC site. The only thing you need from the folder is the AdminTool application.

Rodrigo from IHMC fame told me how to start the CmapServer and stop it from the command line interface. First ssh into the server running the CmapServer. Get to the right location and run the command mentioned shortly. To get to the right place I need to 'sudo su' since I installed as root. Then cd to /root/IHMC_CmapServer. At that point I can run the following command to start the CmapServer:
nohup ./bin/CmapServer &
(then it replies:)
root@cmap:~/IHMC_CmapServer# nohup: ignoring input and appending output to `nohup.out'
(and inserts a blank line and it is then that I enter return again and I'm back to the prompt!)
And to stop it you need to first find out the CmapServer process ID:
ps -Af | grep -i CmapServer
(it won't be obvious which number is the PID. The first word of output will be 'root'. right after that is the PID#. Also, there will be a line for the actual 'grep' process--ignore that line.)
Then to stop it using the just-discovered process id:
sudo kill -9 PID (where you type in the process id # in place of 'PID')
(for example, 'sudo kill -9 1286)
To make configuration adjustments you need to first become root, then open the file with an editor such as nano:
sudo su
nano /root/IHMC_CmapServer/bin/serverconfig.txt



Sunday, November 01, 2009

Hiding the 'user' and 'news' and 'events' folders in plone

This was such a cool thing I've needed to do for a while on my Plone sites.




sfulmer
Member
From: New Mexico, USA
Registered: 2006-12-07
Posts: 27
Website

Re: Hiding News, Events, Users tabs in Plone? Default page in folder?

To hide tabs:

From the Plone Control Panel, go the the Zope Management Interface.

Click portal_properties, then navtree_properties

In the field 'IdsNotToList', enter the ids of the folders for which you do not want to generate tabs (one item per line)

Click 'save changes'

OR you can turn off automatic tab generation altogether and define tabs in portal_actions in the ZMI.

To set a default page for a folder, use the 'display' content menu, click 'change content item as default view'


Wednesday, July 29, 2009

Install CmapTools in chroot for LocalApp

This is a big accomplishment. Thanks to Ahmuck, ace_suares, mhall119|work and ogra, not to mention Tom Marble and 1 blog on the internet that I already lost track of. Here are the directions to install CmapTools on a chroot so that it works as a local app.

Make X session work, type in terminal:
  1. xhost +
  2. sudo su
  3. export DISPLAY=:0
Then to make it work for root, too.
  1. This needs to be installed where the root that will be running the shell script is located--the root in the chroot. Use this, still as root)
  2. cp /home/dgroos/.Xauthority /opt/ltsp/i386/root
  3. cp /home/dgroos/.Xauthority ~/
  4. exit (gets you out of the root account--this is important!)
Now you have to do some stuff to be able to install it in chroot--this is dangerous magic...
  1. sudo mount -t proc proc /opt/ltsp/i386/proc
    sudo mount --bind /tmp /opt/ltsp/i386/tmp
    sudo mount --bind /dev /opt/ltsp/i386/dev
    sudo mount --bind /home /opt/ltsp/i386/home
    sudo cp /opt/ltsp/i386/etc/passwd /opt/ltsp/i386/etc/passwd.bak
    sudo cp /opt/ltsp/i386/etc/group /opt/ltsp/i386/etc/group.bak
    sudo cp /etc/passwd /etc/group /opt/ltsp/i386/etc
    sudo chroot /opt/ltsp/i386/ su $SUDO_USER
and now you will be able to X-session in the chroot to hearts content. To install cmaptools I had already (before starting any command on this page) moved the cmaptools bin file into the chroot root folder. So, I cd'ed into that folder and ran this command to initiate the install script: sh LinuxCmapTools_v5.03_04-07-09.bin. It launched the graphical user interface, I didn't select the typical install and when it got to the page asking where to install it I typed in: /usr/lib which remember is from the chroot's perspective. I also assigned the logs to go into /var/logs or something, but maybe that was wrong--I'll find out.

MAKE SURE YOU DO THIS WHEN YOU ARE DONE INSTALLING--DON'T FORGET--or terrible things may happen, (you never know what).
  1. exit (in other words, you've got to get out of being the root user)
    sudo mv /opt/ltsp/i386/etc/passwd.bak /opt/ltsp/i386/etc/passwd
    sudo mv /opt/ltsp/i386/etc/group.bak /opt/ltsp/i386/etc/group
    sudo umount /opt/ltsp/i386/home
    sudo umount /opt/ltsp/i386/dev
    sudo umount /opt/ltsp/i386/tmp
    sudo umount /opt/ltsp/i386/proc
Cool, Ay?

Finally, I added both CmapTools and /usr/lib/IHMC_CmapTools/bin/CmapTools in the lts.conf file with sudo gedit /var/lib/tftpboot/ltsp/i386/lts.conf. Finally, I rebuilt the image with sudo ltsp-update-image to get those changes I had done into the image that gets loaded into the thin client at boot time.

Next step is to get it to boot as a local app!
And typing this into terminal did it...
  • ltsp-localapps /usr/lib/IHMC_CmapTools/bin/CmapTools
or... put this in for the command in a launcher' properties:
  • xprop -root -f LTSP_COMMAND 8s -set LTSP_COMMAND "sh /usr/lib/IHMC_CmapTools/bin/CmapTools"

:)

Sunday, July 12, 2009

Meeting with Professor Paul and Trevor

As the summer wore on, so did the hours spent in front of the computer. Sure there was progress but extrapolating its trajectory wasn't encouraging. I knew I really needed Linux help... This is not to say that I hadn't been receiving tons of great help from the #edubuntu irc, edubuntu user and devel lists, nonetheless I needed something more.

I e-mail Paul Imbretson, a professor at the University of Minnesota to ask for ideas or support for the server setup, suggesting that perhaps he knew a U of M student who might be interested in a service learning project... I got Professor Imbretson's name from Haftom, someone I had met at a Teknie event. Long story shorter. I heard about their cool partnership with North HS Angela and her science class' partnership with a town in Nigeria where they are working on building relationships--and wind power. It ended with Trevor and I creating a quick google doc to organize and help coordinate our work. It has a grid of tasks to be done with related columns. It also has a log at the bottom to record efforts. This was hugely encouraging!

Saturday, July 11, 2009

GCoS PD--Day 3

  1. We looked at Eddie's Standards web. It doesn't have the connecting phrased between the bubbles--just connecting lines--it isn't a concept map, instead it's a 'web'. In contrasting the colored bubbles with the blank background bubbles at the back, we discussed what words to use in these questions. We concluded that, by avoiding jargon (science vocabulary words) these maps of the standards can server as guides to students (and families) before studying a unit. In other words, a student can often get an idea of what they will be studying before having studied--not possible with the regularly worded standards. Here is how his web looked when he brought it in. I'll repost in a while when he has further-improved them.
  2. Luckily, there is an instructional framework which one can use to grow a community of (novice) scientists: Progressive Inquiry. I introduced it with the help of this diagram which comes from this page, and overview of many of the ideas I've presented are on that page, with links to further pages. Lots of great work about knowledge building in science classroom comes from this research group.
  3. I then introduced a software tool called FLE3 which scaffolds knowledge building in a classroom. This is a tool that has a fairly steep learning curve, so Eddie had the idea of making poster-sized printout of each of the pages students encounter, posting them in the classroom, making them ever-present and available for public reference as needed.
  4. "To teach with a tool we need to be users of the tool." This statement is a general principle of GCoS classrooms. We are starting a FLE3 knowledge building discussion with the context (note we are using a question): What does a classroom community of novice, KB scientists act, look and sound like? We've posted some sub-questions (threads) such as: 1. What specific student behaviors are we looking for? (James); 2. What does KB mean? (Eddie); 3. What is the role of questions in a KB community? (me); 4. "Experimenting".
  5. We learned about using FLE3. Numbers 6-8 below show some of the significant ideas we had...
  6. ... Start a Context (Unit of study?) with an essential-type question. It provides a rallying point around which one can assess if one is addressing the topic... or not.
  7. ... The very first time a class uses FLE3 the first thread ought to be one in which users can experiment with the FLE3 tool. Thus the thread mentioned above, "Experimenting". In this thread, users would not need to use any of their attention thinking about questions, answers, knowledge types, etc, but instead ask, 'what does this button do?', 'how do you get to this screen?', etc. Providing a space like this in the first (maybe second also?) context will decrease ineffective posts in the rest of the content-oriented threads.
  8. ... At the VERY first interaction students have with FLE3, I'd copy one from a previous year, add a generic student account and allow students to enter this copy of the FLE3 and explore it--seeing how it was used.
Our homework for the next meeting is to use the FLE3 from our home and build some knowledge about GCoS.

GCoS PD--Day 2

  1. We started by looking at Eddie's concept map of his 'values, mission and goals'. Our talk was split between the map and the use of the software, CmapTools. Considering that Eddie's been using CmapTools for over a year now and I've used it for better than 3, it's interesting to note that there's still much to refine in our practice.
  2. When James arrived we continued the discussion of developing scientific habits of mind. (Here's a map of some. Please don't be dismayed with the security warnings your browser will give when trying to see this map--we have not yet purchased one of those, 'security certificates' which causes the browser to not give these security warnings.)
  3. This was intertwined with our talk of Knowledge Building epistemology. I commented that a metaphor that comes to my mind when I think of knowledge building was a circle of people batting a beach ball around, each person adding their own spin to the 'knowledge object', seeking to improve it with each interaction. I said that this metaphor breaks down when you consider that the beach ball (ie the knowledge object) doesn't really change in important ways.
  4. Then Eddie came up with the idea that you could do this activity in class but each person would add a sticky note with one of his/her values written on it! That was cool! We batted this idea around a bit more, each improving the idea. Here's the final state of this knowledge object (class activity): Each person gets a piece of masking tape, writes what he/she would like to propose as a shared value for our class, and as the beach ball bounces between all class members, slaps it on the ball, improving the object. After this, as a class we would analyze the entries (the second half of this post) on the ball and decide which ones we wanted for our community.
  5. We practiced collaborative editing of concept maps. As we did this we discussed values and accomanying norms that follow from them while synchronously editing maps. James changed something on Eddies map of his values/mission/goals and we came up with the idea that one ought to be sensitive when changing another person's ideas! I shared ideas of the layout of bubbles on a concept map as I re-arranged the layout of Eddies map, though not changing what was written nor where the links were attached. Some of the principles of layout are: Group Clusters and have some white space around them, aim for palmate structure and not serial or 'chain' structure, avoid crossing lines...
  6. Thinking about the tools we had to master as well as teach our students (ie novice scientists) to master, Eddie mentioned the need for a basic set of instructional flow maps, such as this one, that would tell how to use these tools. I need to identify this set of basic instructions...
  7. Our homework was to create kid-friendly webs of the MN state science standards, converting each sub-standard into jargon-less questions such as this one on the nature of science that I made when I taught 8th grade.

Monday, July 06, 2009

GCoS PD--Day 1

We're getting together for some professional development. I'm leading, we're all learning (creating knowledge in our community)
  1. A major goal for this day was to initiate software tools-- joining and getting proper access to the GCoS site, this coming year's Class site, FLE3 and CmapTools on the CmapServer. This process was time consuming and a bit bumpy but also was successful.
  2. A second major goal was to do the "epistemological discussion". Numbers 3-8 are the points covered in this discussion. I argued...
  3. ... That theories/models (such as Dalton's theory of the atom or constructivism) do NOT tell how the real thing works, just like the map isn't the territory.
  4. ... That as our theories/models/maps develop they don't become ever-more accurate descriptions of 'reality'. Not everyone agreed with this. I asserted that these theories/models become more successful at solving the problems we care about, using the tools and 'habits of mind' available to the community.
  5. ... That, for many (hundreds?) of years, at least in the western world, we've consider the mind like a container and knowledge as a thing to acquire: the "Mind as Metaphor" and "Acquisition Metaphor of learning". Both traditional "Transmitter-Receiver" and more modern "Constructivism" models of learning are within the Acquisition Metaphor of Learning.
  6. ... That in the last 20 some years another model of learning has been/is being developed that looks at learning differently. That it sees learning as 'authentic participation' in a community of practitioners such as plumbers or scientists. Knowledge in this view is not a thing, but an action w/in a community. This model has gained great favor these last years.
  7. ... That there has been a great argument between these 2 camps, the acquisition and participation groups. It has been somewhat resolved by accepting the, 'map isn't the territory' arguement. That, each metaphor or model of learning is useful to solve particular educational problem--of course neither handles all challengers.
  8. ... That more metaphors have been created that can be grouped together and called a, 'Knowledge Creation" metaphor. This theory of learning subsumes the acquisition and participation models. The version of this metaphor that I'm using as my main framework for Growing Communities of Scientists is the "Knowledge Building" model. Note, this Wikipedia article is becoming less useful and more ideological over time but it is an introduction.
  9. Finally, we ending on talking about developing community values. We briefly looked at the AAAS site which shows Benchmarks--we looked at chapter 12, "Habits of Mind". Our homework was to make a concept map on the shared server of our values, goals and mission and then too read chapter 12, at the high school level, and start to consider a concept map showing shared values, attitudes and beliefs of the scientist community.
All in all, we got a lot done, did tons of talking/sense-making in the 3+ hours we were together. Yes, I was more than satisfied :)

Saturday, July 04, 2009

Setting up a GCoS Edubuntu thin client server

The GCoS Edubuntu Server needs a variety of capabilities. The following lists them . If you see ** at the start of the line, it shows that capability set up.
  1. **Run Edubuntu on Jaunty Jackalope (9.0.4).
  2. **Use the built-in thin client server--LTSP 5.
  3. Use Gnome Watchdog to auto kill stale processes.
  4. Use the LocalApps solution for the following programs: Firefox 3.5, CmapTools, JRE, JVM, OpenOffice Suite.
  5. Use Webmin for management of server. It is necessary to install and change port number from 10000 to something like... PSM, before installing and configuring iTALC which also wants to use this port.
  6. An effective replacement for the standard, "Users and Groups" system application.
  7. Remote Desktop solution using NoMachine's NX Free Edition For Linux --DEB
  8. Management of thin client machines with iTALC.
  9. Management of users desktop environments with Sabayon (currently in Jaunty Beta)
  10. Easy to use software to view user's Firefox 'histories'. The presence of an effective accountability system proactively discourages abuses.
  11. Setup printers on local LAN.
The district has agreed to install or to consider to install the following capabilities:
  1. Squid Proxy
  2. SquidGuard to manage user internet capabilities. level1, level2, level3
  3. LDAP integration with district AD.
Firefox details:
  1. Java apps such as at the phet site, need to work well.
  2. Flash content needs to work well.
  3. Quicktime content needs to work well.
  4. Firefox management program would be great--control things like not allowing students to erase history, change proxy settings, etc. It would be awesome to tie in this management system with the level1, level2, level3 permission management system.
Additional Resources
  1. Edubuntu users mailing list archives
  2. Edubuntu developers mailing list archives
  3. Re-building the chroot
  4. Curent LTSP on line admin reference guide
  5. Ubuntu documentation on LTSP --lots of links to other pages, mainly.
  6. LocalApps on Jaunty LTSP--this is a key doc. Refers to related page
  7. LTSP user forums in sourceforge
  8. iTALC site
  9. iTALC on LTSP--pending
  10. Sabayon
  11. Gnome Watchdog
Hardware Description
  1. Servers: 2, dual-core Xeon processors, 2.8 GHz, 3 GB RAM, RAID5, running Ubuntu Jaunty Server edition w/LTSP enabled.
  2. Clients: 2 kinds: Pentium III 933 MHz, at least 384-512 MB RAM, 100 MB NIC/ Pentium IV, 2.4 MHz, 512 MB RAM, 100 NIC.

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".
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.

Sunday, May 17, 2009

Work around for Java on LTSP on Ubuntu 8.0.4.2

Note to self--
Until Java is properly implemented on Ubuntu 8.0.4 LTSP I'll need to use the following work around as per this bug report. This is the second time I've installed this fix. The work around involves replacing the hardy libx with the gutsy libx.

Of course I got the update message that I had an old version of a file on the system and that I should update it. I did end up updating it a bit ago (thus the need to re-install this fix) because I needed the hardy version for another install I was doing.

Thanks to all the hard-workers out there for creating and communicating the work arounds. Since a lot of that is opaque for me, I'll record the essential elements:
  1. Download this file to my desktop: libx11-6_1.1.1-1ubuntu4_i386.deb
  2. Type this in at the prompt:
    # sudo dpkg -i '/home/dgroos/Desktop/libx11-6_1.1.1-1ubuntu4_i386.deb'
  3. It will give me a warning that I'm downgrading the xlib file as it installs it.
  4. I just found something to let the system know that I want the old version of this file here and so it will stop telling me to upgrade it. At the prompt I type the first line of the following to make sure that the status of the file is 'install' and as you can see from the second line, sure enough, it is 'install'
  5. # dpkg --get-selections | grep libx11-6
    libx11-6 install
  6. Next, I type the following command so that I have sufficient privileges for the 'hold' command:
  7. # sudo su
  8. Then I type:
  9. # echo "libx11-6 hold" | dpkg --set-selections
  10. ... and now when I check the status of the file using the command from # 5 above, it says that the status is not, 'install' but is instead, 'hold'.
  11. Nice, now when I run update on the computer it shows the libx file to update, but it is grayed out. I'm guessing that when I need to update this file I'll simply run the command on #9 above but instead of using the word 'hold' I'll type 'install'.

Friday, April 24, 2009

Aiming for a culture of scientific inquiry in our class community

bzzzzzip! moving to present day, not catching up--just jumping in...

There is something special about communication that's in writing as opposed to oral. It is permanent, you can craft it more carefully than talking, and it takes more effort. Additionally, I'm guessing it happens in a different part of our brain and thus people will express things in writing that they wouldn't, orally.

Online discussions have the additional characteristics that they are searchable and in this case, once they are out there, you can't take them back... It behooves people to be thoughtful about what they say. These characteristics make an online discussion beneficial for a developing community of novice scientists.

Yesterday, for the first time, students accessed a page in their classes folder on the web, on our plone site. The page was entitled, "As a community of Scientists we value..." On the page itself was information to scaffold student thinking on values. For example, I wrote:

As a Community of Scientists we believe, ...

...that when you are trying to prove your point in a discussion...
  1. It´s important to...
  2. It´s important to...
  3. It´s important to...
So, students brainstormed things like (these were their words, note the teacher-language in them):
  1. It´s important to... speak loud and clear.
  2. It´s important to... give details and evidence.
  3. It´s important to... respond in a respectful manner.
Everything up to this point was done in a whole-group setting, and I was stretching their attention (mom and dad used to say, "No souls are saved after 20 minutes"--a small town preacher's saying). So, how do I make it so that everyone can simultaneously jump in and discuss, in writing, this topic of shared values? Step in the Computer-enabled science classroom! Students logged into their account, opened Firefox and went to our class website, managed on a CMS, Plone. I had prepared a page to scaffold this next step.

Since plone doesn't allow for simultaneous editing of a web page (and I don't think my students would succeed doing that, yet), I instead used plone's commenting feature. I had students either add a comment to the (bottom of the) page, or reply to someone else's comment. So I opened things up, and got some important (and predictable--I've been teaching for 20 years :) stuff.

Below is a screen shot of the first comment that was made in 1st period, along with a response made to it by Jonathon from 2nd period. The first comment by Basilio was a practice comment to make sure posting worked. The reply to the first comment was actually done during 2nd period, in other words, it was done after all (about 20) posts had been made during period 1.

On the second day, I projected these comments on the overhead screen. After clarifying that the first post was a test, I asked students if they saw something important for a class value in the second quote. The response was a chuckle and a predictable sense of "let's knock down the teachers idea". I carefully avoided responding to this tone and asked students what it was that they liked about this post. Rather amazingly a student responded that he thought it was important to be skeptical of things. I was impressed by the (9th grade) students sophistication and word choice. Maybe I should not have been... Hmmm...

This provided me with an opening so I then turned to the rest of the class and asked them if they felt it was important to be able to question or challenge what other people are saying. There was widespread agreement with that. The class finally chose this wording for this class value: "Disagree with someone when you think he or she is wrong." A person at table 1 wrote that value, recording it for our class.

Then, I asked if there was anything that people didn't like about this post. Marlon said he didn't think it was very respectful, and a few people agreed with that. So I asked, "So what are you saying is our value?" There was some back-and-forth between several members of the class, and DeAndrew succinctly said, "Disagree in a polite way and have reasons proving your disagreement." A volunteer at table 2 wrote that down as our second value.

With this process, together we are starting to codify a set of values for our scientific community. I only did a few, not wanting to spend too much time on this.

Much remains including further filling out this list which is now posted on line for each class, improving the clarity of the listed value and its presentation, and of course the big one of developing and 'privileging' these values in our community. This process needs to be done in the context of our class performing scientific inquiry. The nice thing about online discussions is that we can always analyzie and reflect on what was said.

As always reader (s?) comments are welcome.