Over at the Central Virginia Ruby Enthusiasts Group (cvreg.org) blog I recently contributed an article reflecting on my talk to a local high school web design class. Since the overwhelming topic was money and jobs, not the art of programming and design, I had a chance to impart some of my observations of the industry to them. Here's an excerpt:
Get used to learning constantly. Things move way too fast in this industry for you to learn one language and have that make your career. It's better to challenge yourself by engaging in a wide variety of technologies to hone your general programming, debugging, testing, and other skills. Try out new languages, read blogs, go to conferences, and do your own experimental projects to challenge yourself. Be the guy that can solve any problem with the right tool, rather than "the Java guy" or even "the Ruby guy".
The concept of stakeholder interests in the corporation - interests that aren't directly involved in the ownership or business operations of the corporation - tends to turn me off. Usually that's because it's framed as a way to reform, rather than expose and understand, the motivations of the corporate form. Notions of corporate social and environmental responsibility strike me as ludicrous; they seem like so much handwaving and consumerist pandering rather than redefining how the corporation shall act (which is mandated by law to focus on profit maximization). However, I'm intrigued by the argument put forth by Dave Pollard in his recent post, Can the Corporation Be Saved?:
Corporations were originally invented to allow people to raise money for large ventures. Without the opportunity for substantial return, and limited liability, investors would not advance funds where there was considerable risk. But soon, ownership of 'shares' was confused with ownership of the business. Then, thanks to an incompetent legal error, corporations were granted the rights of 'persons' -- the right to sue, to lobby, and to otherwise use the collective wealth of the company to influence legal, political, economic and social affairs far beyond protecting the security of the original investment. At this point, the sole objective of the corporation became to satisfy the shareholders insatiable demand for higher returns and lower risk on their investment, at any cost to the real 'owners' of the enterprise -- the employees and the community who granted the corporation the privilege of existence.
I find this concept interesting not because I think the State's grant of privilege to the corporation's shareholders is legitimate. Rather, what intrigues me is this idea that shares may not actually represent "ownership", per se, in any moral sense. What if shares in a corporation represent something else - say, only a certain amount of the corporation's profits - and, therefore, the entire "stakeholder" population (i.e. the public) has rights in directing corporate activities?
Read more...
I've tried to maintain an open mind, because I have a lot of friends who find his writing perceptive. And sometimes I enjoy his articles. But I just can't abide this kind of apologetic tripe from a supposed libertarian, let alone a professor of economics. In describing the way the Fed has acted to shore up those financial powerhouses who made irresponsible investements in the sub-prime mortgage market, he shows that what really matters isn't a free market so much as the market the way it "should" look.
It is true that a more liquid short-term loan market can give a highly leveraged institution a second chance. An immediate infusion of cash can be a lifeline for a solvent, but illiquid, company. But keeping loan markets open is not a bailout; it's simply getting part of the economic infrastructure back on line, much as the police clear a road after a traffic accident. Note that when the Fed makes it easier for financial institutions to borrow money, the loan must still be repaid.
Pay no attention to rent seeking and broken window arguments. If you call your business "vital economic infrastructure", suddenly everybody's better off across the board when you get protected from your bad decisions! It doesn't make any sense to talk about the market punishing mere "economic infrastructure", so the Fed intervention must have been just mere, uninterested, unprofitable economic maintenance work.
I expect this from your typical regulation-is-awesome academic. But Cowen clearly has no libertarian credentials left whatsoever. To make such a laughably contradictory argument as this is unforgivable for a libertarian who professes to know economics:
The American public has a hard-enough time understanding relatively simple economic issues like the benefits of free trade, much less the Fed or monetary policy.
Read more...
Over the past few days I've been diving into Selenium, an automated functional testing tool for web apps. It's pretty slick - in fact, like most of the technologies I've been using over the past two years, it does so much for you that the obstacle always ends up being a matter of getting out of its way and letting it do its thing. So I'm gonna throw out some pointers on using Selenium within the Rails testing framework via the selenium_on_rails plugin; the only caveat I'll mention is that this post is especially geared towards the newbie wading into a project with pre-existing selenium tests. So I'm focusing on how you can get started with writing tests and integrating them into what's already there.
Open up firefox and install the Selenium IDE extension. This allows you to record your test by simply using the browser. The IDE keeps track of where you click - just make sure the record button is on. Go ahead and click through your test application and watch as the IDE records your actions.
Now you need to go into your selenium_on_rails plugin area and edit config.yml. In the browser config area, make sure it's pointing to your browser binary. For example, I kept most of the defaults, but made sure the following lines were there, uncommented:
environments:
- test
browsers:
firefox: '/Applications/Firefox.app/Contents/MacOS/firefox-bin'
Read more...

My support for the Jena 6 should not be interpreted as support for any violence they or others engaged in. Now, it may or may not have been justified. The decisions that individuals make are always going to need to be studied in context, and I'm simply not in that context. I've been blessed to have a very shallow experience with racial prejudice.
What should matter far more to us is not that humans are sometimes bigoted or violent - we already know that - but that institutions like the public schools, the prosecutor's office, and the courts use positions of authority to promote privilege and injustice - whether it's economic, racial, religious, or otherwise. Without their claim to power, authority, and the resources of the community, the poisonous environment that now exists in Jena would have been contained, and its costs borne by the individuals instead of being subsidized by public office. The actions of some individuals have dramatized what is a persistent problem throughout the world - that people cannot be trusted to exercise authority on behalf of others.
There is no doubt that the system in Jena has had it out for blacks. And there's no question that individuals often don't make optimal decisions under such oppression. But that is no reason to excuse the system for its destabilizing, outsized role in this circus. Human individuals will always make mistakes, and no alternative social arrangment, anarchic or otherwise, will change that. However, it is the human institutions that turn an individual's mistakes into the greater, society-wide tragedies.
Well, I've put the update on my life off for far too long, time to come clean. As of Tuesday I am working for a D.C.-based web development firm that is focusing on Ruby and Rails. I get to work from home in Richmond and the work I'm doing is some pretty cutting edge stuff - rspec, behavior driven development, acts_as_solr, mocha - hotness. I'm very happy with the situation.
I should also mention that Tasha doubled what was till then her all time sales record at the Crafty Bastard show in D.C. It worked out well for me to go up with her because (a) she needed the help - at one time she had a line going out her booth of young, hip people buying her stuff - and (b) I got to have coffee with my present boss. Plus I had ethiopian food for breakfast - and it was delicious!
Not only that, I also found out that the guys who led the political action committee project I just came off of are interested in doing some for-profit things with the codebase. The cool thing is that I'm already a partner without even having to work on the code ever again!
Also, the 2nd Annual McWeiland Chili Cookoff will be held October 20th. Invites are going out soon, but if you didn't attend last year and want to, let me know.
Finally, I have to say that I just stumbled on essembly.com today, and if you're interested in a decent politically-oriented online community, check it out. I'm hooked - I've had some of the best political conversations in years on there (not a high bar to clear, you understand).
UPDATE: I changed the title to reflect my sincerely positive attitude towards my new job. Inside jokes among amateur thinkers can be misinterpreted by others.
Democrats were elected to end this war and the most "opposition" they can muster is raising money for it?
This is why I chuckle whenever somebody tells me that anarchy "doesn't work". The status quo is always judged by different standards.
Luckily, none of my actual tests with prospective employers were this difficult annoying:

James Leroy Wilson makes a point about lowering the tax burden on corporations with which I reluctantly agree (only because, on its face, such agreement seems vulgar):
The blogger formerly known as Jane Galt wrote in 2002, "The Corporate Income Tax brought in $204.9 billion in 1998. My tax professor (a Democrat) estimated the cost of corporate compliance in that year to be $300 billion. That's just the direct cost -- what corporations paid tax lawyers and accountants." So according to this professor, it cost corporations $500 billion to pay the tax, though the government received barely $200 billion. And the tax code is much larger today than it was in 1998. While the professor's estimate may have been too high, there is undeniably tremendous waste of labor and money that the corporation could have used to grow their business.
Instead of this waste, we could simplify the system by letting the entire tax fall on the shareholders instead. After all, they are already taxed on their dividends, capital gains, and interest from their investments; these are part of their personal income taxes. The entire corporate tax structure does nothing but create a complicated and expensive layer of tax law on top of it on top of what shareholders are already paying in individual income taxes. In other words, when corporations pay taxes, that means less income for its shareholders, which means they effectively paid the tax anyway. Why don't we just have them pay it without the corporate tax rigmarole?
While I think his capital gains withholding scheme is perverse - why is getting a government bureaucracy involved any less wasteful than an accounting bureaucracy? - I like the idea of shifting the corporate income tax solely to shareholders. Such an approach would accurately reflect the concept that corporations are not themselves "people" or "citizens" but rather property - aggregations of assets and contracts. Corporations shouldn't owe taxes anymore than a car itself owes taxes. Only humans can own taxable property, so only human owners can pay taxes on the property.
Read more...
This is from Voltairine de Cleyre's 1894 address, In Defense of Emma Goldman and the Right of Expropriation. She is responding to Goldman's maxim: "Ask for work; if they do not give you work, ask for bread; if they do not give you bread, then take bread." What I love about her favorable yet cautious response to that phrase is the way she penetrates the illusory fervor of the mob mentality, extracting instead the need for reflection and understanding.
You are told you have the power because you have the numbers. Never make so silly a blunder as to suppose that power resides in numbers. One good, level-headed policeman with a club, is worth ten excited, unarmed men; one detachment of well-drilled militia has a power equal to that of the greatest mob that could be raised in New York City. Do you know I admire compact, concentrated power. Let me give you an illustration. Out in a little town in Illinois there is a certain capitalist, and if ever a human creature sweat and ground the grist of gold from the muscle of man, it is he. Well, once upon a time, his workmen, (not his slaves, his workmen,) were on strike; and fifteen hundred muscular Polacks armed with stones, brickbats, red hot pokers, anti other such crude weapons as a mob generally collects, went up to his house for the purpose of smashing the windows, and so forth; possibly to do as those people in Italy did the other day with the sheriff who attempted to collect the milk tax. He alone, one man, met them on the steps of his porch, and for two mortal hoers, by threats, promised, cajoleries, held those fifteen hundred Poles at bay. And finally they went away, without smashing a pane of glass or harming a hair of his head. Now that was power! And you can't help but admire it, no matter if it was your enemy who displayed it; and you must admit that so long as numbers can be overcome by such relative quantity, power does not reside in numbers. Therefore, if I were giving advice, I would not say, "take bread", but take counsel with yourselves how to get the power to take bread.
There is no doubt but that power is latently in you; there is little doubt it can be developed; there is no doubt the authorities know this, and ear it, and are ready to exert as much force as is necessary to repress any signs of its development. And this is the explanation of EMMA GOLDMANN'S imprisonment. The authorities do not fear you as you are, they only fear what you may become. The dangerous thing was "the voice crying in the wilderness" foretelling the power which was to come after it. You should have seen how they feared it in Phila. They got out a whole platoon of police and detectives, and executed a military maneuver to catch the little woman who had been running around under their noses for three days. And when she walked up to them, why then, they surrounded and captured her, and guarded the city hall where they kept her over night, and put a detective in the next cell to make notes. Why so much fear? Did they shrink from the stab of the dressmakers needle? Or did they dread some stronger weapon?
Ah! -- the accusation before the New York Pontius Pilate was: "she stirreth up the people". And Pilate sentenced her to the full limit of the law, because, he said, "you are more than ordinarily intelligent". Why is intelligence dealt thus hardly with? Because it is the beginning of power. Strive, then, for power.
Read more...

So I guess anybody who still reads this blog is wondering what the hell is up with me lately. Where's the political writing that most of you have come to expect from me? And what the hell is up with these software-oriented tips I've been dishing out? Good question.
The short answer is that I've been too busy to blog on political matters, but that's not the complete answer. True, over the past month and a half I've been working from home on freelance projects that have taken a lot of my time. I've even enjoyed the experience of being completely absorbed by my work, harkening back to those brief instances in the employed world when the 9-5 work day shot by because I was working so intently on the task at hand.
Obviously, a lot of my recent programming-oriented blogging comes from my focus on work lately. As a developer, I have two main challenges: (1) architectural / design issues, and (2) troubleshooting issues. The former is a new challenge for me, as I've usually worked as a junior developer under a more senior architect in the past. I'm learning so much by being thrown into that world, and I hope to get to a point soon where I feel I have something to say about it. But the latter aspect - having to debug code or figure out why a certain syntax doesn't work - is more overwhelming to most people who have coding experience, and I'm no exception. In the past I have been positively arrested by the sense of futility and negative feedback that these kinds of obstacles generate.
Read more...
Via Brad Spangler I discovered this awesome, short Daily Show interview with Alan Greenspan recently.
Stewart asks many of the questions whose answers so shocked me when I read the Greider book on the Fed. Greenspan predictably tip-toes around the most penetrating queries, but I'm impressed with Stewart's curiosity and fearlessness. The fact that Greenspan and his fellow faux-free-marketers don't have more practice defending the way central banking favors financial interests over the common good is an outrage. It does bear mentioning that Greenspan is a lot less defensive and more honest about the regulatory meddling that constitutes Fed activity than most of his colleagues.
Read more...