Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs

February, 2014
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Search the weblog

Genii Weblog

Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.

Fri 28 Feb 2014, 10:06 AM
Given that our products often enhance features or patch holes in IBM's products, I may sometimes seem hard on IBM, and particularly on their rich text rendering capabilities. Over the next week, I will show a few posts which demonstrate how our CoexLinks Fidelity product corrects further issues with email, but before I do, I want to give a huge shout out to the Notes developers who worked on Notes 9. Customers have complained about rich text to MIME rendering for years, and IBM listened. Specifically, here is an example I have used often in the past, and how it looks when sent via Notes 8.5.3  and Notes 9. Note: Among my customers, Notes 8.5.3 is still the most common version out there, but Notes 9 use is growing.

The difference between the Notes 8.5.3 and Notes 9 mail is night and day if you have your location document set to send as MIME so the client renders the mail. Since tables have long been one of the most visible failings in the Notes rich text -> MIME conversion, the fact that Notes 9 now renders hidden/visible cell borders, cell border thickness and cell border color is a huge improvement. For sake of comparison, I also included the rendering sent from Notes 8.5.3 using the new CoexLinks Fidelity, and while there are few marginal improvements in exact font sizes and the text highlighting, for example, I wouldn't have written the product for this alone. And while it may be nice that Notes 8.5.3 users can also have this fidelity, an upgrade to Notes 9 would do it as easily and with other benefits.

Fortunately, there are other excellent reasons for companies to use CoexLinks Fidelity, but in the interest of general acceptance of IBM Notes 9 Social Edition, I applaud IBM and its developers. I'd far, far rather provide enhanced features/functionality than repair holes and defects, and this is a big step forward.

Correction: While this wonderfyl rendering is in the Notes 9 client, the rendering I thought was 8.5.3 was actually Domino 9.0.1 (rendered by the server rather than the client). The Notes 8.5.3 rendering is still not good, but it is not as bad as the Domino 9.0.1 rendering. Sigh! Still more work to do for IBM. At least we know the code already written.

Inline JPEG image

Inline JPEG image

Inline JPEG image

Inline JPEG image

Correction: This is actually the Domino 9.0.1 rendering:

Inline JPEG image

Copyright 2014 Genii Software Ltd.

Tue 25 Feb 2014, 09:49 AM
The widespread reports of the hole in iPhones, Macs using Safari and so forth have taken to repeating the myth that the problem is the one line of code with the "goto fail" problem.

To be fair, it is a single line of code, so that is not a myth. The myth is that this represents the problem, that it was a typo (according to Wired), and that Out of all the million lines of code we run every day, this one happened to be printed twice and so forth, as if the coding error were the problem. It was not. Coding errors happen all the time. Typos happen all the time. If security depending on never making a mistake, we should shut down all our computers right now.

The problem was that it wasn't detected. Security errors are caught by trying to get past the security, and it seems like the painful simplicity of getting past this security should have been detected very early. Also, Apple's original statement said that this was one line in 2000 that handle SSL security. That same 2000 lines are copied many, many places, yet nobody seems to have done a code review of this critical part of code. Trust me, programmers looking through this code would not miss the double goto. It stands out like a sore thumb.

How am I so sure of all this? Why, because it has happened to me more than once with our software products. I added an extra semi-colon once that broke the CoexLinks security.  See the pseudocode below to see how easy that is:

/* Code that always drops through to the "do stuff" part */
if (test);
  /* do stuff */

/* Code that only drops through to the "do stuff" part if the test is successful */
if (test)
  /* do stuff */

Another time, I accidentally removed a return that broke the Midas security. But neither got released, because even though I don't have Apple's budget for security and QA and so forth, one thing I always do is try to use license files that are invalid, or get rid of the license altogether. It is incomprehensible to me that Apple would not try like crazy to break through SSL security each time before a release. The idea that they don't try harder to break their own security on a routine basis means that there may be many more subtle problems with their security. This one should have been a no brainer, yet it is widespread in Apple's products. It is the other defects that aren't so glaringly obvious that should scare the hell out of Apple users.

Copyright 2014 Genii Software Ltd.

Wed 19 Feb 2014, 04:14 PM
This is actually one of my earlier Gimp tutorials, back before I bought a new microphone and learned to use Audacity to clean up the sound. I editied it, tightened up parts and recorded a new audio portion that is both clearer and more accurate. What can I say, I've learned a bit since then.
Anyway, these are some techniques for doing more with the most basic of tools in Gimp 2.8, the selection tools. It turns out they have some nifty and non-obvious features, so this demo shows ways to use these features simply and easily. In two minutes.
Note: Accurate closed captions have been provided, and if English is not your first language, you might want to turn on the auto-translate. I also advise turning on HD and watching full screen so the captions show under the video. All videos ad-free.

Copyright 2014 Genii Software Ltd.

Wed 19 Feb 2014, 09:40 AM

Inline JPEG image

I wrote a slight variation of this over on an Entrepreneur's community on Google+, but thought people might be interested here as well. It is business related rather than technical, but given the number of small businesses and entrepreneurs around, I thought I'd share it.

Resist the urge to monetize

One of the mistakes I see both small businesses and solo flyers make, one I've made myself at times, is to follow the siren call to monetize everything. Whether it is adding ads next to your blog or allowing ads on your videos, it seems so tempting to earn something, anything, from your content.

Resist the urge. Unless your core business is funded by advertising, you risk selling that core business short.

As an example, when I started making Youtube videos, I monetized them. Why not create a revenue stream since I was making helpful tutorials? Most of them were not even related to my core business, but instead were related to Gimp, free photo editing software.

The problem is, people have short attention spans and don't like to be sold to. So, instead of generating good will, I was generating ill will. The payback? A pittance. Under $5 per thousand views. Now, if my core business were Youtube and I were getting millions of views, that would go up and amount to something. But instead, I was driving people away.

I de-monetized all my videos, whether they were Gimp tutorials or demos of my products. When I suggest the tutorials now, I make a point of how they are all ad free, so people are more willing to go and feel better about it. Some follow my channel, and some check out my other videos, including fun ones related to my products. At the price of my software ($1500 is the lowest price), one good lead would pay more than 300,000 views.

So, be careful when considering the tempting cash from monetizing your blog or videos or any other content. Think of it as having one chance to sell to a customer. Do you want that one chance squandered on the tiny amount you get when they follow a link, or the real services, licenses or products you sell? You are making that choice whether you recognize it or not. Make your one chance to sell the right one.

Copyright 2014 Genii Software Ltd.