Friday, April 10, 2009

Taxes Notes April 2009

Notes collected on taxes:
Click to go to picture source clipartguide.com
  • Keep donation receipts. The receipt needs the date, the amount, the name of the charity. No receipt means no deduction.
  • The above holds for cash or non-cash contributions. Clothes and household goods must be in good or better condition to get the deduction.
  • Starting with 2007 returns, the law has required a receipt or some sort of written confirmation for all charitable donations. Take pictures of non-cash contributions if you think necessary or you have plenty to donate as proof and records of items. You can deduct only up to 50% of your adjusted gross income. At that point the audit risk becomes very likely.
  • Health care expenses must exceed the 7.5% income threshold to be useful for deductions. The total expenses that exceed 7.5% of your adjusted gross income are deductible. These can include health insurance premiums (Which usually already pre-tax for most employees).
  • Investment and tax planning expenses are part of miscellaneous itemized expenses. The total must exceed 2% AGI before it can be use for tax deductions. Includes: employee business expenses, tax preparation fees, portion of legal or accounting fees relating to tax planning, annual fee paid to broker and any IRA fees paid directly, investment publications on subscription, investment newspapers bought off the newsstands, phone calls and mileage to talk/go to see brokers and investment advisors.
  • Retirement tax credit, see Publication 17, page 244
  • Educational deductions - The courses don't even have to be job-related, but can't be for any education involving sports, games, or hobbies. Your company can pay and deduct as much as $5,250 per year in educational assistance paid for either undergraduate or graduate courses. The assistance comes to you tax-free. (source: MSN)

What’s the difference between a tax exemption and a tax deduction?

Tax exemptions and tax deductions both reduce your taxable income. Exemptions, however, are set amounts by which you reduce your taxable income based on yourself, your spouse and your dependents. In 2008, each exemption reduces your taxable income by $3,500 ($3,650 for 2009).

Deductions, on the other hand, are actual expenses that reduce your taxable income. You can deduct expenses such as alimony, capital losses and moving expenses whether or not you itemize your deductions. You can deduct other expenses, such as medical costs, mortgage interest, and charitable contributions, only if you itemize your deductions.

Sources: MSN MoneyCentral articles.

What should be logged on a mileage log record kept for tax purposes?

If you have legitimate business expenses or investment expenses involving mileage, log the following information on your mileage log:
  • Beginning and ending mileage from vehicle's odometer for each trip.
  • Description of origin (From) and description of destination (To) for each trip.
  • Description of business reason for the trip.
Example:

Thursday, June 19, 2008

IBM DB2 Content Manager and Information Integration for Content

These past few days, I've been trying to resolve some IBM Content Manager server update issue. We have a service that connects to IBM DB2 Content Manager (CM) v8.3 using the IBM DB2 Information Integrator for Content (II4C) libraries v8.3, namely: cmb81.jar, cmbsdk81.jar, cmbview81.jar and the jdbc driver db2java.zip.
Then for some new business requirements, we need to point that service to a new IBM Content Manager v8.4 deployed on Red Hat Linux. I thought this was going to be a quick and easy change.
That couldn't be any further from the facts.
First, I catalog a new alias to the new server on my local server. Then I added that alias into my cmbicmsrvs.ini configuration. I thought that was it, just test and redeploy. I was wrong. When I tested that configuration I got the following cryptic error message when I run my connection test:
com.ibm.mm.beans.CMBConnectFailedException: DGL0394A: Error in : DKDatastoreICM.connect; [SERVER = CMDEV, USERID = icmadmin]; ICM7123: This is an internal error.  Run the application again with server trace set to Detail and Data.  Save the server log and see your IBM service representative. (STATE) : [LS RC = 7123, LS reasonCode = 8013]
com.ibm.mm.sdk.common.DKDatastoreAccessError: DGL0394A: Error in : DKDatastoreICM.connect; [SERVER = CMDEV, USERID = icmadmin]; ICM7123: This is an internal error.  Run the application again with server trace set to Detail and Data.  Save the server log and see your IBM service representative. (STATE) : [LS RC = 7123, LS reasonCode = 8013]
 at com.ibm.mm.sdk.server.DKDatastoreICM.logon(DKDatastoreICM.java:3687)
 at com.ibm.mm.sdk.server.DKDatastoreICM.connect(DKDatastoreICM.java:3273)
 at com.ibm.mm.beans.CMBConnection.connect(CMBConnection.java:1685)
To make the story much shorter than what actually happened, I've check and test many things. Eventually I called IBM support and was finally informed that II4C 8.3.0 is not supported with CM 8.4. In order for me to connect to CM 8.4 using II4C 8.3, I must use fixpack (fp) 7 or 8. Fixpack 7 or 8, as a prerequisite need fixpack 3A to be pre-applied. The CM server fix pack are the same for both DB2 II4C and DB2 CM.
To solve my issue, I download the fixpacks and extracted the libraries that I needed from fp 8, use that with the connection test and it worked. Getting it to work with the actual app and isolating the properties and ini file so that it will stand alone without affecting other running services and application is off course a different issue. Being able to connect, however, told me that the basic requirements are in proper order.

_ibmjsp.secure.layouts NPE on WebSphere Adminisrative Console

I was trying to deploy an EAR file to a WebSphere Process Server instance. I went to the WebSphere Adminisrative Console, clicked on Applications, Enterprise Application, local file system, specify the path and clicked next, then another next when I got the following stacktrace:
java.lang.NullPointerException
 at _ibmjsp.secure.layouts._stepsLayout._jspService(_stepsLayout.java:581)
 at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:93)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
 at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
 at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
 at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
 at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:215)
 at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:255)
 at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:347)
 at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1070)
 at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:273)
 at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:253)
 at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:308)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
 at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)
 at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:311)
 at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:185)
 at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
 at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
 at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
 at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3177)
 at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:253)
 at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:229)
 at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1970)
 at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:114)
 at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
 at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
 at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
 at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1704)
 at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
 at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
 at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
 at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
The stacktrace was unexpected because I've done this installation before and I had no problem previously. The _ibmjsp.secure.layouts._stepsLayout._jspService was quite curious since it didn't seem to have anything to do with what I'm doing.
I went to my package ear file, clean my build environment, recreate the ear and try to redeploy it again. The same thing happened again. Check the log, puzzled, decide to restart the server just in case. Still no change. Reboot the dev box, hoping for the best. And yet nothing changed.
That _ibmjsp.secure.layouts message kept nagging on my mind. Could it be... And of course it is...
You see, all this time I was using Firefox to connect to the admin console and it's ok most of the time. I always got the security certificate warning, always ignore it and it's usually okay. I don't know what's change, but just to eliminates any potential difference, I open Internet Explorer (7), go to the console and try the app installation sequence and this time it works.
I don't have time to figure out what make the response different on firefox, I got the app deployed and that's all that matter for now.

Thursday, June 12, 2008

Unsupported major.minor version 49.0

Today I replaced few jar files and got an "Unsupported major.minor version 49.0" when running my unit tests against the new jars. Immediately I realize that those new jar files are compiled using different version then the one I'm running on.


I'm still using JDK 1.4.2_11, it's old I know. But that's what my app server uses.

The new jars were build using java 5, so I switched the version to run the unit tests and that major.minor version part is gone.

If that's the only issue I have, my problem for the day would've been over and I would have move to the next thing on my list.