The PDF Experts

Amyuni is a Canadian company that are the self proclaimed PDF Experts. They have two main types of products. One is a PDF converter, which acts as a print driver to output to a document of type PDF. The other is a PDF creater. It allows you to generate new PDF documents from scratch.

Amyuni seems to get its name from founder Dave Amiouny. They have been in the PDF business for over 10 years. They claim to have the fastest PDF conversion in the business. Products that compete with them include Adobe Acrobat, Nuance Converter, and CutePDF Writer.

The company list a large number of clients who use their software. The company itself is small. Latest figures I could see show a total of 14 employees. They target .NET developers. Pricing listed on their website ranges from $1500 to $35,000 per year based on support levels. However I also saw their products on a download site going for a little over a hundred bucks.

SD Times Magazine lists Amyuni as a top contender in the Libraries & Frameworks categories. I was a bit troubled by some user comments I saw on a download site. Users claimed that PDFs created by Amyuni software would crash Adobe Acrobat. Users also complained that Amyuni software could not convert PDF documents to MS Word format. Disturbing.

Who is Accusoft?

Accusoft recently won an award in the SD Times winner's circle under the category Libraries & Frameworks. That is great and all. But who the heck is Accusoft? Well I did some research. They were previously called Pegasus Imaging. Then they changed their name to Accusoft Pegasus a few years back. Just this year they dropped the Pegasus and are known as Accusoft.

The company does a lot of things as they have acquired a number of companies in the past. They have solutions for the document, content, and imaging spaces. They sell apps and SDKs. In the imaging arena, their software can handle barcode and do OCR. They also handle image compression, scanning, and viewing of images.

This technology lends itself to forms processing. They can generate PDF documents. One of their products is PDF Xpress. It allows you to modify a PDF document, or extract portions of it. Althought the company is not large in terms of personnel, they recently did almost $20M in revenue for the year.

One cool thing about Accusoft is that they have product for the mobile market. They sell document scanner software that works on Android. You hook a USB scanner up to your tablet and you are good to go. Not sure if I really need to know about Accusoft. But if I get into the document scanning or imaging world, I may have to.

Winner's Circle

There was a supplement to the latest issue of Software Development Times magazine called the Winner's Circle. They picked a few categories and listed the top companies in each sector. I was a bit disturbed to find that I did not recognize many of the companies.

Take /n Software for instance. The name seemed a little familiar. But I had no clue what they did. They were one of the top picks in the "Libraries & Frameworks" category. I use some libraries at work. But they have been the same libraries for like the last ten years. I got to get out more.

I went over to the /n Software web site. It was not initially obvious what they were selling. Then I saw they had a line of IP*Works libraries. They help your app speak network protocols. Cool. They also have a bunch of Integrator libraries. These let you app easily communicate with systems such as PayPal or Amazon. Also sounds good.

Now I just got to research some more of these companies. Ever heard of Accusoft? Me neither. Time to get busy.

The Last Minute

There are times when I need to leave early from work. Usually I try to give as much advance notice as possible to the people on my team. However I have found that as soon as I need to leave, everybody needs my help at work. You would think I would just ignore them and go. But these slackers just don't realize they need something until after I an scheduled to leave. I have come up with a great plan for dealing with this.

I determine when I need to leave work. Then I schedule a departure from the office which is two hours or more before my actual exit deadline. As usual, I get all kinds of requests for assistance at the last minute. I tell people that I am scheduled to go. But I give them an extra minute or two of help. Sometimes those minutes last for up to an hour. Since I planned ahead, I am covered.

This is not quite optimal. It only encourages people to try to deter me at the last second. But I think about it this way. Do you know some people who are habitually late? If you want them on time, you make up a meeting time which is an hour before the actual time. You build in some slack. Well that is what I am doing at work.

Now let's hope nobody gets smart to my plan. Otherwise they might start intruding on my true deadline to get out of dodge.

Schedule Conflict

This is a good time of the year. We are in the coding phase of development. I love to code. There is one huge problem though. Everything is behind schedule. Our team is management heavy. We got a ton of senior managers on the staff. You would think that they could manage the schedule for us while we code away. Not the case here though.

I have been instructed to keep an eye on the schedule to ensure there are no errors. I especially pay attention to the due dates for tasks assigned to me or my team. This should be pretty simple. For every major change we code, I provide detailed high fidelity estimates for the work. You could just take those estimates and plug and chug the schedule.

The high fidelity estimates actually make my schedule review real easy. I look at the tasks and due dates on the schedule. Then I just do a quick calculation based on my estimates to see if they are in line. If they are not, I just raise up the concern, referencing my original estimates.

I figure my job is to alert everyone to any crazy schedule failures. That way there is no surprise when someone thinks that a task will finish when it is actually taking a whole lot more time. Obviously something is going to have to give. Most likely it will be a schedule change to reflect the reality of the development durations. I expect there to be some pain before this can be achieved though.

Pesky Memory Leaks

The team had a few cycles while the customer reviewed our latest design. One developer recalled some memory leaks that seemed to appear out of nowhere in our app. He showed them to me. The memory leaks appeared when we launched the app, logged in, logged out, and exited. That's a tiny amount of functionality. How could that cause a leak?

The developer did some research. We were all surprised at what he found. The character set had a value of "Use Multi-Byte Character Set". Ooops. We pretty much do single byte characters. You know, the old C-style strings. That wrong setting was causing memory leaks. Who knows what other problems this mismatch was causing.

This seemed strange. You get Unicode as the default setting when you create a project. Somebody must have changed that to MBCS. Why? Did they not know what this setting controlled? This is just disturbing. Time to look at the settings for all our Visual Studio projects. We really should have been detecting this earlier. Memory leaks are bad and need to be plugged.

Stack Ranking

I just heard about the term stack ranking today. The idea itself is not new. You rate your employees using a normal distribution. A few are top performers. Most are in the middle. And you have a few low performers. Seems legit to me. Isn't this how all reviews are kind of done anyway?

I would prefer that ratings be taken a bit further like they are at select companies. The bottom performers are periodically purged from the company. That might seem a bit radical. But you want to keep your top performers around and happy. It does not help when you keep dead wood on a project or even in the company.

I read an article by Vanity Fair where they interviewed a lot of Microsoft employees. Apparently Microsoft does not like stack ranking to evaluate employee performance. It pits developers against each other. Strange. You would think Microsoft developers would also want such a ranking. At my company, the only time relative rank comes into play is when they evaluate your pay raise. If you make a lot less than your peers, you get the opportunity to catch up during a pay modification.