Vancouver Tech Fest 2012

by anton.venema 4. May 2012 21:54

Four of us here at Frozen Mountain had the opportunity to take part in Vancouver Tech Fest this past weekend. What an awesome event! Great people, great presentations, great food... If you live in the lower mainland of BC or northwest Washington, you owe it to yourselves to check it out.

Scott Guthrie delivered the keynote this year, and his talk, along with several others, focused on Windows Azure. There's been a lot of attention around Azure lately, and it's great to see some momentum building up. The economics of the system are compelling, and with performance and stability improving constantly, there are fewer and fewer reasons not to use it.

Scott Guthrie w/ Frozen Mountain
Frozen Mountain's Canadian team with Microsoft's Scott Guthrie
From left to right: Chris Hrica, Ben Swayne, Scott Guthrie, Anton Venema, Patrick Pang

Tags:

WebSync 3.5.0.8

by anton.venema 19. April 2012 20:41
Another minor release to tide everyone over until WebSync 4 is released. This one updates log4net to 1.2.11.0 to avoid conflicts with other libraries and adds some SQL enhancements to reduce the number of deadlocks encountered under load. Head on over to the Downloads page to pick up the latest!

Tags:

WebSync - Upcoming Features

by anton.venema 28. February 2012 01:01

WebSync 4 has been actively in development in parallel with WebSync 3 for a few months now. We receive questions regularly asking, "What features are going to be included in WebSync 4?" To answer this, we've put together a list of the most significant changes. This is by no means a complete or final list - just what we think you'll find interesting at the moment. Please contact us if you have any questions or suggestions - we love to hear from you.

  • WebSocket protocol support
  • Guaranteed message ordering
  • Multiple callbacks per subscription
  • New client-side libraries built specifically for Windows Phone 7.0 and 7.1
  • New client-side libraries built specifically for .NET 2.0, .NET 3.5, and .NET 4.0 Client Profiles
  • New client-side library for Mac OS
  • New client-side library for WinRT/Metro
  • New Client.Service method for sending data to the server without broadcast
  • New Client.Notify method for sending data to a specific client without subscribing
  • New Chat extension to abstract away clientId-userId mappings in applications that implement chat features
  • New Filter attribute for server-side events so they only fire for specific channel/key patterns
  • New methods on WebSyncEventArgs for automatic parameter extraction from channels
  • New logging provider to support non-log4net logging frameworks
  • Many tweaks to the API to improve consistency and ease learning curve
  • Many updates to online documentation
  • Enhanced security features

As always, we will maintain:

  • Bayeux protocol compliance
  • Support for web browsers back to IE 5.5 and .NET back to 2.0
  • Simple aspect-oriented server-side programming
  • Awesome support/performance you've come to expect

There are a couple other cool features we have planned, but we don't want to ruin the surprise :) We're currently projecting an April release - stay tuned!

Tags:

Analyzing Long-Running SQL Queries without Profiler

by jerod.venema 17. February 2012 22:48

Recently, I had an issue where a server I maintain was randomly "freezing" momentarily. Not for long, but for 20-30 seconds, I would get no response. This was highly noticeable, because the application is a real-time communications application, and the users would momentarily be unable to communicate.

A quick review of the log files showed occasional SQL timeouts. I immediately figured we had some sort of blocking issue, so I decided to fire up SQL Profiler to find the culprit...only to find out that this installation didn't have profiler.

No problem, I figured; I'll just grab that nice standalone profiler from AnjLab. Download, install, run...System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.SqlClrProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. Ouch. Probably not AnjLab's fault - the installation on this server obviouisly has issues.

So, back to the basics. Pure SQL. A few looks on Google and a couple minor adjustments, and I came up with this:

-- get the longest running sql statement
declare @sqltext varbinary(128)
select @sqltext = sql_handle
from sys.sysprocesses
where spid in (
	select
    top 5 p.spid
	from master.dbo.sysprocesses P
	where P.spid > 50
	and P.status not in ('background', 'sleeping')
	and P.cmd not in ('AWAITING COMMAND',
                          'MIRROR HANDLER',
                          'LAZY WRITER',
                          'CHECKPOINT SLEEP',
                          'RA MANAGER')
order by 
	-- this ridiculous statement orders by the 
        -- length of processing time, so we get the 
        -- longest running query first
	right(convert(varchar, 
                  dateadd(ms, datediff(ms, P.last_batch, 
                  getdate()), 
                  '1900-01-01'), 121), 12) desc)

select [text] from ::fn_get_sql(@sqltext)

This is a very handy, raw SQL statement that'll get you the top 5 queries currently running, ordered by the length of time they've been running. Pretty basic, but it'll get the job done!

Tags:

sql

WebSync Review by RobinHQ

by jerod.venema 14. February 2012 18:11

The folks over at RobinHQ in the Netherlands have put together a quick summary of the various comet solutions they tried, before finally settling on WebSync. Feel free to read about their process on their blog post.

Tags:

WebSync On-Demand Intermittent Connectivity

by anton.venema 14. February 2012 03:31

We are aware that some customers are experiencing intermittent connectivity to the WebSync On-Demand cloud. We have technicians investigating the problem and will report any progress as it is made.

Update 3:45pm: The WebSync On-Demand cloud should be back online as of a few minutes ago. Please contact us if you are still experiencing any issues. We are currently investigating the cause of the error and will be taking steps to ensure it does not repeat itself.

Update 4:05pm: Our investigation has uncovered an issue with our usage statistics compilation routines. Temporarily, we have taken new usage reporting offline to prevent any further service outages. You will still be able to access historical usage data, but new data will be unavailable until we can improve the routines.

Update 6:05pm: New usage data is being tracked again. Please let us know if you are experiencing any issues with cloud availability or usage reporting in the portal.

Tags:

WebSync 3.5.0.7

by anton.venema 17. January 2012 01:40

Another maintenance release for WebSync Server was released today - version 3.5.0.7. This is a very small update that resolves an issue with the idle disconnect SQL query (only affects the sticky SQL provider). Head on over to the Downloads page to pick up the latest copy.

Happy coding!

Tags:

WebSync 3.5.0.6

by anton.venema 22. December 2011 01:22

Another maintenance release is out, bringing WebSync up to version 3.5.0.6. Head over to the Downloads page to pick up the latest copy.

Just a couple fixes in this one. IE should no longer throw a c00c023f error under any circumstances. We had previously applied a fix for the error occurring on page unload, but there was one additional case where it seemed to crop up. This one should be done for good now, but if you do happen to see it, please contact us with details about the conditions under which it occurs.

We also added a fix in the server-side initialization to account for cases where the location of web.config is non-standard, non-existent, or inaccessible for any reason. This should help with integration into third-party servers as well as when using SharePoint or other software that affects standard reading of configuration files. The symptom of the problem was a string of object reference errors in the logs when connecting clients. If you were affected by this, you should upgrade to this version as soon as possible.

That's all for now. Happy coding!

(And merry Christmas!)

Tags:

Tech Werks + Frozen Mountain = APEC Summit Success

by jerod.venema 30. November 2011 23:32

Hey folks, we recently had an interesting discussion with some of the folks at Tech Werks about a recent implementation of WebSync On-Demand. The following is a summary from their founder, Bill Baker:

Tech Werks, a video streaming technology company, has been working with Frozen Mountain for several years, integrating Frozen Mountain's WebSync On-Demand services into their video encoders and live presentations. 

In addition to their work with various national and international television networks, Tech Werks supplies video streaming services and specialized on-line applications for the United States State Department. 

Recently, Tech Werks supplied these services for the APEC summits. The most recent Summit (November 2011) was held in Hawaii and involved many world leaders, including Presidents from the US (Barack Obama), China (Hu Jintao), Russia (Dmitry Medvedev), and Japan (Yoshihiko Noda).

During the primary Summit meetings, several world leaders had PowerPoint/KeyNote presentations.

The State Department asked Tech Werks to supply a system whereby each leader could use a simple tablet device (iPads in this case) to display and control their presentation, and send this presentation in real time to 25 other tablets for each leader to view. 

Needing a solution quickly, Tech Werks turned to Frozen Mountain's WebSync On-Demand comet solution as the real-time delivery service. 

Tech Werks integrated Frozen Mountain's WebSync On-Demand SDK into their pre-existing "app", and loaded the app on over 100 tablets, 25 of which were located on each seat in the primary plenary. 

During the summit meeting, each leader had a tablet and could advance forward and backwards through their presentation, and as they did so, all 25 tablets advanced forward and backwards in sync with the presenter.  

The app worked flawlessly, thanks to Frozen Mountain’s WebSync On-Demand Service.

Tags: , ,

websync

WebSync 3.5.0.5

by anton.venema 30. November 2011 00:45

Hot on the heels of the last release, we have a quick bug fix release to bring everyone up to date. There were a number of changes in the last release, and one of them had an unexpected side effect that could cause messages to be inserted into the database but never removed. In order for this bug to affect you, you would have to be running a standalone (outside IIS) application that invoked static RequestHandler methods, but did not have an httpHandler reference to RequestHandler in the app/web.config file. Not the most common scenario, but common enough to warrant a quick fix. Head on over to the Downloads page to pick up the latest version.

Happy coding!

Tags: