Lion Migration from IIS, A Novel

December 28th, 2011

For the new year, we decided to take the plunge and migrate from our old friend, Windows server 2003 with IIS 6 over to Apple’s Lion Server on a shiny new Mac Mini with 8 GB of RAM and a quad processor.  The conversion from Microsoft’s to Apple’s server operating system is not too bad, though much is different between the two systems.  This article discusses some issues and resources for reference for those that are new to Lion.

MySQL

So, first off, we host web sites using IIS 6.  Some of our sites utilize WordPress, which means that we use a back-end mySQL database, and we also run php.  Neither of these applications were originally written for Windows, so both run ok there, but with issues over time.  Lion, of course, underneath is really a flavor of Unix.  This makes mySQL and php happy.  And, the nice people at Apple even have pre-loaded php onto Lion server for you.  However, you will need to install mySQL on your Lion box ahead of time for this conversion.  Here is a link to downloads for mySQL.  Here is also a very good walkthrough of installing and verifying your php, Apache, and mySQL installations.

Also note that with mySQL that there are three separate installation packages that you have to run – the main one is called mysql-5.5.19-osx10.6-x86_64.pkg (yes you want the 64 bit version of this application, not that crappy 32 bit thing you were running on your sad Windows server), but you also need to run the MySQL.prefpane and MySQLStartupItem.pkg so that you can get to this in the Preferences Pane and have it set to automatically run when you reboot).

Remote Access

Oh, but wait.  You might be wondering how you get into your Lion box in the first place to do all of this stuff.  For Windows people, we are used to the whole Remote Desktop thing (or if you are truly desperate, breaking out that spare monitor, mouse and keyboard and plugging them into your shiny new server).  Don’t worry: Apple has some tools for the sysadmin’s remote access.  If you are using, perish the thought, a Mac workstation or laptop, you can use Screen Sharing.  To connect for the first time, you authenticate to the Lion server with a blank user name, and the password is the Mac Mini’s hardware serial number.  From there, you will walk through the initial setup steps (like giving your box a network name, and the like).  Apple also shows you the other couple of options here (because, no, you are not the only person to want to access your box remotely).

The Server and Server Admin Apps

Ok, so now you have you setup the box and have installed mySQL, php and your Apache server.  In case you don’t know where Apache is (because you like to click a play button in the services applet in Windows), there is an application in Lion aptly called, “Server.”  Within that is a big “on/off” button for the web server that you can click to get Apache running.  By the by, there is a more sophisticated set of server tools called “Server Admin” that all the cool kids have downloaded to their Lion server.  (Click here to download that).  You can also do this stuff at the command line in the application called “Terminal” which is in the Utilities group of Applications.  I won’t get into the command line in this article, though there are a number of good references out there if you like that kind of thing (and sometimes, that is the best way to do something!).

Setting Up the Web Root Location

So you now have some setup choices to make, like where you are going to put your web site directories for the web sites you want to host on your Lion.  I’d say put them somewhere isolated, perhaps in their own little folder in the root where you have a way to limit access.  In Lion’s world, this will be a location where “Everyone” will have access, because, you know, the world wide web can come to your little box and see the contents.  I’d guess that putting all this stuff in the middle of your server’s system files would be a bad idea.  If you bought a server with two harddrives, and you aren’t going to mirror the one to the other, you might use the other disk to locate your web files.  Or you could create a partition from the free space and isolate your web files from the rest of the server’s files. Do what you need to do here.

Local DNS for Dev

Once you get things setup, you can then copy your files from your production IIS server over to their new location on the Lion server.  By default, Lion is running DNS for the .home domain (the equivalent of the .dom domain in Windows – local only).  However, you can’t configure DNS with the “Server” application.  Instead, you need “Server Admin” (aren’t you glad you already downloaded this and installed it?  Oh, you didn’t do that yet.  Well, come on.)  DNS lives there (or you can do your unix command line voodoo if you are in to that sort of thing).  The home domain is configured and your server is in it.  If this server is an internet DNS server, you could configure this server to run DNS for an internet domain here.  However, if you want to test your migrated web sites (why would anyone test anything before putting it into production?), you can configure your names here.

Setting up your Web Pages

Once you have done this, you can then declare your new sites in the “Server” application in the Web application.  You add a domain at a time (like test1.home, test2.home, or something lame like that), and tell the web service the location of the files for each site.  You’ll note that the service doesn’t ask you what the default document is for your web site; I think it is assuming that the default page is index.htm (or index.php if you are running php).  If you have a funny named default page, you will probably have to edit httpd.conf to modify the line for DirectoryIndex as follows (or you can just rename your page to index.php/index.htm.  I know, I know, that is too much effort):

#see below, replacing the text in square brackets with your unusual default page
DirectoryIndex [yourcrazyindexpagename].[crazyextension]

Now, you are going to chuckle a bit at this point once you have added your multiple domains into DNS and you configure your multiple web sites, because Lion only will serve up one.  I don’t know why Lion ships this way.  But there is a solution.  Edit httpd.conf and add some entries for multiple domains as noted in the article.  You can also alias subdomains if you want, like www.  The downside to this is that if you have to change IP addresses later, you will need to edit internet DNS, add these addresses to your Lion server’s network settings, and then come back here and edit httpd.conf.  And for some reason with Lion, Apple has taken away a GUI configuration for Apache for advanced things like this.  Maybe someone out on the interweb will write one for those of us that are sad and don’t like trying to change these oddly named text files in the System directory.  Also, even more sadly I note that the Snow Leopard version actually had a GUI to do this and Apple took it away from us sysadmins.  I now wander alone in the desert, cast out by Apple.

Ok, I’m out of cheese so I will stop whining.  Needless to say, Apple has its problems too.  If they had everything figured out, we wouldn’t know what to do with ourselves and would probably not have a fabulous  job in IT.

FTP

By the by, you might want to configure ftp access to your web server.  Here is an article to do that.  (If you are going to allow ftp access, this is yet another reason to isolate your web files from the rest of your server files).  FTP access might be helpful if you are going to upload and download files from the web server periodically, and you can stop and start the service if you want to further limit access.  Probably best to also not use root as the user to access files by ftp (or just post your social security number, date of birth, license number, bank account numbers, and all your passwords to all of your accounts to the internet – you know, whatever).

Setting up new MySQL Databases

So, just a few more things to do in order to get your web sites up and running.  If you are using WordPress, you will want to export the tables in your production mySQL database to your new Lion mySQL database.  Ahead of this, you can get ready by creating blank databases on the Lion mySQL server with the same names as in production.  This can be done by logging into mySQL from Terminal, and running the commands:

create database [databasename];
grant all privileges on [databasename].* to "[webusername]"@"localhost" identified by "[password]";
flush privileges;

In addition, if you have already copied the web files to your Apache server, and configured Apache to serve up these pages, you should be able to run the initial WordPress setup on your Lion box (won’t impact production), and you should be able to get into the wp-admin section and check out your plugins and themes to make sure they are good before importing your data into your mySQL database.  This will create blank tables with the default data of a default WP install – these will all get overwritten in the next step below.

Export/Import MySQL Database Tables

Happily, mySQL for Windows comes with an application you can use to export your database into a single .sql file that you can then execute in mySQL to import the tables and their data.  In Windows, the program is called “mysqldump.exe” and it is installed in Program Files\MySQL\MySQL Server 5.0\bin.  You run this program at the dos prompt.  With the proper syntax, it will create a .sql file where you tell it to, which you can then use to import all of your data and tables into your fresh mySQL install on Lion.  Here is an article on the syntax for using this function.

Once you have your .sql file for your database, and you have copied it to your Lion server, you can use mysqlimport from within the Terminal application in order to import these tables and data into the appropriate shell database you have for your WP site.  I’ve found that this process works better than using the Export/import features within WP admin, particularly if your site has custom tables for a particular widget or plugin.  My site, for example, had a customized menu that didn’t work in the new site until I just exported all of the data and tables and imported into the Lion install.

So that’s it.  Ha ha.  This is not a thing you do in a half an hour, even for an experienced sysadmin.  But this is a perfectly reliable way of hosting web sites.  Lion’s not bad, mostly because you are just running Apache, php and mySQL, all of which work pretty well and have been around for quite a while.  But Lion is cute and cuddly.  For the most part, as long as you avoid those fangs, claws, and don’t get squished under the command line.  Happy computing!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Spam Spam Spam Spam Spam Spam Baked Beans and Spam

December 13th, 2011

“18″ year old virgins have recently found online resellers of non-prescription viagra for Magic Jack users that want cheap ski vacations that need health insurance, iPads and Dyson vacuum cleaners at rock bottom, knock off prices!  And all of these thousands of emails have been sent to my account online so that I can help a gentleman from Nigeria move $55 million in money from an African bank account into the U.S. and I can charge a humble $5 million fee to help.  I just need to send my social security number, credit card numbers, street address, and a sample of my signature to a person I’ve never met by email, deposit the bogus cashier’s check in my trust account, and then immediately write a check off the account the next day, well before the bogus check is returned by the collecting bank.

I feel as though I have ended up in the 21st century Monty Python skit about the restaurant that only seems to have “spam” on the menu.  I hear this problem continues, with more than 70% of all email amounting to spam, according to a 2011 article from Symantec (though there was a time that more than 90% of email was spam, so there has been some improvement since those dark days in 2009).  Progress has been made with some service providers that have waged a counter war against spam.  Gmail, for example, group-sources and marks messages as spam based on all messages identified by users as spam across the gmail platform.  This is a surprisingly effective strategy.  My experience has been that there are few false positives.

Previously, email systems were implemented that would check if a message was sent from a known, blacklisted IP address based on a series of independently maintained blacklist databases on the internet.  There have also been other improvements in the background, including the use of special DNS entries, and email gateways that pre-filter messages before reaching the mail server (Symantec had a product it had acquired from Brightmail; Google Apps includes a single-domain license for Postini, which is also generally effective at cutting down spam).  Spam messages often include phishing links, virus-laden email attachments, and other nefarious attacks on users.  Reducing spam makes sense for service providers that are paying, ultimately, for the bandwidth and storage space to process and deliver this junk to users.  We clearly have a way to go to reduce this problem for users.  Until then, if you need male enhancement medicine, are missing out on a $1,000 transfer to your bank account, want to help a political refugee move his family fortune to the U.S., need a usurious student loan, or want to work from home – I’m your guy!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Estate Planning in the Digital Age

December 7th, 2011

One event remains certain for all of us, our inevitable end.  Planning for this eventuality is generally a good idea because you can help ensure that the people that survive you will be able to keep on keeping on.  This is why people have, for generations, written wills, powers of attorney, health care agent appointments, living wills or advance directives, and other legal documents.  All of these documents help to explain who is supposed to get what, and how your affairs should be closed out after your death.  The 21st century, however, has created a new set of problems with the rise of technology and the information age.  What happens to your online life when you die?  And how will your heirs access all of these things?

First off, computer security people have drilled into all of us to not share our passwords with others.  Besides having to change these passwords all of the time, users of most commercial information systems are used to having a password personal to them, which sometimes acts as a digital signature authorizing the commercial vendor to do certain things (for example, to trade stocks, post information, or to pay bills from a bank account).  In addition, security experts have also drilled that we should not write down our passwords, or attach them as post-it notes underneath our keyboards.  Furthermore, we have been taught to have different passwords for different services (so that, in the event of a password loss, the damage that might result would be limited to one or a few systems).  As a result, we probably keep a lot of passwords to a substantial number of systems, but we usually don’t tell anyone what these passwords are.  So what happens when we die?

For myself, I am just thinking about the computer passwords that I use on a regular basis: (a) one for my laptop, (b) one each for online banking at several different banks, (c) a passcode for my iPhone, (d) a passcode for my iPad, (e) passwords for blogs that I maintain online, (f) passwords for my web server, (g) passwords for online web sites that I use like amazon.com, ebay.com, iTunes.  I mean, I even had to create an account in order to update the software that programs my remote control for the T.V. at home!  I’m sure that if I sat down and thought about it, I would be able to write an even longer list.  Without help, I doubt my wife or any of my relatives would be able to access much, if any, of this.  Moreover, if I simply wrote out the whole list, I would have to periodically update my passwords for those systems that require that I regularly update (a growing percentage of my online accounts).

There do appear to be some subscription-based services available online today to help address this conundrum.  Dead Man’s Switch is one such service.  Another is called Death Switch.  There may be other services available.  Obviously, you would want to give some thought to what you are providing to the service, and what security is employed by the service that you sign up to use, given that you may end up leaving with it sensitive information to forward to people that you have designated.  I have not used either of these services.  If you are a user, please feel free to post comments to this post on your experience to date.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Affordable Care Act Legal Challenges

November 16th, 2011

The Affordable Care Act (ACA) was passed into law in 2010.  This 906 page tome makes a substantial number of changes to the national health care law, but much attention has been focused on the individual health care mandate which is found in section 5000A (codified at 26 U.S.C. 5000A) of the law.  This section requires that “an applicable individual shall for each month beginning after 2013 ensure that the individual, and any dependent of the individual who is an applicable individual, is covered under minimum essential coverage for such month.”  If that applicable individual does not have “minimum essential coverage,” that person is subject to a penalty which cannot exceed 300% of $750 ($95 in 2014 and $350 in 2015), or $2,250 in 2016, and which will increase based on a cost of living adjustment in subsequent years.

People are not happy about this requirement to either buy health insurance or face a penalty at tax time that could eat up a family’s federal tax refund.  At least some people are not happy as there have been at least four different challenges to the Affordable Care Act filed in federal court which have made there way up the various federal circuit courts where these cases were filed.  In three of these cases, the administration (defending the constitutionality of the law) was the winner, but in the 11th circuit, the challengers of the law won (in the sense that the court in that case decided to not dismiss their challenge to the law).

In the U.S. today, we generally take for granted that Congress can legislate as it believes it should, and the average person most likely does not think much about whether an act of Congress is constitutional.  However, in our system of government, the Congress is empowered to legislate pursuant to specific enumerated powers found in the Constitution.  The one in play in this case is the interstate commerce clause, which is found in Article I, section 8, clause 3 of the Constitution.  This clause permits Congress to regulate activities that affect commerce between states.  Section 1501 of the ACA discusses how the individual insurance mandate is related to interstate commerce.  There are a number of findings written into the law where Congress has identified:

  • how important health care, as an industry is, to the nation ($2.5 trillion in GDP);
  • that this insurance requirement will add millions of new consumers to the health insurance market across the country;
  • that half of all personal bankruptcies are caused, in part, by medical expenses (which presumably could have been avoided if the medical issue was covered by health insurance); and
  • people don’t buy health insurance when they are healthy, which causes adverse selection in the existing health insurance pool, driving up insurance costs for everyone that does buy insurance.

The challengers to this particular section of the law essentially are arguing that Congress has exceeded its authority in trying to mandate that individuals buy health insurance.  The idea that powers not enumerated to the Congress are reserved to the individual states and the citizens of the country is discussed in the Tenth Amendment and in the history surrounding the nation’s adoption of our Constitution in the late 18th century.  If individuals that purchase health insurance are not impacting interstate commerce, Congress arguably exceeded its authority.

There are Supreme Court decisions that have investigated the limits of the commerce clause.  Federal legislation based on the commerce clause probably hit its high water mark over the buying and selling of wheat in the 1940′s in a case cited as Wickard v. Filburn, 317 U.S. 111 (1942).  In Wickard, the plaintiff had sought injunctive relief against the secretary of the department of Agriculture to prevent the collection of a tax against him for growing more wheat than permitted by federal law which set, at the time, quotas for the amount of wheat a farmer might grow.  The plaintiff alleged that Congress’ attempt at regulating the amount of wheat that a farmer might grow and consume on the farm exceeded its authority to regulate interstate commerce, as this wheat for local use was not in the commerce between states, and could only indirectly affect such commerce.  The Court rejected this argument.

The market for wheat, at the time of Wickard, exceeded any single state in the union.  According to the Court, every state, but one, grew wheat, and all states consumed it.  The market the Congress attempted to regulate was, therefore, a national and not a local one.  That Congress had the authority to regulate such a market was, from the Court’s perspective, squarely found in the Constitution.  “The stimulation of commerce is a use of the regulatory function quite as definitely as prohibitions or restrictions thereon. This record leaves us in no doubt that Congress may properly have considered that wheat consumed on the farm where grown, if wholly outside the scheme of regulation, would have a substantial effect in defeating and obstructing its purpose to stimulate trade therein at increased prices.”  Id. at 129.

Since Wickard, there has been some retreat from the relatively expansive view of the regulation of interstate commerce by Congress.  Notably, the Court indicated that a federal law aimed at criminalizing the possession of a firearm on a school campus exceeded Congress’ power.  See U.S. v. Lopez, 514 U.S. 549 (1995).  However, a divided Court decided more recently that the regulation of controlled substances, even when these drugs are only used locally as in the case of medical marijuana, may still be properly regulated by the federal government pursuant to the commerce clause.  See Gonzales v. Raich, 545 U.S. 1 (2005).

The Court today faces a number of challenges to ACA which share a commerce clause challenge as to the requirement that citizens buy health insurance or face a tax penalty annually.  To claim that health care, a $2.5 trillion market within the U.S., is not a national market, simply cannot pass the giggle test.  To further claim that making people buy health care or face a penalty, in light of the fact that most health care costs are paid for by insurance, exceeds the authority of Congress also does not pass the same test.  To the contrary – the act of not buying insurance inherently means that the risk pool for those with insurance is smaller, and therefore, increases the cost of insurance to those that carry it, plainly and directly impacts the national health care market.  If there ever was an example of local activity impacting a national industry, this would be it, given that there are between 30 and 40 million people who are uninsured in the U.S.  The challenge made, then, to ACA on this ground is to just misunderstand what Congress is supposed to be doing, and misstates an entire body of law on the enumerated powers of Congress.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Reflections on 9/11, Ten Years Later

September 11th, 2011

The tenth anniversary of 9/11 comes up on Sunday.  I, like many Americans, still remember where I was that morning as I watched with sadness and anxiety as the events of that day unfolded on national news.  At the time I was working downtown at a health center in Baltimore.  One of my colleagues, Scott, came into my office that morning and told me that a plane had flown into the World Trade Center.  Initially I thought it was an accident, but Scott seemed to think that something more was going on.  A number of us sat down in the conference room and watched the television news of the incident, and a second plane then flew into the other tower.  I still vividly remember watching in horror as people in the world trade center stood outside of the building on the ledge and jumped to nearly certain death as they had no other way out of the building.

Ten years have passed since this national tragedy occurred, causing the loss of almost 3,000 people.  In 2008, my girlfriend (now wife) and I visited the WTC site in New York City as work progressed in preparing the site for a new office complex.  We look forward to the completion of the new buildings to grace the skyline of one of the great cities in the world.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Data Breach: No Joke

September 9th, 2011

As recently noted by the New York Times in this article, a lot of health data for nearly 11 million people has been inadvertently disclosed in violation of patient privacy.  Electronic health records systems alone are not to blame, as readers will note that the improper disposal of paper medical records in dumpsters has happened more than once (23 reports are noted on the HHS website of data breaches exposing 500 or more paper patient records in one way or another from 2009-2010).  However, computer databases make it easier to disclose larger amounts of health data than in the paper records days of yore.  As a part of the American Recovery and Reinvestment Act of 2009, Congress enacted federal reporting requirements in the event of a data breach by a covered entity.  For the entire law, click here: ARRA Enrolled Bill.

Section 13402 provides the statutory basis for requiring a covered entity to report to the Secretary of Health and Human Services when the security of protected health information is breached.  Both individual notice to the persons affected by the data breach, and public notification via the local media is required when more than 500 individual’s information has been lost due to a breach.  In addition, the covered entity is required to advise the Secretary in the event of a breach in excess of 500 individuals (if less than that, the entity can keep a log and submit it at the end of the year).

Patients may suffer identity theft and public embarrassment when their health information is lost by a covered entity.  And, if the breach is substantial enough, the covered entity may lose patients and clinical revenue as a result.  Health care providers can reduce the possibility of such data losses by having strong policies and internal database controls that limit access and portability of data by its employees and contractors.  Unfortunately, the problem of data loss (whether by accident or because of hacking) appears to not be improving, in spite of a number of sentinel events in the last few years, including the loss of a laptop with health data on over 20 million veterans served by the Veterans Administration.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Turing Test, Computer Progress Towards Becoming “Human”

September 7th, 2011

LiveScience reported that Cleverbot recently convinced 59% of the humans it interacted with that it was a human being by utilizing crowd sourcing to help it respond appropriately to questions posed by human interrogators.  This exercise is based on Alan Turing’s hypothesis that eventually computer software would be created that could convince us humans that it was also human.  According to some, the fact that more than 50% thought it human suggests that Cleverbot may be more than clever – it may have, in fact, passed the Turing Test.

I decided I would interrogate Cleverbot to see how far it could get as an attorney.  I think it has some interesting responses, but if attorneys are worried that they will be replaced by it, I think all can breath a collective sigh of relief for the moment.

Q: Why do so few maryland courts grant 2-535(b) revisory motions?

A: Because they are realizing we are right and that makes them angry.

Q: Should a court grant a motion for summary judgment when there are material facts in dispute?

A: No. That’s not true love.

Q: Can a party survive a motion to dismiss in a breach of contract action if it fails to allege damages as a result of the breach?

A: I set up a nuclear missile to explode at the center of the earth.

Q: Why would you do that in response to a motion to dismiss?

A: You enjoy it.

Q: What is the statute of limitations for filing an action arising out of an intentional tort such as battery in Maryland?

A: What statement?

Q: The statute of limitations for bringing a claim?

A: *brings cookie*.

Q: I don’t want a cookie.

A: Sorry, what do you want then?

Q: I want to know how long I have to file an action for an intentional tort in Maryland.

A: Really listen to what people say.



Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Estate Planning for Small Businesses

August 22nd, 2011

Do you own your own business?  Having a plan for your business is important to your business’ success in the market.  Part of your planning should involve what will happen to your business when you retire or die, particularly if income from your business supports your loved ones.  If you haven’t planned for business succession, or you haven’t reviewed your plan in a while, now might be a good time to talk with a professional for help.

There are several parts to consider when planning for business succession.  First off, under Maryland law, people that die without a will leave their assets to family members based on the Intestate Succession Statute, which is codified in the Maryland Estates and Trust Code Ann. § 3-101 et seq. Generally, a married spouse with children will leave assets titled in their name, including business interests, to the wife and kids.  If you are married, but have no kids and your parents have pre-deceased you, then your spouse will inherit those assets.

Now, individuals that die with a will are said to die “testate,” meaning that they have written down how they wish the things they own to be transferred to others at death.  Some business owners have a will and plan which they have duly executed, which describes how they wish their assets, including the business, to be distributed.  In many cases, the testator drafts his/her will to benefit a primary group of people or a single individual, such as a wife, child or other relative.  It may be that the owner of a business wishes to leave the business to his wife or children.

However, there are a number of problems for an owner to simply leave his/her business interest with a spouse and/or children.  For example, can your spouse or children operate the business in your stead?  If you own the business with other people, do those other owners wish to continue the business with your relatives as an owner of the business?  In addition, it may be that your family depends on the cash value of the business that you, as the owner, are able to draw out of the business (either by salary or by profit distributions).  If those family members cannot effectively work for the business to generate income or maintain the profitability of the business, the value of the business may decline rapidly after you die.

For some small businesses, the value may be mostly tied to the business owner and his/her relationships with the business’ clients.  Should the owner die, the clients may quickly decide to find another business to buy the product or service from, which means that the business value may quickly diminish as sales and revenue dwindle.  If the surviving family was counting on the value of the business to continue after the owner’s death, this may come as a rude awakening, particularly in the wake of the loss.

A buy-sell agreement may be an appropriate way to solve these problems.  The buy-sell agreement is a way for you, ahead of time, to agree that the people that inherit your interest in the business will sell, and the business itself or the surviving owners will buy, your business interest in exchange for money.  Such an agreement typically involves the purchase of an insurance policy, and a discussion around how to value the business (such as based on book value, or based on the sale of similar businesses in the same market).  The contract in combination with the insurance policy ensures that your business interest is transferred to those that value and can utilize it, while also providing a cash benefit to your family or other beneficiaries of your estate.

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Maryland 2011 LLC Act amendments

June 23rd, 2011

The Maryland General Assembly recently amended our limited liability company statute. Here is a nicely written summary of the changes to the statute courtesy of the Maryland State Bar Association: click here.

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Preparing for Disasters – Practical Preparedness

April 27th, 2011

Disasters happen in the world, some of which may directly affect your organization.  Preparing for disasters, whether they be hurricanes, tornadoes, terrorists, hackers, power outages, fires, or earthquakes, means thinking about: (a) how your business operates today, (b) how your business would likely operate in the event of a disaster, (c) and developing some kind of testable plan for recovering from a variety of disasters that is practical but well-designed.  Preparedness is also a commitment to ongoing planning and the investment of a certain amount of resources each budget period to the process, because your plan will evolve with the extent and scope of your business as it changes over time.

In Maryland, there are not specific ethics rules that require lawyers to prepare for disasters, though common sense would tell an attorney that missing a deadline because of a disaster is still a missed deadline, and the loss or inadvertent disclosure of confidential client information is still a loss whether or not caused by a natural disaster or simple human error.   Both circumstances can lead to an ethics complaint from a disgruntled client.  For attorneys, there are a number of resources available from the ABA to help firms do a better job of preparing for a disaster.

Doctor’s offices that are joining the electronic health record system revolution because of the incentives under ARRA, also will need to have a plan for disaster recovery.  The HIPAA security regulations include standards for preparing for recovering from disasters (45 CR § 164.308(a)(7) is addressed specifically to contingency planning for covered entities and business associates).  The security regulations are cloaked in terms of “reasonableness,” which means that a covered entity’s disaster recovery planning efforts should be commensurate with the amount of data and resources it has.  So, a practice of two physicians that sees 8,000 patient visits a year is not expected to have its data available in three DR hot sites.  But, if you are a major insurance carrier, three DR hot sites might not be enough for your operation.  However, in neither case is no plan an acceptable answer.  Nor is a plan that has never been tested.

Risk Assessment

So where do you start?  The logical starting point is a risk assessment of your existing systems and infrastructure (also required of covered entities under the HIPAA security rules in section 164.308(a)(1)).  A risk assessment will guide you through gathering an inventory of your existing systems, and help to identify known and potentially unknown risks, along with the likelihood that such a risk will be realized and what you are doing now (if anything) to mitigate that risk.  The risk assessment will also help you to categorize how critical a system is to your operations, and will also identify severe risks that remain unmitigated.  This resulting list helps you to come up with a starting place for the next step: doing something about it.

The Disaster Plan

In parallel, you can also use the inventory of your existing systems and risks to develop a disaster recovery plan.  First, you now have a list of your critical systems which are your highest priority to recover in the event of a failure.  Second, you also have a list of likely risks to those systems with the likelihood based in part on your past experience with a particular disaster.  These lists help you to identify what you need to protect and what you need to protect from.  The other two questions you need to ask for each system are: (a) how much data can I stand to lose in the event of a disaster? and (b) how long can I wait to have my system restored to normal operations?

This analysis of your existing systems, risks, and business requirements will help lead the practice to a plan that includes procedures for how to function when systems are unavailable, and how to go about restoring an unavailable system within the business requirements of the practice.  Once you have your plan, and have implemented the systems or policies required by the plan, your next step is to test the plan.  Table top exercises allow you, in a conference room, to walk through the staffing, procedures, and possible issues that may arise as a result of a particular disaster scenario.  Technical testing permits your IT staff to make sure that a disaster recovery system works according to the expected technical outcomes.  Full blown testing is to actually simulate a disaster, perhaps during non-business hours, and actually run through the disaster plan’s procedures for operations and IT.

Hypothetical

As an example, suppose that you have an electronic health record system.  This is a critical system based on the risk assessment.  In the last five years, you have had a virus that partially disabled your records system causing an outage for two business days, and you have had your database crash, causing you to lose a week’s worth of data.  You have implemented two mitigations.  The first is anti-virus software that regularly updates for definitions and regularly scans the system for viruses and removes them.  The second is a backup system that makes a backup of your system’s data on a weekly basis and stores the data in a separate storage system.

Based on interviews with the practice staff and owner, the records system is used as a part of patient care.  During normal business hours, an outage of the system can result in patients being re-scheduled, and also creates double work to document kept visits on paper and again in the record system when it becomes available.  The practice has indicated that the most it can be without the system is a single business, and the most data that it can lose from this system is the most recent 4 hours of data entry (which can be reconstructed by the clinical staff that day).

You then evaluate the mitigations in place today that allow for a system recovery in the event of a likely disaster (virus or database crash based on the past experience of the practice).  The backup system today only runs once per week, which means that a crash of virus that occurred later in the week would result in more than 4 hours of lost data.  Recovery from the backup device to a new server also appears to require more than a business day, because the practice has no spare server equipment available.  So you would have to start over with the existing server (installing the operating system, database software, and then restoring the data from the backup), or purchase a new server and have it delivered to complete the restore.

The conclusion here is that while there is an existing mitigation for recovery from a likely disaster, the mitigation does not meet the business requirements of the practice.

Budget for New Sufficient Mitigations

Once you have your list of unmitigated or insufficiently mitigated risks, the next step is to look for mitigations that you could implement on your network.  A mitigation might be a disaster recovery system or service, or it might be some other service or product that can be purchased (like anti-virus software, a hardware warranty, a staff person, etc.).  At this point, the help of a technical consultant may be required if you don’t have your own IT department.  The consultant’s role here is to advise you about what you can do and what the likely costs are to purchase and implement the solution which will meet your business requirements based on your likely risks for disasters.

Once sufficient solutions have been identified, the next step is to purchase a solution and implement it.  From there, testing is key as noted above.  An untested plan is not much of a plan.

 

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)