Archive

Uncategorized

Since last week my wife and I went to Occupy Oakland three times. Each time she went as a photojournalist and I went out of my own interest. During a small part of our Saturday afternoon there we ended up talking with two “revolutionaries”. It felt like I was debating with FOX news, they continually ignored facts and their view of what was happening around them was based on conjecture.

 

They both were ignorant of their rights given to them by our constitution. Interesting because one wasn’t even an American, he is a German citizen, though he still gets these rights. And both have taken what the Occupy movement was started over, the uncontrolled greed in Wall Street and unbalanced treatment by the government between the general population and big business, and have co-opt it to meet their view of an “occupational” revolution.

 

Because you see the plaza is an “Occupied Zone” where the laws of our country do not apply, except of course when the police come back and they claim their First Amendment rights have been violated. This was the view that they were trying to explain to us. And this and the others there with different agendas if left unchallenged is what could take the spotlight away from the message of the Occupy Wall Street movement.

 

My only personal experience with Occupy Wall Street is from my time in Oakland. I’ve not been to Occupy San Francisco or Zuccotti Park. And to many others Oakland became one of their views into the movement due to the actions taken by the Oakland Police Department last week.

 

The people there with different agendas like those we met risk diluting the message that many are enduring hardships to spread. There needs to be people within the movement to step up to provide leadership roles, to become examples to the character of the movement and to represent themselves in society by participating in both our political and financial systems. Otherwise people who may not truly represent those ideals are becoming the face of the movement.

 

During the time talking with these two young adults and listening to the others speaking around the plaza we were told many times do not take my picture, or that we’re racists, the media lies, that we’re part of the system that is taking their freedoms away. But each of those people while telling us to ignore them I feel all want our attention. They want the attention that their actions bring while they at the same time they say go away or you don’t understand. These actions can push others away from the Occupy movement by having these groups represent Occupy or at the least be the first impression for someone arriving at the plaza.

 

The idea that the system is the problem or that we can break it and create a new one is wrong. It isn’t their system, it is our system and as a country we have ignored that fact allowing others to come in and buy it. Our lack of participation in it has created the vacuum that put into place the very things that today we have issues with. We are responsible for the situation the country is in just as much as anyone from Wall Street or government. We have been the silent observer not challenging those who have taken advantage of our silence.

 

After the Deepwater Horizon accident information was posted online showing the different business that BP owns and operates and asked that you consider to stop doing business with them. After a few years our memory has softened a bit and most people would not think twice about spending their money at BP.

 

We have to continue to exercise our rights and participate in our democracy. That includes voting, both at the ballot box and at the cash register. Just as there are consequences on how you as an individual vote in elections there are as to how you spend your money. Greed alone is not enough for the 1% to amass a large fortune; we actively give it to them and allow policies to continue to assist them in doing so.

 

To be clear the issues brought up by the Occupy Wall Street movement line up with my political views, but I hope that leaders in that community appear or I fear it will be lost in the background of the different messages being presented.

 

Michael Biven

Not too long ago I started setting up some EC2 AMIs and startup scripts for our engineers to use for development and with the addition of Buildout by one of those engineers it became what we referred to as dev-on-demand or “dod”. For various reasons we have now since retired the dev-on-demand and just have a number of servers that the engineers can use.

Ideally you should be limited only by the performance of your machine or other resources to quickly fire up one or more virtual servers to work, test or learn with.

Vagrant is a tool for doing just that – to build and deploy virtualized dev environments. By using Oracle’s VirtualBox along with Chef from Opscode, Vagrant is able to build out something from a simple dev setup to a complex dev environment that you can save, reproduce and then tear it all down when you are done. The reproducible part is something that I would point out if you are part of a team, because you can save standard setups that your team can use as a starting point or share entirely new configuration ideas with them.

And if you find yourself teaching a class or just needing to learn something new on your own Vagrant should be a good pick to use as your classroom.

Two little gotchas that I encountered after installing it on Mac OS 10.6:

$ sudo gem install vagrant
$ vagrant box add base http://files.vagrantup.com/base.box

When trying to add a new box after installing the Ruby gem I got the following error:

/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/
lib/nokogiri/nokogiri.bundle:
dlopen(/usr/local/lib/ruby/gems/1.8/gems/
nokogiri-1.4.1/lib/nokogiri/nokogiri.bundle, 9):
no suitable image found.  Did find: (LoadError)

I had to reinstall Ruby, because of some issue when I upgraded to Snow Leopard. After the reinstall I was able to get past this step and onto setting up Vagrant and starting the server.

$ vagrant init
$ vagrant up

Until I had this second error:

/usr/local/lib/ruby/gems/1.8/gems/
virtualbox-0.5.4/lib/virtualbox/global.rb:122:in `config':
The path to the global VirtualBox
config must be set. See Global.vboxconfig=
(VirtualBox::Exceptions::ConfigurationException)

I had just installed VirtualBox (we use VMware Fusion at work) and I hadn’t used it yet and just needed to run VirtualBox at least once to get vagrant up to work. After that the new box was downloaded, added and started right up.

If you’re reading this and thinking thats nice, but we use X instead of Ruby, unless you are on a OS that Vagrant doesn’t support it really shouldn’t be an issue. At work we are a Python / Django shop and I was able to add a recipe for mod_wsgi and get a simple Django app up and running with no issues. And I’m sure if I had time a recipe could be expanded to fit our needs to use buildout getting our app onto one or more boxes.

Read more about Vagrant here and if you are managing any number of Unix/Linux servers and haven’t yet heard of Puppet of Chef I’d encourage you to spend some time with at least one of them. For those on a Mac who might have always wondered why there isn’t a default package management system on Mac OS X and have been looking for one check out Homebrew.

There have been several different package management tools that have appeared for Mac OS – Fink, MacPorts and now Homebrew. Created by Max Howell former developer at Last.fm (led the work on all of their desktop and mobile software) it has become one of the most popular projects forked on GitHub.

Like the others it’s a simple method of installing open source software, but it is built to keep them in line with software that is already installed either by yourself or the default stuff in Mac OS. This is due to it giving you control over where it’s installed,a loose policy of not duplicating what is in CPAN, Python Easy_install, pip or Ruby gems and that Homebrew allows you to see what is going on in the background during the install which hopefully encourages you to make changes yourself.

 

Requirements

If you plan on creating your own fork to add your own formulas you should install the following:

Where To Install

One advantage of installing it in /usr/local is that it is already in your PATH which lets any future software that you install work with stuff installed by Homebrew and for Homebrew to work with anything you already have there. You can install Homebrew anywhere, but it make sense to have it at /usr/local for the reasons stated above.

Download And Install

Grab the latest copy from Max’s repository on GitHub and place them in /usr/local.

curl -L http://github.com/mxcl/Homebrew/tarball/master /
| tar xz --strip 1 -C /usr/local

If you want to create your own fork go to Homebrew’s GitHub page and click “Fork”. Now to install at /usr/local run the commands below, but change YOURGITHUBNAME to your github account name.

cd /usr/local
git init
git remote add origin git://github.com/YOURGITHUBNAME/homebrew.git
git pull origin master

Starting Off

Now Homebrew is installed at /usr/local with the following directories:

/usr/local/Library/Contributions - contributions
/usr/local/Library/Formula - the formulas
/usr/local/Library/Homebrew - files for Homebrew itself
/usr/local/Cellar - placeholder for items installed by Homebrew
(they get symlinked to /usr/local/bin, /usr/local/lib etc)

Two commands you should start off with is search and info.

search – search to see if there is a formula in the local copy of Homebrew, remember people are adding formulas and they will not find themselves added to Max’s copy immediately. So check the tickets to see if someone has already created what you are looking for.

brew search apache

info – shows the version of the software that the formula installs, the homepage for the project, dependencies, if it is already installed shows its location and then any caveats (quick and dirty readme) that might be in the formula.

brew info apachetop

There reasons I stopped using Homebrew

When you install a formula Homebrew does not show you the dependencies and it will install them without prompting you. I don’t like the idea of having a script making changes that I’ve not approved of and I shouldn’t have to open up each formula and follow the dependency path to see what’s getting installed. It is a common practice to display any additional packages that will be installed by a package management tool like in the example below using Yum.

 

The last point I have is more of a personal preference and observation. And that is how Homebrew works with any formula using version control to check out the software in place of downloading a tar file. If you look in formula.rb you will see the checks for the different URL prefixes that common version control systems use and a few that have to include the domain name and path for URLs that are using a common prefix like http or https.

 

Adding a regex check for these common URL prefixes will become a management pain in the ass and the user would be better served if the formula would specify the VCS used and if not formula.rb could still default to using the CurlDownLoadStrategy. As more formulas are added using version control additional regex checks would need to be added from time to time and specifying the VCS used in the formula would help keep things simple. And this wouldn’t require someone to update formula.rb for any new formulas that use a common prefix along with version control. It would already be set.

If neither of these points are an issue for you and you would like to have your package management system use your existing installed software then you should fine Homebrew a good fit.

More information on Homebrew and some of the other package management tools for Mac OS.

Follow

Get every new post delivered to your Inbox.