|Professional Services||Second Signal||Presentations||Andrew's Blog||Support|
With some excellent help from Gary Devendorf, I've released the beta version of my first stand-alone (Non Notes) workstation application in something like 15 years. Its nothing most readers of this blog would be all that interested in, as it detects activation tones from a radio scanner plugged into the mic jack on a computer ( https://www.thenorth.com/clients/nctsearch/keymaker.nsf/scannerkeyrequest ).
Visual Studio -- the full version -- is a power product. It has the best client side distribution story of any development package I've used (provided you're ok with Windows Only) and has a great set of tools. One thing I didn't even know about is "Visual J#" which is Visual Basic only with the Java language syntax. That doesn't mean its Java. Its not. It does mean that if you're used doing this like:
String myString = new String("Hello World")
you can use it instead of remembering the VB.net way which is:
Dim myString as String = "Hello World"
VB.net is much closer to Java than it is to BASIC anyway -- particularly if you use the .NET framework and write "Managed Code". It makes going back and forth easier, and lets you re-use a lot of the same logic which is very nice. You can put some of your utility functions in on module and compile it in your java compiler and in your visual studio j# compiler then use the same logic in both places. I haven't tested yet how deep the emulation goes, and how far into the java object model it works. I've read its largely compatible with the java 1.4's built in objects but I'm not sure yet.
On the downside, the documentation of the stuff they give you in the package is horrendous in the extreme. On top of that, some of the partner tools aren't great.
Now for a rant:
For example, the full package comes with "DotFuscator Community Edition" -- If you think its hard to hide the design of a Notes database, try protecting your .NET managed code. Like Java, you need to "Obfuscate" the code. This doesn't at all make it impossible to decompile -- it just makes it hard to read if you do decompile it. To do this, there are commercial products ranging from about $800 to $2500 per developer seat. Microsoft "Partnered" with one of these.
What you get is integrated into the package insofar as there is a menu option in the Tools drop down to launch it. The support on Microsoft's site consists of the help document from the application rebranded with Microsoft logos. To look for support or instructions from PreEmptive, you must register the product and be sent an obscure numeric userid and long alphanumeric password which you cannot change. After which, there is no support other than an FAQ page and a link to a YAHOO GROUPS discussion consisting of 23 documents over the course of 3 years. The most recent of these is months old. The second most recent suggest a "new" tutorial for first time users and has a link to a page which no longer exists on their website. That reference was made in 2003.
The product comes with a sample. Yep. It "DotFuscates" "hello world" which has no reflection, no managed code, no external libraries, and nothing which needs to be excluded for any reason in the "renaming" part of the obfuscation process. The user interface allows you to exclude methods or object names by check box one at a time, or using REGEX syntax hand typed -- and crashes if you make some kinds of syntax errors. The user interface as a whole is strictly amature hour.
It took me 12 hours of work to get my FULLY WORKING application which makes NO calls to unmanaged code obfuscated (minimally according to PreEmptive) without breaking.
All this, and the package constantly reminds you that this "Community" edition doesn't really obfuscate much and you really should spend a bunch of money for their real product. Hell would freeze over before I'd do that after using their built in. I'd spend half the money and get one of the much better products on the market first.
Please wait while your document is saved.