Enabling the Cyber Community Champions

April 17, 2013

Society, to move forward, needs some cyber community champions. I’m not exactly referring to groups like anonymous, but of course they have their own place in society. I’m more referring to simple straight forward activism like helping to reduce poverty in your own community; feeding and housing the poor, that kind of thing.

Our current system marginalizes too many people, see my essay on Transparent Organizations for background on why this occurs. Too much poverty leads to instability, and to have a stable productive society, we need to create organizations that will assist the poor.

The challenges facing the modern world can be assisted with good technology. For example, hunger isn’t a problem of a lack of food. You have the typically example of millions starving while silo’s are full. There are several aspects to that problem, but one of them is a coordination problem, that can be assisted by appropriate technology.

IMO, these solutions will come from cyber community champions, so my efforts are how to assist in developing these champions. The vision is outlined below.

A computing platform should exist. It would be a community, grass-roots cloud. This might look like the following:

libre Community Cloud

Hardware

Hardware can be acquired through Free Geek. Granted this is generally older hardware, but it’s free.

Software

Some linux variant installed. Something like a freedom box, debian, arch, whatever.

Locations

Locate this hardware in anyone who volunteers homes, who already have a network connection.

Network

Assist them to configure their routers so ports are forwarded from the outside internet to these server boxes from Free Geek.

This could be a brilliant community cloud that could be put to work to solve all sorts of community computing challenges. There are challenges for sure, but I’d sure like to start this up!

Once there is a libre community cloud to build upon we need to create people who can build services on top of it to serve the communiity. We need a training curriculum that teaches people how to use this cloud. That might look like the following:

Educational

An educational aspect should be setup around the libre community cloud. Citizens will need to learn how to use the cloud to create community services. Training should be firmly rooted in the , so software taught should definitely NOT be proprietary software, eg: NOT windows, etc…, but rather Linux variants.

Funding

You could charge people who could afford the class double, so that for each one of them, a person who couldn’t afford the class can also attend.

Curriculum

Initially, students, would borrow a machine from Free Geek, that is completely blank. They’d build up the machine going through the course material, adding software as they are going to learn it.

Foundation Courses:

  • Linux System Administration (sa1)

    Install a linux distro like arch linux or debian. Basic Linux system administration. In this class they could rebuild the computer that they’ve borrowed from Free Geek. So they’d get a second clean machine, and install it up with all the software to complete each course.

  • Text Editing 1 (te1)

    Pre-requisits: (sa1)

    Install emacs and learn emacs basics.

  • Text Editing 2 (te2)

    Pre-requisits: (te1)

    Learn how to extend emacs, with emacs lisp.

  • Lisp Programming 1 (lp1)

    Pre-requisits: (te2)

    Lisp: Move into common lisp, slime, etc…

  • Web Programming

    Ruby: Teach a basic Ruby course.

    Ruby on Rails: the web framework.

    Persistence: PostgreSQL. Programmatically accessing the database. Basic SQL.

    IRC: Learn how to use IRC for community building.

    The above toolbox should be enough to give students the ability to create services to assist the community.

Transparent Organizations

April 5, 2013

I was reading an interesting post from George Monbiot, Spark of Hope, where he discussed two ‘big ideas’. A guaranteed income for everyone, and a land value tax. I do think these are probably good ideas, but they both require the participation of the taxed. Both transfer money from rich to poor, which the rich will fight tooth and nail. I guess my inclination is to pursue things that have the same effect, ensuring everyone has access to the requirements for human dignity, food, housing, clothing, etc…, yet rely less on the benevolence of the rich to achieve them. How can the ‘poor’ organize themselves to provide these things?

The two principle structures for income creation and distribution have been the private and public sectors. These two sectors are only somewhat successful in achieving the goals of human dignity for all. Corporatism leads to a winner takes all, and bugger the rest. Govermentism, tends towards a fascism, where corporations control government, and use it to enforce with the army, police, the corporate agenda. Again winner takes all. So what to do?

Personally, I think the solution is two-fold. First we need to agree on what we are doing. Then second, how that will be done. The ‘what’ is as stated above, a minimum level of human dignity for all. I think that is a pretty easy ‘what’ to agree on. The how is more what I’ll address in this article.

In my opinion, the principle problem with existing structures/sectors is a lack of transparency. If organizations had an extreme level of transparency, then their motives could be examined, and a determination made whether they progressed the common good or not. But how to achieve the level of transparency necessary to build this confidence? Being a technologist, I’d apply the common techniques used in the industry; open data, analytics, etc…

This approach often gets characterized and criticised as being a Solutionist, and I am a solutionist. However, Morozov’s, critique around solutionism comes about because of his mistrust of how governments and corporations would use data acquired with solutionist approaches. These concerns ligitimately arrise because of their opaque nature. His attack isn’t on the technology per se, but how it might be used in some fascist, totalitarian way.

I don’t believe that government/corporations can be changed to be transparent enough. They face conflicting forces, that push them to be more opaque. What I’m suggesting is that a third type of organization would need to be created that has transparency as a founding principle. What to call it? A Transpariment? Transparation? More importantly, how to get from where we are to one of those?

There are attempts from traditional structures to move in that direction. For example, see Oakland’s city government initiatives. However, we also see opposite moves, like the Harper government trying to muzzle scientists. Government because of it’s power is too much subject to the power of the corporatocy, so ultimately, I don’t think transperiment will spontaneously evolve from there.

There are other sectors of the economy not mentioned so far, namely NGOs and cooperatives. Yet these organization often run foul too, and primarily it’s around transparency. For example, too much money spent on running the charity, and not enough on behalf of those the charity purports to serve.

So I guess that another type of organization would need to be made, who’s modus operandi is transparency. That’s the how. The what, IMHO, should be what all the other organization seek to do. So I’d like to see government, corporations, NGOs supplanted by these Transpariments/Transparations. Those names are awful, lets just pick the acronym TO’s (Transparent Organizations) for now. These TO’s would likely be driven by disenchanted silicon valley’ites, for whom the the Ayn Rand Objectivism they found ultimately unfulfilling. Those seeking to apply their knowledge to the true advantage of humanity. It is these people I seek and with whom I recon, a truly bright spark of hope exists!

Open Source Company

February 21, 2011

What about creating an open source company.  Not a company that creates open source software, but a company that IS open source?  Maybe it would be akin to a co-operative?  I guess it would have flavors of anarchy?  Hmmm…  The books would be open for the competition to inspect.  All of your sourcing would be freely open to inspect.  You customer data could only be opened up if the customer wanted your competitors to approach him.  You could document how everything was done so if someone wanted to setup a competing company they could do so…but the only thing that could feasibly compete would be another co-operative with small margins.

It would give people a meaningful way to contribute to society.  Give people reasonable pay…and could spread into ANY and EVERY area.  Banking, shipping, manufacturing, whatever.  I think that could be wildly fun to participate in.  I’ve a couple of modest internet influenced ideas that I’d like to try this out on.

We could come up with some algorithm to distribute the profits at the end of each month.  All these ideas could be hashed out on a public forum.  Spammers, and hackers would love to crack into the project and break it up…but just as many good ones ( and hopefully better ones ) would want to protect it.

The company would be based around things being known.  So if a partner wanted to work with us, they could really do that easily.  They could become like us too, and we’d both have open interfaces for business to business electronic information transfer…so things could be very automated.  We could use as much open source software as possible…since we wouldn’t have a lot of capital to startup and our margins would need to be public and therefore reasonable.

We could settle international accounts using something like BitCoin…doesn’t cost a penny to send anywhere, because you aren’t sending anything but electrons down a wire…and then only the energy is actually sent down, not the actual electrons!

I’d like the first business to be something very practical, so it’s not just software guys doing it.  I think it would be cool to offer a product/service that far outshines what currently is on the market.  I guess the openness of it would make the customer support much better.

Just across the boarder you can have clothes sewn up for quite reasonable prices.  Stick in fabric QR Codes into them, so when you get a horrible grease stain on your favorite shirt you whip open your iPhone, take a quick snapshot of the fabric QR code in the color and a prompt asks you if you want an exact copy or something else.  Press exact copy and 1 week later your brand new shirt is sitting in your mailbox!

The purpose of Patents and its broken state.

May 27, 2010

The purpose of patents is to allow inventors to benefit from their inventions. If I’m an inventor in a garage and I think up a cool idea and a monolith company comes by and sees how cool it is and just ‘steals’ the idea and cashes in on what was my insight/idea…thats the scenario patents are trying to avoid. This allows us to encourage people to invent new ideas and therefore benefit society as a whole. The key point is the benefiting society as a whole.

However, we now see that patents are being used not to benefit society as a whole but to protect large companies from smaller innovative companies…and society is being harmed by this process. Don’t you find it ironic that the system dreamed up to protect or help us is now in fact doing just the opposite in many situations!

I’m not sure where else this problem is manifesting itself, but it seems to be a major problem in the software industry. I’m guessing that in the drug sector patents are still quite important because of the huge research investment costs required. However, in the software world, you just need a sub $1000 laptop and you are ready to do some great things.

For example, we can say that twitter and other social networking tools help people resist oppressive regimes like Iran, etc… But we have big companies or organizations squashing cool technologies that hackers are would happily give away getting the threat of law suits over patents that were granted. The little guys are more than capable of ‘inventing’ the items where patents have been granted. Probably one of the most notorious patent approval was Amazons “1-click” patent. Basically they patented the idea that with one-click you could purchase an item on a web site. Common, that’s a freaking joke! Giving them a patent on this doesn’t represent preserving the overall good. Now any website that want to do the same thing has to pay them royalties! This just makes it harder for the little guy to go ahead and make cool websites that society WOULD in fact benefit from.

Another area where this is really starting to heat up is around the MPEG LA group who are trying to lock down control of video on the internet. The idea of video on the internet is NOT a novel idea, however it is a very useful to society idea. Having websites where the world could watch what, say the Thailand army was doing, and then people could notify the protesters there, would go a long way to providing a check and balance to authoritarian regimes unjustified use of power. But a single group, who’s only motive is money, is trying to lock down something that should be free for everyone to use and benefit from. This is simply a broken system.

What would happen if we just stated that no patents on software were going to be granted and see what happened. My prediction is that, far from causing the eco-system to dry up, that exactly the opposite would happen. We’d see a flurry of great products hit the street and society would benefit as a result. Of course this would hurt large companies that have spent more time investing in purchasing patents than actually rolling up their sleeves and providing products customers want to use. Lets create a level playing field that will encourage innovation, not generate a legal system that is choking innovation.

Getting JeOS (Just enough Operating System) Template Builder Working

October 10, 2009

The following post explains how to get JeOS up and running for yourself. The basic steps that I have used are the following.

Installing JeOS

I had a tough time trying to figure out what the next step should be. The documentation talks about a JeOS template which I can’t find anywhere. (Update: I’ve discovered that it hasn’t been posted yet!) So I’ve opted for the rpm installation approach. If you are as excited as I am to get JeOS, you can follow what I did to get it up an running. Fix up your Oracle enterprise Linux VM Ware image.

[root@ovmmanager ~]# cd /etc/yum.repos.d

[root@ovmmanager yum.repos.d]# wget http://public-yum.oracle.com/public-yum-el5.repo
			

[root@ovmmanager yum.repos.d]# vi public-yum-el5.repo

  • Locate the sections [el5_u3_base], [el5_addons] and [el5_oracle_addons]
  • Change enabled=0 to enabled=1

Download the JeOS RPM files from eDelivery.oracle.com/linux: Product Pack: Enterprise Linux, Platform: 64 bit, Description: Oracle Enterprise Linux JeOS for Building Oracle VM templates for x86_64 (64 bit), Names:

  • JeOS Base x86 and x86_64
  • JeOS Enterprise Linux 5 Update 3 base image x86_64 (64 Bit)
  • JeOS Enterprise Linux 5 Update 3 base image i386_32 (32 Bit)

I highly recommend you do the 32 bit one. I have had difficulty installing some software into the 64 bit image and I really didn’t need to concern myself with greater than 4 gigs of RAM headroom and I have hardware that will only support 32 bits, so if you do 64, you are limiting the hardware you can run on…I think, though I have heard of people running 64 bit images on 32 bit hardware, but I’m not too sure about that, haven’t tried it myself.

Install them with:

[root@ovmmanager yum.repos.d]# rpm -ivh ovm-modify-jeos-1.1.0-2.el5.noarch.rpm

[root@ovmmanager yum.repos.d]# rpm -ivh ovm-el5u3-xvm-jeos-1.1.0-1.el5.x86_64.rpm

[root@ovmmanager yum.repos.d]# rpm –ivh ovm-el5u3-xvm-jeos-1.1.0-1.el5.i386.rpm

 

Now I follow some additional instructions from the template builder installation and user guide. It says I require these packages: python-simplejson, python-sqlite2, Django. I executed the following commands to get the exact name of the packages:

[root@ovmmanager yum.repos.d]# yum list available | grep jango

[root@ovmmanager yum.repos.d]# yum list available | grep python | grep simple

[root@ovmmanager yum.repos.d]# yum list available | grep python | grep sql

 

Then I installed them as follows:

[root@ovmmanager yum.repos.d]# yum install –y python-simplejson.x86_64

[root@ovmmanager yum.repos.d]# yum install –y python-sqlite2.x86_64

[root@ovmmanager yum.repos.d]# yum install –y Django.noarch

[root@ovmmanager yum.repos.d]# yum install –y ovmtb

[root@ovmmanager yum.repos.d]# yum install –y ovmtb-images

[root@ovmmanager yum.repos.d]# service httpd restart

[root@ovmmanager yum.repos.d]# service ovmtb restart

[root@ovmmanager yum.repos.d]# system-config-securitylevel-tui --quiet --port=http --port=ssh

 

Then navigate to:

http://localhost/ovmtb/

Then you need to register a user name and then you can log in. Once logged in, you can create a JeOS template by going to Templates > New Template Project >

Setting up an Oracle Enterprise Linux VM Ware Image

September 2, 2009

Get Oracle enterprise Linux DVD iso

The first step is to get yourself the latest version of Oracle Enterprise Linux (OEL). In my case this happens to be OEL 5 Update 3. Although this DVD is available from edelivery.oracle.com I had tremendous trouble downloading it. The reason being it was such a large file and the network kept crashing and HTTP doesn’t allow resume, so I would always have to start from the beginning. If you are an Oracle employee you have another option. See this link: Install OVM Server.

Create a VM Ware image

I use VM Ware initially to create a system to run OVM Manager, (and JeOS), but later will create JeOS images for OVM Manager and JeOS template builder. Like using a ladder to get to the second floor then kicking the ladder away. That is I won’t keep VMWare image down the track, just used to get me started.

Create a virtual machine of Oracle enterprise Linux in VM Ware. I created a video here: Enterprise Linux VM Ware image with custom disk layout, showing you how to do this. You have to ensure that your root filesystem has at least three gigs free in it. This is covered in the video.

Also installed VM ware tools. Click on virtual machine menu item, choose install VM ware tools, extract the tar ZIP file to attend directory and run ./vmware-tools.pl. Except all the defaults and restart your machine. I have posted a YouTube video here: VMWare Tools install for Linux, showing you how to do this.

I had to change the VM to bridged networking and restarted the server.

Oracle Virtual Machines Manager Setup

September 1, 2009

In this article I will discuss how to set up Oracle virtual machine manager, from the ground on up.

Follow this post: Setting up an Oracle Enterprise Linux VM Ware Image

Download and Install Oracle Virtual Machine Manager

Download Oracle virtual machine manager into your Oracle enterprise linux VM Ware image. Extract it and you will have an iso image. Mount the iso image as per the directions below and run the installer:

[root@localhost mnt]# mkdir /mnt/disk

[root@localhost Desktop]# mount -o loop OracleVM-Manager-2.1.5.iso /mnt/disk

[root@localhost Desktop]# cd /mnt/disk

[root@localhost disk]# sh runInstaller.sh

 

I have let the installer install its own database, since this seems to be the easiest thing to do. I then tried to access

http://localhost:8888/OVS

but I got an error. I didn’t really watch the installation questions very closely so I went back and reinstalled OVM Manager using the upgrade option. Everything seemed to work fine after that and this is the URL to be used:

https://localhost:4443/OVS

A username: admin, password: (whatever you chose for installation )

Install Oracle Virtual Machine Server

In my set up I have a dedicated machine that is my OVM server. It happens to be a 4 GB laptop. Install the latest version of Oracle virtual machine server to your dedicated machine. Make sure to keep track of the OVM Server agent username and password. You will need this when you connect from Oracle virtual machine manager.

 

 

Oracle JeOS (pronounced Juice)

August 31, 2009

You know when you have that little butterfly feeling in the stomach when things are going right…well that’s what I felt when I stumbled upon Oracle’s JeOS (Just enough Operating System). Those butterflies increased when I saw the actual size of the downloads on eDelivery! OS images on just over 100 Megs! Hallelujah. Now you might wonder what all the fuss is about so let me explain why I’m so excited about this.

I have been working in software for 15 years. I’ve spent the majority of that time in consulting. This means helping one project after the other. I feel like I’m in a pretty good position to talk about the difficulties with getting software projects running at customer sites. There is a tremendous gap between what is possible with all the amazing software that exists and what actually gets implemented at companies. The major problem here are the complexities involved in installing, configuring, customizing, and understanding these new pieces of software. These activities often lead to the projects being too expensive to do. God knows how expensive consultants can be.

So along came virtual machines. This allowed people to pre-package solutions. This saved you the effort involved in installing and doing standard configurations. However major impediment to using the systems was the fact that the image size turned out to be huge. 10 GB was a common size for virtual machine that had no data on it. Today’s modern solutions are best realized with a variety of systems in place. For example a common solution set could contain a content management system, a database, an application server, a portal server, and an identity management server. Now also consider that most of virtual machine images will contain one or two of these elements. And you also have to realize that when people traditionally build up virtual machine images they contain a base operating system that is fully loaded. That is it could take up 2 GB of hard disk and easily 750 meg of RAM. The final thing that you should consider is that most consultants have that maximum 4 GB of RAM on the laptop and they are running Windows XP which only allows access to 3 GB of RAM and assuming one GB is used by the operating system you are only left with two GB. In this scenario, consultants can only really run one or maximum two virtual machine images.

Also keep in mind, consultants are typically experts in one area. This often equates to one virtual machine. This is a massive problem. Without having consultants who can guide you through using a complete solution footprint, the chance of new projects kicking off and being successful are dramatically reduced. What consultants need is the ability to run four or five virtual machine images simultaneously on their own laptop so they can see, feel, touch, and taste each of the elements of a full enterprise solution. With traditional virtual machine images this is impossible. Enter JeOS.

JeOS is a stripped down virtual machine template that can be used to build up the items I identified above. For example I could build a content management virtual machine and a database virtual machine that are based on JeOS. In fact this is what I intend to do in the next week. My next blog post will be a practical posting indicating how you too can do this. I’m going to cut and paste some sections from the Oracle White paper on Oracle VM template builder:

http://www.oracle.com/technologies/virtualization/docs/ovmtemplateoverview-whitepaper.pdf

I have added bolded emphasis for those of you who want to scan the rest of the article.

This white paper provides an overview of Oracle VM Templates and how they can be used to deploy complex and sophisticated enterprise software in a few hours instead of a few weeks, while still allowing for customization to tailor to your specific environment. […]

An Oracle VM Template is a virtual machine (VM), or group of VMs, containing Oracle or other software that is pre-built, pre-installed, pre-configured and ready to use—no installation required. Simply download the Templates from Oracle E-Delivery, import to an Oracle VM instance, deploy and start-up the VM(s), to begin using the encapsulated product(s). Oracle VM Templates can be created by Oracle, by internal developers, or by third parties such as ISVs or solution providers using software available for download and even free re-distribution without a contract.

Oracle VM Server: Server virtualization for x86 and x86_64 servers and the base platform for hosting Oracle VM Templates

Oracle Enterprise Linux, both in its minimized build version known as the “Just enough OS” or “JeOS” edition and also in the full-install version These products from Oracle provide the platform for any Oracle VM Template, but internal developers or third party solution providers can optionally add their own software to any Template they produce to create and distribute a unique, total solution. Using these components, Oracle, partners, and customers can create powerful enterprise software “appliances” that are fast, easy, and risk-free to distribute and deploy.

[…] incorporating licensing that permits free redistribution without a distribution contract from Oracle. Only Oracle, with the most complete enterprise software stack in the industry – from packaged applications such as PeopleSoft and Siebel, through the middleware and database, to the operating system and server virtualization – can provide a complete solution that is ready to go in a production with a few clicks from a browser.
Oracle VM Templates are the fastest, easiest, most reliable way to deploy Oracle solutions, whether for production use or for evaluation.

Best Practice for Guest VM Creation: Oracle VM Templates It

The Challenge Without Templates: Slow and Error-Prone Deployment

The challenge for traditional enterprise software deployment is that it can be complex, time-
consuming, and error-prone
. Enterprise software often contains numerous components or modules, each of which may need to be installed and configured separately, with its own dependencies on patches, operating system versions, or other packages. Learning how to install products and researching all the patches can be a time-consuming experience and the complexity often generates a significant risk that something will be overlooked or done incorrectly, leading to more lost time or worse.

All of this time and effort is, in many ways, a waste: It’s simply a cost burden on the business that ultimately reduces the return-on-investment for the project by lengthening the amount of time until the application or service is up and running reliably.

Oracle VM Templates Significantly Reduce Deployment Time and Risk

Oracle VM does away with that wasted time and expense by providing the ability to rapidly and easily deploy a pre-built, pre-configured, pre-patched guest virtual machine (or multiple machines depending on the application) in the form of an Oracle VM Template. Templates can contain a complete Oracle software solution, such as Siebel CRM or Oracle Database, including the operating system (Oracle Enterprise Linux) and even your internally developed or third party software. A complete solution: ready to start-up. Oracle VM Templates produced by Oracle are available from Oracle E-Delivery, while third party developed Templates would be made available via their corresponding channels, ready to download and start-up in an Oracle VM infrastructure. Already licensed for production use, Oracle VM Templates can save users days or weeks learning to install and configure a sophisticated product such as Oracle Enterprise Manager Grid Control or Oracle Fusion Middleware SOA Suite.

Instead, users can focus on simply downloading and starting the VM(s) to begin using the product right away with the confidence that they are deploying an exact, validated copy of their virtual machines and not a virtual machine hand-built from scratch where the risk of human error such as missing a patch dependency, or misconfiguring a parameter is far greater.