I’m very excited to announce the general availability of Raygun.io – the best way to record, track and manage errors in your applications!
Raygun is a cloud service that records all your software errors, including a lot of information to help with diagnosing the problems. Let’s dive in and see if Raygun could be right for you.
Do any of these ring a bell?
How will Raygun make your job easier?
These features have been designed to help reduce notification overload and reduce your time to resolve an error.
All Raygun accounts, from the smallest to the largest, can have an unlimited number of users associated with it.
Raygun also supports multiple applications per account so you can easily track every moving part of your software easily.
At present we have support for .NET, WinRT, NancyFX and PHP. You integrate a small component into your software and set an API key and you’re good to go!
Support for Ruby, JavaScript, Objective-C, Java and Cold Fusion is coming soon and already under development. If you’d like to get early access to these providers email us at hello@raygun.io.
Application errors can be costing you time and money due to lost sales. We have a team dedicated to the development of Raygun and are already processing millions of application errors every day. Whatever the size of your application and needs we can support you.
Setting up Raygun doesn’t take long at all. Standard integration time is measured in minutes and you can be logging errors quickly.
All accounts include 30 days free trial of our largest plan so you can see how much better zapping errors can be!
BOOM! That’s the sound of the worlds best .NET ORM getting a major update! :-)
We’re excited to be announcing the immediate availability of the LightSpeed 5 Beta.

We have a big list of addition, changes and bug fixes so for now I’m just going to highlight some key differences in this post. In January we’ll be running a series on the major features when the final version is released.
Compiled Queries
Compiled queries allow you to speed up querying by having LightSpeed pre-parse the expression and get it ready for sending to the database. This provides a great speed up on repeated queries even if the parameter values change.
Then we got to thinking.
What if common queries (e.g. fetch by Id and others) were always pre-compiled behind the scenes?
What we found was huge: the performance benefits were great. This led us to turning on compiled queries for certain queries by default so you don’t need to use the compiled queries syntax. This resulted in a 60% performance boost. Free performance gain for all LightSpeed users — always a good thing. Especially good since LightSpeed is already blazingly fast!

Note: Posting any sort of performance comparison typically results in howls about how unfair they are or unrealistic but this highlights the speed of LightSpeed’s querying engine for a simple case. Suffice to say, LightSpeed does awesomely in complex scenarios also :-)
Database provider changes
We are working towards allowing end users to implement their own database providers and to allow support for mobile scenarios, to that end we have made some under the hood changes to the provider infrastructure in 5.0 as well as refreshing our supported providers.
Of note:
Visual Studio 2012 Support
We have had this in the nightly builds most of this year, but it’s worth mentioning again – LightSpeed 5 ships with full designer support for Visual Studio 2012, Visual Studio 2010 and Visual Studio 2008.
Additionally we have dropped the .NET 2.0 only compatibility build of LightSpeed so that LightSpeed can more directly make use of .NET 3.5 features in the core runtime.
Ever improved querying
We have continued iterating our querying support since 4.0 RTM with the core runtime now supporting HAVING expressions and more advanced sub-queries. For LINQ we have improved our handling of more complicated grouping queries and use of sub-queries to support staged query construction using IQueryable. The core runtime now also exposes a RawSql property on the query object to allow arbitrary SQL to be expressed where previously stored procedures or FindBySql would need to be used – this allows joining on an arbitrary SQL statement to handle situations where you need to explicitly control the SQL being emitted.
Small acorns
Whether it’s the ability to get an offending Validation rule when checking an entity is valid, or get more details about your entities using the LightSpeed.Meta framework, you’ll find something to delight you with LightSpeed 5. We look forward to hearing your feedback on the beta and we can’t wait to get LightSpeed 5 final out early in 2013!
The LightSpeed 5 Beta is now available to all active customers, and you can download this from your My Account page now!
Non-customers will have the 5 release in very early 2013 (or you can upgrade from LightSpeed 4 Free Edition and get the beta).
Today we are pleased to announce version 3.0 of our WPF Diagrams framework is now available. Download the free trial version from here, or if you are a customer, upgrade from your account page. For those who don’t know, the diagrams framework provides support for rendering and editing diagrams consisting of nodes and connections. The framework includes model diagram classes, visual components and controls for adding and editing the various parts of a diagram. The built-in model componenets can be extended to provide your own business logic, and the visual elements can be fully customized to create stunning effects that suit your application.
Huge Performance Boost
The main addition to version 3.0 is the immensely improved performance. The diagram rendering engine can now support thousands upon thousands of diagram elements. This is mostly noticable by the dramatically improved loading time. All other operations such as panning, editing and exporting have also been improved for large diagrams.
Connection Bridges
Another nice improvement to the framework is the ability to render bridges over intersecting connections. Managing the potentially large number of intersecting points has been made possible thanks to performance improvements mentioned above.
The connection intersections are always calculated, but by default the bridges are not rendered – all you need to do is switch them on. This is done by using a CorneredPathBuilder which is responsible for taking the logical connection model and generating the path geometry. To use this, you create a new connection style in the usual way and set the PathBuilder to be a CorneredPathBuilder with the IsIntersectionBridgingEnabled property set to true. Below is a simple example of how to do this:
<ms:CorneredPathBuilder x:Key="PathBuilder" IsIntersectionBridgingEnabled="True" CornerRadius="0" /> <Style x:Key="ConnectionPathStyle" TargetType="Path"> <Setter Property="Stroke" Value="Black" /> <Setter Property="StrokeThickness" Value="2" /> </Style> <Style x:Key="ConnectionStyle" TargetType="ms:DiagramConnectionElement"> <Setter Property="PathBuilder" Value="{StaticResource PathBuilder}" /> <Setter Property="PathStyle" Value="{StaticResource ConnectionPathStyle}" /> </Style> <ms:FixedStyleSelector x:Key="ConnectionStyleSelector" Style="{StaticResource ConnectionStyle}" /> <ms:DiagramFormatter x:Key="Formatter" ConnectionStyleSelector="{StaticResource ConnectionStyleSelector}" />
Last of all you would set the Formatter of the DiagramSurface to be the DiagramFormatter in the code above.
Other Changes
Like most major releases, there are a few breaking changes in Diagrams 3.0. These changes are all very minor and you can see how to work around them in the Release Notes section of the help docs. One change that will most likely impact you is that we removed DiagramSurface.ShowConnectionPoints property. To work around this, you simply don’t need to set this property to True anymore so it can be removed.
Also, as always, there’s a bunch of bug fixes and general improvements.
Get it now!
You can download the free trial version of WPF Diagrams 3.0 from here. Or if you are already a Diagrams 2.0 customer with active subscription, then you can upgrade for free by going to your account page. If you have any questions about this new release you can drop by the forum.
Happy Coding :)
I’m excited to announced a new product coming from Mindscape soon: Raygun.io.
Raygun is a simple (read: take 2 minutes to setup) error collection, reporting and management service. At present it supports .NET and JavaScript but over the coming weeks will support many more languages and platforms (iOS, Android, Rails etc). When an unhandled (or handled if you want to report it) exception occurs, it gets published securely to Raygun.
You can login, view exceptions in your application, promote them into your own ticketing system, choose to ignore them, mark them as resolved and more. Of course we know a lot of folks manage more than one application so there’s a unified dashboard to track multiple applications at once and trend analysis of your applications health.
Here’s a very preliminary application shot (subject to a lot of change):
All software has bugs. The common experience we see is that either exceptions are ignored or a developer might have unhandled exceptions emailed to themselves. Even in the best of situations, this doesn’t scale:
You should never under estimate the impact of the bugs in your applications:
Raygun is currently in early beta. We’ve setup a site to take interested parties on board slowly. We’d love to have you on board soon – the sooner you sign up the sooner we can send you a beta invite. We’re expecting to add initial test users soon with new users being invited daily after that (we’ve had a lot of interest so far, so sign up soon to get in earlier).
Sign up now and share the love. Let’s make the world’s applications more reliable.
John-Daniel Trask
Co-founder
Mindscape
P.S. We’ll be releasing new information regularly as we gear up for public launch. By signing up you’ll get emails about that progress and the cool features you’ll be able to take advantage of.
In today’s Metro Elements update: Animations galore! As you all know, animations are a big thing in Windows Store apps. Not only are they good to look at, they aid in notifying to the user that something has changed. When used in conjunction with touch gestures, you can create some fantastic user experiences.
TransitionContentControl
WinRT has several built in animations for common application scenarios, but to help you even further, we have added the new TransitionContentControl. This control lets you specify an enter and exit transition which will be used to animate the content whenever it changes. Here are some examples of this in action:
Slide:

Spin:

Zoom:

As you can see below, this control is very simple to use. The content and transitions are binding to values in the data context. When the content changes, the animations kick into action. (At the moment is is easiest to bind the transitions or set them in code, convenient xaml support will come soon).
We provide several transitions to get you started which can be found in the PresetTransitions class. This includes fading, sliding, zooming and rotating transitions for various directions.
In some scenarios, you may find that you want different transitions depending on how the content is changing. For example if content is being navigated left or right, you’d want to dynamically pick different transitions to indicate this to the user. For these scenarios, you can implement the IStoryboardTransition interface. The GetStoryboard method takes in the old and new content which you can use to select an appropriate Storyboard. Here you could either select one of our prebuilt transitions and return their Storyboard, or you could build up your own storyboard for more complex scenarios like what we’ve done for zooming the new CalendarControl seen below.
CalendarControl
One of the controls we provided early on was the MonthCalendar. This has now been renamed to the CalendarControl as it now supports additional views. Other improvements we have added to this control are:
Below is an example of what you can produce with these new improvements. A custom ICalendarDataProvider fetches a WeatherInfo object for each day in a month, and a list of temperature data for each month in the year view. Custom templates display this data in an appropriate way. This one control will suite all sorts of scenarios including a way to display data for days or months, a scheduler control or simply a way for the user to select a date.
We’re not done yet
As these controls are still in beta, you can expect more improvements up to and beyond the final release. If you have any feature or control requests, you can let us know by posting in the Think Tank. Or if you have any questions about the metro controls, ask us in the forum.