Cisco AnyConnect “failed”, and no VPN for me

I often use Cisco AnyConnect to remotely work on my machine at Purdue via VPN. Unfortunately for me, this morning instead of moving on to my Remote Desktop connection, I got this pretty error message:

Cisco AnyConnect - Failed to initialize connection subsystem


“Failed to initialize connection subsystem”. Great.

Looks like a recent Windows 8.1 update, in order to fix a TLS bug, broke the compatibility for the GUI component of Cisco’s VPN solution. Fortunately, Microsoft promptly released a fix, and will include a full-fledged patch in the next Patch Tuesday rollout.

More info on the temporary patch, including a manual way of fixing it very quickly, can be found on Chris Tierney’s blog (thanks!!):

which in turn got it from another blog, which in turn got it from a YouTube commenter.

Here are the few easy steps, straight from Chris’ blog:

  1. Close the Cisco AnyConnect Window and the taskbar mini-icon
  2. Right click vpnui.exe in the “Cisco AnyConnect Secure Mobility Client” folder. (I have it in “C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\”)
  3. Choose “Troubleshoot compatibility”
  4. Choose “Try recommended settings”
  5. The wizard suggests Windows 8 compatibility.
  6. Click “Test Program”.  This will open the program.
  7. Close
  8. Some people may need to repeat the above steps for vpnagent.exe. That is the local service that supports the client user interface.

The power of the Internet saved my day 🙂


VirtualBox and Hyper-V can stop fighting

I work a lot with sensor networks and TinyOS. Since the configuration of the development environment can sometimes be tricky, I like working in a ready-to-use Virtual Machine. The VM I use is a 64-bit version of Ubuntu, executed in Oracle VirtualBox.

I also do a lot of work in Visual Studio, including apps for Windows Phone, and for the emulator, Microsoft Hyper-V is required.

I found out soon (and painfully) that you can’t have two hypervisors active at the same time. In fact, I kept trying and trying, and this was literally driving me crazy: my TinyOS virtual machine in VirtualBox would not start, saying that “VT-x is not available“. Of course, in reality VT-x was available, and activated in the BIOS, so at first I really couldn’t understand what the problem could be.

So, the issue is that VirtualBox will not be able to work properly if Hyper-V is active, and vice versa.

The solution for many is uninstall Hyper-V, and reinstall it when you need it again, but this seemed crazy to me. I then ran into this great post by Scott Hanselman (love that man!), and it totally saved my day. His solution is to create a new boot option for a configuration of Windows 8 with Hyper-V disabled. You are then able to boot into one or the other configuration, depending if you need to work with VirtualBox or Hyper-V.

The steps on his blog post are very easy, I’ll quickly recap here:

  1. Make a copy of the current boot configuration:
    C:\>bcdedit /copy {current} /d "No Hyper-V" 
    The entry was successfully copied to {ff-23-113-824e-5c5144ea}.
  2. Disable Hyper-V for this new configuration (be careful to use the same GUID from the output of the previous command):
    C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off
    The operation completed successfully.
  3. Go to the Power menu in the system, as if to shut down the computer, but instead click on Restart *while holding the SHIFT key down*. This will lead to a menu that lets you choose which boot configuration to launch after the reboot.
  4. Click “Use another operating system”
  5. Select “No Hyper-V”

Now Windows 8 will boot with Hyper-V disabled and VirtualBox will be able to work perfectly, even with 64-bit guest OSes.

Hope this will help! [And many thanks to Scott Hanselman (@hanselman) for being awesome 😉 ]

The new a sneak peek at the future of the Web

Around the same time of the 2014 edition of //build, the annual conference unveiling all the new Microsoft products, the Internet Explorer team released the beta version of a new, very particular website, called On that website it’s possible to see all the features of IE that are currently being developed, already supported or still just under consideration. Today, the website is officially out of its beta phase, and it’s up and running for everybody to use it.

IE-StatusModernIE contains a lot of useful data: the list includes CSS3 features, performance improvements, DOM capabilities, device support, … the list is very long. For each of these categories, all the relevant elements are included (for example, under the CSS category we can find CSS3 Transforms support, Box Alignment support …). Also, every item is very detailed, showing:

  • a small description of the feature,
  • what’s the status of the proposed standard for the W3C,
  • what’s the current status of its development (“Under Consideration” or “Included since IE9+”, …),
  • which ones of the major browser support it or are considering/developing it (remember


All the data on the is completely open source, as well as the entire website. Both of them are available on GitHub under the Apache V2 license. This is kinda cool, as it lets other application leverage all the data collected on this website and, maybe, provide new, fun ways to explore the support of the “next Web” by all the major players in the browser landscape.

Also, the website is great on mobile device, such as phones or tablets. This way, it’s even easier to look-up the features you need for a specific website and see what’s the state of their support on IE (and all the other major browsers).

The new and improved IE F12 Developer Tools

With the Windows 8.1 Update, the latest version of Internet Explorer 11 brought some important updates for the developer community.

For those new to the F12 Developer Tools, these are a set of useful tools aimed at making it easier to develop and test Web pages with Internet Explorer. These tools, for instance, provide advanced DOM analysis and JS debug features right inside the browser. It is thus possible to explore all the applied CSS styles, the DOM nodes, or the loaded scripts, and at the same time make real-time changes to see how they reflect on the page.

First introduced with Internet Explorer 9, the F12 Developer Tools have never stopped improving. And the latest release is definitely the most complete and powerful yet. Let’s take a quick look at the major improvements and new features of this new update.

Change-bars and Changes tab (or “Ehm… what did I do?”)

Yes, it’s great to be able to make changes to the CSS and see them applied real-time. However, it’s also easy to lose track of all the things we change while making the Web page perfect, and this is less great. When making many changes, the new Change-bars of the F12 Developer Tools come really in handy.


This feature add a colored marker next to all the properties that were changed, using meaningful visual clues to represent the kind of modification that occurred. In particular, changed values show a little orange bar next to the property name, while newly added elements have a green bar.

By right-clicking to any property, it’s also easy to “Revert item” to the original value.


To avoid having to individually select every node looking for Change bars, the new “Changes” tab will provide a super-helpful summary of all the properties that were changed.

Just My Code: debugging MY script

This has happened to every Web developer at least once: when using a third party library such as jQuery, the debug of your code keeps stepping into the minified JavaScript of that library, making it painful to actually get some work done. Once you get in there, also, it might take a while to “step out”, and a 5-minute modification debug quickly turns into a way longer session of work.

The latest F12 Developer Tools include a new feature called “Just My Code” that can change this situation. In particular, it allows the developer to mark some script files (such as the jQuery ones) as ‘library code’. The debugger, then, will never step into them, making it easier to debug one’s own code. In the same way, no exception raised and handled inside library code will surface to the developer.


By default, IE F12 considers any “minified” script file (i.e. named *.min.js) as a third party library, but it’s easy to mark or unmark any file as library code.

Other new features

Very quickly, many other features (great for Web development) have been introduced into the latest version of the F12 Developer Tools. Here are some of the most important:

Support for Source Maps: it is now possible to work with Source Maps, a community-driven format that maps source script files written in other languages (like TypeScript) to the actual, compiled JS files.

Improvements to the Console: many improvements were applied to the Console. For example, Local variables are now integrated into the IntelliSense for the Console. Also, console messages are now recorded even when F12 gets lauched.

Debugging: it is now possible to store the breakpoints and watch variables that were set during a debug session to find them the next time.