Central Alabama ColdFusion User Group - 2012
Employment
- Browse "Local Sites" and ask individuals at a site near you how they found their job. Help us keep this list current.
- Look for the word "employment" below and in other archives. Let us know when you learn of opportunities you don't need.
- Or, simply contact the group managers.
2 February Meeting
Arrays
For other programming languages, arrays are solid structures. When they are defined, all the cells in an N-dimensional matrix are defined. This is not the case for ColdFusion Markup Language (CFML) "arrays."
ColdFusion "arrays" are not arrays in the traditional sense. They do not consist of a list or lists of consecutively numbered cells. They are not spreadsheets or solid structures of (for example) X by Y by Z cells. They are not even nested lists.
The usual way of conceputalizing relationships is through a spreadsheet or cube arrangement. If you immerse a cube into liquid (representing server memory), it would displace X by Y by Z cells of volume, even though many of its cells aren't used.
The best three-dimensional analogy for a ColdFusion array may be berries on a bush that has many branches of varying lengths. Only the individual berries (cells) you have defined will exist, as far as ColdFusion is concerned. If you immmerse such a bush into liquid (representing server memory), it only displaces space for the cells you have defined, not for every cell in the matrix.
ColdFusion arrays conserve memory. No space is wasted on undefined cells, not even on pointers to them.
However, to use this advantage effectively, we have to understand that using ColdFusion arrays has to be a little different from using arrays defined by other languages.
Most familiar programming constructs to access arrays usually expect data to be stored as if it were in a spreadsheet or cube. That works fine when memory is reserved for every cell, even the unused ones.
However, this approach it fails with ColdFusion arrays. When code encounters an undefined cell (as it will very quickly), it dies with an error.
You could use the arrayset function to predefine all of the cells for a given dimension of an array in order to treat a large array as a big cube. That's one approach to handling this situation. However, it's wasteful. It would waste the space that ColdFusion is trying to conserve by default.
Almost as bad would be to use cfparam to hunt for data; it will fill a cell if it doesn't exist, but at least it won't fill an entire dimension at once.
The least wasteful way is to take typical code used to access an array and place that code inside a cftry-cfcatch block. This way, the code can be made to ignore the error that occurs when it tries to read an element that doesn't exist, and it works without wasting memory.
5 January Meeting
Business Structure
This may seem like a strange topic for a ColdFusion meeting. A variation on an old joke might say: "I'm not a doctor; I only play one on TV!" Advice on the subject of whether to set up a regular corporation or go for the Subchapter S option was the focus of discussion. Here's now things shook down. [Your mileage may vary!]
Subchapter S's Biggest Drawback - Hobby Loss
- A Subchapter S corporation is subject to the same Hobby Loss provision as almost all forms of business. With some exceptions, if a business doesn’t turn a profit three years out of five, then the IRS calls it a “hobby.” Losses you passed through to your personal taxes for that five-year period suddenly do not count, and the IRS will look back and tax you for those years as if your previously reported losses did not reduce your personal income.
- A regular corporation is always presumed to be trying to make a profit. It could run for years at a loss without raising an eyebrow. This is its only substantive advantage if you don’t expect a large number of shareholders.
Subchapter S's Biggest Plus - Profit
- A regular corporation’s profit does not have to be reported on your tax return until you take the profit out. However, it gets taxed at about 21% in the meantime (15% by Feds; a little over 6% by Alabama). You pay personal income tax on top of that when you finally take the money.
- Subchapter S profit passes through to you when it’s earned. However, it won’t be much when you're starting off, and it will only get the 6+% extra taxation by Alabama (plus your personal tax rate). Subchapter S loss generally passes through to you when it’s incurred.
Won’t Matter - Passive Income
- To the extent that a Subchapter S corporation receives income that it didn’t actively earn, it will have to pay taxes on that amount: the 21% mentioned above as for a regular corporation. However, you’re probably not planning to do that to a great extent.
Won’t Matter - Wages
- No difference. The company’s portion of your Social Security reduces the company’s profit. The rest comes out of your salary just as always. You do have to pay yourself a salary, and it must be “reasonable.”
Won’t Matter - Conference Expenses and Travel
- No difference. If it benefits the corporation, the corporation can pay for these and then deduct them as business expenses [subject to some reasonableness caps].
Won’t Matter – Education (and associated travel)
- If you paid your own expenses, only the portion above a percentage of your income would be deductible. If you let the company instead (as mentioned above), your income doesn't affect the deductibility to the company.
How Does the Money Flow?
- You can contribute assets to stock: tables, chairs (really). You’ll want to invest at least a token amount; you have to take special action if the “stock basis” drops below zero.
- You can loan money to the business. This is probably better (for obscure tax reasons) that bulking up the stock. Pay personal taxes on the interest the company pays you (when it actually pays you back). The interest is an expense to the company.
- When you feel like taking profit (other than wages) out of the company (and it actually makes a profit), you pay personal taxes but not payroll taxes on that distribution.
- If the company can’t afford to pay you wages at first....
- Some lawyers say that you can stop drawing a salary as long as you don't pay yourself a distribution.
- A conservative thing to do would be to continue to at least pay the taxes on a reasonable wage (both sides of the payroll tax) and defer the rest until the company can afford your services. Remember that taxes pierce the corporate veil; you are *personally* liable for payroll taxes; they survive even bankruptcy (even your bankrupcty).