Saturday, May 21, 2011

http://appinventor.googlelabs.com and the Twitterverse!

My AP Computer Science students finally got tired of playing bzflag, starcraft1, tremulous and glest after their AP exam during AP week. So, they rangled me into starting a final project based on programming apps for the Droid OS! Here's what we've accomplished so far:

 does! Starting final project for my  class running   using   

Actually, we started all this at the http://ilearnedtoprogram.com site which has the link listed above. Also, as you can see, I started tweeting about this project too. On a recent post I wrote "I became a Twit on Twitter so I can Tweet!" Well, now that I'm a veteran on Twitter, I see that they don't call themselves Twits, they call themselves Tweeps. So, I should have said "I became a Tweep on Twitter so I can Tweet!" In anycase, I turned to my fellow Tweeps for help! BTW, I'm not on Facebook much anymore, but I set up an app that posts my tweets simultaneously on both Twitter and Facebook as a new status!


 does! Step 1: dl  to run   on our 32bit   10.10. We have  installed and hope we don't need 
This step was not entirely necessary, but my class wanted to try out Google Chrome. It was an easy download from http://google.com/chrome all we had to do was click on the *.deb 32bit package and the Ubuntu installer popped right up!


This step also boiled down to a debian app downloaded from http://appinventor.googlelabs.com and installed via the Ubuntu Software Center. BTW, I suspect the installer is just a GUI frontend for dpkg.

 does! Step 3: Trying helloPurr tutorial today but can't get   in  working???  file will not run!

Now we ran into one heck of a SNAFU! So, I asked the fellow appinventor tweeps from the twitterverse for advice:


 hi! I see you are using . I can't get jpnl file to run when I start blocks editor. How did u get past this?
 did you try opening the downloaded jpnl file directly? I opened the downloaded file and it works, takes some time to open though.
 I tried in Ubuntu on both Firefox and Chrome and have the same problem!

 hi! I see u r using . I am having trouble running blocks editor, how did you run it? The jpnl file just downloads!
 you need to double-click the downloaded file and follow the prompts. It links to your appinventor session. Really enjoying it!
 How do you open that file? I double clicked it and it didn't run, it just started up Firefox again and tried to download itself???
 Almost there! Download the JDK and open the jpnl file with the included javaws app. Now getting err re. setup commands.
 We have Sun JRE which does not include javaws. Google specifically says not to use openJDK?
 The JDK was the one I installed to get to javaws. With the .deb pckg things seemed to work. Let me know how you get on. Cheers.
 Thanx for ur help. I think u r right. I have to install JDK to have javaws available. So, I will try to do that on Monday.



So, I suppose Sun (Oracle actually) JDK will need to be installed on every linux box after all. The main difference between my Student Stations and my Servers is that the server has JDK but not JRE installed and the Student stations have the JRE and no JDK. I did this on purpose as my AP Computer Science students need the JDK to do their work, so they simply ssh into the server. Its convenient to have JDK on one server so i need maintain it on only one box and the students can also use it from home! The JRE is on the Student Stations for SAGE to do 3D graphs. BTW, I have the JRE on the Teacher Station for the same reason, but I also need it for http://screenccast-o-matic.com



Well, stay tuned for updates on this project. Wish us luck! I hope you found this post informative. BTW, if you're wondering what the YouTube above has to do with anything on this post, its a video I got by following the NASA tweep tweeting yesterday on twitter about the USS Endeavour's final mission!


UPDATE: If you use a network proxy to get internet access, make sure that both JRE and JDK are configured to use it. For the JRE, goto "System/Preferences/Network Proxy." For JDK, goto "Applications/Accessories/Terminal" and fire up javaws -viewer. At my school, I had to use my network login credentials on each station to get *.jnlp files to run correctly!

HTH, good luck with your droid apps!

Learning with Technology, 

Saturday, May 14, 2011

CIS(theta) 2010-2011 - Eureka, we did it! - Meeting XIV

Aim: 
Completing Step 4!

Attending: 
CIS(theta) 2010-2011: DavidG, RyanH

Absent: 
CIS(theta) 2010-2011: HerbertKJoshG

Reading:
NA

Parallel Python
IPython
Large Integer number crunching Mersenne Primes
http://www.hoise.com/primeur/03/articles/weekly/AE-PR-01-04-37.html
Large Integer number crunching Beal Conjecture
http://www.bealconjecture.com/



InstantCluster Step 4: Software Stack (Completed)
By Jove, I think we've done it! OK, we had a really short meeting today as everyone had to come late due to xtra help and AP exams.... Anyway, we actually got openMPI working last time and didn't even know it! All we had to do was add the IPs to a file called "machines" to get nearly 2700 MFLOPs using 2 cores per node on 3 nodes!

Now, we can scale the cluster up from 3 nodes to all 24 students boxes and get over 20 GFLOPs. The trick was to use the 10.10.*.* IPs and not the 10.5.*.* ones. Maybe we could get the 3 servers in on this too for an additional 3 or more GFLOPs? 

BTW, we figured out how to setup the "machines" file by running ClusterByNight first, thanx Kevin Lynagh! That's also where we got the idea to run openMPI over openSSH. Sorry, but PXE boot just didn't work for us! We should also be able to add the octave/mpitb functionality from pelicanHPC as well, thanx Michael Creel!




We only installed gfortran on one box so we could compile flops.f on that node (lets call it the master node):
mpif77 -o flops flops.f

and copied "flops" to all the worker boxes (and used chmod 755 to make it executable) getting about 2650 MFLOPs on 6 cores over 3 nodes:
mpirun -np 6 --hostfile machines flops

What we messed up last time was making the "machines" file based on the 10.5.*.* static IPs we set up on eth1. When we listed all the 10.10.*.* DHCP IPs used on eth0, all worked fine! So, openMPI just defaults to eth0?

Well, it was almost fine. When the remote processes terminated, the master node hung. I think that's because the 10.5.*.* IPs are listed in the authorized_keys file. Maybe we can just edit that and make them 10.10.*.* too?

Well, that's all for now, enjoy!

CIS(theta) 2010-2011 - Eureka, we did it! - Meeting XIV

Aim: 
Step 4 is completed!

Attending: 
CIS(theta) 2010-2011: DavidG, RyanH

Absent: 
CIS(theta) 2010-2011: HerbertKJoshG

Reading:
NA

Parallel Python
IPython
Large Integer number crunching Mersenne Primes
http://www.hoise.com/primeur/03/articles/weekly/AE-PR-01-04-37.html
Large Integer number crunching Beal Conjecture
http://www.bealconjecture.com/



InstantCluster Step 4: Software Stack (Completed)
By Jove, I think we've done it! OK, we had a really short meeting today as everyone had to come late due to xtra help and AP exams.... Anyway, we actually got openMPI working last time and didn't even know it! All we had to do was add the IPs to a file called "machines" to get nearly 2700 MFLOPs using 2 cores per node on 3 nodes!

Now, we can scale the cluster up from 3 nodes to all 24 to get over 20 GFLOPs. The trick was to use the 10.10.*.* IPs and not the 10.5.*.* ones. Maybe we could get the 3 servers in on this too for an additional 3 or more GFLOPs? 

BTW, we figured out how to setup the "machines" file by running ClusterByNight first, thanx Kevin Lynagh! That's also where we got the idea to run openMPI over openSSH. Sorry, but PXE boot just didn't work for us! We should also be able to add the octave/mpitb functionality from pelicanHPC as well, thanx Michael Creel!



We only installed gfortran on one box so we could compile flops.f on that node (lets call it the master node):
mpif77 -o flops flops.f

and copied "flops" to all the worker boxes (and used chmod 755 to make it executable) getting about 2650 MFLOPs on 6 cores over 3 nodes:
mpirun -np 6 --hostfile machines flops

What we messed up last time was making the "machines" file based on the 10.5.*.* static IPs we set up on eth1. When we listed all the 10.10.*.* DHCP IPs used on eth0, all worked fine! So, openMPI just defaults to eth0?

Well, it was almost fine. When the remote processes terminated, the master node hung. I think that's because the 10.5.*.* IPs are listed in the authorized_keys file. Maybe we can just edit that and make them 10.10.*.* too?

Well, that's all for now, enjoy!