Continuously opining, intermittently publishing.

Archive for June, 2009

20
June

2010 UPDATE: LogMeIn has modified Hamachi accounts to the extent that this workaround is entirely deprecated.

For more than several years, I have been a fan of Hamachi, which provides a proprietary but zero-configuration VPN solution for any Windows user. Unfortunately, while there are Hamachi builds for Linux and OS X, they are command-line interfaces only (meaning, of course, the so-called Mac OS X build should work flawlessly in Unix).

A Quick Overview of Hamachi
Once installed, Hamachi connects to the central server, which generates a new Hamachi IP address. Via this “tunneled” IP address, one can create and join networks, which are created with text names and secured by passwords. When using Hamachi for the first time, the UI will guide the user through joining the “test” network with the password “secret”. Anyone else connected to a network is now on a virtual LAN with the user via that network.

Your own computer remains as secure as it would versus anyone else on a physical network but can now interface with co-users of Hamachi as though you were on the same physical network. Bottom line: no fussing with port triggering in your router to ensure your application will work with another user somewhere on the internet.

For Windows users, this process is fairly easy and requires little technical understanding.

The OS X Version Truly is Rudimentary
For basic VPN tunneling, the OS X (unix) version is adequate and not terribly complicated for someone used to a command line interface. The problem for non-novice users is really that its feature set is pretty “rudimentary” to quote the language on the Hamachi website.

One feature that is lacking is the ability to receive system messages from the central server and respond to them using a GUI (or even a textual command). Moreover, there is no way to set a “master password” in the OS X version as one can do in the Windows version.

These are actually important, because Hamachi provides, at http://my.hamachi.cc, a method for consolidating control of all accounts in a web-based interface. If you have multiple computers and multiple Hamachi accounts, this interface allows you to set which account controls a network, to evict other users of networks you own, and so on. Also, if you have set the master password to an old account which you no longer have (the classic scenario is loss due to a computer crash), then you can also “move” the RSA keys and identity of the old account to a current account. This option isn’t available in the Mac OS X command-line interface. Nor does it seem to be available to users of the third-party unofficial GUI, HamachiX.

A Solution to One Problem
Today, I discovered how, at least, to be able to register an OS X version with one’s My Hamachi web account. It requires a Windows machine, a functioning, installed OS X version, and for ease, a network storage device (or external drive).

Backing Your Hamachi Installation Up
Fortunately, backing Hamachi up is as simple as copying key folders to a safe place and then restoring (recopying) them back to their original places after reinstalling Hamachi but before connecting into the central server for the first time. Fortunately, in the OS X version, it takes a proactive command to logon post-install, so you are likely not in danger of screwing this up in OS X. Unfortunately, in the Windows version, there is a checkbox that is opt-out at the end of the installation which asks the user to start Hamachi after the installation finishes. This needs to be unchecked if you are reinstalling Hamachi and planning to restore an old account.α

In the OS X version, there is a hidden folder for Hamachi, once installed, that holds the private RSA key and public RSA keys the client needs to securely connect with other clients. To access hidden files and folders in Finder, you need to run this command in a Terminal:

defaults write com.apple.Finder AppleShowAllFiles TRUEβ

Let’s pretend your Mac OS X username is oshanereader. The hidden folder you need is:

/Users/oshanereader/.hamachi/

Copy the .hamachi folder to a safe place on your network. If your aim is to merely backup your Hamachi IP address and installation, this is sufficient. Just make sure to copy your .hamachi folder back to the same place after you reinstall. Coincidentally, this process is very similar for Windows XP and Windows Vista / 7 users:

In Windows XP: copy the contents of
C:\Documents and Settings\oshanereader\Application Data\Hamachi to a safe place.

In Windows Vista or Windows 7: copy the contents of
C:\Users\oshanereader\AppData\Roaming\Hamachi to a safe place.

Note that these folders are also hidden and require unhiding them in the Windows Explorer interface.

Tricking Hamachi by Cloning the OS X Installation on Windows
For the purposes, however, of connecting your OS X Hamachi IP to your My Hamachi account, you have to actually install Hamachi onto Windows and trick it into thinking it is the same account on your OS X machine. Since Hamachi, when it first installs, generates a Hamachi IP address, a private client RSA cryptographic key and conforming public keys (if you have connected with other people in other networks), because those items conform to one another, they must all be present in a restoration for Hamachi to believe that it is being restored to the original machine, i.e., to clone the original installation. If any one of these items is defective or malformed, Hamachi will believe it should create a new IP address and new private-public RSA key pairings. This is really for security. It would be terrible for a secure VPN application to simply believe that an account is the same as an old one with only one “piece of identification.”

Anyway, the Mac OS X files are similar but not the same as the Windows files. In OS X, under /.hamachi/, these are the files that matter:

client.pri
client.pub

There is also an important file for reference purposes but is not essential to this workaround: a file called state which lists the identity-IP address, current nickname and current networks of the Hamachi installation.

In Windows, there is an additional file key file similar to OS X’s state:

client.id

To trick Hamachi on Windows into thinking it is the OS X installation, first ensure that Hamachi is uninstalled on Windows and that the folders, supra, are either fully deleted or empty. (Re)install Hamachi on Windows. Copy the files client.pri and client.pub from the Mac to the appropriate Windows folder, where there should only be one file, hamachi.ini, which has almost no content and you can ignore (I mention it for reference). You’re not finished.

Then, create a file using Notepad or some other method called client.id in the appropriate Windows folder next to the other client files. Whereas client.pub and client.pri are encrypted, this one is plainttext. Add this one line to your file:

Identity 05xxxxxx

where the “xxxxxx” are not actually x’s, but the hexadecimal equivalents of the IP address’ octets. The first octet in a Hamachi address is always 5. For instance: 5.5.255.255. If 5.5.255.255 were your Mac OS X Hamachi IP address, then you would convert each octet (the number between the periods) separately. 5 in base 10 is 05 in base-16 (hexadecimal). 255 in base 10 is ff in base-16. Thus, your address would convert to 05.05.ff.ff, but for the purposes of manipulating the client.id file, we remove the periods:

Identity 0505ffff

Another example, using an old Hamachi IP address I have since lost the files for, would be 5.43.79.251. If that were your address on your Mac OS X installation, it would convert to 05 2b 4f fb or, in the only line of client.id, you would type:

Identity 052b4ffb

Once you have created a client.id file tied to the identity (IP address) of your OS X Hamachi account, it should conform to the files you copied from your Mac OS X Hamachi installation client.pri and client.pub. Now, make sure your OS X Hamachi is turned off and load Hamachi on the Windows installation and logon to the internet. It should register with all of your networks from the Mac OS X installation using the same IP address.

Registering Your OS X Hamachi Client at My Hamachi
At http://my.hamachi.cc, assuming you have registered for an account, click on the Requests tab and in that tab, Add new client. Under the Request Form section, add the IP address of your Hamachi OS X installation (now cloned on your Windows machine).

Once you initiate this request, your Hamachi UI in Windows will blink in the system tray, alerting you to a new system message. Click on the blinking 3-dot triangular symbol and grant access via the pop-up window that appears. Once you’ve done this, your web account will now have “attached” your OS X Hamachi installation.

Setting the Master Password
Feel free to set the master password for the OS X Hamachi account via the Windows clone. To do so, click on the gear-button in the lower-right corner of the Hamachi GUI and select preferences from the menu. Under the System sub-menu, click on Set Master Password. In fact, feel free to browse through the sub-menus, because some of these preferences will not be able to be set under the OS X command line interface so if you’d like them changed, feel free to do so. Assuming you uninstall the Windows clone, however, note that these changes will be semi-permanent unless you were to reclone the OS X installation on Windows again.

Setting the master password at this point should be unnecessary. Doing so allows one to preserve ownership even after a Hamachi installation is lost with no backup. Since you, by nature of cloning the OS X installation in Windows, have backed up the /.hamachi/ folder, a master password is probably moot. Still, if you were to lose your Hamachi installation and the backup, the master password would allow you to preserve your networks and ownership of any networks you created and then merge those memberships and ownerships into a new account, so it’s worthwhile creating a master password, though perhaps not for the immediate future.

Wrapping Things Up
Finally, uninstall the Windows clone of your OS X Hamachi installation. This way, you protect it from suffering a race condition by confusing the Hamachi central server.


α A saving grace: if you mess this up, fixing it is just a matter of deleting the appropriate folder in its entirety and uninstalling Hamachi and starting over.
β To turn off the visually unappealing attribute when finished, just employ the inverse command: defaults write com.apple.Finder AppleShowAllFiles FALSE.

3
June

The predicate article, here, speaks to a student-led initiative at Harvard Business School (HBS) to create an oath for its profession of management and garner voluntary buy-in for it.

The Columbia Code
According to the article, Columbia has employed an honor code of its own for several years now, and ironically, the piece quotes the Columbia code in full while merely linking to the Harvard student-driven oath, perhaps because the Columbia code is short and pithy. I like it:

As a lifelong member of the Columbia Business School community, I adhere to the principles of truth, integrity, and respect. I will not lie, cheat, steal, or tolerate those who do.

It is short and highly discretionary, and it expresses paragons of sound moral ideals.

Misery & Discord
Meanwhile, the Harvard student-led oath provides an exercise in patience to the reader as it drones on. In comparison to the Hippocratic oath or even the oaths at the bar that lawyers take, this one is somewhat vapid in its length (although the others on which it is presumably modeled in form are long, too).

One need for the use of oaths for professions such as medicine and law is that they, as industries, require misery and destruction to function. They are useful, as much as a device for bailing water or a life-raft is useful when one’s boat is sinking, but they do not generally add value so much as they, if the actors are good ones, preserve it. Of course, I do recognize that most doctors’ functions are like life rafts of some kind, whereas lawyers can serve as the life-raft or the sea-mine destroying the boat in the first place (such is the nature of the adversarial system).

Business Is Supposed to Create Value
Don’t get me wrong: many lawyers in their own misguided attempts to preserve (or even create) value, actually destroy it, because their own livelihoods and incentives usually rely on disagreements and conflict, which are necessarily value-destructive. The livelihoods of doctors are also fundamentally based in misery. Yet, business in general promotes increases in standards of living through innovation buoyed by an organic system that cyclically favors profitable endeavors but prunes the unprofitable. Zillions of actors independently negotiate within their ambits to maximize and optimize for this profitability, which is simply an accumulation of fungible resources iteratively expended to create new innovations and to ease pain and problems.

Business, as its core function, is supposed to create value. People pay to see greater value, to offset their own costs with greater benefits. When a business ceases to keep in mind that its purpose is to create value for its customers such that its revenue exceeds its costs, either its customers leave it and it fails or it fails due to cost constraints. Well, businesses succeed and fail in this manner as long as government does not falsely prop them up . . .

Oaths Provide a Check Against Amoral Incentives
So oaths, as they are, provide a check on the natural amoral incentives that would otherwise exist in industries whose substrate is misery so that the professionals taking the oaths do not allow those amoral incentives to be the primary impetus for their actions. Because the attorney’s livelihood exists only because of misery and discord, if the only constraint on his actions was his own creativity, then would he not seek to create legal misery in order to improve his revenue were it not for his own moral standards supported or circumscribed by the ideals inherent in his oath? Similarly, is not the evil doctor in stories always the one who supplants the common standards of the Hippocratic Oath in order to advance his own agenda in spite of the needs of his patients (experimental subjects)?

Is the student body at HBS admitting, thus, that the industry of professional managers rests upon a foundation of misery or that the incentives of its practitioners rests on activities that are, in some way, net value-destructive or both?

Oaths Provide a Check Against Negligent Actions That Have Great Consequences
The other scenario in which an industry of professionals may need an oath as a check against its amoral incentives is when the industry and its practitioners have the overwhelming power to materially alter the outcome of an enterprise or have so much control over the client’s position that the oath serves as a reminder to the practitioner to make judicious decisions assuming that he is acting in good faith anyway. That is to say, a doctor’s choices could kill the patient and the lawyer’s choices could ruin the legal case even if they are acting with the best of intentions, i.e., without malice. In short, they possess a lot of power.

Many professional managers, especially the ones who graduate from HBS and its ilk, often do possess a great deal of power. Top medium to large businesses hire them to take roles with high responsibility or high stakes or both. To that end, perhaps an oath is in order. Why, however, did the HBS student-initiative go beyond the pithy Columbia honor code, which seems sufficient to cover everything inherent in management?

A Deconstruction of Harvard’s Oath
The preamble, analogous to contractual recitals, begins:

As a manager, my purpose is to serve the greater good by bringing people and resources together to create value that no single individual can build alone. Therefore I will seek a course that enhances the value my enterprise can create for society over the long term. I recognize my decisions can have far-reaching consequences that affect the well-being of individuals inside and outside my enterprise, today and in the future. As I reconcile the interests of different constituencies, I will face difficult choices.

The irony begins in the first sentence. The nature of the free market, presuming the oath-taker is involved in the free market, is that pursuit of self-interest will serve the greater good in aggregate, assuming no theft. Lying and cheating tend to effect theft, so the aggregate good requires actors not lie or cheat either. Society, as an aggregation of consumers, will determine what is beneficial to it over the long term by buying what is offered by a business or not. Thus, to fulfill the first portion of the preamble, the oath-taker merely needs to engage in profitable business without lying, cheating or stealing. Beyond promising not to do any of those immoral acts, does a businessperson need to take a solemn oath to commit to engaging in profitable enterprise?

The last sentence is especially devoid of meaning. Life is filled with difficult choices. Perhaps if it served as the predicate clause to a statement of action, it would be useful, but to merely recognize that one will have difficult choices is similar to stating that the sun will rise and set.

The first promise states:

I will act with utmost integrity and pursue my work in an ethical manner. My personal behavior will be an example of integrity, consistent with the values I publicly espouse.

On its own, this statement, while somewhat nebulous, is good. It does not state the tenor of the oath-taker’s voluntary duty as incisively as the Columbia Honor Code, but it says enough.

The second promise states:

I will safeguard the interests of my shareholders, co-workers, customers, and the society in which we operate. I will endeavor to protect the interests of those who may not have power, but whose well-being is contingent on my decisions.

While this statement seems edifying, it is in toto unnecessary or nonsensical. Employees of a company, from the CEO down to the lowest worker, owe a fiduciary duty to the company and its owners. Safeguarding the interests of customers at large is vital to the success of a business, so taking an oath to do so seems to be stating, simply, that the oath-taker will attempt to run a profitable business. If the end result is that companies where HBS-graduates have influence turn out to behave more like American Express, Southwest Airlines, Google and the like, i.e., are customer-driven, then that is a net-positive. Still, it seems unnecessary.

Safeguarding the interests of co-workers is an overly broad promise, and as such, incoherent. Certainly, if the oath purports to constrain the oath-taker from cheating, lying to or stealing from coworkers, then it is meant well. On the other hand, the Columbia Honor Code would have been sufficient for this meaning. But, not all interests of all coworkers are actually beneficial or in the best interest of the company and shareholders. When the co-worker has illicit or immoral interests, safeguarding them is also immoral. Surely the oath does not purport to mandate the safeguarding of all interests of co-workers, which makes it overinclusive.

Safeguarding the interests of society is a meaningless construction. Society, with respect to a business, is the superset of all customers. Otherwise, it acts as a political strawman erected by others to praise or a company even when its actions are unhelpful to its customers or lambast the company even when its actions are helpful, profitable and legal. As stated, it is also an overinclusive label, and therefore one lacking in meaning. If the oath purports to constrain the manager to safeguard the property interests of his neighbors, then the law already provides both an obligation and multiple remedies to violation of such interests, and an oath not to steal would suffice.

The third promise states:

I will manage my enterprise in good faith, guarding against decisions and behavior that advance my own narrow ambitions but harm the enterprise and the people it serves. The pursuit of self-interest is the vital engine of a capitalist economy, but unbridled greed can be just as harmful. I will oppose corruption, unfair discrimination, and exploitation.

This is redundant. If one is serving himself but harming his enterprise and its customers, he is violating his fiduciary duty to the company.

What is unfair discrimination? What is exploitation? Neither are useful as labels and strike this author as political demagoguery.

The fourth promise states:

I will understand and uphold, both in letter and in spirit, the laws and contracts governing my own conduct and that of my enterprise. If I find laws that are unjust, antiquated, or unhelpful I will not brazenly break, ignore or avoid them; I will seek civil and acceptable means of reforming them.

Promising to do business according to the law seems like a mere reiteration of a thousand years of Anglo-Saxon culture and jurisprudence.

The fifth promise states:

I will take responsibility for my actions, and I will represent the performance and risks of my enterprise accurately and honestly. My aim will not be to distort the truth, but to transparently explain it and help people understand how decisions that affect them are made.

This is an excellent promise and one that could be a sufficient oath by itself. The actions the oath-takers avow to do here are greatly lacking particularly in big business. This is a laudable clause.

The sixth promise states:

I will develop both myself and other managers under my supervision so that the profession continues to grow and contribute to the well-being of society. I will consult colleagues and others who can help inform my judgment and will continually invest in staying abreast of the evolving knowledge in the field, always remaining open to innovation. I will mentor and look after the education of the next generation of leaders.

A cynical recasting of this clause would state, “I will be a good manager and strive not to be irrelevant and unmarketable. I will donate to the alumni fund.” The well-being of society is conceptually amorphous and better served by managers who will continue their fiduciary duties to their companies to increase profits by serving customers well. The rest of the clause strikes as self-serving or wrapped up in an implied duty of good faith to remain competent enough to actually perform ones duties as a manager well.

The seventh promise states:

I will strive to create sustainable economic, social, and environmental prosperity worldwide. Sustainable prosperity is created when the enterprise produces an output in the long run that is greater than the opportunity cost of all the inputs it consumes.

When I first read the short version of the oath, I only saw the first sentence, which to me lacked definition or was reliant on current vapid political notions of sustainability or both. The second sentence, however, is actually an excellent definition of sustainability with respect to, well, anything.

This second sentence is actually outstanding and should be the hallmark of more businesses in this country. Many large public companies are run with the intention to increase profitability within the an epsilon of the next financial quarter, or even worse, with the purpose of buoying the stock price, that false indicator of profitability and financial health.

Social prosperity and environmental prosperity as concepts extra-contextual to economic prosperity are impossible to measure, because measurement requires the fungible units the economic market provides.

In fact the entire statement is totally unmeasurable, except with respect to a business’ own income statement. The amazing quality of the free market is that it is decentralized and does not require a top-level view of costs to all parties. Not only is such impossible, even measuring the external costs caused by a company’s actions is problematic. This is precisely why the market’s actors, working for their own interests, paradoxically increase value for all actors in aggregate.

The final promise states:

I will be accountable to my peers and they will be accountable to me for living by this oath. I recognize that my stature and privileges as a professional stem from the respect and trust that the profession as a whole enjoys, and I accept my responsibility for embodying, protecting, and developing the standards of the management profession, so as to enhance that trust and respect.

From a high level, professional oaths are unworkable without widespread acceptance and peer review. This is a good attempt to encourage both. Of course, the fiduciary duty to one’s company may require decisions unpopular with ones peers.

A Reconstruction
If I were to reconstruct a more cogent and meaningful oath for professional managers, this is how I would do it while preserving most of Harvard’s words:

I will act with utmost integrity and pursue my work in an ethical manner. My personal behavior will be an example of integrity, consistent with the values I publicly espouse. [I adhere to the principles of truth, integrity, and respect. I will not lie, cheat, steal, or tolerate those who do.]

I will safeguard the interests of my [company, its] shareholders and [our] customers. [I will adhere to my fiduciary duty to them and act at all times in good faith.]

I will take responsibility for my actions, and I will represent the performance and risks of my enterprise accurately and honestly. My aim will not be to distort the truth, but to transparently explain it and help people understand how decisions that affect them are made.

I will strive [to effect] output[s] in the long run that [are] greater than the opportunity cost of all the inputs [they] [consume].

I will be accountable to my peers and they will be accountable to me for living by this oath.

Caveats
This deconstruction is, by no means, an indictment of HBS graduates or of Harvard Business School. More than a few good friends and talented colleagues (like Hannah, Craig, Sheryl, Laura, and others) have had the privilege of graduating from HBS, have enjoyed illustrious careers and have done good work. I consider them friends or talented colleagues or both, precisely because they already embody the characteristics that the MBA Oath was attempting to purport.

The oath simply has room for improvement.