Writing Enterprise Software

Up until a few years ago, I spent most of my career writing software that was used by consumers. This was very satisfying as it was easy to explain to others what I did and in many cases, they’ve heard of the software such as Eudora, PayPal, or eBay. With the rise of the smartphone, everyone and his dog is learning to write software and hopes to strike it rich on the App Store. Many developers, it seem, think that the exciting software to write is this type of software where the developer can earn a name for herself or himself.

Through a few changes in my positions at a company, I started working on retail software that would be used by store associates and would never be seen by consumers. At first this seemed pretty boring as enterprise software is typically very utilitarian and doesn’t get to use many features of modern smartphones. Now that I am fully immersed in enterprise software, there are some key advantages to it over writing consumer software.

  • All devices running the software get the same app version using MDM (mobile device management); no worrying about people running old software.
  • Limited number of users makes it easier to train people to use the software.
  • Bugs can be fixed and features added very quickly without App Store approval process.
  • No one writes reviews of the software that hurt your feelings!
  • You don’t have to worry about marketing a $0.99 app and the race to the bottom in pricing.

With more and more iOS devices being used in enterprise, there are huge opportunities for development. It may not get me fame or fortune, but it is currently my path to a decent living!

Credit Card Fraud

I’ve had a credit card since I was in college; when I first got one, my dad instilled in me that a credit card is basically cash and that I should never spend more than I have. Credit cards, to me, have two main advantages over cash; first, I don’t have to carry much cash and second, there is a little consumer protection in that I can dispute a charge if there is something wrong with the goods or services. Given that, I use my credit card for almost every transaction I can both online and in stores (it doesn’t hurt that my current card gives me cash back and has extended warranty protection).

With the amount that I use my credit card, it really didn’t surprise me the first time a fraudulent charge appeared on my statement. Throughout my career, I’ve had the opportunity to be on the merchant side of credit card processing and have seen how credit card numbers are mishandled.

In the last few years, I’ve learned a lot about credit card processing from my work at PayPal and now my work on retail systems. As part of my work, I had to create test credit cards to run on the processing equipment; I used numbers that passed the Luhn algorithm and wrote the numbers to mag stripes on blank white cards (they couldn’t be mistaken for real cards). This process taught me how easy it is to take a real credit card number and burn it onto a card so that it could be used in a store. The chip technology now in cards is designed to prevent this type of fraud.

The most recent time my card number was compromised was last month when I got an alert about several charges in New York at a restaurant and a hair salon. These charges were done in-person where the card number was written to another card. The merchants did a manual swipe and didn’t bother looking at the card to verify the last 4 digits matched the imprinted digits.

The only way to put more of a dent in in-person credit card fraud is to completely stop processing swipes; the problem with this is certain cards such as prepaid cards don’t use the chip. This, of course, doesn’t help online fraud. Banks have gotten much better at detecting fraud early but unfortunately by that time the damage has already been done.

Making medical decisions based on cost

Throughout my career I have been fortunate enough to have good, company-sponsored health insurance and have been in relatively good health. I only thought a little about healthcare costs when I was self-employed and we were on a continuation plan (sort of like COBRA). While the costs were not cheap, if I recall correctly around $1100 a month about a decade ago, we had good coverage and could see whatever doctor we wanted. When I lost my job last year I kept coverage through a COBRA plan until my new employer’s plan started; they had a 60 day waiting period which is kind of brutal if you’re trying to maintain continuous coverage.

When I picked a plan I picked what I thought was an okay plan: they had HRA plans which basically gave you a few hundred dollars to reimburse costs. It wasn’t until I started looking at the cost of the ulcerative colitis medicine that I have been on for many years that the costs started to sink in; the medicine, Delzicol, was about $600 a month vs the $70 for a 3 month supply that I had previously. That adds up quickly. I was in the process of weaning myself off the medicine since I had been doing well for years so I didn’t think much of it at the time. In addition to the medicine costs, the plan had a very high deductible and the doctors couldn’t tell me how much a visit would be until I got the bill. It wasn’t a regular PPO or HMO plan with a fixed fee for a doctor’s visit and the cost sharing didn’t kick in until I hit the deductible; the bill from a doctor was whatever negotiated rate the doctor would accept.

In November when I decided to become self-employed again I went on a COBRA plan through my old employer. Now I had to pay the full cost of the mediocre plan which amounted to over $1500 a month. While expensive, it was a lot better than having no coverage at all and luckily I can afford this.

About 2 months ago due to an issue with a client I had a lot of stress. Stress typically causes my colitis to flare up and this time it was a doozie. I resisted seeing a doctor but needed help. I went to see a physician’s assistant (they can prescribe medications which is good) and while discussing my condition with her and treatment options I was using the CVS/Caremark app to see how much each medication would cost. I shouldn’t have to put a price on my health but high costs would increase my stress and lead to a vicious cycle. One drug was $1000 a month, another was $500 a month so we settled on another drug where the cost was just under $100 for a 2 week treatment. She also recommended a colonoscopy, but I declined that as I suspect that would have been several thousand dollars.

Unfortunately the first medicine didn’t work so we went with another drug. This one was going to cost close to $200, but it had to be done. However, I found an app called GoodRx that shows you prescription costs and has a drug discount card attached to it. Using this, I was able to reduce my cost by about $45. Yes, it would cost me more with insurance to get a prescription than without it. That didn’t work either, so as a last resort we went with a drug I didn’t want to take, but has been quite effective in the past; that prescription, with the discount card, was only $15. Luckily, it seems to have done the trick.

The good news for me is that we’re changing insurance plans to one with more upfront pricing and hopefully more cost effective coverage. I’m also not going to rely on medicine alone to treat my colitis; I am embarking on a complete diet change (look for a future post about that) as I feel that there are potentially other treatment options for my condition.

I do feel fortunate that I can afford health insurance and out of pocket healthcare costs. This episode gave me a bit of a scare and really highlighted for me what some people have to struggle with due to the high costs of healthcare in our country; people shouldn’t have to make healthcare decisions based on cost. Unless I misread something or my COBRA coverage was different than normal employees get, besides base cost, the insurance plan really had a lot to be desired.

First Impressions: 2017 Subaru Impreza

For the last year and half, I’ve been looking for a new car. My 2003 Toyota Highlander has been starting to show its age. It has low mileage, but I’ve had to do some maintenance on it. In addition, the only tech I have on it is a radio I installed about 2 years ago with Bluetooth. One of the features I’ve really wanted is Apple’s CarPlay as it would allow me to have a familiar interface in the car for navigation, media, and phone. While the number of cars with CarPlay available has been increasing, most haven’t been cars that I’d want to own.

In July, I happened to look at Apple’s CarPlay site and saw that the 2017 Subaru Impreza would have CarPlay. I looked online at the car and it looked like it could fit the bill. However, it wasn’t going to be available until the end of the year, so I’d have to wait. In the last few weeks, I started looking at inventory at the local dealers and saw that cars were in transit. I picked the color and options and used a car buying service to negotiate the price for me. Last Thursday was the day for me to test drive it and see if it really was the car.

Going from an SUV to a small car was definitely going to be a change, but I don’t really need an SUV (helpful a few times a year). Fuel economy was going to improve and a smaller car might be more fun to drive.

When I first got in the car, besides being much lower than my Highlander, I found that the side and rearview mirrors were larger than I expected. Last year I test drove an Audi A3 e-tron and the mirrors on that thing were tiny. I was worried that the smaller car wasn’t going to be able to accelerate on the freeway, but was pleasantly surprised how well it did. The tech, at first, was a bit distracting. There are 3 displays! One is behind the steering wheel, one is the center display for radio, maps, phone, and the third is an info display that can be used for radio info, weather, MPG, etc.

After the test drive, I was ready to buy; I promised my wife that I wouldn’t buy a car without her seeing it. We went back the next day and I left with a new car.

I’ve driven it for 3 days now on city streets and highways and have gotten a pretty good feel for the car. While I’ve tried to go through the manuals, there is far too much information in them for me to consume right now. I chose the Impreza 5 Door Limited with EyeSight. I’m a tech guy and not a car guy, so I picked the car based on the tech and specifications. The fact that it was pleasant to drive was almost a bonus!

My impressions are in no particular order.


  • Backup camera has lines showing where the car will go.
  • Blind spot detection; can be annoying at times as it lights up almost constantly on the freeway as people are passing.
  • Rear cross traffic alert. Getting out of a parking space at SeaWorld is a nightmare. This and the backup camera (and of course looking with my eyes), got me out of a space safely.
  • Impressive turning radius. Specs say less than 18′; my Highlander appears to have been about 38′!
  • CarPlay. Enough can’t be said about this. When I’ve gotten in the car, it knows where I’m going (based on my calendar) and offers to navigate. Phone integration is great and so is music. Controlling everything with Siri works well (better than Siri on my Bluetooth radio in my old car). One thing to be cautious about is if you use maps all the time, you’re going to use up some of your cellular data. After a few hours of driving, I used almost 12 MB of data for Maps alone. I’m going to keep an eye on this; even at 10 MB of data per day on maps, that won’t be a problem on my current plan. (I pay for 2 GB, buy AT&T has given me 2 GB bonus per month plus I have rollover. At a minimum I have 4 GB per month and the most I’ve used is 3 GB.) If someone streams music and uses Maps all the time, this could be costly.

  • Speed adjusted volume. There is a setting to make the sound louder when the car is going faster. This is great for freeway driving. I’m still playing with the setting as I think the max setting is a little high as the volume increases even at lower speeds.
  • While not documented, it appears that there is a separate volume level for the radio, for navigation (using CarPlay), and for phone. If you adjust the volume while the navigation is speaking, there is a different icon on the display. This is great as I don’t need it really loud.
  • The keyless entry allows me to leave the key in my pocket. This is really neat and convenient. In addition, since the key uses proximity for unlocking, you have to be pretty close to the car to unlock it. While I can still push the button on the remote, I think the proximity is more convenient and potentially safer due to a potential replay attack.
  • Handling is good; while I haven’t gone zipping around that many curves, I like how it handles.
  • Acceleration is much better than I expected. Coming from a larger engine, I was worried about being able to get up to speed in traffic. I haven’t found that to be a problem.
  • Quiet. I know this is subjective, but it seems like the ride is quieter.
  • Lane departure warning; this feature is one that I hope to never use, but have already heard it beep when I was driving due to 2 lanes merging and I was slightly over the line. The system that actually keeps the car in the lane has to be turned on separately (it isn’t automatic).
  • While not specific to this car, Subaru put all the manuals in PDF on their website. Unfortunately they separated the manuals into 20 parts. It took me awhile to grab all the pieces and put it back together; I’d rather a 50 MB PDF than 20 smaller ones that are harder to search.


  • The STARLINK multimedia apps (not the system that gets help in an emergency) is a bit outdated for a system that supports CarPlay. With CarPlay, there is no reason (that I can think of) to use Subaru’s app. The whole system is truly a piece of crap. The iPhone app looks like iOS 3 or 4; the display in the car isn’t much better. The apps take forever to load (we’re talking 30 seconds) and the second time I tried the system, I couldn’t get the apps to come up (tried for about 20 minutes). Frankly I wish there was an option to completely hide it. This is NOT a selling point for the car. If the navigation system is anywhere near as bad as this, I’d steer clear of it. It appears that this system was designed by Clarion. I’ll be removing the app from my phone (it is required for the head unit piece to work). Even though CarPlay is limited (I’d like to see Navigon on it), the interface is well thought out and looks good.

  • No lumbar support in seat.
  • Too many settings in too many places. Each of the 3 displays has a way to change settings.
  • It’s low to the ground. I’m not used to this and right now I’ll call it a con.
  • There are all kinds of warnings about cleaning the inside of the windshield to protect the cameras for the EyeSight system. The instructions say to use a piece of copy printer taped over the cameras when cleaning. Subaru should have provided a rubber boot that fits the system; this would have been less error prone and would have protected the camera better.
  • No good place to put my phone in the car. In order to use CarPlay, I have to plug in my phone to USB; the USB plugs are in the center console and allow me to route the cord outside of the console. For now, I leave my phone upside down in the cup holder. I’d love a dock (with Lightning connector) like I have on my desk (it would have to be a bit more secure, though).
  • Less cargo space. This is pretty obvious as I came from a larger vehicle. I think the only time I’ll have a problem is when we go camping. I’ll have to get a roof box for those few times a year.
  • No ability to remove some options from the multimedia menu. I just want CarPlay, radio, and settings to show up.
  • The button to lock all the doors is hard to find by touch. This could have been mitigated by an option to lock all the doors when the car is put in drive, but that doesn’t appear to exist.
  • Too much information can be distracting. I’m trying to find the settings I like that keep distractions down.
  • One of the information displays is right behind the steering wheel causing the analog speedometer to be moved to the right; this is partially obscured and I have found that I have to use the digital speedometer in the display in order to easily see my speed.
  • Not specific to the car, the mysubaru.com app and site don’t let you do an initial login on a phone as the page is too long to fit an iPhone 6s screen and it doesn’t screen. Also the app appears to just be the mobile website.

Things that would have been nice

  • Dual front climate control (manual talks about this, but didn’t appear to be an option).


I’m truly amazed at how many things this car got right. It has all the safety features I want, all the tech I want, and the price didn’t break the bank. In fact, I read an article that indicates the average selling price for a car is over $34,000! I’m not sure how people afford these cars or what they get for more money, but my Subaru came in at under this. I’m enjoying driving the car and I hope the fun continues.

Feel free to ask questions!

Working From Home, the final chapter?

Up until 5 months ago, I worked from home for 17 years. For a number of reasons, I took a job working in an office and tried to make the best of it. Going into an office everyday was quite tough for me; even though the commute was an easy 30 minute drive each way, that was still an hour out of my day. In order to avoid traffic, I had to wake up at 6 am and got to the office no later than 7:30. I hadn’t used an alarm clock regularly in years, so waking up with an alarm was not pleasant. I’ve written about working from home and 8 years ago, I wrote that I couldn’t work in an office full time!

Some may think that working from home is a luxury or that they couldn’t do it because of all the distractions. For me, it isn’t a luxury, but the only way I can work. I’m more focused at home and more relaxed. There is a sense of freedom for me not being confined to an office. I’m sure working from home causes me to work more, but I’ll take that in exchange for flexibility.

Article after article I read, including this one talks about letting people work from wherever they work best. Unfortuantely not all companies are on board with this. I’m now back in a position that affords me this opportunity and with all the collaboration tools available today such as Slack and Google Hangouts, I can still feel like part of a team.

10 Years of Storing Receipts Electronically

Just about 10 years ago, I got frustrated trying to find a receipt and embarked on storing all my receipts electronically. At the time, I couldn’t find a Mac application to do this, so I wrote my own called ReceiptWallet, now called Paperless. I started scanning in just about every receipt and stored the receipts by year. This may seem quite excessive to many, but I’ve found that having easy access to receipts is invaluable.

Yesterday I found a crack in my toilet tank and after finding the warranty information, I contacted support (lifetime warranty on the toilet) and they wanted a copy of the receipt. It took me about 30 seconds to find the receipt and was able to easily email the PDF (along with pictures of the problem) to support. If I didn’t scan in receipts, the chances of me finding it would have been very slim.

While scanning in every receipt may not be completely necessary, I don’t have to worry later about missing a receipt. Yes, the $2 parking receipt isn’t all that helpful, but when trying to categorize business expenses for taxes, it gives me another chance to easily see if I missed any expenses. Anyone that has a small business knows that it is quite important to track all business related expenses.

One of the keys to preserving receipts is to start with a high quality scanner. My scanner of choice (and has been for years) is the Fujitsu iX500 ScanSnap. The scanner isn’t cheap, but it is fast and works well. The other is a good program to manage the receipts. I still use Paperless all the time; I try to scan in receipts a few times a week. A few minutes at a time is all it takes for me to keep up with the receipts.

It takes a certain kind of person to keep up with this process. I’ve found it easy to do and is proven to be helpful time and time again. It isn’t for everyone as it requires some planning and up keep.

Did I find my next new car?

In January, I wrote that I’ve delayed my decision to buy a new car. Last weekend I had some car trouble where my car wouldn’t start and had to deal with it. My son asked me if I was going to get a new car and I said no; I’d just get it repaired. However, I decided to look at Apple’s CarPlay site and pursued the list of cars that support it. None of the typical American cars like Ford or Chevy interested me and I am not getting a Ferrari! I saw that the 2017 Subaru Impreza will support it. At the auto show, I saw the Impreza and it was a decent looking car. It didn’t have CarPlay and wasn’t a plugin hybrid. Now that it will have CarPlay, I’ve decided to take another look. Plugin hybrids are kind of the neglected step child of car manufacturers; it’s either hybrid or electric which kind of concerns me in terms of reliability and support. I’m going to forego the plugin hybrid for now and that should open up my search.

I found a few sites offering first looks as well as Subaru’s own “sneak peak”. It appears that the loaded package will have some interesting tech besides CarPlay. EyeSight® is a system that helps prevent collisions, notifies the driver if he (or she) drifts, as well as can work with the cruise control. Also, it has blind spot detection, cross traffic backup alerts, and high beam assist. In addition, it finally has a power adjustable driver’s seat. So it would appear that the car (on the surface) has many of the features that I’d want in my next car.

On top of all the features, if the pricing remains similar to the 2016, the car would actually be affordable. EPA estimates for the 2016 are about 50% higher than my current vehicle which would be immediately noticeable as I am now driving a lot more for my commute. Subaru says that the car will be available in the later half of this year. Now I just wait so that I can give the car a test drive and see if it is the vehicle for me.

I’m crossing my fingers!


In the last 4 weeks, I’ve commuted more than I have in the last 17 years. I’m starting to get used to the routine; the 30 minute drive each day isn’t too bad, but it is an hour out of my day that I can’t get back. I know that people commute everyday, but it is new to me.

My commute is against traffic which lets me get to work easily; no matter how fast I go, it takes me just about 30 minutes. On the way home, I pay for using the carpool lane (FasTrak) and while the cost varies depending on a number of factors, it is absolutely worth it for my sanity to not to have to sit in traffic. Like my drive to work, my drive home is about 30 minutes no matter what.

At some point I hope to work from home a few days a week. This will allow me to recover an hour each day I work from home and I think will help me more productive.

I wonder what would happen if people that could work remotely did so a few times a week. The office interaction is good, but I believe there can be a balance that affords people some of the benefits I’ve taken for granted most of my career.

My New Adventure

When I was laid off, people kept telling me that there was nothing to worry about and take some time for myself. For the first few weeks, I tried to heed the advice and took it easy while at the same time leisurely looking for a job. I treated the first month as the sabbatical that I didn’t have the opportunity to enjoy and managed to make it through my inbox, my todo list, and ran out of things to do around the house.

After about a month, I started to get antsy as I’d never been away from a job for that long in my 20+ year career. I applied for a few jobs, but didn’t hear back on most of them. This had me quite nervous even though I knew I didn’t have to get a job for awhile. Would I be able to find a job? Would I have to take the first job offered to me even if it wasn’t the job i wanted? Would I have the motivation to start working again?

This period of unemployment also had me thinking about what happens for older workers; all of their experience comes at a higher price tag and many companies aren’t willing to pay for it. I don’t consider myself an older worker (however, the federal laws about employment consider older workers over 40, I believe), but when I started talking to people and explained that I have 20 years in mobile app development, I started to date myself.

My job search, luckily, only took about 6 weeks from the time I was laid off (actually it was a total of about 10 weeks as I started even before I was told I was being laid off). I saw a job posting for a mobile architect and decided to apply even though the job description was vague. After talking with the recruiter, I felt like the job was perfect for me based on my experience. My interviews went well and the rest is history!

Ineffective Stop Signs

Soon after we moved into our house (about two and a half years ago), the city installed stop signs at the end of our street. This seemed like a great idea as traffic would speed down the hill perpendicular to our street and make it dangerous to get out of our street.

Over the time we’ve been here, we’ve seen people stop at the signs, slow down at the signs, and simply ignore the signs. I filled out a traffic engineering request to see what the city could do to get people to actually stop. Soon after I did this, I saw the cables on the ground across the traffic lanes that measure traffic. I thought that this was great and that the city was going to do something about people stopping.

Unfortunately I saw the result not too long after that. The result was that the word STOP was repainted larger on the ground in all 3 directions. This solution, of course, is quite laughable.

Last week I received a call from a traffic engineer (I think) and he explained that the council rep and the community planning group had requested a stop sign to slow down the traffic. The city’s job was done and traffic was slower most of the time; I do have to admit that if this was the goal, it has worked. The engineer suggested that I call the police and try to get them to come out and ticket people. Our police are overworked and they have better things to do than sit at a stop sign; the reasoning was that the route is used by locals and after a few tickets are issued, people would get the message. I don’t believe it, but whatever.

I’ve done my part to try to get people to do the right thing with respect to actually stopping, but without enforcement, the practice will continue. In speaking with a few neighbors who run it, they say that they can see in all directions and it isn’t hurting anyone. That may well be the case, but there will be that one time when someone doesn’t stop and there will be a serious accident.