The amazing adventures of Doug Hughes

Archive for June, 2012

Unborking VPN on OS X

For those of you using the inbuilt VPN features on OS X, you may have noticed that from time to time it will stop wanting to connect. For me, pretty much any time I disconnect from VPN, the next time I try to connect I will get an unfriendly message that looks like this:

VPN Connection An Unrecoverable error occurred. Verify your settings and try reconnecting.

This happens to me way too often. It can happen when trying to connect, it can happen after disconnecting and then reconnecting, it can happen without any apparent provocation.

In the past it seemed like the only option was to completely restart OS X. As you can imagine, this is not an acceptable solution to someone who keeps a lot of apps open, needs to use VPN frequently, and who doesn’t wish to waste time rebooting for no good reason.

Thankfully, Joe Bernard was able to track down the solution and was kind enough to share it with me.

Apparently there’s a process in OS X called “racoon”. Racoon is in charge of VPN connections. Here’s what Apple’s man pages have to say about it:

racoon is used to setup and maintain an IPSec tunnel or transport channel, between two devices, over which network traffic is conveyed securely. This security is made possible by cryptographic keys and operations on both devices. racoon relies on a standardized network protocol (IKE) to automatically negotiate and manage the cryptographic keys (e.g. security associations) that are necessary for the IPSec tunnel or transport channel to function. racoon speaks the IKE (ISAKMP/Oakley) key management protocol, to establish security associations with other hosts. The SPD (Security Policy Database) in the kernel usually triggers racoon. racoon usually sends all informational messages, warnings and error messages to syslogd(8) with the facility LOG_DAEMON and the priority LOG_INFO. Debugging messages are sent with the priority LOG_DEBUG. You should configure syslog.conf(5) appropriately to see these messages.

In a nutshell, Racoon gets borked. Sometimes this means that the racoon process needs to be restarted, but in my experience 99% of the time it means that it’s not actually running.

So, you can restart racoon from the terminal like so:

sudo /usr/sbin/racoon

I’ve also found that sometimes you need to restart the various networking interfaces you’re using. Because of this, I ended up writing a shell script I call fixnetwork.sh:

sudo ifconfig en0 down
sudo ifconfig en1 down
sudo ifconfig en0 up
sudo ifconfig en1 up
sudo /usr/sbin/racoon

I put this in my home directory, set it to be executable, and can run it like so:

~/fixnetwork.sh

Works like a charm for me. No more reboots to fix borked VPN connections! Productivity, here I come!

Representative Democracy is Failing Us? What Can We Do?

I’ve had a thought niggling at the back of my mind for a while now.  I feel like our current form of government in the US is badly broken.  I have an idea that, for lack of a better term, could be described as an alternative system of governance.  Perhaps this sounds crazy, and maybe it is, but I figured it couldn’t hurt to throw it out to the world and see what people thought about it.

This idea comes from my own personal perspective on the US government, how it functions, it’s shortcomings, and where it seems to get things right.  There’s a good chance that my opinion and perspective lays well outside of the mainstream.  I should also state for the record that I truly admire and respect how my country has led the world towards greater freedom and I think there’s room for improvement.

My thesis for this article is that representative democracy is failing US citizens.

How do I see representative government failing us?  Here are some of the ways I personally see the government failing us:

  • There is too much money in politics.  A few rich people can, with relative ease, swing an election in their favor and buy favors from politicians.
  • Representatives are not consistently well informed about the issues on which they are voting.
  • Lobbyists have undue and unproportional influence over politicians.
  • Representatives cannot fairly represent all of their constituants.  In particular, those who voted for the “other person” are under represented.
  • The political parties gain unfair advantages by gerrymandering and otherwise manipulating the system.
  • Two parties – or any number of political parties – can not effectively represent the full range of political opinions held by citizens.
  • We are stuck with a two-party political system with few realistic alternate parties to choose from.
  • The government does not trust its citizens and spies on them.
  • The government is not completely transparent and keeps secrets that it does not need to.
  • We have a complex and unfair tax system.

Many citizens do not trust government to make decisions or implement programs effectively or efficiently.  I can’t speak for citizens of other countries, but I suspect that many of them also feel similarly about their government.

So, what can be done about this?

The classic answer to this question is that we could get involved and try harder to elect people (or ourselves) who will beter represent us in government with the hope that it brings about positive change.  I believe that almost all (if not all) politicians enter politics for this reason.  I don’t think many people enter public service just for the power and privilege.  However, it’s impossible for an individual to represent any more than their own opinions.  Elections are simply a tool by which the citizenry, as much as possible, try to select the least offensive candidate from a very small pool of options.  And, the longer a person holds a position of power and influence, the harder it is for them to not to be corrupted.

Additionally, citizens of non-democratically elected governments have even fewer options to change their system of government.  This is one of the primary reasons the US government has worked so tirelessly over the decades to try to bring democracy to the whole world.  Unfortunately, this effort has had mixed results.  Many countries resent the arrogance of the US and its citizens, others are outright hostile to us.

So, again, what can be done about this?

When life in the colonies became unbearable, our US forefathers declared independence from England.  The Declaration of Independence states that a government’s power comes from its people and that it’s primary role is to protect its people’s inalienable rights.  Furthermore, it says that if a government should fail its responsibilities that the people have a right to abolish that government and establish a new one.

To be clear, I am not at all proposing that the US or any other country or people should abolish their government.  However, perhaps it’s time to consider experimenting with new forms of government and new forms of countries?

Historically, countries have been united by the land they are founded on.  Countries have clearly defined borders  in the physical world.  All people within these borders must obey the laws of that country.  But, the modern age has, through invention of the internet, world wide communication networks, telephones, overnight mail delivery, easy and inexpensive travel, and many other modern conveniences, opened us up to an alternative which may not have been feasible in the past.

What if a country’s jurisdiction were not based upon its physical location on this planet, but merely on a social contract among its citizens?  What if all citizens of this new form of country were beholden to following its laws, no matter where they were physically located?  Furthermore, what if every citizen of this country had an equal say in the laws that are formed?

I would like to paint for you a hypothetical form of government:

Imagine, if you would, that a population of people decided to come together and use modern tools such as the internet to establish a new, virtual, country.  This new country would not have any physical borders and would not have a claim to any physical territory.

This new virtual country would establish its own government.  The structure of the government and its laws would be defined in a set of legal documents.  The very first draft of these documents would define the basic underlying structure and function of the new government.  For example, it would define the following:

  • How is the government structured?
  • What is the definition of citizenship and how do people become citizens?
  • What rights do citizens have?
  • What rights does the government have?
  • and much more…

These documents would be entered into a distributed version tracking system, thereby constituting the government.  The most recent “trunk” version of these documents would be law.  This new government would coexist with, but always be secondary to, the whatever the local government is in the physical world.

Any citizen of this new virtual country would be permitted to make their own personal copies of these legal documents and to revise them as they see fit.  If the citizen so wished, they could submit revisions of these documents back to the government for consideration.

Durring the consideration period, all citizens of the country would be encouraged to review and debate the proposed changes and to cast a vote on whether the changes should be approved or rejected.  If approved, the changes would be applied and the laws of the country would be changed.

Anyone in the world who wished to do so would be permitted to become a citizen of this new virtual country and would be able to gain the benefits of citizenship.  Citizens of this new country would essentially have dual citizenship in their physical country as well as in this new virtual country.  All citizen of this new country would be obliged to follow the laws enacted by this new country, so long as they don’t conflict with the laws of the physical country where the person is located, or risk losing their citizenship.

So, what we’ve established is a country that is directly under the rule of its people.  Changes to government and law can be proposed by and voted on by any citizen.  This country’s laws are always secondary to the laws of the country where the person physically is located.  Citizens of this new country must always obey the laws for their physical country as well as the laws of their virtual country.  When in conflict, local laws will always supersede.

I imagine that eventually, this new virtual government might levy taxes, establish a judicial system, establish its own currency, and provide services to its citizens including health care, social safety nets, roads, and anything else that its citizens wish to have their government do.  Of course, this all depends on what laws the citizens of the country enact and how well they collectively manage it.

I even envision a future where corporations and businesses could be formed within the framework of this government.  These businesses would likely exist in parallel with businesses in the physical world.  But, these businesses would be beholden to the laws of the new country.  This might be useful, for example, if this new government does offer health care for its citizens.  Perhaps only medical providers who are citizens and who have also registered their business entity with the new government would be eligible to provide services paid for by this government.  And, when this happens, they are now beholden to the laws of these people.

Furthermore, if the people do form their own currency, and banks are formed to hold this currency, or perhaps banks in the physical world decide to accept deposits in this currency, then they may need to follow the laws of this country.

Instead of having a prison system to punish criminals, perhaps we have an excommunication system where the convicted criminal loses their citizenship and associated benefits for a period of time?  For less serious crimes perhaps the government would collect fines?

I also imagine that the citizens of this country may work to define subsets of the over-arching virtual country.  This could be considered states or provinces or counties or cities or whatever.  Each of these subsets would define their own rules and may in fact actually be tied to physical boundaries in the real world.  Citizens of the over-arching virtual country would be beholden to local variations of laws, though the none of these laws could override the base laws of the country.

This would be similar to how the united states is divided into states, counties, cities, etc, each with their own laws, none of which supersede it’s parent government.

Perhaps some day in the far, far, distant future some physical countries may elect to dissolve their governments and to live exclusively under this new form of government?  It could happen!

I personally feel like the overall structure of our world-wide society is beginning to change.  While technology creates new efficiencies and new jobs, it also seeks to save labor and eliminate jobs.  Labor and the ability to earn money is the foundation of our world economy.  In the very long run, as technology evolves, I believe almost automation will replace almost all workers and dramatically transform the nature of our economy.

How will society cope with these drastic, foundational, changes to the world and economy?  If history is any guide, it will be through violence, war, and suffering.  Perhaps this hypothetical form of government I am proposing could somehow be used to mitigate the impact of this?  Perhaps the people of this virtual country can come together to find new ways of structuring our society and our social contracts to protect its citizens?

What do you think?

Tag Cloud