Category Archives: CS401

jQuery Mobile

What is JQuery Mobile?

jQuery mobile is essentially a mobile app development platform that builds upon jQuery:

“A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. Its lightweight code is built with progressive enhancement, and has a flexible, easily themeable design.”

jQuery Mobile Website

A mobile Javascript Library, sounds like exactly what we are looking for!

Where did I start?

I have experience with jQuery so I guess one could say this was started two years ago. However the mobile framework is completely new to me. I would recommend basic jQuery tutorials in addition to javascript tutorials. But my jQuery Mobile adventure began at Google  when I took a shot at searching “jQuery Mobile” I then continued to download jQuery Mobile 1.2.0 and jQuery 1.9.0.
Like most things you need walk before you run, so I started with a very basic hello world interface.
Step1: Setup the website
I always recommend the boilerplate folder setup:

css/style.css
js/jquery.js
js/jquerymobile.js
js/script.js
index.html

Style.css is not necesary however i always recommend it for custom styles.

Here is the basic index.html code with notes:

<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<!-- Importing all required sources -->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" />
<link rel="stylesheet" href="css/style.css" />
<script src="js/script.js"></script>
<script src="js/jquery.js"></script>
<script src="js/jquerymobile.js"></script>
</head>
<body>
<!-- The basic jQuery Mobile Setup is Header, Content, Footer there are defined as 'data-roles' attributes
     the data-role attribute is used extensively with jQuery Mobile -->
<div data-role="header"> <h1>This is the Header!</h1> </div>
<div data-role="content"> <p>This is the content!</p> </div>
<div data-role="footer"> <h3>This is the footer!</h3> </div>
</body>
</html>

This should look like this:

This is the extremely basic level of a jQuery mobile app! From here you can do more from this point, jQuery is very well documented so i would recommend going to their doc page which can be found on their website. here are some other screenshots of stuff that I was working with:
Here is a reactive concept I am working with!

Here is a basic testing page:

I hope to be posting more about this, however it is still very new to me. I am open to comments or suggestions!

From the blog itsJoe&#039;s Blog » cs-wsu by itsjoeyoung and used with permission of the author. All other rights reserved by the author.

First Week

The team got together for the first time and met with the clients. My first impression would be that the clients are as excited about the opportunity to work with the students as they are about the concept of an interactive exhibit. This should prove to be helpful, especially with regard to ensuring customer satisfaction.
I am looking forward to the planning process especially since I have only ever worked in a 2 man team. The development process that Dr. Wurst has proposed seems interesting and highly practical for web/app development. A working product every week; it should be interesting to go back and view snapshots of the app on github. I am eager to get working on the project!

From the blog itsJoe&#039;s Blog » cs-wsu by itsjoeyoung and used with permission of the author. All other rights reserved by the author.

First Post of the Semester

Just about to get started with the CS401 project; first time blogging so this should be an experience.

From the blog itsJoe&#039;s Blog » cs-wsu by itsjoeyoung and used with permission of the author. All other rights reserved by the author.

Final blog post and all is well it seems

The semester is over and this is basically my last blog post for now, but im actually thinking of keeping this blog and beginning to use it for things that i find interesting.

 

Basically the euca2ools group presentation seemed to have gone pretty well and everything worked while giving it(which is awesome). Considering the amount of problems that we have been running into coming up to this day we were very excited that everything worked.

John in our group was actually able to upload a CentOS image and get it running on our cloud the previous day of the presentations, and then on the day of the presentations we were able to get a third image up and running with no Walrus errors and SSH into that instance. Dhimitri and I were kind of surprised to say the least cause the day before Walrus was giving us the 403 Forbidden error, so it seemed to have fixed itself….

 

Walrus may have just had a hiccup and that restarting it that day may have solved the issue we were having. Dhimitri also managed to get up a new node running which you could see with the euca-describe-availabilityzones command. All in all, it seemed that the Euca2ools wiki worked out for the best and seemed that a lot of people were able to follow a lot of the steps to use for themselves. This was a really fun and interesting project to work on despite a lot of the issues that kept happening on our way but i think it was for the best cause many of us gained a lot of experience and a lot of understanding of the whole Cloud computing and what it is.

From the blog armindoa » WSU CS by mindoftw and used with permission of the author. All other rights reserved by the author.

Couple of weird oddities..

Leading down to the couple of weeks of the semester and beginning to finish up/wrap everything that we have done up to present, we ran into a couple of issues.

Dhimitri and I were in the same Euca2ools group for the presentations so we were working together through the weekend on what we were going to present and go through as a demo during the presentation. As he was working on a script, i was going through and testing our cloud by uploading a different image and kernel and trying to get more instances up and running, and also deleting images from the cloud.

 

The first issue that we ran into was a problem with getting a new instance up and running. At first i thought it was cause i did not bundle the kernel and image together correctly, so i tried it over and over again until i though it was perfect. The image that i used was the same image as the one that was currently running, so when it was not working we knew we had a bit of a problem. From what the NC log told us we were getting some type of 403 forbidden error and seemed to be stopping us from running instances.

A second issue that occurred, was after uploading quite a few images, kernels, and ram-disks the amount of images on the cloud was kind of cluttered so i wanted to delete some of them. When running the command to delete these images however they were not being removed. We would de-register them and delete but they were not being removed. They stayed on the cloud and listed as de-registered so we restarted the services and still nothing the images appeared back on the cloud as normal.

From the blog armindoa » WSU CS by mindoftw and used with permission of the author. All other rights reserved by the author.

Success at running images!

Towards the final weeks of the semester we actually managed to put together a cloud that was basically running. I say basically running because there still seems to be a few bugs here and there that causes some issues every once in a while.

In the week that we managed to finally get an image up and running Dave actually had decided to reinstall eucalyptus on our cloud with the packages that Eucalyptus team had end up putting together halfway through the semester. During class he actually managed to quickly install all of the packages and set everything up, while long and I managed to package and image with a kernel that was working on the ECC cloud, and we actually managed to get it running.

This was a success at running an image and all seemed well but there was still some work to be done, we could run one image but when we tried to run more it was not allowing us to due to not enough resources and seemed not to be assigning IP’s correctly. So there must have been a problem with the network configuration, Mike was tasked with flattening the network and after some tweeks that Dave did to the networking configuration on the cloud all seemed much better.

We were able to get multiple instances up in the long run and the troubleshooting that Dhimitri and I have been doing seemed to help locating where some potential problems were by going through the nclog file.

From the blog armindoa » WSU CS by mindoftw and used with permission of the author. All other rights reserved by the author.

Creating a bootable disk to flash BIOS

One of the issues that we had while setting up our cloud was incompatible BIOS revision on the machines we were using. They were out of date and did not allow the use of virtualization, so we had to update the BIOS a certain way with the DELL Executable that was the only way to update the BIOS was using an EXE.

 

The first step to creating the bootable disk was downloading FreeDOS so that we can boot up into FreeDOS and run the executable.

In order to do this you do: wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz

Then, gunzip FDOEM.144.gz to unzip the file.

 

The second step is to copy the BIOS flash utility and the BIOS image that needs to be used to upgrade, and mount it to a floppy disk image. Here is what you do in order to complete this step:

modprobe vfat

modprobe loop

mkdir /tmp/floppy

mount -t vfat -o loop FDOEM.144 /tmp/floppy

After mounting the Floppy you want to copy the EXE. that you downloaded for the BIOS:

cp DELLBIOSVERSION.exe /tmp/floppy (not actual name of the bios)

then unmount the floppy: umount /tmp/floppy

 

Step 3 is to burn the bootable CD which emulates a floppy device.

mkisofs -o bootcd.iso -b FDOEM.144 FDOEM.144
cdrecord -v bootcd.iso

After you have created this bootable disk, all you have to do is boot the CD in the machine and basically type in the EXE. and it will autoflash to the new bios.

From the blog armindoa » WSU CS by mindoftw and used with permission of the author. All other rights reserved by the author.

Last weeks of the semester…

The end of the semester has approached rapidly and is finally here. Although we do not have a completely working cluster on campus we have spent a lot of time working with EuTester using the ECC cloud and getting familiar with how it works. I personally only got as far as running test scripts in EuTester, the learning curve was quite steep and I had never used so many command line prompts prior to this class. The documentation for setting up and installing EuTester is decent for a more experienced user, but for someone who had never done work like this i, it was a little difficult to configure with the documentation given. I think that it would be a great idea for us to contribute some additional documentation to what already exists for EuTester, especially documentation for a less experienced user.

We have also been given two assignments which I am currently working on for our last day of class/final. One is an ethical analysis of the Eucalyptus project and the other a final presentation for each groups experiences with the project. My groups focus was EuTester issues and bugs, however most of our group only just started to run test scripts by the end of the semester because we all experienced many issues configuring EuTester. So we were unable to dive into the issues/bugs that were listed on the github site. Our presentation will probably focus more on the installation and configuration of EuTester and the troubles we experienced setting it up and what we learned.

I really enjoyed the opportunity to do something like this with our class and wished we could have gotten closer to actually have a fully working cluster on campus. If only the class lasted over multiple semesters or had a lab attached to it we may have gotten further. The project itself is very time consuming and complicated so I am happy with how far we got on just 1 semester. Hopefully following classes can pick up where we left off and continue to work on the same project.

From the blog michaelkenny2 » WSU CS by michaelkenny2 and used with permission of the author. All other rights reserved by the author.

CS401 – Creating the Wiki Articles

I am now actually consolidating the information our group researched and putting it into wiki articles. Right now I have the main page, the cloud controller, cluster controller, walrus and storage controller. I still need to do node controller and I need to go over everything and fix it up a bit.

Our group has also been working on the presentation that we will give during the final exam, and that is coming along well. Link to the wiki below.

 

http://cs.worcester.edu/wiki/index.php?n=Main.ArchitectureOverview

From the blog blabbecs401 » CS401 by blabbecs401 and used with permission of the author. All other rights reserved by the author.

4/30

I figured that since we are nearing the end of the semester I would post an updated list of current bugs/issues located on the EuTester github page. There are currently quite a bit more issues since the last time I posted the list and I think that some of them have come from our class’s extensive use of EuTester.

  • Update eutester/__init__.py
  • Feature Request: Allow for NC to be an optional value in config_file
  • Need way for machine access when keys have been previously synced
  • Restructure Eucaops into multiple modules
  • Create a Test Directory WikiAdmin
  • Need to investigate a tool that represents test results visually
  • Define licensing
  • Create a standard set of debug tools available when tests fail
  • Goals, purpose, and guidelines for contribution

My group is going to continue trying to run test scripts and familiarize ourselves with EuTester and hopefully try and look into one of these issues. We have posted all the information regarding issues/bugs for EuTester on our departmental wiki.

From the blog michaelkenny2 » WSU CS by michaelkenny2 and used with permission of the author. All other rights reserved by the author.