Terminology Fun - IT vs Economics

What we in IT call a “bad state” (as in “application ended up in a bad state and needed to be restared”) in economics is called “bad equilibrium.” Here is more on General Equilibrium theory.

Categories: economics |

VcubeV Idea Getting Followers?

Check this out - someone else is thinking along the same lines - http://elasticvapor.com/2008/05/virtual-private-cloud-vpc.html

Categories: linux |

Now Boarding: Elastic Passengers

Starting today, Elastic Server On Demand allows you to select Phusion Passenger (mod_rails for Apache) as a web container for your Rails 2 application. This allows you to deploy a Rails app on Apache, the world’s most popular web server. Check it out at http://es.cohesiveft.com/site/rails2.

Categories: cohesiveft |

Snoopy Fubars Erlang

I just spent roughly 2 days trying to figure out why I could not start a rabbitmq broker on a Debian machine. To make a long story short, it was caused by snoopy. Snoopy fubars erlang. Solution is to remove snoopy (dpkg –purge snoopy, if you are on Debian).

Here are some symptoms that you might see:

  • net_adm:names() returns {error,timeout} when you do it inside "erl -sname foo"
  • if you run epmd -d -d -d -d -d in your terminal and launch erl -sname foo, you will get the registration (ALIVE2_REQ, ALIVE2_RESP) but there will be no more communication between epmd and foo no matter what you do, until you Ctrl+C from foo. Ideally, you should be able to see PORT2_REQ and PORT2_RESP when doing net_adm:ping.
  • "erl -sname foo" and "erl -sname bar" on the same machine will not be able to ping each other with "net_adm:ping('foo@host')." or communicate with each other.
  • inet:gethostbyname("any.domain.name") will return {error,timeout} for all domains, even for names in your /etc/hosts, when you do "erl -sname foo" but might work when you do just "erl" (not starting a distributed node).
RabbitMQ related symptoms:
  • broker will not start using /etc/init.d/rabbitmq-server start
  • rabbitmqctl status will always fail with badrpc error

Categories: erlang |

One year at CohesiveFT

Yesterday was 1 year since I started at CohesiveFT. New things this year (in no particular order):

  • Mac. I got a Macbook Pro as my work laptop. Feels great every time I sit down to work, even though I am not a very demanding desktop user - browser, email, IM, rss reader for non-public feeds, terminal, occasional Office document work, occasional PDF to read. And most importantly - VMware Fusion to run my Linux development box.
  • Debian. Our paths surprisingly have not crossed until this year. Probably because I lost interest in low level OS maintenance a long time ago and was not actively looking for a new distro to try (my home server is running Red Hat Linux 7.0 with everything important upgraded to later versions - I don't use RPMs and prefer GNU Stow for package management). Overall, I can't say I dislike it. apt-get is nice. And deb packaging format imho is superior to rpm (writing standalone rules files using GNU make is easier than writing shell within spec files). Like rpm however, apt-get does not handle edge cases, when I don't want computer to think it's smarter than me.
  • Ruby. The second attempt to learn ruby was successful. Ruby now joined Python on the list of my favorite languages. They are both equally great for doing all kinds of development, provided your project doesn't use both at the same time - each has its own patterns and I personally find it somewhat hard to adjust when I try to write in both in parallel. I am also happy that Ruby joined Python on my list, not displaced it (several years back, Python did displace Perl on my list) - so I am kind of bi-lingual now, which mimics my real life situation with real languages.
  • Rails. Yes, Ruby on Rails and Django on Python are my favorites now.
  • RabbitMQ. This is a big one. For quite some time I have been searching for a highly available messaging bus as a holy grail of building and operating a scalable system. I think I found what I was looking for in RabbitMQ and its implementation of AMQP standard.
Elastic Server On Demand is built with each of these somehow tied to it behind the scenes. Shaping up very good so far…

Categories: cohesiveft |

Previous Page
Next Page