Showing posts from 2016

How to show excel files inside the .NET Webbrowser Control

If you are reading this, chances are you been banging your head against the wall for a couple of hours (or even days) trying to show excel files inside the WinForms webbrowser control. Possible reasons you ended up in here: You had working code that got broke after upgrading from Win 7. Your code doesn’t work the same way between machines running different (newer) versions of IE. A download box pops up every time your app tries to show an excel file inside the webbrowser control (you wanna show the actual content). You just have no clue on how to get excel working into the .NET embedded webbrowser control. You are trying to implement IInternetSecurityManager and don’t know where to start. (Or how don’t know how to delegate calls to your security manager). Among many other, maybe…..
Yes, COM is a PITA, so is ActiveX and IE (Embedded or full for that matter). And no, showing excel files inside the webbrowser control shouldn’t be that hard, but sometimes we have to deal with what we have at ha…

Ruby and CQRS - Command methods should return nothing

CQRS stands for Command Query Responsibility Segregation and the basic rules are:
Commands - Perform (side effects) actions on the system and don't return values.
Queries  - Return values but can't touch the system's state.
Idealy, you don't mix them. Hence you can say, commands are dangerous, and
queries are safe.

Now, ruby doesn't have a specific type to say: this method (command) returns nothing, like void in C and other languages. So, the question is: How do you state that a particular method returns nothing?

Based on comments from the ruby mailing list, people are using these approaches;
1. Return self.
2. Return nil.
3. Implicit return (which in general, ends up being nil).

If I'd have to pick one, I'd go with the last one, but I also like to throw
another option into the mix....
Why don't create a class for this particular use case? Let's say, Nothing!

module Nothing
class Nothing

def nothing
@nothing ||=

class CommandQuery…

Contest is here to stay

For a long time the .NET's unit testing landscape hasn't changed that much... sure, new frameworks arrived, but they were almost the same thing with a subtle syntax twist, instead using [Test] they use [Fact] or different ways to specify setups and so on, but the essence was the same... Attributes based libraries with GUI oriented test runners. There is nothing wrong with that perse, but I guess everybody would agree that they are hard to use if you are working on plaint text editor like vi or emacs. In this context, contest was born as an alternative to IDE oriented tools for those who prefer consoles and text editors. The way the art of programming was meant to be ;) For an elevator pitch, please refer to this codeproject article.  For docs and getting started guides go the contest's repo on github. And of course, if you have any question, fell free to contact me.