Showing posts with label tablet. Show all posts
Showing posts with label tablet. 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!

Sunday, September 1, 2013

Summer Adventures of a Droid Tablet!



Week 1: Adventures of a Droid Tablet
The night before the first class of a Summer Session course I was teaching this past July at the local college, my laptop died with everything setup on it to use a Wacom Tablet, ScreenCast-o-Matic and SmartNoteBook. So, I took the Teacher PC, armed with a PC Projector, in one of the computer rooms and added these 6 components:
(1) USB Mic
(2) USB BlueTooth Dongle
(3) USB Memory Stick with Virtual TI-83
(4) BlueTooth Wacom Graphire 6x8 Tablet
(5) Windows Journal Pen App
(6) http://screencast-o-matic.com
Since I was stuck using WimpDoze, I exported Windows Journals to *.tiff and converted these to PDF format using ZamZar or the tiff2pdf commandline tool in an Ubuntu Linux shell. Then I stored all PDFs on SlideShare and all MP4s on YouTube and linked everything to Edmodo.




Week 2: Adventures of a Droid Tablet
This week I tried the following setup instead. Note, Screencast-o-matic would not work online, I had to download a Windows app to my Desktop:
(1) USB Mic
(2) WiFi DROID 8.9" Tablet
(3) Virtual TI-83
(4) Xournal Pen Windows App
(5) http://screencast-o-matic.com
So I finally retired the laptop and the Smart Airliner Slate (aka Wacom Graphire 6x8 Art Tablet). Now I don't have to carry around all that bulky stuff. I may still need this old setup as a backup option when I'm speaking at conferences and I have to setup a quick screencast. 

I would love to drop the USB Mic too if I could figure out how to use the Droid's Mic with this configuration. I would then be truly wireless! This new incarnation of the Kindle has an 8.9" HD screen, dual WiFi, dual speakers, dual cores as well as a webcam and mic. I think there's a version of Teamviewer, called Teamviewer for Meetings, that uses VOIP so I wouldn't need a separate Mic. IDK if it's free or cheap. I suppose I could go back to using a wireless lapel mic? Maybe I could use a BlueTooth Headset Mic? You see, my lapel mic disappeared after Hurricane Sandy destroyed the Math Building at my High School....

I am also experimenting with other Remote Desktop Protocol (RDP) apps such as SplashTop. I'm using Splashtop2 for Droid and SplashtopStreamer for Windows. 

I'm focusing on Teamviewer and Splashtop as these Desktop streamers are available for both Windows and Linux and the client app is available for Droid. I usually have to use Windows whenever I'm on the road, say at a conference. However, I usually use Linux all day every day at the High School. Further, all my tablets are now Droids!




Week 3: Adventures of a Droid Tablet
This week I tried the following setup instead. Note, Screencast-o-matic takes a long time to render MP4s (ie: 75 min video takes about 45 min):
(1) USB Mic
(2) WiFi DROID 8.9" Tablet
(3) Virtual TI-83
(4) Xournal Pen Windows App
(5) http://screencast-o-matic.com
(6) SplashTop DroidApp/WindowsStreamer
Adding SplashTop to the mix went very smoothly. I find SplashTop more responsive than Teamviewer. Teamviewer has two advantages over Splashtop, however. First, the streamer can run from RAM so you don't have to have admin rights to install it if you're on the road using someone else's PC. Also, using Teamviewer for non-commercial applications is always free. 

SplashTop, on the other hand, had to be installed by the admin. Further, Splashtop requires a $16.99 per year subscription unless both your Tablet and PC are using the same wireless router! Still, I found using a capacitive stylus much easier when using SplashTop in non-trackpad plus smooth mode. Using the stylus takes some getting used to, but there's always a learning curve with any new technology solution. Right now, my Droid is on a WiFi router and my PC is on a wired Ethernet LAN. If both devices were on the same WiFi router, then I think SplashTop would be even more responsive!

Week 4: Adventures of a Droid Tablet
The only thing new this week is my using my finger as the stylus! Actually, the finger works even better than using a capacitive stylus. Before I tried all this, I read everywhere that you need to use a stylus to get the best results, I beg to differ. The stylus worked great on the Wacom Tablet, for instance. 
Also, it seems that the Kindle Fire HD does have BlueTooth, but it's a bit limited. BlueTooth connectivity is limited to input from a headset mic or wireless keyboard and output to external speakers or headphones or car stereo. So, using the Kindle's mic remotely over BlueTooth to record my voice on a PC for a screencast is not in the cards. BTW, I think you can also add an external mouse via BlueTooth or USB.


Week 5: Adventures of a Droid Tablet  
I did everything the same way this week as last. Everyday I'd start by hooking up my USB Memory Stick (to backup my screencast and smartnotes at the end of class) and USB Mic. Then I'd start up Xournal and VTI from my Documents folder. Then I'd start up SplashTop Streamer on the PC and SplashTop2 App on the Kindle. Then I'd play a Youtube or go over the homework for about 45 minutes. Then I'd start up Screencast-o-matic to record new material for about 45-90 minutes. Then I'd do some practice problems from the new homework page while the video rendered. 
After class, I'd upload the mp4 to YouTube and the pdf to slideshare, link these files to edmodo and back them up to my USB drive.

Observations: Adventures of a Droid Tablet 
What's nice about the Droid Tablet (Kindle Fire HD 8.9") is that it's more compact than the laptop and I can see what I write right on its screen unlike the Wacom Tablet!  

I like Xournal since it exports to PDF format directly. Say goodbye to Windows Journal!

The Teamviewer App is very easy to use and connects my Droid to the PC Desktop via RDP over WiFi instead of BlueTooth.



I played with TeamViewer for Meetings's Streamer and App combination. It adds VOIP and Whiteboard mode for free. However, I had a lot of audio feedback using VOIP. I think the problem is that TeamViewer for Meetings does the exact opposite as compared to Teamviewer. Teamviewer allows you to control a PC desktop from a mobile device. Teamviewer for Meetings lets you control several mobile devices from the PC desktop thereby conducting a virtual meeting where several coworkers can connect to the meeting from their tablets or cell phones. The people using mobile devices cannot affect the presentation, but they can hear the presenter via VOIP and the can participate via VOIP. So, when I had the tablet near the PC running Teamviewer for Meetings, I inadvertently setup an audio feedback loop! 

Plain vanilla TeamViewer is still a nice solution if you want to run the Streamer from RAM and you don't want to pay a subscription fee for remote access over the internet.

Teamviewer is very easy to setup and I can set the resolution of the Droid to match that of the PC so I can use the full screen on both devices. However, Splashtop is more responsive when using a capacitive stylus to write notes on Xournal.




There are several Splashtop Droid Apps. Another one, which costs $8.99, is Splashtop Whiteboard. This gives you all the bells and whistles of a SmartNotebook without using SmartNotebook. I think that Splashtop Whiteboard is to the Droid as Doceri is to the iPad. Also, I wouldn't need Xournal if I used this version of SplashTop.



What's interesting about SplashTop is that it's not meant to be used the way I am using it! I'm using SplashTop2. SplashTop WhiteBoard is a relatively new addition. Also, there's SplashTop X Window which gives you a second desktop to extend the size of the display for your PC. There's even SplashTop HD for viewing movies and and playing video games in high resolution remotely from your desktop to your tablet. Not all these apps are free! There's Streamers for Windows, Mac and Linux (beta). Also, there's apps for iOS and anDroid. That's 6 different configurations available to you! 


Beware, Splashtop is only free if both the PC and the mobile device are on the same local WiFi router. Otherwise, I think you need to pay a subscription fee of $16.99 per year or $1.99 per month. Luckily, I have a free account from the college. 


So, if you look at SplashTop marketing and reviews on YouTube, you will see that people are using this setup to watch flash videos on iPads (flash is not available on iPad) or to use productivity apps such as Windows Office on a Droid Tablet (there's no office apps on iOS or anDroid). That's all well and good, but I need to screencast and whiteboard!



BTW, SplashTop recently renamed the app as SplashTop Personal. Now you don't need all the different apps such as SplashTop2, SplashTop HD, SplashTop X Window or SplashTop WhiteBoard. All that functionality is in SplashTop Personal. However, you still have to pay $1.99 per month for remote access over the internet and $1.99 more per month if you want the features of a WhiteBoard app. Now you can choose from SplashTop Personal, SplashTop Business or SplashTop Enterprise! What an embarrassment of riches to choose from!

Conclusions: Adventures of a Droid Tablet
I will use a similar setup in Linux when I go back to my home school:
(1) USB Mic
(2) WiFi DROID 8.9" Tablet
(3) Virtual TI-83 or SAGE
(4) Xournal Pen Windows App
(5) http://screencast-o-matic.com
(6) SplashTop DroidApp/LinuxStreamer


I may try a BlueTooth Mic or some sort of VOIP solution that lets me use the Droid's Mic. At present, this does not seem to be an option in SplashTop. SplashTop sends the PC's video and audio output to the Droid and the Droid's Mouse (stylus) and Keyboard output to the PC. I hope they will add an option to reverse the audio in the near future? If I use SplashTop Whiteboard, I could get rid of Xournal too. Also, I use a desktop screencaster in Linux called avconv that renders in realtime so I don't have to waste time rendering after class. So, my Linux setup would be much simpler:
(1) Tablet (remote Mouse, Keyboard and Mic)
(2) Virtual TI-83 or SAGE
(3) avconv screencaster
(4) SplashTop DroidApp/LinuxStreamer

Using a BlueTooth Keyboard and USB Mouse may be an option when using productivity apps remotely via Splashtop. With this setup, I can use the tablet as a full-fledged laptop! If I had my druthers, I'd use a Lenovo IdeaPad 13" Yoga which is a laptop when you want it and a 13" tablet when you don't! However, the Kindle's price point is unresistible! BTW, there's an onscreen keyboard on the Droid, but it takes a lot of screen space.

Stay tuned this Fall, when I teach preCalculus starting from the back of the book with Sequences and Series! Also, I won't use a Graphing Calculator anymore. I with by programming in Python on an online Computer Algebra System (CAS) such as SAGE! ... and don't forget to follow the new paradigm: "Bring Your Own Device" (BYOD) to work!


Finally, did I mention that no SmartTech hardware or software was harmed ...er... used during the production of this blog?

Sincerely,
A. Jorge Garcia
 
Applied Math, Physics and CS
Teaching with Technology, 
pastebin youtube slideshare 
mathforum apcommunity
sage ebay