Contact Form

Name

Email *

Message *

Search This Blog

Total Pageviews

Popular Posts

Translate

Sunday, September 14, 2014

Virtual Machines in the Cloud

I forgot to cover the cloud yesterday and it's probably going to take a post of its own anyway.

AWS - http://aws.amazon.com/console/

You 1st need an account in the cloud. I already had a Glacier account, so Amazon's Web Services was my 1st choice. Then I needed a Virtual Machine.

Turnkey Hub - https://hub.turnkeylinux.org/

They work on Amazon's Simple Storage Service (S3) using Virtual Servers in the Cloud (EC2), so that was easy to setup and they have a Small S3-backed server for $0.072/hour. The system's core that was identified as core-11.3-lucid-x86 the last time I ran it, but today, the Base distribution appears to be Debian 7.2 (Wheezy).  Let's see what happens when I Launch a new server. I have to choose a TurnKey Appliance with names like App-Engine GO, Bugzilla, Jenkins, Wordpress, etc. Maybe the one called "Core" will just give me a Linux prompt. I have to give it a Hostname, and it looks like I might have used daruffer.tklapp.com before (Hub's free Dynamic DNS domain).  I gave it a password and a Root file system size of 10 GB. However, it looks like my account has not been Enabled for TurnKey Linux on Amazon EC2 and they want a minimum of $10/month for Pay-per-use.  Yuck!

In fine print, I see: Free evaluation: Without a plan you can run one concurrent Micro server at no extra cost. Amazon's free usage tier may apply.  More fine print says: Free for the first year
New Amazon cloud accounts get 750 monthly micro server hours free for up to a year with Amazon's free usage tier. Usual usage fees: Unreserved Micro instances: $0.02/hour or about $14/month for continuous 24x7 usage. Reserved Micro instances: reserving a Micro instance through the Hub can save up to 56% of total costs and bring down the hourly usage fee to half a cent ($0.005) an hour.

That's probably what I used back in 29Apr11 when I 1st signed up, but I don't see any email to indicate when this $10/month thing happened.

Elastic Beanstalk - https://console.aws.amazon.com/elasticbeanstalk/

Then again, Amazon itself appears to have something similar running 64bit Amazon Linux 2014.03 v1.0.1 running Docker 1.0.0. It took quite a while (2014-09-14 13:51:44 UTC-0700 to 2014-09-14 14:01:15 UTC-0700) to start up, but then I could access http://default-environment-6dhevgsdik.elasticbeanstalk.com/, which mostly just has links to tutorials (YouTube), sample apps (GitHub) and documentation (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html).

I've got some reading to do before I can do much more, so I just Terminated the Environment.

Jolicloud - http://www.jolicloud.com/jolios

I thought this was more along the idea that I am looking for, a  Ubuntu-based Linux distribution in the cloud, but they decided to take Joli OS Open Source and discontinue the service last year. It looks like this has become a pattern with Browser Based Operating Systems. Yet, there still are 7 classic versions of Windows and Mac OS you can run in a browser and some of these 9 Cloud Operating System You Can Try Out For Free or 11 Cloud OS (Operating Systems) you might want to give a try are still working.

All of these cloud solutions have the same problems:
  1. How to make it less expensive than a dedicated PC?
  2. How to save and manage your data and configuration.
The infant mortality and for-pay options are ample evidence that these issues have not been solved yet. I'm sure there are a lot of really smart people trying to figure this out, and eventually, we will see viable options that manage to survive. However, I don't think we are quite there yet. ;(

Saturday, September 13, 2014

Virtual Machines

I've agreed to talk about Virtual Machines at the September SVFIG meeting, and just noticed this posting in the InformationWeek Daily email: emc-vmware-not-for-sale. I didn't know that EMC owned 80% of VMware but ok, this is a good place to start.

VMware - http://www.vmware.com/

I can't remember when VMware became a standard tool for me, but I almost always have a Ubuntu box on my Win8.1 TaskBar these days. It used to be that I could only run a 32-bit "Guest OS", but now that I have a system that can handle the hardware and firmware requirements for 64-bit guest operating systems (1003945), I almost never run the 32-bit virtual disk file (VMDK).

You can either pay VMware for their Workstation or find their Free Player. In either case, I highly recommend downloading a Virtual Appliance to get started. With the Workstation, you can certainly roll your own guest, but it is so much easier to start with someone else's work unless you really like getting your hands that dirty. You can find just about anything in the Markeplace, but sometimes, it takes a little bit of work to find the version you want. I think the last time I started from scratch, I started here: Ubuntu 12.04 LTS Desktop, but then, updating it is handled by the guest.

Once you get used to playing with the guest, and learned how to back it up (~40GB) in the inevitable case that you mess it up, you can play with some of the settings. The VMX file is a standard text file that contains many useful settings, like the disk image (VMDK) file name. There are also utilities that can manipulate the VMDK to either split it up, combine it, compress it or repair it, depending on your needs. Over time, you will find the need to touch it, so just get used to that.

The integration between the host and the guest OS is where all the fun begins, and for the most part, VMware does a really good job, but it's never perfect. For example, determining which OS gets to have control over which device, especially if the device is removable (e.g. USB), can be problematic. However, I was able to get things like hub-ctrl to work, so just be persistent when you run into issues.

QEMU - http://wiki.qemu.org/

This is the generic, open-source way to emulate many microprocessors. Most recently, I was using it to experiment with eLua, but I can't remember if I ever did manage to get it running. It's not always easy to work with, but over the years, I've found various people who were willing to put in the effort and posted how to get things running. I remember one for colorForth, but it was enough different that the effort died after Chuck updated his system, many times. The instructions that could still find are for setting up Open Virtual Machine Firmware (OVMF), which is part of the Tiano Core UEFI support for Virtual Machines.

I got into this both during my last days at Apple as they geared up to dump OpenFirmware, and more recently at Nook Media, LLC as we tried to make a Win8 Nook before they killed their entire manufacturing capability. I was the only one who knew how to get started, so I pulled down qemu-w64-setup-20140801 and added it to my path. However, when I tried to run the code that I had compiled back then, it didn't run. So, I'm probably going to have to do all the setup process again before I can demo this piece. ;(

Setting up the compiler is problematic, but I found that the following command worked on the old image that I have: qemu-system-x86_64 -pflash ./bios.bin -hda fat:hda-contents

I just found this one recently. I downloaded DOSBox0.74-win32-installer and installed it. Then I simply mounted my old polyFORTH folder (MOUNT C C:\FORTH) and ran "PF HI EXPRESS LOAD MIXER LOAD RUN" and the Mix Master was running again. It's been years since I've been able to do that, but if you've got some old DOS apps, this is a good way to use them again.

As far as host integration goes, the basics work pretty well. There were no windows back then, without custom applications, so Alt-Tab gets you in and out from the mouse being captured.

The Mix Master is the demo that was include with FORTH, Inc.'s EXPRESS which was used by various projects, some of which are described in the following app notes:

VMGEN - http://www.rootr.net/man/info/vmgen

This is the smallest VM that I am aware of and it is fitting that it is part of the gforth distribution. There appears to be an ACM paper called Vmgen: a generator of efficient virtual machine interpreters, but I'm not a member and some slides here and another paper here.

Installing gforth is always an adventure, but I maintain mine in cygwin and pull down the development version in the git repository on Savannah. However, to get started from scratch, you need a precompiled executable for your platform, because gforth is required to compile gforth. On linux, use the standard package install method (e.g. sudo apt-get install gforth) or go to the Home of Gforth to find other distributions (e.g. Win32). Don't worry about it being the "latest" version, since you will typically build that from the git source.

Once you have it installed and checked, you can make and run the tiny Modula-2-like
language with a small JavaVM-like virtual machine called mini.

Dennis@DaRPC /usr/src/gforth/vmgen-ex
$ mini -h
Usage: mini [options] file
Options:
-h      Print this message and exit
-d      disassemble VM program before execution
-p      profile VM code sequences (output on stderr)
-t      trace VM code execution (output on stderr)

Dennis@DaRPC /usr/src/gforth/vmgen-ex
$ mini fib.mini
result = 9227465

You can also run gforth, which is another "product" of vmgen, but it uses many undocumented features that would be too confusing for the uninitiated (including me).

So, I think I will publish this now, so people can start asking questions, if they'd like to, or ask for more details, which I can research before the talk on 27Sep14.

I'd love to see more people come to the meetings, but if you can't, please be sure to catch the videos that we will post during and after the live meeting takes place.

DaR

Friday, August 22, 2014

GreenArray GA144 Links

These are a bunch of links, mostly on the 1st link, that I will be talking about at the August SVFIG meeting tomorrow (23Aug14).  Everyone is welcome to join us or watch the YouTube HangOut remotely.

GreenArray Support

setup-af-EVB001-02b

C:\GreenArrays
|   
+---EVB001
|   |   arrayForth 02b.lnk    cForth2.ico         EVB001-02b-index.doc    EVB001-02b-notes.txt
|   |   EVB001-02b.cf         EVB001-02b.html     linuxwine.bat           Okad.bat
|   |   Okad.sh               Okad2-42c-pd.exe    OkadBack.cf             OkadWork.cf
|   |   unins000.dat          unins000.exe
|   |   
|   +---eF
|   |   |   eforth.bin
|   |   |   
|   |   +---demo
|   |   |       hanoi.e4      led-task.e4         lib-demo.e4             random.e4
|   |   |       sieve.e4      tetris.e4
|   |   |       
|   |   +---docs
|   |   |       FTDI USB Driver.txt    readme.bat.txt      readme.e4term.txt
|   |   |       readme.eForth.txt      readme.start.txt
|   |   |       
|   |   \---term
|   |           e4term.f               term.sf.bat         term.sf.sh
|   |           
|   +---FTDI
|   |       EVB001-A-std-110831.xml       EVB001-B-std-110831.xml       EVB001-C-std-110831.xml
|   |       
|   \---pF
|           4THBACK         4THDISK                athena3.ico      crud
|           linuxwine.bat   pF-Status.txt          pF144-02a.blk    pFBACK.blk
|           pFDISK.blk      saneFORTH G144A12.lnk  scratch          sF01b-1.exe
|           
\---Projects

AN004-111008-GS-EVB001

DB001-110412-F18A

G144A12-poster-A1

g144chart-11x17-grey-04

DB003-110926-EVB001

DB004-131030-aFUSER

cfasdis

Saturday, February 8, 2014

The day we fight back

In January 2012 we defeated the SOPA and PIPA censorship legislation with the largest Internet protest in history. Today we face another critical threat, one that again undermines the Internet and the notion that any of us live in a genuinely free society: mass surveillance. In celebration of the win against SOPA and PIPA two years ago, and in memory of one of its leaders, Aaron Swartz, we are planning a day of protest against mass surveillance, to take place this February 11th. Together we will push back against powers that seek to observe, collect, and analyze our every digital action. Together, we will make it clear that such behavior is not compatible with democratic governance. Together, if we persist, we will win this fight.

The day we fight back!

I guess pasting code from thedaywefightback.org doesn't work. ;( I'll have to figure out a better way to participate!