<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>TheRealTimeWeb.com</title>
			<link>http://www.therealtimeweb.com/index.cfm</link>
			<description>A technology blog with a special focus on real-time technologies, web video and the Flash Platform.</description>
			<language>en-us</language>
			<pubDate>Sat, 19 May 2012 14:15:57 +0100</pubDate>
			<lastBuildDate>Wed, 16 May 2012 09:03:00 +0100</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>stefan@muchosmedia.com</managingEditor>
			<webMaster>stefan@muchosmedia.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>stefan@muchosmedia.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Move An Existing Git Repository Into Bitbucket In 3 Steps</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/5/16/move-git-repo-to-bitbucket</link>
				<description>
				
				Thanks to my good friend Simon I&apos;ve been a happy git user for a few months now. I installed my own git server on &lt;a href=&quot;http://www.therealtimeweb.com/index.cfm/2012/2/13/git-gitolite-ec2-ubuntu&quot; target=&quot;_blank&quot;&gt;Amazon EC2 using Ubuntu, git and gitolite&lt;/a&gt; and just fired it up once or twice a day to push and pull. This worked out fine but with more and more easy to use git hosting services springing up I gave &lt;a href=&quot;http://www.atlassian.com/software/bitbucket/overview&quot; target=&quot;_blank&quot;&gt;Atlassian&apos;s bitbucket&lt;/a&gt; a try since it offers unlimited private repositories which is a bonus.&lt;p&gt;
It took me a little while to figure out how to move my existing repository into bitbucket, especially since it was already tracking the existing remote repo on my server. What follows are a few easy steps that describe the process - &lt;disclaimer&gt;but note that you follow along at your own risk.&lt;/disclaimer&gt;&lt;p&gt;&lt;strong&gt;1) Create a new bitbucket repo&lt;/strong&gt;&lt;br&gt;
Yes, I did not import my existing repo since I could not figure out how to do that. I connect via ssh to my git server yet bitbucket asks for a username andpassword when importing repos that require authentication. Maybe there&apos;s a way to do it, but I did not waste any more time on it, and the way outlined here also keeps your project history in tact, and it&apos;s simple.&lt;br&gt;
Once you created the new, empty repo on bitbucket simply leave that page open, we&apos;ll come back to it in step 3.&lt;img src=&quot;http://www.therealtimeweb.com/images/bitbucket1.jpg&quot; align=&quot;center&quot; id=&quot;blogimg&quot;&gt;&lt;p&gt;
&lt;strong&gt;2) Detach your existing local git repo from its remote&lt;/strong&gt;&lt;br&gt;
I&apos;m on OSX so I used Terminal to cd into my local project folder:
&lt;code&gt;
$ cd &apos;/Users/stefan/dev/projects/myproject&apos;
&lt;/code&gt;&lt;p&gt;
You can tell git to show you the remote aliases for your project:&lt;br&gt;
&lt;code&gt;
$ git remote
&lt;/code&gt;&lt;p&gt;
To see the actual URL for each alias use
&lt;code&gt;
$ git remote -v
&lt;/code&gt;&lt;p&gt;
I then detached my existing remote from the local repo:&lt;br&gt;
&lt;code&gt;
$ git remote rm origin
&lt;/code&gt;
&lt;p&gt;&lt;/p&gt;
&lt;strong&gt;3) Add your existing project code to the new remote repo on bitbucket&lt;/strong&gt;&lt;br&gt;
Back onto the bitbucket website where you still have the page open. You did leave it open, right? If you didn&apos;t then find the option I mention below, or just nuke the project and create it again.&lt;br&gt;
There&apos;s a big fat &apos;I have code I want to import&apos; showing under &apos;Add some code&apos;. Click it.
&lt;img src=&quot;http://www.therealtimeweb.com/images/bitbucket2.jpg&quot; align=&quot;center&quot; id=&quot;blogimg&quot;&gt;&lt;p&gt;
Simples. Bitbucket shows you the exact code you need to enter into Terminal to add your project to the new repo. It looks something like this:
&lt;br&gt;
&lt;code&gt;
$ cd /path/to/my/repo
$ git remote add origin ssh://git@bitbucket.org/username/myproject.git
$ git push -u origin master   # to push changes for the first time
&lt;/code&gt;
&lt;p&gt;
You&apos;re done. If you think I&apos;m out of my mind or have overlooked something then please feel free to have a moan in the comments. Or thank me if it helps :-)&lt;p&gt;
&lt;img src=&quot;http://www.therealtimeweb.com/images/awesomesauce.jpg&quot; id=&quot;blogimg&quot; align=&quot;center&quot;&gt;
				</description>
				
				<category>Tools</category>
				
				<category>Tutorials</category>
				
				<pubDate>Wed, 16 May 2012 09:03:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/5/16/move-git-repo-to-bitbucket</guid>
				
				
			</item>
			
			<item>
				<title>Flash Player 11.2 Breaks Video Support For Some Webcams</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/4/20/Flash-Player-112-Breaks-Video-Support-For-Some-Webcams</link>
				<description>
				
				An annoying bug has surfaced in Flash Player 11.2 that breaks support for some webcams. It appears that cameras of the Microsoft Lifecam VX series are most affected.&lt;p&gt;
A few days ago a customer contacted me about an issue he was experiencing on &lt;a href=&quot;http://www.Scribblar.com&quot; target=&quot;_blank&quot;&gt;Scribblar&lt;/a&gt; whereby his webcam image would freeze immediately after starting the camera. He also noticed that this problem only occurred in the latest Flash Player versions 11.2.202.228 and 11.2.202.229.&lt;p&gt;
The only known workaround currently is to use an older version of the Flash Player - the following forum post has some details: &lt;a href=&quot;http://forums.adobe.com/message/4320673#4320673.&quot; target=&quot;_blank&quot;&gt;http://forums.adobe.com/message/4320673#4320673&lt;/a&gt;&lt;p&gt;
The &lt;a href=&quot;https://bugbase.adobe.com/index.cfm?event=bug&amp;id=3157088&quot; target=&quot;_blank&quot;&gt;initial bug&lt;/a&gt; that was filed is now Adobe internal and no longer visible (for reason only known to Adobe...), but please add your vote to &lt;a href=&quot;https://bugbase.adobe.com/index.cfm?event=bug&amp;id=3160365&quot; target=&quot;_blank&quot;&gt;this duplicate bug&lt;/a&gt; anyway if you are affected.&lt;p&gt;
I&apos;ve heard reports that there may already be a fix in Player 11.3 beta - we will know more when the final release drops.
				</description>
				
				<category>Flash Player</category>
				
				<pubDate>Fri, 20 Apr 2012 04:37:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/4/20/Flash-Player-112-Breaks-Video-Support-For-Some-Webcams</guid>
				
				
			</item>
			
			<item>
				<title>Adobe To Shut Down LCCS, Customers Badly Affected</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/3/23/lccs-shutdown</link>
				<description>
				
				&lt;img src=&quot;http://www.therealtimeweb.com/images/lccsclosed.png&quot; align=&quot;left&quot; id=&quot;blogimg&quot;&gt;After several recent announcement around Adobe&apos;s LiveCycle platform, it may not come as a surprise to some that the LiveCycle Collaboration Service (formerly Cocomo, formerly Flash Collaboration Service) will be &lt;a href=&quot;http://forums.adobe.com/message/4281122&quot; target=&quot;_blank&quot;&gt;shut down&lt;/a&gt; at the end of 2012. What may be a surprise however is the relatively short notice that Adobe is giving existing customers and a total lack of a migration path, leaving many people in a real tight spot.&lt;p&gt;
Remember that LCCS is a hosted collaboration service, effectively cloud based, that allows developers to build real-time communications right into their Flex applications. The work that has gone into LCCS is impressive, and the platform offers a range of great features such as room provisioning APIs, live and audio and video communications (both over RTMFP and RTMP) and even screensharing capabilites (but let&apos;s not warm that topic up again...).&lt;p&gt;Put yourself into the shoes of an existing LCCS customer who has made a significant investment into the product - they are pretty much on their own going forward. It is no mean feat to engineer a similar service on top of FMS (a suggested migration path by the LCCS Product Manager), irrespective of the license fees that FMS would attract. 
Says one poster on the Adobe forum: &quot;Companies may very well go out of business because of this decision. It&apos;s a pretty shameful act.&quot;&lt;p&gt;
Make no mistake, FMS is not a straight forward alternative if you are used to LCCS, and suggesting so only confuses people. This is already evident in the forums where one user asks: &quot;Will you be offering the code/installation instructions so that we can get this set up on FMS?&quot;&lt;br&gt;
Clearly the complexities of building a large scale collaborative application on top of FMS is not being grasped by some. There is no way to simply &apos;install&apos; an LCCS app on FMS. Instead you are looking at weeks, more likely months, of engineering effort. &lt;p&gt;
Some of my readers may know that a large part of my time is spent developing and maintaining &lt;a href=&quot;http://www.Scribblar.com&quot; target=&quot;_blank&quot;&gt;Scribblar.com&lt;/a&gt;, a live collaboration app built on top of Flex and FMS. When LCCS first launched I carefully considered whether or not to port my product away from FMS to LCCS - I decided to stick with FMS. With hindsight that was the right decision - had I ported to LCCS then Adobe would just have introduced major costs and headaches at best, or killed my entire product at worst. What a mess.
&lt;p&gt;
I do need to add a few words about screensharing since forum users have asked about it. The screensaver add-on for Flash Player is not simply a feature of LCCS, it also requires Flash Player hooks to work. This means that even if Adobe was to open source LCCS (which they have stated already they will not do) you would not simply have screensharing features magically appear and work with FMS. No doubt this could be done with if Adobe wanted to make it happen, but I doubt very much that they have any interest in this.&lt;br&gt;
Remember we have been asking for screensharing support for FMS for more than 10(!) years (remember my post about &lt;a href=&quot;http://www.therealtimeweb.com/index.cfm/2009/6/19/vendor-lock-out&quot; target=&quot;_blank&quot;&gt;vendor lockout&lt;/a&gt;?). Yet FMS has stood still since its 1.0 launch as far as real-time communication features are concerned - instead time and effort was spent on the LCCS side to build an entire new platform plus component set, something we have not had in FMS since FCS 1.0. &lt;p&gt;
I am gutted about the missed opportunities and I feel sorry for those businesses affected by the LCCS shutdown. If there is one positive takeaway from this then it should be the lesson of &lt;a href=&quot;http://en.wikipedia.org/wiki/Caveat_emptor&quot; target=&quot;_blank&quot;&gt;caveat emptor&lt;/a&gt; when building a business around a hosted service. If reliance on a single provider can make or break your product or service then it is time to make some backup plans.&lt;p&gt;
Have you been affected by the LCCS shut down? What are your plans going forward? Please leave a comment below.
				</description>
				
				<category>FMS</category>
				
				<category>Flash Player</category>
				
				<category>Collaboration</category>
				
				<pubDate>Fri, 23 Mar 2012 08:34:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/3/23/lccs-shutdown</guid>
				
				
			</item>
			
			<item>
				<title>Tomorrow: Getting Familiar with Flash Media Server</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/3/12/fmsug-march</link>
				<description>
				
				Joseph Labrecque will be presenting &apos;Getting Familiar with Flash Media Server&apos; tomorrow (Tuesday, March 13th) at the &lt;a href=&quot;http://fms.groups.adobe.com/index.cfm?event=post.display&amp;postid=41402&quot; target=&quot;_blank&quot;&gt;FMS Online User Group&lt;/a&gt;.&lt;p&gt;
FMSUG is thrilled to have Joseph Labrecque, Adobe Education Leader and Adobe Community Professional presenting at our March meeting.&lt;p&gt;
Date: Tuesday, March 13&lt;br&gt;
Time: noon EST, 11:00am Central, 9:00am Pacific&lt;br&gt;
RSVP: &lt;a href=&quot;http://fms.groups.adobe.com/index.cfm?event=post.display&amp;postid=41402&quot; target=&quot;_blank&quot;&gt;http://fms.groups.adobe.com/index.cfm?event=post.display&amp;postid=41402&lt;/a&gt;&lt;br&gt;
Attend: &lt;a href=&quot;http://realeyes.adobeconnect.com/fmsug&quot; target=&quot;_blank&quot;&gt;http://realeyes.adobeconnect.com/fmsug&lt;/a&gt;
&lt;p&gt;
This presentation will provide an introduction to Adobe Flash Media Server 4.5 and the use of streaming video with the Flash platform. We will have a look at a number of topics, including; setting up a local development server instance, testing RTMP, HDS, and HLS streaming with sample files, using the Flash Media Server adminstration console, extending HDS/HLS to tap into the applications directory to share RTMP-ready streams over HTTP, have a look at a variety of playback options including Strobe and the OSMF, provide some pointers on encoding tools and settings for video, examine some extended uses for Flash video playback through real-world application development scenarios.
&lt;p&gt;
This is a real-time meeting, so you&apos;ll have the opportunity to ask Joseph questions so that you can get more familiar with Flash Media Server.
&lt;p&gt;
RSVP: &lt;a href=&quot;http://fms.groups.adobe.com/index.cfm?event=post.display&amp;postid=41402&quot; target=&quot;_blank&quot;&gt;http://fms.groups.adobe.com/index.cfm?event=post.display&amp;postid=41402&lt;/a&gt;&lt;br&gt;
Attend: &lt;a href=&quot;http://realeyes.adobeconnect.com/fmsug&quot; target=&quot;_blank&quot;&gt;http://realeyes.adobeconnect.com/fmsug&lt;/a&gt;
				</description>
				
				<category>Events</category>
				
				<pubDate>Mon, 12 Mar 2012 09:12:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/3/12/fmsug-march</guid>
				
				
			</item>
			
			<item>
				<title>Web Video Workshops for Multi-Screen Delivery in New York - Now with 10% Discount</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/3/5/web-video-workshop-nyc</link>
				<description>
				
				If you are in or near New York City on April 10th 2012 and are interested in web video then &lt;a href=&quot;http://webvideoworkshops-ny2012.eventbrite.com/&quot; target=&quot;_blank&quot;&gt;this one day workshop&lt;/a&gt; by my friend and co-author Jan Ozer and fellow developer Lisa Larson-Kelley is for you. What&apos;s more, you can use the discount code SLC10 to get 10% off the ticket price. The code is valid through March 15th.&lt;p&gt;
Attendees will learn encoding, server configuration and player development for playback in Flash, HTML5, iOS, Android and OTT.&lt;p&gt;
The mobile video market is expanding rapidly. The wide range of devices with varying platforms and capabilities makes reliable video playback on mobile costly and time consuming. Mobile compatibility has three elements; appropriately compressed and formatted files, a properly configured streaming server and an intelligent player that can detect the capabilities of the remote viewer and connect the viewer to the correct files. This requires extensive knowledge of the playback capabilities of a wide range of devices, a deep familiarity of various compression technologies, plus Flash and Javascript development.
&lt;br&gt;Until this workshop, there literally has been no single resource that pulls this information together and presents it in a cohesive way. 
&lt;p&gt;
To assist websites seeking comprehensive mobile compatibility – as well as compatibility with HTML5 and OTT devices – Web Video Workshops announces a one-day seminar entitled Encoding, Serving, and Player Development for Multiple Screen Delivery. The workshop will be held in Manhattan on April 10, 2012, from 9:00 AM to 4:30 PM. 
&lt;p&gt;
The workshop is presented in two 3-hour sessions. Compression expert Jan Ozer, author of &lt;a href=&quot;http://www.amazon.com/gp/product/0976259508/ref=as_li_tf_tl?ie=UTF8&amp;tag=flashcomguru-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976259508&quot; target=&quot;_blank&quot;&gt;Video Compression for Flash, Apple Devices and HTML5&lt;/a&gt;, will present Encoding for Multiple-Screen Delivery. Web video consultant Lisa Larson-Kelley, author of &lt;a href=&quot;http://www.amazon.com/gp/product/0470131136/ref=as_li_tf_tl?ie=UTF8&amp;tag=flashcomguru-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470131136&quot; target=&quot;_blank&quot;&gt;Flash Video for Professionals&lt;/a&gt; and the producer of Lynda.com&apos;s &lt;a href=&quot;http://www.lynda.com/Flash-CS5-tutorials/Publishing-Video-with-the-Flash-Platform/69521-2.html?srchtrk=index%3A1%0Alinktypeid%3A2%0Aq%3APublishing%20Video%20with%20the%20Flash%20Platform%0Apage%3A1%0As%3Arelevance%0Asa%3Atrue%0Aproducttypeid%3A2&amp;utm_medium=affiliate&amp;utm_source=ldc_affiliate&amp;utm_content=524&amp;utm_campaign=CD37&amp;bid=524&amp;aid=CD37&amp;opt=&quot; target=&quot;_blank&quot;&gt;Publishing Video with the Flash Platform&lt;/a&gt; and &lt;a href=&quot;http://www.lynda.com/Flash-Media-Server-4-5-tutorials/Up-and-Running-with/90365-2.html?srchtrk=index%3A1%0Alinktypeid%3A2%0Aq%3ALisa%20Larson-Kelley%0Apage%3A1%0As%3Arelevance%0Asa%3Atrue%0Aproducttypeid%3A2&quot; target=&quot;_blank&quot;&gt;Up and Running with Flash Media Server 4.5&lt;/a&gt;, will present Video Serving and Player Development for Multiple-Screen Delivery. 
&lt;p&gt;
The cost for the full one-day workshop is $395, or each session can be taken individually for $220. The workshop will be held at the &lt;a href=&quot;www.learningtree.com/locations/newyork.asp&quot; target=&quot;_blank&quot;&gt;Learning Tree Education Center&lt;/a&gt; located at One New York Plaza. For more information on the workshop, or to sign-up, visit &lt;a href=&quot;http://webvideoworkshops-ny2012.eventbrite.com&quot; target=&quot;_blank&quot;&gt;webvideoworkshops-ny2012.eventbrite.com&lt;/a&gt;. 
&lt;p&gt;
Web Video Workshops is a joint venture between the &lt;a href=&quot;http://www.streaminglearningcenter.com/&quot; target=&quot;_blank&quot;&gt;Streaming Learning Center&lt;/a&gt; and &lt;a href=&quot;http://learnfromlisa.com/&quot; target=&quot;_blank&quot;&gt;LearnFromLisa.com&lt;/a&gt;. The Streaming Learning Center&apos;s Jan Ozer covers video encoding and Lisa Larson-Kelley illuminates video delivery and player development – providing end-to-end knowledge to achieve the best playback across desktops and devices.
				</description>
				
				<category>Events</category>
				
				<pubDate>Mon, 05 Mar 2012 16:25:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/3/5/web-video-workshop-nyc</guid>
				
				
			</item>
			
			<item>
				<title>Easily Monitor Log File Output in OSX Terminal (tail -F)</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/2/28/debugging-using-tail</link>
				<description>
				
				Here&apos;s a quick tip that is a real time saver in some situations. As a developer you often come across programs, tools or servers that produce output in form of a log file. Or maybe - and this includes myself - you use logs for debugging purposes.&lt;p&gt;
In ColdFusion for example I regularly find myself adding cflog tags to my code in order to get a view into what my code is doing. Having to open and close log files constantly can be tedious at best, but luckily there is a really simple way of displaying a live view of the most recent entries using the standard Unix tail -F command.&lt;p&gt;
Whereas tail on its own simply displays the last part of a file, the -F option will not stop when the end of the file is reached but will keep monitoring the file for new lines and displaying them, thereby giving you effectively a live console view into the file.&lt;p&gt;
Taking ColdFusion logs as an example, here&apos;s how you&apos;d monitor a particular log file (mine are typically named according to the site or application I am working on):&lt;br&gt;
&lt;code&gt;
cd /Applications/ColdFusion9/logs/
tail -F playingornot.log 
&quot;Information&quot;,&quot;jrpp-4&quot;,&quot;02/21/12&quot;,&quot;17:40:30&quot;,&quot;PLAYINGORNOT&quot;,&quot;/index.cfm&quot;
&quot;Information&quot;,&quot;jrpp-5&quot;,&quot;02/21/12&quot;,&quot;17:40:33&quot;,&quot;PLAYINGORNOT&quot;,&quot;/index.cfm&quot;
&quot;Information&quot;,&quot;jrpp-5&quot;,&quot;02/21/12&quot;,&quot;17:40:35&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/Auth.cfc&quot;
&quot;Information&quot;,&quot;jrpp-5&quot;,&quot;02/21/12&quot;,&quot;17:40:35&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/Players.cfc&quot;
&quot;Information&quot;,&quot;jrpp-5&quot;,&quot;02/21/12&quot;,&quot;17:40:36&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/PlayTimes.cfc&quot;
&quot;Information&quot;,&quot;jrpp-1&quot;,&quot;02/28/12&quot;,&quot;09:37:37&quot;,&quot;PLAYINGORNOT&quot;,&quot;/index.cfm&quot;
&quot;Information&quot;,&quot;jrpp-1&quot;,&quot;02/28/12&quot;,&quot;09:37:40&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/Auth.cfc&quot;
&quot;Information&quot;,&quot;jrpp-1&quot;,&quot;02/28/12&quot;,&quot;09:37:41&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/Players.cfc&quot;
&quot;Information&quot;,&quot;jrpp-1&quot;,&quot;02/28/12&quot;,&quot;09:37:42&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/PlayTimes.cfc&quot;
&quot;Information&quot;,&quot;jrpp-2&quot;,&quot;02/28/12&quot;,&quot;09:40:30&quot;,&quot;PLAYINGORNOT&quot;,&quot;/cfc/PlayTimes.cfc&quot;
&lt;/code&gt;
&lt;p&gt;
As my application runs I can see new entries being displayed in real time in my log file - very handy. This particular log is produced by adding 
&lt;code&gt;
&lt;cflog file=&quot;#this.name#&quot; type=&quot;information&quot; text=&quot;#arguments.targetPage#&quot;&gt;
&lt;/code&gt;
to my Application.cfc&apos;s OnRequestStart handler.
&lt;p&gt;
This technique works for any kind of text based log file on operating systems that have the tail command or similar available.
				</description>
				
				<category>ColdFusion</category>
				
				<category>Tools</category>
				
				<category>Tutorials</category>
				
				<pubDate>Tue, 28 Feb 2012 08:34:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/2/28/debugging-using-tail</guid>
				
				
			</item>
			
			<item>
				<title>Installing git and gitolite on Ubuntu 11.10</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/2/13/git-gitolite-ec2-ubuntu</link>
				<description>
				
				Don&apos;t ask me how I did it (ok, you can ask, in fact I&apos;m going to tell you...), but somehow I now have a remote git server and gitolite for repo and user administration installed and running on Ubuntu 11.10 using an Amazon EC2 Micro instance.&lt;p&gt;
I&apos;ve spent all morning on this, tested it on 3 different instances (I love it how you can just throw away an EC2 instance and start again with a new one in a matter of minutes) and have kept a log of the steps which got me there. Please note that there may be errors or illogical jumps in this summary, but maybe it will be helpful nonetheless - or it may even work outright, who knows.&lt;p&gt;
BEfore we get started, here are some links that helped me (but note I had to pick some steps from some links, and other steps from others...). In particular I did not clone gitolite to my local machine (&lt;a href=&quot;http://www.bigfastblog.com/install-gitolite-to-manage-your-git-repositories&quot; target=&quot;_blank&quot;&gt;as this post suggests&lt;/a&gt; but ended up using &lt;code&gt;sudo apt-get install git&lt;/code&gt;&lt;p&gt;
Links I used:
&lt;br&gt;
&lt;a href=&quot;http://computercamp.cdwilson.us/git-gitolite-git-daemon-gitweb-setup-on-ubunt&quot; target=&quot;_blank&quot;&gt;git + gitolite + git-daemon + gitweb setup on Ubuntu 11.10 server&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://cisight.com/how-to-setup-git-server-using-gitolite-in-ubuntu-11-10-oneiric/&quot; target=&quot;_blank&quot;&gt;How to setup git server using gitolite in Ubuntu 11.10 Oneiric&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.bigfastblog.com/install-gitolite-to-manage-your-git-repositories&quot; target=&quot;_blank&quot;&gt;Install Gitolite To Manage Your Git Repositories&lt;/a&gt;&lt;p&gt;
&lt;img src=&quot;http://www.therealtimeweb.com/images/git1.jpg&quot; align=&quot;left&quot; id=&quot;blogimg&quot;&gt;&lt;p&gt;
First of all, get yourself an instance of Ubuntu (you may swap this for your preferred Linux distro). If you are in love with EC2 then head over to &lt;a href=&quot;http://www.alestic.com&quot; target=&quot;_blank&quot;&gt;alestic.com&lt;/a&gt; and click the selection at the top of the page (I&apos;m using the us-east region), and then pick your preferred image. 
&lt;p&gt;
The neat thing is that if you already have an Amazon Web Services account you can launch your instance with virtually one click, very neat. I picked the &lt;a href=&quot;https://console.aws.amazon.com/ec2/home?region=us-east-1#launchAmi=ami-6fa27506&quot; target=&quot;_blank&quot;&gt;Ubuntu 11.10 Oneiric
EBS boot&lt;/a&gt; image, 64 bit.&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;
Once booted, SSH into your instance (consult other blogs for details on this if you need help).&lt;br&gt;I then ran the following commands first:&lt;br&gt;
&lt;code&gt;
sudo apt-get update
sudo apt-get upgrade
&lt;/code&gt;
&lt;br&gt;
Then create a tmp folder
&lt;br&gt;
&lt;code&gt;
mkdir tmp
&lt;/code&gt;
&lt;br&gt; which is where you will copy your public key into. Now open another local Terminal window and copy your public key - consult the steps for generating new keys from other sources if needed.&lt;br&gt;
&lt;code&gt;
# local machine
scp ~/.ssh/id_rsa.pub yourEC2server.com:/tmp/stefan.pub
&lt;/code&gt;&lt;br&gt;
Note that SCP is not always straight forward - I struggle with the syntax at times - and EC2 complicates it a bit. So the format may in fact look more like this:
&lt;code&gt;
scp -i ~/.ec2/yourEC2pair.pem ubuntu@ec2-999-239-176-93.compute-1.amazonaws.com:/tmp
&lt;/code&gt;&lt;br&gt;
I then installed git, gitolite and some stuff which I am not sure is strictly needed:&lt;br&gt;
&lt;code&gt;
sudo apt-get install git gitolite git-daemon-run git-doc
&lt;/code&gt;
&lt;br&gt;
Then added my git user details and added the git user&lt;br&gt;
&lt;code&gt;
git config --global user.name &quot;Stefan Richter&quot;
git config --global user.email &quot;my@domain.com&quot;
sudo adduser --system --shell /bin/bash --gecos &apos;git version control&apos; --group --disabled-password --home /home/git git
&lt;/code&gt;
&lt;br&gt;
The system should reply with&lt;br&gt;
&lt;code&gt;
Adding system user `git&apos; (UID 105) ...
Adding new group `git&apos; (GID 111) ...
Adding new user `git&apos; (UID 105) with group `git&apos; ...
Creating home directory `/home/git&apos; ...
&lt;/code&gt;
&lt;br&gt;
I then switched to the git user account, added a PATH variable and then actually ran the gitolite setup.
&lt;br&gt;
&lt;code&gt;
sudo su git
echo &quot;PATH=$HOME/bin:$PATH&quot; &gt; ~/.bashrc
# run gitolite setup, passing a reference to the .pub file we uploaded earlier. In my case this file was in the ubuntu/tmp folder.
gl-setup /home/ubuntu/tmp/stefan.pub
&lt;/code&gt;
&lt;br&gt;
Hit enter when asked, and quit the file that opens in VIM with :wq.&lt;br&gt;
I was now able to exit the remote SSH session and could now clone a the remote gitolite-admin repository:
&lt;br&gt;
&lt;code&gt;
git clone git@ec2-999-239-176-93.compute-1.amazonaws.com:gitolite-admin.git
&lt;/code&gt;
&lt;p&gt;
Amazingly this worked. Please note that I may well have left out a step, or got the order slightly wrong. If needed I could create a screencast sometime (please shout), I think this would make things clearer. Make sure you read the &lt;a href=&quot;http://sitaramc.github.com/gitolite/pictures.html&quot; target=&quot;_blank&quot;&gt;gitolite instructions&lt;/a&gt; for how you add users and repos. One mistake I made was to not push my changes to the remote and then was left wondering why my new repos were not showing... Git newbie, I know.
&lt;p&gt;
Lastly I downloaded a trial of &lt;a href=&quot;http://www.git-tower.com/&quot; target=&quot;_blank&quot;&gt;Tower&lt;/a&gt;, a GUI based git client that comes highly recommended - they even have a 25% off offer running right now.&lt;p&gt;
Good luck.
				</description>
				
				<category>Tools</category>
				
				<category>Amazon AWS</category>
				
				<category>Tutorials</category>
				
				<pubDate>Mon, 13 Feb 2012 11:19:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/2/13/git-gitolite-ec2-ubuntu</guid>
				
				
			</item>
			
			<item>
				<title>My 3 Startup Tips For Launching Your Own Product</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/2/8/My-3-Startup-Tips-For-Launching-Your-Own-Product</link>
				<description>
				
				Over the years I&apos;ve developed several software products and sold them online, often without much planning or strategy - they sort of &apos;happened&apos;, and often failed. It wasn&apos;t until I built &lt;a href=&quot;http://www.Scribblar.com&quot; target=&quot;_blank&quot;&gt;Scribblar&lt;/a&gt; (which I am still working on) and &lt;a href=&quot;http://www.ShareMySlides.com&quot; target=&quot;_blank&quot;&gt;ShareMySlides&lt;/a&gt; (which is mainly sitting idle) that I started to add a bit of a methodology to my approach.&lt;p&gt;
Right now the web is full to the brim with startup advice, and I figured I add my own experiences to that. So here are my top 3 (admittedly rather generic) tips for launching your own product - tips that I have received at some point and which held true.&lt;p&gt;1) Make something people want (thanks &lt;a href=&quot;http://www.schoolforstartups.co.uk/doug-richard/&quot; target=&quot;_blank&quot;&gt;Doug Richard&lt;/a&gt;)&lt;br&gt;
This sounds almost too obvious, but how many applications (read: potential products) have you built only to find out that noone was really interested in them after you shipped them? I&apos;ve got far too many to list... For that reason, the best way to make something people want is to initially not make anything at all. Instead spend some time researching:&lt;br&gt;
Is there a market for this product? How big is that market? Are my potential customers easy to reach? Can I make a profit from this?&lt;br&gt;
Once you have that information you should go ahead and build a really simple prototype, then rinse and repeat the customer feedback loop. You will increase your chances of building something that people actually want by a huge margin.
&lt;p&gt;
2) Focus, focus, focus (thanks &lt;a href=&quot;https://twitter.com/#!/mikebutcher&quot; target=&quot;_blank&quot;&gt;Mike Butcher&lt;/a&gt;)&lt;br&gt;
Keeping focus is insanely hard. If you are thinking about building and launching your own software product then it is highly likely that you have more than one potentially good idea - I know I do. Figuring out on which idea to focus is a real challenge, but once you made your decision you should try your best to stay focused. Try not to get sidetracked into doing too many things at once.&lt;br&gt;
I remember vividly when I set out to pitch my company for the first time - and I thought it was my company I *should* be pitching. Oh how wrong I was. It became quickly clear that there was so much stuff contained within by business that I needed to focus on one product, and I ended pitching Scribblar (and the pitch went very well). This was also a turning point for me as I now started to focus on my strongest product. Up to this point I had tried to work on several products at once, maybe in my mind I tried to spread the risk of failure, but in actual fact it is much harder to succeed that way. Of course you should move your focus from a failing product to the next, but not before you&apos;ve actually giving it some focus in the first place.&lt;p&gt;
3) Learn to say no (this one comes from me)&lt;br&gt;
we&apos;re staying on the focus track here: learning to say no will help you stay focused. If you are a software developer you are likely being asked to undertake projects from time to time. Ask yourself if you really need the cash, or if your time would be better spend working on your own product rather than someone else&apos;s. &lt;br&gt;
It can be incredibly tempting to take the cash whilst it is on offer, but if you still have a financial buffer left then I recommend you keep focus and learn to say no. Rest assured, more work is out there should you need it.&lt;br&gt;
It&apos;s not about turning every job down - I know that bills have to be paid, I have a mortgage and three children - but it&apos;s learning to say no to the right ones. If you take on an 8 week contract then that&apos;ll turn into 10 or 12, and you can push your launch date further into the future.
&lt;p&gt;
so that&apos;s it, my distilled startup advice. Please leave feedback below and add your own tips.
				</description>
				
				<category>Startup</category>
				
				<pubDate>Wed, 08 Feb 2012 09:07:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/2/8/My-3-Startup-Tips-For-Launching-Your-Own-Product</guid>
				
				
			</item>
			
			<item>
				<title>Troubleshooting SWF Loading Issues in Chrome - MIME Type Issue With S3</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/1/30/swf-load-issues-chrome</link>
				<description>
				
				As some of you may already know, I run and maintain a few of my own products, the most popular of which being &lt;a href=&quot;http://www.scribblar.com&quot; target=&quot;_blank&quot;&gt;Scribblar&lt;/a&gt; which pushes hundreds of sessions every day.&lt;p&gt;
Recently I started getting reports from users that the main page which hosts the applications&apos; main SWF file was not loading properly, or it would work in one browser but not another. Within the handful of reports I had, Google Chrome appeared to be the browser that posed most of the issues - this seemed odd as Chrome effectively has Flash Player built-in and always auto-updates to the latest release version which is why I recommend it as the preferred browser to anyone who asks.&lt;p&gt;
My first look was towards SWFObject - I figured that maybe something in Chrome had changed and broken the Flash Player detection. A common trap that some developers fall into is to check for specific Flash Player versions, for example only allowing access to Player 11 or below, which then locks users out once Player 11.5 (or similar) is released. But this wasn&apos;t the issue here.&lt;p&gt;
After much more digging and more back-and-forth emails with some users I noticed a very odd behaviour when trying to access my SWF directly (without an HTML wrapper) in Chrome. This image shows the request in the Chrome Debugger.
&lt;br&gt;
&lt;img src=&quot;http://www.therealtimeweb.com/images/chromeoutput.jpg&quot; alt=&quot;Chrome Debug Output&quot; vspace=&quot;7&quot; /&gt;
&lt;br&gt;
Notice how the shows as &apos;canceled&apos;, and that the content type is coming up as the generic binary/octet-stream? Clearly this pointed towards Chrome not being able to deal with a wrongly set MIME type correctly, whereas other browser may have handled this is a more flexible way.&lt;p&gt;My files are served via Amazon S3, and the MIME type is usually set during upload and forms part of the file&apos;s metadata. My FTP client of choice is Transmit, and after some digging I spotted the &apos;Cloud&apos; panel in Transmit&apos;s preferences. 
&lt;br&gt;
&lt;img src=&quot;http://www.therealtimeweb.com/images/Transmit001.jpg&quot; /&gt;
&lt;br&gt;
Here you can specify a particular MIME type to go along with a file extension. For SWF this would be application/x-shockwave-flash (but while you are there you may as well set it up for other file types such as CSS).&lt;p&gt;
After setting these Transmit preferences, all subsequent SWF uploads had the correct MIME type set and hitting the SWF directly in Chrome now gave the desired results. If you need to update the MIME type post-upload then have a look at tools such as &lt;a href=&quot;http://www.bucketexplorer.com/&quot; target=&quot;_blank&quot;&gt;BucketExplorer&lt;/a&gt; or &lt;a href=&quot;http://s3browser.com/features-content-mime-types-editor.php&quot; target=&quot;_blank&quot;&gt;S3 Browser&lt;/a&gt; (Windows only).&lt;p&gt;
It now makes sense why my file showed as MIME type binary/octet-stream: this is the default MIME type used by S3 when no other MIME type is specified during the PUT operation into S3.&lt;br&gt;
This issue took me a while to track down and I hope the information above helps someone.
				</description>
				
				<category>Flash Player</category>
				
				<category>Amazon AWS</category>
				
				<pubDate>Mon, 30 Jan 2012 08:48:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/1/30/swf-load-issues-chrome</guid>
				
				
			</item>
			
			<item>
				<title>Accessing the mx_internal Namespace in Flex</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/1/20/mx-internal-usage</link>
				<description>
				
				This is a topic that comes up from time to time, and it did so for me on a current project so I thought to quickly sum it up again here.&lt;br&gt;
I was working on a Flex project using an old SDK (4.1) and the OSMF-based Spark VideoPlayer component contained within. I had to use this particular player since the customer needed to target Flash Player 10.0 or above.&lt;p&gt;
I&apos;m unsure which version of OSMF this Flex SDK contained, but what I could see was there seemed to be no obvious way to set the bufferTime on the MediaPlayer instance that&apos;s contained within the VideoDisplay instance that&apos;s contained within the VideoPlayer due to the fact that the MediaPlayer instance was namespaced to mx_internal
&lt;code&gt;
mx_internal var videoPlayer:MediaPlayer;
&lt;/code&gt;
&lt;p&gt;
What does this namespace mean? It basically is Adobe&apos;s way of saying: &quot;Watch out, this stuff right here is likely to change in a future version (of OSMF in this case) and if you mess with it then it may break in the future.&quot;&lt;p&gt;
Well in my case it was worth the risk :-) and here&apos;s how you&apos;d access the bufferTime property and use the mx_internal namespace. 
&lt;br&gt;
At the end of all your import statement add this:
&lt;code&gt;
import mx.core.mx_internal;
use namespace mx_internal;
&lt;/code&gt;
&lt;p&gt;
Then somewhere else in your code you can do this (where player is my instance of s:VideoPlayer):
&lt;code&gt;
player.videoDisplay.mx_internal::videoPlayer.bufferTime = 0.1;
&lt;/code&gt;
&lt;p&gt;
Suck this up and enjoy :-)
				</description>
				
				<category>Flex</category>
				
				<category>Flash Player</category>
				
				<pubDate>Fri, 20 Jan 2012 08:58:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/1/20/mx-internal-usage</guid>
				
				
			</item>
			
			<item>
				<title>FMS/Wowza/Red5 Broadcaster App For Android</title>
				<link>http://www.therealtimeweb.com/index.cfm/2012/1/12/android-broadcaster</link>
				<description>
				
				As one of the main contributors to the Red5 project, Paul Gregoire is a well known name in the community. Yesterday he posted a link to an &lt;a href=&quot;https://market.android.com/details?id=air.Broadcaster&quot; target=&quot;_blank&quot;&gt;AIR for Android app&lt;/a&gt; he built to the &lt;a href=&quot;http://www.therealtimeweb.com/page.cfm/flashmedialist&quot; target=&quot;_blank&quot;&gt;Flash Media List&lt;/a&gt; and I&apos;m republishing his link here as I think many of you will find this app quite useful.&lt;p&gt;
The &lt;a href=&quot;https://market.android.com/details?id=air.Broadcaster&quot; target=&quot;_blank&quot;&gt;Broadcaster Android app&lt;/a&gt; allows you to broadcast audio and video to an RTMP server such as Red5, and also works with FMS and Wowza. What&apos;s more, the app is free and will run on pretty much any Android device with Android 2.2 and up.&lt;p&gt;
You can download the Broadcaster app from the &lt;a href=&quot;https://market.android.com/details?id=air.Broadcaster&quot; target=&quot;_blank&quot;&gt;Android Market&lt;/a&gt;.&lt;p&gt;
But apart from being useful, the app also shows that AIR for Android can be quite versatile and allows you to easily publish what is essentially a Flex application to a mobile platform.
				</description>
				
				<category>FMS</category>
				
				<category>Tools</category>
				
				<pubDate>Thu, 12 Jan 2012 14:37:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2012/1/12/android-broadcaster</guid>
				
				
			</item>
			
			<item>
				<title>2012 - Onwards And Upwards</title>
				<link>http://www.therealtimeweb.com/index.cfm/2011/12/31/onwards-2012</link>
				<description>
				
				As 2011 is drawing to a close (seriously, where has this year gone?) I think it&apos;s time for a quick look forward. &lt;p&gt;
It&apos;s been a turbulent year, especially for the Flash Platform. We have some ups, and definitely some downs, and at times it felt as if our beloved community was imploding. Some folks have moved on and are quite likely never to return - &apos;sinking ship&apos; comes to mind. Whilst I&apos;m not the captain of that particular ship, I certainly hold the rudder for my own little boat and despite what Adobe may want us to believe it is clear to everyone that Flash has had its peak. I feel a bit sad about that, and it&apos;s not really because of the technology but because of the aforementioned community; I just don&apos;t feel that I&apos;ll find the same mix of creativity, problem solving and &apos;thinking outside the box&apos; spirit elsewhere. The Flash community has been and still is one of a kind and I hope it will stay that way in 2012 and beyond.&lt;p&gt;
In terms of new technologies to pick up next year there are plenty to choose from. Too many almost, and I for one feel a bit overwhelmed at times. I have a feeling I am not alone.&lt;br&gt;I&apos;m also not totally sure which way to turn; it would be logical to brush up on some JavaScript (and here I was thinking I had closed that chapter 10 years ago...) and clearly it wouldn&apos;t be too hard to get up to speed. After all the similarities between JS and ActionScript are huge, but that alone won&apos;t make you a happy coder. Above all one needs to truly love what they are doing, as only then will the results be outstanding. So yes, JS is a definite win in terms of paying the bills, but I&apos;m not yet sure if it&apos;ll be as much fun as Flash, Flex and ActionScript have been. Time will tell, and time it will take to make a decision, at least for me.&lt;br&gt;
Having had a closer look at jQuery and some other JS libraries I think it *could* be fun - at least the JavaScript part. What I&apos;m not so sure of is how much fun HTML and CSS will be - again those technologies are something I&apos;ve left behind, at least to some extend. Sure, I still have to touch it almost daily, building user registrations forms and even entire sites, but it&apos;s never something I get much enjoyment out of. Perhaps I too am too &lt;a href=&quot;http://polygeek.com/4912_life-of-polygeek_im-too-lazy-to-be-a-html-developer&quot; target=&quot;_blank&quot;&gt;lazy to be an HTML developer&lt;/a&gt;...? On the flip side, maybe HTML5 could change that - finally we can build applications - not just websites - that bear some similarity to Flex RIAs. Taking things a step further, I can see that it could be Flex developers who will be the ones bringing the most experience to the table. And don&apos;t fool yourself: JS syntax may be easy to pick up, but you won&apos;t become a JS developer overnight. Experience is gained by putting in the time, and building real-world applications, not by reading a dozen books (although that won&apos;t hurt).&lt;br&gt;
Don&apos;t be distracted by people telling you that you must learn x or study y this year. Sure, have a play, explore new things, but only stick to it if you like what you see, and move on to something else if you don&apos;t.
&lt;p&gt;
So maybe you are like me and you too are excited about a developer in this day and age. And maybe you too won&apos;t just jump on the next bandwagon because it&apos;s &apos;cool&apos;, but because you enjoy the ride. I know I will, I&apos;m just not quite sure which ride it&apos;ll be. The choices are vast these days, and I think it&apos;s important to choose carefully.&lt;p&gt;
Happy new year, let&apos;s kick ass in 2012!
				</description>
				
				<category>Flex</category>
				
				<category>JavaScript</category>
				
				<category>General</category>
				
				<pubDate>Sat, 31 Dec 2011 13:53:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2011/12/31/onwards-2012</guid>
				
				
			</item>
			
			<item>
				<title>Thoughts On Flash - Revisited</title>
				<link>http://www.therealtimeweb.com/index.cfm/2011/12/22/thoughts-on-apple</link>
				<description>
				
				Thanks to &lt;a href=&quot;http://www.twitter.com/bryngfors&quot; target=&quot;_blank&quot;&gt;@bryngfors&lt;/a&gt; for pointing out what we all suspected all along: Apple is all talk and little action when it comes to supporting open standards. Prime example: visit &lt;a href=&quot;http://www.trailers.apple.com&quot; target=&quot;_blank&quot;&gt;trailers.apple.com&lt;/a&gt; without the QuickTime plugin installed and you see... not much in form of video. A plugin. On Apple&apos;s website? Good grief.&lt;p&gt;
Now I&apos;m not particularly bothered about browser plugins - I am after all of Flash heritage - but what bothers me is dishonesty. I mean come on, it&apos;s almost 2012 and even I as a seasoned Flash developer can tell you that it is possible to serve up web video these days without plugins. Isn&apos;t that what Steve Jobs told us? Remember the &apos;Thoughts on Flash&apos;?&lt;p&gt;
&quot;We strongly believe that all standards pertaining to the web should be open.&quot;&lt;p&gt;
Hmm, either QuickTime is open (hint: it isn&apos;t), or it&apos;s not a standard (that&apos;s my guess) or it&apos;s not pertaining to the web.&lt;p&gt;
Here&apos;s another gem: &quot;When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple&apos;s Safari and Google&apos;s Chrome without any plugins whatsoever [...].&quot;&lt;p&gt;
Let&apos;s put the fact that most Flash video is already encoded in H.264 aside - what&apos;s changed since April 2010 when Steve Jobs wrote those words? Adobe seems to have moved with the times quite substantially and are re-focusing efforts on open standards - but is Apple doing the same? If so, then why are they trying to prevent progress by &lt;a href=&quot;http://venturebeat.com/2011/12/10/apples-patents-digitude-innovations/&quot; target=&quot;_blank&quot;&gt;teaming up with patent trolls&lt;/a&gt;? How come the W3C has an &lt;a href=&quot;http://apple.slashdot.org/story/11/07/13/1430232/w3c-chastises-apple-on-html5-patenting&quot; target=&quot;_blank&quot;&gt;axe to grind&lt;/a&gt; with Apple?
&lt;p&gt;Come on Apple, you can do better. I really want to like you more, but you don&apos;t make it easy.
				</description>
				
				<category>Apple</category>
				
				<pubDate>Thu, 22 Dec 2011 19:25:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2011/12/22/thoughts-on-apple</guid>
				
				
			</item>
			
			<item>
				<title>Hacking FCSubscribe Support Around OSMF</title>
				<link>http://www.therealtimeweb.com/index.cfm/2011/12/20/fcsubscribe-with-osmf</link>
				<description>
				
				&lt;img src=&quot;http://www.therealtimeweb.com/images/osmf.gif&quot; align=&quot;left&quot; id=&quot;blogimg&quot;&gt;Recently I had the task of recreating a video player for a customer for which no source code was available. The player needed to support on demand and live streaming, so I opted for an &lt;a href=&quot;http://osmf.org/&quot; target=&quot;_blank&quot;&gt;OSMF&lt;/a&gt; based player - why reinvent the wheel?&lt;p&gt;
Things went well until the time came to add the live streaming support. The chosen CDN uses the FCSubscribe method for live streaming. In case you don&apos;t know, FCSubscribe is a serverside method which the player needs to call in order to instruct the CDN to deliver the requested stream to the edge server that you are connected to in order to play the stream.&lt;br&gt;
Some CDNs (including Akamai and Limelight) provide custom OSMF plugins for this task, and if your CDN does the same then you have nothing else to do apart from using their plugin and you are set. However some CDNs do not (yet) provide such plugins, and since the task of creating one is no mean feat (and it was certainly not part of the budget for the player I was working on), another solution had to be found.&lt;p&gt;I reached out to some of my friends in the community and &lt;a href=&quot;http://twitter.com/#!/bwohl&quot; target=&quot;_blank&quot;&gt;Bob Wohl&lt;/a&gt; came up with an excellent and very simple trick: use a second NetConnection to connect to the edge server and invoke FCSubcribe ourself, then play the stream once it is available. Or in other ways, handle the FCSubscribe logic outside of OSMF. Right, I remember doing this a while back &lt;a href=&quot;www.therealtimeweb.com/index.cfm/2009/8/14/flvplayback-obtain-nc-reference&quot; target=&quot;_blank&quot;&gt;with the FLVPlayback component&lt;/a&gt;.&lt;p&gt;
I created an ActionScript class for this purpose based on some code snippets from Bob and bingo, Bob&apos;s your uncle. (yeah sorry, couldn&apos;t resist!)&lt;p&gt;
Find the code for the class as a gist below. Hope it helps someone and if it does don&apos;t thank me, thank Bob.&lt;br&gt;
&lt;script src=&quot;http://gist.github.com/437ab4bc0279311e1c78.js&quot;&gt;&lt;/script&gt;
				</description>
				
				<category>FMS</category>
				
				<category>OSMF</category>
				
				<pubDate>Tue, 20 Dec 2011 09:41:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2011/12/20/fcsubscribe-with-osmf</guid>
				
				
			</item>
			
			<item>
				<title>FMS Bandwidth Tester App Works Again</title>
				<link>http://www.therealtimeweb.com/index.cfm/2011/12/13/fms-bandwidth-checker-fixed</link>
				<description>
				
				I&apos;ve just fixed the (now ancient) &lt;a href=&quot;http://www.therealtimeweb.com/index.cfm/2005/10/12/fms-bandwidth-checker&quot; target=&quot;_blank&quot;&gt;FMS bandwidth tester&lt;/a&gt;. It&apos;s based on some pretty old code by Adobe engineer Pritham Shetty and wasn&apos;t working since I rebranded the blog - well now it&apos;s functional again and I plan to connect it to a new server soon.&lt;p&gt;
The neat thing about this FMS app is that it checks bandwidth both to and from the server - this is very useful if you build RTC based apps that utilise things such as webcam video or live audio.&lt;br&gt;
If right now the speed results seem low then that&apos;s probably due to the very old machine I&apos;m using to host the app... Believe it or not, the server is still the same one from back in 2005!&lt;p&gt;
&lt;a href=&quot;http://www.therealtimeweb.com/index.cfm/2005/10/12/fms-bandwidth-checker&quot; target=&quot;_blank&quot;&gt;FMS bandwidth tester&lt;/a&gt;
				</description>
				
				<category>FMS</category>
				
				<category>Applications</category>
				
				<pubDate>Tue, 13 Dec 2011 14:32:00 +0100</pubDate>
				<guid>http://www.therealtimeweb.com/index.cfm/2011/12/13/fms-bandwidth-checker-fixed</guid>
				
				
			</item>
			</channel></rss>
