We built Alive with one goal in mind: to show you what your code is doing the moment you write it. Recently, one of our users let us know that they wanted to see which lines of code were executed in their current function.
Just three months ago we released Alive v1.0 to the public. Since then we’ve been working hard to address your feedback and continue to improve Alive. In total, we published 12 releases with a focus on improved user experience, better performance and expanding the type of code Alive can run.
Recently our AppVeyor builds started to intermittently fail with message Build execution time has reached the maximum allowed time for your plan (60 minutes). We fixed it with a one line change to the .csproj
So it turns out when you rewrite two compilers over the better part of a decade, you end up learning a thing or two about performance. Such was the case when the Roslyn team decided to rewrite their compilers for C# and VB .NET in their respective languages.
In Part 1, we discussed four facts about performance in a large, user-facing, managed codebase. Ultimately most fixable bottlenecks in these systems come down to allocations and the garbage collector (GC). Today we’ll look at a common source of wasteful allocations: Boxing.
It’s been almost six months since we first announced Alive and we’ve been working hard building out features and fixing bugs. Today we’re excited to announce Alive v1.0 and with this release we’re finally able to offer a free 30 day trial. You can download Alive from the Visual Studio Gallery and start the trial from within Visual Studio.
With Alive scheduled to be released as v1.0 on October 26th (psst, that’s when the discount for early adopters ends!) I wanted to look back in time at Alive, as it grew from a toy and into a tool. Our early adopters played a huge role in the evolution of Alive’s user interface. Many actively requested features or new behaviors while others helped shape it by discussing their pain points and areas where Alive could be improved.
At Code Connect, we need to generate C# code that runs our user’s unit tests. We devised an internal code framework which discovers relevant methods (e.g. test methods, test initialize and test cleanup) and builds C# code which invokes them in the order that testing framework would invoke them.
Bret Victor is singlehandedly responsible for popularizing the ideas behind live programming amongst today’s programmers. In his famous essay Learnable Programming he outlines a set of design principles that should guide the creation of a modern programming environment.
Occasionally when working on Code Connect and Alive Visual Studio would cease to build our VSIX package. The error we would see said
Extension '<GUID>' could not be found. Please make sure the extension has been installed.
When migrating to Alive to the final release of Visual Studio 2015, we noticed that some of our DLLs were not getting copied to our output
.vsix file. Specifically, the
Microsoft.CodeAnalysis files were giving us a lot of trouble. We’d set
CopyLocal to true and verified they were being copied through to
/Debug/bin folder. Despite this they were still not being copied through to our
Today we’re pleased to release the Alive Beta. This is our biggest release since our initial alpha launch one and a half months ago. The graduation from alpha to beta is more than just a name change and includes a bunch of new features and bugfixes.