27 August 2017
JaysonKnight.com Version 4.0 Launched: Rebranding and Refocusing
Ladies and gentlemen, I present to you JaysonKnight.com v4.0 Things have been quiet around here. A little too quiet. Unfortunately, I feel that blogging has become a little passé and it’s something I keep meaning to stay above water on, but every time I promise to do more blogging, I set myself up for failure. Not really failure per se, but it’s something I know I won’t be able to keep up on a regular basis. Social Media killed personal blogging, it’s just easier to distribute content on the larger platforms. Recently, I rebranded and launched version 4.0 of the JaysonKnight.com portfolio of websites. The redesign itself wasn’t the hard part…like so many re-launches of websites, it was the backend that proved to be most time consuming. My platform serves dual purposes: To be a landing zone for visitors to find me, and to serve as a portal for client projects. There’s a lot of stuff non-clients will never get to see (if you want to see it, let me know and I’ll set you up with a demo account... Read More...
15 February 2015
Configuring HTTP to SSL Redirects in IIS/Windows
Configuring websites to only allow SSL traffic is pretty much the norm these days (and if it isn’t, it should be). The problem with taking this route to secure your web traffic is that there really isn’t an intuitive way to then make sure all http (port 80) traffic then gets properly redirected over to https (SSL port 443) within IIS. Microsoft’s industrial strength firewall solutions had built in rules to enable this behavior, but they’ve all been discontinued or EOL’d. If redirects are not set up properly, users will get an error page when attempting to navigate to a site in IIS that is configured as SSL only, but accessed via standard http (port 80). The desired behavior is to properly redirect (either 301 or 302 response codes) all http traffic to https, and to be able to do this from within IIS itself. It’s not intuitive, but is fairly straightforward once the limitations of IIS itself are figured out. The first thought might be to simply set up the redirect on the website itself within... Read More...
01 March 2013
The Most Common Question I Answer on a Regular Basis: "How Do I Learn How to Write Code?"
This is one of the most pervasive questions asked in my industry from folks who are not professional software developers, but perhaps have an interest in pursuing it as a hobby, or as a career: "So, how do I learn how to write code?" I'll start with my own experience as to how I got into this industry as a professional, will mention how some of my colleagues got started, and will try to wrap it all up with what I would have done differently and/or the ideal way to learn how to write software. A common misconception about writing code is that it's difficult. Writing code is a very abstract process, and is only as difficult as you choose to make it. There are an infinite number of ways to achieve a working piece of software, some of them right, many more wrong. It's only through years of making lots of mistakes that you learn how not to write code, but I think very few professionals no matter what their skill level produce code that is 100% correct, and even the word... Read More...
28 January 2013
Why Are Modern Browsers Such Memory Hogs? A Short Primer on Processes, DLL's, and Threads
I normally don't like to participate in the so called "browser wars" and that is not the intention of this post. But, I feel that the title poses a legitimate question: What is going on with modern browsers sucking down memory like tequila shots these days? As a web developer, I have a slew of browsers installed on my machines for testing: Internet Explorer (unfortunately): Necessary evil, plus it's the only browser that supports Windows Integrated Authentication, which is mandatory on the business LAN…but in all honesty, it has gotten much better over the years. Firefox: I'm a creature of habit, and have been using Firefox since the early betas, so over a decade. Plus, the plug-in support is phenomenal as are the built in web developer tools. Opera: I'll be honest, I abhor Opera. Great idea (and I feel quite the opposite about their mobile browser on iPhone, it's fantastic, mainly because Opera routes web pages through their servers and compress them down... Read More...
23 January 2013
On Microsoft and Backwards Compatibility: Windows 8 (and How to Make it More Usable)
Note; If you don't feel like reading this entire post, at least read this: Start8 from Stardock Corp (30 day free trial, 5 bucks after that, and well worth it IMO): Get your start button back, disable hotspots, and boot directly to the desktop with that utility. Otherwise, read on. This post is not going to be a diatribe either for or against Windows 8 (though I will give a brief opinion towards the the end of this post), but rather on Microsoft's stance on backwards compatibility vs. other operating system vendors. Love or hate Microsoft, they bend over backwards to preserve backwards compatibility between OS releases. If you wanted to, you can still run DOS games on Windows 7. Code written on their old 16 bit systems will happily run on newer 32bit/64bit rigs. When they do a major OS release, they reach out to every vendor they can, and in many cases will help them patch their software packages to run on the new OS (why you might ask? Microsoft is nothing without 3rd party software... Read More...
22 January 2013
New Web Languages and Frameworks (and a Brief History of Web Programming): Pt. 1
Software development has changed so much since I first got into the business over a decade ago, and lately, sometimes I feel like I’m becoming that 50 year old dinosaur who sits in the corner mumbling to himself about “the old days” of programming and how all the new technologies are ruining “proper'” software engineering. Ok not literally because unlike those guys (and we’ve ALL worked with folks like that) I love adapting and learning new technologies, but metaphorically…yup. I have my comfort zone which consists of Java and .Net, mainly on the Windows platform, with Windows centric middle-tier/backend plumbing: SQL Server MSMQ WCF Active Directory Sharepoint ad nauseam… If I had to classify myself and what I like to develop, it would definitely be backend/middle-tier stuff. I am by no means the best front-end designer ( WPF or Web stuff), but can get it built if a designer hands me the CSS and HTML framework/storyboards. A little... Read More...
18 January 2013
How To: Compile ISO C ‘99 Code in Visual Studio
This will be short how to on how to get ISO C ‘99 code to compile in Visual Studio 200x (in this case, Visual Studio 2012), since Microsoft only supports ANSI C ‘89 (and barely at that). Microsoft have made it very clear that they will not support C99 , and instead urges users to move to Visual C++ instead. Ok that’s great…unless you need to write straight up C. Background: I’m brushing up on my ISO C for an upcoming interview I have next week. I haven’t written a line of C since the early 00’s, but fortunately it’s coming back fairly quickly (it’s a fairly simple language despite its reputation). Normally I’d fire up my favorite Linux distribution (in this case Ubuntu) and start hammering away in VIM or Emacs, but this is lightweight one off stuff that I’m doing. I have never used Visual Studio to write C (but plenty of C++ of course), but figured it’d be a no brainer. Immediately I started running into strange errors... Read More...
30 December 2012
Singleton Pattern Implementation in C#: One Global Object Instance, One Entry Point
This post is going to explain how to implement the Singleton Pattern in .Net/C#. In most other programming languages/frameworks, global variables are allowed. In modern day programming this is extremely frowned upon, hence where this design pattern comes in handy: It provides a global object with only one point of reference. Once it is instantiated, all references to it are guaranteed to be to a single object instance which is available throughout the lifetime of the application. So, where would this be useful? Keeping an application-wide cache of objects to avoid expensive calls to non-local resources. .Net makes this fairly simple. Here’s the basic UML diagram for a singleton object: We create a static constructor (thus making sure only one object is created in the AppDomain) so the object can’t be created directly, a private backing store called instance of type of the singleton class, and a public accessor property (or method) that returns the private instance type. Your... Read More...
23 September 2012
Template Method Implementation in C#: An Easy Way to Make Your Code Hum Along
A pet project I’ve been working on (on and off, time permitting) has been in need of some serious refactoring, so I finally sat down to eliminate some redundancy, and work on some design pattern work. A common problem in software design is making sure base class implementation is always called from overrides, but also deferring finer grained details to subclasses without changing the base class implementation, without having to always specify base.<implementation> in every single override in subclasses. Enter, the Template Method design pattern, which encompasses the polymorphic aspect of Object Oriented Design (which in my opinion is the most important of the 3 pillars: Encapsulation, Inheritance (aka Specialization) being the other two). The premise is simple, and here’s a very simple UML diagram that outlines the functionality: The base class specifies stubs (abstract methods, or protected virtual method implementations that all subclasses need base functionality for), and a public... Read More...
16 September 2012
Visual Studio 2012/TFS 2012: A Breath of Fresh Air
Visual Studio 2012 hasn’t been released to the general public yet, but a friend of mine was nice enough to lend me his MSDN copy of both VS and Team Foundation Server (I run Sharepoint 2010 on my intranet, which is a requirement for TFS…the integration is incredible). While you’re at it, do yourself a favor and install the new (and free) decompiler from JetBrains: DotPeek , which also integrates into Visual Studio. But, I digress. First off, I swore I would never migrate my source control over to TFS. For the better part of a decade, I’ve been using SourceGear’s Vault solution to house my code, and provide versioning control; the single license version is free. But after watching several webcasts on TFS 2012, I decided to take the plunge (getting it installed is not for the faint of heart by the way, block off half a day to get it up and running). It is leaps and bounds beyond any previous version of TFS, and the Sharepoint integration is nothing short of amazing, especially the reporting... Read More...
More Posts Next page »