13 March 2019
How To: Configure Ubiquiti Unifi Wireless Authentication With Windows NPS And RADIUS
I've seen quite a few people asking for a basic overview on how to configure Windows NPS (Network Policy Server, Microsoft's implementation of the RADIUS authentication protocol) to work with UBNT equipment. This guide focuses on Unifi, but should be easily translatable to Edge/etc. if you know your way around that system. I'll also drill down into configuring MAC Based Authentication (MBA) which is a popular way to authenticate clients that otherwise don't allow for WPA2-Enterprise authentication to wireless networks (which is most IoT devices). MBA allows you to authenticate clients based on their MAC address, which allows them to "automatically" be granted access by simply passing along their MAC address as the username/password combination. You create accounts in Active Directory with the MAC address as the username/password, and then you can group those accounts into AD Groups, AD Organizational Units (OU's) so that you can apply various AD policies to... Read More...
29 December 2018
Default Interface Methods in C#: What Are Traits, and Why Are They Needed?
Curious to see what my fellow .Net developers/architects think of this new language feature that's been bandied about since at least early 2017, though it's now potentially slated to be included in C# 8.0. I have to admit, at first I didn't "get it" but I've been doing some serious research on my own over the past few weeks, and had an aha moment when I read the accompanying research document linked to in this page. By allowing method implementations in interfaces, this would enable "traits" in C#, which has proven itself to be a very powerful programming paradigm in other languages. So what are traits? Traits can be thought of as something between an interface, and a mixin. Basically, it allows you to create chunks of reusable code that provide "behavior" aspects to classes, but by definition are not allowed to hold any state. We can do this now via interfaces, but it's up to the class itself to implement the behavior, thus negating the... Read More...
29 December 2018
Dashlane Password Manager: The One Password Manager to Rule Them All
Over the years I've tried quite a few password manager/autofill utilities, and none of them have quite offered the full integration experience I've needed, at least nothing above and beyond what browsers and operating systems have built into them...I've always ended up uninstalling them and going back to whatever is built in. My last attempt at this was LastPass, but it just felt kludgy, and got in my way more than it actually helped (continuous prompting for 2 factor auth, and the mobile apps were pretty bad). Why do I need a password manager? Why does *anyone* need a password manager? For me, I've always been looking for something cross platform as I have myriad OS's, browsers, platforms...and each has its own built in solution, but of course it's locked to that one "thing". iOS's keychain is actually my favorite since it's literally one click and done, but this does me no good on my Windows machines (I don't use Apple laptops). Firefox has... Read More...
12 December 2018
The Web Is The New Desktop: Microsoft Announces Chromium To Power Edge
I remember a heated debate I had with a colleague years ago about how web browsers are platforms (he was arguing they weren't...the irony is that he was a designer, but that's neither here nor there), and if the past few years have been any indication, this is most decidedly the case now more than ever. And most would argue that Chromium is what is now powering this "new desktop", especially when you factor in Electron, which powers many apps like Slack, Teams, VS Code, and a whole slew of others. Electron is powered by Chromium, but is owned by GitHub (which in turn is now owned by Microsoft). Seems like a tangled love story, but really what this means is that Microsoft now has a substantial amount of skin in the future of Chromium since it owns the platform (Electron) that is powering a huge new wave of "desktop" apps. Microsoft has had a storied history of different frameworks for desktop apps: Windows Forms, Then WPF and XAML (which was quite nice admittedly... Read More...
27 March 2018
Career Advancement: The Highly Sought After Solutions Architect Role
Recently I attained the title of Solutions Architect in my career, which is exactly what I wanted to be when I embarked on this career path 16 years ago. Even though I’ve basically been doing the role of a Solutions Architect for a few years now, obtaining the official title and the official responsibilities has been such an incredible feeling for me. So what is a Solutions Architect, and what do we do in the field of software engineering and product development? First some background. At most point in a software engineer’s career, a choice must be made on what path to pursue, and this usually happens around the time a developer hits the Sr. Developer waypoint: Diverge and go into management, or continue down the technical path, towards the architect end of the spectrum. In a nutshell, Solutions Architects are generally the most senior technical individuals within the organization. The next level up would be an Enterprise Architect, but for the most part, EA’s are more... Read More...
27 August 2017
JK [DOT] COM Version 4.0 Launched: Rebranding and Refocusing
Ladies and gentlemen, I present to you JK [DOT] 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... 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...
More Posts Next page »