Wednesday, May 25, 2016

Frustration and Taxes, the new promise

Hopefully this does not end up being too long. Frustration and Taxes. The component that I found last week turned out to be a dud. Frustrating in that I had gotten focused on going down that path only to find it blocked. Even though it is open source, it is written in such a way that I cannot even debug and fix the issue. The example they provided did not work. Sometimes free stuff is worth nothing or in this case a negative amount.

Taxes are frustrating.  But probably not in the way you think. I pay taxes every month. I file forms every month, every quarter, and several times every year. But even that is not the point I am speaking of. People want to get the most value for their money. During a recent trip to Target, the cashier said to me that there was a $5 coupon for the item I was buying and did I want to use it? Realizing what they had just said and that I did not have any coupons, we had a good laugh about it. Of course I wanted to use the coupon they were offering me on the spot. Here we have the same item either for $30 or $25. The same exact item.

Taxes are just like that coupon, except in reverse. 30 years ago, I had it explained to me by a well off person that the goal to having more money was to pay less tax. People with money tend to know how to do this. But think about this a bit. What this really means is that anything that is taxed is something you will less want to use when compared to something not taxed. Let this sink in: Tax something you do not want done.

In a broad sense, any money a government collects is a tax. They do not call them taxes, but they have all the attributes of taxes. MARTA fares as taxes? Think about it. If MARTA was free, you would be more likely to use it. Of course, the government does not actually give free stuff. Anything given for free is paid for by taxes of another sort. Including MARTA or State Parks or Welfare. The government does not create money. It taxes something to pay for that free service. Police officers are paid by tax dollars. Public schools. Roads. But there are a couple taxes I want to point out specifically: Sales Tax, Income Tax, Employer Tax, and Commercial Tax.

Sales Tax says don't buy it. Or if you do, buy it in a way that you pay less tax. My parents reminded me this past week that this is a real objective. They were visiting, but only bought the bare minimum amount of gas while here. They preferred paying a cheaper price in a different state. So Georgia lost out on some tax revenue because our gas prices are higher because of taxes. Those of us that live here do not tend to notice. This is especially true for those in the Atlanta metro area, where gas prices tend to be more competitive and cheaper than the rest of the state. So don't buy gas in Georgia, because we tax it. National sales tax means those with the means will buy stuff from outside of the country to avoid taxes. If there is a way, someone will abuse that way.

Income tax says pay people less, but give them some un-taxable benefit.  Consider two jobs, one where you get paid $5 an hour and another paying $6 an hour. The $5 an hour lets you work from home so you have no commute. The $6 dollar job requires you to commute for 2 hours a day. Take the $5 per hour job as you save on taxes, fuel, and most importantly time.

Did you know that companies pay taxes for each employee they have? This is beyond the taxes taken out of your check. Employers have to pay extra amounts for Social Security, Medicare, and unemployment insurance. So these employer taxes say two things: Pay workers less and hire fewer workers. The Federal and State governments by their taxes want less people employed and those that are paid less. Think about that. Raise the minimum wage and even fewer people will get hired to offset the additional tax cost to companies. Sure people deserve a wage that allows them to be comfortable. But as long as you have employer taxes, companies are encouraged to do as little as possible.

Do you remember the Boston Tea Party from history class? The lesson in that was this countries aversion to double taxation without representation. Some corporations are structured such that the taxes on the earnings are paid by the investors (owners) of the company. Other companies pay taxes on their earnings, then the owners pay taxes on the profits. This is why Walmart does not pay a significant amount of corporate taxes, because that tax is paid ONCE by the investors instead of twice. Yes, corporations hide money. If given the opportunity, would you like to hide your wages from taxes? Especially if you could use that hidden money without restrictions? This is why company’s setup offices in Ireland and other foreign tax havens. Corporate taxes compel the companies to do so. It is not a problem of the companies avoiding taxes, but a problem of the investors not paying taxes.

So our current tax agenda would have you not buy anything, not get paid to work, and hide any money you do have in your mattress.

Government services have to be paid for somehow. Taxes that are fair, unavoidable, and minimize the negative impact are what we need. I do not know what that is, but I know this: The current proposals do not work. Want companies to hire more people? Keep income tax, eliminate employer taxes, and give companies a corporate tax break for wages paid. Want a National sales tax? Tax goods brought into this country at a higher rate than buying them locally. Unfortunately, that violates several trade agreements. Want companies to stop hiding money? Start taxing the movement of U.S. Dollars to other country, regardless of means. Forget double taxes. We already pay taxes on the same thing more than once. Give tax breaks for keeping the money here.

Is that all fair? Probably not. But think about it next time you see someone spout off a tax plan or spending plan to fix this countries problems. How can someone avoid that tax or how is that free thing paid for? Meh. Back to my hole.

Tuesday, May 17, 2016

A Tool of a Different Color


Every now and again, I get asked the question which computer technology is better X or Y? Usually X is Java and when X is Java then Y is most often C++. Typically this is a baiting question. Most Java or C++ programmers firmly believe their language is the best. To me it is comparing two things that are not the same. Each has its place.  This is true of many computer technologies. Java used to be the language of choice for writing something portable. C++ was the language for fast code. C was the language for small code, i.e. device drivers.

It seems that each new project I have started for the past couple of years both professionally and personally has required learning a new language or framework. Very few have reused a significant portion of an earlier project. Most programmers do not seem to do that. I seem to get drawn to new languages and technologies constantly. I attribute this to my ability to learn rather than my enjoyment of learning something new. There is a distinction there, because it has more to do with wanting to use an appropriate tool for the job rather than fitting the job to the tools I have.

Ever tried using a flat head screwdriver on a Philips head screw? Depending on the size and configuration, it can be done. It is rarely effective to do so. I have used a hammer to get a screw out by turning not pounding. I have used a screwdriver to pound a nail into a board. Having the right tool or at least a more appropriate one is so much better.

Over the years I have learned many computer languages/technologies: Honeywell Basic, Applesoft Basic, Integer Basic, 6502, 8080, IBM Basic, Microsoft Basic, C, C++, Java, Visual Basic, Visual C, Objective C, Python, Jython, Bash, PHP, SQL, HTML, CSS, JavaScript, Ruby, Ruby on Rails (vomit), 8086, 80186, COBOL, FreeMarker, and probably a bunch of others that I have totally forgotten about. That just covers what most would consider formal languages. The frameworks for each only serve to make the list even longer.

For the past couple weeks, I have been trying to determine which of three projects is the one I am going to work on next. Part of the problem is the technologies that are available to complete each. I would really like to use something that could be reused for all three projects. Learn once, use thrice. It has turned out that finding a technology that satisfies any one of the projects by itself is proving to be a challenge. The time is not wasted, just filled with learning new technologies enough to judge if they have the required functionality for any of the three projects.

And now it happens. Writing this caused me to search for something that did not make sense and I find what something viable for one of the projects, that probably also works for one of the others. I doubt it works for the third, but that is okay. I am happy just to have a technology that works for one of them. Meh. Back to my happy place.

Tuesday, May 10, 2016

Going back to my hole now

The past week plus have been a little random and all over the place. I had issues getting the iOS version of Maze Pseudo through the review process. It is all good now. Apple TV and iOS versions of Maze Pseudo 1.2 should be available in their respective app stores. So the rest of this are random minor thoughts to go with a random period. Some of these may get future longer blatherings.

Last week saw the second abandonment of a project, Catalog Pseudo. I'm thinking Good Reads is what I am going to use as a replacement. Now if I just had time to do that. Meh. Back to my hole.

When I was a single dad, I made a grocery list that had all of the items I usually bought at the store. I would print a copy, mark off the things I already had. The list was organized by store isle. That was the basis of one of the projects on my list. It is out of the running for the moment. Even though it has the most potential, it would require the most work to complete. Meh. Back to my hole.

Two of the projects on my working list turned into one. Then they turned back into two. Meh. Back to my hole.

There were 6 times more Android devices sold last year than iOS devices. I still like my iPhone and iPad. Meh. Back to my hole.

Apple expects to sell 24 million latest generation Apple TV units in 2016. That is more units than either Nintendo sold of the Wii U or Microsoft sold of the Xbox One in 2015. I wish the Apple TV platform was a little less restrictive. Meh. Back to my hole.

My mother is one of the best people I know in the world. I would think that even if she weren't my mother. Good for me that she is. Meh. Back to my hole.

Purple is my favorite color. Hawkeye is my favorite comic book hero. Hawkeye from the printed Marvel comics has a purple suit. Hawkeye needs his own movie to explain why he does not get to wear his purple suit. I made my own purple Hawkeye costume back in the day. Meh. Back to my hole.

I know someone who struggles. There is nothing I can do for them. You do not know them, but you may know someone else who does struggle who you can help. What are you waiting for? Meh. Back to my hole.

Someone posted a graphic asking if you had ever been had a gun pointed at you to promote gun control. I did not respond. Yes, to the head, while on my knees, 30 plus years ago. I vehemently support the right to bare arms and would own a gun if I could afford the time. Just pissed off 90% of those that read this. Meh. Back to my hole.

My music tastes generally align with the current pop music scene except for some obscure stuff. As far as I know, none of my friends or family has musical tastes even remotely similar to mine. Meh. Back to my hole.

In my primary school years, we were told you could grow up to be anything, even President (POTUS). I do not particularly want to be POTUS, but I would though. I would be a darn good POTUS. Big boy problem: Finding a candidate that is better than me. Seriously, it is me or someone better than me this year. Too bad for the two people that would seriously vote for me that I can't be President. Meh. Back to my hole.

Emptied a cereal box yesterday. Read the outside. It said "See code inside". Looked inside for my winning code and no code. Read it again and it said "No code inside". That implied there were boxes that had codes. Closed the flat and you could still see that it said "No code inside". Figured I could go to the store and find the winning box by looking at the flaps. To bad it really said "No Code inside. Learn more at kfr.com". Thanks Dyslexia for getting my hopes up. Meh. Back to my hole.

The two non-game projects are off the list for the moment. POTUS is wishful thinking. I am still working on getting the courage to do the non-computer project. That means I am officially a game developer. Hopefully forever. I hope this isn't another childhood fable. Meh. Back to my hole.

Random enough? Meh. Back to my hole.

Thursday, May 5, 2016

To Zero and Beyond

Here is another math story to tell a different story. I do have non-math stories. They just are not as relevant to my current events. Late in my high school years, a friend and I got into a discussion about if 1 divided by 0 equals infinity. I do not fully remember how, but we ended up trying to prove this on the chalkboard. It was after a test or something. Or perhaps a large portion of the class was excused for something. Mr. Hampton did not say if it was right or wrong. He let us go at it till the end of class, at which point we had filled half his chalkboard filled with work. He was encouraging and only interfered when we made a mistake, but not when we went down wrong paths. He laughed at us for what we were doing. Not in a funny ha-ha way, but in the joy that we were having a good time trying to figure it out. Here were students trying to use the knowledge he had given us for the pure joy of it.

We begged him to not erase our work. He agreed and taught the rest of the day using only the free half of the chalkboard. We had inconvenienced him, but he saw value in letting us have the thrill of learning. I remember going back later in the day, either after school or during a free period. We continued to work at it until one of us had to leave for something. Perhaps it was another class or sports practice or bus or ride home or somewhere else. We did not finish definitively proving it true or false. But that is not the point. The point was that Mr. Hampton gave us the space to try. He knew we would not be able to do it. We would have needed differential equations to even come close. We were not going to get that far in high school.

After taking differential equations in college, I remember thinking about our endeavor. I never went back and tried completing it. This may be totally wrong, but I think you can neither prove nor disprove it. You do run upon an axiom that states that any number divided by zero is undefined or something like that. Mr. Hampton certainly taught me to not be scared of math. Math does not have all the answers.

So this week has been filled with experimenting, spinning some wheels, and figuring out that time was up and to move on to something else. I thought last week that getting Maze Pseudo for Apple TV was going to be as simple as uploading and pushing some buttons. Turns out something went bonkers with Apple's development environment. I got a strange error message that was not helpful. I emailed developer support, but they just referred me to several web pages that did not help. I got it working. My fix was not the right way. I have been working with Apple as a developer for close to 40 years. You would think I know by now that Apple does not make it easy for developers. It has been submitted. No idea how long it will take to get approval.

The next project has been derailed as well. It is the one I started almost 5 years ago. At the time, I needed a way of tracking what books I owned, wanted or had read. I wanted this information on my phone so that when coming across books for sale I could determine if I already had it. I used to use a database application on my Palm for that very thing. That is the simple description of what it was. When Apple initially released iCloud, the framework for utilizing it was not compatible with the way I wanted the data to be structured. Because of iCloud, the expectation would have been that the book data would be sharable between devices and machines. Another conflict was that I wanted the data to be available even if you did not have connectivity. That was something iCloud does not natively provide. I abandoned the project at that point.

After last year's WWDC, I realized that Apple was now providing functionality that would allow me to do what I originally wanted. When time allowed, I revived the project, modernized it, and started working integrating it with iCloud. Unfortunately, I have discovered that while what I want to do is possible it is not trivial. It will take a significant amount of work and rework to get it to the right place. Now 5 years later, there are other products available that do most of what I want. They do enough that I do not feel that spending the significant amount of time on my version is beneficial. It is still possible, just the cost outweighs the benefit.

I have learned a lot from it, so I do not look at it as wasted time. And this is how it connects to the story I started with: Sometimes you have to explore a path because it is a path you want to see. The path may not go anywhere. As long as you do not walk off a cliff, you hopefully garnered some benefit.

This is another facet to why I dislike talking about my personal projects until they are close to being something solid. The feedback I get is rarely useful and sometimes down right discouraging. Suppose you were painting a picture and someone asks you what you are painting. You reply, "I am painting a bowl of fruit". To which you might get a variety of responses: It doesn't look like a bowl of fruit. Wouldn't it be easier to take a picture of a bowl of fruit? Ever heard of Picasso, he has some wicked fruit bowl pictures. You do know that apples are supposed to be red, right? Meh. I do what I do because it is right for me. If it is right for me, then it will be right for someone else. It does not have to be right for everyone.

Now onto a much bigger problem: which of the four plus one projects am I going to work on next? Probably time to do a plus minus chart with a sprinkle of math. At least there are not an infinite number of projects on the list and no time to work on them.