Saturday, March 23, 2013

CIS(theta) 2012-2013: March Update




Computing Independent Study 2012-2013



MARCH UPDATE
We only had only one meeting and all we did was set up for Game Day! We had an OpenArena LAN Party all day yesterday. Thanx to KyleS (period 1), fun was had by one and all! All the brownies and cup cakes were great too! Thanx to JessicaP (period 6) and LeslieM (period 8), noone left hungry! 

Yesterday (3/22/13) was the Friday before break. It had the feeling of a celebration like the day before XMas break. I suppose that's because we haven't had a break since then. 

Not only did Hurricane Sandy close the school for 10 days and condemn the Math building, but it cancelled Midterm Week and February Break too! Thanx a lot, Sandy....


FEBRUARY UPDATE
We finally got around to writing mandelSeq.py and mandelMPI.py using MPI4PY, mathplotlib() and spectral but only on 3 cores. Our work is based on Lisandro Dalcin's excellent materials listed below. We ran mandelSeq.py as an executable file from the terminal just like any standard python program. To accomplish this we added:
#!/usr/bin/python
as the first line of the file and ran:
chmod 755 mandelSeq.py
to make an executable. mandelMPI.py is executed like helloMPI.py:
mpiexec -n 3 python helloMPI.py





JANUARY UPDATE #3
OOPS, we got our signals crossed and had to postpone this meeting! Next time I think we'll try to render some Mandelbrot Fractals. If we ever get back to our old room, we could make a FractalZoom movie using 100 cores instead of just 3....


JANUARY UPDATE #2
Finally, we got helloMPI.py working today on a single node with 3 cores! We wrote the following code:

1 from mpi4py import MPI
2
3 rank = MPI.COMM_WORLD.Get_rank()
4 size = MPI.COMM_WORLD.Get_size()
5 name = MPI.Get_processor_name()
6
7 print ("Hello, World! "
8 "I am process %d of %d on %s" %
9 (rank, size, name))

We saved this text in the file helloMPI.py in the pelicanHPC home dir. Then, from a shell in the home dirm we executed this code by:
mpiexec -n 3 python helloMPI.py

We downloaded the new ISO with mpi4py from http://www.pelicanhpc.org and followed this tutorial: http://pareto.uab.es/mcreel/PelicanHPC/Tutorial/PelicanTutorial.html and this one too: http://pareto.uab.es/mcreel/PelicanHPC/pelicanhpc.pdf and http://pelicanhpc.788819.n4.nabble.com/How-can-i-find-out-which-are-processes-are-being-sent-to-which-node-td3034955.html and http://www.linuxpromagazine.com/Issues/2009/103/CLUTTER-TO-CLUSTER



JANUARY UPDATE #1
We tried to isolate our LAN from other DHCP servers but could not. So we still only have individual 3-core SMP boxes running at about 1.2 GFLOPs. We also tried our hand at mpi4py, but we have a way to go in that department too!
UPDATE: mpi4py was left out of the current pelicanHPC by mistake! No wonder mpi4py didn't work! Look here:
http://pelicanhpc.788819.n4.nabble.com/pelicanhpc-2-9-amd64-and-mpi4py-td4650446.html



DECEMBER UPDATE
We finally had a chance to meet this month in our new PC Lab! We got pelicanHPC to run 3 cores at about 1.2 GFLOPS. We have AMD Phenom IIs. These CPUs are supposed to be quad-cores. It seems one core is dead. Even so, that's not a bad start. However, we could only run pelican in SMP mode. We could not PXE boot any other nodes. We are also looking into Flame Fractals.
********************

NOVEMBER UPDATE
Sorry to say that we had no meetings this month. I was hoping for 3 meetings, but Hurricane Sandy changed everything! We are in a new room where we may be able to try out liveLinux CD based MPI clusters next month. Stay tuned!
********************

OCTOBER UPDATE #2
That was a great meeting today! We burned 8 CDs of Precise Pangolin and reinstalled the whole back row of our PC LAB/Classroom. Many thanx go to Jeremy for coming to vist today and lending a hand! 
RELATED POST: http://shadowfaxrant.blogspot.com/2012/11/pc-lab-period-of-reconstruction-at.html

Here's the steps we followed for a minimal install of the Student Stations (64bit Athlons):
Step1: 
Reboot each Linux box with the current  CD. Answer some basic questions about time zone, userid, passwd, no login on bootup, etc.
Step2:
Reboot each Linux box without the CD. Make sure to configure the gigE cards and proxy server:
IP: 10.5.129.x
NetMask:255.255.0.0
GateWay: 10.5.0.254
DNS: 10.5.0.254
Proxy: 10.0.0.125
Step3:
Configure System Settings as desired (unit circle trig calculator background, no screensaver, etc).
Step4: 
We had to switch Software Sources in the Ubuntu Software Center (edit/source) to Main before this would work:
sudo apt-get update
sudo apt-get upgrade
Step5:
Now, we could use the Ubuntu Software Center to install WINE.
Step6:
I copied my VTI83 and VTI89 directories from my memory stick to the Desktop. Then, after editing preferences to have VTI open with WINE, I configured each calculator.
Step7:
I will edit my /etc/crontabs tomorrow....
Step8:
We haven't decided what else we may have to install (local SAGE server, JRE, openSSH, openMPI,etc). We'll have to think about that! Here's some info on install fests from prior years:
http://shadowfaxrant.blogspot.com/2011/05/2-so-many-hard-drives-so-little-time.html
http://shadowfaxrant.blogspot.com/2011/01/then-god-mage-midterm-week-and-saw-that.html
http://shadowfaxrant.blogspot.com/2010/06/so-many-linux-distros-so-little-time.html
********************


OCTOBER UPDATE
We decided to try out the new Ubuntu Linux 64bit Desktop 12.04 nicknamed Precise Pangolin. So we surfed on over to http://www.ubuntu.com and downloaded the latest ISO. We burned the CD, rebooted a guinea pig box and reinstalled it. This should be a simple procedure as we no longer use dualboot or dualnic boxes. However, we ran into a SNAFU right away! Intranet gigE works fine, but we can't get on the Internet? OOPs, we forgot the network proxy. If at first you don't succeed, try, try again!

Ubuntu Release History
4.10 Warty Warthog (mammal)
5.04 Hoary Hedgehog (mammal)
5.10 Breezy Badger (mammal)
6.06 Dapper Drake (bird)
6.10 Edgy Eft (amphibian)
7.04 Feisty Faun (mammal)
7.10 Gutsy Gibbon (mammal)
8.04 Hardy Heron (bird)
8.10 Intrepid Ibex (mammal)
9.04 Jaunty Jackalope (mythical beast)
9.10 Karmic Koala (mammal)
10.04 Lucid Lynx (mammal) 
10.10 Maverick Meerkat (mammal) 
11.04 Natty Narwahl (mammal) 
11.10 Oneiric Ocelot (mammal) 
12.04 Precise Pangolin (mammal) 
12.10 Quantal Quetzal (bird) release: 10/18

Guardian, our ssh server, is running 10.04 32bit. Guardian has a dualcore 32bit intel Xeon processor with 2GB RAM and a 512GB RAID drive.

Caprica, our ftp server, is running 10.04 32bit. Caprica has a dualcore 32bit intel Xeon processor with 2GB RAM and a 512GB RAID drive.

Shadowfax, our teacher station, is running 11.10 32bit. Shadowfax has a dualcore 64bit amd Athlon processor with 2GB RAM and a 256GB hdd. We use a 32bit OS here as SmartNotebook doesn't run on 64bit....

Alpha-Omega, our student stations, are running 11.04 64bit. These Linux boxes, like Shadowfax, have dualcore 64bit amd Athlon processors with 2GB RAM and a 256GB hdd.

We are only upgrading Alpha-Omega to 12.04 (or 12.10 if it's available when we upgrade in a couple of weeks). We are also waiting for a hardware upgrade for Alpha-Omega to amd quadcore Phenoms!
********************

SEPTEMBER UPDATE
We had our traditional first organizational meeting:

(1) Wreath of the Unknown Server: 
We visited our first ssh server, Colossus, which is still in the switch room though dormant. I set it up for the first time in 1995 running Slackware Linux. Colossus ran for 12 years straight, 24x7 never having to shut down, reboot or even have anything re-installed! Colossus would not die. We finally just replaced Colossus with a dual-core Intel Xeon box complete with a RAID drive running 1TB. Old Linux boxes never die, they just fade away...


(2) Display Case Unveiled: 
We took down a ton of fractal prints and ray tracings from Room 429 to the 2 cases on the 1st floor near the art wing. We decorated both cases as best we could and left before anyone saw us. Must have been gremlins.

(3) Recruiting 2012: 
We decided that we did not have a good pool of candidates to recruit more CIS(theta) members for this year's Geek Squad, so we tabled that topic.

(4) Planing 2012: 
Next meeting would have been 9/28 but that's Yum Kipur. So, we have to wait another 2 weeks after that for 10/10 at which point Ubuntu Precise Pangolin 64bit release 12.10 Desktop Edition should be available for a mini install fest. After that, we may use bootable cluster Linux CD distros to learn MPI.
==================================
What we are researching I (Sept)
(look what this school did in the 80s): 
Thomas Jefferson High courses
http://academics.tjhsst.edu/compsci/parallel/
Thomas Jefferson High paper
http://www.tjhsst.edu/~rlatimer/techlab07/BWardPaperQ3-07.pdf
Thomas Jefferson High ftp
http://www.tjhsst.edu/~rlatimer/techlab07/
Thomas Jefferson High teacher
http://www.tjhsst.edu/~rlatimer/


What we are researching II (Oct)
(clustering environments): 
Parallel Virtual Machine
http://www.csm.ornl.gov/pvm/
openMOSIX
http://openmosix.sourceforge.net/instant_openmosix_clusters.html
Message Passing Interface
http://www.open-mpi.org/


What we are researching III (Dec)
(instant MPI clusters via liveCDs): 
Cluster By Night
BCCD
pelicanHPC
Flame Fractals
http://en.wikipedia.org/wiki/Fractal_flame


What we are researching IV (Jan)
mpi4py
http://mpi4py.scipy.org/


What we are researching V (Feb)
mandelSeq.py and mandelMPI.py


==================================
Today's Topic:
CIS(theta) 2012-2013 - mandelMPI.py


Today's Attendance:
CIS(theta) 2012-2013: Kyle Seipp


Today's Reading:
Chapter 5: Building Parallel Programs (BPP) using clusters and parallelJava
==================================
Membership (alphabetic by first name):
CIS(theta) 2012-2013: 
Kyle Seipp

CIS(theta) 2011-2012: 
Graham Smith, George Abreu, Kenny Krug, LucasEager-Leavitt

CIS(theta) 2010-2011: 
David Gonzalez, Herbert Kwok, Jay Wong, Josh Granoff, Ryan Hothan

CIS(theta) 2009-2010: 
Arthur Dysart*, Devin Bramble, Jeremy Agostino, Steve Beller

CIS(theta) 2008-2009: 
Marc Aldorasi, Mitchel Wong*

CIS(theta) 2007-2008: 
Chris Rai, Frank Kotarski, Nathaniel Roman

CIS(theta) 1988-2007: 
A. Jorge Garcia, Gabriel Garcia, James McLurkin, Joe Bernstein, ... too many to mention here!

*nonFB
==================================
Well, that's all folks, enjoy!
Happy Clustering,

Friday, March 22, 2013

UPDATE:Flipping The Classroom: "To flip or not to flip," that is the question!



UPDATE:UPDATE:UPDATE:UPDATE:UPDATE

Wow, look how much my views have changed on this subject since I posted this in 2011! I use my YouTubes from years ago to flip my classroom. That way, even if I do a lot of WhiteBoarding in class and lecture less, my students don't miss out! 

I do what I call a "Modified Flip:"

I ScreenCast any day I cover a new topic. Then I upload the video to YouTube and link it on Edmodo. I don't expect students to watch videos on a given topic before I cover it in class. I have them watch the video the same night I upload it to help with homework. Students also find these videos helpful if they missed the class or want to review an old or confusing topic from earlier in the year.  

Each weekend, as a weekly summary, I also post all my ScreenCasts and SmartNotes to my blog. SmartNotes I upload to SlideShare and link to my blog.

I also do coding in some of my classes. I upload code to Pastebin, Programr or SageMath.

UPDATE:UPDATE:UPDATE:UPDATE:UPDATE

What follows is an email I recently posted to the AP Computer Science listserv that I thought you'd appreciate:

Flipping the classroom has been a controversial issue for science teachers for some time now as evidenced on the AP Physics listserv. It's only natural that we, as Computer Science teachers, would like to emulate this fad. The idea is this:

(1) if you have sufficient electronic materials such as ppts, pdfs or mp4s, and
(2) if you have sufficiently motivated students ready for said material, then
(3) you can assign most of the traditional class work to be done at home, and
(4) you can focus on the lab work with the students in class!

The problem is that this model is meant to make the most of lab time for lab intensive courses. However, many teachers are flipping their classes even if they teach non-lab based courses. For example, some on the AP Calculus listserv are doing this. I have resisted this trend as I think that the students loose something in the translation. They are there, at least in part, to benefit from your guidance. You can flip a few classes or a unit or two for variety's sake and to see how it works for you. However, if you flip the whole class, you miss interacting with the students and adding your unique perspective on the topic at hand.

The Flipping Trend is a hard one for me to ignore as I have many of my classes recorded as ScreenCasts and SmartNotes that the students could easily view online at home and still get my perspective on things. I share these files with my students already for those that need to review a difficult concept or need to make up work due to an absence. I post these files as mp4s and pdfs on my ftp, blogspot, youtube, slideshare, pastebin and edmodo sites. I don't think I'd flip a Math class. However, my Computer Science classes could use more lab time....

Here's the rub: most of our students are not as well prepared or dedicated as we would like to think. So, many students probably won't complete the assignment at home. Those students will still be wasting lab time trying to catch up on what they missed at home. Let's face it, today's AP students are way too over booked with other AP courses and activities. Now the student is even farther behind the 8-ball!

Generally Speaking,

UPDATE: The Paperless Office! How's your 21st Century Classroom?

UPDATE:UPDATE:UPDATE:UPDATE:UPDATE

Here's an update to an old post I made 11/2011 but is still timely today. Below, please find a summary of my workflow for my 21st Century Paperless Classroom! I know I posted this over a year ago, but it pretty much summarizes what I still do today! The only difference is that I have a lot more of my own media to flip the classroom and I do a lot more whiteboarding in class these days. In addition to the blog itself, here's some of the new multimedia I generated in class for my students:





UPDATE:UPDATE:UPDATE:UPDATE:UPDATE



OK, I've got this down to a science! This year, I'm ScreenCasting from a Linux desktop with a real SmartBoard as needed and focusing on AP Computer Science with java (UPDATE: I'm recording Computer Science Honors this year). I hope you have been enjoying all the new recordings! However, I'm also using recordings from prior years for preCalculus and AP Calculus. Next year I hope to record Computer Math and Calculus Research Lab (UPDATE: BIN DER DUN DAT).



Typically, I start a Math unit on http://www.edmodo.com with an assignment sheet listing daily topics, homeworks, quizzes and tests for a whole chapter of the textbook. These assignment sheets usually span 2-4 school weeks. I link to the appropriate MP4 file from http://www.youtube.com/calcpage2009 to Edmodo daily and Blogspot weekly. I also link the current PDF from http://www.slideshare.net/calcpage2011 to Blogspot weekly. Note: I don't record, upload or link anything to do with review material, quizzes, tests or solutions (UPDATE: I did record some review sessions in Computer Science Honors this year). For example, today I linked to pre506.mp4 on Compounded Bank Interest from Youtube to Edmodo as shown above. I also uploaded pre506.pdf to Slideshare for future reference!




A Computer unit on Edmodo usually starts with uploading the current chapter as a PDF of our etext (UPDATE: I still don't have eTexts for Math classes). Then I upload the exercises for that chapter. Finally, I give out hardcopies only of the curent lab assignment or test (UPDATE: I cannot upload or record copyrighted documents unless I myself created them). Again, I link MP4s from http://www.youtube.com/calcpage2009 to Edmodo daily and to Blogspot weekly. I also link from http://pastebin.com/u/calcpage or SAGE to Blogspot weekly. For example, I recorded C5X0X1.mp4 today and uploaded it to Youtube and linked it to Edmodo as shown above. Further, I uploaded C5X0_DataSet.java and C5X1_QuadraticEquation.java to Pastebin for the weeekly blog.




In my Math classes, everything I do at the SmartBoard, including what I say, is recorded in real time! I attach a wireless lapel mic to my SmartBoard PC and run http://screencast-o-matic.com in the background (UPDATE: I lost the wireless mic due to Hurricane Sandy, so I use a USB mic now). Screencast-o-matic renders the recording as an MP4 file that I upload to YouTube (UPDATE: I'm using a desktop recorder called avconv these days as it renders quickly). SmartNotebook files can be exported to PDF and I upload these files to Slideshare as shown above. Actually, I'm using Xournal on 64bit Ubuntu this year instead of SmartNotebook as there's only a 32bit version for Linux, but the result is the same. I only use SmartNotebook as a pen app anyway (UPDATE: I'm using a 32bit Ubuntu Desktop right now, so SmartNotebook works fine).




My Computing classes are a little more keyboard intensive. I still use the lapel mic to record what I say as I type. However, for these classes I'm stuck at my desktop in the back of the room. I use a Bluetooth Wacom Gaphire 6x8 tablet, aka Smart Airliner Slate, to write on the SmartBoard remotely if need be (UPDATE: I'm looking into replacing the Graphire with a Droid Tablet like the Kindle Fire HD 8.9" using an app like SplashTop). TXT files I type for these classes get uploaded to Pastebin as shown above. I also upload new MP4s from Screencast-o-matic for these classes to YouTube.


https://clemix.clemson.edu:34567/home/pub/251


I link all these files to my blog weekly and to Edmodo daily for students that are absent or want to review old topics. However, I do not link files from pastebin or slideshare to Edmodo anymore. I find that doing so just clutters up the Edmodo page for each class (Edmodo looks and feels a lot like Facebook but is private for the teacher and students of each class). Otherwise, the result is a huge number of links from the beginning of a unit to the end making it hard to find the first postings, such as assignment sheets, when needed. The files on pastebin and slideshare do get linked to my blog on a weekly basis so students have access to written class notes whether it be SmartNotes as PDFs or code as TXTs. BTW, code for Computer Math and Calculus Research Lab is linked from my account on a SAGE server as shown above (CM 4.4 Infinite Series).



Well, that's all folks!
Teaching with Technology, 

PC Lab Period of Reconstruction at the High School!

UPDATE:UPDATE:UPDATE:UPDATE:UPDATE

(Wednesday 3/20)
Tech decided to re-image some of my Student Stations last night, so I promptly got out my Unbuntu 12.04 64bit USB Drives and reinstalled everything. It's a very simple, bare bones install plus WINE for VTI and IDLE for Turtle Graphics. I also had to set up the ethernet proxy and printers not to mention some minor preferences.

(Thursday 3/21)
The Teacher Station was also reimaged. I booted that box up with a 32bit Ubuntu 12.04 CD and did the same installation . I have to use 32bit as SmartNotebook does not work well in 64bit. I also installed chrome for ESchool

(Friday 3/22)
Also on the Teacher Station, I configured avconv for ScreenCasting and I installed SmartNotebook. I added drivers for playing DVDs and MP4s too including main sources, apt-get update, apt-get upgrade, apt-get install ubuntu-restricted extras

(Monday 4/1 - after break)
I will also add sshd, JDK and user accounts for APCS and maybe even JRE for jmol and keepvid to name a few reasons for JRE.

(Thursday 3/21)
In the mean time, I had to use WimpDoze all day! Period 1 5HBC and Period 9 4H was all about SmartBoarding. I used screencast-o-matic.com during Period 3 4R. I used interactivepython.org during Period 8 CSH to write and execute turtle.py code. Last, but not least, we used Programr.com to run our Chess960V3 and chessmaniac.com to play a Chess960 tournament in class!

UPDATE:UPDATE:UPDATE:UPDATE:UPDATE


BUMP! I'm moving this post up to remind myself of things I still have to do to imporve our new room. See "Notes To Self" below.

BUMP!!BUMP!! Before and after pictures below. The first picture shows the condition of our new room after about a week of clean up after we came back from Super Storm Sandy (11/14/12).

This Second picture is after 2 months of cleaning up, installing Linux, getting flat screens and losing external speakers plus extra wires, etc (1/7/13).

BUMP!!!BUMP!!!BUMP!!! All items in my ToDo list (note to self) below are finally complete!!!

BUMP!!!!BUMP!!!!BUMP!!!!BUMP!!!! The one thing in the ToDo list still giving me trouble is crontab. I'm trying to get it to block the internet during Math classes as I'm usually at the front of the room at the SmartBoard. During Computing classes I'm at the Teacher Station in the back of the room projecting what I type on the SmartBoard. When I'm in the back of the room I can see the students' desktops and know if they are on task. In anycase, Computing classes need internet access so I can share files with them! So, the problem with crontab is that I made it too complicated. It wasn't working at first as I made some entries in non-chronological order (see corrected file below ToDo list). Another issue is that some students have gotten wise to this and simply change the system clock to a different period!

Since Hurricane Sandy, I've been re-installing every PC I can find! It's been a really rough couple of weeks. Ever since we came back after Veterans' Day, I've been trying to fix our new room. This room used to be a resource room that was not really maintained by anyone and was a shambles when I first found it. BTW, it's really hard to re-install a lab when every period another class comes in! 

So, here's an updated version of http://shadowfaxrant.blogspot.com/2011/05/2-so-many-hard-drives-so-little-time.html 
explaining what I did in my new room: 


STUDENT BOXES (pc1-pc28 in Room 120) = 
64bit Ubuntu + SAGE + WINE + VTI 

My students need SAGE for Computer Science Honors. Other classes can use SAGE as a calculator in addition to VTI83, VTI89 or VTI92.



TEACHER BOX (pc29 in Room 120) = 
32bit Ubuntu + SAGE + WINE + VTI 
plus: JRE for http://screencast-o-matic.com and 3D graphs in SAGE, VLC and libdvdread4 to view *.mp4s and dvds, Chrome for https://esd.nasboces.org gradebooking and http://www.edmodo.com, and SmartNotebook for SmartBoarding! I had to down-grade the OS to 32bit since SmartNotebook does not work well in 64bit.



SERVER BOX  (none in Room 120) = 
32bit Ubuntu + JDK + openSSH (no more telnet or ftp - just ssh, sftp and scp) 

I don't have a dedicated server running 24x7 anymore in Room 120. Neither will the new server be available off campus. I'm simply adding jdk and sshd to the teacher box so my students can login to save their java files for APCS during class. I may add sshd to the student boxes so I can easily control their boxes remotely and copy files over the LAN.



Step 1) Live CD (32bit or 64bit Ubuntu Desktop 12.04 LTS)
Boot Ubuntu click install, answer on-screen questions and run install. Some of the PCs could not boot from CD, so we also used bootable USB. One machine will not boot either way. So, I wonder what I can do to install Linux on that box? Make sure to make Student Stations boot without a passwd (unlike Teacher Stations and Servers) since the user passwd is also the root passwd and I'm not giving that out! Also, make the box name and the userid the same so box name shows on top right of screen after boot up: 
-students = PC1-PC28
-teacher/server = shadowfax


Step 2) Partitions
Most of these Phenom II Quad-cores had an open 50GB partition, so I did not have to re-partition the hdds. A couple of PCs did not have said partition, so I left them alone. I may re-partition those at a later date. I had to setup a dual-boot install as I'm sharing the room with several teachers using Windows. After install was complete I had to issue the following command lines to make Windows the default boot partition:
sudo gedit /etc/default/grub
sudo update-grub


Step 3) Ethernet
-when the install process is done, reboot and remove the CD
-once the PC reboots and you get to the desktop, I used to right click the vertical arrow icon on the top right and edit the Ethernet interfaces. However, static IPs with ipv6 were already configured. So, I left DHCP on automatic for a change! Here's what I sued to do for future reference:
    eth0 set to auto DHCP (proxy and passwd needed for internet on school LAN)
    eth1: ip = 10.5.129.x (private Linux LAN)
            mask = 255.255.0.0
            gw = 10.5.0.254
            dns = 10.1.1.19
-test intranet connections pinging to 10.10.100.45 (new server)
-internet connections will be tested later (via proxy and passwd) when downloading jre*.gz, jdk*.gz, sage*.lzma and smart*.deb files.


Step 4) System Preferences and System Administration (minimal)
set appearance (as desired)
set brightness (as desired)
set network proxy (10.0.0.125)
set network printer (10.10.10.1)


Step 5) SAGE
I had the students download the SAGE *.lzma file http://www.sagemath.org. I installed Ubuntu 12.04 with this in mind, as I saw a precompiled compressed SAGE folder for that version of Ubuntu. Then I showed them how to move the file to their home directories and extract it. To use sage all they need to do is open a terminal, cd to the sage directory and run ./sage -n. Now, we won't have to crash every SAGE server online anymore. We may need a bash script on the desktop for this!


Step 6) JRE - optional (see NOTE below)
Install jre1.7.0_09 as a Firefox plugin
-use firefox to download latest jre*.gz file (either 32bit or 64bit) from http://www.java.com to /usr/lib/firefox-addons/plugins
-open a terminal and 
    cd /usr/lib/firefox-addons/plugins
    tar zxvf jre*.gz
-then
    cd ~/.mozilla
    mkdir plugins
    cd plugins
    ln -s /usr/lib/firefox-addons/plugins/jre1.7.0_09/lib/i386/libnpjp2.so
    or
    ln -s /usr/lib/firefox-addons/plugins/jre1.7.0_09/lib/amd64/libnpjp2.so
-test firefox with "about:plugins" as the url to see that jre was plugged in!


Step 7) WINE + GAMES
-install WINE from Ubuntu Software Center or http://packages.ubuntu.com using dpkg
-install games from Ubuntu Software Center
-sudo chmod 700 /usr/games/*
-add VTI folders to Desktop


Step 8) XTRA APPS
-install optional software like VLC, handbrake, sshd, Chromium and games via Ubuntu Software Center, aptitude+proxy, synaptic,  http://packages.ubuntu.com or author sites (such as http://www.smarttech.com *.debs)
-on the servers, sudo chmod 700 /home/* to secure user files. Careful, if you install vsftp, you need to undo that for the ftp files: sudo chmod 755 /home/ftp or noone will be able to use anonymous ftp!
-on the servers, install openssh (sshd) and, optionally, vsftp (use vsftp.conf from pastebin.com). I don't use anonymous ftp servers much anymore as I backup everything on a USB drive and share files on youtube, blogspot, slideshare, pastebin, programr and sage.
-on the servers, install the jdk in /usr/local and add the directory containing java, javac, javadoc and appletviewer (/usr/local/jdk1.7.0_09/bin) to /etc/environment as per instructions from http://java.sun.com
-on the server, addusers!


Notes To Self: 
I have everything more or less done except (todo list in bold):

(1) (done) SAGE needs an executable bash script on the desktop for every PC so students can easily start up a notebook(). 
UPDATE (12/1/12) I added an executable BASH script on each desktop called SAGE with the following contents (after simplifying the name of the sage dir):
#!/bin/bash
cd ~/sage
./sage -n

(2) (done) I still need to add WINE.
UPDATE (12/1/12) WINE is on all student PCs.

(3) (done) I still need to add VTI.
UPDATE (12/2/12) VTI is on all student PCs.

(4) (done) PC2 did not have a free partition. 
UPDATE (12/3/12) I repartitioned these since we needed more stations.

(5) (not doable) PC19 did not have a free partition. I could not repartition this hdd. UPDATE (12/4/12) Partitioning tool cannot read how much space is used on the WIN7 partition, so I can't repartition this drive.

(6) (done) PC6 won't boot via CD or USB. So, how do we install Ubuntu on that machine? 
UPDATE (12/7/12) I tried a different USB port and all was well!

(7) (done) So, I have SAGE, VTI83 and VTI89 on each desktop. I need to add the unit circle background too! 
UPDATE (12/14/12) I have 4 calculators on 1 desktop. Must be a record of some kind!


(8) (done) What about Game Day???
UPDATE (12/21/12) We just set up a Tremulous server again! We lost February Break due to Super Storm Sandy. So, we'll set up BZFlag or OpenArena or StarCraft I (under WINE) for the break in March.


(9) (done) I need to figure out why Screencast-O-Matic (SOM) records and plays back screencasts, but will not render *.mp4 files. 
UPDATE (1/2/13) Firefox in Ubuntu 12.04 is doing something weird with JRE that's messing up encoding *.mp4s. IDK, what the problem is. Maybe I have to install some restricted Linux apps? So, I finally broke down and installed RecordMyDesktop (RMD) from the Ubuntu Software Center (USC). I've been avoiding this as it's really hard to set up a Mic. I finally had to install Skype from USC in order to get pulse audio working. Then, I enabled "pulse" instead of "DEFAULT" in the input device tab under the advanced tab in RMD. Also, you must resist the temptation to enable "encoding on the fly!" This saves time since you don't have to encode the *.ogv file after class. However, when I enabled this option, the video and audio were out of sync!  IE: don't enable encoding on the fly as audio and video won't sync. Also, RMD loses the recording if it's not encoded right away (unlike SOM). BTW, In my first screencast for YouTube using RMD, the audio cut out at 8:49 for some reason. Either I hit the mute button on the mic while recording or there was a problem when RMD encoded in *.ogv format or there was a problem uploading to YouTube where the file is converted to *.mp4 or *.flv. IDK what went wrong, but its too soon to give up on RMD! UPDATE 1/9/13 All is well with RMD! All I had to do was reduce the audio and video quality from 100% to 50% and today's recording encoded perfectly. Still, encoding on the fly is out of sync, but we'll live without that! UPDATE 1/16/13 Well, all is not well with RMD as it loses audio near the end of any recording over 10 or 20 minutes. RMD is a GUI front end for ffmpeg. So, I thought I'd use that directly from the command line. However, I find that ffmpeg is being depricated for avonv. I tried the following executable bash script today. A 20 minute video encoded on the fly to under 90MB and converted well on YouTube!
#!/bin/sh
cd ~/Desktop
avconv -f alsa -i plughw:1,0 -f x11grab -r 30 -s 1280x800+0+0 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y temp.mp4

(10) (done) Don't forget about: 
sudo chmod 700 /usr/games
UPDATE 1/29/31 I finally got around to doing this. Just in the nick of time too. I'm being observed tomorrow. All I need is for someone to be playing gnomine during my observation while I'm at the SmartBoard!

(11) (cancelled) I will add sshd to students boxes so I can easily share files from the teacher station or debug a student station remotely.
UPDATE 1/29/31 I don't really need sshd right now. I used to have it installed for a native Linux Cluster using public authenticated ssh to run MPI. We are using a live Linux CD solution for the cluster this year: pelicanHPC or BCCD. Also, I used sshd to copy files to students' desktops. However, I share files via edmodo, youtube, slideshare, pastebin, programr and sage now.


(12) (done) Don't forget about: 
sudo gedit /etc/crontab
UPDATE 1/19/13 I had a little problem with this step. It seems that Ubuntu 12.04 does not assign "eth0" as the default name of the ethernet card on the mother board. I had to search for eth0 and replace with ethXX in crontab on most of my Linux boxes! Also, you can schedule anything down to the minute only, not second. Further, if there's even one typo, the crontab file is ingnored completely! Here's the new crontab:




NOTE If you are not using SOM and you use Tachyon instead of JMol for 3D graphs in SAGE and you aren't running any other Java Applets in Firefox (such as http://www.keepvid.com), you need not install JRE on the Teacher Station at all!

HTH, good luck with your Linux boxes!


Learning with Technology,