Secret sauce: Build your Windows/Linux Desktop/Server virtual machines in advance, configure them the way you want and mark the hard disk as read-only. Then spin up new VM’s using differencing disks. Super fast & low disk usage.
This isn’t a “What is Docker?” post; you can find those everywhere, written by people who understand it, and can explain it, much better than I. This is a quick & dirty “get-it-running” primer.
A Docker image consists of a “base layer” (usually a slimmed down version of Linux, or Windows) and software additions/modifications layered on top.
I’ll use Jenkins as a working example. To download the Jenkins image from the Docker store:
The other day I came across a StackOverflow comment so valuable (and, unfortunately NOT marked as the answer), I had to share.
First, a little context: I was debugging a webapp and popped open Fiddler to check some HTTP requests. Unfortunately, the site uses HSTS (HTTP Strict Transport Security) and was greeted with Chrome’s warning page letting me know that I couldn’t view the site.
HSTS prevents man-in-the-middle shenanigans, which was currently being introduced by Fiddler’s SSL cert
Disabling TLS 1.0 is required to pass PCI scans. I’ve done this before, and it’s fairly trivial in most cases, but when I disabled it on my e-commerce server, VevoCart started complaining. The UPS shipping estimate web service call failed, as well as our credit card processing system (which I didn’t find out about until later).
The outbound call to UPS fails because it defaults to TLS 1.0. The simple workaround was to use disable TLS 1.
There’s a lot of information out there on how to use Visual Studio Team Services (VSTS) to build and publish to Azure websites, but not a lot on using Web Deploy, so here it is.
First, make sure you can successfully publish to Web Deploy via Visual Studio, because that’s what VSTS will use.
Take note of the name you use - you’ll need that in your VSTS Build step.
If you use Fiddler (on Windows), it will set your proxy settings to http=127.0.0.1:8888;https=127.0.0.1:8888.
If, for some reason, it doesn’t shut down cleanly, it might not undo that proxy setting, and your internet will cease to function.
At first I just rebooted, but I still had no web access. I could ping 8.8.8.8 so I knew I had connectivity. I could ping www.twitter.com, so obviously DNS was resolving. The proxy setting was the next thing I checked, and there it was, mocking me:
An e-commerce site that I maintain had been working fine, then all of a sudden emails stopped sending. We started seeing this error:
Mailbox unavailable. The server response was: 5.7.3 Requested action aborted; user not authenticated
We hadn’t changed any code, and our username/password worked fine on the web. It turns out that our web host migrated our website to a new server (with a new IP address), and Microsoft’s security settings kicked in, preventing the emails from being sent.
You want to be like all the cool kids and use Git? Me too. Have a ton of source code history you don’t want to lose? Me too.
The steps below will create a Git repository from your Team Foundation Version Control source code including all historical versions along with their comments.
Note: This is for Microsoft’s Visual Studio Online cloud offering (formerly known as Team Foundation Service), not to be confused with their standalone Team Foundation Server (TFS) product.
In a month, I had hoped to get 5, maybe 10 beta testers if I was lucky, and I thought I’d have to beat the street posting on Google+, Facebook, Twitter, etc.
I ended up with 40 registered beta testers, with only a couple posts on each network!
Beta testing should start shortly - I still have some visual tweaks to make. I’m coding specifically for web browsers, however, I want to make sure the experience degrades nicely on smaller devices.
I have a mixed WebForms/MVC web project that worked fine in Visual Studio 2012, but failed horribly when I moved to Visual Studio 2013 Release Candidate.
All of my WebAPI’s stopped working. Apparently there are changes to routing with the latest Visual Studio release. Previously you did not have to manually specify route information if you were using attribute routing, and now you do. It says that more changes are coming too: http://blogs.
Due to a cancelled flight, and other delays, we missed the first day of the Hackathon, but we weren’t deterred. A coworker and I embarked on an ambitious Windows Phone/Azure application that, while incomplete, proved to be a great learning experience.
Our Windows Phone 8 application was similar to “The Amazing Race” where a player had to complete various checkpoints, and the first player to complete them all, wins.
At each checkpoint, the player would have to answer trivia based on the geographic location of that checkpoint.
One month in to my side project, and It’s going well. I now have a name for it, however, I’m not ready to disclose it until it goes live.
The concept is simple: You enter in your assets & debts, it plots out some charts/graphs about your net worth, and then its publicly available for anyone/everyone to see. If everything goes smoothly, I’m hoping to be ready to launch at the end of May.
I participated in the hackathon at Microsoft Build 2012 and made it to the finals.
My project was the old card game, Speed. It was the first time I’d ever coded with graphics, and definitely the first time I’d ever written code for a touchscreen. I was proud of what I’d built in my spare time between sessions, and incredibly happy to have made it to the finals considering I was a team of one.
I don’t have a static IP, but with a cable modem, it rarely changes (as opposed to when I had DSL it changed weekly). The fact that it changes so rarely is what frustrates me - it always catches me off-guard.
I feel lost when I’m remote and I can’t get to my home network, so I wrote an app that: runs every 5 minutes, determines if I have a new IP, and if so, sends me a text message with the new IP.
Recently, Scott Hanselman challenged software developers to blog more - to stop “wasting their words.” He emphasized how important it is to own your own domain and content and so I looked for a way to self-host a Wordpress blog, for free. (I chose Wordpress because I previously had a Wordpress-hosted blog)
Here’s how to do it:
Sign up for Microsoft BizSpark** program. Sign up for Windows Azure using the BizSpark Azure benefits Create a new Wordpress blog website (from the gallery) Create a CNAME with your domain registrar to point your www name to the name Azure gives you.