<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-CA">
	<id>https://nmsl.cs.sfu.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mspenard</id>
	<title>NMSL - User contributions [en-ca]</title>
	<link rel="self" type="application/atom+xml" href="https://nmsl.cs.sfu.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mspenard"/>
	<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php/Special:Contributions/Mspenard"/>
	<updated>2026-06-04T21:26:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4275</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4275"/>
		<updated>2011-03-14T20:15:15Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== March 14th, 2011 ===&lt;br /&gt;
Had some limited time this week due to the router assignment in CMPT 771&lt;br /&gt;
&lt;br /&gt;
* Review what OProfile is, and how it works.  Still a bit unsure as when it properly measures clock cycles.  Need to dig deeper on the setting, such as the architecture.  Having the proper metric is crucial.&lt;br /&gt;
* Need to better understand Cheng's formula to map the number of clock cycle into power consumption, and how OProfile output ties into that&lt;br /&gt;
* Abandoned the idea of V+D as I cannot get one working with multiple view.  Now trying to generate an appropriate Multiview one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 4th, 2011 ===&lt;br /&gt;
Current report:&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/March2011/problemStatement/problemStatement.pdf&lt;br /&gt;
&lt;br /&gt;
Updates:&lt;br /&gt;
* Problem Statement&lt;br /&gt;
&lt;br /&gt;
=== February 28, 2011 ===&lt;br /&gt;
* JMVC Reference software now compiles&lt;br /&gt;
* Can't encode many views; investigating how configuration files work&lt;br /&gt;
* Changes to code can be found here:https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/notesJMVC.txt&lt;br /&gt;
&lt;br /&gt;
* Microsoft Research Videos installed: they are a series of bitmaps, including depths&lt;br /&gt;
* Can generate MGP out of those sequences; investigating for YUV&lt;br /&gt;
* Instructions on how to generate MPP: http://nsl.cs.sfu.ca/wiki/index.php/Private:Technical&lt;br /&gt;
&lt;br /&gt;
* Have to find a way to MUX together a color map, and its depth together for my experiment.  &lt;br /&gt;
* Have to find a way to properly represent many views together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  Fixed the issues on my local machine; it all works well now!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4248</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4248"/>
		<updated>2011-03-04T21:29:42Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== March 4th, 2011 ===&lt;br /&gt;
Current report:&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/March2011/problemStatement/problemStatement.pdf&lt;br /&gt;
&lt;br /&gt;
Updates:&lt;br /&gt;
* Problem Statement&lt;br /&gt;
&lt;br /&gt;
=== February 28, 2011 ===&lt;br /&gt;
* JMVC Reference software now compiles&lt;br /&gt;
* Can't encode many views; investigating how configuration files work&lt;br /&gt;
* Changes to code can be found here:https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/notesJMVC.txt&lt;br /&gt;
&lt;br /&gt;
* Microsoft Research Videos installed: they are a series of bitmaps, including depths&lt;br /&gt;
* Can generate MGP out of those sequences; investigating for YUV&lt;br /&gt;
* Instructions on how to generate MPP: http://nsl.cs.sfu.ca/wiki/index.php/Private:Technical&lt;br /&gt;
&lt;br /&gt;
* Have to find a way to MUX together a color map, and its depth together for my experiment.  &lt;br /&gt;
* Have to find a way to properly represent many views together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  Fixed the issues on my local machine; it all works well now!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4243</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4243"/>
		<updated>2011-03-01T19:24:05Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 28, 2011 ===&lt;br /&gt;
* JMVC Reference software now compiles&lt;br /&gt;
* Can't encode many views; investigating how configuration files work&lt;br /&gt;
* Changes to code can be found here:https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/notesJMVC.txt&lt;br /&gt;
&lt;br /&gt;
* Microsoft Research Videos installed: they are a series of bitmaps, including depths&lt;br /&gt;
* Can generate MGP out of those sequences; investigating for YUV&lt;br /&gt;
* Instructions on how to generate MPP: http://nsl.cs.sfu.ca/wiki/index.php/Private:Technical&lt;br /&gt;
&lt;br /&gt;
* Have to find a way to MUX together a color map, and its depth together for my experiment.  &lt;br /&gt;
* Have to find a way to properly represent many views together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  Fixed the issues on my local machine; it all works well now!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4226</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4226"/>
		<updated>2011-02-28T22:01:40Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 28, 2011 ===&lt;br /&gt;
I was finally able to build JMVC on my local machine.  Some of the fixes were obvious, such as headers missing in some C files, or functions not declared at the right place.  However, there were a few Void instead of void.  When changing that, it does compile properly.  I was able to encode one view.  But, when I try to encode many views, it simply does not work.  I am investigating the test scripts that come with JMVC (outdated documentation), to see if whether or not the compilation actually worked properly.  Also, I am trying to understand how the configuration files work, so I can eventually encode many views.&lt;br /&gt;
&lt;br /&gt;
My changes to the JMVC files can be found here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/notesJMVC.txt&lt;br /&gt;
&lt;br /&gt;
Also, I was able to install the Microsoft Research Videos (Ballet &amp;amp; Breakdancing).  Surprisingly, they are providing a series of bitmap sequences for 8 cameras, instead of YUV files.  Using FFMPEG, I was finally able to compile them into a viewable video.  Such conversion could be done using various quantization levels for example.  At this time, the format I got was an MPG file, not a YUV.  I am investigating how to fix this.  I posted how to compile the sequence of BMP's into an MPG on the wiki here, under the FFMPEG section:&lt;br /&gt;
http://nsl.cs.sfu.ca/wiki/index.php/Private:Technical&lt;br /&gt;
&lt;br /&gt;
I still have to find a way to MUX together a color map, and its depth together for my experiment.  I can generate an MPG of the colour map, and an MPG of a depth map of a very specific camera view with the Microsoft Research sequences.  I have to find a valid way to represent them mux'ed together, but also when many views are involved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  Fixed the issues on my local machine; it all works well now!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:Technical&amp;diff=4225</id>
		<title>Private:Technical</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:Technical&amp;diff=4225"/>
		<updated>2011-02-28T20:58:12Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Java ==&lt;br /&gt;
&lt;br /&gt;
* [http://stackoverflow.com/questions/1339855/how-can-i-read-a-file-with-both-ascii-and-another-encoding-in-java-cleanly How Can I read a file with both ASCII and another encoding in Java cleanly?]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.usfca.edu/~parrt/course/601/lectures/io.html Java I/O]&lt;br /&gt;
&lt;br /&gt;
* [http://ringlord.com/jni-howto.html The &amp;quot;JNI HOW-TO&amp;quot;] by Udo Schuermann&lt;br /&gt;
&lt;br /&gt;
* [http://www.ryanlowe.ca/blog/archives/000300_ant_and_java_home.php Eclipse, Ant, and JAVA_HOME]&lt;br /&gt;
&lt;br /&gt;
If you are using the Ant Eclipse plug-in and get the following error message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[javac] BUILD FAILED: file:C:/[ECLIPSE_DIR]/workspace/[PROJECT_DIR]/build.xml:32: Unable to find a javac compiler;&lt;br /&gt;
com.sun.tools.javac.Main is not on the classpath.&lt;br /&gt;
Perhaps JAVA_HOME does not point to the JDK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you are using the wrong Java Virtual Machine (JVM) with Eclipse. Ant goes ahead and uses the javac from the JVM Eclipse is using no matter what you put in the compiler attribute. This is bad because Eclipse uses the first Java VM it finds on your computer's PATH variable.&lt;br /&gt;
&lt;br /&gt;
So you have to tell Eclipse to run using the SDK so that Ant can use the SDK. To do this make a shortcut to eclipse.exe and change the target to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ECLIPSE_DIR]\eclipse.exe -vm [SDK_DIR]\bin\javaw.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where [ECLIPSE_DIR] and [SDK_DIR] are the full paths to the Eclipse and Java SDK directories respectively.&lt;br /&gt;
&lt;br /&gt;
Note that for Linux, there's no corresponding executable to ''javaw.exe''. You should use ''java'' instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ ==&lt;br /&gt;
&lt;br /&gt;
* [http://parashift.com/c++-faq-lite/ C++ FAQ Lite]&lt;br /&gt;
&lt;br /&gt;
* [http://yatantrika.co.cc/when-to-tell-your-c-code-is-non-standard/ When to tell your C++ Code is Non-Standard]&lt;br /&gt;
&lt;br /&gt;
* [http://www.augustcouncil.com/~tgibson/tutorial/arr.html Basic Arrays]&lt;br /&gt;
&lt;br /&gt;
* [https://computing.llnl.gov/tutorials/pthreads/ POSIX Threads Programming]&lt;br /&gt;
&lt;br /&gt;
* Threading with Boost - [http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html Part I: Creating Threads], [http://antonym.org/2010/01/threading-with-boost---part-ii-threading-challenges.html Part II: Threading Challenges]&lt;br /&gt;
&lt;br /&gt;
* [http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/quick_tour.html A Quick Tour of the Boost Graph Library]&lt;br /&gt;
&lt;br /&gt;
* [http://www.codeguru.com/cpp/cpp/algorithms/sort/print.php/c11215 Discover the Network Search Capabilities of the Boost Graph Library]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ibm.com/developerworks/aix/library/au-learningdoxygen/ Learning doxygen for source code documentation]&lt;br /&gt;
&lt;br /&gt;
* [http://linuxdevcenter.com/lpt/a/3658 C++ Memory Management: From Fear to Triumph]&lt;br /&gt;
&lt;br /&gt;
* [http://www.yolinux.com/TUTORIALS/C++MemoryCorruptionAndMemoryLeaks.html C/C++ Memory Corruption And Memory Leaks]&lt;br /&gt;
&lt;br /&gt;
* '''Dealing with: terminate called after throwing an instance of 'std::bad_alloc''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
std::bad_alloc is an exception that gets thrown by 'new' when it can't allocate the memory you requested. Something (very likely the standard library containers if you are using them) is requesting memory, and that memory can't be allocated.&lt;br /&gt;
&lt;br /&gt;
You should either change your memory usage patterns so that enough memory is available to satisfy all the requests, or catch bad_alloc and handle it in some appropriate way (or preferably, both).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Deleting Elements from STL Containers of Pointers'''&lt;br /&gt;
&lt;br /&gt;
Imagine a vector of type std::vector&amp;lt;CObject*&amp;gt;. In this case, the vector does not manage CObjects, but only pointers to CObjects. This means that the vector will only manage the memory required to store the pointers. It does not, however, care about whatever the pointer points to. If you remove an element out of such a vector, only the   pointer will be removed (and the space required to save the pointer will be freed). The object that is pointed to by this pointer is not affected by this. If you want that object to be deleted as well (not just the pointer being removed from the vector), it's your responsibility to delete it yourself.&lt;br /&gt;
&lt;br /&gt;
This might be a bit confusing for people coming to STL from a Java or .NET background. In Java and .NET objects can only be accessed via references. When you have an array of objects (or a container of objects) in Java, you actually have an array of references to objects. In C++ this would be vector&amp;lt;object*&amp;gt;. There is not counterpart for C++'s vector&amp;lt;object&amp;gt; in Java.&lt;br /&gt;
&lt;br /&gt;
The confusion is probably caused by the syntax. If you write &amp;quot;Object obj&amp;quot; in Java, you get a reference to an Object. If you write this in C++, you get an instance of Object; the counterpart of Java's &amp;quot;Object obj&amp;quot; in C++ would be &amp;quot;Object* obj&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesleysteiner.com/professional/del_fun.html A del_fun Function Adaptor for STL Containers] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH and SCP ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.howtogeek.com/wiki/Fixing_%22WARNING:_UNPROTECTED_PRIVATE_KEY_FILE!%22_on_Linux Fixing &amp;quot;WARNING: UNPROTECTED PRIVATE KEY FILE!&amp;quot; on Linux]&lt;br /&gt;
&lt;br /&gt;
* [http://www.madboa.com/geek/openssl/#key-removepass Using OpenSSL to remove a passphrase from a key]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
* [http://justcheckingonall.wordpress.com/2009/06/19/bash-practical-intro/ Practical Introduction to BASH]&lt;br /&gt;
&lt;br /&gt;
* [https://help.ubuntu.com/community/SSHFS Mounting a remote file system using SSHFS and FUSE]&lt;br /&gt;
&lt;br /&gt;
* [http://joshstaiger.org/archives/2005/07/bash_profile_vs.html .bash_profile vs. .bashrc]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ibm.com/developerworks/library/l-bash-test.html Bash test and comparison functions]&lt;br /&gt;
&lt;br /&gt;
* Removing .svn directories in a checked out project (disconnecting the local copy from SVN)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find /path/to/destdir -name '.svn' -exec rm -r {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using the Linux top utility&lt;br /&gt;
&lt;br /&gt;
To investigate the per-thread CPU usage on Linux, the recommended tool is top with the -H option, which provides an additional thread for information not provided by top in the default usage. The output of top -H on Linux shows the breakdown of the CPU usage on the machine by individual threads.&lt;br /&gt;
&lt;br /&gt;
To enable or display stats press the number 1 and you should see individual CPU core stats.&lt;br /&gt;
&lt;br /&gt;
Sometimes, we are only interested on several processes only, maybe just 4 or 5 of the whole existing processes. For example, if you want monitor process identifier (PID) 4360 and 4358, you type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top -p 4360,4358&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top -p 4360 -p 4358&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seems easy, just use -p and list all the PIDs you need, each separated with comma or simply use -p multiple times coupled with the target PID.&lt;br /&gt;
&lt;br /&gt;
Another possibility is just monitoring process with certain user identifier (UID). For this need, you can use -u or -U option. Assuming user &amp;quot;johndoe&amp;quot; has UID 500, you can type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top -u johndoe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top -u 500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top -U johndoe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The conclusion is, you can either use the plain user name or the numeric UID.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.techiesabode.com/article/read_article_w.php?article_id=2 Maximum Number of open files and file descriptors in Linux]&lt;br /&gt;
&lt;br /&gt;
A file descriptor is a data structure used by a program to get a handle on a file, the most well known being 0,1,2 for standard in, standard out, and standard error. You can set the open file descriptors limit each time you boot, for each user. If you are user X, you can see the current limit for you with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ulimit -n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have not used the ulimit command in your user profile, .bashrc file or anything to tweak the maximum number of open file descriptors, then you should see the value of INR_OPEN as set in the includes/linux/fs.h file, that is: 1024. &lt;br /&gt;
&lt;br /&gt;
You can determine how many open files you have using &amp;quot;lsof&amp;quot; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lsof -u chris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will show you all files that are open by user chris. You can pipe the output of lsof to the wc (word count) command, to get the number of open files by user chris, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lsof -u chris | wc -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that 'lsof' gives the number of open files. An open file may be a regular file, a directory, a block special file, a character special file, an executing text reference, a library, a stream or a network file. Though a file is open, it might not have a file descriptor associated with it - such as current working directories, memory mapped files and executable text files. 'lsof | wc -l' gives the current number of open files. Therefore, there will be a difference in the number of current open files and the number of current file descriptors/handles. &lt;br /&gt;
&lt;br /&gt;
To increase the maximum number of file descriptors allowed for a user, just put the following in his profile file, or .bashrc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ulimit -n 32768&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, you have to be careful here: if you are the only user on your system (not counting users needed by some programs, like your Servlet container (Tomcat) or Web server (wwwrun) etc.) and if you want to be sure that you have enough file descriptors, then go with such a large number as 32768 above. But setting a limit that high for all users in your system, may lead to system degradation. &lt;br /&gt;
&lt;br /&gt;
This doesn't mean you can set the limit as you please. The /etc/security/limits.conf file contains the absolute maximums a user can set for himself with the ulimit command. For the file descriptors, for example, you can set the &amp;quot;nofile&amp;quot; option as follows in my /etc/security/limits.conf:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*               soft    nofile          1024&lt;br /&gt;
*               hard    nofile          2048&lt;br /&gt;
root            soft    nofile          2048&lt;br /&gt;
root            hard    nofile          32768&lt;br /&gt;
chris           soft    nofile          1024&lt;br /&gt;
chris           hard    nofile          32768&lt;br /&gt;
tomcat          soft    nofile          2048&lt;br /&gt;
tomcat          hard    nofile          8192&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User chris will start with a maximum of 1024 (that is the &amp;quot;soft&amp;quot; line), but if he likes, he can set it up to 32768 with a ulimit command (in his profile, .bashrc file, on the command line and so on). User tomcat will start with a maximum of 2048 (just to be sure all those webapps get what they need) and can even increase it with a ulimit command up to a hard limit of 8192. &lt;br /&gt;
&lt;br /&gt;
But again, even if you are root and can edit the /etc/security/limits.conf file, there is a limit. Your &amp;quot;limit of limits&amp;quot; in this case is the value you got when you did at the start of this discussion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/sys/fs/file-max&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is what your kernel uses. To change the kernel parameter on the fly, you can &amp;quot;echo&amp;quot; the number you wish to /proc/sys/fs/file-max as follows (do it with caution please):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;300000&amp;quot; &amp;gt; /proc/sys/fs/file-max&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now test again to make sure that the new limit is set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/sys/fs/file-max&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To know how many file descriptors are being used, do a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/sys/fs/file-nr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You get an output like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
8667        3145        288217&lt;br /&gt;
   |           |             |__ maximum number of file descriptors allowed on the system&lt;br /&gt;
   |           |     &lt;br /&gt;
   |           |__ total free allocated file descriptors&lt;br /&gt;
   |&lt;br /&gt;
   |__  total allocated file descriptors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhomenetworking.com/forums/showthread.php?t=1095 Linux console Colors And Other Trick's] By Jay Link&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is made possible by \033 , the standard console &amp;quot;escape&amp;quot; code, which is equivalent to ^[ , or 0x1B in hex. When this character is received, the Linux console treats the subsequent characters as a series of commands. These commands can do any number of neat tricks, including changing text colors.&lt;br /&gt;
&lt;br /&gt;
Here's the actual syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
\033 [ &amp;lt;command&amp;gt; m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(In practice, you can't have any spaces between the characters; I've just inserted them here for clarity).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anything following the trailing &amp;quot;m&amp;quot; is considered to be text. It doesn't matter if you leave a space behind the &amp;quot;m&amp;quot; or not. So this is how you turn your text to a deep forest green:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo -e &amp;quot;\033[32mRun, forest green, run.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;-e&amp;quot; argument to &amp;quot;echo&amp;quot; turns on the processing of backslash-escaped characters; without this, you'd just see the full string of text in gray, command characters and all. Finally, the command &amp;quot;0&amp;quot; turns off any colors or otherwise funkified text:&lt;br /&gt;
&lt;br /&gt;
\033[0m&lt;br /&gt;
&lt;br /&gt;
Without the &amp;quot;0&amp;quot; command, your output will continue to be processed, like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo -e &amp;quot;\033[32mThis is green.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;And so is this.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;And this.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\033[0mNow we're back to normal.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Running a command that uses console colors (e.g., ls) will also reset the console to the standard gray on black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Programming Console Colors'''&lt;br /&gt;
&lt;br /&gt;
Of course, escape sequences aren't limited to shell scripts and functions. Let's see how the same result can be achieved with C and Perl:&lt;br /&gt;
&lt;br /&gt;
C:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
printf(&amp;quot;\033[34mThis is blue.\033[0m\n&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
print &amp;quot;\033[34mThis is blue.\033[0m\n&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Available Colors'''&lt;br /&gt;
&lt;br /&gt;
Now, how do you know which codes do what? The first eight basic EGA colors are defined as follows:&lt;br /&gt;
&lt;br /&gt;
30 black foreground&lt;br /&gt;
31 red foreground&lt;br /&gt;
32 green foreground&lt;br /&gt;
33 brown foreground&lt;br /&gt;
34 blue foreground&lt;br /&gt;
35 magenta (purple) foreground&lt;br /&gt;
36 cyan (light blue) foreground&lt;br /&gt;
37 gray foreground&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, if I wanted the word &amp;quot;ocean&amp;quot; to appear in light blue, I could type the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo -e &amp;quot;The \033[36mocean\033[0m is deep.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Combining Commands'''&lt;br /&gt;
&lt;br /&gt;
Multiple console codes can be issued simultaneously by using a semicolon (&amp;quot;;&amp;quot;). One useful command is &amp;quot;1&amp;quot;, which sets text to bold. The actual effect is a lighter shade of the chosen color. So, to get a light magenta (purple) as shown in the first example, you would do this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo -e &amp;quot;\033[35;1mCombining console codes\033[0m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This bolding feature allows you to access the other half of the standard 16 EGA colors. Most notably, brown turns into yellow, and gray turns into bright white. The other six colors are just brighter versions of their base counterparts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Backgrounds'''&lt;br /&gt;
&lt;br /&gt;
Text backgrounds can also be set with console codes, allowing you to have white on top of red (for example). Here is the full list of available background options:&lt;br /&gt;
&lt;br /&gt;
40 black background&lt;br /&gt;
41 red background&lt;br /&gt;
42 green background&lt;br /&gt;
43 brown background&lt;br /&gt;
44 blue background&lt;br /&gt;
45 magenta background&lt;br /&gt;
46 cyan background&lt;br /&gt;
47 white background&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, here are some other noteworthy command codes:&lt;br /&gt;
&lt;br /&gt;
0 reset all attributes to their defaults&lt;br /&gt;
1 set bold&lt;br /&gt;
5 set blink&lt;br /&gt;
7 set reverse video&lt;br /&gt;
22 set normal intensity&lt;br /&gt;
25 blink off&lt;br /&gt;
27 reverse video off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately, these techniques are limited to the console, as they don't display over telnet (unless the remote interface is also a Linux console).&lt;br /&gt;
&lt;br /&gt;
Note that the codes given here are known as ECMA-48 compliant. That is, they work on systems other than Linux. (In case you're interested, ECMA is the European Computer Manufacturers Association, a standards body similar to the ISO). Any system with a VT-102 capable console can use the color codes demonstrated above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html For Loop File Names With Spaces]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For loop uses $IFS variable to determine what the field separators are. By default $IFS is set to the space character. To read an entire line as a single element, you should change the separator,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OLD_IFS=$IFS&lt;br /&gt;
IFS=$'\n'&lt;br /&gt;
&lt;br /&gt;
''for loop goes here..''&lt;br /&gt;
&lt;br /&gt;
IFS=$OLD_IFS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.debianadmin.com/providing-root-privileges-for-users-using-sudo.html Providing root privileges for users Using SUDO]&lt;br /&gt;
&lt;br /&gt;
* [http://www.manpagez.com/man/1/iconv/ iconv command man pages]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fileformat.info/tip/linux/iconv.htm Using iconv to change character encodings]&lt;br /&gt;
&lt;br /&gt;
* [http://linuxshellaccount.blogspot.com/2008/10/using-iconv-to-convert-character-sets.html Using iconv to convert character sets on Linux and Unix]&lt;br /&gt;
&lt;br /&gt;
* [http://linux.die.net/man/1/enca Detect and convert encoding of text files using enca]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ducea.com/2009/03/05/bash-tips-if-e-wildcard-file-check-too-many-arguments/ Bash tips: if -e wildcard file check =&amp;gt; [: too many arguments]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In short, something is wrong with ''if'' condition, it is expecting a single value but gets multiple values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://ubuntuforums.org/showthread.php?t=273057 Check what group user belongs to?]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be done using either the ''groups'' command or the ''id'' command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://my.brandeis.edu/bboard/q-and-a-fetch-msg?msg_id=0000Ug grep on all the files in a directory]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use one of the greps (grep, egrep, fgrep). You want to use the -r &amp;quot;recursive&amp;quot; option to search a directory and all files included within it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -r -i ONOCR /usr/include&lt;br /&gt;
&lt;br /&gt;
[nsl@nsl]$ grep -r -i ONOCR /usr/include&lt;br /&gt;
/usr/include/asm/termbits.h:#define ONOCR       0000020&lt;br /&gt;
/usr/include/linux/cdk.h:#define        FO_ONOCR        0x8&lt;br /&gt;
/usr/include/linux/tty.h:#define O_ONOCR(tty)   _O_FLAG((tty),ONOCR)&lt;br /&gt;
/usr/include/bits/termios.h:#define ONOCR       0000020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '-i' means ignore case. So if you only wanted it in all capitals you would not use it. When used it will find any combination of upper and lower case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OS Compatibility Issues ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.websiterepairguy.com/articles/os/crlf.html How to Transfer Text Files Between Linux, Mac, and Windows]&lt;br /&gt;
&lt;br /&gt;
* [http://linuxreviews.org/quicktips/txt_doc2unix/ Converting text files between Windows and UNIX]&lt;br /&gt;
&lt;br /&gt;
* [http://blog.juliankamil.com/article/18/using-iconv-against-windows-notepad Using iconv against Windows Notepad]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LaTeX ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.pptfaq.com/FAQ00045.htm Export EPS from PowerPoint]&lt;br /&gt;
&lt;br /&gt;
* [http://people.csail.mit.edu/dalleyg/faqs/20010425.html How do I export EPS files from PowerPoint?]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.bu.edu/~reyzin/pictips.html How to Convert PowerPoint Pictures for Use in LaTeX]&lt;br /&gt;
&lt;br /&gt;
* [http://www.instructables.com/id/How_to_Convert_PowerPoint_to_EPS_files/ How to Convert PowerPoint to EPS files]&lt;br /&gt;
&lt;br /&gt;
* [http://omeggakollective.wordpress.com/2008/07/09/how-to-convert-powerpoint-to-eps-files/ How to Convert PowerPoint to EPS files]&lt;br /&gt;
&lt;br /&gt;
* [http://people.engr.ncsu.edu/txie/publications/writingtools.html Tools and Tips for Writing Papers]&lt;br /&gt;
&lt;br /&gt;
* [http://vinodrajput.wordpress.com/2009/01/22/eps-format/ The EPS file format]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cag.csail.mit.edu/~rinard/eps_into_latex/figure.html Including Adobe Illustrator and PowerPoint Figures Into a Latex File]&lt;br /&gt;
&lt;br /&gt;
== FFMPEG ==&lt;br /&gt;
Given a series of BMP files, where each each frame is named from let's say 000 to 999, it is possible to create a video out of them:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg.exe -f image2 -r 25 -s 1024x768 -i color-cam6-f%03d.bmp camera6.mpg   (http://ffmpeg.org/faq.html#SEC14)&lt;br /&gt;
&lt;br /&gt;
where -r is for the rate and -s for the size.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4217</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4217"/>
		<updated>2011-02-23T21:52:45Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  Fixed the issues on my local machine; it all works well now!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4216</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4216"/>
		<updated>2011-02-23T19:18:59Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 23, 2011 ===&lt;br /&gt;
Worked on CMPT 771 problem set #2 during the break.&lt;br /&gt;
&lt;br /&gt;
At this moment, I have the JM software installed properly.  However, I was able to download the JMVC software, which is used to encode Multiview (and I think to a certain extend video plus depth but some use JSVM - scalable videos).  The problem is that it won't build properly.  I have to find out which librarires are missing on my machine and will make a list of what needs to be on a machine so we have documentation.&lt;br /&gt;
&lt;br /&gt;
Was able to get 3D videos from the MOBILE3DTV project (got the Horse from KUK Produktion), and am now able to play the YUV files of the view and the depth on my machine.  This is good as it could provide a comparison point between the original version.  All I need now is a proper encoder/decoder, and start experimenting.&lt;br /&gt;
&lt;br /&gt;
I am trying to understand OProfile, an open source system profiler for Linux.&lt;br /&gt;
http://oprofile.sourceforge.net/news/&lt;br /&gt;
&lt;br /&gt;
The sample report page has one that is exactly what we need, where it basically tells how many clock cycle each process has consumed while the daemon was monitoring the system.  All I need is to make it work!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4195</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4195"/>
		<updated>2011-02-11T21:33:44Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 11, 2011 ===&lt;br /&gt;
I have the JM Reference software, and think I have found how to get the JMVC (multiview) reference software.  Need to see the differences between the 2 of them, and see if there is a video plus depth version of such reference software.&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4193</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4193"/>
		<updated>2011-02-11T07:21:59Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4192</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4192"/>
		<updated>2011-02-11T07:21:35Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
[https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf]&lt;br /&gt;
&lt;br /&gt;
'''ToDo'''&lt;br /&gt;
Establish a relationship between the number of views being rendered using a video plus depth 3D video decoder, and the energy consumption associated to such process.  This could be established on an Android phone, using a similar process as I did for the CMPT 820 project I did.  However, such decoder might not be easily available.&lt;br /&gt;
&lt;br /&gt;
Therefore, I will start doing this on a Linux machine.  I will encode various video plus depth videos, and render them locally using a video plus depth video decoder.  Using some tools, I will be able to measure the number of clock cycles required for each of them.  While this won't give me power consumption directly, this will give me a measure of how much processing power is required as the number of views varies.  An serious advantage of such method is that it would be possible to see if a mobile device can deliver such number of clock cycles.  For example, if a video requires 1000 clock cycles over 10 seconds for 10 views, but if the mobile device can only deliver 800, there is no point trying to play such number of views on a mobile device.&lt;br /&gt;
&lt;br /&gt;
'''Tools Required'''&lt;br /&gt;
* Video Plus Depth Videos (found on the MOBILE3DVIDEO project page)&lt;br /&gt;
* Video Plus Depth Encoder&lt;br /&gt;
* Video Plus Depth Decoder (probably comes with the encoder)&lt;br /&gt;
* Profiling tools (Cheng used Juice if I remember; see if this could work or find something else) and get familiar with them&lt;br /&gt;
* MatLab (Available and know how to use it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4191</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4191"/>
		<updated>2011-02-11T07:12:14Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
[https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/mobileClient.pdf]&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4190</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4190"/>
		<updated>2011-02-11T07:10:06Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 10, 2011 ===&lt;br /&gt;
My current report is available here&lt;br /&gt;
[https://cs-nsl-svn.cs.surrey.sfu.ca/cssvn/nsl-members/spenard/reports/February2011/mobileClient/]&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4159</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4159"/>
		<updated>2011-02-07T21:42:03Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4158</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4158"/>
		<updated>2011-02-07T21:41:07Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== February 7, 2011 ===&lt;br /&gt;
* After investigating the problem proposed by Cheng, I realised that this does not match my research interests as I first anticipated.  Therefore, I decided to come back to 3D, with a clear focus on the mobile client being energy-aware&lt;br /&gt;
* In order to understand the capabilities and limitations of Google Android, I read 100+ page of &amp;quot;Hello, Android: Introducing Google's Mobile Development Platform&amp;quot; (http://www.amazon.ca/Hello-Android-Introducing-Development-Platform/dp/1934356565/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297114273&amp;amp;sr=1-1)&lt;br /&gt;
* Read more about background work done on mobile 3D client. &lt;br /&gt;
* Will work on a project proposal&lt;br /&gt;
&lt;br /&gt;
*Ideas*&lt;br /&gt;
* Focus on how to render video plus depth on Android, as it is the representation that gives the more flexibility.  For now, maybe have 2 2D-video players on one screen, where we can show one view to the left, and its depth to the right.  It would be something like a POC (proof of concept) in order to show that we can indeed demux that information in Android.&lt;br /&gt;
* Focus on establishing a &amp;quot;framework&amp;quot; that could potentially estimate how much energy will be required by each operations required for decoding over the air.  Power tutor could be used, as I did in CMPT 820.  However, we might want to talk to Arrvindh in order to use that more precise measuring tool, where we could establish the average value of some operations and include those in our framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4152</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4152"/>
		<updated>2011-02-02T20:17:39Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4146</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4146"/>
		<updated>2011-01-31T22:01:26Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 885 : Special Topics, Computer Architecture&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
My current progress report can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/documents/reports&lt;br /&gt;
and is quite dynamic.  My references can be found at&lt;br /&gt;
/nsl/students/spenard/projects/adhocTethering/references&lt;br /&gt;
&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4145</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4145"/>
		<updated>2011-01-31T21:59:35Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 885 : Special Topics, Computer Architecture&lt;br /&gt;
&lt;br /&gt;
=== January 31, 2011 ===&lt;br /&gt;
* Discussed with Cheng about what needs to be done short term.  I have started writing a related work section on SVN, and I am focusing on peer discovery in wireless ad hoc networks as my first priority.  At the moment, some work seems to have been done, and I will continue searching for more related work in order to stimulate new ideas.  I have found an interesting article about how mobile devices can keep a routing table of surrounding nodes, but the article is too generic and would like to get something more detailed.&lt;br /&gt;
*As Cheng and I agreed, this part of the whole scheme seems to be the hardest, and it might not be possible to implement this on Android, despite its promised &amp;quot;openess&amp;quot;.  For example, we suspect such feature has been blocked for some business reasons.  One of his colleague spent over 2 weeks on trying to enable this without success.&lt;br /&gt;
* Was also busy with 2 assignments for CMPT 771; all done.&lt;br /&gt;
* Will work tonight and tomorrow on finding which phone is the best, and start the ordering process with Jason so we can have them ASAP&lt;br /&gt;
* This week, I will continue working on the related work section, finish what I have started with peer discovery, and jump to ad hoc routing, where we need to find a good protocol for it.&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4114</id>
		<title>Private:3DV Remote Rendering</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4114"/>
		<updated>2011-01-25T15:15:14Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe the components of a 3D video remote rendering system for mobile devices based on cloud computing services. We also discuss the main design choices and challenges that need to be addressed in such a system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
The system will be composed of three main components:&lt;br /&gt;
* Mobile receiver(s)&lt;br /&gt;
* Adaptation proxy&lt;br /&gt;
* View synthesis and rendering cloud service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Transmission is to be carried via unicast over an unreliable wireless channel. A feedback channel would be necessary between the receiver and the proxy. This channel would be utilized to send information about current/desired viewpoint, buffer status, and network conditions, in addition statistics about mobile device itself (e.g. current battery level, screen resolution, expected amount of power for processing, etc.). Such feedback channel is crucial in order to have a fully-adaptive algorithm, that can quickly adapt to any change in these parameters.&lt;br /&gt;
&lt;br /&gt;
Because of the limited wireless bandwidth, we need efficient and adaptive compression of transmitted views/layers. In addition, an unequal error protection (UEP) technique will be required to overcome the unreliable nature of the wireless channel. Multiple description coding (MDC) has already been used in some experiments, and the results seem quite promising for both multiview video coding, and video plus depth.&lt;br /&gt;
&lt;br /&gt;
It is assumed that the mobile receiver has a display capable of rendering at least two views.&lt;br /&gt;
Interfacing with mobile receiver's display may be an issue since this will only be possible through a predefined driver API. Whether or not these APIs will be exposed and which 3D image format they expect will vary from one device to the other. &lt;br /&gt;
We believe that such autostereoscopic displays will probably come with their own IP hardware to perform rendering operations such as 3D warping, hole filling, etc. Whether or not we would have control over this process is still unknown.  In the mean time, it is possible to experiment and send data that can be rendered in 2D, just like most of the experiments we have read so far.  This would enable us to establish the feasibility of our scheme, and benchmark it against previous works.&lt;br /&gt;
&lt;br /&gt;
Based on receiver feedback, the adaptation proxy is responsible for selecting the best views to send, perform rate adaptation based on current network conditions, and encode them quickly and efficiently. We can utilize RD-optimization techniques for rate adaptation.&lt;br /&gt;
&lt;br /&gt;
It is important to distinguish what the proxy and cloud would accomplish. For example, a multiview plus depth scheme could be used in order to support a broad array of devices, such as phones and tablets. From some real, filmed views, a server might interpolate the extra views required, where the number of extra views depend of the nature of the mobile device. This would give quite some flexibility, at a very cheap cost: only the original views would need to be stored.  Experimentally, we would have to see if it is doable to generate extra interpolated views on the fly, or if such views need to live on the server as well. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Design Choices ===&lt;br /&gt;
&lt;br /&gt;
* What is the format of the stored video files?&lt;br /&gt;
* How many views (and possible depth maps) need to be sent to the receiver?&lt;br /&gt;
** two views (receiver needs to construct a disparity/depth map and synthesize intermediate views)&lt;br /&gt;
** two views + two depth maps (receiver can then synthesize any intermediate view between the received ones)&lt;br /&gt;
** one view + depth map (yields a limited view synthesis range)&lt;br /&gt;
** two+ views (and + depth maps) for larger displays, such as the iPad and displays/TV in cars&lt;br /&gt;
* What compression format should be used to compress the texture images of the views?  This could be driven by the resolution of the display where a high level of texture might not be noticeable.&lt;br /&gt;
* What compression format is efficient for compressing the depth maps without affecting the quality of synthesized views?  Should depth map be compressed?&lt;br /&gt;
** Will MVC be suitable for depth maps?&lt;br /&gt;
* How much will quality reduction of one of the views to reduce bandwidth affect the synthesis process at the receiver side? &lt;br /&gt;
** Will the effect be significant given that receiver's display size is small?&lt;br /&gt;
* How will view synthesis and associated operations (e.g. 3D warping and hole filling) at the receiver-side affect the power consumption of the device?&lt;br /&gt;
* Should we only focus on reducing the amount of data needed to be transmitted, as antennas consume a significant amount of power?  Or should we experiment and see how those 2 variables are tied together, given that decoding 3D videos is a much more resource intensive process?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
* Joint Multiview Video Coding JMVC Reference Software (:pserver:jvtuser@garcon.ient.rwth-aachen.de:/cvs/jvt)&lt;br /&gt;
* View Synthesis Based on Disparity/Depth (ViSBD) Reference Software&lt;br /&gt;
* Computer Unified Device Architecture ([http://www.nvidia.com/object/cuda_home_new.html CUDA])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* [http://www.abiresearch.com/press/3579-Mobile+Form+Factor+Will+Bring+3D+to+Mainstream+Market Mobile Form Factor Will Bring 3D to Mainstream Market]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:tethering-ideas&amp;diff=4113</id>
		<title>Private:tethering-ideas</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:tethering-ideas&amp;diff=4113"/>
		<updated>2011-01-25T15:09:33Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until recently, the cellular dataplans in the North America were mostly unlimited. However, since late 2010, AT&amp;amp;T started implementing tiered dataplans: a subscriber gets 200 MB for $15/month, 2 GB for @25/month, and so on. With the increasingly popularity of smartphones (and thus the tremendous amount of data traffic),  we expect to see other cellular service providers moving away from unlimited dataplans. Under the new contracts, many subscribers can easily be charged an arm and a leg if they go above the limits. Meanwhile, some other subscribers may underutilize their quotas, which is another format of overpaying the cellular service providers. &lt;br /&gt;
&lt;br /&gt;
To address this issue, we propose to capitalize the WiFI interfaces found on most modern smartphones to allow cellular subscribers reselling their un-used dataplan quotas. That is, the smartphones in proximity form an WiFi ad hoc network, which allow them to carry Internet traffic for each other. A micro billing platform is implemented to facilitate reselling un-used dataplan quotas among subscribers. The proposed platform covers several business use cases. First, subscribers who do not have enough dataplan quotas can purchase them from other subscribers at lower rate. Second, subscribers who have un-used quotas can sell them. Third, subscribers who need higher cellular bandwidth, e.g., for downloading a large file, can purchase the additional bandwidth on-demand from neighboring subscribers. &lt;br /&gt;
&lt;br /&gt;
As a starting point, we are implementing an Android app to facility such collaboration using WiFi ad hoc mode. Later, we will implement servers on Linux to realize the micro-billing mechanisms.&lt;br /&gt;
&lt;br /&gt;
An early todo list has been identified. &lt;br /&gt;
Todo (updates are welcome):&lt;br /&gt;
# Survey on multi-hop tethering on smartphones&lt;br /&gt;
# Survey on micro-billing mechanisms&lt;br /&gt;
# System architecture (without considering security issues)&lt;br /&gt;
# Initial analysis on security concerns&lt;br /&gt;
&lt;br /&gt;
A list of done tasks are given below. &lt;br /&gt;
Done (updates are welcome):&lt;br /&gt;
# None for now.&lt;br /&gt;
&lt;br /&gt;
== Mathieu's Notes ==&lt;br /&gt;
According to my readings, I think we should focus on using WAN (EDGE/3G) for sharing connections, as it seems to be more energy-efficient than WiFi, especially when transfering at high bit rates.  It was proven in Sharma et al. that transfering data at a low or high bitrate doesn't cost that much more in terms of energy consumption.   However, as opposed to Sharma et al., I would say that we should use only mobile devices, and nothing else.  The idea of a proxy to gather data sounds appealing, as it allows to send data in stronger bursts in order to save energy, but this does give enough flexibility.  For example, if one is going up Burnaby Mountain, they might want to share their data plan with some of the bus passengers, and if the bus is crowded, no one will be using a laptop!&lt;br /&gt;
&lt;br /&gt;
Can a user connect to many &amp;quot;providers&amp;quot;?  Or only one?  &lt;br /&gt;
&lt;br /&gt;
Currently, it seems that phones give priority to sending/receiving data from WiFi and then using WAN.  It would be very important to find a way to simulate a WiFi connection for someone connecting to someone else's data plan, so they are not using theirs.&lt;br /&gt;
&lt;br /&gt;
Security- and privacy-wise, the data provider (the person selling their data plan) should not be allowed to sniff any packets coming in and out of their phone to a customer.  From a technical point of view, this might not be possible.&lt;br /&gt;
&lt;br /&gt;
== Links and References ==&lt;br /&gt;
&lt;br /&gt;
* A. Sharma, V. Navda, R. Ramjee, V. Padmanabhan, and E. Belding. ''Cool-Tether: energy efficient on-the-fly wifi hot-spots using mobile phones.'' In Proc. of international conference on Emerging networking experiments and technologies (CoNEXT '09).&lt;br /&gt;
* E. Jung, Y. Wang, I. Prilepov, F. Maker, X. Liu, and V. Akella. &amp;quot;User-profile-driven collaborative bandwidth sharing on mobile phones.&amp;quot; In Proc. of ACM Workshop on Mobile Cloud Computing Services: Social Networks and Beyond (MCS '10).&lt;br /&gt;
* P. Hui, R. Mortier, K. Xu, J. Crowcroft, and V. Li. &amp;quot;Sharing airtime with Shair avoids wasting time and money.&amp;quot; In Proc. of workshop on Mobile Computing Systems and Applications (HotMobile '09).&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4112</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4112"/>
		<updated>2011-01-25T14:54:07Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 885 : Special Topics, Computer Architecture&lt;br /&gt;
&lt;br /&gt;
=== January 25, 2011 ===&lt;br /&gt;
* Read more about view synthesis for video plus depth, and tried to better understand my previous readings as some of them had a lot of information.  Gathered a list of requirements for streaming 3D videos to mobile devices, which is available on the wiki.&lt;br /&gt;
* Read about tethering for mobile devices, and am currently gathering requirtements for a system where users could share and resell their unused data of their data plans.  I am meeting Cheng over Skype on the 26th.  Again, our ideas are available on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4078</id>
		<title>Private:3DV Remote Rendering</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4078"/>
		<updated>2011-01-24T06:15:23Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe the components of a 3D video remote rendering system for mobile devices based on cloud computing services. We also discuss the main design choices and challenges that need to be addressed in such a system.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
The system will be composed of three main components:&lt;br /&gt;
* Mobile receiver(s)&lt;br /&gt;
* Adaptation proxy&lt;br /&gt;
* View synthesis and rendering cloud service&lt;br /&gt;
&lt;br /&gt;
Transmission is to be carried via unicast over an unreliable wireless channel. A feedback channel would be necessary between the receiver and the proxy. This channel would be utilized to send information about current/desired viewpoint, buffer status, and network conditions, but also about the mobile device itself: current battery level, screen resolution, expected amount of power for processing, etc.  Such feedback channel is crucial in order to have a fully-adaptive algorithm, that can quickly adapt to any change of those parameters.&lt;br /&gt;
&lt;br /&gt;
Because of the limited wireless bandwidth, we need efficient and adaptive compression of transmitted views/layers. In addition, an unequal error protection (UEP) technique will be required to overcome the unreliable nature of the wireless channel.  MDC has already been used in some experiments, and the results seem quite promising.&lt;br /&gt;
&lt;br /&gt;
Based on receiver feedback, the adaptation proxy is responsible for selecting the best views to send to the receiver, perform rate adaptation based on current network conditions, and encode them efficiently. We can utilize RD-optimization techniques for rate adaptation.&lt;br /&gt;
&lt;br /&gt;
It is important to distinguish what the proxy and cloud would accomplish.  For example, a multiview plus depth scheme could be used in order to support a broad array of devices, such as phones and tablets.  From some real, filmed views, a server might interpolate the extra views required, where the number of extra views depend of the nature of the mobile device.  This would give quite some flexibility, at a very cheap cost: only the original views would need to be stored.  Experimentally, we would have to see if it is doable to generate extra interpolated views on the fly, or if such views need to live on the server as well. &lt;br /&gt;
&lt;br /&gt;
=== Design Choices ===&lt;br /&gt;
&lt;br /&gt;
* What is the format of the stored video files?&lt;br /&gt;
* How many views (and possible depth maps) need to be sent to the receiver?&lt;br /&gt;
** two views (receiver needs to construct a disparity/depth map and synthesize intermediate views)&lt;br /&gt;
** two views + two depth maps (receiver can then synthesize any intermediate view between the received ones)&lt;br /&gt;
** one view + depth map (yields a limited view synthesis range)&lt;br /&gt;
** two+ views (and + depth maps) for larger displays, such as the iPad and displays/TV in cars&lt;br /&gt;
* What compression format should be used to compress the texture images of the views?  This could be driven by the resolution of the display where a high level of texture might not be noticeable.&lt;br /&gt;
* What compression format is efficient for compressing the depth maps without affecting the quality of synthesized views?  Should depth map be compressed?&lt;br /&gt;
** Will MVC be suitable for depth maps?&lt;br /&gt;
* How much will quality reduction of one of the views to reduce bandwidth affect the synthesis process at the receiver side? &lt;br /&gt;
** Will the effect be significant given that receiver's display size is small?&lt;br /&gt;
* How will view synthesis and associated operations (e.g. 3D warping and hole filling) at the receiver-side affect the power consumption of the device?&lt;br /&gt;
* Should we only focus on reducing the amount of data needed to be transmitted, as antennas consume a significant amount of power?  Or should we experiment and see how those 2 variables are tied together, given that decoding 3D videos is a much more resource intensive process?&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4077</id>
		<title>Private:3DV Remote Rendering</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4077"/>
		<updated>2011-01-24T06:11:20Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe the components of a 3D video remote rendering system for mobile devices based on cloud computing services. We also discuss the main design choices and challenges that need to be addressed in such a system.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
The system will be composed of three main components:&lt;br /&gt;
* Mobile receiver(s)&lt;br /&gt;
* Adaptation proxy&lt;br /&gt;
* View synthesis and rendering cloud service&lt;br /&gt;
&lt;br /&gt;
Transmission is to be carried via unicast over an unreliable wireless channel. A feedback channel would be necessary between the receiver and the proxy. This channel would be utilized to send information about current/desired viewpoint, buffer status, and network conditions, but also about the mobile device itself: current battery level, screen resolution, expected amount of power for processing, etc.  Such feedback channel is crucial in order to have a fully-adaptive algorithm, that can quickly adapt to any change of those parameters.&lt;br /&gt;
&lt;br /&gt;
Because of the limited wireless bandwidth, we need efficient and adaptive compression of transmitted views/layers. In addition, an unequal error protection (UEP) technique will be required to overcome the unreliable nature of the wireless channel.  MDC has already been used in some experiments, and the results seem quite promising.&lt;br /&gt;
&lt;br /&gt;
Based on receiver feedback, the adaptation proxy is responsible for selecting the best views to send to the receiver, perform rate adaptation based on current network conditions, and encode them efficiently. We can utilize RD-optimization techniques for rate adaptation.&lt;br /&gt;
&lt;br /&gt;
It is important to distinguish what the proxy and cloud would accomplish.  For example, a multiview plus depth scheme could be used in order to support a broad array of devices, such as phones and tablets.  From some real, filmed views, a server might interpolate the extra views required, where the number of extra views depend of the nature of the mobile device.  This would give quite some flexibility, at a very cheap cost: only the original views would need to be stored.  Experimentally, we would have to see if it is doable to generate extra interpolated views on the fly, or if such views need to live on the server as well. &lt;br /&gt;
&lt;br /&gt;
=== Design Choices ===&lt;br /&gt;
&lt;br /&gt;
* What is the format of the stored video files?&lt;br /&gt;
* How many views (and possible depth maps) need to be sent to the receiver?&lt;br /&gt;
** two views (receiver needs to construct a disparity/depth map and synthesize intermediate views)&lt;br /&gt;
** two views + two depth maps (receiver can then synthesize any intermediate view between the received ones)&lt;br /&gt;
** one view + depth map (yields a limited view synthesis range)&lt;br /&gt;
** two+ views (and + depth maps) for larger displays, such as the iPad and displays/TV in cars&lt;br /&gt;
* What compression format should be used to compress the texture images of the views?  This could be driven by the resolution of the display where a high level of texture might not be noticeable.&lt;br /&gt;
* What compression format is efficient for compressing the depth maps without affecting the quality of synthesized views?  Should depth map be compressed?&lt;br /&gt;
** Will MVC be suitable for depth maps?&lt;br /&gt;
* How much will quality reduction of one of the views to reduce bandwidth affect the synthesis process at the receiver side? &lt;br /&gt;
** Will the effect be significant given that receiver's display size is small?&lt;br /&gt;
* How will view synthesis and associated operations (e.g. 3D warping and hole filling) at the receiver-side affect the power consumption of the device?&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4076</id>
		<title>Private:3DV Remote Rendering</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4076"/>
		<updated>2011-01-24T06:09:07Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe the components of a 3D video remote rendering system for mobile devices based on cloud computing services. We also discuss the main design choices and challenges that need to be addressed in such a system.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
The system will be composed of three main components:&lt;br /&gt;
* Mobile receiver(s)&lt;br /&gt;
* Adaptation proxy&lt;br /&gt;
* View synthesis and rendering cloud service&lt;br /&gt;
&lt;br /&gt;
Transmission is to be carried via unicast over an unreliable wireless channel. A feedback channel would be necessary between the receiver and the proxy. This channel would be utilized to send information about current/desired viewpoint, buffer status, and network conditions, but also about the mobile device itself: current battery level, screen resolution, expected amount of power for processing, etc.  Such feedback channel is crucial in order to have a fully-adaptive algorithm, that can quickly adapt to any change of those parameters.&lt;br /&gt;
&lt;br /&gt;
Because of the limited wireless bandwidth, we need efficient and adaptive compression of transmitted views/layers. In addition, an unequal error protection (UEP) technique will be required to overcome the unreliable nature of the wireless channel.  MDC has already been used in some experiments, and the results seem quite promising.&lt;br /&gt;
&lt;br /&gt;
Based on receiver feedback, the adaptation proxy is responsible for selecting the best views to send to the receiver, perform rate adaptation based on current network conditions, and encode them efficiently. We can utilize RD-optimization techniques for rate adaptation.&lt;br /&gt;
&lt;br /&gt;
It is important to distinguish what the proxy and cloud would accomplish.  For example, a multiview plus depth scheme could be used in order to support a broad array of devices, such as phones and tablets.  From some real, filmed views, a server might interpolate the extra views required, where the number of extra views depend of the nature of the mobile device.  This would give quite some flexibility, at a very cheap cost: only the original views would need to be stored.  Experimentally, we would have to see if it is doable to generate extra interpolated views on the fly, or if such views need to live on the server as well. &lt;br /&gt;
&lt;br /&gt;
=== Design Choices ===&lt;br /&gt;
&lt;br /&gt;
* What is the format of the stored video files?&lt;br /&gt;
* How many views (and possible depth maps) need to be sent to the receiver?&lt;br /&gt;
** two views (receiver needs to construct a disparity/depth map and synthesize intermediate views)&lt;br /&gt;
** two views + two depth maps (receiver can then synthesize any intermediate view between the received ones)&lt;br /&gt;
** one view + depth map (yields a limited view synthesis range)&lt;br /&gt;
* What compression format should be used to compress the texture images of the views?&lt;br /&gt;
* What compression format is efficient for compressing the depth maps without affecting the quality of synthesized views?&lt;br /&gt;
** Will MVC be suitable for depth maps?&lt;br /&gt;
* How much will quality reduction of one of the views to reduce bandwidth affect the synthesis process at the receiver side? &lt;br /&gt;
** Will the effect be significant given that receiver's display size is small?&lt;br /&gt;
* How will view synthesis and associated operations (e.g. 3D warping and hole filling) at the receiver-side affect the power consumption of the device?&lt;br /&gt;
&lt;br /&gt;
Mathieu:&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4075</id>
		<title>Private:3DV Remote Rendering</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:3DV_Remote_Rendering&amp;diff=4075"/>
		<updated>2011-01-24T05:59:37Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we describe the components of a 3D video remote rendering system for mobile devices based on cloud computing services. We also discuss the main design choices and challenges that need to be addressed in such a system.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
The system will be composed of three main components:&lt;br /&gt;
* Mobile receiver(s)&lt;br /&gt;
* Adaptation proxy&lt;br /&gt;
* View synthesis and rendering cloud service&lt;br /&gt;
&lt;br /&gt;
Transmission is to be carried via unicast over an unreliable wireless channel. A feedback channel would be necessary between the receiver and the proxy. This channel would be utilized to send information about current/desired viewpoint, buffer status, and network conditions, but also about the mobile device itself: current battery level, screen resolution, expected amount of power for processing, etc.  Such feedback channel is crucial in order to have a fully-adaptive algorithm, that can quickly adapt to any change of those parameters.&lt;br /&gt;
&lt;br /&gt;
Because of the limited wireless bandwidth, we need efficient and adaptive compression of transmitted views/layers. In addition, an unequal error protection (UEP) technique will be required to overcome the unreliable nature of the wireless channel.&lt;br /&gt;
&lt;br /&gt;
Based on receiver feedback, the adaptation proxy is responsible for selecting the best views to send to the receiver, perform rate adaptation based on current network conditions, and encode them efficiently. We can utilize RD-optimization techniques for rate adaptation.&lt;br /&gt;
&lt;br /&gt;
=== Design Choices ===&lt;br /&gt;
&lt;br /&gt;
* What is the format of the stored video files?&lt;br /&gt;
* How many views (and possible depth maps) need to be sent to the receiver?&lt;br /&gt;
** two views (receiver needs to construct a disparity/depth map and synthesize intermediate views)&lt;br /&gt;
** two views + two depth maps (receiver can then synthesize any intermediate view between the received ones)&lt;br /&gt;
** one view + depth map (yields a limited view synthesis range)&lt;br /&gt;
* What compression format should be used to compress the texture images of the views?&lt;br /&gt;
* What compression format is efficient for compressing the depth maps without affecting the quality of synthesized views?&lt;br /&gt;
** Will MVC be suitable for depth maps?&lt;br /&gt;
* How much will quality reduction of one of the views to reduce bandwidth affect the synthesis process at the receiver side? &lt;br /&gt;
** Will the effect be significant given that receiver's display size is small?&lt;br /&gt;
* How will view synthesis and associated operations (e.g. 3D warping and hole filling) at the receiver-side affect the power consumption of the device?&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4020</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4020"/>
		<updated>2011-01-18T21:11:21Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 885 : Special Topics, Computer Architecture&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
* In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  H.264 Auxiliary Picture Syntax, on the other hand, does not offer such flexiblity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4019</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=4019"/>
		<updated>2011-01-18T21:08:57Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 885 : Special Topics, Computer Architecture&lt;br /&gt;
&lt;br /&gt;
=== January 18, 2011 ===&lt;br /&gt;
* Read a paper about various types of coding used in 3D technologies.  Surprisingly, H.264/MVC does not seem to add that much of compression when considering the significant increase of processing power required for decoding.  On the other hand, Video plus depth requires a fraction of bitrate of its coloured counterpart (in the range of 10-20%) in order to achieve high quality.  Multiview video plus depth coding can be useful in order to estimate views instead of sending them.  Such process can again, be computionally expensive, and estimation algorithms are still not perfect.  However, such method has an interesting aspect to it: one could use multiview video plus depth in order to have a proxy storing the video, and estimates the specific number of views required for the device that needs to display the video.  The beauty of this is the flexibility when it comes to support a broad array of mobile devices.&lt;br /&gt;
&lt;br /&gt;
In my readings, I have found that MPEG-3 Part C can be used for Video Plus Depth, something that should be looked a bit more into.  It gives some flexibility when it comes to how to encode the colour video, and the depth map independently.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=3982</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=3982"/>
		<updated>2011-01-12T00:00:32Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Spring 2011 (RA) =&lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 771: Internet Architectures and Protocols&lt;br /&gt;
** CMPT 88 : Special Topics, &lt;br /&gt;
&lt;br /&gt;
=== January 11, 2011 ===&lt;br /&gt;
* Had a busy weekend with my birthday ;-)  But, also worked on the presentation I gave about 3D videos during our weekly team meeting.  During the same week, I got familiar with the concept of remote rendering.  I have read about some previous experiments where it was used in a virtual reality environment, and how the concept was used to improve the current viewpoint selection process on mobile devices.  The papers helped me understand the concept, and the various way a proxy server could be used, even if it was used in a freeview point context rather than a stereo video one.  For example, it can be used to partially render a video, or even completely.  GPUs could also be used if needed.  However, the problematic being solved being different than the one I am focusing on, the aspect of computing the reference frames needed when a user change the viewpoint was of little interest.&lt;br /&gt;
&lt;br /&gt;
= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;br /&gt;
&lt;br /&gt;
* Worked on Litterature Survey of 3D technologies, and understanding the current research areas with a focus on those that are related to the field of 3DTV on Mobile Devices.  Also, I got familiar with a power measurement tool for Android, and understand how to apply it in the context of academic research.&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=3981</id>
		<title>Private:progress-spenard</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Private:progress-spenard&amp;diff=3981"/>
		<updated>2011-01-11T23:47:21Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: New page: = Fall 2010 (TA) =  * Courses: ** CMPT 705: Design/Analysis Algorithms ** CMPT 820: Multimedia Systems  * TA - Full Time ** CMPT 165: Introduction to the Internet and the World Wide Web&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Fall 2010 (TA) = &lt;br /&gt;
* Courses:&lt;br /&gt;
** CMPT 705: Design/Analysis Algorithms&lt;br /&gt;
** CMPT 820: Multimedia Systems&lt;br /&gt;
&lt;br /&gt;
* TA - Full Time&lt;br /&gt;
** CMPT 165: Introduction to the Internet and the World Wide Web&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3893</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3893"/>
		<updated>2010-12-03T07:04:02Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Software Systems Developed by NSL Members ==&lt;br /&gt;
&lt;br /&gt;
* [[software | List of software developed at NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac Guide on how to install LaTeX (MacTex) on a Mac.] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/10/820/  Fall 2010: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Old Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://code.google.com/p/svnx/ SvnX] A Mac SVN Client.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] A Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
* [http://ziyang.eecs.umich.edu/projects/powertutor/ PowerTutor] A useful tool that measures power consumption of computer processes, screen, GPS, 3G and WiFi of an HTC G1, HTC G2 and Nexus One Android operated phones.  The measurements are saved to a plain text file that is easy to parse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3712</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3712"/>
		<updated>2010-09-17T04:41:28Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac Guide on how to install LaTeX (MacTex) on a Mac.] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://code.google.com/p/svnx/ SvnX] A Mac SVN Client.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3711</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3711"/>
		<updated>2010-09-17T04:41:00Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac Guide on how to install LaTeX (MacTex) on a Mac.] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://code.google.com/p/svnx/ svnx] A Mac SVN Client.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3710</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3710"/>
		<updated>2010-09-17T04:40:36Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac Guide on how to install LaTeX (MacTex) on a Mac.] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://code.google.com/p/svnx/] A Mac SVN Client.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3709</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3709"/>
		<updated>2010-09-17T04:30:31Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac Guide on how to install LaTeX (MacTex) on a Mac.] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3708</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3708"/>
		<updated>2010-09-17T04:27:58Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac MacTex on a Mac.]  Comes with BibDesk (for bibliography) and TeXShop.  For command completion, use the escape key (or change it to tab in the preferences).&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
	<entry>
		<id>https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3707</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://nmsl.cs.sfu.ca/index.php?title=Resources&amp;diff=3707"/>
		<updated>2010-09-17T04:27:15Z</updated>

		<summary type="html">&lt;p&gt;Mspenard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Technical Reading and Writing ==&lt;br /&gt;
&lt;br /&gt;
* [[Writing Guidelines]], a list of paper writing guidelines used in NSL. &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/keshav07.pdf How to Read a Paper], By S. Keshav, ACM SIGCOMM Computer Communications Review, 37(3):83--84, July 2007.&lt;br /&gt;
&lt;br /&gt;
* [http://irl.eecs.umich.edu/jamin/courses/eecs589/papers/checklist.html Paper reading and writing checklists]&lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.surrey.sfu.ca/resources/writing-a-paper.pdf How to write a great research paper]&lt;br /&gt;
&lt;br /&gt;
* [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy and Procedures on Plagiarism] (New grad students: Read Section 1 of this document.)&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/how-to.html Useful links on research and writing]&lt;br /&gt;
&lt;br /&gt;
* William Strunk, Jr., The Elements of Style (available online at: [http://www.bartleby.com/141/ http://www.bartleby.com/141/])&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/dec/essay.dissertation.html How To Write A Dissertation], by  Douglas Comer&lt;br /&gt;
&lt;br /&gt;
* J. Zobel, [http://justin.sobell.net/index.htm Writing for Computer Science], 2nd edition, Springer, 2004.&lt;br /&gt;
&lt;br /&gt;
* [http://windowsil.org/2006/09/11/reviewing-a-paper-guidelines/ Reviewing a Journal Paper - Guidelines], by Robert Heath&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latex Tutorials and Templates ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latex-introduction.pdf One page overview of Latex] &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexManual.pdf Not-so-short Latex tutorial]&lt;br /&gt;
&lt;br /&gt;
*[http://www.texniccenter.org/ TeXnicCenter: Latex integrated environment (graphical), for MS Windows users] You need to install [http://miktex.org/ MikTex] before installing this environment. &lt;br /&gt;
&lt;br /&gt;
*[http://kile.sourceforge.net/ Kile: Latex integrated environment, For Linux (KDE) users]&lt;br /&gt;
&lt;br /&gt;
*[http://guides.macrumors.com/Installing_LaTeX_on_a_Mac MacTex on a Mac.  Comes with BibDesk (for bibliography) and TeXShop.  For command completion, use the escape key (or change it to tab in the preferences)]&lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/latexReportTemplate.zip Simple template for writing reports]: use it to write progress reports and initial versions of papers. &lt;br /&gt;
&lt;br /&gt;
*[http://nsl.cs.surrey.sfu.ca/resources/IEEEtran_HOWTO.pdf HOWTO Manual for IEEE Transactions Latex  Document]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf The Comprehensive LaTeX Symbol List]  ([http://nsl.cs.surrey.sfu.ca/resources/symbols.pdf Local Copy], downloaded in Dec 2007)]&lt;br /&gt;
&lt;br /&gt;
*[http://people.csail.mit.edu/u/j/jrennie/public_html/latex/ Latex tips and tricks by Jason Rennie]&lt;br /&gt;
&lt;br /&gt;
*Some bibliography files (mostly on P2P):  [http://nsl.cs.surrey.sfu.ca/resources/literature.bib literature.bib]   [http://nsl.cs.surrey.sfu.ca/resources/literature2.bib literature2.bib]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Matlab Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [http://www.cyclismo.org/tutorial/matlab/ Matlab tutorial: sorted by topic]&lt;br /&gt;
&lt;br /&gt;
* [http://www.math.mtu.edu/~msgocken/intro/intro.html A practical introduction to Matlab]&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml Matlab documentations]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ee.columbia.edu/~marios/matlab/matlab_tricks.html Matlab tips and tricks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Generate Certificates]] &lt;br /&gt;
* [[Getting the latest active nodes]]&lt;br /&gt;
* [[Deploying to PlanetLab]]&lt;br /&gt;
* [[Get results from PlanetLab]]&lt;br /&gt;
* [http://lists.planet-lab.org/pipermail/users/2005-September/001646.html Using '''screen''' on PlanetLab nodes]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OPNET Tutorials == &lt;br /&gt;
&lt;br /&gt;
* [[Importing video traffic into OPNET]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Networking and Multimedia Courses Taught by NSL Professors == &lt;br /&gt;
&lt;br /&gt;
* [http://nsl.cs.sfu.ca/teaching/08/820/  Summer 2008: CMPT 820 -- Multimedia Systems]  [[08_cmpt820|Wiki Discussion]]&lt;br /&gt;
 &lt;br /&gt;
* [http://www.cs.sfu.ca/~mhefeeda/teaching.html Courses Taught by Dr. Mohamed Hefeeda]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Video Library and Tools ==&lt;br /&gt;
&lt;br /&gt;
* [[Video Library and Tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Tips (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Technical|Technical Tips]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:SIGMM|SIGMM History Preservation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Useful Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://bouml.free.fr/ BOUML] A free UML toolbox running under Unix/Linux/Solaris and Windows to specify and generate code in C++, Java, Php, Python and Idl.&lt;br /&gt;
* [http://www.fabforce.net/dbdesigner4/ fabFORCE.net DBDesigner] Open source visual database designer for MySQL for Windows and Linux KDE/Gnome.&lt;br /&gt;
* [http://zoneit.free.fr/esvn/ eSVN] A cross-platform GUI frontend to the Subversion revision system which runs under Unix-like operating systems (GNU/Linux distributions, FreeBSD, Sun Solaris and others), Mac OS X as well as Windows.&lt;br /&gt;
* [http://www.schmidt-web-berlin.de/winfig/ WinFig] An xFig clone for Windows users.&lt;br /&gt;
* [http://nodebox.net/code/index.php/Home NodeBox] a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie. NodeBox is free and well-documented. Older versions (found [http://nodebox.net/code/index.php/Boost_Graph here]) had a graphs component that is based on Boost Graph.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random Thoughts (Login Required) ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random|Thoughts by Cheng]]&lt;br /&gt;
&lt;br /&gt;
* [[Private:Random_Hefeeda|Thoughts by Mohamed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware/Computing Resources in NSL ==&lt;br /&gt;
&lt;br /&gt;
* [[Hardware/Computing Resources in NSL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access Control Lists on NSL Servers ==&lt;br /&gt;
&lt;br /&gt;
* [[Private:Create Accounts and Modify Permissions on NSL Servers| Howto Create Accounts and Modify Permissions on NSL Servers (Login Required)]]&lt;/div&gt;</summary>
		<author><name>Mspenard</name></author>
	</entry>
</feed>