They say size matters. Does it really?
If you’ve ever worked for a large corporation, or perhaps any sized office you can likely relate to the brilliance of the Dilbert comic strip. I spent eight years at IBM and often thought that Scott Adams must have been sitting in a cube down the hall to accurately depict the corporate workplace.
I found a Dilbert recently that provides a example of how larger companies attempt to act like a smaller company to drive innovation. You can read the strip here.
In this strip, Pointy-Haired Boss announces in a staff meeting that “We need to foster more of a start-up culture to drive innovation.” As you may expect, Pointy-Haried Boss is really after the results and not so much actual changes that may cultivate innovation.
The cartoon is funny because many larger companies at some point have made this same realization. The realization that they need to become more innovative and cultivate creativity in the workplace, not only to be more competitive in the marketplace but to retain and attract new talent. Intelligent and motivated individuals rarely enjoy being told what to do all day long without input into business decisions or autonomy over their own productivity. However, the reality of this scenario just as we see in this strip is that changes are often in name only with no real associated change.
At Inversoft, we build on-premise, enterprise software. Customers download this software and install it on their own servers. These servers might be in a cloud hosting environment like AWS or in some other datacenter somewhere.
Most of our software contains multiple components that are installed. For example, CleanSpeak has 3 separate installable applications that are shipped as RPMs, Debian packages or ZIP files. Often each of these applications are setup on multiple servers and fronted with load balancers.
We release new versions of our software every 12 to 18 months. New customers always use the latest version of our software, but current customers are never forced to upgrade. Only after 2 or 3 years do we stop supporting older versions. Once a version reaches end-of-life, bug fixes for that version are no longer done and customers on that version must upgrade to a newer version if they run into problems.
This software release model does not lend itself well to continuous deployment or fast iteration and release cycles. In fact, we have found that when we increased the frequency of our releases, customer got frustrated and annoyed, even though they were never required to upgrade.
Keeping this in mind, let's look at how Inversoft develops and ships software.
First, we start with customer or internal requirements. We like to ensure that our features will be used and if we come up with something internally, we always ask multiple customers for input on the feature before it makes it into our product roadmap.
The sixth in a series of posts about the finer points of profanity filtering…
Embedded words occur when a dictionary word or proper name contain profanity:
- Don’t assume profanity filters are inaccurate
- Harry Lipshitz has a hard time creating accounts on web sites
- This has been documented as the Scunthorpe problem
The fifth in a series of posts about the finer points of profanity filtering…
One of the more sophisticated attacks that users employ against profanity filters involves inserting separators, such as spaces or periods, between the other characters of a word so that the word can still easily be read.
The following examples illustrate how the simple process of inserting additional non-alphabetic characters between the characters of the word does not interfere with the reader’s ability to identify the word correctly:
- s m u r f
- s….m u r….f
I’m going to smash it (false positive!)
It might be difficult to see the profanity in #4, but if you look at the last 4 characters on their own, you’ll see it.
Filters that do not intelligently handle separators will incorrectly identify this sentence as inflammatory and generate a false positive. Therefore, the filter must understand how word separators behave within sentences and how they can be used as an attack.
The fourth in a series of posts about the finer points of profanity filtering…
Repeat characters is another commonly used filter attack that involves the simple repetition of characters in a word. This straightforward tactic still fools many profanity filters, most of which are not designed to ignore multiple instances of the same character:
CleanSpeak’s Profanity Filter is capable of detecting this type of filter attack and will correctly and automatically identify words regardless of the use of repeated characters.