new skype language

So, there are two new skype related words that I’ve started using, one which I coined myself, and the other which was amazingly self-referentially coined while in a chat.

The first word “skypo” is what you do when you mistakenly (and potentially very embarrassingly) type something into the wrong chat. My skype window usually has 10 or so ongoing chats, often happening simultaneously, and sometimes I just start typing and hit return thinking I’m in one when I’m actually in another. That’s a skypo.

[NOTE: Turns out (not surprisingly) that someone else though of this a few months before me…]

The second word is for what happens when you are typing something and the other person in the chat was typing the exact same thing. The word is skypultaneous, and it was itself a skypultaneity, as I was chatting about this with Lisa trying to come up for a word for it and we skypultaneously typed “skypultaneous”!

the “elevator-pitch” for community currencies

There’s a skype chat I’m on that discusses community currencies, that recently was trying to find “the ultimate elevator pitch” for community currencies. This is a very reasonable request as all of us working in this area are frequently asked to describe what we are up to succinctly. Here’s my post to that chat in response to this request:

The results on this chat of the request for “the” cc elevator pitch is very interesting, and I think very telling. It led to one of the longest back and forth we’ve seen on all kinds of things about different approaches to what is the key or central issue and reason for community currencies. The arguments and points of view presented were pretty familiar and very similar in flavor (though much more civil :-) to what happens over on IJCCR and elsewhere in cc circles. But, as I’ve seen before, they don’t seem to take us very far. In theory I agree that an elevator pitch helps us focus on the “essence” of a thing, but my experience has been that there really is no single elevator pitch for cc. I now see this experience itself as a clue to the essence of community currency.

When I’m talking with free-market business people my elevator pitch is about allowing the power of competition and the marketplace to work on the currency system itself. When I’m talking with environmentalists, my elevator pitch is about cc as a tool for solving the problem of the economic externalities of pollution and environmental degradation. When I’m talking with social and political activists my elevator pitch is about how the structure of money is fundamentally causal of the problems unequal distribution of wealth. When I’m talking with mathematicians my pitch is about how money is an axiom and current economics is the theorems that results from that axiom, but a different axiom (i.e. community currency) is possible that leads to whole new theorems, just like non-Euclidean geometry resulted from changing the parallel postulate. When I’m talking with engineers and information-theory folks my elevator pitch is about Ashby’s Law of Requisite Variety and questions of the insufficient information carrying capacity of the monetary system to handle the control problems posed by the modern economy. When I’m talking with computer geeks my elevator pitch is about cc as a peer-to-peer distributed information system and about “pushing the intelligence to the edges” as in Reed’s Law. When I’m talking with peace activists my elevator pitch is about how the structure of money is what allows governments to finance wars (it’s not the taxes which just pay for them after the fact). When I’m talking with people focused on spirituality, my elevator pitch is about how cc can be a tool for changing the economy itself into a means for increasing mindfulness, self-consciousness and community interrelatedness. When I’m talking with the plain old “concerned-citizen,” my elevator pitch is about their experience of degraded community and how money that leaves the community is central to the problem and how money that “goes-round” is the solution to that problem. When I’m talking with people who are interested in questions of trust my elevator pitch is about the value of moving from an economy of external trust to internal trust, and I used the analogy of the bicycle: Bicycles are more maneuverable and useful than tricycles because we move from trusting the tricycle not to fall over because of the stability of its three wheels, to trusting ourselves to not let the bike fall over because of the stability of our steering. Similarly this process of moving the locus of control from outside of communities to inside them can be applied to money. (This pitch works well with spiritual people too, and oddly, a variant of this pitch works great with engineers who understand how adding “instability” into a system is the paradoxically key ingredient to it’s greater stability when the system is coupled with humans. It’s one of the key things the Wright brothers figured out in designing airplanes.)

The experience of developing all these very different pitches has led me to a new pitch (it’s not an “ultimate elevator pitch”, it’s just the one I use with people who already know something about cc) namely, that essence of community currencies is meta-currency. That modern money was one step in the evolution of the more general human process of wealth-acknowledgment, and that the next step in wealth-acknowledgment is the building of a meta-currency platform that allows us to create currencies at will, which will activate all forms of wealth, not just tradable wealth. Whereas money provided liquidity to value, a meta-currency platform will provide liquidity to currency itself. Within this framework, all the other pitches are embraced. Within this framework, the pitches given so far on this chat (and they are all pretty good) are for particular instances or types of community currencies, namely ones where the community is geographically local and the wealth acknowledged is tradable wealth.

For more than an elevator pitch (it’s about 2 pages) on wealth-acknowledgment, the non-tradable forms of wealth, and a meta-currency platform in development, see http://openmoney.info/sophia

rails capistrano deploy script OS X to Ubuntu

Ok, so in a previous post I described the rabit-hole which is switching to rails. Below’s my capistrano deploy script which solves a number of problems:

  1. The production server needs a mongrel cluster configuration file added.
  2. Deployment requires restarting the mongrel cluster.
  3. On Ubuntu the database.yaml spec has to be modified to because you need to specify a mysql socket path differently from OS X.

So here’s what I added to make it work:

desc "Restart the web server and mongrel cluster"
 
task :restart, :roles => :app do
  sudo "echo 'fish'" #bogus command to make sudo work in the run command
  run "cd #{current_path} && sudo mongrel_rails cluster::restart"
  sudo "/usr/local/apache/bin/apachectl graceful"
end
 
desc <<-DESC
configure the mongrel cluster
DESC
 
task :configure_mongrel do
  run "cd #{current_path} && mongrel_rails cluster::configure -e
  development -p 9000 -a 127.0.0.1 -P #{shared_path}/pids/mongrel.pid
    -c #{current_path} -N 2 --user om --group om"
end
 
desc <<-DESC
configure the mongrel cluster
DESC
 
task :configure_database do
  db_config = "#{shared_path}/config/database.yml"
  run "cp #{db_config} #{current_path}/config/database.yml"
end
 
desc <<-DESC
after updating we need to add back in the mongrel configuration file so that when restart is called
it will be appropriatly launched.  We also need to update the database config file
DESC
 
task :after_update, :roles => :app do
  configure_mongrel
  configure_database
end

The Economics of Innocent Fraud, John Kenneth Galbraith, 2004

You can read this short book in an hour, but you’ll be thinking about it for much longer. Galbraith, a man of impeccable credentials, points out some of the unspoken (by mainstream culture) truths of our times:

  1. “The free-market system” is the meaningless replacement term for what capitalism has become, and what should truthfully be called the “corporate system.”
  2. We hide a deep social injustice by referring to two entirely separate things with same word: “work.” Work is used for both the painful life-sapping labor for bare necessities, as well as for the meaningful effort of pursuing ones calling.
  3. It is not the shareholders nor the directors of corporations that control them, it is their management. The consequences of this fact is far-reaching, a small example of which is simply that management gets to set it’s own rate of compensation which amounts to massive legalized theft.
  4. There is no longer such thing as the public and private sectors. What was the public sector is almost entirely controlled by private interests for private benefit.
  5. The idea that the Federal Reserve prevents inflation and helps the economy out of recession by raising or lowering interest rates is and has always been, entirely a fiction.
  6. Foreign policy is dictated by the pecuniary desires of the military industrial complex.

Whether you agree his analysis or not, I’d recommend reading the book. The sad thing is that he says absolutely nothing about how to fix this mess, except by hinting at regulation of some sort, some how, but this after having just explained how the regulators themselves are in on the game.

In Galbraith’s 1975 book Money, whence it came, where it went, he describes perfectly our modern monetary system. Unlike most people, he fully understood money as a human invention. So it would seem surprising that he wouldn’t understand the underlying pattern of all thetruths that he so clearly does see. It’s simply money. None of these patterns will be fixed until we evolve the money itself that is the driving force behind each of those six truths. Check out openmoney.info for more on how and why.

A “list items won’t wrap” Firefox css fix!

The last few days working on the openmoney.info website, I’ve had a major hassle dealing with what appears to be a bug in the html renderer in Firefox.

The issue is that in Firefox, text in a list item won’t wrap around a right floated image; like this:

  1. Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  2. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Code:

<ol style="border: 1px solid #cccccc; width: 300px">
  <img src="/images/eric.png" style="float: right" />
  <li>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</li>
  <li>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
  ut aliquip ex ea commodo consequat.</li>
</ol>

In Safari & Opera the text in the second list item wraps just fine. After an hour of searching the web and trying various things with clear, and in-line, I discovered that the solution was to set the list item width to 100%. In other words, list items take on the width that they start at by default! Crazy. The solution:

<ol style="border: 1px solid #cccccc; width: 300px">
  <img src="/images/eric.png" style="float: right" />
  <li>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</li>
  <li style="width:100%">sed do eiusmod tempor incididunt ut labore et
  dolore magna aliqua.  Ut enim ad minim veniam, quis nostrud exercitation
  ullamco laboris nisi ut aliquip ex ea commodo consequat.</li>
</ol>

yields nice wrapping text for the second list item:

  1. Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  2. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

If you aren’t viewing this on Firefox, the above two may look identical. That’s the whole point!

[tags]css,firefox,list item,wrap[/tags]

down the rails rabbit hole

The last month has been quite a trip down the rabbit hole into the new reality of ruby on rails! The promise of a powerful and well designed web application framework was just too much for me to resist, so I decided to leave my own yawaf framework behind (though it has certainly served me well).

So I’m posting this entry for those just starting down this path so you can see what might be on the path ahead of you and what I did to make my way over the learning curve.

  1. I purchased both the Programming Ruby and Agile Web Development with Rails books, and read them cover to cover. Both books are good. Dave Thomas really can write a good programming book.
  2. I dove into finally wrapping my head around the REST approach, which I also knew I wanted to switch to and was part of the reason I choose rails in the first place. To this end I found this great tutorial: RESTful Rails Development which expands on and gives clarity to the REST chapters in Dave Thomas’s book.
  3. Then it was time to install the creature on my PowerBook. The instructions in Dave’s book are pretty good, but the real place to go is hivelogic
  4. Once I had rails up I got my feet wet by implementing the bare essentials of the two projects that are the reason for switching to rails: the MANA stats project and, of course, open money.
  5. Since another reason for switching to rails was to be using an open source framework that others are well familiar with, and because open money is an open source project, and I want to get it out sooner rather than later, it was time to figure out where it should live. I find source-forge unbearably ugly, and though there are some other nice FLOSS platforms (launchpad, freshmeat), I settled on rubyforge for obvious reasons. So I spent a number hours learning my way around rubyforge (an instance of gForge) and setting up the open money project there. I realized pretty quickly that rubyforge is the right place to put up the releases of the projects and I may even use their svn repositories for a while, but gForge doesn’t cut it as a project development environment.
  6. So there I was off into another tunnel of the rabbit hole, which project development tool. So many of them… I see that lots of people, including the rubyonrails folks themselves, use Trac. However, I read many accounts of how difficult it was to install and get running, plus, I really felt that I wanted my project management tool to be in rails, to thereby leverage all my learning curve. I knew also that I was going to be modifying it out the wazoo, so it didn’t make any sense to learn yet another whole system. Dittio for various php bug-trackers, etc. After more hours of research, my options were then down to three: collaboa, retrospectiva (which is a fork of collaboa), and devalot. The first two are much more feature rich. But I ended up choosing Devalot, after talking with it’s author, Peter Jones (who seems like a real great guy) mostly because it just feels better than the others, but also because I like where it’s headed.
  7. Then I started to scratch my head about how in the heck I was going to deploy these apps. Yawaf is Perl base and deployable as plain CGI and works quite well for small sites. I’ve always known that I could switch to mod_perl if traffic increased enough to warrant it. Rails is another matter. You need to start out understanding deployment.
  8. So I read all that I could find, and tagged the good stuff for your reading pleasure on delicious. Upshot for me is apache 2.2.4 + mongrel + mod_prox_balancer + monit (not mongrel_cluster). [Update, after many hassles with monit, I ended up going back to mongrel_cluster (though I may add monit in later to monitor the cluster). See this e-mail exchange on the mongrel-users mailing list for details.]
  9. Then I realized that getting this to happen on my current VPS was going to be a nightmare, because it’s a DirectAdmin box, and getting apache upgraded to 2.2.4 was hard enough, but adding mod_proxy, etc was just not going to be doable while at the same time keeping it stable with my current apps live.
  10. So, then it was deeper down the rabbit hole into investigating Rails Hosting companies! Finding a hosting company in general is a huge pain and it is so variable according to your needs. Mine are complete control, hence VPS. Upshot: the company I wanted to go with, slicehost, is only taking reservations, and can’t fulfill orders for a month. Yow. (By the way, here’s a great writeup on rails hosting, and more delicious tagging of rails hosting in general.)
  11. So, now I’ve decided to do all this installation and testing of my future deployment environment on my basement Ubuntu server until slicehost comes through, or I find something better. For Ubuntu installation I’m taking some hints from these instructions which were missing one dependency for apache to compile for me (sudo apt-get install openssl libssl-dev). You may also want to check out this peepcode screen cast for another take on how to install the rails stack onto Ubuntu using deprec. It turned
  12. Once all the components are installed, the next challenge is configuring them to work right for your particular rails app. Enter bowtie, also by Peter Jones. Though still in development, this little utility produces configuration files for apache to use mod_proxy_balancer, and also for monit to launch and keep your mongrel instances up and running.
  13. Ok, so server is up and running, and I have a basic app on my development box, now I how do I deploy to the production server. Enter capistrano. Yet another learning curve. The trick is getting your deploy.rb script right to handle all the various problems… That will wait for a future post.
  14. Then, back into coding, I’ve realized that I just have to bite the bullet and start to use all the goodies built into ruby and rails for doing test driven development. So I started doing some background reading on good TDD practices which led me to behavior driven development which of course is why I’ve been putting of using TDD for so long because it’s BDD that actually makes sense. Here’s a great article by Dave Astels on BDD in the Ruby context. And fortunately there is rspec, a great implementation of BDD that integrates well into rails. The tutorial in the rspec documentation is very good for understanding it, and here’s the tutorial I used to get started using rspec in the rails context. Which led me to another helpful post by Dave Astels.

SnapMail on Seth Godin’s Blog

So marketing blogger Seth Godin has a mention of SnapMail in the same breath as File Maker Pro on his blog. It’s nice that my humble little program is in such august company, though the context is a bit sad. What’s so odd is how SnapMail was created before the Internet was at all a house-hold word, back in 93, and it still has such a faithful following. I guess there is something valuable about having a little communication tool that’s not on the Internet! Who’da a thunk?

[tags]SnapMail[/tags]