I know, it doesn’t quite roll off the tongue like the old black-and-white TV show title.
As early as Visual Studio2008, C# has provided a special kind of static method called extension methods. We can use these extension methods to extend a class or interface, but not override it. This provides the ability to “add” methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.
Extending Enum in C# Using Custom Attributes and Methods
I love enumerations. Simple, consistent and – in OO languages like Java and C# – enforced by the IDE. But I know I’m not the only one who has lamented over the apparent inability to extend the Enum data type in C#. If you stumbled upon this post, you’ve probably had the same problem.
Keep reading to see what I did to alleviate this shortcoming.
I found this to be the perfect opportunity to capture the apocryphal Six Stages of Debugging in the expressions of the ever intrepid Jim Halpert (with a few other pop-culture references sprinkled in the links).
The favicon (Favorite icon), shortcut icon, Web site icon, tab icon or bookmark icon is nothing new. It’s been around for well over a decade now. There are tons of articles and sites out there to help you make a favicon and upload it to your site.
And yet, so many sites – mostly blogs – don’t have one. Why not?
Seriously, with how easy it is to do, the only reason I can think of that your site would not have a favicon is because you don’t know why you should have a favicon.
So, here are the reasons your site shouldmustneeds to have a favicon.
If you are a Kindle user – the tablet or the app – Amazon has a great (free) service that allows you to select files on your computer – PC or Mac – and send them to your Kindle (or registered Kindle app) using the Kindle native format. This is great for when the file you want to send is too large for email attachment restrictions – corporate or otherwise – and you can’t use their email service.
But if you are just installing the application, and trying to register it behind a corporate proxy, you might run into the same problem I did: the dreaded and ambiguous “Network error occurred”!
Cntml is easy to install and configure, and supports multiple platforms. This post, on the other hand, is specific to Windows. For more information on using Cntlm on a different platform, consult their official wiki.
What Proxy Problems?
Corporate proxy server are a pain. If you don’t know why, you haven’t been working in a corporate environment very long.
Most 3rd party Windows applications don’t support NTLM natively
For those that do, they usually store your credentials in plain text (bad)
And whether they do or not, when your credentials change (i.e., regularly scheduled forced password changes) you now have multiple places to update your credentials
While some of these are specific to being a software developer, most of these will impact you at some point in time. All of these problems drove me to look for a solution – or in some cases, a better solution than whatever hack I was using.
Enter Cntlm, “…an NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy… It stands between your applications and the corporate proxy, adding NTLM authentication on-the-fly.” – from the Cntlm homepage.