There are situations where you don't have a wifi or LAN available but you would like to exchange some files. Then you find yourself copying to a usb stick and giving it to your colleague. You are probably sitting together on the lobby of a hotel, a train, a plane, it doesn't matter, but connecting to the internet or a local network is not an option.

Wi-Fi Direct is a standard to connect with each other without a wireless access point. So, if your two laptops are close enough, you should be able to take advantage of your wifi antennas to transfer data faster than using the usb.

.NET has a bunch of classes to help implementing this. Unfortunately, (IMO) they are all designed to be used from UWP or Windows Store apps, and it is sort of a nightmare to use them from a simple Console application (or a Windows service, which could greatly benefit from this functionality). I'm going to explain how to use the old PeerFinder (available since Windows 8.1) to transfer data using Wi-Fi Direct from a simple C# Console program. Full source code available on GitHub.

We have just released BL775 and it includes a number of visual improvements native Plastic SCM GUI for OS X. They are small touches that help creating a more polished tool, something that is a priority for us since OS X is definitely one of our more important platforms.

The following screenshots shows the new syntax highlight in diff plus the line numbers. It also shows the improved selection in lists, with the white text on blue background.

Code repositories can give you lots of useful information about how you work with your code. This post will explain how to extract part of this information and how to visualize it using powerful tools such as Power BI.


Getting the information

The Plastic SCM command line tool allows you to export all the information you need from the commits. Unlike Git, Plastic SCM allows you to export logs in XML format so you can parse from Power BI without having to develop a parser.

While the office is not far, I code from home very often. So I want to keep track of the location of each checkin to extract some statistics later on, and figure out how much code I check in from each place. In fact, I have checked in some interesting code from planes too, and I added the info on the comments, which is fan to read later on.

So, I have been using a small trigger for about a week now, tracking the exact location of each of my checkins and adding the info as attributes to the changesets in Plastic.

The trigger code is available on GitHub and you are free to modify it and tune it for your own purposes. Each time I checkin I get a notification like this one on your desktop (Windows only so far):

Today we released plasticnotifier, a small utility to monitor Plastic SCM repositories and notify about new changesets on the Windows Desktop using “toast notifications”.

We published the code and binaries on GitHub so feel free to download it, use it and of course modify it for your own needs :-).

Toast notifications are these small panels showing up on the right side of the screen, displaying useful tips about running apps.

Creating Toasts notification is straightforward if you are coding Universal apps, but it takes a little bit more when you are on desktop or console apps.

This blogpost shows how to create Toast notifications from a C# console application. The code is available on a GitHub repo (pushed from Plastic, btw) and it runs both on W10 and W8.x.

SemanticMerge just turned 2.0 and we’re all very proud of it. It is the first major release since we launched the product back in 2013.

2.0 features a totally redesigned user interface that makes it more suitable for daily use. Now it is not just the tool you use to handle tough merges. Thanks to the new design it is now the tool you can use on a daily basis for a wider range of scenarios. It is more intuitive and easier to use.