Yeah, I agree. VS is still better, which is why I said in the article I wont use sharpdevelop in my professional work, but for someone who doesn't want too or can't afford to buy into VS then sharpdevelop is a much better option than VS Express imho.
I don't think it necessarily has to keep up with VS as that will always be a loosing battle. I just think it needs to feature complete in its own way to make it a viable alternative, and I think they are at the point of achieving that.
If you aim for feature parity with a product from a company that can devote orders of magnitude more resources (and influence external requirements) than yours, you'll always lose.
The only way to win is to redefine the criteria by which your products are measured in a way that your product becomes the superior one and your huge competitor's can't immediately follow. In this case, you'd have to redefine what an IDE is supposed to do by building one that's much better in a significant scenario than VS.
yeah i agree. I think sharp develop is coming along very well though. It will be interesting to see where they go with it. I am going to start using it for my personal open source projects, but for my commercial work for me and my teams I will stick with VS as we have MSDN licenses and support agreements in place.
default support for MSTests would be nice as this is what I have written my tests in. There is an add-on for it, but it doesn't look that good. Its not real biggy though, it wouldn't take much effort to migrate my tests over to NUnit. TFS integration would be good too. For my personal projects I upload my source to Codeplex and I use the TFS integration for this.
Saying that I could just install the TFS shell extensions and check in/out code from explorer. Its not that much of a hardship.
The idea is that it is easy to use. Gpg requires admin rights to install which you may not always have, if on a corporate network for example. If u have limited control on the machine or security of the network this utility gives you an easy way to get message based security where u control the key.
I will add in a hmac if the ciphertext and IV and alert the user if the message has been tampered with. I will have it updated within the next week.
Thanks for the constructive feedback. This is why I posted it here and made it open source so I could get peer review, make the utility better and learn a few things along the way.
One thing I would really suggest is to get rid of all this conversions between strings and byte arrays, this adds unnecessarily complexity to the code. Convert messages and passwords to byte arrays as soon as you get them, preferably using a Unicode encoding to support foreign languages, and then only work with byte arrays for everything until you finally want to output the encrypted message where you probably want to Base64 encode it. Especially I did not understand why you have these ugly methods in ByteHelpers when you already have Encoding.GetString() and Encoding.GetBytes() and you are using them in some places.
I have not used a site specifically, but when I interview developers, apart from the normal technical questioning on their CV, I get them to design a simple object diagram, and then lead them to a PC. I ask them to code it test first. We observe them doing it to see how comfortable they are with the tools and that they can even complete the code for the design.