private static void WriteFile(string path)
    {
        string[] channels = { "up", "down", "top", "bottom", "charm", "strange" };
        var      rand     = new Random(123456);

        int totalPoints = 0, totalChannels = 0;

        using (var encoder = new DataEncoder(path, "My file"))
        {
            for (int i = 0; i < 100; i++)
            {
                var channel = new Channel {
                    Name = channels[rand.Next(channels.Length)]
                };
                int count = rand.Next(1, 50);
                var data  = new List <float>(count);
                for (int j = 0; j < count; j++)
                {
                    data.Add((float)rand.NextDouble());
                }
                channel.Points = data;
                encoder.AddChannel(channel);
                totalPoints += count;
                totalChannels++;
            }
        }

        Console.WriteLine("Wrote: {0} points in {1} channels; {2} bytes", totalPoints, totalChannels, new FileInfo(path).Length);
    }