Showing posts with label jre. Show all posts
Showing posts with label jre. Show all posts

Friday, January 31, 2014

CIS(theta) 2013-2014: Midterm Week II - Tweaking the SmartBoard User!

CIS(theta) 2013-2014 


Midterm Week II
Tweaking the SmartBoard User!
 
After setting up Legolas as a Student PC, I added the passwd protected user Shadowfax to Legolas with "sudo adduser shadowfax" in the terminal. Don't forget to "sudo chmod 700 /home/*" so your files are secure when legolas is logged in! Now, Shadowfax will be my Teacher user (see video above). Further, I'm tweaking this Teacher user for SmartBoarding, ScreenCasting and Mirroring:
SmartBoard = 
Xournal or SmartNoteBook
ScreenCasting = 
avconv or Screencast-o-matic
Mirroring = 
SplashTop or TeamViewer

Then, I followed these steps:
(1) Install JRE as a FireFox plugin using the zip file and instructions given here. I wanted to update to the lastest JRE so that Screencat-O-Matic (SOM) could work again for ScreenCasting. I also wanted JRE for Keepvid, but this site won't allow JRE 1.7 as it's considered a security risk. You may want to install 1.6 instead. I got SOM working fine, but I'm still using avconv as it renders an MP4 file on the fly. I used SOM for the last screencast I made. That video was only 16 minutes long but SOM took over 8 minutes to render a 55MB file! By comaprison, the video above was recorded with avconv and is about 20 minutes long but took no time to render after I stopped recording! However, the MP4 file size was nearly 150MB.
(2) Download the latest 32 bit version of SmartNotebook for Linux from SmartTech. Be careful to install the DEB files in this order of dependency: smart-common, xf86-input-nextwindow, nwfermi, smart-activation, libudev0, smart-gallerysetup, smart-hwr, smart-languagesetup, smart-product-drivers, smart-notebook. 
2a) note: xf86-input-nextwindow and
libudev0 were installed using the Ubuntu Software Center (USC). 
2b) note: when you first execute your newly installed SmartNotebook, you will need a product key!
(3) Install Chrome from here. I need Chrome for the ESchool gradebook.
(4) Install Ubunutu-Restricted-Extras from the USC to get flash and to enable libdvdfree4 for DVDs and VLC among other things.
(5) Install VLC from the USC to play back MP4s and DVDs.
(6) Install libav-tools from the USC to use avconv instead of ffmpeg for ScreenCasting.
(7) Install TeamViewer or SplashTop from the USC to mirror the desktop to a tablet aka Kindle Fire HD an 9" Droid tablet with an HD multi-touch screen. In Ubuntu 13.10 you need to install python-appindicator from the USC for SplashTop to execute. Mirroring apps are great for controlling your Desktop and SmartBoard remotely from a tablet! It's your choice, but I'm using TeamViewer right now as I have to pay for SplashTop due to the high school's network setup. At the college, the network is set up in such a way that SplashTop is free to use.
(8) Install Xournal from the USC to be used instead of SmartNotebook as needed.
8a) note: when I use SmartNotebook in combination with either screencaster plus TeamViewer, the system is very laggy.
8b) note: when I use Xournal in combination with either screencaster plus TeamViewer, the system response is better!
8c) note: last Summer, I found SplashTop to be a little more responsive than TeamViewer.
8d) note: the following work together
BlueTooth or USB mic
avconv or SOM
xournal or SmartNotebook
teamviewer or SplashTop
Droid tablet or SmartBoard.
8d) note: in Linux, I prefer
BlueTooth mic
avconv
xournal
Teamviewer
Droid tablet.
8e) note: on the road, ie Windows, I use
USB mic
SOM
SmartNotebook
SplashTop
SmartBoard.
9a) to use avconv instead of SOM with a USB Mic, use this script: 
#!/bin/sh
cd ~/
avconv -f alsa -i plughw:1,0 -f x11grab -r 30 -s 1600x1200+0+0 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y 00avonc.mp4
9a) to use avconv instead of SOM with a BlueTooth HeadSet, use this script: 
#!/bin/sh
cd ~/
avconv -f pulse -i default -f x11grab -r 30 -s 1600x1200+0+0 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y 00avonc.mp4


Midterm Week
Reinstalling the Teacher PC!
First, I reinstalled my Linux box as a student station with the new 32bit Ubuntu 13.10 Saucy Salamader as follows (see screencast above):
(1a) download latest ISO and burn a DVDs
(1b) install DVD with plain vanilla defaults
(2) edit eth0 connection
(3a) edit system settings/network/proxy
(3b) edit system settings/appearance
(3c) edit system settings/brightness
(3d) edit system/settings/printers
(4) edit sources to main in USC
(5a) sudo apt-get update
(5b) sudo apt-get upgrade
(6a) USC install WINE and TIEMU
(6b) add TI89 and TI92 ROMs to TIEMU
(7a) download, extract and install TilEm
(7b) add TI83 and TI84 ROMs to TilEm
(8a) download and extract SAGE.lzma
(8b) echo "alias sage=$HOME/Desktop/SAGE/sage" >> ~./bashrc
(8c) source ~/.bashrc
(9) all we left on the desktop was the SAGE directory, a short cut to TilEm and our handy dandy Trig Table (see below)
(10a) to use TilEm, the students just click on the short cut
(10b) to use TIEMU and SAGE open a terminal and type "tiemu" or "sage" on a command line. I also added a VERY complicated bash script for this:
#!/bin/bash
tiemu

January Meeting
Testing out code!
We searched the web for MPI tutorials and found some code to try out on our 96 cores. Take a look at our sample code in the DropBox link above. We compared serial vs. parallel samples of the same task, whether it be Quadrature or Fractal! Using the pelicanHPC DVD we have compilers for mpicc, mpiCC as well as mpif77. I don't know if we have mpif90. We can also use mpi4py without compiling! 

mpif77 = FORTRAN77
mpif90 = FORTRAN90
mpicc = C
mpiCC = C++
mpi4py = python

When we compiled, for example, FORTRAN77 code we used the mpif77 compiler on both the serial and parallel versions:
mpif77 -o fpi-serial fpi-serial.f
mpif77 -o fpi fpi.f

then to execute said code:
./fpi-serial
mpirun --hostfile ~/tmp/bhosts -np 96 ./fpi

If you want to test your code off the cluster and you have, say a quad-core, you can do:
mpirun -np 4 ./fpi

What's nice about mpi4py is that you can just execute your code:
mpirun -np 4 01-hello-world.py

Here's a promising site for sample *.f and *.c code!

Next meeting we are going to write our own mpi4py code to generate Mandelbrot Fractals!


December Meeting
Firing on all cores!
Today we booted up the entire LAN using the pelicanHPC 64bit 2.9 with mpi4py DVD! We finally got up to 24 nodes with 96 cores and nearly 50 GFLOP/s!! Great job guys!!! Now we have to decide if we are going to install a native MPI stack. We also need to research sample MPI code online to learn how to program the cluster in FORTRAN77, C, C++ and python. We used the code above, which estimates pi using Reimann Sums and arctan(x), to stress the cluster. BTW, we don't have 100 cores as my PC is on another logical subnet and its only dual core anyway.
To compile:
mpif77 -o flops flops.f
To execute
mpirun -np 96 --hostfile ~/tmp/bhosts flops


November Meeting II
Firing up the cluster for the first time!
We are trying to figure out if we can use a bootable Linux CD to boot up the cluster or if we want to add an MPI stack with public key authenticated sshd to our Ubuntu Desktop. So, we downloaded the pelicanHPC ISO, burned a DVD and got 17 compute nodes or 68 cores running at about 35 GFLOP/s! 

Hey, that's not too shabby, just 13 years ago, top500.org reports that all you needed were 50 cores running at 55 MFLOP/s to make the list of one of the 500 fastest clusters in the world! We may even get up to 50 MFLOP/s if we get all 100 cores up and running. 

So, we're looking at pelicanHPCBCCD and ClusterByNight for MPI. We used to run clusterKNOPPIXBCCD and Quantian with openMOSIX. Too bad openMOSIX isn't supported anymore. It was so easy to code for MOSIX. In C or C++ all you had to do was use the fork() function to start a new process. openMOSIX ran in the Linux Kernel. Whenever your processes came close to using 100% of you CPU, MOSIX would automagically send one of your forked jobs to another processor. When we started using MOSIX, we only had one core per PC, so that meant send the job to another PC on the LAN. In those days (late 1990s) we managed to run 100 cores anyway by taking over 4 PC Labs on my floor at school....

November Meeting I
Last Linux Install Fest!
We finally got the new 64bit Ubuntu 13.10 Saucy Salamader installed correctly on all student PCs. I'll upgrade my station at a later date. We got this down to a science: 
(1a) download latest ISO and burn 8 DVDs
(1b) install DVD with plain vanilla defaults
(2) edit eth0 connection
(3a) edit system settings/network/proxy
(3b) edit system settings/appearance
(3c) edit system settings/brightness
(3d) edit system/settings/printers
(4) edit sources to main in USC
(5a) sudo apt-get update
(5b) sudo apt-get upgrade
(6a) USC install WINE and TIEMU
(6b) add TI89 and TI92 ROMs to TIEMU
(7a) download, extract and install TilEm
(7b) add TI83 and TI84 ROMs to TilEm
(8a) download and extract SAGE.lzma
(8b) echo "alias sage=$HOME/Desktop/SAGE/sage" >> ~./bashrc
(8c) source ~/.bashrc
(9) all we left on the desktop was the SAGE directory, a short cut to TilEm and our handy dandy Trig Table (see below)
(10a) to use TilEm, the students just click on the short cut
(10b) to use TIEMU and SAGE open a terminal and type "tiemu" or "sage" on a command line.
(11) I'll add TilEm and TIEMU to the start-up menu. I was going to add "sage -n" too, but I don't want FireFox hogging all my Desktops at bootup!

October Meeting II
Linux Install Fest Again!
I downloaded 8 copies the latest version of Ubuntu Desktop 32bit ISO: 13.10 Saucy Salamander. Then I burned 8 DVDs and reinstalled the Linux partition on the second row of 8 PCs in our classroom. The geek squad did all the tweaks this time! 

We are having a massive problem with VTI running under WINE. It's so slow as to be unusable. We have to figure out a solution. Maybe 13.04 is better? Or maybe I can get WINE's direct ppa and use their latest version?

Another problem is that we have a SAGE directory on the Desktop extracted from the latest compiled version of SAGE. In there we have a SAGE bash script. I usually make it executable and students can just click it to run SAGE. In 13.10, the script will not execute, the script just opens in gedit even though I made the file executable. I even ran "which bash" to see if bash moved (it did) so I could update the #! line but still no joy!

How about an alias like:
echo "alias sage=$HOME/Desktop/SAGE/sage" >> ~/.bashrc

then:
source ~/.bashrc

October Meeting I
Linux Install Fest!
We downloaded 8 copies the latest version of Ubuntu Desktop 64bit ISO: 13.10 Saucy Salamander. Then we burned 8 DVDs and reinstalled the Linux partition on the first row of 8 PCs in our classroom. I did all the tweaks the following day.

Next week I'll reinstall the 2nd row and the Geek Squad will do all the tweaks. I like to keep the Student Stations very simple. So, we will only tweak as follows:
(1) configure Network (eth0, proxy)
(2) configure Appearence and Brightness 
(3) configure Printers
(4) sudo apt-get update (after setting sources to main).
(5) sudo apt-get upgrade
(6) install WINE
(7) copy VTI to the desktop
(8) extract SAGE to the desktop

September Meeting I
Administrativa!
(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!

(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: We decided that we have more than enough qualified CIS(theta) members for this year's Geek Squad, so we tabled that topic.

(4) Planning: We have to wait another 2 weeks 10/4 at which point Ubuntu 13.10 Desktop Edition should be available for a mini install fest. After that, we may use bootable cluster Linux CD distros such as BCCD and pelicanHPC to learn MPI using C++ or Python. We also talked about installing an MPI stack on each hdd along with public key authenticated ssh. We would like to make a fractal zoom animation.

(5) Summary: This year's CIS(theta) team is off to a good start. Shadowfax, our 100 core cluster, is in good hands!

==================================
What we are researching IV (Jan):MPI
==================================
What we are researching IV (Dec):MOSIX
==================================
What we are researching III (Nov)
==================================
What we are researching II (Oct)
==================================
What we are researching I (Sept)
Thomas Jefferson High courses
Thomas Jefferson High paper
Thomas Jefferson High ftp
Thomas Jefferson High teacher
==================================
Daily Attendance:
CIS(theta) 2013-2014: Tati absent

BiWeekly Topic:
CIS(theta) 2013-2014 - Testing out code! 

Monthly Reading:
Chapter 5: Building Parallel Programs (JAN)
Chapter 4: Building Parallel Programs (DEC)
Chapter 3: Building Parallel Programs (NOV)
Chapter 2: Building Parallel Programs (OCT)
Chapter 1: Building Parallel Programs (SEP)
==================================
Membership (alphabetic by first name):

CIS(theta) 2013-2014: BryanS, CheyenneC, DanielG, HarineeN, RichardH, RyanW, TatianaR, TylerK

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!

==================================
Well, that's all folks!

Wednesday, September 14, 2011

CIS(theta) 2011-2012 - Natty to the rescue! - Meeting II


What was discussed:
We talked about getting VTI plus YouTubes and Slideshares working on the Student Stations.
We decided to update 4 PCs as a test bed for the 64bit Desktop Edition of Ubuntu 11.04 Natty Narwahl.
Some of the art work in 429 are redundant so will need to change our display case.

What was accomplished:
(1) Swapped art work from hallway display case. We added Fish and Sombrero plus a Public Service Announcement poster about why you should take AP Computer Sceince. We retrieved Chess and Balcony.

(2) Downloaded, burned and installed Ubuntu 11.04 LTS Desktop on 4 Student Stations that are not currently being used by the Computing classes (Computer Math, AP Computer Science, Calculus Research Lab). We got WINE plus VTI and Chrome with the VLC plugin working. We had dependency problems with Chrome until we installed Chromium. The Unity Desktop is not so different from Gnome aside from iPod like icons on the side of the screen. A few things are rearranged, such as "Connect to Server" and "System Tools," but Ubuntu is still very usable.

(3) Got Flash and WINE working on the remaining 20 Linux Boxes which are still running 32bit Ubuntu 10.10. UPDATE: Flash and WINE work on all 24 stations. Just go to Ubuntu Software Center and search for "wine" and "flashplugin."

(4) I can see reinstalling the Teacher Station and the Student Stations identically using 64bit Natty. We can do a plain vanilla install from the live CD, enable ethernet and printing as well as disabling the screensaver (students can login without passwd, teacher cannot). Then we add WINE + VTI for everyone. Also, we install the flashplugin for all so we can all open edmodo posts from youtube and slideshare (pastebin does not need flash). Only the Teacher Station needs JRE for jmol in SAGE and http://screencast-o-matic.com to work properly. Also, only the Teacher Station needs VLC if we install handbrake or need to play DVDs. The VLC plugin for Chrome plays *.mp4 files fine in a browser. I will need Chrome (eSchool) and SmartNotebook (pen app) on the Teacher Station too. UPDATE: the 64bit stations need to have Chromium installed first, then Chrome.

(5) We didn't get to try JRE yet. Only the Teacher Station needs JRE, however, as I need it for http://screencast-o-matic.com and jmol in SAGE. I'm following my favorite CS maxim: KISS (Keep It Simple Stupid). Otherwise, you may have to RTFM (Read The Fraking Manual) or you my FUBAR (Fraked Up Beyond All Repair) your install and run into serveral SNAFUs (Situation Normal, All Fraked Up)! In other words, I'm not installing stuff on every station if I don't need too! So, we are using an online SAGE server, and the students can use the Tachyon ray tracer instead of jmol and JRE. Also, I only installed JDK, openSSH and vsftp on the APCS servers. I may install a local SAGE server, we'll see. Last year, I installed SAGE on every station since the online servers were so slow. So far this year, the online servers are fine. The only other reason to install SAGE locally is to make use of the @parallel SAGE decorator on our quadcores. UPDATE: JRE works fine, just install the amd64 version and follow the instructions at http://www.java.com using the self-extracting *.bin file and sylbolic links in /home/userid/.mozilla!

What we are researching I (look what this school did in the 80s and 90s): 

Today's Topic:
CIS(theta) 2011-2012 - Natty to the rescue! - Meeting II

Today's Attendance:
CIS(theta) 2011-2012: GeorgeA, GrahamS, KennyK, LucasE

Today's Reading:
Chapter 1 Building Parallel Programs (BPP) using clusters and parallelJava


Well, that's all folks, enjoy!



Friday, January 28, 2011

... then God made Midterm Week and saw that it was good!


Thank God for Midterm Week!  I finally get to do some major tweaking in the PC Lab! If you take a look at my previous posting, you'll see what issues I'm trying to address.


Student Stations:
So, what I am doing today is reinstalling all the Student Stations with the 32bit Ubuntu 10.10 Desktop Edition (maverick meerkat). As detailed below, I will be adding jre for firefox (3D graphs in jmol and screencast-o-matic) as well as SAGE to each of these fresh installs.

Teacher Stations:
The Teacher Stations will build upon the Student Station installation steps listed below. I will add to these stations WINE+VTI (on screen graphing calculator emulator - I might even add this to the student boxes for TI programming final project), xournal (pen app), VLC (video viewer), handbrake (video editor) and flash (youtube) for firefox.


Servers:
These boxes will build upon the Teacher Station installation as listed above. In addtion I will install vsftp, openssh, and jdk (apcs) from http://java.sun.com
Servers will retain the 32bit Ubuntu 10.04 Desktop Edition (upgraded from lucid lynx to maverick meercat).


DORM:
First there was RTFM (Read The Fraking Manual)!
Then there was KISS (Keep It Simple Stupid)!!
Now, I just made up DORM (Download Once, Read Many)!!!
As I will be downloading a lot of the aforementioned apps for each station, I decided to download whatever I could to my USB memory stick to save time. This will be especially important for the servers as they don't have Internet access as of yet. So, I will download vsftp, openssh and jdk ahead of time from another station (its convenient that these are stand alone files without any dependencies). jre and flash are actually quick downloads, so I skipped storing those for now as I am focused on the student stations. As a result, I have the following folders on my USB stick.


UBUNTU_STUDENT:
-current jre *.bin from http://www.java.com
-current SAGE *.lzma from http://www.sagemath.org

UBUNTU_TEACHER:
-handbrake from synaptic package manager
-VLC from http://packages.ubuntu.com (50 dependencies!)
-WINE from synaptic  package manager
-VTI from http://www.ticalc.org/archives/files/fileinfo/84/8442.html 
-xournal from http://xournal.sourceforge.net
-flash from adobe (auto-installs first time you try to youtube)
UBUNTU_SERVER:
-current jdk *.bin from http://java.sun.com
-current openssh *.deb from http://packages.ubuntu.com
-current vsftp *.deb from http://packages.ubuntu.com
-my modified vsftp.conf where I uncommented a few lines and added "anon_root=/home/ftp" at the end of the file which I stored at  http://pastebin.com



Step 1)
Boot Ubuntu CD, click install, answer on screen questions and run install. Make sure to make Student Stations boot without a passwd (unlike Teacher Stations and Servers). Also, make box name and userid the same so box name shows on top right of screen after boot up.
-students = alpha beta gamma delta, epsilon eta zeta theta
-students = iota kappa lambda mu, nu omicron iks pi 
-students = rho sigma tao upsilon, phi psi chi omega
-teacher = shadowfax
-server1 = guardian
-server2 = caprica

Step 2)
When asked to prepare partitions, do so as follows:
    /dev/sda1    fat32    42GB    (resize, but no other changes, leave wimpdoze partition alone)
    /dev/sda2    swap    256MB (change to swap)
    /dev/sda3    ext3     41GB    (change to ext3 + format + / partition)


Step 3)
-when the install process is done, reboot and remove the CD
-once the PC reboots and you get to the desktop, right click the vertical arrow icon on the top right and edit the Ethernet interfaces
    eth0 set to auto DHCP (proxy and passwd needed for internet)
    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 with nautilus/ftp to 10.5.254.245
-internet connections will be tested later (via proxy and passwd) when downloading *.bin, *.lzma and *.deb files


Step 4)
-system/preferences/monitors set to highest resolution
-system/preferences/screensaver set to 2 hours
-right click desktop and select /change background to set your background and click visual effects for compiz
-system/administration/printers set network printer HP Laser Jet 4250 at 10.10.254.212


Step 5)
-install SAGE *.lzma by copying it to /usr/local as root. 
-extract SAGE *.lzma and rename dir as sage.
-add path "/usr/local/sage:" to /etc/environment
-make executable script startSAGE containing
    cd /usr/local/sage
    ./sage -n
-test script as user before rebooting to add admin passwd
-add startSAGE to system/preferences/startupapplications



Step 6)
Install jre1.6.0_23 as a Firefox plugin for 3D graphics in SAGE
-system/preferences/networkproxy (turn on proxy)
-use firefox to download latest jre *.bin file from http://www.java.com to /usr/lib/firefox-addons/plugins
-open a terminal and 
    cd /usr/lib/firefox-addons/plugins
    chmod 755 *.bin
    ./j*.bin
-then
    cd ~/.mozilla
    mkdir plugins
    cd plugins
    ln -s /usr/lib/firefox-addons/plugins/jre1.6.0_23/lib/i386/libnpjp2.so
-test firefox with "about:plugins" as the url to see that jre was plugged in!


Step 7)
-disable games: sudo chmod 700 /usr/games/*
-careful when you do: sudo chmod 700 /home/* on the servers to secure saved files. We need to undo that for the ftp files: sudo chmod 755 /home/ftp or noone will be able to use anonymous ftp!


Step 8)
-install optional software like VLC, handbrake, xournal and games via aptitude+proxy or synaptic or http://packages.ubuntu.com
-on the servers, install openssh and vsftp via dpkg. 
-install the jdk in /usr/local and add the directory containing java, javac, javadoc and appletviewer to /etc/environment as per instructions from http://java.sun.com
-system/preferences/networkproxy (turn off proxy)


HTH, good luck with your Linux boxes!