https://wiki.cdot.senecacollege.ca/w/api.php?action=feedcontributions&user=Kmbarnhart&feedformat=atomCDOT Wiki - User contributions [en]2024-03-29T13:33:49ZUser contributionsMediaWiki 1.30.0https://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=94579Winter 2013 DPS911 and OSD700 Weekly Schedule2013-03-11T21:12:15Z<p>Kmbarnhart: /* Week 11 (March 25) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
'''*WebVTT Presentation at Mozilla:'''<br />
<br />
**[https://etherpad.mozilla.org/webvtt-presentation WebVTT Presentation]<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Ralph's work on open web standards on display https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling/<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
https://etherpad.mozilla.org/webvtt-presentation<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. Shayan Ahmad<br /><br />
3. Rick Eyre<br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Kyle Barnhart<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=94578Winter 2013 DPS911 and OSD700 Weekly Schedule2013-03-11T21:11:58Z<p>Kmbarnhart: /* Week 7 (Feb 18) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
'''*WebVTT Presentation at Mozilla:'''<br />
<br />
**[https://etherpad.mozilla.org/webvtt-presentation WebVTT Presentation]<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Ralph's work on open web standards on display https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling/<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
https://etherpad.mozilla.org/webvtt-presentation<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. Shayan Ahmad<br /><br />
3. Rick Eyre<br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=94577Winter 2013 DPS911 and OSD700 Weekly Schedule2013-03-11T21:11:28Z<p>Kmbarnhart: /* Week 7 (Feb 18) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
'''*WebVTT Presentation at Mozilla:'''<br />
<br />
**[https://etherpad.mozilla.org/webvtt-presentation WebVTT Presentation]<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Ralph's work on open web standards on display https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling/<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Kyle Barnhart<br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
https://etherpad.mozilla.org/webvtt-presentation<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. Shayan Ahmad<br /><br />
3. Rick Eyre<br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=94576Winter 2013 DPS911 and OSD700 Weekly Schedule2013-03-11T21:04:25Z<p>Kmbarnhart: /* Week 7 (Feb 18) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
'''*WebVTT Presentation at Mozilla:'''<br />
<br />
**[https://etherpad.mozilla.org/webvtt-presentation WebVTT Presentation]<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Ralph's work on open web standards on display https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling/<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Kyle Barnhart<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
https://etherpad.mozilla.org/webvtt-presentation<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. Shayan Ahmad<br /><br />
3. Rick Eyre<br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=93552Winter 2013 DPS911 and OSD700 Weekly Schedule2013-02-05T19:08:21Z<p>Kmbarnhart: /* Week 5 (Feb 4) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Ralph's work on open web standards on display https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling/<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Winter_2013_DPS911_and_OSD700_Weekly_Schedule&diff=93406Winter 2013 DPS911 and OSD700 Weekly Schedule2013-02-02T00:23:59Z<p>Kmbarnhart: /* Week 5 (Feb 4) */</p>
<hr />
<div>=Introduction=<br />
<br />
The course will meet every Thursday, with Tuesday being optional office hours. Project deliverables and demonstrations will be done on Thursdays. You are responsible to sign-up for your demo slots. Only 3 demos per week will be evaluated, and slots are provided on a first-come-first-served basis. Please sign-up below.<br />
<br />
=Weekly Schedule=<br />
<br />
== Week 1 (Jan 7) ==<br />
<br />
* Course Intro, brief welcome meeting and discussion.<br />
* WebVTT Project Planning<br />
* [https://www.youtube.com/watch?feature=player_embedded&v=GmnHY6vNeQM Accessibility@Mozilla]<br />
* [http://html5doctor.com/interview-with-ian-hickson-html-editor/ Interview with Hixie] on the web platform<br />
* [http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ How Browsers Work] good intro to the topic as we start hacking on Gecko.<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Implement track element bug 629350]<br />
** [https://bug629350.bugzilla.mozilla.org/attachment.cgi?id=606673 Ralph's existing patch] (needs to get updated and working again)<br />
** [https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings WebIDL in Mozilla] (need to convert patch over to using this)<br />
<br />
* TODO<br />
** Write a blog post with a '''Project Description and Plan''' by Thursday Jan 10th. Make sure this includes detailed information about the area of the WebVTT project you'll be driving, ideas for releases, goals, perceived issues you think you'll face, etc. This info can change in subsequent weeks; however, writing this plan will insure that you have your project clearly in mind early on.<br />
** Sign-up for Student Demo slots below with '''Name, Day, Time'''.<br />
** Make yourself aware of all '''Release Due Dates''' below.<br />
** Make contact, setup communications:<br />
*** Sign-up for [https://lists.mozilla.org/listinfo/dev-media dev-media] mailing list<br />
*** Use the [mailto:webvtt-dev@senecacollege.ca webvtt-dev] mailing list for just our classmates + Ralph and Chris (both Media developers with Mozilla)<br />
*** Join and introduce yourself to rillina on the [irc://irc.mozilla.org/media #media] irc channel<br />
*** Join the [irc://irc.mozilla.org/introduction #introduction] irc channel, for help working with Mozilla code<br />
*** Join and stay connected to [irc://irc.mozilla.org/seneca #seneca] irc channel, for course/project back-channel communication<br />
<br />
== Week 2 (Jan 14) [Release Due]==<br />
<br />
* 0.4 Clean-up, seneca to master branch landing, repo migration to Mozilla, etc.<br />
<br />
* Updating Ralph's patch, WIP https://gist.github.com/4555696<br />
** Spec bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=20651<br />
** Gecko bug https://bugzilla.mozilla.org/show_bug.cgi?id=830879<br />
<br />
* Blog post due today with details of what you've done for this release, whether it worked or not.<br />
<br />
== Week 3 (Jan 21) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Marcus Saad<br /><br />
<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=629350#c33 Ralph's patch updated]<br />
** [https://github.com/humphd/mozilla-central/compare/peterv-fix Code on humphd's github]<br />
* [https://github.com/mozilla/webvtt/pull/1 libwebvtt 0.4 review for landing in mozilla/webvtt]<br />
* [[WebVTT Bug Filing Plan]]<br />
<br />
== Week 4 (Jan 28) [Release Due]==<br />
<br />
* Release 0.5 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Caitlin Potter<br /><br />
<br />
== Week 5 (Feb 4) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Jordan Raffoul<br /><br />
2. Kyle Barnhart<br /><br />
3. <br /><br />
<br />
== Week 6 (Feb 11) [Release Due]==<br />
<br />
* Release 0.6 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Shayan Ahmad<br /><br />
2. Dale Karp<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 7 (Feb 18) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Study Week (Feb 25) ==<br />
<br />
* No Presentations or Releases.<br />
<br />
== Week 8 (March 4) [Release Due]==<br />
<br />
* Release 0.7 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Shayan Ahmad<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 9 (March 11) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Dale Karp<br /><br />
2. Caitlin Potter<br /><br />
3. Marcus Saad<br /><br />
<br />
== Week 10 (March 18) [Release Due]==<br />
<br />
* Release 0.8 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 11 (March 25) ==<br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. <br /><br />
2. <br /><br />
3. <br /><br />
<br />
== Week 12 (April 1) [Release Due]==<br />
<br />
* Release 0.9 Due <br />
<br />
* Student Demos (Thurs 1:30 - 3:15)<br />
1. Rick Eyre<br /><br />
2. Caitlin Potter<br /><br />
3. Jordan Raffoul<br /><br />
<br />
== Week 13 (April 8) ==<br />
<br />
* Final Presentation, all students.<br />
<br />
== Week 14 (April 15) [Release Due]==<br />
<br />
* Exam Week<br />
* Release 1.0 Due</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91730The B-Team2012-11-30T23:21:48Z<p>Kmbarnhart: /* Assignment 2 */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 3 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
My Mandelbrot Set program is not the type of program that the reduction of an array to a value, nor does the computation of values require knowledge of other values in an array. In fact the only time global memory is used in the Mandelbrot function is when the value is set. The input is derived from a number of constants and the position of the thread in the grid and block. There are a number of constraints but the most prominent is the size of global device memory and the size of an unsigned integer. To make very large images, very large arrays of values are needed. I enhanced a calculation to determine the largest possible size. The number of values is divided by that size and the image is built over a number of passes.<br />
<br />
In actual fact the main Mandelbrot calculation was already as efficient as possible. It is a simple function and there simply were no changes to make. The initial CUDA version of the program saw and average improvement of 737.6% over the original CPU version of the program. The optimized version was 802.9% faster than the CPU version, which is 10.4% better than the original CUDA version.<br />
<br />
=== Code ===<br />
<br />
I'm only going to post the kernels that changed. There were also many changes in the host code that helped make the program faster.<br />
<big><pre><br />
// part of common.h<br />
const int BLOCK_SIZE_X = 16;<br />
const int BLOCK_SIZE_Y = 8;<br />
const int BLOCK_SIZE_SSAA = 256;<br />
const int BLOCK_SIZE_RGB = 16;<br />
<br />
const int MAX_GRID_SIZE_X = 65536;<br />
<br />
const uint8_t MAX_ALIASING_FACTOR = 16;<br />
</pre></big><br />
<big><pre><br />
// part of main.cpp<br />
cudaError_t error;<br />
int iDevice;<br />
cudaDeviceProp prop; <br />
<br />
// Get device information for total global memory<br />
error = cudaGetDevice(&iDevice);<br />
if(error != cudaSuccess)<br />
displayCudeError(error);<br />
<br />
error = cudaGetDeviceProperties(&prop, iDevice);<br />
if(error != cudaSuccess)<br />
displayCudeError(error);<br />
<br />
// The max amount to do per pass demends on the size of GPU memory and the size of unsigned integer.<br />
// Global memory is devided by two so that both the value array and RGB array can both fit in memory.<br />
DimensionSqType maxPixelsPerPass = (UINT_MAX > (prop.totalGlobalMem / 2)) ? (prop.totalGlobalMem / 2) : UINT_MAX;<br />
<br />
// RGB + alpha is 4 BYTEs. Make sure two copies of the larger can fit in device memory.<br />
DimensionType largerType = ((4 * sizeof(BYTE)) < sizeof(ElementType)) ? sizeof(ElementType) : (4 * sizeof(BYTE));<br />
<br />
// Divide by two for extra safty.<br />
maxPixelsPerPass /= (largerType * 2);<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - __logf(__logf(__dsqrt_rn(z2_r + z2_i)))/__logf(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE_X + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE_Y + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
img[(DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx] = mandelbrot(yMax - (ElementType)dy * yScale,<br />
xMin + (ElementType)dx * xScale,<br />
iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE_SSAA + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
DimensionSqType val = list[curr];<br />
<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = xMin + (ElementType)(val % width) * xScale - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = yMax - (ElementType)(val / width) * yScale + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[val] = getMedian(subpixels, (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor / 2, factor2);<br />
}<br />
else<br />
{<br />
img[val] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selecting the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91729The B-Team2012-11-30T23:20:19Z<p>Kmbarnhart: /* Code */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 3 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
My Mandelbrot Set program is not the type of program that the reduction of an array to a value, nor does the computation of values require knowledge of other values in an array. In fact the only time global memory is used in the Mandelbrot function is when the value is set. The input is derived from a number of constants and the position of the thread in the grid and block. There are a number of constraints but the most prominent is the size of global device memory and the size of an unsigned integer. To make very large images, very large arrays of values are needed. I enhanced a calculation to determine the largest possible size. The number of values is divided by that size and the image is built over a number of passes.<br />
<br />
In actual fact the main Mandelbrot calculation was already as efficient as possible. It is a simple function and there simply were no changes to make. The initial CUDA version of the program saw and average improvement of 737.6% over the original CPU version of the program. The optimized version was 802.9% faster than the CPU version, which is 10.4% better than the original CUDA version.<br />
<br />
=== Code ===<br />
<br />
I'm only going to post the kernels that changed. There were also many changes in the host code that helped make the program faster.<br />
<big><pre><br />
// part of common.h<br />
const int BLOCK_SIZE_X = 16;<br />
const int BLOCK_SIZE_Y = 8;<br />
const int BLOCK_SIZE_SSAA = 256;<br />
const int BLOCK_SIZE_RGB = 16;<br />
<br />
const int MAX_GRID_SIZE_X = 65536;<br />
<br />
const uint8_t MAX_ALIASING_FACTOR = 16;<br />
</pre></big><br />
<big><pre><br />
// part of main.cpp<br />
cudaError_t error;<br />
int iDevice;<br />
cudaDeviceProp prop; <br />
<br />
// Get device information for total global memory<br />
error = cudaGetDevice(&iDevice);<br />
if(error != cudaSuccess)<br />
displayCudeError(error);<br />
<br />
error = cudaGetDeviceProperties(&prop, iDevice);<br />
if(error != cudaSuccess)<br />
displayCudeError(error);<br />
<br />
// The max amount to do per pass demends on the size of GPU memory and the size of unsigned integer.<br />
// Global memory is devided by two so that both the value array and RGB array can both fit in memory.<br />
DimensionSqType maxPixelsPerPass = (UINT_MAX > (prop.totalGlobalMem / 2)) ? (prop.totalGlobalMem / 2) : UINT_MAX;<br />
<br />
// RGB + alpha is 4 BYTEs. Make sure two copies of the larger can fit in device memory.<br />
DimensionType largerType = ((4 * sizeof(BYTE)) < sizeof(ElementType)) ? sizeof(ElementType) : (4 * sizeof(BYTE));<br />
<br />
// Divide by two for extra safty.<br />
maxPixelsPerPass /= (largerType * 2);<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - __logf(__logf(__dsqrt_rn(z2_r + z2_i)))/__logf(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE_X + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE_Y + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
img[(DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx] = mandelbrot(yMax - (ElementType)dy * yScale,<br />
xMin + (ElementType)dx * xScale,<br />
iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE_SSAA + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
DimensionSqType val = list[curr];<br />
<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = xMin + (ElementType)(val % width) * xScale - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = yMax - (ElementType)(val / width) * yScale + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[val] = getMedian(subpixels, (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor / 2, factor2);<br />
}<br />
else<br />
{<br />
img[val] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selecting the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91728The B-Team2012-11-30T23:17:25Z<p>Kmbarnhart: /* Description */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 3 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
My Mandelbrot Set program is not the type of program that the reduction of an array to a value, nor does the computation of values require knowledge of other values in an array. In fact the only time global memory is used in the Mandelbrot function is when the value is set. The input is derived from a number of constants and the position of the thread in the grid and block. There are a number of constraints but the most prominent is the size of global device memory and the size of an unsigned integer. To make very large images, very large arrays of values are needed. I enhanced a calculation to determine the largest possible size. The number of values is divided by that size and the image is built over a number of passes.<br />
<br />
In actual fact the main Mandelbrot calculation was already as efficient as possible. It is a simple function and there simply were no changes to make. The initial CUDA version of the program saw and average improvement of 737.6% over the original CPU version of the program. The optimized version was 802.9% faster than the CPU version, which is 10.4% better than the original CUDA version.<br />
<br />
=== Code ===<br />
<br />
I'm only going to post the kernels that changed. There were also many changes in the host code that helped make the program faster.<br />
<big><pre><br />
<br />
// part of common.h<br />
const int BLOCK_SIZE_X = 16;<br />
<br />
const int BLOCK_SIZE_Y = 8;<br />
<br />
const int BLOCK_SIZE_SSAA = 256;<br />
<br />
const int BLOCK_SIZE_RGB = 16;<br />
<br />
<br />
<br />
<br />
const int MAX_GRID_SIZE_X = 65536;<br />
<br />
<br />
<br />
<br />
const uint8_t MAX_ALIASING_FACTOR = 16;<br />
</pre></big><br />
<big><pre><br />
<br />
// part of main.cpp<br />
<br />
cudaError_t error;<br />
<br />
int iDevice;<br />
<br />
cudaDeviceProp prop; <br />
<br />
<br />
<br />
// Get device information for total global memory<br />
<br />
error = cudaGetDevice(&iDevice);<br />
<br />
if(error != cudaSuccess)<br />
<br />
displayCudeError(error);<br />
<br />
<br />
<br />
error = cudaGetDeviceProperties(&prop, iDevice);<br />
<br />
if(error != cudaSuccess)<br />
<br />
displayCudeError(error);<br />
<br />
<br />
<br />
// The max amount to do per pass demends on the size of GPU memory and the size of unsigned integer.<br />
<br />
// Global memory is devided by two so that both the value array and RGB array can both fit in memory.<br />
<br />
DimensionSqType maxPixelsPerPass = (UINT_MAX > (prop.totalGlobalMem / 2)) ? (prop.totalGlobalMem / 2) : UINT_MAX;<br />
<br />
<br />
<br />
// RGB + alpha is 4 BYTEs. Make sure two copies of the larger can fit in device memory.<br />
<br />
DimensionType largerType = ((4 * sizeof(BYTE)) < sizeof(ElementType)) ? sizeof(ElementType) : (4 * sizeof(BYTE));<br />
<br />
<br />
<br />
// Divide by two for extra safty.<br />
<br />
maxPixelsPerPass /= (largerType * 2);<br />
<br />
</pre></big><br />
<br />
<br />
<br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
<br />
{<br />
<br />
ElementType z_r = c_r;<br />
<br />
ElementType z_i = c_i;<br />
<br />
<br />
<br />
ElementType z2_r = z_r * z_r;<br />
<br />
ElementType z2_i = z_i * z_i;<br />
<br />
<br />
<br />
IterationType n = 0;<br />
<br />
<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
<br />
{ <br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n++;<br />
<br />
}<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n += 2;<br />
<br />
<br />
<br />
if(n > iterations)<br />
<br />
{<br />
<br />
return (ElementType)iterations;<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
return (ElementType)n + 1.0 - __logf(__logf(__dsqrt_rn(z2_r + z2_i)))/__logf(2.0);;<br />
<br />
}<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
<br />
{ <br />
<br />
DimensionType dx = blockIdx.x * BLOCK_SIZE_X + threadIdx.x;<br />
<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE_Y + threadIdx.y;<br />
<br />
<br />
<br />
if(dx >= width || dy >= height)<br />
<br />
return;<br />
<br />
<br />
<br />
// This is fine because so few registers are used<br />
<br />
img[(DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx] = mandelbrot(yMax - (ElementType)dy * yScale,<br />
<br />
xMin + (ElementType)dx * xScale,<br />
<br />
iterations);<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
<br />
{ <br />
<br />
DimensionType curr = blockIdx.x * BLOCK_SIZE_SSAA + threadIdx.x;<br />
<br />
<br />
<br />
if(curr >= length)<br />
<br />
return;<br />
<br />
<br />
<br />
DimensionSqType val = list[curr];<br />
<br />
<br />
<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
<br />
<br />
// Get the centre of the top left subpixel<br />
<br />
xMin = xMin + (ElementType)(val % width) * xScale - (xScale / 2.0) + (xSubScale / 2.0);<br />
<br />
yMax = yMax - (ElementType)(val / width) * yScale + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
<br />
<br />
// Get the values for each pixel in fractal <br />
<br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
<br />
{<br />
<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
<br />
{<br />
<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
<br />
<br />
if(factor2 % 2 != 0)<br />
<br />
{<br />
<br />
img[val] = getMedian(subpixels, (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor / 2, factor2);<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
img[val] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
<br />
/ 2.0;<br />
<br />
}<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selecting the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91727The B-Team2012-11-30T23:17:08Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 3 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
<br />
My Mandelbrot Set program is not the type of program that the reduction of an array to a value, nor does the computation of values require knowledge of other values in an array. In fact the only time global memory is used in the Mandelbrot function is when the value is set. The input is derived from a number of constants and the position of the thread in the grid and block. There are a number of constraints but the most prominent is the size of global device memory and the size of an unsigned integer. To make very large images, very large arrays of values are needed. I enhanced a calculation to determine the largest possible size. The number of values is divided by that size and the image is built over a number of passes.<br />
<br />
<br />
<br />
In actual fact the main Mandelbrot calculation was already as efficient as possible. It is a simple function and there simply were no changes to make. The initial CUDA version of the program saw and average improvement of 737.6% over the original CPU version of the program. The optimized version was 802.9% faster than the CPU version, which is 10.4% better than the original CUDA version.<br />
<br />
<br />
<br />
=== Code ===<br />
<br />
I'm only going to post the kernels that changed. There were also many changes in the host code that helped make the program faster.<br />
<big><pre><br />
<br />
// part of common.h<br />
const int BLOCK_SIZE_X = 16;<br />
<br />
const int BLOCK_SIZE_Y = 8;<br />
<br />
const int BLOCK_SIZE_SSAA = 256;<br />
<br />
const int BLOCK_SIZE_RGB = 16;<br />
<br />
<br />
<br />
<br />
const int MAX_GRID_SIZE_X = 65536;<br />
<br />
<br />
<br />
<br />
const uint8_t MAX_ALIASING_FACTOR = 16;<br />
</pre></big><br />
<big><pre><br />
<br />
// part of main.cpp<br />
<br />
cudaError_t error;<br />
<br />
int iDevice;<br />
<br />
cudaDeviceProp prop; <br />
<br />
<br />
<br />
// Get device information for total global memory<br />
<br />
error = cudaGetDevice(&iDevice);<br />
<br />
if(error != cudaSuccess)<br />
<br />
displayCudeError(error);<br />
<br />
<br />
<br />
error = cudaGetDeviceProperties(&prop, iDevice);<br />
<br />
if(error != cudaSuccess)<br />
<br />
displayCudeError(error);<br />
<br />
<br />
<br />
// The max amount to do per pass demends on the size of GPU memory and the size of unsigned integer.<br />
<br />
// Global memory is devided by two so that both the value array and RGB array can both fit in memory.<br />
<br />
DimensionSqType maxPixelsPerPass = (UINT_MAX > (prop.totalGlobalMem / 2)) ? (prop.totalGlobalMem / 2) : UINT_MAX;<br />
<br />
<br />
<br />
// RGB + alpha is 4 BYTEs. Make sure two copies of the larger can fit in device memory.<br />
<br />
DimensionType largerType = ((4 * sizeof(BYTE)) < sizeof(ElementType)) ? sizeof(ElementType) : (4 * sizeof(BYTE));<br />
<br />
<br />
<br />
// Divide by two for extra safty.<br />
<br />
maxPixelsPerPass /= (largerType * 2);<br />
<br />
</pre></big><br />
<br />
<br />
<br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
<br />
{<br />
<br />
ElementType z_r = c_r;<br />
<br />
ElementType z_i = c_i;<br />
<br />
<br />
<br />
ElementType z2_r = z_r * z_r;<br />
<br />
ElementType z2_i = z_i * z_i;<br />
<br />
<br />
<br />
IterationType n = 0;<br />
<br />
<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
<br />
{ <br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n++;<br />
<br />
}<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n += 2;<br />
<br />
<br />
<br />
if(n > iterations)<br />
<br />
{<br />
<br />
return (ElementType)iterations;<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
return (ElementType)n + 1.0 - __logf(__logf(__dsqrt_rn(z2_r + z2_i)))/__logf(2.0);;<br />
<br />
}<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
<br />
{ <br />
<br />
DimensionType dx = blockIdx.x * BLOCK_SIZE_X + threadIdx.x;<br />
<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE_Y + threadIdx.y;<br />
<br />
<br />
<br />
if(dx >= width || dy >= height)<br />
<br />
return;<br />
<br />
<br />
<br />
// This is fine because so few registers are used<br />
<br />
img[(DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx] = mandelbrot(yMax - (ElementType)dy * yScale,<br />
<br />
xMin + (ElementType)dx * xScale,<br />
<br />
iterations);<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
<br />
{ <br />
<br />
DimensionType curr = blockIdx.x * BLOCK_SIZE_SSAA + threadIdx.x;<br />
<br />
<br />
<br />
if(curr >= length)<br />
<br />
return;<br />
<br />
<br />
<br />
DimensionSqType val = list[curr];<br />
<br />
<br />
<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
<br />
<br />
// Get the centre of the top left subpixel<br />
<br />
xMin = xMin + (ElementType)(val % width) * xScale - (xScale / 2.0) + (xSubScale / 2.0);<br />
<br />
yMax = yMax - (ElementType)(val / width) * yScale + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
<br />
<br />
// Get the values for each pixel in fractal <br />
<br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
<br />
{<br />
<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
<br />
{<br />
<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
<br />
<br />
if(factor2 % 2 != 0)<br />
<br />
{<br />
<br />
img[val] = getMedian(subpixels, (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor / 2, factor2);<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
img[val] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
<br />
/ 2.0;<br />
<br />
}<br />
<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selecting the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GPU610/DPS915_Project_Requirements_20123&diff=91627GPU610/DPS915 Project Requirements 201232012-11-27T21:46:59Z<p>Kmbarnhart: /* Presentation Schedule */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= Due Dates =<br />
<!--<br />
{| border="1"<br />
|-<br />
|Proposal outline and team members selected<br />
|September 29<br />
|-<br />
|Proposal completed and members roles selected<br />
|October 11<br />
|-<br />
|Member branches with updated Framework sample ready<br />
|October 11<br />
|-<br />
|Approval meeting with instructor<br />
|October 11-14<br />
|-<br />
|Project Review meeting with instructor<br />
|November 15-18<br />
|-<br />
|Final game presentation<br />
|December 6 and 8<br />
|}<br />
--><br />
<br /><br />
<br /><br />
<br />
= Project Requirements =<br />
<br />
== Presentation Schedule ==<br />
<br />
{| border="1"<br />
|-<br />
|Team Name<br />
|Date and Time<br />
|-<br />
|[[Assorted Algorithm Alliteration]]<br />
|December 4 3:20<br />
|-<br />
|[[Lightning Adventures]]<br />
|December 4 3:45<br />
|-<br />
|Algorithm and The B-Team<br />
|December 4 4:10<br />
|-<br />
|The Higgs<br />
|December 4 4:35<br />
|-<br />
|Honeybadgers<br />
|December 6 11:40<br />
|-<br />
|Parallel Linear Programmer<br />
|December 6 12:05<br />
|-<br />
|Zombie Panda Breeders<br />
|December 6 12:30<br />
|-<br />
|Moscow5<br />
|December 6 12:55<br />
|-<br />
|-<br />
<br />
|}<br />
<br />
<br /></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91291The B-Team2012-11-21T10:41:11Z<p>Kmbarnhart: /* Description */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selecting the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91290The B-Team2012-11-21T10:38:14Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selection the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91289The B-Team2012-11-21T10:37:30Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
= Assignment 2 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal/tree/cuda<br />
<br />
=== Description ===<br />
The new version of my fractal program is running on the GPU and has been highly parallelized. It is running more than ten times faster than the original version. I am sure this is highly GPU dependent and I am running it on an Nvidia Geforce GTA 660 Ti with 1344 cuda cores. However I think the comparison is fair because my CPU is also very fast. It is an Intel i5 2500k which is 4 cores at 3.3 Ghz stock and is running overclocked to 4.6 Ghz. A slower GPU compared to a slower CPU might be able to expect similar speed ups.<br />
<br />
Parallelizing the main Mandelbrot function ended up requiring me to move a few other functions to the GPU and rewriting the anti-aliasing function. The anti-aliasing previously made many calls to the Mandelbrot function. This was not good for the GPU and I changed it so that it makes a list of points to run the anti-aliasing algorithm over. Another issue with the anti-aliasing was selection the right value to return. I previously found the best quality result is to return the median value. The anti-aliasing required its own Mandelbrot function as well as moving the median function to the device. I also move the function that converts Mandelbrot escape values to RGB values to the device. This was because I found that I could account for half the running time depending on settings.<br />
<br />
=== Code ===<br />
<big><pre><br />
__device__ void swap(ElementType* a, ElementType* b)<br />
{<br />
ElementType t = *a;<br />
*a = *b;<br />
*b = t;<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType getMedian(ElementType* arr, AlisingFactorSqType median, AlisingFactorSqType n) <br />
{<br />
AlisingFactorSqType low, high ;<br />
AlisingFactorSqType middle, ll, hh;<br />
<br />
low = 0 ; high = n-1 ;<br />
for (;;) {<br />
if (high <= low) /* One element only */<br />
return arr[median] ;<br />
<br />
if (high == low + 1) { /* Two elements only */<br />
if (arr[low] > arr[high])<br />
swap(&arr[low], &arr[high]) ;<br />
return arr[median];<br />
}<br />
<br />
/* Find median of low, middle and high items; swap into position low */<br />
middle = (low + high) / 2;<br />
if (arr[middle] > arr[high]) swap(&arr[middle], &arr[high]) ;<br />
if (arr[low] > arr[high]) swap(&arr[low], &arr[high]) ;<br />
if (arr[middle] > arr[low]) swap(&arr[middle], &arr[low]) ;<br />
<br />
/* Swap low item (now in position middle) into position (low+1) */<br />
swap(&arr[middle], &arr[low+1]) ;<br />
<br />
/* Nibble from each end towards middle, swapping items when stuck */<br />
ll = low + 1;<br />
hh = high;<br />
for (;;) {<br />
do ll++; while (arr[low] > arr[ll]) ;<br />
do hh--; while (arr[hh] > arr[low]) ;<br />
<br />
if (hh < ll)<br />
break;<br />
<br />
swap(&arr[ll], &arr[hh]) ;<br />
}<br />
<br />
/* Swap middle item (in position low) back into correct position */<br />
swap(&arr[low], &arr[hh]) ;<br />
<br />
/* Re-set active partition */<br />
if (hh <= median)<br />
low = ll;<br />
if (hh >= median)<br />
high = hh - 1;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ ElementType mandelbrot(ElementType c_i, ElementType c_r, IterationType iterations)<br />
{<br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractal(ElementType* img, ElementType yMax, ElementType xMin, ElementType xScale, ElementType yScale, IterationType iterations, DimensionType width, DimensionType height)<br />
{ <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y;<br />
<br />
if(dx >= width || dy >= height)<br />
return;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
DimensionSqType c = (DimensionSqType)dy * (DimensionSqType)width + (DimensionSqType)dx;<br />
img[c] = mandelbrot(c_i, c_r, iterations);<br />
}<br />
</pre></big><br />
<big><pre><br />
// Calculate if c is in Mandelbrot set.<br />
// Return number of iterations.<br />
__global__ void getFractalSSAA(ElementType* img, DimensionSqType* list, DimensionSqType length, ElementType yMax, ElementType xMin,<br />
ElementType xScale, ElementType yScale, IterationType iterations,<br />
DimensionType width, AlisingFactorType ssaafactor)<br />
{ <br />
DimensionType curr = blockIdx.x * BLOCK_SIZE * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(curr >= length)<br />
return;<br />
<br />
DimensionType dx = list[curr] % width;<br />
DimensionType dy = list[curr] / width;<br />
<br />
ElementType c_i = yMax - (ElementType)dy * yScale;<br />
ElementType c_r = xMin + (ElementType)dx * xScale;<br />
<br />
// Get sub pixel width and height<br />
ElementType xSubScale = xScale / ((ElementType)ssaafactor);<br />
ElementType ySubScale = yScale / ((ElementType)ssaafactor);<br />
<br />
// Get the centre of the top left subpixel<br />
xMin = c_r - (xScale / 2.0) + (xSubScale / 2.0);<br />
yMax = c_i + (yScale / 2.0) - (ySubScale / 2.0);<br />
<br />
AlisingFactorSqType factor2 = (AlisingFactorSqType)ssaafactor * (AlisingFactorSqType)ssaafactor;<br />
<br />
// Get the values for each pixel in fractal <br />
ElementType subpixels[MAX_ALIASING_FACTOR * MAX_ALIASING_FACTOR];<br />
<br />
for(AlisingFactorType x = 0; x < ssaafactor; x++)<br />
{<br />
for(AlisingFactorType y = 0; y < ssaafactor; y++)<br />
{<br />
subpixels[x * ssaafactor + y] = mandelbrot(yMax - ySubScale * y , xMin + xSubScale * x, iterations);<br />
}<br />
}<br />
<br />
if(factor2 % 2 != 0)<br />
{<br />
img[list[curr]] = getMedian(subpixels, factor2 / 2, factor2);<br />
}<br />
else<br />
{<br />
img[list[curr]] = (getMedian(subpixels, factor2 / 2 - 1, factor2)<br />
+ getMedian(subpixels, factor2 / 2, factor2))<br />
/ 2.0;<br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__device__ void getRGB(ElementType value, BYTE* rgb)<br />
{ <br />
short colourInt = (short)(value * 1791.0f);<br />
<br />
BYTE bracket = colourInt / 256;<br />
BYTE colour = (BYTE)(colourInt % 256);<br />
<br />
switch (bracket)<br />
{<br />
case 0:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 1:<br />
rgb[0] = 255;<br />
rgb[1] = colour;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 2:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 255;<br />
rgb[2] = 0;<br />
break;<br />
<br />
case 3:<br />
rgb[0] = 0;<br />
rgb[1] = 255;<br />
rgb[2] = colour;<br />
break;<br />
<br />
case 4:<br />
rgb[0] = 0;<br />
rgb[1] = 255 - colour;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 5:<br />
rgb[0] = colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255;<br />
break;<br />
<br />
case 6:<br />
rgb[0] = 255 - colour;<br />
rgb[1] = 0;<br />
rgb[2] = 255 - colour;<br />
break;<br />
<br />
default:<br />
rgb[0] = 0;<br />
rgb[1] = 0;<br />
rgb[2] = 0;<br />
break; <br />
}<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGB(BYTE* image, ElementType* values, DimensionType width, DimensionType height, IterationType iterations)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(values[c]/(ElementType)iterations, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<big><pre><br />
__global__ void getBmpRGBfromHistorgram(ElementType* map, BYTE* image, ElementType* values, DimensionType width, DimensionType height)<br />
{<br />
DimensionType dy = blockIdx.y * BLOCK_SIZE + threadIdx.y; <br />
DimensionType dx = blockIdx.x * BLOCK_SIZE + threadIdx.x;<br />
<br />
if(dx >= width || dy >= height)<br />
return; <br />
<br />
DimensionType c = dy * width + dx;<br />
<br />
IterationType ival = (IterationType)values[c];<br />
<br />
ElementType colourVal = map[ival] + (values[c] - (ElementType)ival) * (map[ival + 1] - map[ival]);<br />
<br />
BYTE rgbValue[3];<br />
<br />
getRGB(colourVal, rgbValue);<br />
<br />
image[c*3] = rgbValue[2];<br />
image[c*3 + 1] = rgbValue[1];<br />
image[c*3 + 2] = rgbValue[0];<br />
}<br />
</pre></big><br />
<br />
<br />
<br />
= Assignment 1 =<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91288The B-Team2012-11-21T06:28:02Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<big><pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre></big><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<big><pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></big></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91287The B-Team2012-11-21T06:26:54Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<pre><br />
inline double moreRandom(unsigned iterations)<br />
{<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
{<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
}<br />
<br />
return result;<br />
}<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91286The B-Team2012-11-21T06:26:25Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<pre><br />
inline double moreRandom(unsigned iterations)<br />
<br />
{<br />
<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
<br />
{<br />
<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
<br />
}<br />
<br />
<br />
<br />
return result;<br />
<br />
}<br />
<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91285The B-Team2012-11-21T06:23:37Z<p>Kmbarnhart: </p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
<br />
= The B-Team =<br />
<br />
== Team Members == <br />
<br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
<br />
<br />
<br />
== Mandelbrot Set ==<br />
<br />
=== Repo ===<br />
<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
<br />
<br />
<br />
=== Description ===<br />
<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
<br />
<br />
<br />
=== Code ===<br />
<br />
<pre><br />
<br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
<br />
{ <br />
<br />
ElementType z_r = c_r;<br />
<br />
ElementType z_i = c_i;<br />
<br />
<br />
<br />
ElementType z2_r = z_r * z_r;<br />
<br />
ElementType z2_i = z_i * z_i;<br />
<br />
<br />
<br />
IterationType n = 0;<br />
<br />
<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
<br />
{ <br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n++;<br />
<br />
}<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
<br />
<br />
z2_r = z_r * z_r;<br />
<br />
z2_i = z_i * z_i;<br />
<br />
<br />
<br />
n += 2;<br />
<br />
<br />
<br />
if(n > iterations)<br />
<br />
{<br />
<br />
return (ElementType)iterations;<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
<br />
}<br />
<br />
}<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
== Calculating Pi ==<br />
<br />
=== Repo ===<br />
<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
<br />
<br />
<br />
=== Description ===<br />
<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
<br />
<br />
<br />
=== Code ===<br />
<br />
<pre><br />
<br />
inline double moreRandom(unsigned iterations)<br />
<br />
{<br />
<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
<br />
{<br />
<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
<br />
}<br />
<br />
<br />
<br />
return result;<br />
<br />
}<br />
<br />
<br />
<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91284The B-Team2012-11-21T06:22:56Z<p>Kmbarnhart: /* Code */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<pre><br />
inline double moreRandom(unsigned iterations)<br />
<br />
{<br />
<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
<br />
{<br />
<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
<br />
}<br />
<br />
<br />
<br />
return result;<br />
<br />
}</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=The_B-Team&diff=91283The B-Team2012-11-21T06:22:33Z<p>Kmbarnhart: Created page with '{{GPU610/DPS915 Index | 20123}} = The B-Team = == Team Members == # [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart] == Mandelbrot Set == === Repo === https…'</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
= The B-Team =<br />
== Team Members == <br />
# [mailto:kmbarnhart@learn.senecac.on.ca?sujbect=DPS915 Kyle Barnhart]<br />
<br />
== Mandelbrot Set ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Fractal<br />
<br />
=== Description ===<br />
I wrote this program because I could not find a suitable fractal program. This program generates fractal images of the Mandelbrot Set and saves them in the BMP image format. It can generate images of an almost arbitrary size. You also set the locations, number of iterations, and the zoom factor. It uses a smoothing algorithm and a histogram to create smoothly and evenly coloured images. It has selective super sampling for anti-aliasing. And it can generate a sequence of images that can be put together to make a video. In testing the program I made a video (http://www.youtube.com/watch?v=vQigSMuHxuU). <br />
<br />
=== Code ===<br />
<pre><br />
inline ElementType mandelbrot(ElementType c_r, ElementType c_i, IterationType iterations)<br />
{ <br />
ElementType z_r = c_r;<br />
ElementType z_i = c_i;<br />
<br />
ElementType z2_r = z_r * z_r;<br />
ElementType z2_i = z_i * z_i;<br />
<br />
IterationType n = 0;<br />
<br />
while(n < iterations && z2_r + z2_i < 4.0)<br />
{ <br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n++;<br />
}<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
z_i = 2.0 * z_r * z_i + c_i;<br />
z_r = z2_r - z2_i + c_r;<br />
<br />
z2_r = z_r * z_r;<br />
z2_i = z_i * z_i;<br />
<br />
n += 2;<br />
<br />
if(n > iterations)<br />
{<br />
return (ElementType)iterations;<br />
}<br />
else<br />
{<br />
return (ElementType)n + 1.0 - log(log(sqrt(z2_r + z2_i)))/log(2.0);;<br />
}<br />
}<br />
</pre><br />
<br />
<br />
== Calculating Pi ==<br />
=== Repo ===<br />
https://github.com/KyleBarnhart/Pi<br />
<br />
=== Description ===<br />
I wrote this program based on reading some articles I found. The program calculates the value of pi by randomly generating points in a one by one area and determining if they are no more than a distance of one from the bottom left corner (0, 0). By randomly generating many uniformly distributed numbers and dividing the number that fall within the circle by the number of iterations you can determine pi. The more iterations that you preform, the closer the value will be to pi.<br />
<br />
=== Code ===<br />
<pre><br />
inline double moreRandom(unsigned iterations)<br />
<br />
{<br />
<br />
double result = (double)rand() / (double)RAND_MAX;<br />
<br />
<br />
<br />
for(unsigned i = 1; i < iterations; i++)<br />
<br />
{<br />
<br />
result = (((double)rand()) + result) / (double)RAND_MAX;<br />
<br />
}<br />
<br />
<br />
<br />
return result;<br />
<br />
}<br />
<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GPU610/DPS915_Teams_20123&diff=91282GPU610/DPS915 Teams 201232012-11-21T06:08:02Z<p>Kmbarnhart: /* Team Ether */</p>
<hr />
<div><sup></sup>{{GPU610/DPS915 Index | 20123}}<br />
= Team and Project Index =<br />
<br />
You can find a sample team page template [[GPU610/DPS915_Sample_Team_Page | here]]<br />
<br />
<!--<br />
== [[GPU610/DPS915 Sample Team Page| Sample Team]] ==<br />
'''Project Name'''<br />
# [mailto:chris.szalwinski@senecac.on.ca?subject=gpu610 Chris Szalwinski]<br />
# [mailto:fardad.soleimanloo@senecac.on.ca?sujbect=gpu610 Fardad Soleimanloo]<br />
# [mailto:chris.szalwinski@senecac.on.ca,fardad.soleimanloo@senecac.on.ca?subject=gpu610 eMail All]<br />
--><br />
<br />
== [[Zombie Panda Breeders]] ==<br />
'''RSA Key Generator'''<br />
# [mailto:akopytov@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%20Breeders Andrei Kopytov]<br />
'''Mutation Simulator'''<br />
<br />
# [mailto:zabloom@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%20Breeders Zack Bloom]<br />
== [[Lightning Adventures]] ==<br />
<br />
'''TOMO - Proton Synchrotron Tomography'''<br />
# [mailto:jboelen@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure James Boelen]<br />
# [mailto:stsang1@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure Stanley Tsang]<br />
# [mailto:rhung4@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure Raymond Hung]<br />
<br />
<br />
<br />
[mailto:jboelen@myseneca.ca,rhung4@myseneca.ca,stsang1@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure e-Mail All]<br />
<br />
== [[Parallel Linear Programmers]] ==<br />
'''Application of Parallel Computing in Linear Programming Problems'''<br />
# [mailto:ammobasseri@myseneca.ca?subject=GPU610 Amir Mobasseri]<br />
# [mailto:mgdawson@myseneca.ca?subject=GPU610 Michael Dawson]<br />
'''???'''<br />
# [mailto:idshibanov@myseneca.ca?subject=GPU610 Ivan Shibanov]<br />
'''???'''<br />
# [mailto:salopezmunoz@myseneca.ca?subject=GPU610 Santiago Munoz]<br />
[mailto:ammobasseri@myseneca.ca,mgdawson@myseneca.ca,idshibanov@myseneca.ca,salopezmunoz@myseneca.ca?subject=GPU610 e-Mail All]<br />
<br />
== [[Assorted Algorithm Alliteration]] ==<br />
'''Assorted Algorithms'''<br />
# [mailto:mddelacruz1@myseneca.ca?subject=GPU610 Mark de la Cruz]<br />
# [mailto:elim2@myseneca.ca?subject=GPU610 Edwin Lim]<br />
# [mailto:mdafidchao@myseneca.ca?subject=GPU610 Michael Afidchao]<br />
# [mailto:mddelacruz1@myseneca.ca;elim2@myseneca.ca;mdafidchao@myseneca.ca?subject=GPU610 eMail All]<br />
<br />
== [[Wiki Wiki Wiki Wild Wild West]] ==<br />
'''UnRAR'''<br />
# [mailto:dkarp@myseneca.ca?subject=GPU610 Dale Karp]<br />
# [mailto:dfpotter@learn.senecac.on.ca?subject=GPU610 Dylan Potter (Cait)]<br />
# Interested in joining? Send me an email!<br />
# [mailto:dkarp@myseneca.ca;dfpotter@learn.senecac.on.ca?subject=GPU610 eMail All]<br />
<br />
== [[Moscow 5]] ==<br />
'''KenKen Solver'''<br />
# [mailto:jcfernandez2@myseneca.ca?subject=GPU610 Jude Fernandez]<br />
# [mailto:jckirkham@myseneca.ca?subject=GPU610 Jordan Kirkham]<br />
# [mailto:jcfernandez2@myseneca.ca,jckirkham@myseneca.ca email all]<br />
<br />
== [[Honeybadgers]] ==<br />
'''TBD'''<br />
# [mailto:wtan5@learn.senecac.on.ca?subject=DPS915 William Tan]<br />
'''Prime Number Generator'''<br />
# [mailto:nkuznetsov@myseneca.ca?subject=DPS915 Nikita Kuznetsov]<br />
'''Image Processing'''<br />
<br />
# [mailto:rjmorales1@learn.senecac.on.ca?subject=DPS915 Randl Morales]<br />
[mailto:nkuznetsov@myseneca.ca,rjmorales1@learn.senecac.on.ca?subject=(DPS915)%20Honeybadgers e-Mail All]<br />
<br />
== [[Algorithm]] ==<br />
'''Sorting Algorithm'''<br />
# [mailto:sskrishnamoo@learn.senecac.on.ca?subject=DPS915 Suventhan Krishnamoorthy]<br />
<br />
<br />
== [[The Higgs]] ==<br />
'''hash decrypt'''<br />
<br />
'''ophcrack'''<br />
# [mailto:dmonteiro3@myseneca.ca?subject=DPS915 Diogo Monteiro]<br />
# [mailto:sdealmeida@learn.senecac.on.ca?subject=DPS915 Simon De Almeida]<br />
<br />
[mailto:sdealmeida@myseneca.ca,sdealmeida@learn.senecac.on.ca?subject=(DPS915)%20ThisHiggs e-Mail All]<br />
<br />
<br />
<br />
== [[The B-Team]] ==<br />
'''Mandelbrot Set'''<br />
# [mailto:kmbarnhart@learn.senecac.on.ca?subject=DPS915 Kyle Barnhart]</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GPU610/DPS915_Teams_20123&diff=91281GPU610/DPS915 Teams 201232012-11-21T06:07:06Z<p>Kmbarnhart: </p>
<hr />
<div><sup></sup>{{GPU610/DPS915 Index | 20123}}<br />
= Team and Project Index =<br />
<br />
You can find a sample team page template [[GPU610/DPS915_Sample_Team_Page | here]]<br />
<br />
<!--<br />
== [[GPU610/DPS915 Sample Team Page| Sample Team]] ==<br />
'''Project Name'''<br />
# [mailto:chris.szalwinski@senecac.on.ca?subject=gpu610 Chris Szalwinski]<br />
# [mailto:fardad.soleimanloo@senecac.on.ca?sujbect=gpu610 Fardad Soleimanloo]<br />
# [mailto:chris.szalwinski@senecac.on.ca,fardad.soleimanloo@senecac.on.ca?subject=gpu610 eMail All]<br />
--><br />
<br />
== [[Zombie Panda Breeders]] ==<br />
'''RSA Key Generator'''<br />
# [mailto:akopytov@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%20Breeders Andrei Kopytov]<br />
'''Mutation Simulator'''<br />
<br />
# [mailto:zabloom@myseneca.ca?subject=(DPS915)%20Zombie%20Panda%20Breeders Zack Bloom]<br />
== [[Lightning Adventures]] ==<br />
<br />
'''TOMO - Proton Synchrotron Tomography'''<br />
# [mailto:jboelen@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure James Boelen]<br />
# [mailto:stsang1@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure Stanley Tsang]<br />
# [mailto:rhung4@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure Raymond Hung]<br />
<br />
<br />
<br />
[mailto:jboelen@myseneca.ca,rhung4@myseneca.ca,stsang1@myseneca.ca?subject=(DPS915)%20Lightning%20Adventure e-Mail All]<br />
<br />
== [[Parallel Linear Programmers]] ==<br />
'''Application of Parallel Computing in Linear Programming Problems'''<br />
# [mailto:ammobasseri@myseneca.ca?subject=GPU610 Amir Mobasseri]<br />
# [mailto:mgdawson@myseneca.ca?subject=GPU610 Michael Dawson]<br />
'''???'''<br />
# [mailto:idshibanov@myseneca.ca?subject=GPU610 Ivan Shibanov]<br />
'''???'''<br />
# [mailto:salopezmunoz@myseneca.ca?subject=GPU610 Santiago Munoz]<br />
[mailto:ammobasseri@myseneca.ca,mgdawson@myseneca.ca,idshibanov@myseneca.ca,salopezmunoz@myseneca.ca?subject=GPU610 e-Mail All]<br />
<br />
== [[Assorted Algorithm Alliteration]] ==<br />
'''Assorted Algorithms'''<br />
# [mailto:mddelacruz1@myseneca.ca?subject=GPU610 Mark de la Cruz]<br />
# [mailto:elim2@myseneca.ca?subject=GPU610 Edwin Lim]<br />
# [mailto:mdafidchao@myseneca.ca?subject=GPU610 Michael Afidchao]<br />
# [mailto:mddelacruz1@myseneca.ca;elim2@myseneca.ca;mdafidchao@myseneca.ca?subject=GPU610 eMail All]<br />
<br />
== [[Wiki Wiki Wiki Wild Wild West]] ==<br />
'''UnRAR'''<br />
# [mailto:dkarp@myseneca.ca?subject=GPU610 Dale Karp]<br />
# [mailto:dfpotter@learn.senecac.on.ca?subject=GPU610 Dylan Potter (Cait)]<br />
# Interested in joining? Send me an email!<br />
# [mailto:dkarp@myseneca.ca;dfpotter@learn.senecac.on.ca?subject=GPU610 eMail All]<br />
<br />
== [[Moscow 5]] ==<br />
'''KenKen Solver'''<br />
# [mailto:jcfernandez2@myseneca.ca?subject=GPU610 Jude Fernandez]<br />
# [mailto:jckirkham@myseneca.ca?subject=GPU610 Jordan Kirkham]<br />
# [mailto:jcfernandez2@myseneca.ca,jckirkham@myseneca.ca email all]<br />
<br />
== [[Honeybadgers]] ==<br />
'''TBD'''<br />
# [mailto:wtan5@learn.senecac.on.ca?subject=DPS915 William Tan]<br />
'''Prime Number Generator'''<br />
# [mailto:nkuznetsov@myseneca.ca?subject=DPS915 Nikita Kuznetsov]<br />
'''Image Processing'''<br />
<br />
# [mailto:rjmorales1@learn.senecac.on.ca?subject=DPS915 Randl Morales]<br />
[mailto:nkuznetsov@myseneca.ca,rjmorales1@learn.senecac.on.ca?subject=(DPS915)%20Honeybadgers e-Mail All]<br />
<br />
== [[Algorithm]] ==<br />
'''Sorting Algorithm'''<br />
# [mailto:sskrishnamoo@learn.senecac.on.ca?subject=DPS915 Suventhan Krishnamoorthy]<br />
<br />
<br />
== [[The Higgs]] ==<br />
'''hash decrypt'''<br />
<br />
'''ophcrack'''<br />
# [mailto:dmonteiro3@myseneca.ca?subject=DPS915 Diogo Monteiro]<br />
# [mailto:sdealmeida@learn.senecac.on.ca?subject=DPS915 Simon De Almeida]<br />
<br />
[mailto:sdealmeida@myseneca.ca,sdealmeida@learn.senecac.on.ca?subject=(DPS915)%20ThisHiggs e-Mail All]<br />
<br />
<br />
<br />
== [[Team Ether]] ==<br />
'''Mandelbrot Set'''<br />
# [mailto:kmbarnhart@learn.senecac.on.ca?subject=DPS915 Kyle Barnhart]</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Planet_CDOT_Feed_List&diff=89263Planet CDOT Feed List2012-10-04T19:11:12Z<p>Kmbarnhart: /* Feeds */</p>
<hr />
<div>{{Admon/important|Wiki email problems have been fixed!|If you requested an account but did not receive an email response, please see the [[Wiki email issues - September 2012|wiki email issues]] page.}}<br />
<br />
= Introduction =<br />
<br />
Seneca students and faculty working on open source related projects and research, as well as some faculty, students, and researchers from other institutions, use [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT] to aggregate their blogs. This page contains the information about who is blogging in [http://www.planetplanet.org/ Planet Feed Reader format] and serves as the feed configuration for the planet.<br />
<br />
If you do not have an existing blog, you can open a free account at [http://wordpress.com/ Wordpress.com] or [https://www.blogger.com/ Blogger.com] or you can set up your own blog software such as [http://www.s9y.org Serendipity].<br />
<br />
'''Note:''' Additions to the feed list will not take effect until they are merged into the Planet configuration, which is an automatic process scheduled at regular intervals. If you add a feed and do not see it picked up in the Planet within three hours, please check your feed entry carefully and then contact [[User:Chris Tyler|Chris Tyler]] .<br />
<br />
= Requirements =<br />
<br />
* Blog postings fed to the planet must conform to the [[Blog Guidelines]].<br />
* Feeds that are inactive for a significant period of time may get deleted from this list.<br />
<br />
= Using a Tagged/Category Feed =<br />
<br />
A tagged or category feed includes only articles that are tagged with particular keywords or placed in a particular topic category. This can be useful for sending only selected posts to the planet.<br />
<br />
These are the URL formats for tagged or category feeds on popular blogging services/software:<br />
<br />
* [http://www.wordpress.com Wordpress]: <code><nowiki>[http://</nowiki>''blog-user-name''.wordpress.com/category/''category-name''/feed/]</code><br />
* [http://blogger.com Blogger]: <code><nowiki>[http://</nowiki>''blog-user-name''.blogspot.com/feeds/posts/default/-/''category-name'']</code><br />
* [http://s9y.org Serendipity]: <code><nowiki>[http://</nowiki>''blog-main-url''/index.php?/feeds/categories/''cateogrynumber''-''categoryname'']</code><br />
<br />
= Feed Info Format =<br />
<br />
You can add your blog's [http://en.wikipedia.org/wiki/RSS_(file_format) RSS feed] at the end of the list below by specifying the following:<br />
<br />
# The URL to your blog's open source Atom or [http://en.wikipedia.org/wiki/RSS_(file_format) RSS Feed] (i.e., a category or tag). NOTE: Please do not put the URL to your blog -- use the URL for your feed. Please do not use the feed for your entire blog (unless your blog contains only open source-related postings). We only want open source related content.<br />
# Your name as you want it to appear in the list of names for the planet<br />
# Optionally, a URL to a [http://en.wikipedia.org/wiki/Hackergotchi hackergotchi] ([http://wouterverhelst.livejournal.com/21322.html how to]). Your picture should be an 65x85 PNG with a transparent background.<br />
<br />
= Feeds =<br />
<br />
<pre><br />
<br />
[http://m0le-security.blogspot.com/feeds/posts/default]<br />
name=Tin Gia Lam<br />
<br />
[http://aadavis1.blogspot.ca/feeds/posts/default]<br />
name=Alexander Davis<br />
<br />
[http://thevakaran.wordpress.com/category/open-source/feed/]<br />
name=Thevakaran Virutthasalam<br />
<br />
[http://kyu6.wordpress.com/feed/]<br />
name=Keren Yu <br />
<br />
[http://chestersbr600.wordpress.com/]<br />
name=VicChester Ngo<br />
<br />
[http://cty6sbr600.wordpress.com/feed/]<br />
name=Kalpaniya Parmar<br />
<br />
[http://cty6.wordpress.com/feed/]<br />
name=Luis Fuentes<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/build-from-source/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/introduction/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://craigcain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Craig Cain<br />
<br />
<br />
[http://elite-mafia.net/blog/?feed=rss2]<br />
name=Nikhil Sharma<br />
<br />
[http://wolfleaderslair.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dennis Villasenor<br />
<br />
[http://gkrilov.com/category/open-source/feed/]<br />
name=Greg Krilov<br />
<br />
[http://rubensmaximus.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rubens Maximus (GameArtist)<br />
<br />
[http://ladanzahir.wordpress.com/category/CDOT/feed/]<br />
name=Ladan Zahiroleslam Zade<br />
<br />
[http://mschranz.wordpress.com/category/open_source/feed/]<br />
name=Matthew Schranz<br />
<br />
[http://fedoraisfun.wordpress.com/category/open_source/feed/]<br />
name=Alan Lau<br />
<br />
[http://www.spectakular.com/category/open-source/feed/]<br />
name=Simon Jung<br />
<br />
[http://james.boelen.ca/category/open_source/feed/]<br />
name=James Boelen<br />
<br />
[http://jbuckley.ca/category/open-source/feed/]<br />
name=Jon Buckley<br />
<br />
[http://mbrzuzy.wordpress.com/category/open-source/feed/]<br />
name=Marcin Brzuzy<br />
<br />
[http://ben1amin.wordpress.com/category/seneca/feed/]<br />
name=Benjamin Chalovich<br />
<br />
[http://edghardest1.wordpress.com/category/open-source-topics/feed/]<br />
name=Ed Arvelaez<br />
<br />
[http://www.ashkansotoudeh.com/?tag=coding-2&feed=rss2]<br />
name=Ashkan Sotoudeh<br />
<br />
[http://dboddie46.wordpress.com/category/SBR600A/feed/]<br />
name=Derrick Boddie<br />
<br />
[http://aali83.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Ahmad Ali<br />
<br />
[http://gr8can8dian.wordpress.com/category/sbr600/feed/]<br />
name=Lorin Soura<br />
<br />
[http://kirtonmike.wordpress.com/category/SBR600/feed/]<br />
name=Mike Kirton<br />
<br />
[http://fuzzux.wordpress.com/category/SBR600/feed/]<br />
name=Tim Furzer<br />
<br />
[http://nageyi.wordpress.com/feed/]<br />
name=Faisal Nageyi<br />
<br />
[http://KrazyDre.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Andrei Artamonov<br />
<br />
[http://mjcorsame.wordpress.com/feed/]<br />
name=Michael John Corsame<br />
<br />
[http://msbreezy12.wordpress.com/category/SBR/feed/]<br />
name=Chantell Mcintosh<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://mrtait1.blogspot.com/feeds/posts/default/-/oop344]<br />
#name=Matthew Tait<br />
<br />
[http://sbr600cabbott.blogspot.com/feeds/posts/default]<br />
name=Chris Abbott<br />
<br />
[http://kopay.wordpress.com/category/sbr600-win2011/feed]<br />
name=Pirathapan Sivalingam<br />
<br />
[http://mysnogorodsky.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Marina Ysnogorodsky<br />
<br />
[http://asa.veryusefulinfo.com/?feed=rss2]<br />
name=Ali Samimi<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://coreyangus.blogspot.com/feeds/posts/default/-/oop344]<br />
#name = Corey Angus<br />
<br />
[http://wsong18.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Wei Song<br />
<br />
[http://davidsosd60020102blog.blogspot.com/feeds/posts/default]<br />
name=David Takasaki<br />
<br />
[http://zwang98.blogspot.com/feeds/posts/default]<br />
name=Joe Wang<br />
<br />
[http://sbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://dgilloch.blogspot.com/feeds/posts/default]<br />
name=Daniel Gilloch<br />
<br />
[http://jmchen11.wordpress.com/feed/]<br />
name=Jianming Chen<br />
<br />
[http://paulfedora.wordpress.com/tag/cdot/feed/]<br />
name=Paul Whalen<br />
<br />
[http://maxamaxim.wordpress.com/tag/cdot/feed/]<br />
name=Masihul Abed <br />
<br />
[http://dmchisho.wordpress.com/feed/]<br />
name=David Chisholm<br />
<br />
[http://pokerface3.blogspot.com/feeds/posts/default/-/SBR?alt=rss]<br />
name=David Cabral<br />
<br />
[http://zbhuang1.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Zhibin Huang<br />
<br />
[http://sidsbr.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Sadiki Latty<br />
<br />
[http://orel60.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Or-el Mousaffi<br />
<br />
[http://aryafarzan.wordpress.com/category/OOP344/feed/]<br />
name=Arya Farzan<br />
<br />
[http://dsventura.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dan Ventura<br />
<br />
[http://chrisdecairos.ca/category/open-source/feed]<br />
name=Christopher DeCairos<br />
<br />
[http://acfunktron.blogspot.com/feeds/posts/default]<br />
name=Anton Chan<br />
<br />
[http://adaniel3.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Arlene Daniel<br />
<br />
[http://tyrant911-processingdotjs.blogspot.com/feeds/posts/default/-/processing.js]<br />
name=Alex Londono<br />
<br />
<br />
[http://ausleyj.blogspot.com/feeds/posts/default]<br />
name=Ausley Johnson<br />
<br />
[http://arminoop344.blogspot.com/feeds/posts/default]<br />
name=Armin Kumarshellah<br />
<br />
[http://cloudscorpion.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Joseph Hughes<br />
<br />
[http://travisrawn.blogspot.com/feeds/posts/default]<br />
name=Travis Rawn<br />
<br />
[http://jmpiltz.blogspot.com/feeds/posts/default]<br />
name=Jonathan Piltz<br />
<br />
[http://andrewgrimo.wordpress.com/category/open-source/feed/]<br />
name=Andrew Grimo<br />
<br />
[http://apvsbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Alex Vlahopoulos<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/alexthumb.png<br />
<br />
[http://asalga.wordpress.com/category/open-source/feed/]<br />
name=Andor Salga (asalga)<br />
<br />
[http://jabhad.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Mohamed Aden<br />
<br />
[http://jonathandeni.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://manoutoftime.wordpress.com/category/open-source/feed/]<br />
name=Konstantin Novichikhin<br />
<br />
[http://scorchedicee.wordpress.com/category/Seneca/feed/]<br />
name=Adam Sone<br />
<br />
[http://murraysaul.wordpress.com/feed/]<br />
name=Murray Saul<br />
<br />
[http://xwn740arcadeproject.blogspot.com/feeds/posts/default]<br />
name=Arcade Project - LUX Group@<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/ourbaby.png<br />
<br />
[http://feeds.feedburner.com/lsblakk_open-source]<br />
name=Lukas Blakk (lsblakk)<br />
#face=http://avnerd.tv/sharedFiles/lukas_hackergotchi.png<br />
<br />
[http://nashutzu.blogspot.com/feeds/posts/default]<br />
name=George Popescu (GeorgeP)<br />
<br />
[http://blog.chris.tylers.info/index.php?/feeds/categories/20-Seneca-Planet.rss]<br />
name=Chris Tyler (ctyler)<br />
face=http://zenit.senecac.on.ca/~chris.tyler/chris_tyler_hackergotchi_4a.png<br />
<br />
[http://vocamus.net/dave/?feed=rss2&category_name=Seneca]<br />
name=David Humphrey<br />
<br />
[http://gratnam1.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Gajendran Ratnam (gratnam1)<br />
<br />
[http://senecajon.blogspot.com/feeds/posts/default]<br />
name=Jonathan Cheung (jcheung23)<br />
<br />
# Disabled 2011-04-28 - blog was removed<br />
#[http://blog.markparuzel.com/feed/]<br />
#name=Mark Paruzel<br />
<br />
[http://mmszuto.blogspot.com/feeds/posts/default]<br />
name=Michael Szutu<br />
<br />
[http://lsdaly.blogspot.com/feeds/posts/default]<br />
name=Louis Daly (lsdaly)<br />
<br />
# Disabled 2009-01-25 due to 404's (domain expired)<br />
#[http://www.foobartastic.com/feed/]<br />
#name=Tom Aratyn<br />
<br />
[http://bhearsum.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Ben Hearsum<br />
<br />
# Following feed is invitation-only. Disabled 2010-09-23 CTyler<br />
#[http://www.jyzyy.blogspot.com/feeds/posts/default/-/opensource]<br />
#name=Jyoti<br />
<br />
# Re-enabled 2011-04-29 - new blog URL<br />
# Disabled 2009-09-15 due to 404's (site rearranged?)<br />
[http://tea.cesaroliveira.net/archives/tag/seneca/feed]<br />
name=Cesar Oliveira<br />
<br />
[http://r3ap3r.wordpress.com/category/seneca/feed]<br />
name=Brandon Collins<br />
<br />
# Disabled 2011-04-28 - blog was deleted<br />
#[http://jrgoncal.blogspot.com/feeds/posts/default]<br />
#name=Justin Goncalves (jrgoncal)<br />
#face=http://img517.imageshack.us/img517/9865/bearzp5.jpg<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://tlo5.blogspot.com/feeds/posts/default]<br />
#name=Tommy Lo (tlo5)<br />
<br />
[http://armenzg.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Armen Zambrano G. (armenzg)<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Michael Mullin<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Mozilla_GFX]<br />
name=Michael Mullin<br />
<br />
# Returned 410 on 2008-09-13 - disabled CTyler<br />
#[http://rueenfiez.wordpress.com/category/open-source/feed/]<br />
#name=Rueen Fiez<br />
<br />
# Returning 404 on 2008-09-13 - disabled CTyler<br />
#[http://jsafavi.wordpress.com/category/open-source/feed/]<br />
#name=Jason Safavi<br />
<br />
[http://vlam6.wordpress.com/category/open-source/feed/]<br />
name=Vincent Lam<br />
<br />
[http://dejant.blogspot.com/feeds/posts/default]<br />
name=Dejan Tolj<br />
<br />
[http://shivaris.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Hien Huynh<br />
<br />
[http://raynrant.blogspot.com/feeds/posts/default]<br />
name=Andrew Raynier (JM)<br />
face=http://zenit.senecac.on.ca/wiki/imgs/Hackergotchi.png<br />
<br />
[http://vijeysdps909.blogspot.com/feeds/posts/default]<br />
name=Vijey Bala<br />
<br />
[http://sedejong.blogspot.com/feeds/posts/default]<br />
name=Shomar Dejonge<br />
<br />
[http://dbaranski.wordpress.com/category/open-source/feed/]<br />
name=Dominic Baranski<br />
<br />
#[http://crashopensource.wordpress.com/category/open-source/feed/]<br />
#name=Lukas Blakk<br />
<br />
[http://kmsingh.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry M. Singh<br />
<br />
[http://tjduavis.wordpress.com/category/open-source/feed/]<br />
name=Timothy Duavis<br />
<br />
# Disabled 2011-04-28 - entire website is missing<br />
#[http://ashughes.com/?q=taxonomy/term/2/0/feed]<br />
#name=Anthony Hughes<br />
<br />
[http://opensourcekennethlee.blogspot.com/feeds/posts/default]<br />
name=Kenneth Lee<br />
<br />
[http://cleung.wordpress.com/category/Seneca/feed/]<br />
name=Catherine Leung<br />
<br />
[http://dtheosab.wordpress.com/category/open-source/feed/]<br />
name=Daino Theosabrata<br />
<br />
# This is my old blog<br />
[http://simon-jung.blogspot.com/feeds/posts/default]<br />
name=Simon Jung (old)<br />
<br />
[http://aeraj.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=AJ Rehman<br />
<br />
[http://xrayon.blogspot.com/feeds/posts/default]<br />
name=Fima Kachinski<br />
<br />
[http://littlesvr.ca/grumble/category/safeforseneca/feed/]<br />
name=Andrew Smith<br />
<br />
[http://littlesvr.ca/masters/feed]<br />
name=Andrew Smith (master's)<br />
<br />
[http://jbopensrc.wordpress.com/category/open-source/feed]<br />
name=Jesse Buchanan<br />
<br />
[http://ayhfung.blogspot.com/feeds/posts/default]<br />
name=Andrew Fung<br />
<br />
# Returned 404 on 2008-09-13 - disabled CTyler<br />
#[http://sloose.wordpress.com/category/open-source/feed/]<br />
#name=Peter Ljubanovic<br />
<br />
[http://mozcoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Amit Gundu<br />
<br />
# Changed CTyler 2009-02-12 from [http://www.blogger.com/feeds/15922666655846514311/blogs]<br />
[http://dsmukherji.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Devashish<br />
<br />
[http://yhan11.wordpress.com/category/open-source/feed]<br />
name=Yongsheng Han<br />
<br />
[http://peter.sykokillers.com/category/open-source/feed/]<br />
name=Peter Chan<br />
<br />
[http://www.c3dl.org/index.php/category/c3dl-dev/feed]<br />
name=Seneca Canvas3D Team<br />
<br />
# Updated 2011-04-28 - corrected feed URL<br />
[http://peterevanoff.wordpress.com/category/open-source/feed/]<br />
name=Peter Evanoff<br />
<br />
# Disabled 2011-04-28 - flagged as a malware-loaded site by Google<br />
<br />
#[http://radoye.net1zen.com/wp-rss2.php?cat=3]<br />
#name=Radovan Nesic<br />
<br />
[http://blog.cresencia.ca/category/open-source/osd600/feed/]<br />
name=Joseph Cresencia<br />
<br />
[http://bertenshaw.blogspot.com/feeds/posts/default]<br />
name=David Bertenshaw<br />
<br />
[http://ljubomirgorscak.blogspot.com/feeds/posts/default]<br />
name=Ljubomir Gorscak<br />
<br />
[http://sameropensource.blogspot.com/feeds/posts/default]<br />
name=Samer Ziadeh (samer)<br />
<br />
# Following feed not working and temporarily disabled<br />
# 2010-09-23 by CTyler<br />
#[http://jamesboston.ca/cms/taxonomy/term/1/0/feed]<br />
#name=James Boston<br />
#face=http://jamesboston.ca/hackergotchi.png<br />
<br />
[http://dailypackage.fedorabook.com/index.php?/feeds/index.rss2]<br />
name=Fedora Daily Package<br />
<br />
[http://blog.fardad.com/feeds/posts/default/-/Seneca]<br />
name=Fardad Soleimanloo<br />
<br />
[http://selmys.wordpress.com/category/opensource/feed]<br />
name=John Selmys<br />
face=http://cs.senecac.on.ca/~selmys/john_selmys_hackergotchi.png<br />
<br />
[http://pconstantino.wordpress.com/feed]<br />
name=Patricia Constantino<br />
<br />
[http://bombshelter13.blogspot.com/feeds/posts/default]<br />
name=Katherine Masseau<br />
<br />
[http://zadkielm.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Ezadkiel Marbella<br />
<br />
[http://blog.sidkalra.com/category/opensource/feed]<br />
name=Sid Kalra<br />
<br />
[http://pplam3.blogspot.com/feeds/posts/default]<br />
name=Patrick Lam<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://twlai1.blogspot.com/feeds/posts/default]<br />
#name=Tony Lai<br />
<br />
[http://dee132.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Chris Bishop<br />
<br />
# Updated 2011-04-28 - updated feed URL<br />
[http://zghansar.wordpress.com/category/open-source/feed/]<br />
name=Zaid Ghansar<br />
face=http://www.alhudainstitute.ca/zaid/z.png<br />
<br />
[http://aaronmt.com/?feed=rss2]<br />
name=Aaron Train<br />
face=http://matrix.senecac.on.ca/~amtrain/other/mypic.png<br />
<br />
[http://scottosd.blogspot.com/feeds/posts/default/-/Open%20Source/]<br />
name=Scott Lunel<br />
<br />
# Updated 2009-04-16, new blog. - scarter4<br />
# Disabled 2009-11-27 due to wrong feed URL<br />
#[http://scarter4.wordpress.com/category/seneca/]<br />
#name=Stephen Carter<br />
<br />
# Disabled 2009-01-23 CTyler due to 404s<br />
#[http://shdinis.blogspot.com/feeds/posts/default]<br />
#name=Shawn Dinis<br />
<br />
[http://belligero.org/index.php?option=com_content&view=section&id=1&format=feed&type=rss]<br />
name=Jason Tarka<br />
<br />
# Updated 2011-04-28 - no more tag, but still Seneca related<br />
[http://petermcintyre.wordpress.com/feed/]<br />
name=Peter McIntyre<br />
<br />
[http://vesperrin.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Leonard Lee (vesper)<br />
<br />
[http://jsdoodnauth.wordpress.com/category/open-source/feed/]<br />
name=Joshua Doodnauth<br />
<br />
[http://johnhford.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=John Ford (John64)<br />
<br />
[http://mohaksblog.blogspot.com/feeds/posts/default]<br />
name=Mohak Vyas<br />
#face=http://matrix.senecac.on.ca/~mdvyas/MohakVyas.png<br />
<br />
[http://pdirezze.blogspot.com/feeds/posts/default]<br />
name=Paul DiRezze<br />
<br />
# Following link no longer valid. Disabled 2010-09-23 CTyler<br />
#[http://www.ndaversa.com/category/open-source/feed]<br />
#name=Nino D'Aversa<br />
<br />
[http://miltonpaiva.wordpress.com/feed/]<br />
name=Milton Paiva<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/orkut.png<br />
<br />
[http://de-luxer.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nestor Chan<br />
#face=http://matrix.senecac.on.ca/~tnchan/n516840997_9173.PNG<br />
<br />
[http://varinderjhand.wordpress.com/feed/]<br />
name=Varinder Singh <br />
<br />
[http://ajhooper.blogspot.com/feeds/posts/default]<br />
name=Aaron Hooper<br />
<br />
[http://nadavid.blogspot.com/feeds/posts/default]<br />
name=Neil David<br />
<br />
[http://cdpatel1.blogspot.com/feeds/posts/default]<br />
name=Chinmay Patel<br />
#face=http://www.geocities.com/chinmay_patel@ymail.com/chinmay.jpg<br />
<br />
[http://jvalianes.blogspot.com/feeds/posts/default]<br />
name=Jesse Valianes<br />
<br />
[http://bbarcick.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Bartosz Barcicki<br />
<br />
[http://heidenreich.wordpress.com/tag/seneca-college/feed/]<br />
name=Michal Heidenreich<br />
<br />
[http://kezhong.wordpress.com/feed/atom/]<br />
name=Kezhong Liang <br />
<br />
[http://wfred.wordpress.com/category/open-source/feed/]<br />
name=Fred Wang<br />
<br />
[http://jsinghfoss.wordpress.com/category/spring-framework/feed/]<br />
name=Jatinder Singh<br />
<br />
[http://rparsi.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rahi Parsi<br />
<br />
# Changed 2011-04-28 - missing a capital "S" from Seneca to display feed<br />
[http://aaronrey15.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Aaron Chan<br />
<br />
# Disabled 2011-04-28 - posts were deleted, empty feed<br />
#[http://flashalive.wordpress.com/category/Open%20Source/feed/]<br />
#name=Ryan Wang<br />
<br />
[http://kvuhome.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Khanh Vu<br />
<br />
[http://daeseonmoon.wordpress.com/category/open-source/feed/]<br />
name=Daeseon Moon<br />
<br />
[http://abraini.wordpress.com/category/seneca/feed/]<br />
name=Andrew Braini<br />
<br />
[http://minicheong.blogspot.com/feeds/posts/default]<br />
name=Frankie Law<br />
<br />
# Following feed changed from http://www.heyqule.net/blog/tech/oss/feed<br />
# on 2010-09-23 by CTyler.<br />
[http://www.heyqule.net/taxonomy/term/44/0/feed]<br />
name=Allen JF Xie (heyqule)<br />
<br />
[http://farhadnorouzi.blogspot.com/feeds/posts/default]<br />
name=Farhad Norouzi<br />
<br />
[http://jdeport.wordpress.com/category/software-development/open-source/feed/]<br />
name=John Dang<br />
<br />
[http://pliu.wordpress.com/category/open-source/feed/]<br />
name=Peter Liu<br />
<br />
# Feed not working - temporarily disabled 2010-09-23 CTyler<br />
#[http://www.jerrypau.ca/?feed=rss2&cat=3]<br />
#name=Jerry Pau<br />
#face=http://www.jerrypau.ca/blog-face-1.png<br />
<br />
[http://blog.wikiscraps.com/feeds/posts/default/-/oss]<br />
name=M. Mead Armsby (mead)<br />
<br />
[http://paritosha.blogspot.com/feeds/posts/default]<br />
name=Paritosh Aggarwal(paritosh1010)<br />
<br />
# Private blog. Disabled 2010-09-23 CTyler.<br />
#[http://myblog110.wordpress.com/category/open-source/feed]<br />
#name=Tahereh<br />
<br />
# Disabled 2011-04-28 - empty feed, all posts were removed<br />
#[http://challenger110.wordpress.com/category/software-development/open-source/censored/feed/]<br />
#name=Davoud Salahi Rad<br />
<br />
[http://wb-os.blogspot.com/feeds/posts/default]<br />
name=Le Yang<br />
<br />
[http://garykwong.wordpress.com/category/education/feed/]<br />
name=Gary Kwong (nth10sd)<br />
<br />
[http://yuenhoe.co.cc/blog/category/mozilla/feed/]<br />
name=Lim Yuen Hoe (moofang)<br />
<br />
# Disabled 2011-04-27 - empty feed, needs to be udpated<br />
#[http://tonychestnut.wordpress.com/category/mozilla/ubiquity/feed/]<br />
#name=Vu Dinh The (tonyvu)<br />
<br />
[http://opensourceproject.wordpress.com/category/open-source/feed/]<br />
name=Nabeel Khan (nkhan26)<br />
<br />
# Disabled 2011-04-27 - suspended domain<br />
#[http://solfu.net/tech/category/personas-for-thunderbird/feed/]<br />
#name=Yaoquan (seith)<br />
<br />
[http://xiajunshi.wordpress.com/category/open-source/feed/]<br />
name=Shelley Shi<br />
<br />
[http://hendrikinmozilla.wordpress.com/feed/]<br />
name=Hendrik<br />
<br />
[http://t3rrychan.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Terry Chen (jchen124)<br />
<br />
[http://blog.bchao.ca/feeds/posts/default?alt=rss]<br />
name=Boris Chao<br />
<br />
[http://ahiltssbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Adam Hilts<br />
<br />
[http://ysasaki600.wordpress.com/feed/]<br />
name=Yu Sasaki<br />
<br />
[http://enderstruth.wordpress.com/category/open-source/feed/]<br />
name=Roger Dicke<br />
<br />
[http://wobblyretroaction.blogspot.com/feeds/posts/default/-/Open%20source]<br />
name=Matthew Lam<br />
<br />
[http://asydik.wordpress.com/category/professional/open-source/feed/]<br />
name=Mickael Medel (aSydiK)<br />
<br />
[http://cwdesautels.blogspot.com/feeds/posts/default]<br />
name=Carl Desautels<br />
<br />
[http://rselby-oop344.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Remington Selby<br />
<br />
[http://mikey-osd600a.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Michael Dennis<br />
<br />
# Disabled 2011-04-27 - empty blog<br />
#[http://tjprogramming.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Timothy Catibog<br />
<br />
[http://horndavid.blogspot.com/feeds/posts/default?alt=rss]<br />
name=David Horn<br />
<br />
[http://annasob.wordpress.com/feed/]<br />
name=Anna Sobiepanek<br />
<br />
[http://drozhkov.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Dmitriy Rozhkov<br />
<br />
[http://www.hodgin.ca/?feed=rss2&cat=4]<br />
name=Daniel Hodgin<br />
<br />
[http://xderick.blogspot.com/feeds/posts/default/-/OSD]<br />
name=Yong Hong<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://hoonkoon.blogspot.com/2009/09/oop344.html]<br />
#name=Taehoon Kim<br />
<br />
[http://s2000c.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Sunny Chau<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://s2000c.blogspot.com/2009/09/oop344c.html]<br />
#name=Sunny Chau<br />
<br />
[http://kxu9.blogspot.com/feeds/posts/default]<br />
name=Kai Xu<br />
<br />
[http://oop-era.blogspot.com/feeds/posts/default]<br />
name=Eric Austerberry<br />
<br />
[http://docsage.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Eric Dell<br />
<br />
[http://ehren.wordpress.com/category/Seneca/feed/]<br />
name=Ehren Metcalfe<br />
<br />
[http://bsmith19.wordpress.com/category/Seneca/feed/]<br />
name=Brandon Smith<br />
<br />
[http://dcucereavii.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Diana Cucereavii<br />
<br />
# Disabled 2011-04-27 - site unreachable<br />
#[http://www.savantosis.com/?feed=rss2&cat=3]<br />
#name=Justin Robertson<br />
<br />
[http://paul-oop344.blogspot.com/feeds/posts/default/]<br />
name=Paul Repasi<br />
<br />
[http://istessema.wordpress.com/category/oop344/feed/]<br />
name=Iyosias Tessema<br />
<br />
[http://nedape.blogspot.com/feeds/posts/default]<br />
name=Neda Pezeshki<br />
<br />
[http://justletmepassoop344.blogspot.com/feeds/posts/default]<br />
name=Brian Parreno<br />
<br />
[http://dliu53.wordpress.com/category/open-source/feed/]<br />
name=Donghui Liu<br />
<br />
# Disabled 2011-04-27 - site not found<br />
#[http://oopblog.tdotshack.net/feeds/posts/default/-/OOP344]<br />
#name=Ryan Alexander<br />
<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim, Seow<br />
<br />
[http://mercedes-oop344.blogspot.com/feeds/posts/default]<br />
name=Suwon An<br />
<br />
[http://dtychshenko.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Dmitriy Tychshenko<br />
<br />
[http://victran.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Victor Tran<br />
<br />
# Changed 2011-04-27 - updated feed URL to proper<br />
[http://krazyazn.blogspot.com/feeds/posts/default]<br />
name=Michael Lin<br />
<br />
[http://xshi18.blogspot.com/feeds/posts/default]<br />
name=Xiaozhe Shi<br />
<br />
[http://feihong-xiong.blogspot.com/feeds/posts/default]<br />
name=Feihong Xiong<br />
<br />
# Changed 2011-11-01 - created category just for PlanetCDOT<br />
[http://orbitalstation.wordpress.com/category/planetcdot/feed/]<br />
name=Hasan (northWind) Kamal-Al-Deen<br />
face=http://matrix.senecac.on.ca/~hkamal-al-deen/images/Exclaim65x85.png<br />
<br />
[http://hduan2.wordpress.com/feed/]<br />
name= Haoliang Duan<br />
<br />
[http://anastasias-myblog.blogspot.com/feeds/posts/default/-/OOP344]<br />
name= Anastasia Semionova<br />
<br />
[http://franksun123.blogspot.com/feeds/posts/default/]<br />
name= Dong Sun<br />
<br />
[http://rkyoop344.blogspot.com/feeds/posts/default/]<br />
name=Keyan Ren<br />
<br />
[http://ctran13.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Chi-Lea Tran<br />
<br />
[http://szymonsoop.blogspot.com/feeds/posts/default/]<br />
name= Szymon Ahmed<br />
<br />
[http://ywang268.blogspot.com/feeds/posts/default/]<br />
name=Yu Wang<br />
<br />
[http://wangcong422.blogspot.com/feeds/posts/default/]<br />
name=Cong Wang<br />
<br />
[http://dennyp.wordpress.com/category/Seneca/feed/]<br />
name=Denny Papagiannidis<br />
<br />
# Blog not found. Disabled 2010-09-23 CTyler.<br />
#[http://java-chinmay.blogspot.com/feeds/posts/default]<br />
#name= Chinmay Patel<br />
<br />
[http://saecob.blogspot.com/feeds/posts/default/-/OpenSource]<br />
name= Sergiu Ecob<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://satijas.wordpress.com/category/OOP344/feed/]<br />
#name=Sasha Atijas<br />
<br />
# 404. Disabled 2010-09-23 CTyler.<br />
#[http://auzix.com/seneca/?feed=rss2]<br />
#name=Tyler Hackwood<br />
<br />
#[http://starbuck-blog.blogspot.com/feeds/posts/default]<br />
#name=Verity Li<br />
<br />
[http://gkrilov.blogspot.com/feeds/posts/default]<br />
name=Greg Krilov<br />
<br />
[http://qinzhi2001.blogspot.com/feeds/posts/default]<br />
name=David Chen<br />
<br />
[http://tchen-oop344.blogspot.com/feeds/posts/default]<br />
name=Terence Chen<br />
<br />
[http://opp344-yxue.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
# Disabled 2011-04-28 - had 2 other duplicate feeds<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/seneca<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/OOP344<br />
<br />
[http://ttsuji1.blogspot.com/feeds/posts/default]<br />
name=Trevor Tsuji<br />
<br />
[http://oyoung4.blogspot.com/feeds/posts/default]<br />
name=Oliver Young<br />
<br />
[http://minyxo.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Edward Sin<br />
<br />
# Blog not found - disabled 2010-09-23 CTyler<br />
#[http://oop344f09-niki.blogspot.com/feeds/posts/default]<br />
#name=Niki Simmalavong<br />
<br />
[http://jdbcdps.blogspot.com/feeds/posts/default]<br />
name=Julia Vasserman<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=Shun Yao Zhang<br />
<br />
# Disabled 2009-11-27 due to 500's on feed link<br />
# Re-enabled 2011-04-27 - incorrect URL format fixed<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim Seow<br />
<br />
[http://capereir.wordpress.com/feed/]<br />
name=Chris Pereira<br />
<br />
[http://dev-blog.zerogin.com/category/opensource/feed/]<br />
name=Tom Wisniewski (t0mmyw)<br />
<br />
# Disabled 2011-04-27 - empty feed, rest of blog is not related<br />
#[http://majorbludd.wordpress.com/category/school/feed/]<br />
#name=Michael Dawson<br />
<br />
[http://cdnpadawan.wordpress.com/feed/]<br />
name=Matthew Daniels<br />
<br />
[http://processingjs.org/blog/?feed=rss2]<br />
name=Processing.js Blog<br />
<br />
[http://dseifried.wordpress.com/category/school/feed/]<br />
name=David Seifried<br />
<br />
[http://tandemwebdesign.ca/blog/?feed=rss2&cat=3]<br />
name=Matthew Adams<br />
<br />
[http://s-aleinikov.blog.ca/feed/atom/posts/]<br />
name=Sergey Aleinikov<br />
<br />
[http://wfchen2010.blogspot.com/feeds/posts/default]<br />
name=Wen Fang Chen<br />
<br />
[http://donna-oberes.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Donna Oberes<br />
<br />
[http://carolynwoodley.blogspot.com/feeds/posts/default]<br />
name=Carolyn Woodley<br />
<br />
[http://shengwei-seneca.blogspot.com/feeds/posts/default]<br />
name=Shengwei Wang<br />
<br />
[http://zakoop344.blogspot.com/feeds/posts/default]<br />
name=Wei Tong<br />
<br />
[http://gtawaf.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Gamal Tawaf <br />
<br />
[http://rift-tlosam.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Brendan McDorman<br />
<br />
[http://hdc23.wordpress.com/category/OOP344/feed]<br />
name=Dachuan Huang<br />
<br />
# Disabled 2011-04-27 - blank feed, aged blod<br />
#[http://qwu26.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=Qingxi Wu<br />
<br />
# Disabled 2011-04-27 - blank blog<br />
#[http://lwang162.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=LianHe Wang<br />
<br />
# Disabled 2011-04-27 - blank blog, aged<br />
#[http://bmcohen.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Bryan Cohen<br />
<br />
[http://feliploko.wordpress.com/category/seneca/feed]<br />
name=Felipe de Oliveira<br />
<br />
# Following feed reports invalid content type.<br />
# Disabled 2010-09-23 CTyler<br />
#[http://lwang168.blogspot.com/feeds/posts/-/oop344]<br />
#name=Liang Wang<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=shun yao zhang<br />
<br />
[http://galewis.blogspot.com/feeds/posts/default]<br />
name=Gustone Lewis<br />
<br />
[http://hmo6.blogspot.com/feeds/posts/default]<br />
name=Mo Hsiu Mei<br />
<br />
[http://derekambrose.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Derek Ambrose<br />
<br />
[http://scottdowne.wordpress.com/category/open-source/feed/]<br />
name=Scott Downe<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://anthonyisgood.blogspot.com/feeds/posts/default/-/open%20source]<br />
#name = Anthony Alves<br />
<br />
[http://jjleeos.blogspot.com/feeds/posts/default]<br />
name = Jeffrey Lee<br />
<br />
[http://harjinderv.tumblr.com/tagged/Open_Source/rss]<br />
name = Harjinder Virdi<br />
<br />
[http://cldenobrega.wordpress.com/category/open-source/feed/]<br />
name = Crystal de Nobrega (cldenobrega)<br />
<br />
[http://lchen97.blogspot.com/feeds/posts/default]<br />
name=Chris Chen<br />
<br />
# Parked domain. Disabled 2010-09-23 CTyler<br />
#[http://hotweiss.lifeflayer.com/?feed=atom]<br />
#name=Tianqi Liu<br />
<br />
[http://oleg-oop.blogspot.com/feeds/posts/default]<br />
name=Aleh Pliats<br />
<br />
[http://88mishok.blogspot.com/feeds/posts/default]<br />
name=Francois Des Jarlais<br />
<br />
[http://bikarin.blogspot.com/feeds/posts/default]<br />
name=Irina Balzamova<br />
<br />
[http://mashhaque.blogspot.com/feeds/posts/default]<br />
name=Mashfique Haque<br />
<br />
[http://yxue11.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
<br />
[http://tdao75.blogspot.com/feeds/posts/default]<br />
name=Thanh Dao<br />
<br />
[http://minooz.wordpress.com/category/CDOT/feed/]<br />
name=Minoo Ziaei<br />
<br />
[http://gbatumbya.wordpress.com/category/seneca/cdot/feed/]<br />
name=Grace Simon Batumbya<br />
<br />
[http://sonnilion.wordpress.com/feed/]<br />
name=Matt Postill<br />
<br />
[http://acchung1.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Alex Chun Yang Chung<br />
<br />
[http://hckim.wordpress.com/category/open-source/feed/]<br />
name=Han Chul Kim<br />
<br />
[http://xizhangblog.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xi Zhang<br />
<br />
# Modified 2011-04-27 - changed from blank category<br />
[http://lwu11.blogspot.com/feeds/posts/default]<br />
name=Ling Wu<br />
<br />
[http://jasonquan.wordpress.com/category/OOP344/feed/]<br />
name=Jason Quan<br />
<br />
[http://myoop344blog.blogspot.com/feeds/posts/default/]<br />
name=Xiongwen LU<br />
<br />
[http://0zzym.wordpress.com/feed]<br />
name=Osman Mirza<br />
<br />
[http://adgezaza.posterous.com/rss.xml?tag=open%20source]<br />
name=Adrian Maurer<br />
<br />
[http://kumailhabib.blogspot.com/feeds/posts/default]<br />
name=Kumail Habib<br />
<br />
[http://imadorki3.blogspot.com/feeds/posts/default]<br />
name=Robin Co<br />
<br />
[http://danapao026.blogspot.com/feeds/posts/default]<br />
name=Don Armin Napao<br />
<br />
[http://cgm087.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Christopher G. Missen<br />
<br />
[http://crgosselin.blogspot.com/feeds/posts/default]<br />
name=Chris Ryan Gosselin<br />
<br />
[http://slaw12.wordpress.com/feed/ ]<br />
name=Stephanie Law<br />
<br />
[http://ysliu2.blogspot.com/feeds/posts/default]<br />
name=Yansong Liu<br />
<br />
[http://www.drizhepolov.com/blog/?feed=rss2]<br />
name=Vladimir Drizhepolov<br />
<br />
[http://bhavanesh.wordpress.com/feed/]<br />
name=Bhavanesh Patel<br />
<br />
[http://xwu0102.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xiaojiang Wu<br />
<br />
[http://rhui4.wordpress.com/feed/ ]<br />
name=Richard Hui<br />
<br />
[http://invinciblyignorant.wordpress.com/category/OOP344/feed/]<br />
name=Jason Burton<br />
<br />
[http://goldenration.wordpress.com/feed/]<br />
name=HongGeun Park<br />
<br />
[http://thupten.veryusefulinfo.com/?feed=rss2]<br />
name=Thupten Choephel<br />
<br />
[http://priyadeep.wordpress.com/feed/]<br />
name=Priyadeep Gill<br />
<br />
[http://kyle205website.info/wordpress/?feed=rss2]<br />
name=Khai Huynh<br />
<br />
[http://dale.io/open-source.xml]<br />
name=Dale Karp<br />
<br />
[http://vbluzmans.wordpress.com/feed/]<br />
name=Vitaly Bluzmans<br />
<br />
[http://akkimblog.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry Taylor<br />
<br />
<br />
[http://alf1488.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Yegor Tyunin<br />
<br />
[http://sbr600.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Matthew Ortofsky<br />
<br />
[http://pbrown9.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Paul Brown<br />
<br />
[http://jzaidi.wordpress.com/feed/]<br />
name=Jawwad Zaidi<br />
<br />
[http://blog.rainulf.ca/category/CDOT/feed/]<br />
name=Jose Rainulf Pineda<br />
<br />
[http://donchel.wordpress.com/feed/]<br />
name=Dong Cheol Cha<br />
<br />
[http://sweerdenburg.wordpress.com/category/seneca/feed/]<br />
name=Steven Weerdenburg<br />
<br />
[http://jyang42.blogspot.com/feeds/posts/default]<br />
name=Jing Yang<br />
<br />
[http://tarinc.wordpress.com/feed/]<br />
name=Tarin Choudhury<br />
<br />
[http://jtdonaldson21.blogspot.com/feeds/posts/default]<br />
name=Jeshu Donaldson<br />
<br />
[http://bccp32.blogspot.com/feeds/posts/default]<br />
name=Yauheni Khabian<br />
<br />
[http://mark-os.blogspot.com/feeds/posts/default]<br />
name=Mark Eamiguel<br />
<br />
[http://kweber1.blogspot.com/feeds/posts/default]<br />
name=Kyle Weber<br />
<br />
[http://mustafaredha.wordpress.com/category/planet-cdot/feed]<br />
name=Mustafa Redha<br />
<br />
[http://andrewasdesigned.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Andrew Singh<br />
<br />
[http://escom0.blogspot.com/feeds/posts/default]<br />
name=Eric Shum<br />
<br />
# Disabled 2011-04-27 - blog was deleted<br />
#[http://open-ht.blogspot.com/feeds/posts/default]<br />
#name=Hoc Tran<br />
<br />
[http://vanjason.wordpress.com/category/sbr600/feed]<br />
name=Jason Van<br />
<br />
[http://kpangilinan.wordpress.com/feed]<br />
name=Kenneth Pangilinan<br />
<br />
[http://ajcondinho.blogspot.com/feeds/posts/default/-/opensource]<br />
name=Andrew Condinho<br />
<br />
[http://cahayamu.com/feed/]<br />
name=Cahayamu<br />
<br />
[http://blog.esmnetworks.com/category/planet-cdot/feed]<br />
name=Adrian Pruteanu<br />
<br />
[http://stevebologna.wordpress.com/category/Open-Source/feed/]<br />
name=Stephen Bologna<br />
<br />
[http://www.winterleaf.ca/blog/category/oop344/feed/]<br />
name=Daniel Slessarev<br />
<br />
[http://ycshon.blogspot.com/feeds/posts/default]<br />
name=Young Chol Shon<br />
<br />
[http://jwpark2.blogspot.com/feeds/posts/default]<br />
name=Jaewoo Park<br />
<br />
[http://klasconia.wordpress.com/feed/]<br />
name=Kevin Lasconia<br />
<br />
[http://kaitlynmcdonald.wordpress.com/feed/]<br />
name=Kaitlyn McDonald<br />
<br />
[http://jrobinson7.wordpress.com/feed/]<br />
name=James Robinson<br />
<br />
[http://trusu.blogspot.com/feeds/posts/default]<br />
name=Traian Rusu<br />
<br />
[http://blockrockinpete.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Pete Leaning<br />
<br />
[http://tyler-taehee-lee.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Tae Hee Lee<br />
<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=87]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=96]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://saad-husain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Saad Husain<br />
<br />
[http://jevangelos.wordpress.com/feed/]<br />
name=James Evangelista<br />
<br />
# Disabled 2011-04-27 - not a feed link<br />
#[http://sajed481.wordpress.com/SBR600/]<br />
#name=M.A Sajed Shadani<br />
<br />
[http://rizwanhaq.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rizwan Haq<br />
<br />
[http://tuori.tk/blog/blogs/blog1.php?tempskin=_rss2&cat=15]<br />
name=Matthew Tuori<br />
<br />
[http://ktaraghi.blogspot.com/feeds/posts/default]<br />
name=Khosro Taraghi<br />
<br />
[http://opensourceftw.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Anthony Boccia<br />
<br />
[http://perfectlylogical.wordpress.com/category/sbr600/feed/]<br />
name=Stephen Hall<br />
<br />
[http://rocellaj.wordpress.com/feed/]<br />
name=Rocella Jimenez<br />
<br />
[http://justinpaulmorgan.blogspot.com/feeds/posts/default]<br />
name=Justin Morgan<br />
<br />
[http://gcasella.blogspot.com/feeds/posts/default]<br />
name=Gian-Luca Casella<br />
<br />
[http://archanasahota.com/category/open-source/feed/]<br />
name=Archana Sahota<br />
<br />
[http://pratikamin.wordpress.com/category/sbr600/feed/]<br />
name=Pratik Amin<br />
<br />
[http://syang00.wordpress.com/feed/]<br />
name=Stephanie Yang<br />
<br />
[http://tewestacott.wordpress.com/category/SBR600/feed/]<br />
name=Todd Westacott<br />
<br />
[http://aparda.wordpress.com/category/SBR600//feed/]<br />
name=Andrew Parda<br />
<br />
[http://gjuhasz1.wordpress.com/feed/]<br />
name=Gergely Juhasz<br />
<br />
[http://completefail.wordpress.com/category/SBR600/feed/]<br />
name=Joshua Y. Koh<br />
<br />
[http://myuberwebsite.blogspot.com/feeds/posts/default]<br />
name=Dmitry Artemenko<br />
<br />
[http://cgomes7.wordpress.com/feed/]<br />
name=Cesar Gomes<br />
<br />
[http://supbroseph.wordpress.com/feed/]<br />
name=Houssam haidar<br />
<br />
[http://www.bradchen.com/rss/blog/open%20source]<br />
name=Brad Chen (vvasabi)<br />
<br />
[http://asabir.wordpress.com/feed/]<br />
name=Adeel Sabir (asabir)<br />
<br />
[http://libresparks.wordpress.com/category/SBR600/feed/]<br />
name=Alfred Liu<br />
<br />
[http://acook6.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Alan Cook<br />
<br />
[http://coding.shaunofthelive.com/feeds/posts/default/-/oop344]<br />
name=Shaun Hill<br />
<br />
[http://maoli1207.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mao Hua Li<br />
<br />
# tmp disabled<br />
#[http://fossjon.wordpress.com/feed/]<br />
#name=Jon Chiappetta<br />
<br />
[http://dperit.blogspot.com/feeds/posts/default/-/cdot]<br />
name=David Perit<br />
<br />
[http://szafar8.wordpress.com/tag/cdot/feed/]<br />
name=Salman Zafar<br />
<br />
[http://mbuttu.wordpress.com/category/Open-Source/feed/]<br />
name=Mohammed Buttu<br />
<br />
[http://brianlimtemp.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Brian Lim<br />
<br />
[http://drigato.wordpress.com/category/open-source/feed/]<br />
name=Denise Rigato<br />
<br />
[http://jbraffoul.wordpress.com/category/open-source/feed/]<br />
name=Jordan Raffoul<br />
<br />
[http://kuznetsovnikita.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nikita Kuznetsov<br />
<br />
[http://noahgitalis.wordpress.com/category/open-source/feed/]<br />
name=Noah Gitalis<br />
<br />
[http://rhotin.wordpress.com/category/open-source/feed/]<br />
name=Roman Hotin<br />
<br />
[http://nm486.wordpress.com/category/open-source/feed]<br />
name=Stanley Tsang<br />
<br />
[https://brattahlid.wordpress.com/tag/foss/feed/]<br />
name=Abhishek Bhatnagar<br />
<br />
[http://mendozamiche.wordpress.com/category/open-source/feed]<br />
name=Michelle Mendoza<br />
<br />
[http://kenxu99.wordpress.com/category/open-source/feed]<br />
name=Qian (Ken) Xu<br />
<br />
[http://steventseng.wordpress.com/category/open-source/feed/]<br />
name=Ching Wei Tseng (Steven)<br />
<br />
[http://myprogrammingblog.com/category/project-bbb/feed/]<br />
name=Anatoly Spektor<br />
<br />
[http://jasonmarciniak.wordpress.com/feed/]<br />
name=Jason Marciniak<br />
<br />
[http://hungryr.wordpress.com/category/open-source/feed]<br />
name=Hyungryul Steven Chun<br />
<br />
[http://jbhuestis.wordpress.com/feed/]<br />
name=Jordan Huestis<br />
<br />
[http://nicklmbrt.wordpress.com/feed]<br />
name=Nick Lambert<br />
<br />
<br />
[http://rkyosd.blogspot.com/feeds/posts/default]<br />
name=Keyan Ren<br />
<br />
[http://awong79.blogspot.com/feeds/posts/default]<br />
name=Anthony Wong<br />
<br />
[http://jekyjaw.wordpress.com/category/open-source/feed]<br />
name=Yevgeniy Ivanchenko<br />
<br />
[http://raymondhung.wordpress.com/category/open-source/feed/]<br />
name=Raymond Hung<br />
<br />
[http://topheruppercut.wordpress.com/category/open-source/feed/]<br />
name=Christopher Cheung<br />
<br />
[https://saadism.wordpress.com/feed/]<br />
name=Saad Mohammad<br />
<br />
[http://slee142.blogspot.com/feeds/posts/default]<br />
name=Sangjin (Eric) Lee<br />
<br />
[http://dliscio.wordpress.com/feed]<br />
name=David Liscio<br />
<br />
[http://guandayu.wordpress.com/feed/]<br />
name=Dayu Guan<br />
<br />
[http://elonli.ca/category/sbr600/feed/]<br />
name=Elon Li<br />
<br />
<br />
[http://blog.carsonyong.com/?feed=rss2]<br />
name=Carson Yong<br />
<br />
[http://snaqvi3.wordpress.com/category/open-source/feed/]<br />
name=Saba Naqvi<br />
<br />
[http://burrellaramone.wordpress.com/category/open_source/feed/]<br />
name=Ramone Burrell<br />
<br />
[http://moussa1.wordpress.com/category/open-source/feed/]<br />
name=Moussa Tabcharani<br />
<br />
[http://roottothehead.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Jordan Cwang<br />
<br />
[http://diogogmt.wordpress.com/category/open-source/feed/]<br />
name=Diogo Golovanevsky Monteiro<br />
<br />
[http://www.anuragbhatnagar.com/category/open-source/feed/]<br />
name=Anurag Bhatnagar<br />
face=http://www.anuragbhatnagar.com/wp-content/uploads/2011/09/anurag1.png<br />
<br />
[http://withs.tumblr.com/tagged/OSD/rss]<br />
name=Jacky Siu<br />
<br />
[http://jjbmiller.wordpress.com/feed/]<br />
name=Jeff Miller<br />
<br />
[http://toomymon.wordpress.com/feed/]<br />
name=Tommy Cho Long Chor<br />
<br />
[http://jsilver999.wordpress.com/category/open-source/feed/]<br />
name=Jesse Silver<br />
<br />
[http://justintrobinson.wordpress.com/category/bigbluebutton/feed/]<br />
name=Justin Robinson<br />
<br />
[http://cchoo2.blogspot.com/feeds/posts/default]<br />
name=Chris Choo<br />
<br />
[http://teddychilai.wordpress.com/category/sbr600/feed/]<br />
name=Chi Hsun Lai<br />
<br />
[http://dsun20.wordpress.com/feed/]<br />
name=Dong Sun<br />
<br />
[http://alberttruong.wordpress.com/category/SBR600/feed/]<br />
name=Albert Truong<br />
<br />
[http://jessefulton.wordpress.com/category/SBR600/feed/]<br />
name=Jesse Fulton<br />
<br />
[http://ligangbory.wordpress.com/feed/]<br />
name=Gang Li<br />
<br />
[http://kliu39.wordpress.com/feed/]<br />
name=Kun Liu<br />
<br />
[http://mariabustoss.wordpress.com/feed/]<br />
name=Maria Bustos-Roman<br />
<br />
[http://kavisbr.blogspot.com/feeds/posts/default]<br />
name=Kavishankar Srivamathevan<br />
<br />
[http://namsbloging.blogspot.com/feeds/posts/default]<br />
name=Nam Nguyen<br />
<br />
[http://dsegree.wordpress.com/feed/]<br />
name=Daniel Segree<br />
<br />
[http://sajed481.wordpress.com/opensource/feed/]<br />
name=Mohammad Abdullah Sajed Shadani<br />
<br />
[http://asalwi123.wordpress.com/feed/]<br />
name=Aries Alwi<br />
<br />
[http://jmulwani.wordpress.com/feed/]<br />
name=Jayaditya Mulwani<br />
<br />
[http://sbr600blog.blogspot.com/feeds/posts/default]<br />
name=Andrew Greene<br />
<br />
[http://chadpilkey.wordpress.com/category/opensource/feed/]<br />
name=Chad Pilkey<br />
<br />
[http://ejtorre.blog.ca/feed/rss2/posts/]<br />
name=Eugene Torre<br />
<br />
[http://lynart.wordpress.com/category/CDOT/feed/]<br />
name=Vince Lee<br />
<br />
[http://stani.ca/?feed=rss2&cat=3]<br />
name=Robert Stanica<br />
<br />
[http://cdot-callaghan.posterous.com/rss.xml?tag=CDOT]<br />
name=Peter Callaghan<br />
<br />
[http://zaf1.wordpress.com/category/open-source/feed/]<br />
name=Shayan Zafar Ahmad<br />
<br />
[http://zyu26.wordpress.com/feed/]<br />
name=Zhiping Yu<br />
<br />
[http://stiversc.blogspot.ca/feeds/posts/default/-/OSD600]<br />
name=Michael Stiver-Balla<br />
<br />
[http://maximumou.blogspot.com/feeds/posts/default]<br />
name=Zhi Chang Ou<br />
<br />
[http://www.kypertrast.net/seneca/category/open-source/feed/]<br />
name=Michael Afidchao<br />
<br />
[http://epsilon812.wordpress.com/category/open-source/feed/]<br />
name=Rick Eyre<br />
<br />
[http://ayufidin.blogspot.ca/feeds/posts/default]<br />
name=Alon Yufidin<br />
<br />
[http://sudodamha.blogspot.com/feeds/posts/default]<br />
name=Ahmad Taychouri<br />
<br />
[http://amartinencosbr600.blogspot.com/feeds/posts/default]<br />
name=Andrei Martinenco<br />
<br />
[http://sbr600.tumblr.com/rss]<br />
name=Daniel Delidjakov<br />
<br />
[http://ashtramwasser.blogspot.ca/feeds/posts/default]<br />
name=Alina Shtramwasser<br />
<br />
[http://limed3.wordpress.com/category/open-source/feed/]<br />
name=Edwin Lim<br />
<br />
[http://caitpotter.blogspot.com/feeds/posts/default/-/open%20source] <br />
name=Dylan Potter<br />
<br />
[http://rlawrence5.wordpress.com/feed/]<br />
name=Ryan Lawrence<br />
<br />
[http://okhattab.wordpress.com/feed/]<br />
name=Omarr Khattab<br />
<br />
[http://aadavis1.blogspot.ca//feeds/posts/default]<br />
name=Alexander Davis<br />
<br />
[http://kdayalingam.wordpress.com/category/dpi908/feed]<br />
name=Kowrinanthan Dayalingam<br />
<br />
[http://jcqiu.wordpress.com/feed/]<br />
name=Jiecheng Qiu<br />
<br />
[http://mikeshutov.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mike Shutov<br />
<br />
[http://avru.wordpress.com/category/open-source/feed/]<br />
name=Anh Tran<br />
<br />
[http://kyle.barnhart.ca/feeds/posts/default/-/Open%20Source]<br />
name=Kyle Barnhart<br />
<br />
[http://gloriaip.wordpress.com/feed/]<br />
name=Gloria Ip<br />
<br />
[http://www.mandeepgarg.wordpress.com/feed/]<br />
name=Mandeep Garg<br />
<br />
[http://bharmidy.blogspot.ca/feeds/posts/default/-/open%20source]<br />
name=Bryce Harmidy<br />
<br />
[http://andrewow.wordpress.com/category/sbr600/feed/]<br />
name=Andrew Oatley-Willis<br />
<br />
[http://dima1086.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Dmytro Kostenyuk<br />
<br />
[http://hapombo.blogspot.ca/feeds/posts/default]<br />
name=Hugo Pombo<br />
<br />
[http://petepabs.wordpress.com/feed/]<br />
name=Peter Valerio<br />
<br />
<br />
[http://sabanane.wordpress.com/feed/]<br />
name=Japheth N.<br />
<br />
[http://rtang12.blogspot.ca/feeds/posts/default]<br />
name=Ruowen Tang<br />
<br />
[http://softwarebuildrun.wordpress.com/feed/]<br />
name=Rudolf R Janns<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Planet_CDOT_Feed_List&diff=89262Planet CDOT Feed List2012-10-04T19:07:06Z<p>Kmbarnhart: /* Feeds */</p>
<hr />
<div>{{Admon/important|Wiki email problems have been fixed!|If you requested an account but did not receive an email response, please see the [[Wiki email issues - September 2012|wiki email issues]] page.}}<br />
<br />
= Introduction =<br />
<br />
Seneca students and faculty working on open source related projects and research, as well as some faculty, students, and researchers from other institutions, use [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT] to aggregate their blogs. This page contains the information about who is blogging in [http://www.planetplanet.org/ Planet Feed Reader format] and serves as the feed configuration for the planet.<br />
<br />
If you do not have an existing blog, you can open a free account at [http://wordpress.com/ Wordpress.com] or [https://www.blogger.com/ Blogger.com] or you can set up your own blog software such as [http://www.s9y.org Serendipity].<br />
<br />
'''Note:''' Additions to the feed list will not take effect until they are merged into the Planet configuration, which is an automatic process scheduled at regular intervals. If you add a feed and do not see it picked up in the Planet within three hours, please check your feed entry carefully and then contact [[User:Chris Tyler|Chris Tyler]] .<br />
<br />
= Requirements =<br />
<br />
* Blog postings fed to the planet must conform to the [[Blog Guidelines]].<br />
* Feeds that are inactive for a significant period of time may get deleted from this list.<br />
<br />
= Using a Tagged/Category Feed =<br />
<br />
A tagged or category feed includes only articles that are tagged with particular keywords or placed in a particular topic category. This can be useful for sending only selected posts to the planet.<br />
<br />
These are the URL formats for tagged or category feeds on popular blogging services/software:<br />
<br />
* [http://www.wordpress.com Wordpress]: <code><nowiki>[http://</nowiki>''blog-user-name''.wordpress.com/category/''category-name''/feed/]</code><br />
* [http://blogger.com Blogger]: <code><nowiki>[http://</nowiki>''blog-user-name''.blogspot.com/feeds/posts/default/-/''category-name'']</code><br />
* [http://s9y.org Serendipity]: <code><nowiki>[http://</nowiki>''blog-main-url''/index.php?/feeds/categories/''cateogrynumber''-''categoryname'']</code><br />
<br />
= Feed Info Format =<br />
<br />
You can add your blog's [http://en.wikipedia.org/wiki/RSS_(file_format) RSS feed] at the end of the list below by specifying the following:<br />
<br />
# The URL to your blog's open source Atom or [http://en.wikipedia.org/wiki/RSS_(file_format) RSS Feed] (i.e., a category or tag). NOTE: Please do not put the URL to your blog -- use the URL for your feed. Please do not use the feed for your entire blog (unless your blog contains only open source-related postings). We only want open source related content.<br />
# Your name as you want it to appear in the list of names for the planet<br />
# Optionally, a URL to a [http://en.wikipedia.org/wiki/Hackergotchi hackergotchi] ([http://wouterverhelst.livejournal.com/21322.html how to]). Your picture should be an 65x85 PNG with a transparent background.<br />
<br />
= Feeds =<br />
<br />
<pre><br />
<br />
[http://m0le-security.blogspot.com/feeds/posts/default]<br />
name=Tin Gia Lam<br />
<br />
[http://aadavis1.blogspot.ca/feeds/posts/default]<br />
name=Alexander Davis<br />
<br />
[http://thevakaran.wordpress.com/category/open-source/feed/]<br />
name=Thevakaran Virutthasalam<br />
<br />
[http://kyu6.wordpress.com/feed/]<br />
name=Keren Yu <br />
<br />
[http://chestersbr600.wordpress.com/]<br />
name=VicChester Ngo<br />
<br />
[http://cty6sbr600.wordpress.com/feed/]<br />
name=Kalpaniya Parmar<br />
<br />
[http://cty6.wordpress.com/feed/]<br />
name=Luis Fuentes<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/build-from-source/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/introduction/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://craigcain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Craig Cain<br />
<br />
<br />
[http://elite-mafia.net/blog/?feed=rss2]<br />
name=Nikhil Sharma<br />
<br />
[http://wolfleaderslair.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dennis Villasenor<br />
<br />
[http://gkrilov.com/category/open-source/feed/]<br />
name=Greg Krilov<br />
<br />
[http://rubensmaximus.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rubens Maximus (GameArtist)<br />
<br />
[http://ladanzahir.wordpress.com/category/CDOT/feed/]<br />
name=Ladan Zahiroleslam Zade<br />
<br />
[http://mschranz.wordpress.com/category/open_source/feed/]<br />
name=Matthew Schranz<br />
<br />
[http://fedoraisfun.wordpress.com/category/open_source/feed/]<br />
name=Alan Lau<br />
<br />
[http://www.spectakular.com/category/open-source/feed/]<br />
name=Simon Jung<br />
<br />
[http://james.boelen.ca/category/open_source/feed/]<br />
name=James Boelen<br />
<br />
[http://jbuckley.ca/category/open-source/feed/]<br />
name=Jon Buckley<br />
<br />
[http://mbrzuzy.wordpress.com/category/open-source/feed/]<br />
name=Marcin Brzuzy<br />
<br />
[http://ben1amin.wordpress.com/category/seneca/feed/]<br />
name=Benjamin Chalovich<br />
<br />
[http://edghardest1.wordpress.com/category/open-source-topics/feed/]<br />
name=Ed Arvelaez<br />
<br />
[http://www.ashkansotoudeh.com/?tag=coding-2&feed=rss2]<br />
name=Ashkan Sotoudeh<br />
<br />
[http://dboddie46.wordpress.com/category/SBR600A/feed/]<br />
name=Derrick Boddie<br />
<br />
[http://aali83.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Ahmad Ali<br />
<br />
[http://gr8can8dian.wordpress.com/category/sbr600/feed/]<br />
name=Lorin Soura<br />
<br />
[http://kirtonmike.wordpress.com/category/SBR600/feed/]<br />
name=Mike Kirton<br />
<br />
[http://fuzzux.wordpress.com/category/SBR600/feed/]<br />
name=Tim Furzer<br />
<br />
[http://nageyi.wordpress.com/feed/]<br />
name=Faisal Nageyi<br />
<br />
[http://KrazyDre.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Andrei Artamonov<br />
<br />
[http://mjcorsame.wordpress.com/feed/]<br />
name=Michael John Corsame<br />
<br />
[http://msbreezy12.wordpress.com/category/SBR/feed/]<br />
name=Chantell Mcintosh<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://mrtait1.blogspot.com/feeds/posts/default/-/oop344]<br />
#name=Matthew Tait<br />
<br />
[http://sbr600cabbott.blogspot.com/feeds/posts/default]<br />
name=Chris Abbott<br />
<br />
[http://kopay.wordpress.com/category/sbr600-win2011/feed]<br />
name=Pirathapan Sivalingam<br />
<br />
[http://mysnogorodsky.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Marina Ysnogorodsky<br />
<br />
[http://asa.veryusefulinfo.com/?feed=rss2]<br />
name=Ali Samimi<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://coreyangus.blogspot.com/feeds/posts/default/-/oop344]<br />
#name = Corey Angus<br />
<br />
[http://wsong18.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Wei Song<br />
<br />
[http://davidsosd60020102blog.blogspot.com/feeds/posts/default]<br />
name=David Takasaki<br />
<br />
[http://zwang98.blogspot.com/feeds/posts/default]<br />
name=Joe Wang<br />
<br />
[http://sbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://dgilloch.blogspot.com/feeds/posts/default]<br />
name=Daniel Gilloch<br />
<br />
[http://jmchen11.wordpress.com/feed/]<br />
name=Jianming Chen<br />
<br />
[http://paulfedora.wordpress.com/tag/cdot/feed/]<br />
name=Paul Whalen<br />
<br />
[http://maxamaxim.wordpress.com/tag/cdot/feed/]<br />
name=Masihul Abed <br />
<br />
[http://dmchisho.wordpress.com/feed/]<br />
name=David Chisholm<br />
<br />
[http://pokerface3.blogspot.com/feeds/posts/default/-/SBR?alt=rss]<br />
name=David Cabral<br />
<br />
[http://zbhuang1.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Zhibin Huang<br />
<br />
[http://sidsbr.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Sadiki Latty<br />
<br />
[http://orel60.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Or-el Mousaffi<br />
<br />
[http://aryafarzan.wordpress.com/category/OOP344/feed/]<br />
name=Arya Farzan<br />
<br />
[http://dsventura.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dan Ventura<br />
<br />
[http://chrisdecairos.ca/category/open-source/feed]<br />
name=Christopher DeCairos<br />
<br />
[http://acfunktron.blogspot.com/feeds/posts/default]<br />
name=Anton Chan<br />
<br />
[http://adaniel3.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Arlene Daniel<br />
<br />
[http://tyrant911-processingdotjs.blogspot.com/feeds/posts/default/-/processing.js]<br />
name=Alex Londono<br />
<br />
<br />
[http://ausleyj.blogspot.com/feeds/posts/default]<br />
name=Ausley Johnson<br />
<br />
[http://arminoop344.blogspot.com/feeds/posts/default]<br />
name=Armin Kumarshellah<br />
<br />
[http://cloudscorpion.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Joseph Hughes<br />
<br />
[http://travisrawn.blogspot.com/feeds/posts/default]<br />
name=Travis Rawn<br />
<br />
[http://jmpiltz.blogspot.com/feeds/posts/default]<br />
name=Jonathan Piltz<br />
<br />
[http://andrewgrimo.wordpress.com/category/open-source/feed/]<br />
name=Andrew Grimo<br />
<br />
[http://apvsbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Alex Vlahopoulos<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/alexthumb.png<br />
<br />
[http://asalga.wordpress.com/category/open-source/feed/]<br />
name=Andor Salga (asalga)<br />
<br />
[http://jabhad.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Mohamed Aden<br />
<br />
[http://jonathandeni.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://manoutoftime.wordpress.com/category/open-source/feed/]<br />
name=Konstantin Novichikhin<br />
<br />
[http://scorchedicee.wordpress.com/category/Seneca/feed/]<br />
name=Adam Sone<br />
<br />
[http://murraysaul.wordpress.com/feed/]<br />
name=Murray Saul<br />
<br />
[http://xwn740arcadeproject.blogspot.com/feeds/posts/default]<br />
name=Arcade Project - LUX Group@<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/ourbaby.png<br />
<br />
[http://feeds.feedburner.com/lsblakk_open-source]<br />
name=Lukas Blakk (lsblakk)<br />
#face=http://avnerd.tv/sharedFiles/lukas_hackergotchi.png<br />
<br />
[http://nashutzu.blogspot.com/feeds/posts/default]<br />
name=George Popescu (GeorgeP)<br />
<br />
[http://blog.chris.tylers.info/index.php?/feeds/categories/20-Seneca-Planet.rss]<br />
name=Chris Tyler (ctyler)<br />
face=http://zenit.senecac.on.ca/~chris.tyler/chris_tyler_hackergotchi_4a.png<br />
<br />
[http://vocamus.net/dave/?feed=rss2&category_name=Seneca]<br />
name=David Humphrey<br />
<br />
[http://gratnam1.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Gajendran Ratnam (gratnam1)<br />
<br />
[http://senecajon.blogspot.com/feeds/posts/default]<br />
name=Jonathan Cheung (jcheung23)<br />
<br />
# Disabled 2011-04-28 - blog was removed<br />
#[http://blog.markparuzel.com/feed/]<br />
#name=Mark Paruzel<br />
<br />
[http://mmszuto.blogspot.com/feeds/posts/default]<br />
name=Michael Szutu<br />
<br />
[http://lsdaly.blogspot.com/feeds/posts/default]<br />
name=Louis Daly (lsdaly)<br />
<br />
# Disabled 2009-01-25 due to 404's (domain expired)<br />
#[http://www.foobartastic.com/feed/]<br />
#name=Tom Aratyn<br />
<br />
[http://bhearsum.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Ben Hearsum<br />
<br />
# Following feed is invitation-only. Disabled 2010-09-23 CTyler<br />
#[http://www.jyzyy.blogspot.com/feeds/posts/default/-/opensource]<br />
#name=Jyoti<br />
<br />
# Re-enabled 2011-04-29 - new blog URL<br />
# Disabled 2009-09-15 due to 404's (site rearranged?)<br />
[http://tea.cesaroliveira.net/archives/tag/seneca/feed]<br />
name=Cesar Oliveira<br />
<br />
[http://r3ap3r.wordpress.com/category/seneca/feed]<br />
name=Brandon Collins<br />
<br />
# Disabled 2011-04-28 - blog was deleted<br />
#[http://jrgoncal.blogspot.com/feeds/posts/default]<br />
#name=Justin Goncalves (jrgoncal)<br />
#face=http://img517.imageshack.us/img517/9865/bearzp5.jpg<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://tlo5.blogspot.com/feeds/posts/default]<br />
#name=Tommy Lo (tlo5)<br />
<br />
[http://armenzg.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Armen Zambrano G. (armenzg)<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Michael Mullin<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Mozilla_GFX]<br />
name=Michael Mullin<br />
<br />
# Returned 410 on 2008-09-13 - disabled CTyler<br />
#[http://rueenfiez.wordpress.com/category/open-source/feed/]<br />
#name=Rueen Fiez<br />
<br />
# Returning 404 on 2008-09-13 - disabled CTyler<br />
#[http://jsafavi.wordpress.com/category/open-source/feed/]<br />
#name=Jason Safavi<br />
<br />
[http://vlam6.wordpress.com/category/open-source/feed/]<br />
name=Vincent Lam<br />
<br />
[http://dejant.blogspot.com/feeds/posts/default]<br />
name=Dejan Tolj<br />
<br />
[http://shivaris.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Hien Huynh<br />
<br />
[http://raynrant.blogspot.com/feeds/posts/default]<br />
name=Andrew Raynier (JM)<br />
face=http://zenit.senecac.on.ca/wiki/imgs/Hackergotchi.png<br />
<br />
[http://vijeysdps909.blogspot.com/feeds/posts/default]<br />
name=Vijey Bala<br />
<br />
[http://sedejong.blogspot.com/feeds/posts/default]<br />
name=Shomar Dejonge<br />
<br />
[http://dbaranski.wordpress.com/category/open-source/feed/]<br />
name=Dominic Baranski<br />
<br />
#[http://crashopensource.wordpress.com/category/open-source/feed/]<br />
#name=Lukas Blakk<br />
<br />
[http://kmsingh.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry M. Singh<br />
<br />
[http://tjduavis.wordpress.com/category/open-source/feed/]<br />
name=Timothy Duavis<br />
<br />
# Disabled 2011-04-28 - entire website is missing<br />
#[http://ashughes.com/?q=taxonomy/term/2/0/feed]<br />
#name=Anthony Hughes<br />
<br />
[http://opensourcekennethlee.blogspot.com/feeds/posts/default]<br />
name=Kenneth Lee<br />
<br />
[http://cleung.wordpress.com/category/Seneca/feed/]<br />
name=Catherine Leung<br />
<br />
[http://dtheosab.wordpress.com/category/open-source/feed/]<br />
name=Daino Theosabrata<br />
<br />
# This is my old blog<br />
[http://simon-jung.blogspot.com/feeds/posts/default]<br />
name=Simon Jung (old)<br />
<br />
[http://aeraj.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=AJ Rehman<br />
<br />
[http://xrayon.blogspot.com/feeds/posts/default]<br />
name=Fima Kachinski<br />
<br />
[http://littlesvr.ca/grumble/category/safeforseneca/feed/]<br />
name=Andrew Smith<br />
<br />
[http://littlesvr.ca/masters/feed]<br />
name=Andrew Smith (master's)<br />
<br />
[http://jbopensrc.wordpress.com/category/open-source/feed]<br />
name=Jesse Buchanan<br />
<br />
[http://ayhfung.blogspot.com/feeds/posts/default]<br />
name=Andrew Fung<br />
<br />
# Returned 404 on 2008-09-13 - disabled CTyler<br />
#[http://sloose.wordpress.com/category/open-source/feed/]<br />
#name=Peter Ljubanovic<br />
<br />
[http://mozcoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Amit Gundu<br />
<br />
# Changed CTyler 2009-02-12 from [http://www.blogger.com/feeds/15922666655846514311/blogs]<br />
[http://dsmukherji.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Devashish<br />
<br />
[http://yhan11.wordpress.com/category/open-source/feed]<br />
name=Yongsheng Han<br />
<br />
[http://peter.sykokillers.com/category/open-source/feed/]<br />
name=Peter Chan<br />
<br />
[http://www.c3dl.org/index.php/category/c3dl-dev/feed]<br />
name=Seneca Canvas3D Team<br />
<br />
# Updated 2011-04-28 - corrected feed URL<br />
[http://peterevanoff.wordpress.com/category/open-source/feed/]<br />
name=Peter Evanoff<br />
<br />
# Disabled 2011-04-28 - flagged as a malware-loaded site by Google<br />
<br />
#[http://radoye.net1zen.com/wp-rss2.php?cat=3]<br />
#name=Radovan Nesic<br />
<br />
[http://blog.cresencia.ca/category/open-source/osd600/feed/]<br />
name=Joseph Cresencia<br />
<br />
[http://bertenshaw.blogspot.com/feeds/posts/default]<br />
name=David Bertenshaw<br />
<br />
[http://ljubomirgorscak.blogspot.com/feeds/posts/default]<br />
name=Ljubomir Gorscak<br />
<br />
[http://sameropensource.blogspot.com/feeds/posts/default]<br />
name=Samer Ziadeh (samer)<br />
<br />
# Following feed not working and temporarily disabled<br />
# 2010-09-23 by CTyler<br />
#[http://jamesboston.ca/cms/taxonomy/term/1/0/feed]<br />
#name=James Boston<br />
#face=http://jamesboston.ca/hackergotchi.png<br />
<br />
[http://dailypackage.fedorabook.com/index.php?/feeds/index.rss2]<br />
name=Fedora Daily Package<br />
<br />
[http://blog.fardad.com/feeds/posts/default/-/Seneca]<br />
name=Fardad Soleimanloo<br />
<br />
[http://selmys.wordpress.com/category/opensource/feed]<br />
name=John Selmys<br />
face=http://cs.senecac.on.ca/~selmys/john_selmys_hackergotchi.png<br />
<br />
[http://pconstantino.wordpress.com/feed]<br />
name=Patricia Constantino<br />
<br />
[http://bombshelter13.blogspot.com/feeds/posts/default]<br />
name=Katherine Masseau<br />
<br />
[http://zadkielm.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Ezadkiel Marbella<br />
<br />
[http://blog.sidkalra.com/category/opensource/feed]<br />
name=Sid Kalra<br />
<br />
[http://pplam3.blogspot.com/feeds/posts/default]<br />
name=Patrick Lam<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://twlai1.blogspot.com/feeds/posts/default]<br />
#name=Tony Lai<br />
<br />
[http://dee132.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Chris Bishop<br />
<br />
# Updated 2011-04-28 - updated feed URL<br />
[http://zghansar.wordpress.com/category/open-source/feed/]<br />
name=Zaid Ghansar<br />
face=http://www.alhudainstitute.ca/zaid/z.png<br />
<br />
[http://aaronmt.com/?feed=rss2]<br />
name=Aaron Train<br />
face=http://matrix.senecac.on.ca/~amtrain/other/mypic.png<br />
<br />
[http://scottosd.blogspot.com/feeds/posts/default/-/Open%20Source/]<br />
name=Scott Lunel<br />
<br />
# Updated 2009-04-16, new blog. - scarter4<br />
# Disabled 2009-11-27 due to wrong feed URL<br />
#[http://scarter4.wordpress.com/category/seneca/]<br />
#name=Stephen Carter<br />
<br />
# Disabled 2009-01-23 CTyler due to 404s<br />
#[http://shdinis.blogspot.com/feeds/posts/default]<br />
#name=Shawn Dinis<br />
<br />
[http://belligero.org/index.php?option=com_content&view=section&id=1&format=feed&type=rss]<br />
name=Jason Tarka<br />
<br />
# Updated 2011-04-28 - no more tag, but still Seneca related<br />
[http://petermcintyre.wordpress.com/feed/]<br />
name=Peter McIntyre<br />
<br />
[http://vesperrin.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Leonard Lee (vesper)<br />
<br />
[http://jsdoodnauth.wordpress.com/category/open-source/feed/]<br />
name=Joshua Doodnauth<br />
<br />
[http://johnhford.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=John Ford (John64)<br />
<br />
[http://mohaksblog.blogspot.com/feeds/posts/default]<br />
name=Mohak Vyas<br />
#face=http://matrix.senecac.on.ca/~mdvyas/MohakVyas.png<br />
<br />
[http://pdirezze.blogspot.com/feeds/posts/default]<br />
name=Paul DiRezze<br />
<br />
# Following link no longer valid. Disabled 2010-09-23 CTyler<br />
#[http://www.ndaversa.com/category/open-source/feed]<br />
#name=Nino D'Aversa<br />
<br />
[http://miltonpaiva.wordpress.com/feed/]<br />
name=Milton Paiva<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/orkut.png<br />
<br />
[http://de-luxer.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nestor Chan<br />
#face=http://matrix.senecac.on.ca/~tnchan/n516840997_9173.PNG<br />
<br />
[http://varinderjhand.wordpress.com/feed/]<br />
name=Varinder Singh <br />
<br />
[http://ajhooper.blogspot.com/feeds/posts/default]<br />
name=Aaron Hooper<br />
<br />
[http://nadavid.blogspot.com/feeds/posts/default]<br />
name=Neil David<br />
<br />
[http://cdpatel1.blogspot.com/feeds/posts/default]<br />
name=Chinmay Patel<br />
#face=http://www.geocities.com/chinmay_patel@ymail.com/chinmay.jpg<br />
<br />
[http://jvalianes.blogspot.com/feeds/posts/default]<br />
name=Jesse Valianes<br />
<br />
[http://bbarcick.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Bartosz Barcicki<br />
<br />
[http://heidenreich.wordpress.com/tag/seneca-college/feed/]<br />
name=Michal Heidenreich<br />
<br />
[http://kezhong.wordpress.com/feed/atom/]<br />
name=Kezhong Liang <br />
<br />
[http://wfred.wordpress.com/category/open-source/feed/]<br />
name=Fred Wang<br />
<br />
[http://jsinghfoss.wordpress.com/category/spring-framework/feed/]<br />
name=Jatinder Singh<br />
<br />
[http://rparsi.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rahi Parsi<br />
<br />
# Changed 2011-04-28 - missing a capital "S" from Seneca to display feed<br />
[http://aaronrey15.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Aaron Chan<br />
<br />
# Disabled 2011-04-28 - posts were deleted, empty feed<br />
#[http://flashalive.wordpress.com/category/Open%20Source/feed/]<br />
#name=Ryan Wang<br />
<br />
[http://kvuhome.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Khanh Vu<br />
<br />
[http://daeseonmoon.wordpress.com/category/open-source/feed/]<br />
name=Daeseon Moon<br />
<br />
[http://abraini.wordpress.com/category/seneca/feed/]<br />
name=Andrew Braini<br />
<br />
[http://minicheong.blogspot.com/feeds/posts/default]<br />
name=Frankie Law<br />
<br />
# Following feed changed from http://www.heyqule.net/blog/tech/oss/feed<br />
# on 2010-09-23 by CTyler.<br />
[http://www.heyqule.net/taxonomy/term/44/0/feed]<br />
name=Allen JF Xie (heyqule)<br />
<br />
[http://farhadnorouzi.blogspot.com/feeds/posts/default]<br />
name=Farhad Norouzi<br />
<br />
[http://jdeport.wordpress.com/category/software-development/open-source/feed/]<br />
name=John Dang<br />
<br />
[http://pliu.wordpress.com/category/open-source/feed/]<br />
name=Peter Liu<br />
<br />
# Feed not working - temporarily disabled 2010-09-23 CTyler<br />
#[http://www.jerrypau.ca/?feed=rss2&cat=3]<br />
#name=Jerry Pau<br />
#face=http://www.jerrypau.ca/blog-face-1.png<br />
<br />
[http://blog.wikiscraps.com/feeds/posts/default/-/oss]<br />
name=M. Mead Armsby (mead)<br />
<br />
[http://paritosha.blogspot.com/feeds/posts/default]<br />
name=Paritosh Aggarwal(paritosh1010)<br />
<br />
# Private blog. Disabled 2010-09-23 CTyler.<br />
#[http://myblog110.wordpress.com/category/open-source/feed]<br />
#name=Tahereh<br />
<br />
# Disabled 2011-04-28 - empty feed, all posts were removed<br />
#[http://challenger110.wordpress.com/category/software-development/open-source/censored/feed/]<br />
#name=Davoud Salahi Rad<br />
<br />
[http://wb-os.blogspot.com/feeds/posts/default]<br />
name=Le Yang<br />
<br />
[http://garykwong.wordpress.com/category/education/feed/]<br />
name=Gary Kwong (nth10sd)<br />
<br />
[http://yuenhoe.co.cc/blog/category/mozilla/feed/]<br />
name=Lim Yuen Hoe (moofang)<br />
<br />
# Disabled 2011-04-27 - empty feed, needs to be udpated<br />
#[http://tonychestnut.wordpress.com/category/mozilla/ubiquity/feed/]<br />
#name=Vu Dinh The (tonyvu)<br />
<br />
[http://opensourceproject.wordpress.com/category/open-source/feed/]<br />
name=Nabeel Khan (nkhan26)<br />
<br />
# Disabled 2011-04-27 - suspended domain<br />
#[http://solfu.net/tech/category/personas-for-thunderbird/feed/]<br />
#name=Yaoquan (seith)<br />
<br />
[http://xiajunshi.wordpress.com/category/open-source/feed/]<br />
name=Shelley Shi<br />
<br />
[http://hendrikinmozilla.wordpress.com/feed/]<br />
name=Hendrik<br />
<br />
[http://t3rrychan.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Terry Chen (jchen124)<br />
<br />
[http://blog.bchao.ca/feeds/posts/default?alt=rss]<br />
name=Boris Chao<br />
<br />
[http://ahiltssbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Adam Hilts<br />
<br />
[http://ysasaki600.wordpress.com/feed/]<br />
name=Yu Sasaki<br />
<br />
[http://enderstruth.wordpress.com/category/open-source/feed/]<br />
name=Roger Dicke<br />
<br />
[http://wobblyretroaction.blogspot.com/feeds/posts/default/-/Open%20source]<br />
name=Matthew Lam<br />
<br />
[http://asydik.wordpress.com/category/professional/open-source/feed/]<br />
name=Mickael Medel (aSydiK)<br />
<br />
[http://cwdesautels.blogspot.com/feeds/posts/default]<br />
name=Carl Desautels<br />
<br />
[http://rselby-oop344.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Remington Selby<br />
<br />
[http://mikey-osd600a.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Michael Dennis<br />
<br />
# Disabled 2011-04-27 - empty blog<br />
#[http://tjprogramming.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Timothy Catibog<br />
<br />
[http://horndavid.blogspot.com/feeds/posts/default?alt=rss]<br />
name=David Horn<br />
<br />
[http://annasob.wordpress.com/feed/]<br />
name=Anna Sobiepanek<br />
<br />
[http://drozhkov.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Dmitriy Rozhkov<br />
<br />
[http://www.hodgin.ca/?feed=rss2&cat=4]<br />
name=Daniel Hodgin<br />
<br />
[http://xderick.blogspot.com/feeds/posts/default/-/OSD]<br />
name=Yong Hong<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://hoonkoon.blogspot.com/2009/09/oop344.html]<br />
#name=Taehoon Kim<br />
<br />
[http://s2000c.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Sunny Chau<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://s2000c.blogspot.com/2009/09/oop344c.html]<br />
#name=Sunny Chau<br />
<br />
[http://kxu9.blogspot.com/feeds/posts/default]<br />
name=Kai Xu<br />
<br />
[http://oop-era.blogspot.com/feeds/posts/default]<br />
name=Eric Austerberry<br />
<br />
[http://docsage.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Eric Dell<br />
<br />
[http://ehren.wordpress.com/category/Seneca/feed/]<br />
name=Ehren Metcalfe<br />
<br />
[http://bsmith19.wordpress.com/category/Seneca/feed/]<br />
name=Brandon Smith<br />
<br />
[http://dcucereavii.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Diana Cucereavii<br />
<br />
# Disabled 2011-04-27 - site unreachable<br />
#[http://www.savantosis.com/?feed=rss2&cat=3]<br />
#name=Justin Robertson<br />
<br />
[http://paul-oop344.blogspot.com/feeds/posts/default/]<br />
name=Paul Repasi<br />
<br />
[http://istessema.wordpress.com/category/oop344/feed/]<br />
name=Iyosias Tessema<br />
<br />
[http://nedape.blogspot.com/feeds/posts/default]<br />
name=Neda Pezeshki<br />
<br />
[http://justletmepassoop344.blogspot.com/feeds/posts/default]<br />
name=Brian Parreno<br />
<br />
[http://dliu53.wordpress.com/category/open-source/feed/]<br />
name=Donghui Liu<br />
<br />
# Disabled 2011-04-27 - site not found<br />
#[http://oopblog.tdotshack.net/feeds/posts/default/-/OOP344]<br />
#name=Ryan Alexander<br />
<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim, Seow<br />
<br />
[http://mercedes-oop344.blogspot.com/feeds/posts/default]<br />
name=Suwon An<br />
<br />
[http://dtychshenko.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Dmitriy Tychshenko<br />
<br />
[http://victran.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Victor Tran<br />
<br />
# Changed 2011-04-27 - updated feed URL to proper<br />
[http://krazyazn.blogspot.com/feeds/posts/default]<br />
name=Michael Lin<br />
<br />
[http://xshi18.blogspot.com/feeds/posts/default]<br />
name=Xiaozhe Shi<br />
<br />
[http://feihong-xiong.blogspot.com/feeds/posts/default]<br />
name=Feihong Xiong<br />
<br />
# Changed 2011-11-01 - created category just for PlanetCDOT<br />
[http://orbitalstation.wordpress.com/category/planetcdot/feed/]<br />
name=Hasan (northWind) Kamal-Al-Deen<br />
face=http://matrix.senecac.on.ca/~hkamal-al-deen/images/Exclaim65x85.png<br />
<br />
[http://hduan2.wordpress.com/feed/]<br />
name= Haoliang Duan<br />
<br />
[http://anastasias-myblog.blogspot.com/feeds/posts/default/-/OOP344]<br />
name= Anastasia Semionova<br />
<br />
[http://franksun123.blogspot.com/feeds/posts/default/]<br />
name= Dong Sun<br />
<br />
[http://rkyoop344.blogspot.com/feeds/posts/default/]<br />
name=Keyan Ren<br />
<br />
[http://ctran13.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Chi-Lea Tran<br />
<br />
[http://szymonsoop.blogspot.com/feeds/posts/default/]<br />
name= Szymon Ahmed<br />
<br />
[http://ywang268.blogspot.com/feeds/posts/default/]<br />
name=Yu Wang<br />
<br />
[http://wangcong422.blogspot.com/feeds/posts/default/]<br />
name=Cong Wang<br />
<br />
[http://dennyp.wordpress.com/category/Seneca/feed/]<br />
name=Denny Papagiannidis<br />
<br />
# Blog not found. Disabled 2010-09-23 CTyler.<br />
#[http://java-chinmay.blogspot.com/feeds/posts/default]<br />
#name= Chinmay Patel<br />
<br />
[http://saecob.blogspot.com/feeds/posts/default/-/OpenSource]<br />
name= Sergiu Ecob<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://satijas.wordpress.com/category/OOP344/feed/]<br />
#name=Sasha Atijas<br />
<br />
# 404. Disabled 2010-09-23 CTyler.<br />
#[http://auzix.com/seneca/?feed=rss2]<br />
#name=Tyler Hackwood<br />
<br />
#[http://starbuck-blog.blogspot.com/feeds/posts/default]<br />
#name=Verity Li<br />
<br />
[http://gkrilov.blogspot.com/feeds/posts/default]<br />
name=Greg Krilov<br />
<br />
[http://qinzhi2001.blogspot.com/feeds/posts/default]<br />
name=David Chen<br />
<br />
[http://tchen-oop344.blogspot.com/feeds/posts/default]<br />
name=Terence Chen<br />
<br />
[http://opp344-yxue.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
# Disabled 2011-04-28 - had 2 other duplicate feeds<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/seneca<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/OOP344<br />
<br />
[http://ttsuji1.blogspot.com/feeds/posts/default]<br />
name=Trevor Tsuji<br />
<br />
[http://oyoung4.blogspot.com/feeds/posts/default]<br />
name=Oliver Young<br />
<br />
[http://minyxo.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Edward Sin<br />
<br />
# Blog not found - disabled 2010-09-23 CTyler<br />
#[http://oop344f09-niki.blogspot.com/feeds/posts/default]<br />
#name=Niki Simmalavong<br />
<br />
[http://jdbcdps.blogspot.com/feeds/posts/default]<br />
name=Julia Vasserman<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=Shun Yao Zhang<br />
<br />
# Disabled 2009-11-27 due to 500's on feed link<br />
# Re-enabled 2011-04-27 - incorrect URL format fixed<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim Seow<br />
<br />
[http://capereir.wordpress.com/feed/]<br />
name=Chris Pereira<br />
<br />
[http://dev-blog.zerogin.com/category/opensource/feed/]<br />
name=Tom Wisniewski (t0mmyw)<br />
<br />
# Disabled 2011-04-27 - empty feed, rest of blog is not related<br />
#[http://majorbludd.wordpress.com/category/school/feed/]<br />
#name=Michael Dawson<br />
<br />
[http://cdnpadawan.wordpress.com/feed/]<br />
name=Matthew Daniels<br />
<br />
[http://processingjs.org/blog/?feed=rss2]<br />
name=Processing.js Blog<br />
<br />
[http://dseifried.wordpress.com/category/school/feed/]<br />
name=David Seifried<br />
<br />
[http://tandemwebdesign.ca/blog/?feed=rss2&cat=3]<br />
name=Matthew Adams<br />
<br />
[http://s-aleinikov.blog.ca/feed/atom/posts/]<br />
name=Sergey Aleinikov<br />
<br />
[http://wfchen2010.blogspot.com/feeds/posts/default]<br />
name=Wen Fang Chen<br />
<br />
[http://donna-oberes.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Donna Oberes<br />
<br />
[http://carolynwoodley.blogspot.com/feeds/posts/default]<br />
name=Carolyn Woodley<br />
<br />
[http://shengwei-seneca.blogspot.com/feeds/posts/default]<br />
name=Shengwei Wang<br />
<br />
[http://zakoop344.blogspot.com/feeds/posts/default]<br />
name=Wei Tong<br />
<br />
[http://gtawaf.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Gamal Tawaf <br />
<br />
[http://rift-tlosam.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Brendan McDorman<br />
<br />
[http://hdc23.wordpress.com/category/OOP344/feed]<br />
name=Dachuan Huang<br />
<br />
# Disabled 2011-04-27 - blank feed, aged blod<br />
#[http://qwu26.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=Qingxi Wu<br />
<br />
# Disabled 2011-04-27 - blank blog<br />
#[http://lwang162.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=LianHe Wang<br />
<br />
# Disabled 2011-04-27 - blank blog, aged<br />
#[http://bmcohen.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Bryan Cohen<br />
<br />
[http://feliploko.wordpress.com/category/seneca/feed]<br />
name=Felipe de Oliveira<br />
<br />
# Following feed reports invalid content type.<br />
# Disabled 2010-09-23 CTyler<br />
#[http://lwang168.blogspot.com/feeds/posts/-/oop344]<br />
#name=Liang Wang<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=shun yao zhang<br />
<br />
[http://galewis.blogspot.com/feeds/posts/default]<br />
name=Gustone Lewis<br />
<br />
[http://hmo6.blogspot.com/feeds/posts/default]<br />
name=Mo Hsiu Mei<br />
<br />
[http://derekambrose.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Derek Ambrose<br />
<br />
[http://scottdowne.wordpress.com/category/open-source/feed/]<br />
name=Scott Downe<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://anthonyisgood.blogspot.com/feeds/posts/default/-/open%20source]<br />
#name = Anthony Alves<br />
<br />
[http://jjleeos.blogspot.com/feeds/posts/default]<br />
name = Jeffrey Lee<br />
<br />
[http://harjinderv.tumblr.com/tagged/Open_Source/rss]<br />
name = Harjinder Virdi<br />
<br />
[http://cldenobrega.wordpress.com/category/open-source/feed/]<br />
name = Crystal de Nobrega (cldenobrega)<br />
<br />
[http://lchen97.blogspot.com/feeds/posts/default]<br />
name=Chris Chen<br />
<br />
# Parked domain. Disabled 2010-09-23 CTyler<br />
#[http://hotweiss.lifeflayer.com/?feed=atom]<br />
#name=Tianqi Liu<br />
<br />
[http://oleg-oop.blogspot.com/feeds/posts/default]<br />
name=Aleh Pliats<br />
<br />
[http://88mishok.blogspot.com/feeds/posts/default]<br />
name=Francois Des Jarlais<br />
<br />
[http://bikarin.blogspot.com/feeds/posts/default]<br />
name=Irina Balzamova<br />
<br />
[http://mashhaque.blogspot.com/feeds/posts/default]<br />
name=Mashfique Haque<br />
<br />
[http://yxue11.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
<br />
[http://tdao75.blogspot.com/feeds/posts/default]<br />
name=Thanh Dao<br />
<br />
[http://minooz.wordpress.com/category/CDOT/feed/]<br />
name=Minoo Ziaei<br />
<br />
[http://gbatumbya.wordpress.com/category/seneca/cdot/feed/]<br />
name=Grace Simon Batumbya<br />
<br />
[http://sonnilion.wordpress.com/feed/]<br />
name=Matt Postill<br />
<br />
[http://acchung1.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Alex Chun Yang Chung<br />
<br />
[http://hckim.wordpress.com/category/open-source/feed/]<br />
name=Han Chul Kim<br />
<br />
[http://xizhangblog.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xi Zhang<br />
<br />
# Modified 2011-04-27 - changed from blank category<br />
[http://lwu11.blogspot.com/feeds/posts/default]<br />
name=Ling Wu<br />
<br />
[http://jasonquan.wordpress.com/category/OOP344/feed/]<br />
name=Jason Quan<br />
<br />
[http://myoop344blog.blogspot.com/feeds/posts/default/]<br />
name=Xiongwen LU<br />
<br />
[http://0zzym.wordpress.com/feed]<br />
name=Osman Mirza<br />
<br />
[http://adgezaza.posterous.com/rss.xml?tag=open%20source]<br />
name=Adrian Maurer<br />
<br />
[http://kumailhabib.blogspot.com/feeds/posts/default]<br />
name=Kumail Habib<br />
<br />
[http://imadorki3.blogspot.com/feeds/posts/default]<br />
name=Robin Co<br />
<br />
[http://danapao026.blogspot.com/feeds/posts/default]<br />
name=Don Armin Napao<br />
<br />
[http://cgm087.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Christopher G. Missen<br />
<br />
[http://crgosselin.blogspot.com/feeds/posts/default]<br />
name=Chris Ryan Gosselin<br />
<br />
[http://slaw12.wordpress.com/feed/ ]<br />
name=Stephanie Law<br />
<br />
[http://ysliu2.blogspot.com/feeds/posts/default]<br />
name=Yansong Liu<br />
<br />
[http://www.drizhepolov.com/blog/?feed=rss2]<br />
name=Vladimir Drizhepolov<br />
<br />
[http://bhavanesh.wordpress.com/feed/]<br />
name=Bhavanesh Patel<br />
<br />
[http://xwu0102.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xiaojiang Wu<br />
<br />
[http://rhui4.wordpress.com/feed/ ]<br />
name=Richard Hui<br />
<br />
[http://invinciblyignorant.wordpress.com/category/OOP344/feed/]<br />
name=Jason Burton<br />
<br />
[http://goldenration.wordpress.com/feed/]<br />
name=HongGeun Park<br />
<br />
[http://thupten.veryusefulinfo.com/?feed=rss2]<br />
name=Thupten Choephel<br />
<br />
[http://priyadeep.wordpress.com/feed/]<br />
name=Priyadeep Gill<br />
<br />
[http://kyle205website.info/wordpress/?feed=rss2]<br />
name=Khai Huynh<br />
<br />
[http://dale.io/open-source.xml]<br />
name=Dale Karp<br />
<br />
[http://vbluzmans.wordpress.com/feed/]<br />
name=Vitaly Bluzmans<br />
<br />
[http://akkimblog.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry Taylor<br />
<br />
<br />
[http://alf1488.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Yegor Tyunin<br />
<br />
[http://sbr600.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Matthew Ortofsky<br />
<br />
[http://pbrown9.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Paul Brown<br />
<br />
[http://jzaidi.wordpress.com/feed/]<br />
name=Jawwad Zaidi<br />
<br />
[http://blog.rainulf.ca/category/CDOT/feed/]<br />
name=Jose Rainulf Pineda<br />
<br />
[http://donchel.wordpress.com/feed/]<br />
name=Dong Cheol Cha<br />
<br />
[http://sweerdenburg.wordpress.com/category/seneca/feed/]<br />
name=Steven Weerdenburg<br />
<br />
[http://jyang42.blogspot.com/feeds/posts/default]<br />
name=Jing Yang<br />
<br />
[http://tarinc.wordpress.com/feed/]<br />
name=Tarin Choudhury<br />
<br />
[http://jtdonaldson21.blogspot.com/feeds/posts/default]<br />
name=Jeshu Donaldson<br />
<br />
[http://bccp32.blogspot.com/feeds/posts/default]<br />
name=Yauheni Khabian<br />
<br />
[http://mark-os.blogspot.com/feeds/posts/default]<br />
name=Mark Eamiguel<br />
<br />
[http://kweber1.blogspot.com/feeds/posts/default]<br />
name=Kyle Weber<br />
<br />
[http://mustafaredha.wordpress.com/category/planet-cdot/feed]<br />
name=Mustafa Redha<br />
<br />
[http://andrewasdesigned.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Andrew Singh<br />
<br />
[http://escom0.blogspot.com/feeds/posts/default]<br />
name=Eric Shum<br />
<br />
# Disabled 2011-04-27 - blog was deleted<br />
#[http://open-ht.blogspot.com/feeds/posts/default]<br />
#name=Hoc Tran<br />
<br />
[http://vanjason.wordpress.com/category/sbr600/feed]<br />
name=Jason Van<br />
<br />
[http://kpangilinan.wordpress.com/feed]<br />
name=Kenneth Pangilinan<br />
<br />
[http://ajcondinho.blogspot.com/feeds/posts/default/-/opensource]<br />
name=Andrew Condinho<br />
<br />
[http://cahayamu.com/feed/]<br />
name=Cahayamu<br />
<br />
[http://blog.esmnetworks.com/category/planet-cdot/feed]<br />
name=Adrian Pruteanu<br />
<br />
[http://stevebologna.wordpress.com/category/Open-Source/feed/]<br />
name=Stephen Bologna<br />
<br />
[http://www.winterleaf.ca/blog/category/oop344/feed/]<br />
name=Daniel Slessarev<br />
<br />
[http://ycshon.blogspot.com/feeds/posts/default]<br />
name=Young Chol Shon<br />
<br />
[http://jwpark2.blogspot.com/feeds/posts/default]<br />
name=Jaewoo Park<br />
<br />
[http://klasconia.wordpress.com/feed/]<br />
name=Kevin Lasconia<br />
<br />
[http://kaitlynmcdonald.wordpress.com/feed/]<br />
name=Kaitlyn McDonald<br />
<br />
[http://jrobinson7.wordpress.com/feed/]<br />
name=James Robinson<br />
<br />
[http://trusu.blogspot.com/feeds/posts/default]<br />
name=Traian Rusu<br />
<br />
[http://blockrockinpete.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Pete Leaning<br />
<br />
[http://tyler-taehee-lee.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Tae Hee Lee<br />
<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=87]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=96]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://saad-husain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Saad Husain<br />
<br />
[http://jevangelos.wordpress.com/feed/]<br />
name=James Evangelista<br />
<br />
# Disabled 2011-04-27 - not a feed link<br />
#[http://sajed481.wordpress.com/SBR600/]<br />
#name=M.A Sajed Shadani<br />
<br />
[http://rizwanhaq.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rizwan Haq<br />
<br />
[http://tuori.tk/blog/blogs/blog1.php?tempskin=_rss2&cat=15]<br />
name=Matthew Tuori<br />
<br />
[http://ktaraghi.blogspot.com/feeds/posts/default]<br />
name=Khosro Taraghi<br />
<br />
[http://opensourceftw.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Anthony Boccia<br />
<br />
[http://perfectlylogical.wordpress.com/category/sbr600/feed/]<br />
name=Stephen Hall<br />
<br />
[http://rocellaj.wordpress.com/feed/]<br />
name=Rocella Jimenez<br />
<br />
[http://justinpaulmorgan.blogspot.com/feeds/posts/default]<br />
name=Justin Morgan<br />
<br />
[http://gcasella.blogspot.com/feeds/posts/default]<br />
name=Gian-Luca Casella<br />
<br />
[http://archanasahota.com/category/open-source/feed/]<br />
name=Archana Sahota<br />
<br />
[http://pratikamin.wordpress.com/category/sbr600/feed/]<br />
name=Pratik Amin<br />
<br />
[http://syang00.wordpress.com/feed/]<br />
name=Stephanie Yang<br />
<br />
[http://tewestacott.wordpress.com/category/SBR600/feed/]<br />
name=Todd Westacott<br />
<br />
[http://aparda.wordpress.com/category/SBR600//feed/]<br />
name=Andrew Parda<br />
<br />
[http://gjuhasz1.wordpress.com/feed/]<br />
name=Gergely Juhasz<br />
<br />
[http://completefail.wordpress.com/category/SBR600/feed/]<br />
name=Joshua Y. Koh<br />
<br />
[http://myuberwebsite.blogspot.com/feeds/posts/default]<br />
name=Dmitry Artemenko<br />
<br />
[http://cgomes7.wordpress.com/feed/]<br />
name=Cesar Gomes<br />
<br />
[http://supbroseph.wordpress.com/feed/]<br />
name=Houssam haidar<br />
<br />
[http://www.bradchen.com/rss/blog/open%20source]<br />
name=Brad Chen (vvasabi)<br />
<br />
[http://asabir.wordpress.com/feed/]<br />
name=Adeel Sabir (asabir)<br />
<br />
[http://libresparks.wordpress.com/category/SBR600/feed/]<br />
name=Alfred Liu<br />
<br />
[http://acook6.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Alan Cook<br />
<br />
[http://coding.shaunofthelive.com/feeds/posts/default/-/oop344]<br />
name=Shaun Hill<br />
<br />
[http://maoli1207.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mao Hua Li<br />
<br />
# tmp disabled<br />
#[http://fossjon.wordpress.com/feed/]<br />
#name=Jon Chiappetta<br />
<br />
[http://dperit.blogspot.com/feeds/posts/default/-/cdot]<br />
name=David Perit<br />
<br />
[http://szafar8.wordpress.com/tag/cdot/feed/]<br />
name=Salman Zafar<br />
<br />
[http://mbuttu.wordpress.com/category/Open-Source/feed/]<br />
name=Mohammed Buttu<br />
<br />
[http://brianlimtemp.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Brian Lim<br />
<br />
[http://drigato.wordpress.com/category/open-source/feed/]<br />
name=Denise Rigato<br />
<br />
[http://jbraffoul.wordpress.com/category/open-source/feed/]<br />
name=Jordan Raffoul<br />
<br />
[http://kuznetsovnikita.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nikita Kuznetsov<br />
<br />
[http://noahgitalis.wordpress.com/category/open-source/feed/]<br />
name=Noah Gitalis<br />
<br />
[http://rhotin.wordpress.com/category/open-source/feed/]<br />
name=Roman Hotin<br />
<br />
[http://nm486.wordpress.com/category/open-source/feed]<br />
name=Stanley Tsang<br />
<br />
[https://brattahlid.wordpress.com/tag/foss/feed/]<br />
name=Abhishek Bhatnagar<br />
<br />
[http://mendozamiche.wordpress.com/category/open-source/feed]<br />
name=Michelle Mendoza<br />
<br />
[http://kenxu99.wordpress.com/category/open-source/feed]<br />
name=Qian (Ken) Xu<br />
<br />
[http://steventseng.wordpress.com/category/open-source/feed/]<br />
name=Ching Wei Tseng (Steven)<br />
<br />
[http://myprogrammingblog.com/category/project-bbb/feed/]<br />
name=Anatoly Spektor<br />
<br />
[http://jasonmarciniak.wordpress.com/feed/]<br />
name=Jason Marciniak<br />
<br />
[http://hungryr.wordpress.com/category/open-source/feed]<br />
name=Hyungryul Steven Chun<br />
<br />
[http://jbhuestis.wordpress.com/feed/]<br />
name=Jordan Huestis<br />
<br />
[http://nicklmbrt.wordpress.com/feed]<br />
name=Nick Lambert<br />
<br />
<br />
[http://rkyosd.blogspot.com/feeds/posts/default]<br />
name=Keyan Ren<br />
<br />
[http://awong79.blogspot.com/feeds/posts/default]<br />
name=Anthony Wong<br />
<br />
[http://jekyjaw.wordpress.com/category/open-source/feed]<br />
name=Yevgeniy Ivanchenko<br />
<br />
[http://raymondhung.wordpress.com/category/open-source/feed/]<br />
name=Raymond Hung<br />
<br />
[http://topheruppercut.wordpress.com/category/open-source/feed/]<br />
name=Christopher Cheung<br />
<br />
[https://saadism.wordpress.com/feed/]<br />
name=Saad Mohammad<br />
<br />
[http://slee142.blogspot.com/feeds/posts/default]<br />
name=Sangjin (Eric) Lee<br />
<br />
[http://dliscio.wordpress.com/feed]<br />
name=David Liscio<br />
<br />
[http://guandayu.wordpress.com/feed/]<br />
name=Dayu Guan<br />
<br />
[http://elonli.ca/category/sbr600/feed/]<br />
name=Elon Li<br />
<br />
<br />
[http://blog.carsonyong.com/?feed=rss2]<br />
name=Carson Yong<br />
<br />
[http://snaqvi3.wordpress.com/category/open-source/feed/]<br />
name=Saba Naqvi<br />
<br />
[http://burrellaramone.wordpress.com/category/open_source/feed/]<br />
name=Ramone Burrell<br />
<br />
[http://moussa1.wordpress.com/category/open-source/feed/]<br />
name=Moussa Tabcharani<br />
<br />
[http://roottothehead.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Jordan Cwang<br />
<br />
[http://diogogmt.wordpress.com/category/open-source/feed/]<br />
name=Diogo Golovanevsky Monteiro<br />
<br />
[http://www.anuragbhatnagar.com/category/open-source/feed/]<br />
name=Anurag Bhatnagar<br />
face=http://www.anuragbhatnagar.com/wp-content/uploads/2011/09/anurag1.png<br />
<br />
[http://withs.tumblr.com/tagged/OSD/rss]<br />
name=Jacky Siu<br />
<br />
[http://jjbmiller.wordpress.com/feed/]<br />
name=Jeff Miller<br />
<br />
[http://toomymon.wordpress.com/feed/]<br />
name=Tommy Cho Long Chor<br />
<br />
[http://jsilver999.wordpress.com/category/open-source/feed/]<br />
name=Jesse Silver<br />
<br />
[http://justintrobinson.wordpress.com/category/bigbluebutton/feed/]<br />
name=Justin Robinson<br />
<br />
[http://cchoo2.blogspot.com/feeds/posts/default]<br />
name=Chris Choo<br />
<br />
[http://teddychilai.wordpress.com/category/sbr600/feed/]<br />
name=Chi Hsun Lai<br />
<br />
[http://dsun20.wordpress.com/feed/]<br />
name=Dong Sun<br />
<br />
[http://alberttruong.wordpress.com/category/SBR600/feed/]<br />
name=Albert Truong<br />
<br />
[http://jessefulton.wordpress.com/category/SBR600/feed/]<br />
name=Jesse Fulton<br />
<br />
[http://ligangbory.wordpress.com/feed/]<br />
name=Gang Li<br />
<br />
[http://kliu39.wordpress.com/feed/]<br />
name=Kun Liu<br />
<br />
[http://mariabustoss.wordpress.com/feed/]<br />
name=Maria Bustos-Roman<br />
<br />
[http://kavisbr.blogspot.com/feeds/posts/default]<br />
name=Kavishankar Srivamathevan<br />
<br />
[http://namsbloging.blogspot.com/feeds/posts/default]<br />
name=Nam Nguyen<br />
<br />
[http://dsegree.wordpress.com/feed/]<br />
name=Daniel Segree<br />
<br />
[http://sajed481.wordpress.com/opensource/feed/]<br />
name=Mohammad Abdullah Sajed Shadani<br />
<br />
[http://asalwi123.wordpress.com/feed/]<br />
name=Aries Alwi<br />
<br />
[http://jmulwani.wordpress.com/feed/]<br />
name=Jayaditya Mulwani<br />
<br />
[http://sbr600blog.blogspot.com/feeds/posts/default]<br />
name=Andrew Greene<br />
<br />
[http://chadpilkey.wordpress.com/category/opensource/feed/]<br />
name=Chad Pilkey<br />
<br />
[http://ejtorre.blog.ca/feed/rss2/posts/]<br />
name=Eugene Torre<br />
<br />
[http://lynart.wordpress.com/category/CDOT/feed/]<br />
name=Vince Lee<br />
<br />
[http://stani.ca/?feed=rss2&cat=3]<br />
name=Robert Stanica<br />
<br />
[http://cdot-callaghan.posterous.com/rss.xml?tag=CDOT]<br />
name=Peter Callaghan<br />
<br />
[http://zaf1.wordpress.com/category/open-source/feed/]<br />
name=Shayan Zafar Ahmad<br />
<br />
[http://zyu26.wordpress.com/feed/]<br />
name=Zhiping Yu<br />
<br />
[http://stiversc.blogspot.ca/feeds/posts/default/-/OSD600]<br />
name=Michael Stiver-Balla<br />
<br />
[http://maximumou.blogspot.com/feeds/posts/default]<br />
name=Zhi Chang Ou<br />
<br />
[http://www.kypertrast.net/seneca/category/open-source/feed/]<br />
name=Michael Afidchao<br />
<br />
[http://epsilon812.wordpress.com/category/open-source/feed/]<br />
name=Rick Eyre<br />
<br />
[http://ayufidin.blogspot.ca/feeds/posts/default]<br />
name=Alon Yufidin<br />
<br />
[http://sudodamha.blogspot.com/feeds/posts/default]<br />
name=Ahmad Taychouri<br />
<br />
[http://amartinencosbr600.blogspot.com/feeds/posts/default]<br />
name=Andrei Martinenco<br />
<br />
[http://sbr600.tumblr.com/rss]<br />
name=Daniel Delidjakov<br />
<br />
[http://ashtramwasser.blogspot.ca/feeds/posts/default]<br />
name=Alina Shtramwasser<br />
<br />
[http://limed3.wordpress.com/category/open-source/feed/]<br />
name=Edwin Lim<br />
<br />
[http://caitpotter.blogspot.com/feeds/posts/default/-/open%20source] <br />
name=Dylan Potter<br />
<br />
[http://rlawrence5.wordpress.com/feed/]<br />
name=Ryan Lawrence<br />
<br />
[http://okhattab.wordpress.com/feed/]<br />
name=Omarr Khattab<br />
<br />
[http://aadavis1.blogspot.ca//feeds/posts/default]<br />
name=Alexander Davis<br />
<br />
[http://kdayalingam.wordpress.com/category/dpi908/feed]<br />
name=Kowrinanthan Dayalingam<br />
<br />
[http://jcqiu.wordpress.com/feed/]<br />
name=Jiecheng Qiu<br />
<br />
[http://mikeshutov.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mike Shutov<br />
<br />
[http://avru.wordpress.com/category/open-source/feed/]<br />
name=Anh Tran<br />
<br />
[http://kyle.barnhart.ca/feeds/posts/default/-/Open Source]<br />
name=Kyle Barnhart<br />
<br />
[http://gloriaip.wordpress.com/feed/]<br />
name=Gloria Ip<br />
<br />
[http://www.mandeepgarg.wordpress.com/feed/]<br />
name=Mandeep Garg<br />
<br />
[http://bharmidy.blogspot.ca/feeds/posts/default/-/open%20source]<br />
name=Bryce Harmidy<br />
<br />
[http://andrewow.wordpress.com/category/sbr600/feed/]<br />
name=Andrew Oatley-Willis<br />
<br />
[http://dima1086.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Dmytro Kostenyuk<br />
<br />
[http://hapombo.blogspot.ca/feeds/posts/default]<br />
name=Hugo Pombo<br />
<br />
[http://petepabs.wordpress.com/feed/]<br />
name=Peter Valerio<br />
<br />
<br />
[http://sabanane.wordpress.com/feed/]<br />
name=Japheth N.<br />
<br />
[http://rtang12.blogspot.ca/feeds/posts/default]<br />
name=Ruowen Tang<br />
<br />
[http://softwarebuildrun.wordpress.com/feed/]<br />
name=Rudolf R Janns<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Fall_2012_Open_Source_Students&diff=88015Fall 2012 Open Source Students2012-09-20T18:10:10Z<p>Kmbarnhart: /* People */</p>
<hr />
<div>==Introduction==<br />
<br />
This is a list of students in the [[DPS909]] and [[OSD600]] courses for fall 2012. Please add your name and info below.<br />
<br />
==People==<br />
<br />
{| border="1"<br />
|-<br />
|class="header"|Name<br />
|class="header"|IRC Nick<br />
|class="header"|Blog<br />
|class="header"|Github Account<br />
|class="header"|Wiki Page<br />
|class="header"|Twitter<br />
|-<br />
|David Humphrey<br />
|humph<br />
|http://vocamus.net/dave<br />
|[https://github.com/humphd humphd]<br />
|[[User:David.humphrey]]<br />
|[http://twitter.com/humphd @humphd]<br />
|-<br />
|Vince Lee<br />
|Lynart<br />
|http://lynart.wordpress.com/author/lynart/<br />
|[https://github.com/Lynart Lynart]<br />
|[[User:Lynart]]<br />
|None<br />
|-<br />
|-<br />
|Rick Eyre <br />
|reyre<br />
|http://epsilon812.wordpress.com<br />
|[https://github.com/RickEyre RickEyre]<br />
|[[User:Errichard]]<br />
|[https://twitter.com/epsilon812 @epsilon812]<br />
|-<br />
|-<br />
|David Perit<br />
|dperit<br />
|http://dperit.blogspot.com<br />
|[https://github.com/dperit dperit]<br />
|[[User:dperit]]<br />
|[http://twitter.com/dperit @dperit]<br />
|-<br />
|-<br />
|Dale Karp<br />
|daleee<br />
|http://dale.io<br />
|[https://github.com/daliuss daliuss]<br />
|[[User:Dkarp]]<br />
|[http://twitter.com/daliuss @daliuss]<br />
|-<br />
|-<br />
|Thevakaran Virutthasalam<br />
|deva<br />
|http://thevakaran.wordpress.com<br />
|[https://github.com/gobihun gobihun]<br />
|[[User:tvirutthasalam]]<br />
|[http://twitter.com/gobihun @gobihun]<br />
|-<br />
|-<br />
|Dylan Potter (pref. Caitlin Potter)<br />
|caitp<br />
|http://caitpotter.blogspot.ca<br />
|[https://github.com/caitp caitp]<br />
|[[User:Dylan Potter]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Shayan Zafar Ahmad<br />
|szahmad<br />
|[http://zaf1.wordpress.com Shayan's Blog]<br />
|[https://github.com/ShayanZafar Shayan's GitHub]<br />
|[[User:Szahmad]]<br />
|[http://twitter.com/ShayanZafar ShayanZafar]<br />
|-<br />
<br />
|-<br />
| Michael Stiver-Balla<br />
| Stiver<br />
|[http://stiversc.blogspot.ca/ Stiver's Blog]<br />
|[https://github.com/Stiver Stiver's GitHub]<br />
|[[User:Mmstiver-balla]]<br />
|[http://twitter.com/stiversc @StiverSC]<br />
|-<br />
<br />
<br />
|-<br />
| Michael Afidchao<br />
| mdafidchao<br />
|http://kypertrast.net/seneca<br />
|[https://github.com/mafidchao mafidchao]<br />
|[[User:Mdafidchao]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Jordan Raffoul<br />
| jbraffoul<br />
|http://jbraffoul.wordpress.com<br />
|[https://github.com/jbraffoul jbraffoul]<br />
|[[User:Jbraffoul]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Edwin Lim<br />
| LimeD3<br />
|http://limed3.wordpress.com/<br />
|[https://github.com/limed3 limed3]<br />
|[[User:elim2]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Kyle Barnhart<br />
| kmbarnhart<br />
| http://kyle.barnhart.ca/ <br />
|[https://github.com/KyleBarnhart KyleBarnhart ]<br />
|[[User:kmbarnhart]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Mike Shutov<br />
| mshutov<br />
| http://mikeshutov.blogspot.ca/<br />
|[https://github.com/datorman Datorman ]<br />
|[[User:mshutov]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Anh Tran<br />
| avru<br />
| http://avru.wordpress.com/<br />
|[https://github.com/avru avru ]<br />
|[[User:avtran3]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Bryce Harmidy<br />
| harmidy<br />
| http://bharmidy.blogspot.ca/<br />
|[https://github.com/Harmidy Harmidy ]<br />
|[[User:Harmidy]]<br />
|None<br />
|-<br />
<br />
|-<br />
|Dima Kostenyuk<br />
|dima1086<br />
|http://dima1086.blogspot.ca/<br />
|[https://github.com/dima1086 dima1086]<br />
|[[User:Dmytro_Kostenyuk]]<br />
|None<br />
|-<br />
<br />
<br />
<br />
|-<br />
| Mandeep Garg<br />
| mkgarg1<br />
|http://mandeepgarg.wordpress.com<br />
|[https://github.com/mkgarg1 mkgarg1]<br />
|[http://zenit.senecac.on.ca/wiki/index.php/User:Mkgarg1 User:Mkgarg1]<br />
|None<br />
|-</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Planet_CDOT_Feed_List&diff=87342Planet CDOT Feed List2012-09-13T18:52:23Z<p>Kmbarnhart: /* Feeds */</p>
<hr />
<div>{{Admon/important|Wiki email problems have been fixed!|If you requested an account but did not receive an email response, please see the [[Wiki email issues - September 2012|wiki email issues]] page.}}<br />
<br />
= Introduction =<br />
<br />
Seneca students and faculty working on open source related projects and research, as well as some faculty, students, and researchers from other institutions, use [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT] to aggregate their blogs. This page contains the information about who is blogging in [http://www.planetplanet.org/ Planet Feed Reader format] and serves as the feed configuration for the planet.<br />
<br />
If you do not have an existing blog, you can open a free account at [http://wordpress.com/ Wordpress.com] or [https://www.blogger.com/ Blogger.com] or you can set up your own blog software such as [http://www.s9y.org Serendipity].<br />
<br />
'''Note:''' Additions to the feed list will not take effect until they are merged into the Planet configuration, which is an automatic process scheduled at regular intervals. If you add a feed and do not see it picked up in the Planet within three hours, please check your feed entry carefully and then contact [[User:Chris Tyler|Chris Tyler]] .<br />
<br />
= Requirements =<br />
<br />
* Blog postings fed to the planet must conform to the [[Blog Guidelines]].<br />
* Feeds that are inactive for a significant period of time may get deleted from this list.<br />
<br />
= Using a Tagged/Category Feed =<br />
<br />
A tagged or category feed includes only articles that are tagged with particular keywords or placed in a particular topic category. This can be useful for sending only selected posts to the planet.<br />
<br />
These are the URL formats for tagged or category feeds on popular blogging services/software:<br />
<br />
* [http://www.wordpress.com Wordpress]: <code><nowiki>[http://</nowiki>''blog-user-name''.wordpress.com/category/''category-name''/feed/]</code><br />
* [http://blogger.com Blogger]: <code><nowiki>[http://</nowiki>''blog-user-name''.blogspot.com/feeds/posts/default/-/''category-name'']</code><br />
* [http://s9y.org Serendipity]: <code><nowiki>[http://</nowiki>''blog-main-url''/index.php?/feeds/categories/''cateogrynumber''-''categoryname'']</code><br />
<br />
= Feed Info Format =<br />
<br />
You can add your blog's [http://en.wikipedia.org/wiki/RSS_(file_format) RSS feed] at the end of the list below by specifying the following:<br />
<br />
# The URL to your blog's open source Atom or [http://en.wikipedia.org/wiki/RSS_(file_format) RSS Feed] (i.e., a category or tag). NOTE: Please do not put the URL to your blog -- use the URL for your feed. Please do not use the feed for your entire blog (unless your blog contains only open source-related postings). We only want open source related content.<br />
# Your name as you want it to appear in the list of names for the planet<br />
# Optionally, a URL to a [http://en.wikipedia.org/wiki/Hackergotchi hackergotchi] ([http://wouterverhelst.livejournal.com/21322.html how to]). Your picture should be an 65x85 PNG with a transparent background.<br />
<br />
= Feeds =<br />
<br />
<pre><br />
[http://thevakaran.wordpress.com/category/open-source/feed/]<br />
name=Thevakaran Virutthasalam<br />
<br />
[http://kyu6.wordpress.com/feed/]<br />
name=Keren Yu <br />
<br />
[http://sbr600lab2.wordpress.com/2012/09/12/exercise2/]<br />
name=VicChester Ngo<br />
<br />
[http://cty6sbr600.wordpress.com/feed/]<br />
name=Kalpaniya Parmar<br />
<br />
[http://cty6.wordpress.com/feed/]<br />
name=Luis Fuentes<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/build-from-source/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://sbr600.wordpress.com/2012/01/26/introduction/]<br />
name=Rachit Chaudhary (DJ)<br />
<br />
[http://craigcain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Craig Cain<br />
<br />
[http://wolfleaderslair.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dennis Villasenor<br />
<br />
[http://gkrilov.com/category/open-source/feed/]<br />
name=Greg Krilov<br />
<br />
[http://rubensmaximus.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rubens Maximus (GameArtist)<br />
<br />
[http://ladanzahir.wordpress.com/category/CDOT/feed/]<br />
name=Ladan Zahiroleslam Zade<br />
<br />
[http://mschranz.wordpress.com/category/open_source/feed/]<br />
name=Matthew Schranz<br />
<br />
[http://fedoraisfun.wordpress.com/category/open_source/feed/]<br />
name=Alan Lau<br />
<br />
[http://www.spectakular.com/category/open-source/feed/]<br />
name=Simon Jung<br />
<br />
[http://james.boelen.ca/category/open_source/feed/]<br />
name=James Boelen<br />
<br />
[http://jbuckley.ca/category/open-source/feed/]<br />
name=Jon Buckley<br />
<br />
[http://mbrzuzy.wordpress.com/category/open-source/feed/]<br />
name=Marcin Brzuzy<br />
<br />
[http://ben1amin.wordpress.com/category/seneca/feed/]<br />
name=Benjamin Chalovich<br />
<br />
[http://edghardest1.wordpress.com/category/open-source-topics/feed/]<br />
name=Ed Arvelaez<br />
<br />
[http://www.ashkansotoudeh.com/?tag=coding-2&feed=rss2]<br />
name=Ashkan Sotoudeh<br />
<br />
[http://dboddie46.wordpress.com/category/SBR600A/feed/]<br />
name=Derrick Boddie<br />
<br />
[http://aali83.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Ahmad Ali<br />
<br />
[http://gr8can8dian.wordpress.com/category/sbr600/feed/]<br />
name=Lorin Soura<br />
<br />
[http://kirtonmike.wordpress.com/category/SBR600/feed/]<br />
name=Mike Kirton<br />
<br />
[http://fuzzux.wordpress.com/category/SBR600/feed/]<br />
name=Tim Furzer<br />
<br />
[http://nageyi.wordpress.com/feed/]<br />
name=Faisal Nageyi<br />
<br />
[http://KrazyDre.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Andrei Artamonov<br />
<br />
[http://mjcorsame.wordpress.com/feed/]<br />
name=Michael John Corsame<br />
<br />
[http://msbreezy12.wordpress.com/category/SBR/feed/]<br />
name=Chantell Mcintosh<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://mrtait1.blogspot.com/feeds/posts/default/-/oop344]<br />
#name=Matthew Tait<br />
<br />
[http://sbr600cabbott.blogspot.com/feeds/posts/default]<br />
name=Chris Abbott<br />
<br />
[http://kopay.wordpress.com/category/sbr600-win2011/feed]<br />
name=Pirathapan Sivalingam<br />
<br />
[http://mysnogorodsky.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Marina Ysnogorodsky<br />
<br />
[http://asa.veryusefulinfo.com/?feed=rss2]<br />
name=Ali Samimi<br />
<br />
# Disabled 2011-04-28 - empty blog<br />
#[http://coreyangus.blogspot.com/feeds/posts/default/-/oop344]<br />
#name = Corey Angus<br />
<br />
[http://wsong18.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Wei Song<br />
<br />
[http://davidsosd60020102blog.blogspot.com/feeds/posts/default]<br />
name=David Takasaki<br />
<br />
[http://zwang98.blogspot.com/feeds/posts/default]<br />
name=Joe Wang<br />
<br />
[http://sbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://dgilloch.blogspot.com/feeds/posts/default]<br />
name=Daniel Gilloch<br />
<br />
[http://jmchen11.wordpress.com/feed/]<br />
name=Jianming Chen<br />
<br />
[http://paulfedora.wordpress.com/tag/cdot/feed/]<br />
name=Paul Whalen<br />
<br />
[http://maxamaxim.wordpress.com/tag/cdot/feed/]<br />
name=Masihul Abed <br />
<br />
[http://dmchisho.wordpress.com/feed/]<br />
name=David Chisholm<br />
<br />
[http://pokerface3.blogspot.com/feeds/posts/default/-/SBR?alt=rss]<br />
name=David Cabral<br />
<br />
[http://zbhuang1.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Zhibin Huang<br />
<br />
[http://sidsbr.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Sadiki Latty<br />
<br />
[http://orel60.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Or-el Mousaffi<br />
<br />
[http://aryafarzan.wordpress.com/category/OOP344/feed/]<br />
name=Arya Farzan<br />
<br />
[http://dsventura.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Dan Ventura<br />
<br />
[http://chrisdecairos.ca/category/open-source/feed]<br />
name=Christopher DeCairos<br />
<br />
[http://acfunktron.blogspot.com/feeds/posts/default]<br />
name=Anton Chan<br />
<br />
[http://adaniel3.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Arlene Daniel<br />
<br />
[http://tyrant911-processingdotjs.blogspot.com/feeds/posts/default/-/processing.js]<br />
name=Alex Londono<br />
<br />
<br />
[http://ausleyj.blogspot.com/feeds/posts/default]<br />
name=Ausley Johnson<br />
<br />
[http://arminoop344.blogspot.com/feeds/posts/default]<br />
name=Armin Kumarshellah<br />
<br />
[http://cloudscorpion.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Joseph Hughes<br />
<br />
[http://travisrawn.blogspot.com/feeds/posts/default]<br />
name=Travis Rawn<br />
<br />
[http://jmpiltz.blogspot.com/feeds/posts/default]<br />
name=Jonathan Piltz<br />
<br />
[http://andrewgrimo.wordpress.com/category/open-source/feed/]<br />
name=Andrew Grimo<br />
<br />
[http://apvsbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Alex Vlahopoulos<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/alexthumb.png<br />
<br />
[http://asalga.wordpress.com/category/open-source/feed/]<br />
name=Andor Salga (asalga)<br />
<br />
[http://jabhad.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Mohamed Aden<br />
<br />
[http://jonathandeni.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Jonathan Deni<br />
#face=https://techontherun.sslpowered.com/techontherun.ca/jonthumb.png<br />
<br />
[http://manoutoftime.wordpress.com/category/open-source/feed/]<br />
name=Konstantin Novichikhin<br />
<br />
[http://scorchedicee.wordpress.com/category/Seneca/feed/]<br />
name=Adam Sone<br />
<br />
[http://murraysaul.wordpress.com/feed/]<br />
name=Murray Saul<br />
<br />
[http://xwn740arcadeproject.blogspot.com/feeds/posts/default]<br />
name=Arcade Project - LUX Group@<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/ourbaby.png<br />
<br />
[http://feeds.feedburner.com/lsblakk_open-source]<br />
name=Lukas Blakk (lsblakk)<br />
#face=http://avnerd.tv/sharedFiles/lukas_hackergotchi.png<br />
<br />
[http://nashutzu.blogspot.com/feeds/posts/default]<br />
name=George Popescu (GeorgeP)<br />
<br />
[http://blog.chris.tylers.info/index.php?/feeds/categories/20-Seneca-Planet.rss]<br />
name=Chris Tyler (ctyler)<br />
face=http://zenit.senecac.on.ca/~chris.tyler/chris_tyler_hackergotchi_4a.png<br />
<br />
[http://vocamus.net/dave/?feed=rss2&category_name=Seneca]<br />
name=David Humphrey<br />
<br />
[http://gratnam1.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Gajendran Ratnam (gratnam1)<br />
<br />
[http://senecajon.blogspot.com/feeds/posts/default]<br />
name=Jonathan Cheung (jcheung23)<br />
<br />
# Disabled 2011-04-28 - blog was removed<br />
#[http://blog.markparuzel.com/feed/]<br />
#name=Mark Paruzel<br />
<br />
[http://mmszuto.blogspot.com/feeds/posts/default]<br />
name=Michael Szutu<br />
<br />
[http://lsdaly.blogspot.com/feeds/posts/default]<br />
name=Louis Daly (lsdaly)<br />
<br />
# Disabled 2009-01-25 due to 404's (domain expired)<br />
#[http://www.foobartastic.com/feed/]<br />
#name=Tom Aratyn<br />
<br />
[http://bhearsum.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Ben Hearsum<br />
<br />
# Following feed is invitation-only. Disabled 2010-09-23 CTyler<br />
#[http://www.jyzyy.blogspot.com/feeds/posts/default/-/opensource]<br />
#name=Jyoti<br />
<br />
# Re-enabled 2011-04-29 - new blog URL<br />
# Disabled 2009-09-15 due to 404's (site rearranged?)<br />
[http://tea.cesaroliveira.net/archives/tag/seneca/feed]<br />
name=Cesar Oliveira<br />
<br />
[http://r3ap3r.wordpress.com/category/seneca/feed]<br />
name=Brandon Collins<br />
<br />
# Disabled 2011-04-28 - blog was deleted<br />
#[http://jrgoncal.blogspot.com/feeds/posts/default]<br />
#name=Justin Goncalves (jrgoncal)<br />
#face=http://img517.imageshack.us/img517/9865/bearzp5.jpg<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://tlo5.blogspot.com/feeds/posts/default]<br />
#name=Tommy Lo (tlo5)<br />
<br />
[http://armenzg.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Armen Zambrano G. (armenzg)<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Michael Mullin<br />
<br />
[http://mikemoz.blogspot.com/feeds/posts/default/-/Mozilla_GFX]<br />
name=Michael Mullin<br />
<br />
# Returned 410 on 2008-09-13 - disabled CTyler<br />
#[http://rueenfiez.wordpress.com/category/open-source/feed/]<br />
#name=Rueen Fiez<br />
<br />
# Returning 404 on 2008-09-13 - disabled CTyler<br />
#[http://jsafavi.wordpress.com/category/open-source/feed/]<br />
#name=Jason Safavi<br />
<br />
[http://vlam6.wordpress.com/category/open-source/feed/]<br />
name=Vincent Lam<br />
<br />
[http://dejant.blogspot.com/feeds/posts/default]<br />
name=Dejan Tolj<br />
<br />
[http://shivaris.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Hien Huynh<br />
<br />
[http://raynrant.blogspot.com/feeds/posts/default]<br />
name=Andrew Raynier (JM)<br />
face=http://zenit.senecac.on.ca/wiki/imgs/Hackergotchi.png<br />
<br />
[http://vijeysdps909.blogspot.com/feeds/posts/default]<br />
name=Vijey Bala<br />
<br />
[http://sedejong.blogspot.com/feeds/posts/default]<br />
name=Shomar Dejonge<br />
<br />
[http://dbaranski.wordpress.com/category/open-source/feed/]<br />
name=Dominic Baranski<br />
<br />
#[http://crashopensource.wordpress.com/category/open-source/feed/]<br />
#name=Lukas Blakk<br />
<br />
[http://kmsingh.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry M. Singh<br />
<br />
[http://tjduavis.wordpress.com/category/open-source/feed/]<br />
name=Timothy Duavis<br />
<br />
# Disabled 2011-04-28 - entire website is missing<br />
#[http://ashughes.com/?q=taxonomy/term/2/0/feed]<br />
#name=Anthony Hughes<br />
<br />
[http://opensourcekennethlee.blogspot.com/feeds/posts/default]<br />
name=Kenneth Lee<br />
<br />
[http://cleung.wordpress.com/category/Seneca/feed/]<br />
name=Catherine Leung<br />
<br />
[http://dtheosab.wordpress.com/category/open-source/feed/]<br />
name=Daino Theosabrata<br />
<br />
# This is my old blog<br />
[http://simon-jung.blogspot.com/feeds/posts/default]<br />
name=Simon Jung (old)<br />
<br />
[http://aeraj.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=AJ Rehman<br />
<br />
[http://xrayon.blogspot.com/feeds/posts/default]<br />
name=Fima Kachinski<br />
<br />
[http://littlesvr.ca/grumble/category/safeforseneca/feed/]<br />
name=Andrew Smith<br />
<br />
[http://littlesvr.ca/masters/feed]<br />
name=Andrew Smith (master's)<br />
<br />
[http://jbopensrc.wordpress.com/category/open-source/feed]<br />
name=Jesse Buchanan<br />
<br />
[http://ayhfung.blogspot.com/feeds/posts/default]<br />
name=Andrew Fung<br />
<br />
# Returned 404 on 2008-09-13 - disabled CTyler<br />
#[http://sloose.wordpress.com/category/open-source/feed/]<br />
#name=Peter Ljubanovic<br />
<br />
[http://mozcoz.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Amit Gundu<br />
<br />
# Changed CTyler 2009-02-12 from [http://www.blogger.com/feeds/15922666655846514311/blogs]<br />
[http://dsmukherji.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Devashish<br />
<br />
[http://yhan11.wordpress.com/category/open-source/feed]<br />
name=Yongsheng Han<br />
<br />
[http://peter.sykokillers.com/category/open-source/feed/]<br />
name=Peter Chan<br />
<br />
[http://www.c3dl.org/index.php/category/c3dl-dev/feed]<br />
name=Seneca Canvas3D Team<br />
<br />
# Updated 2011-04-28 - corrected feed URL<br />
[http://peterevanoff.wordpress.com/category/open-source/feed/]<br />
name=Peter Evanoff<br />
<br />
# Disabled 2011-04-28 - flagged as a malware-loaded site by Google<br />
<br />
#[http://radoye.net1zen.com/wp-rss2.php?cat=3]<br />
#name=Radovan Nesic<br />
<br />
[http://blog.cresencia.ca/category/open-source/osd600/feed/]<br />
name=Joseph Cresencia<br />
<br />
[http://bertenshaw.blogspot.com/feeds/posts/default]<br />
name=David Bertenshaw<br />
<br />
[http://ljubomirgorscak.blogspot.com/feeds/posts/default]<br />
name=Ljubomir Gorscak<br />
<br />
[http://sameropensource.blogspot.com/feeds/posts/default]<br />
name=Samer Ziadeh (samer)<br />
<br />
# Following feed not working and temporarily disabled<br />
# 2010-09-23 by CTyler<br />
#[http://jamesboston.ca/cms/taxonomy/term/1/0/feed]<br />
#name=James Boston<br />
#face=http://jamesboston.ca/hackergotchi.png<br />
<br />
[http://dailypackage.fedorabook.com/index.php?/feeds/index.rss2]<br />
name=Fedora Daily Package<br />
<br />
[http://blog.fardad.com/feeds/posts/default/-/Seneca]<br />
name=Fardad Soleimanloo<br />
<br />
[http://selmys.wordpress.com/category/opensource/feed]<br />
name=John Selmys<br />
face=http://cs.senecac.on.ca/~selmys/john_selmys_hackergotchi.png<br />
<br />
[http://pconstantino.wordpress.com/feed]<br />
name=Patricia Constantino<br />
<br />
[http://bombshelter13.blogspot.com/feeds/posts/default]<br />
name=Katherine Masseau<br />
<br />
[http://zadkielm.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Ezadkiel Marbella<br />
<br />
[http://blog.sidkalra.com/category/opensource/feed]<br />
name=Sid Kalra<br />
<br />
[http://pplam3.blogspot.com/feeds/posts/default]<br />
name=Patrick Lam<br />
<br />
# Disabled 2011-04-28 - blog is now private<br />
#[http://twlai1.blogspot.com/feeds/posts/default]<br />
#name=Tony Lai<br />
<br />
[http://dee132.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Chris Bishop<br />
<br />
# Updated 2011-04-28 - updated feed URL<br />
[http://zghansar.wordpress.com/category/open-source/feed/]<br />
name=Zaid Ghansar<br />
face=http://www.alhudainstitute.ca/zaid/z.png<br />
<br />
[http://aaronmt.com/?feed=rss2]<br />
name=Aaron Train<br />
face=http://matrix.senecac.on.ca/~amtrain/other/mypic.png<br />
<br />
[http://scottosd.blogspot.com/feeds/posts/default/-/Open%20Source/]<br />
name=Scott Lunel<br />
<br />
# Updated 2009-04-16, new blog. - scarter4<br />
# Disabled 2009-11-27 due to wrong feed URL<br />
#[http://scarter4.wordpress.com/category/seneca/]<br />
#name=Stephen Carter<br />
<br />
# Disabled 2009-01-23 CTyler due to 404s<br />
#[http://shdinis.blogspot.com/feeds/posts/default]<br />
#name=Shawn Dinis<br />
<br />
[http://belligero.org/index.php?option=com_content&view=section&id=1&format=feed&type=rss]<br />
name=Jason Tarka<br />
<br />
# Updated 2011-04-28 - no more tag, but still Seneca related<br />
[http://petermcintyre.wordpress.com/feed/]<br />
name=Peter McIntyre<br />
<br />
[http://vesperrin.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Leonard Lee (vesper)<br />
<br />
[http://jsdoodnauth.wordpress.com/category/open-source/feed/]<br />
name=Joshua Doodnauth<br />
<br />
[http://johnhford.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=John Ford (John64)<br />
<br />
[http://mohaksblog.blogspot.com/feeds/posts/default]<br />
name=Mohak Vyas<br />
#face=http://matrix.senecac.on.ca/~mdvyas/MohakVyas.png<br />
<br />
[http://pdirezze.blogspot.com/feeds/posts/default]<br />
name=Paul DiRezze<br />
<br />
# Following link no longer valid. Disabled 2010-09-23 CTyler<br />
#[http://www.ndaversa.com/category/open-source/feed]<br />
#name=Nino D'Aversa<br />
<br />
[http://miltonpaiva.wordpress.com/feed/]<br />
name=Milton Paiva<br />
#face=http://matrix.senecac.on.ca/~mpaivaneto/orkut.png<br />
<br />
[http://de-luxer.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nestor Chan<br />
#face=http://matrix.senecac.on.ca/~tnchan/n516840997_9173.PNG<br />
<br />
[http://varinderjhand.wordpress.com/feed/]<br />
name=Varinder Singh <br />
<br />
[http://ajhooper.blogspot.com/feeds/posts/default]<br />
name=Aaron Hooper<br />
<br />
[http://nadavid.blogspot.com/feeds/posts/default]<br />
name=Neil David<br />
<br />
[http://cdpatel1.blogspot.com/feeds/posts/default]<br />
name=Chinmay Patel<br />
#face=http://www.geocities.com/chinmay_patel@ymail.com/chinmay.jpg<br />
<br />
[http://jvalianes.blogspot.com/feeds/posts/default]<br />
name=Jesse Valianes<br />
<br />
[http://bbarcick.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Bartosz Barcicki<br />
<br />
[http://heidenreich.wordpress.com/tag/seneca-college/feed/]<br />
name=Michal Heidenreich<br />
<br />
[http://kezhong.wordpress.com/feed/atom/]<br />
name=Kezhong Liang <br />
<br />
[http://wfred.wordpress.com/category/open-source/feed/]<br />
name=Fred Wang<br />
<br />
[http://jsinghfoss.wordpress.com/category/spring-framework/feed/]<br />
name=Jatinder Singh<br />
<br />
[http://rparsi.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rahi Parsi<br />
<br />
# Changed 2011-04-28 - missing a capital "S" from Seneca to display feed<br />
[http://aaronrey15.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Aaron Chan<br />
<br />
# Disabled 2011-04-28 - posts were deleted, empty feed<br />
#[http://flashalive.wordpress.com/category/Open%20Source/feed/]<br />
#name=Ryan Wang<br />
<br />
[http://kvuhome.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Khanh Vu<br />
<br />
[http://daeseonmoon.wordpress.com/category/open-source/feed/]<br />
name=Daeseon Moon<br />
<br />
[http://abraini.wordpress.com/category/seneca/feed/]<br />
name=Andrew Braini<br />
<br />
[http://minicheong.blogspot.com/feeds/posts/default]<br />
name=Frankie Law<br />
<br />
# Following feed changed from http://www.heyqule.net/blog/tech/oss/feed<br />
# on 2010-09-23 by CTyler.<br />
[http://www.heyqule.net/taxonomy/term/44/0/feed]<br />
name=Allen JF Xie (heyqule)<br />
<br />
[http://farhadnorouzi.blogspot.com/feeds/posts/default]<br />
name=Farhad Norouzi<br />
<br />
[http://jdeport.wordpress.com/category/software-development/open-source/feed/]<br />
name=John Dang<br />
<br />
[http://pliu.wordpress.com/category/open-source/feed/]<br />
name=Peter Liu<br />
<br />
# Feed not working - temporarily disabled 2010-09-23 CTyler<br />
#[http://www.jerrypau.ca/?feed=rss2&cat=3]<br />
#name=Jerry Pau<br />
#face=http://www.jerrypau.ca/blog-face-1.png<br />
<br />
[http://blog.wikiscraps.com/feeds/posts/default/-/oss]<br />
name=M. Mead Armsby (mead)<br />
<br />
[http://paritosha.blogspot.com/feeds/posts/default]<br />
name=Paritosh Aggarwal(paritosh1010)<br />
<br />
# Private blog. Disabled 2010-09-23 CTyler.<br />
#[http://myblog110.wordpress.com/category/open-source/feed]<br />
#name=Tahereh<br />
<br />
# Disabled 2011-04-28 - empty feed, all posts were removed<br />
#[http://challenger110.wordpress.com/category/software-development/open-source/censored/feed/]<br />
#name=Davoud Salahi Rad<br />
<br />
[http://wb-os.blogspot.com/feeds/posts/default]<br />
name=Le Yang<br />
<br />
[http://garykwong.wordpress.com/category/education/feed/]<br />
name=Gary Kwong (nth10sd)<br />
<br />
[http://yuenhoe.co.cc/blog/category/mozilla/feed/]<br />
name=Lim Yuen Hoe (moofang)<br />
<br />
# Disabled 2011-04-27 - empty feed, needs to be udpated<br />
#[http://tonychestnut.wordpress.com/category/mozilla/ubiquity/feed/]<br />
#name=Vu Dinh The (tonyvu)<br />
<br />
[http://opensourceproject.wordpress.com/category/open-source/feed/]<br />
name=Nabeel Khan (nkhan26)<br />
<br />
# Disabled 2011-04-27 - suspended domain<br />
#[http://solfu.net/tech/category/personas-for-thunderbird/feed/]<br />
#name=Yaoquan (seith)<br />
<br />
[http://xiajunshi.wordpress.com/category/open-source/feed/]<br />
name=Shelley Shi<br />
<br />
[http://hendrikinmozilla.wordpress.com/feed/]<br />
name=Hendrik<br />
<br />
[http://t3rrychan.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Terry Chen (jchen124)<br />
<br />
[http://blog.bchao.ca/feeds/posts/default?alt=rss]<br />
name=Boris Chao<br />
<br />
[http://ahiltssbr700.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Adam Hilts<br />
<br />
[http://ysasaki600.wordpress.com/feed/]<br />
name=Yu Sasaki<br />
<br />
[http://enderstruth.wordpress.com/category/open-source/feed/]<br />
name=Roger Dicke<br />
<br />
[http://wobblyretroaction.blogspot.com/feeds/posts/default/-/Open%20source]<br />
name=Matthew Lam<br />
<br />
[http://asydik.wordpress.com/category/professional/open-source/feed/]<br />
name=Mickael Medel (aSydiK)<br />
<br />
[http://cwdesautels.blogspot.com/feeds/posts/default]<br />
name=Carl Desautels<br />
<br />
[http://rselby-oop344.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Remington Selby<br />
<br />
[http://mikey-osd600a.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Michael Dennis<br />
<br />
# Disabled 2011-04-27 - empty blog<br />
#[http://tjprogramming.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Timothy Catibog<br />
<br />
[http://horndavid.blogspot.com/feeds/posts/default?alt=rss]<br />
name=David Horn<br />
<br />
[http://annasob.wordpress.com/feed/]<br />
name=Anna Sobiepanek<br />
<br />
[http://drozhkov.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Dmitriy Rozhkov<br />
<br />
[http://www.hodgin.ca/?feed=rss2&cat=4]<br />
name=Daniel Hodgin<br />
<br />
[http://xderick.blogspot.com/feeds/posts/default/-/OSD]<br />
name=Yong Hong<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://hoonkoon.blogspot.com/2009/09/oop344.html]<br />
#name=Taehoon Kim<br />
<br />
[http://s2000c.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Sunny Chau<br />
<br />
# This next link does not lead to an RSS or Atom feed. Disabled 2009-10-25 by CTyler.<br />
#[http://s2000c.blogspot.com/2009/09/oop344c.html]<br />
#name=Sunny Chau<br />
<br />
[http://kxu9.blogspot.com/feeds/posts/default]<br />
name=Kai Xu<br />
<br />
[http://oop-era.blogspot.com/feeds/posts/default]<br />
name=Eric Austerberry<br />
<br />
[http://docsage.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Eric Dell<br />
<br />
[http://ehren.wordpress.com/category/Seneca/feed/]<br />
name=Ehren Metcalfe<br />
<br />
[http://bsmith19.wordpress.com/category/Seneca/feed/]<br />
name=Brandon Smith<br />
<br />
[http://dcucereavii.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Diana Cucereavii<br />
<br />
# Disabled 2011-04-27 - site unreachable<br />
#[http://www.savantosis.com/?feed=rss2&cat=3]<br />
#name=Justin Robertson<br />
<br />
[http://paul-oop344.blogspot.com/feeds/posts/default/]<br />
name=Paul Repasi<br />
<br />
[http://istessema.wordpress.com/category/oop344/feed/]<br />
name=Iyosias Tessema<br />
<br />
[http://nedape.blogspot.com/feeds/posts/default]<br />
name=Neda Pezeshki<br />
<br />
[http://justletmepassoop344.blogspot.com/feeds/posts/default]<br />
name=Brian Parreno<br />
<br />
[http://dliu53.wordpress.com/category/open-source/feed/]<br />
name=Donghui Liu<br />
<br />
# Disabled 2011-04-27 - site not found<br />
#[http://oopblog.tdotshack.net/feeds/posts/default/-/OOP344]<br />
#name=Ryan Alexander<br />
<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim, Seow<br />
<br />
[http://mercedes-oop344.blogspot.com/feeds/posts/default]<br />
name=Suwon An<br />
<br />
[http://dtychshenko.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Dmitriy Tychshenko<br />
<br />
[http://victran.blogspot.com/feeds/posts/default/-/OOP344]<br />
name=Victor Tran<br />
<br />
# Changed 2011-04-27 - updated feed URL to proper<br />
[http://krazyazn.blogspot.com/feeds/posts/default]<br />
name=Michael Lin<br />
<br />
[http://xshi18.blogspot.com/feeds/posts/default]<br />
name=Xiaozhe Shi<br />
<br />
[http://feihong-xiong.blogspot.com/feeds/posts/default]<br />
name=Feihong Xiong<br />
<br />
# Changed 2011-11-01 - created category just for PlanetCDOT<br />
[http://orbitalstation.wordpress.com/category/planetcdot/feed/]<br />
name=Hasan (northWind) Kamal-Al-Deen<br />
face=http://matrix.senecac.on.ca/~hkamal-al-deen/images/Exclaim65x85.png<br />
<br />
[http://hduan2.wordpress.com/feed/]<br />
name= Haoliang Duan<br />
<br />
[http://anastasias-myblog.blogspot.com/feeds/posts/default/-/OOP344]<br />
name= Anastasia Semionova<br />
<br />
[http://franksun123.blogspot.com/feeds/posts/default/]<br />
name= Dong Sun<br />
<br />
[http://rkyoop344.blogspot.com/feeds/posts/default/]<br />
name=Keyan Ren<br />
<br />
[http://ctran13.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Chi-Lea Tran<br />
<br />
[http://szymonsoop.blogspot.com/feeds/posts/default/]<br />
name= Szymon Ahmed<br />
<br />
[http://ywang268.blogspot.com/feeds/posts/default/]<br />
name=Yu Wang<br />
<br />
[http://wangcong422.blogspot.com/feeds/posts/default/]<br />
name=Cong Wang<br />
<br />
[http://dennyp.wordpress.com/category/Seneca/feed/]<br />
name=Denny Papagiannidis<br />
<br />
# Blog not found. Disabled 2010-09-23 CTyler.<br />
#[http://java-chinmay.blogspot.com/feeds/posts/default]<br />
#name= Chinmay Patel<br />
<br />
[http://saecob.blogspot.com/feeds/posts/default/-/OpenSource]<br />
name= Sergiu Ecob<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://satijas.wordpress.com/category/OOP344/feed/]<br />
#name=Sasha Atijas<br />
<br />
# 404. Disabled 2010-09-23 CTyler.<br />
#[http://auzix.com/seneca/?feed=rss2]<br />
#name=Tyler Hackwood<br />
<br />
#[http://starbuck-blog.blogspot.com/feeds/posts/default]<br />
#name=Verity Li<br />
<br />
[http://gkrilov.blogspot.com/feeds/posts/default]<br />
name=Greg Krilov<br />
<br />
[http://qinzhi2001.blogspot.com/feeds/posts/default]<br />
name=David Chen<br />
<br />
[http://tchen-oop344.blogspot.com/feeds/posts/default]<br />
name=Terence Chen<br />
<br />
[http://opp344-yxue.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
# Disabled 2011-04-28 - had 2 other duplicate feeds<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/seneca<br />
# http://opp344-yxue.blogspot.com/feeds/posts/default/-/OOP344<br />
<br />
[http://ttsuji1.blogspot.com/feeds/posts/default]<br />
name=Trevor Tsuji<br />
<br />
[http://oyoung4.blogspot.com/feeds/posts/default]<br />
name=Oliver Young<br />
<br />
[http://minyxo.blogspot.com/feeds/posts/default/-/Open%20Source]<br />
name=Edward Sin<br />
<br />
# Blog not found - disabled 2010-09-23 CTyler<br />
#[http://oop344f09-niki.blogspot.com/feeds/posts/default]<br />
#name=Niki Simmalavong<br />
<br />
[http://jdbcdps.blogspot.com/feeds/posts/default]<br />
name=Julia Vasserman<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=Shun Yao Zhang<br />
<br />
# Disabled 2009-11-27 due to 500's on feed link<br />
# Re-enabled 2011-04-27 - incorrect URL format fixed<br />
[http://oop344ylseow.blogspot.com/feeds/posts/default]<br />
name=Yip Lim Seow<br />
<br />
[http://capereir.wordpress.com/feed/]<br />
name=Chris Pereira<br />
<br />
[http://dev-blog.zerogin.com/category/opensource/feed/]<br />
name=Tom Wisniewski (t0mmyw)<br />
<br />
# Disabled 2011-04-27 - empty feed, rest of blog is not related<br />
#[http://majorbludd.wordpress.com/category/school/feed/]<br />
#name=Michael Dawson<br />
<br />
[http://cdnpadawan.wordpress.com/feed/]<br />
name=Matthew Daniels<br />
<br />
[http://processingjs.org/blog/?feed=rss2]<br />
name=Processing.js Blog<br />
<br />
[http://dseifried.wordpress.com/category/school/feed/]<br />
name=David Seifried<br />
<br />
[http://tandemwebdesign.ca/blog/?feed=rss2&cat=3]<br />
name=Matthew Adams<br />
<br />
[http://s-aleinikov.blog.ca/feed/atom/posts/]<br />
name=Sergey Aleinikov<br />
<br />
[http://wfchen2010.blogspot.com/feeds/posts/default]<br />
name=Wen Fang Chen<br />
<br />
[http://donna-oberes.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Donna Oberes<br />
<br />
[http://carolynwoodley.blogspot.com/feeds/posts/default]<br />
name=Carolyn Woodley<br />
<br />
[http://shengwei-seneca.blogspot.com/feeds/posts/default]<br />
name=Shengwei Wang<br />
<br />
[http://zakoop344.blogspot.com/feeds/posts/default]<br />
name=Wei Tong<br />
<br />
[http://gtawaf.blogspot.com/feeds/posts/default/-/Seneca]<br />
name=Gamal Tawaf <br />
<br />
[http://rift-tlosam.blogspot.com/feeds/posts/default/-/seneca]<br />
name=Brendan McDorman<br />
<br />
[http://hdc23.wordpress.com/category/OOP344/feed]<br />
name=Dachuan Huang<br />
<br />
# Disabled 2011-04-27 - blank feed, aged blod<br />
#[http://qwu26.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=Qingxi Wu<br />
<br />
# Disabled 2011-04-27 - blank blog<br />
#[http://lwang162.blogspot.com/feeds/posts/default/-/OOP344]<br />
#name=LianHe Wang<br />
<br />
# Disabled 2011-04-27 - blank blog, aged<br />
#[http://bmcohen.blogspot.com/feeds/posts/default/-/seneca]<br />
#name=Bryan Cohen<br />
<br />
[http://feliploko.wordpress.com/category/seneca/feed]<br />
name=Felipe de Oliveira<br />
<br />
# Following feed reports invalid content type.<br />
# Disabled 2010-09-23 CTyler<br />
#[http://lwang168.blogspot.com/feeds/posts/-/oop344]<br />
#name=Liang Wang<br />
<br />
[http://shunyao-cpa.blogspot.com/feeds/posts/default]<br />
name=shun yao zhang<br />
<br />
[http://galewis.blogspot.com/feeds/posts/default]<br />
name=Gustone Lewis<br />
<br />
[http://hmo6.blogspot.com/feeds/posts/default]<br />
name=Mo Hsiu Mei<br />
<br />
[http://derekambrose.blogspot.com/feeds/posts/default/-/open%20source]<br />
name=Derek Ambrose<br />
<br />
[http://scottdowne.wordpress.com/category/open-source/feed/]<br />
name=Scott Downe<br />
<br />
# Disabled 2011-04-27 - blog deleted<br />
#[http://anthonyisgood.blogspot.com/feeds/posts/default/-/open%20source]<br />
#name = Anthony Alves<br />
<br />
[http://jjleeos.blogspot.com/feeds/posts/default]<br />
name = Jeffrey Lee<br />
<br />
[http://harjinderv.tumblr.com/tagged/Open_Source/rss]<br />
name = Harjinder Virdi<br />
<br />
[http://cldenobrega.wordpress.com/category/open-source/feed/]<br />
name = Crystal de Nobrega (cldenobrega)<br />
<br />
[http://lchen97.blogspot.com/feeds/posts/default]<br />
name=Chris Chen<br />
<br />
# Parked domain. Disabled 2010-09-23 CTyler<br />
#[http://hotweiss.lifeflayer.com/?feed=atom]<br />
#name=Tianqi Liu<br />
<br />
[http://oleg-oop.blogspot.com/feeds/posts/default]<br />
name=Aleh Pliats<br />
<br />
[http://88mishok.blogspot.com/feeds/posts/default]<br />
name=Francois Des Jarlais<br />
<br />
[http://bikarin.blogspot.com/feeds/posts/default]<br />
name=Irina Balzamova<br />
<br />
[http://mashhaque.blogspot.com/feeds/posts/default]<br />
name=Mashfique Haque<br />
<br />
[http://yxue11.blogspot.com/feeds/posts/default]<br />
name=Yong Xue<br />
<br />
[http://tdao75.blogspot.com/feeds/posts/default]<br />
name=Thanh Dao<br />
<br />
[http://minooz.wordpress.com/category/CDOT/feed/]<br />
name=Minoo Ziaei<br />
<br />
[http://gbatumbya.wordpress.com/category/seneca/cdot/feed/]<br />
name=Grace Simon Batumbya<br />
<br />
[http://sonnilion.wordpress.com/feed/]<br />
name=Matt Postill<br />
<br />
[http://acchung1.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Alex Chun Yang Chung<br />
<br />
[http://hckim.wordpress.com/category/open-source/feed/]<br />
name=Han Chul Kim<br />
<br />
[http://xizhangblog.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xi Zhang<br />
<br />
# Modified 2011-04-27 - changed from blank category<br />
[http://lwu11.blogspot.com/feeds/posts/default]<br />
name=Ling Wu<br />
<br />
[http://jasonquan.wordpress.com/category/OOP344/feed/]<br />
name=Jason Quan<br />
<br />
[http://myoop344blog.blogspot.com/feeds/posts/default/]<br />
name=Xiongwen LU<br />
<br />
[http://0zzym.wordpress.com/feed]<br />
name=Osman Mirza<br />
<br />
[http://adgezaza.posterous.com/rss.xml?tag=open%20source]<br />
name=Adrian Maurer<br />
<br />
[http://kumailhabib.blogspot.com/feeds/posts/default]<br />
name=Kumail Habib<br />
<br />
[http://imadorki3.blogspot.com/feeds/posts/default]<br />
name=Robin Co<br />
<br />
[http://danapao026.blogspot.com/feeds/posts/default]<br />
name=Don Armin Napao<br />
<br />
[http://cgm087.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Christopher G. Missen<br />
<br />
[http://crgosselin.blogspot.com/feeds/posts/default]<br />
name=Chris Ryan Gosselin<br />
<br />
[http://slaw12.wordpress.com/feed/ ]<br />
name=Stephanie Law<br />
<br />
[http://ysliu2.blogspot.com/feeds/posts/default]<br />
name=Yansong Liu<br />
<br />
[http://www.drizhepolov.com/blog/?feed=rss2]<br />
name=Vladimir Drizhepolov<br />
<br />
[http://bhavanesh.wordpress.com/feed/]<br />
name=Bhavanesh Patel<br />
<br />
[http://xwu0102.blogspot.com/feeds/posts/default/-/oop344]<br />
name=Xiaojiang Wu<br />
<br />
[http://rhui4.wordpress.com/feed/ ]<br />
name=Richard Hui<br />
<br />
[http://invinciblyignorant.wordpress.com/category/OOP344/feed/]<br />
name=Jason Burton<br />
<br />
[http://goldenration.wordpress.com/feed/]<br />
name=HongGeun Park<br />
<br />
[http://thupten.veryusefulinfo.com/?feed=rss2]<br />
name=Thupten Choephel<br />
<br />
[http://priyadeep.wordpress.com/feed/]<br />
name=Priyadeep Gill<br />
<br />
[http://kyle205website.info/wordpress/?feed=rss2]<br />
name=Khai Huynh<br />
<br />
[http://dale.io/open-source.xml]<br />
name=Dale Karp<br />
<br />
[http://vbluzmans.wordpress.com/feed/]<br />
name=Vitaly Bluzmans<br />
<br />
[http://akkimblog.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Kerry Taylor<br />
<br />
<br />
[http://alf1488.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Yegor Tyunin<br />
<br />
[http://sbr600.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Matthew Ortofsky<br />
<br />
[http://pbrown9.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Paul Brown<br />
<br />
[http://jzaidi.wordpress.com/feed/]<br />
name=Jawwad Zaidi<br />
<br />
[http://blog.rainulf.ca/category/CDOT/feed/]<br />
name=Jose Rainulf Pineda<br />
<br />
[http://donchel.wordpress.com/feed/]<br />
name=Dong Cheol Cha<br />
<br />
[http://sweerdenburg.wordpress.com/category/seneca/feed/]<br />
name=Steven Weerdenburg<br />
<br />
[http://jyang42.blogspot.com/feeds/posts/default]<br />
name=Jing Yang<br />
<br />
[http://tarinc.wordpress.com/feed/]<br />
name=Tarin Choudhury<br />
<br />
[http://jtdonaldson21.blogspot.com/feeds/posts/default]<br />
name=Jeshu Donaldson<br />
<br />
[http://bccp32.blogspot.com/feeds/posts/default]<br />
name=Yauheni Khabian<br />
<br />
[http://mark-os.blogspot.com/feeds/posts/default]<br />
name=Mark Eamiguel<br />
<br />
[http://kweber1.blogspot.com/feeds/posts/default]<br />
name=Kyle Weber<br />
<br />
[http://mustafaredha.wordpress.com/category/planet-cdot/feed]<br />
name=Mustafa Redha<br />
<br />
[http://andrewasdesigned.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Andrew Singh<br />
<br />
[http://escom0.blogspot.com/feeds/posts/default]<br />
name=Eric Shum<br />
<br />
# Disabled 2011-04-27 - blog was deleted<br />
#[http://open-ht.blogspot.com/feeds/posts/default]<br />
#name=Hoc Tran<br />
<br />
[http://vanjason.wordpress.com/category/sbr600/feed]<br />
name=Jason Van<br />
<br />
[http://kpangilinan.wordpress.com/feed]<br />
name=Kenneth Pangilinan<br />
<br />
[http://ajcondinho.blogspot.com/feeds/posts/default/-/opensource]<br />
name=Andrew Condinho<br />
<br />
[http://cahayamu.com/feed/]<br />
name=Cahayamu<br />
<br />
[http://blog.esmnetworks.com/category/planet-cdot/feed]<br />
name=Adrian Pruteanu<br />
<br />
[http://stevebologna.wordpress.com/category/Open-Source/feed/]<br />
name=Stephen Bologna<br />
<br />
[http://www.winterleaf.ca/blog/category/oop344/feed/]<br />
name=Daniel Slessarev<br />
<br />
[http://ycshon.blogspot.com/feeds/posts/default]<br />
name=Young Chol Shon<br />
<br />
[http://jwpark2.blogspot.com/feeds/posts/default]<br />
name=Jaewoo Park<br />
<br />
[http://klasconia.wordpress.com/feed/]<br />
name=Kevin Lasconia<br />
<br />
[http://kaitlynmcdonald.wordpress.com/feed/]<br />
name=Kaitlyn McDonald<br />
<br />
[http://jrobinson7.wordpress.com/feed/]<br />
name=James Robinson<br />
<br />
[http://trusu.blogspot.com/feeds/posts/default]<br />
name=Traian Rusu<br />
<br />
[http://blockrockinpete.blogspot.com/feeds/posts/default/-/OSD600]<br />
name=Pete Leaning<br />
<br />
[http://tyler-taehee-lee.blogspot.com/feeds/posts/default/-/SBR600]<br />
name=Tae Hee Lee<br />
<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=87]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://www.kaitlyncallow.com/Blog/?feed=rss2&cat=96]<br />
name=Kaitlyn Callow<br />
face=http://www.kaitlyncallow.com/Dump/kait_avatar.jpg<br />
<br />
[http://saad-husain.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Saad Husain<br />
<br />
[http://jevangelos.wordpress.com/feed/]<br />
name=James Evangelista<br />
<br />
# Disabled 2011-04-27 - not a feed link<br />
#[http://sajed481.wordpress.com/SBR600/]<br />
#name=M.A Sajed Shadani<br />
<br />
[http://rizwanhaq.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Rizwan Haq<br />
<br />
[http://tuori.tk/blog/blogs/blog1.php?tempskin=_rss2&cat=15]<br />
name=Matthew Tuori<br />
<br />
[http://ktaraghi.blogspot.com/feeds/posts/default]<br />
name=Khosro Taraghi<br />
<br />
[http://opensourceftw.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Anthony Boccia<br />
<br />
[http://perfectlylogical.wordpress.com/category/sbr600/feed/]<br />
name=Stephen Hall<br />
<br />
[http://rocellaj.wordpress.com/feed/]<br />
name=Rocella Jimenez<br />
<br />
[http://justinpaulmorgan.blogspot.com/feeds/posts/default]<br />
name=Justin Morgan<br />
<br />
[http://gcasella.blogspot.com/feeds/posts/default]<br />
name=Gian-Luca Casella<br />
<br />
[http://archanasahota.com/category/open-source/feed/]<br />
name=Archana Sahota<br />
<br />
[http://pratikamin.wordpress.com/category/sbr600/feed/]<br />
name=Pratik Amin<br />
<br />
[http://syang00.wordpress.com/feed/]<br />
name=Stephanie Yang<br />
<br />
[http://tewestacott.wordpress.com/category/SBR600/feed/]<br />
name=Todd Westacott<br />
<br />
[http://aparda.wordpress.com/category/SBR600//feed/]<br />
name=Andrew Parda<br />
<br />
[http://gjuhasz1.wordpress.com/feed/]<br />
name=Gergely Juhasz<br />
<br />
[http://completefail.wordpress.com/category/SBR600/feed/]<br />
name=Joshua Y. Koh<br />
<br />
[http://myuberwebsite.blogspot.com/feeds/posts/default]<br />
name=Dmitry Artemenko<br />
<br />
[http://cgomes7.wordpress.com/feed/]<br />
name=Cesar Gomes<br />
<br />
[http://supbroseph.wordpress.com/feed/]<br />
name=Houssam haidar<br />
<br />
[http://www.bradchen.com/rss/blog/open%20source]<br />
name=Brad Chen (vvasabi)<br />
<br />
[http://asabir.wordpress.com/feed/]<br />
name=Adeel Sabir (asabir)<br />
<br />
[http://libresparks.wordpress.com/category/SBR600/feed/]<br />
name=Alfred Liu<br />
<br />
[http://acook6.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Alan Cook<br />
<br />
[http://coding.shaunofthelive.com/feeds/posts/default/-/oop344]<br />
name=Shaun Hill<br />
<br />
[http://maoli1207.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mao Hua Li<br />
<br />
# tmp disabled<br />
#[http://fossjon.wordpress.com/feed/]<br />
#name=Jon Chiappetta<br />
<br />
[http://dperit.blogspot.com/feeds/posts/default/-/cdot]<br />
name=David Perit<br />
<br />
[http://szafar8.wordpress.com/tag/cdot/feed/]<br />
name=Salman Zafar<br />
<br />
[http://mbuttu.wordpress.com/category/Open-Source/feed/]<br />
name=Mohammed Buttu<br />
<br />
[http://brianlimtemp.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Brian Lim<br />
<br />
[http://drigato.wordpress.com/category/open-source/feed/]<br />
name=Denise Rigato<br />
<br />
[http://jbraffoul.wordpress.com/category/open-source/feed/]<br />
name=Jordan Raffoul<br />
<br />
[http://kuznetsovnikita.blogspot.com/feeds/posts/default?alt=rss]<br />
name=Nikita Kuznetsov<br />
<br />
[http://noahgitalis.wordpress.com/category/open-source/feed/]<br />
name=Noah Gitalis<br />
<br />
[http://rhotin.wordpress.com/category/open-source/feed/]<br />
name=Roman Hotin<br />
<br />
[http://nm486.wordpress.com/category/open-source/feed]<br />
name=Stanley Tsang<br />
<br />
[https://brattahlid.wordpress.com/tag/foss/feed/]<br />
name=Abhishek Bhatnagar<br />
<br />
[http://mendozamiche.wordpress.com/category/open-source/feed]<br />
name=Michelle Mendoza<br />
<br />
[http://kenxu99.wordpress.com/category/open-source/feed]<br />
name=Qian (Ken) Xu<br />
<br />
[http://steventseng.wordpress.com/category/open-source/feed/]<br />
name=Ching Wei Tseng (Steven)<br />
<br />
[http://myprogrammingblog.com/category/project-bbb/feed/]<br />
name=Anatoly Spektor<br />
<br />
[http://jasonmarciniak.wordpress.com/feed/]<br />
name=Jason Marciniak<br />
<br />
[http://hungryr.wordpress.com/category/open-source/feed]<br />
name=Hyungryul Steven Chun<br />
<br />
[http://jbhuestis.wordpress.com/feed/]<br />
name=Jordan Huestis<br />
<br />
[http://nicklmbrt.wordpress.com/feed]<br />
name=Nick Lambert<br />
<br />
<br />
[http://rkyosd.blogspot.com/feeds/posts/default]<br />
name=Keyan Ren<br />
<br />
[http://awong79.blogspot.com/feeds/posts/default]<br />
name=Anthony Wong<br />
<br />
[http://jekyjaw.wordpress.com/category/open-source/feed]<br />
name=Yevgeniy Ivanchenko<br />
<br />
[http://raymondhung.wordpress.com/category/open-source/feed/]<br />
name=Raymond Hung<br />
<br />
[http://topheruppercut.wordpress.com/category/open-source/feed/]<br />
name=Christopher Cheung<br />
<br />
[https://saadism.wordpress.com/feed/]<br />
name=Saad Mohammad<br />
<br />
[http://slee142.blogspot.com/feeds/posts/default]<br />
name=Sangjin (Eric) Lee<br />
<br />
[http://dliscio.wordpress.com/feed]<br />
name=David Liscio<br />
<br />
[http://guandayu.wordpress.com/feed/]<br />
name=Dayu Guan<br />
<br />
[http://elonli.ca/category/sbr600/feed/]<br />
name=Elon Li<br />
<br />
<br />
[http://blog.carsonyong.com/?feed=rss2]<br />
name=Carson Yong<br />
<br />
[http://snaqvi3.wordpress.com/category/open-source/feed/]<br />
name=Saba Naqvi<br />
<br />
[http://burrellaramone.wordpress.com/category/open_source/feed/]<br />
name=Ramone Burrell<br />
<br />
[http://moussa1.wordpress.com/category/open-source/feed/]<br />
name=Moussa Tabcharani<br />
<br />
[http://roottothehead.blogspot.com/feeds/posts/default/-/CDOT]<br />
name=Jordan Cwang<br />
<br />
[http://diogogmt.wordpress.com/category/open-source/feed/]<br />
name=Diogo Golovanevsky Monteiro<br />
<br />
[http://www.anuragbhatnagar.com/category/open-source/feed/]<br />
name=Anurag Bhatnagar<br />
face=http://www.anuragbhatnagar.com/wp-content/uploads/2011/09/anurag1.png<br />
<br />
[http://withs.tumblr.com/tagged/OSD/rss]<br />
name=Jacky Siu<br />
<br />
[http://jjbmiller.wordpress.com/feed/]<br />
name=Jeff Miller<br />
<br />
[http://toomymon.wordpress.com/feed/]<br />
name=Tommy Cho Long Chor<br />
<br />
[http://jsilver999.wordpress.com/category/open-source/feed/]<br />
name=Jesse Silver<br />
<br />
[http://justintrobinson.wordpress.com/category/bigbluebutton/feed/]<br />
name=Justin Robinson<br />
<br />
[http://cchoo2.blogspot.com/feeds/posts/default]<br />
name=Chris Choo<br />
<br />
[http://teddychilai.wordpress.com/category/sbr600/feed/]<br />
name=Chi Hsun Lai<br />
<br />
[http://dsun20.wordpress.com/feed/]<br />
name=Dong Sun<br />
<br />
[http://alberttruong.wordpress.com/category/SBR600/feed/]<br />
name=Albert Truong<br />
<br />
[http://jessefulton.wordpress.com/category/SBR600/feed/]<br />
name=Jesse Fulton<br />
<br />
[http://ligangbory.wordpress.com/feed/]<br />
name=Gang Li<br />
<br />
[http://kliu39.wordpress.com/feed/]<br />
name=Kun Liu<br />
<br />
[http://mariabustoss.wordpress.com/feed/]<br />
name=Maria Bustos-Roman<br />
<br />
[http://kavisbr.blogspot.com/feeds/posts/default]<br />
name=Kavishankar Srivamathevan<br />
<br />
[http://namsbloging.blogspot.com/feeds/posts/default]<br />
name=Nam Nguyen<br />
<br />
[http://dsegree.wordpress.com/feed/]<br />
name=Daniel Segree<br />
<br />
[http://sajed481.wordpress.com/opensource/feed/]<br />
name=Mohammad Abdullah Sajed Shadani<br />
<br />
[http://asalwi123.wordpress.com/feed/]<br />
name=Aries Alwi<br />
<br />
[http://jmulwani.wordpress.com/feed/]<br />
name=Jayaditya Mulwani<br />
<br />
[http://sbr600blog.blogspot.com/feeds/posts/default]<br />
name=Andrew Greene<br />
<br />
[http://chadpilkey.wordpress.com/category/opensource/feed/]<br />
name=Chad Pilkey<br />
<br />
[http://ejtorre.blog.ca/feed/rss2/posts/]<br />
name=Eugene Torre<br />
<br />
[http://lynart.wordpress.com/category/CDOT/feed/]<br />
name=Vince Lee<br />
<br />
[http://stani.ca/?feed=rss2&cat=3]<br />
name=Robert Stanica<br />
<br />
[http://cdot-callaghan.posterous.com/rss.xml?tag=CDOT]<br />
name=Peter Callaghan<br />
<br />
[http://zaf1.wordpress.com/category/open-source/feed/]<br />
name=Shayan Zafar Ahmad<br />
<br />
[http://zyu26.wordpress.com/feed/]<br />
name=Zhiping Yu<br />
<br />
[http://stiversc.blogspot.ca/feeds/posts/default/-/OSD600]<br />
name=Michael Stiver-Balla<br />
<br />
[http://maximumou.blogspot.com/feeds/posts/default]<br />
name=Zhi Chang Ou<br />
<br />
[http://www.kypertrast.net/seneca/category/open-source/feed/]<br />
name=Michael Afidchao<br />
<br />
[http://epsilon812.wordpress.com/category/open-source/feed/]<br />
name=Rick Eyre<br />
<br />
[http://ayufidin.blogspot.ca/feeds/posts/default]<br />
name=Alon Yufidin<br />
<br />
[http://sudodamha.blogspot.com/feeds/posts/default]<br />
name=Ahmad Taychouri<br />
<br />
[http://amartinencosbr600.blogspot.com/feeds/posts/default]<br />
name=Andrei Martinenco<br />
<br />
[http://sbr600.tumblr.com/rss]<br />
name=Daniel Delidjakov<br />
<br />
[http://ashtramwasser.blogspot.ca/feeds/posts/default]<br />
name=Alina Shtramwasser<br />
<br />
[http://limed3.wordpress.com/category/open-source/feed/]<br />
name=Edwin Lim<br />
<br />
[http://caitpotter.blogspot.com/feeds/posts/default/-/open%20source] <br />
name=Dylan Potter<br />
<br />
[http://rlawrence5.wordpress.com/feed/]<br />
name=Ryan Lawrence<br />
<br />
[http://okhattab.wordpress.com/feed/]<br />
name=Omarr Khattab<br />
<br />
[http://aadavis1.blogspot.ca//feeds/posts/default]<br />
name=Alexander Davis<br />
<br />
[http://kdayalingam.wordpress.com/category/dpi908/feed]<br />
name=Kowrinanthan Dayalingam<br />
<br />
[http://jcqiu.wordpress.com/feed/]<br />
name=Jiecheng Qiu<br />
<br />
[http://mikeshutov.blogspot.com/feeds/posts/default/-/open-source]<br />
name=Mike Shutov<br />
<br />
[http://avru.wordpress.com/category/open-source/feed/]<br />
name=Anh Tran<br />
<br />
[http://www.kmbarnhart.blogspot.com/feeds/posts/default/-/Open Source]<br />
name=Kyle Barnhart<br />
<br />
</pre></div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=DPS909_and_OSD600_Fall_2012_Lab_1&diff=87331DPS909 and OSD600 Fall 2012 Lab 12012-09-13T18:16:49Z<p>Kmbarnhart: /* 1. Fork the Mozilla Firefox github repository */</p>
<hr />
<div>=Introduction=<br />
<br />
In this lab you will work with git, github, create a development environment, and build the source code for Firefox. These skills will be critical for all subsequent work we'll do in the course, and help you setup various accounts and tools along the way.<br />
<br />
==Steps==<br />
<br />
===1. Fork the Mozilla Firefox github repository===<br />
<br />
Mozilla uses both Mercurial (hg) and Git to host its source code. We'll use Git and Github in order to keep the number of DVCS you have to learn to a minimum.<br />
<br />
Mozilla's Firefox repo is located at: https://github.com/mozilla/mozilla-central (NOTE: the repo is not called Firefox).<br />
<br />
You'll need to install git, see http://git-scm.com/, and create a Github account for yourself, see https://github.com/ and https://help.github.com/articles/set-up-git.<br />
<br />
Once you have your account created, you should '''fork''' Mozilla's mozilla-central repo into your account, see https://help.github.com/articles/fork-a-repo<br />
<br />
Now you can '''clone''' your mozilla-central fork to your local computer and build it.<br />
<br />
When cloning use the git protocol: git://github.com/''username''/mozilla-central.git<br />
<br />
===2. Build Firefox===<br />
<br />
The Firefox build process is described in detail here: https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions<br />
<br />
NOTE: since you already obtained the source code from github, skip the instructions related to Mercurial and hg.<br />
<br />
==Getting Help==<br />
<br />
Working with git, github, and Mozilla's build system can be overwhelming at first. Don't be scared off, or allow yourself to get frustrated. Make sure you ask questions on irc (use the #seneca or #introduction channels on irc.mozilla.org), and in class. Pretending you know what you're doing when you don't will not work in this lab. Get help, and be ready to help others.<br />
<br />
==Submitting==<br />
<br />
When you are finished your build, take a screenshot of the '''about:''' page in your new browser, and write a blog post about your experiences. Make sure you answer questions like:<br />
<br />
* What did you learn?<br />
* What was new for you? Tools, terms, techniques, etc.<br />
* What was hard?<br />
* How did you overcome your issues?<br />
<br />
Your lab and blog post are due on '''Sept 13'''.</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Fall_2012_Open_Source_Students&diff=87268Fall 2012 Open Source Students2012-09-13T06:00:45Z<p>Kmbarnhart: /* People */</p>
<hr />
<div>==Introduction==<br />
<br />
This is a list of students in the [[DPS909]] and [[OSD600]] courses for fall 2012. Please add your name and info below.<br />
<br />
==People==<br />
<br />
{| border="1"<br />
|-<br />
|class="header"|Name<br />
|class="header"|IRC Nick<br />
|class="header"|Blog<br />
|class="header"|Github Account<br />
|class="header"|Wiki Page<br />
|class="header"|Twitter<br />
|-<br />
|David Humphrey<br />
|humph<br />
|http://vocamus.net/dave<br />
|[https://github.com/humphd humphd]<br />
|[[User:David.humphrey]]<br />
|[http://twitter.com/humphd @humphd]<br />
|-<br />
|Vince Lee<br />
|Lynart<br />
|http://lynart.wordpress.com/author/lynart/<br />
|[https://github.com/Lynart Lynart]<br />
|[[User:Lynart]]<br />
|None<br />
|-<br />
|-<br />
|Rick Eyre <br />
|epsilon<br />
|http://epsilon812.wordpress.com<br />
|[https://github.com/RickEyre RickEyre]<br />
|[[User:Errichard]]<br />
|[https://twitter.com/epsilon812 @epsilon812]<br />
|-<br />
|-<br />
|David Perit<br />
|dperit<br />
|http://dperit.blogspot.com<br />
|[https://github.com/dperit dperit]<br />
|[[User:dperit]]<br />
|[http://twitter.com/dperit @dperit]<br />
|-<br />
|-<br />
|Dale Karp<br />
|daleee<br />
|http://dale.io<br />
|[https://github.com/daliuss daliuss]<br />
|[[User:Dkarp]]<br />
|[http://twitter.com/daliuss @daliuss]<br />
|-<br />
|-<br />
|Thevakaran Virutthasalam<br />
|deva<br />
|http://thevakaran.wordpress.com<br />
|[https://github.com/gobihun gobihun]<br />
|[[User:tvirutthasalam]]<br />
|[http://twitter.com/gobihun @gobihun]<br />
|-<br />
|-<br />
|Dylan Potter (pref. Caitlin Potter)<br />
|caitp<br />
|http://caitpotter.blogspot.ca<br />
|[https://github.com/caitp caitp]<br />
|[[User:Dylan Potter]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Shayan Zafar Ahmad<br />
|szahmad<br />
|[http://zaf1.wordpress.com Shayan's Blog]<br />
|[https://github.com/ShayanZafar Shayan's GitHub]<br />
|[[User:Szahmad]]<br />
|[http://twitter.com/ShayanZafar ShayanZafar]<br />
|-<br />
<br />
|-<br />
| Michael Stiver-Balla<br />
| Stiver<br />
|[http://stiversc.blogspot.ca/ Stiver's Blog]<br />
|[https://github.com/Stiver Stiver's GitHub]<br />
|[[User:Mmstiver-balla]]<br />
|[http://twitter.com/stiversc @StiverSC]<br />
|-<br />
<br />
<br />
|-<br />
| Michael Afidchao<br />
| mdafidchao<br />
|http://kypertrast.net/seneca<br />
|[https://github.com/mafidchao mafidchao]<br />
|[[User:Mdafidchao]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Jordan Raffoul<br />
| jbraffoul<br />
|http://jbraffoul.wordpress.com<br />
|[https://github.com/jbraffoul jbraffoul]<br />
|[[User:Jbraffoul]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Edwin Lim<br />
| LimeD3<br />
|http://limed3.wordpress.com/<br />
|[https://github.com/limed3 limed3]<br />
|[[User:elim2]]<br />
|None<br />
|-<br />
<br />
<br />
<br />
|-<br />
| Kyle Barnhart<br />
| kmbarnhart<br />
| http://kmbarnhart.blogspot.ca/ (locked) <br />
|[https://github.com/KyleBarnhart KyleBarnhart ]<br />
|[[User:kmbarnhart]]<br />
|None<br />
|-</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Fall_2012_Open_Source_Students&diff=87267Fall 2012 Open Source Students2012-09-13T05:58:06Z<p>Kmbarnhart: /* People */</p>
<hr />
<div>==Introduction==<br />
<br />
This is a list of students in the [[DPS909]] and [[OSD600]] courses for fall 2012. Please add your name and info below.<br />
<br />
==People==<br />
<br />
{| border="1"<br />
|-<br />
|class="header"|Name<br />
|class="header"|IRC Nick<br />
|class="header"|Blog<br />
|class="header"|Github Account<br />
|class="header"|Wiki Page<br />
|class="header"|Twitter<br />
|-<br />
|David Humphrey<br />
|humph<br />
|http://vocamus.net/dave<br />
|[https://github.com/humphd humphd]<br />
|[[User:David.humphrey]]<br />
|[http://twitter.com/humphd @humphd]<br />
|-<br />
|Vince Lee<br />
|Lynart<br />
|http://lynart.wordpress.com/author/lynart/<br />
|[https://github.com/Lynart Lynart]<br />
|[[User:Lynart]]<br />
|None<br />
|-<br />
|-<br />
|Rick Eyre <br />
|epsilon<br />
|http://epsilon812.wordpress.com<br />
|[https://github.com/RickEyre RickEyre]<br />
|[[User:Errichard]]<br />
|[https://twitter.com/epsilon812 @epsilon812]<br />
|-<br />
|-<br />
|David Perit<br />
|dperit<br />
|http://dperit.blogspot.com<br />
|[https://github.com/dperit dperit]<br />
|[[User:dperit]]<br />
|[http://twitter.com/dperit @dperit]<br />
|-<br />
|-<br />
|Dale Karp<br />
|daleee<br />
|http://dale.io<br />
|[https://github.com/daliuss daliuss]<br />
|[[User:Dkarp]]<br />
|[http://twitter.com/daliuss @daliuss]<br />
|-<br />
|-<br />
|Thevakaran Virutthasalam<br />
|deva<br />
|http://thevakaran.wordpress.com<br />
|[https://github.com/gobihun gobihun]<br />
|[[User:tvirutthasalam]]<br />
|[http://twitter.com/gobihun @gobihun]<br />
|-<br />
|-<br />
|Dylan Potter (pref. Caitlin Potter)<br />
|caitp<br />
|http://caitpotter.blogspot.ca<br />
|[https://github.com/caitp caitp]<br />
|[[User:Dylan Potter]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Shayan Zafar Ahmad<br />
|szahmad<br />
|[http://zaf1.wordpress.com Shayan's Blog]<br />
|[https://github.com/ShayanZafar Shayan's GitHub]<br />
|[[User:Szahmad]]<br />
|[http://twitter.com/ShayanZafar ShayanZafar]<br />
|-<br />
<br />
|-<br />
| Michael Stiver-Balla<br />
| Stiver<br />
|[http://stiversc.blogspot.ca/ Stiver's Blog]<br />
|[https://github.com/Stiver Stiver's GitHub]<br />
|[[User:Mmstiver-balla]]<br />
|[http://twitter.com/stiversc @StiverSC]<br />
|-<br />
<br />
<br />
|-<br />
| Michael Afidchao<br />
| mdafidchao<br />
|http://kypertrast.net/seneca<br />
|[https://github.com/mafidchao mafidchao]<br />
|[[User:Mdafidchao]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Jordan Raffoul<br />
| jbraffoul<br />
|http://jbraffoul.wordpress.com<br />
|[https://github.com/jbraffoul jbraffoul]<br />
|[[User:Jbraffoul]]<br />
|None<br />
|-<br />
<br />
|-<br />
| Edwin Lim<br />
| LimeD3<br />
|http://limed3.wordpress.com/<br />
|[https://github.com/limed3 limed3]<br />
|[[User:elim2]]<br />
|None<br />
|-<br />
<br />
<br />
<br />
|-<br />
| Kyle Barnhart<br />
| kmbarnhart<br />
| http://kmbarnhart.blogspot.ca/ <br />
|[https://github.com/KyleBarnhart KyleBarnhart ]<br />
|[[User:kmbarnhart]]<br />
|None<br />
|-</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GPU610/DPS915_Student_List_20123&diff=86857GPU610/DPS915 Student List 201232012-09-06T16:16:19Z<p>Kmbarnhart: /* Student List for Fall of 2012 */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
== Student List for Fall of 2012 ==<br />
<!--<br />
Make sure you have done the following before you add your name here:<br />
<br />
<br />
* You have a registered name for IRC; irc.freenode.net server.<br />
* You have a blog for GAM666/DPS901 either by filtering your posts or a dedicated blog. (Optional)<br />
** Please make sure your blog feed to Planet CDOT is filtered by a keyword or category so that only blog posts related to our work in GAM666/DPS901 are posted on the planet<br />
--><br />
<br />
Please add your information to the student list below by adding the following to the end of table code (if you are a student in GPU610/DPS915, Fall of 2012).<br /><br />
<big><pre>|[[User:WUN | FN]]||LN||[[TPN |TN]] ||<br />
SUB||[mailto:LID@learn.senecac.on.ca?subject=SUB LID]||[[Special:Contributions/WUN | WUN]]||IN||[BURL BN]<br />
|-</pre></big><br />
Replace the following with your own information when adding the row to the table: <br /><br />
* WUN: Your Wiki User name<br />
* FN: Your First Name<br />
* LN: Your Last Name<br />
* TPN: Your Team/Project Page Name on wiki<br />
* TN: Your Team name<br />
* SUB: Your Subject(example: DPS901)<br />
* LID: Your seneca email ID (learn id)<br />
* IN: Your IRC '''Registered''' Nickname <br />
* BURL: Your Blog URL (if you do have one)<br />
* BN: Your Blog Title<br />
<br />
<!--<br />
Do not add your row unless you have all the required information described above.<br />
--><br />
<br />
If your information is not added to the following table, your assignment mark will be penalized.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5"<br />
|+ GPU610/DPS915 - Fall of 2012 student list<br />
! First Name !! Last Name !! Team Name !! Subject !! Seneca Id !! wiki id !! IRC nick !! Blog URL !! Repository<br />
|-<br />
|[[User:Chris Szalwinski | Chris]]||Szalwinski||[[GAM666/DPS901 Sample Team Page|Team Name]]||GPU610||[mailto:chris.szalwinski@senecac.on.ca?subject=gpu666 chris.szalwinski]||[[Special:Contributions/Chris Szalwinski | Chris Szalwinski]]|| || ||<br />
|-<br />
<br />
|[[User:Dkarp | Dale]]||Karp||n/a||GPU610||[mailto:dkarp@learn.senecac.on.ca dkarp ]||[[Special:Contributions/Dkarp | Dkarp]]||daleee||[http://dale.io dale.io]||<br />
<br />
|-<br />
<br />
|[[User:Sdealmeida | Simon]]||de Almeida||n/a||GPU610||[mailto:sdealmeida@learn.senecac.on.ca sdealmeida ]||[[Special:Contributions/sdealmeida | sdealmeida]]||sdealmeida||[http://http://sdealmeida.wordpress.com/ sdealmeida.wordpress.com]||<br />
<br />
|-<br />
<br />
|[[User:nkuznetsov | Nikita]]||Kuznetsov||n/a||DPS915||[mailto:nkuznetsov@myseneca.ca nkuznetsov ]||[[Special:Contributions/nkuznetsov | nkuznetsov]]|||| ||<br />
<br />
|-<br />
<br />
|[[User:jasilver1 | Jesse]]||Silver||n/a||GPU610||[mailto:jasilver1@learn.senecac.on.ca jasilver1 ]||[[Special:Contributions/Jasilver1 | Jasilver1]]||JSilver99||[http://jsilver999.wordpress.com Blog]||<br />
|-<br />
<br />
<br />
|[[User:idshibanov | Ivan]]||Shibanov||n/a||GPU610||[mailto:idshibanov@learn.senecac.on.ca idshibanov ]||[[Special:Contributions/idshibanov | idshibanov]]||idshibanov||||<br />
<br />
<br />
|-<br />
<br />
|[[User:Elim2 | Edwin]]||Lim||n/a||GPU610||[mailto:elim2@learn.senecac.on.ca elim2 ]||[[Special:Contributions/Elim2 | elim2]]||||||<br />
<br />
|-<br />
|[[User:Shutov | Mike]]||mshutov||[[N/A |N/A]] || GPU610||[mailto:mshutov@learn.senecac.on.ca?subject=SUB mshutov]||[[Special:Contributions/mshutov | mshutov]]||n/a||[n/a]||<br />
|-<br />
|[[User:mdafidchao | Michael]]||Afidchao||n/a||GPU610||[mailto:mdafidchao@myseneca.ca mdafidchao ]||[[Special:Contributions/mdafidchao | mdafidchao]]||mdafidchao||[http://kypertrast.net/seneca Blog]||<br />
|-<br />
<br />
|[[User:JBoelen | James]]||Boelen||n/a||DPS915||[mailto:jboelen@learn.senecac.on.ca jboelen ]||[[Special:Contributions/JBoelen |JBoelen]]||jboelen||[http://james.boelen.ca Blog]||[https://github.com/jboelen Git Repository]<br />
<br />
|-<br />
<br />
|[[User:sskrishnamoo | Suventhan]]||Krishnamoorthy||n/a||DPS915||[mailto:sskrishnamoo@learn.senecac.on.ca sskrishnamoo ]||[[Special:Contributions/sskrishnamoo | sskrishnamoo]]||sskrishnamoo|| ||<br />
<br />
<br />
|-<br />
<br />
|[[User:nm486| Stanley]]||Tsang||n/a||DPS915||[mailto:stsang1@learn.senecac.on.ca stsang1 ]||[[Special:Contributions/stsang1| nm486]]||nm486||[http://nm486.wordpress.com/ Blog Link]||<br />
<br />
|-<br />
<br />
<br />
<br />
|-<br />
<br />
|[[User:diogogmt | Diogo]]||Monteiro||n/a||DPS915||[mailto:dmonteiro3@learn.senecac.on.ca dmonteiro3]||[[Special:Contributions/Diogogmt|Diogogmt]]||diogogmt||[http://http://diogogmt.wordpress.com/ diogogmt.wordpress.com]||<br />
|-<br />
|[[User:Rhung4 | Raymond]]||Hung||n/a||DPS915||[mailto:rhung4@learn.senecac.on.ca rhung4]||[[Special:Contributions/Rhung4| Rhung]]||rhung||||<br />
<br />
|-<br />
|[[User:salopezmunoz | Santiago]]||Munoz||n/a||GPU610||[mailto:salopezmunuoz@learn.senecac.on.ca Santiago ]||[[Special:Contributions/Salopezmunoz | salopezmunoz]]||||salopezmunoz||<br />
<br />
|-<br />
|[[User:mmstiver-balla| Michael]]||Stiver-Balla||n/a||GPU610||[mailto:mmstiver-balla@learn.senecac.on.ca mmstiver-balla]||[[Special:Contributions/mmstiver-balla| mmstiver-balla]]||mmstiver-balla||||<br />
|-<br />
|[[User:mcberena | Melvin]]||Berena||n/a||DPS915||[mailto:mcberena@learn.senecac.on.ca mcberena ]||[[Special:Contributions/mcberena |mcberena]]||mcberena||[http://melvinberena.com melvinberena.com]||<br />
<br />
|-<br />
|[[User:Jcfernandez2 | Jude]]||Fernandez||n/a||DPS915||[mailto:jcfernandez2@learn.senecac.on.ca jcfernandez2 ]||[[Special:Contributions/Jcfernandez2 | Jcfernandez2]]||n/a||[n/a]||<br />
|-<br />
|[[User:ccau1 | Calvin]]||Au||n/a||DPS915||[mailto:ccau1@learn.senecac.on.ca ccau1 ]||[[Special:Contributions/ccau1 | ccau1]]||n/a||[n/a]||<br />
|-<br />
|[[User:Sbrooks | Stephen]]||Brooks||n/a||GPU610||[mailto:sbrooks4@learn.senecac.on.ca sbrooks4]||[[Special:Contributions/sbrooks4 | sbrooks4]]||||||<br />
|-<br />
|[[User:wtan5| William]]||Tan||n/a||DPS915||[mailto:wtan5@learn.senecac.on.ca wtan5]||[[Special:Contributions/wtan5 | wtan5]]||n/a||[n/a]|| <br />
|-<br />
|[[User:rjmorales1 | Randl]]||Morales||n/a||DPS915||[mailto:rjmorales1@learn.senecac.on.ca rjmorales1]||[[Special:Contributions/rjmorales1 |rjmorales1]]||rjmorales1|| ||<br />
|-<br />
|[[User:kmbarnhar|Kyle]]||Barnhart||n/a||DPS915||[mailto:kmbarnhart@learn.senecac.on.ca kmbarnhart]||[[Special:Contributions/kmbarnhart | kmbarnhart]]||||||<br />
|-</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GPU610/DPS915_Student_List_20123&diff=86856GPU610/DPS915 Student List 201232012-09-06T16:15:40Z<p>Kmbarnhart: /* Student List for Fall of 2012 */</p>
<hr />
<div>{{GPU610/DPS915 Index | 20123}}<br />
== Student List for Fall of 2012 ==<br />
<!--<br />
Make sure you have done the following before you add your name here:<br />
<br />
<br />
* You have a registered name for IRC; irc.freenode.net server.<br />
* You have a blog for GAM666/DPS901 either by filtering your posts or a dedicated blog. (Optional)<br />
** Please make sure your blog feed to Planet CDOT is filtered by a keyword or category so that only blog posts related to our work in GAM666/DPS901 are posted on the planet<br />
--><br />
<br />
Please add your information to the student list below by adding the following to the end of table code (if you are a student in GPU610/DPS915, Fall of 2012).<br /><br />
<big><pre>|[[User:WUN | FN]]||LN||[[TPN |TN]] ||<br />
SUB||[mailto:LID@learn.senecac.on.ca?subject=SUB LID]||[[Special:Contributions/WUN | WUN]]||IN||[BURL BN]<br />
|-</pre></big><br />
Replace the following with your own information when adding the row to the table: <br /><br />
* WUN: Your Wiki User name<br />
* FN: Your First Name<br />
* LN: Your Last Name<br />
* TPN: Your Team/Project Page Name on wiki<br />
* TN: Your Team name<br />
* SUB: Your Subject(example: DPS901)<br />
* LID: Your seneca email ID (learn id)<br />
* IN: Your IRC '''Registered''' Nickname <br />
* BURL: Your Blog URL (if you do have one)<br />
* BN: Your Blog Title<br />
<br />
<!--<br />
Do not add your row unless you have all the required information described above.<br />
--><br />
<br />
If your information is not added to the following table, your assignment mark will be penalized.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5"<br />
|+ GPU610/DPS915 - Fall of 2012 student list<br />
! First Name !! Last Name !! Team Name !! Subject !! Seneca Id !! wiki id !! IRC nick !! Blog URL !! Repository<br />
|-<br />
|[[User:Chris Szalwinski | Chris]]||Szalwinski||[[GAM666/DPS901 Sample Team Page|Team Name]]||GPU610||[mailto:chris.szalwinski@senecac.on.ca?subject=gpu666 chris.szalwinski]||[[Special:Contributions/Chris Szalwinski | Chris Szalwinski]]|| || ||<br />
|-<br />
<br />
|[[User:Dkarp | Dale]]||Karp||n/a||GPU610||[mailto:dkarp@learn.senecac.on.ca dkarp ]||[[Special:Contributions/Dkarp | Dkarp]]||daleee||[http://dale.io dale.io]||<br />
<br />
|-<br />
<br />
|[[User:Sdealmeida | Simon]]||de Almeida||n/a||GPU610||[mailto:sdealmeida@learn.senecac.on.ca sdealmeida ]||[[Special:Contributions/sdealmeida | sdealmeida]]||sdealmeida||[http://http://sdealmeida.wordpress.com/ sdealmeida.wordpress.com]||<br />
<br />
|-<br />
<br />
|[[User:nkuznetsov | Nikita]]||Kuznetsov||n/a||DPS915||[mailto:nkuznetsov@myseneca.ca nkuznetsov ]||[[Special:Contributions/nkuznetsov | nkuznetsov]]|||| ||<br />
<br />
|-<br />
<br />
|[[User:jasilver1 | Jesse]]||Silver||n/a||GPU610||[mailto:jasilver1@learn.senecac.on.ca jasilver1 ]||[[Special:Contributions/Jasilver1 | Jasilver1]]||JSilver99||[http://jsilver999.wordpress.com Blog]||<br />
|-<br />
<br />
<br />
|[[User:idshibanov | Ivan]]||Shibanov||n/a||GPU610||[mailto:idshibanov@learn.senecac.on.ca idshibanov ]||[[Special:Contributions/idshibanov | idshibanov]]||idshibanov||||<br />
<br />
<br />
|-<br />
<br />
|[[User:Elim2 | Edwin]]||Lim||n/a||GPU610||[mailto:elim2@learn.senecac.on.ca elim2 ]||[[Special:Contributions/Elim2 | elim2]]||||||<br />
<br />
|-<br />
|[[User:Shutov | Mike]]||mshutov||[[N/A |N/A]] || GPU610||[mailto:mshutov@learn.senecac.on.ca?subject=SUB mshutov]||[[Special:Contributions/mshutov | mshutov]]||n/a||[n/a]||<br />
|-<br />
|[[User:mdafidchao | Michael]]||Afidchao||n/a||GPU610||[mailto:mdafidchao@myseneca.ca mdafidchao ]||[[Special:Contributions/mdafidchao | mdafidchao]]||mdafidchao||[http://kypertrast.net/seneca Blog]||<br />
|-<br />
<br />
|[[User:JBoelen | James]]||Boelen||n/a||DPS915||[mailto:jboelen@learn.senecac.on.ca jboelen ]||[[Special:Contributions/JBoelen |JBoelen]]||jboelen||[http://james.boelen.ca Blog]||[https://github.com/jboelen Git Repository]<br />
<br />
|-<br />
<br />
|[[User:sskrishnamoo | Suventhan]]||Krishnamoorthy||n/a||DPS915||[mailto:sskrishnamoo@learn.senecac.on.ca sskrishnamoo ]||[[Special:Contributions/sskrishnamoo | sskrishnamoo]]||sskrishnamoo|| ||<br />
<br />
<br />
|-<br />
<br />
|[[User:nm486| Stanley]]||Tsang||n/a||DPS915||[mailto:stsang1@learn.senecac.on.ca stsang1 ]||[[Special:Contributions/stsang1| nm486]]||nm486||[http://nm486.wordpress.com/ Blog Link]||<br />
<br />
|-<br />
<br />
<br />
<br />
|-<br />
<br />
|[[User:diogogmt | Diogo]]||Monteiro||n/a||DPS915||[mailto:dmonteiro3@learn.senecac.on.ca dmonteiro3]||[[Special:Contributions/Diogogmt|Diogogmt]]||diogogmt||[http://http://diogogmt.wordpress.com/ diogogmt.wordpress.com]||<br />
|-<br />
|[[User:Rhung4 | Raymond]]||Hung||n/a||DPS915||[mailto:rhung4@learn.senecac.on.ca rhung4]||[[Special:Contributions/Rhung4| Rhung]]||rhung||||<br />
<br />
|-<br />
|[[User:salopezmunoz | Santiago]]||Munoz||n/a||GPU610||[mailto:salopezmunuoz@learn.senecac.on.ca Santiago ]||[[Special:Contributions/Salopezmunoz | salopezmunoz]]||||salopezmunoz||<br />
<br />
|-<br />
|[[User:mmstiver-balla| Michael]]||Stiver-Balla||n/a||GPU610||[mailto:mmstiver-balla@learn.senecac.on.ca mmstiver-balla]||[[Special:Contributions/mmstiver-balla| mmstiver-balla]]||mmstiver-balla||||<br />
|-<br />
|[[User:mcberena | Melvin]]||Berena||n/a||DPS915||[mailto:mcberena@learn.senecac.on.ca mcberena ]||[[Special:Contributions/mcberena |mcberena]]||mcberena||[http://melvinberena.com melvinberena.com]||<br />
<br />
|-<br />
|[[User:Jcfernandez2 | Jude]]||Fernandez||n/a||DPS915||[mailto:jcfernandez2@learn.senecac.on.ca jcfernandez2 ]||[[Special:Contributions/Jcfernandez2 | Jcfernandez2]]||n/a||[n/a]||<br />
|-<br />
|[[User:ccau1 | Calvin]]||Au||n/a||DPS915||[mailto:ccau1@learn.senecac.on.ca ccau1 ]||[[Special:Contributions/ccau1 | ccau1]]||n/a||[n/a]||<br />
|-<br />
|[[User:Sbrooks | Stephen]]||Brooks||n/a||GPU610||[mailto:sbrooks4@learn.senecac.on.ca sbrooks4]||[[Special:Contributions/sbrooks4 | sbrooks4]]||||||<br />
|-<br />
|[[User:wtan5| William]]||Tan||n/a||DPS915||[mailto:wtan5@learn.senecac.on.ca wtan5]||[[Special:Contributions/wtan5 | wtan5]]||n/a||[n/a]|| <br />
|-<br />
|[[User:rjmorales1 | Randl]]||Morales||n/a||DPS915||[mailto:rjmorales1@learn.senecac.on.ca rjmorales1]||[[Special:Contributions/rjmorales1 |rjmorales1]]||rjmorales1|| ||<br />
|-<br />
|[[User:kmbarnhar|Kyle]]||Barnhart||n/a||DPS915||[mailto:kmbarnhart@learn.senecac.on.casbrooks4]||[[Special:Contributions/kmbarnhart | kmbarnhart]]||||||<br />
|-</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GAM670/DPS905_Student_List_20121&diff=80147GAM670/DPS905 Student List 201212012-02-01T13:31:27Z<p>Kmbarnhart: /* Student List for Winter of 2012 */</p>
<hr />
<div>== Student List for Winter of 2012 ==<br />
<br />
Please update or add your information to the student list table below (if you are a student in GAM670/DPS905, Winter of 2012).<br /><br />
If your information is incomplete or inaccurate, marks will be deducted.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5"<br />
|+ GAM670/DPS905 - Winter of 2012 student list<br />
! First Name !! Last Name !! Team Name !! Feature !! Subject !! Seneca Id !! wiki id !! IRC nick !! Blog URL !! Repository<br />
|-<br />
|-<br />
|[[User:Chris_Szalwinski | Chris]]||Szalwinski||[[DPS905_Project_Team|My Team's Name]]||Lighting||GAM670||[mailto:chris.szalwinski@senecac.on.ca chris.szalwinski]||[[Special:Contributions/Chris_Szalwinski| Chris_Szalwinski]]|| || ||[[svn://zenit.senecac.on.ca/dpsgam dpsgam]]<br />
|-<br />
|[[User:sftracy | Sean]]||Tracy||[[C Minor]]|| Particle Systems ||GAM670||[mailto:sftracy@learn.senecac.on.ca sftracy]||[[Special:Contributions/sftracy| sftracy]]|| || ||<br />
|-<br />
|[[User:nmirabella | Nick]]||Mirabella||[[C Minor]]|| DirectX (.X) Animation ||DPS905||[mailto:nmirabella@learn.senecac.on.ca nmirabella]||[[Special:Contributions/nmirabella| nmirabella]]|| || ||<br />
|-<br />
<br />
|[[User:jhanna6 | John]]||Hanna||[[C Minor]]||Oct Trees||GAM670||[mailto:jhanna6@learn.senecac.on.ca jhanna6]||[[Special:Contributions/jhanna6| jhanna6]]||[[Special:Contributions/jhanna6| jhanna6]]|| ||<br />
|-<br />
|[[User:gbatumbya| Grace]]||Batumbya||...|| Quaternions ||DPS905||[mailto:gsbatumb@learn.senecac.on.ca gsbatumb]||[[Special:Contributions/gbatumbya| gbatumbya]]||bgrace||http://gbatumbya.wordpress.com ||<br />
|-<br />
<br />
|[[User:rjmorales1 | Randl]]||Morales||WIN||Terrain Generation||DPS905||[mailto:rjmorales1@learn.senecac.on.ca rjmorales1]||[[Special:Contributions/rjmorales1|rjmorales1]]|||| ||<br />
|-<br />
|[[User:Jeremy.millar | Jeremy]]||Millar||WIN||Networked Gameplay||DPS905||[mailto:jmillar21@learn.senecac.on.ca jmillar2]||[[Special:Contributions/jmillar2|jmillar2]]|||| ||<br />
|-<br />
|[[User:jrobinson7 | James]]||Robinson||iSquared||Collision Detection ||GAM670||[mailto:jrobinson7@learn.senecac.on.ca jrobinson7]||[[Special:Contributions/jrobinson7|jrobinson7]]|||| ||<br />
|-<br />
|[[User:Artur_Shinkevich | Artur]]||Shinkevich||iSquared||Collision Detection ||GAM670||[mailto:ashinkevich@learn.senecac.on.ca ashinkevich]||[[Special:Contributions/ashinkevich|ashinkevich]]|||| ||<br />
|-<br />
|[[User:kmbarnhart | Kyle]]||Barnhart|| || ||DPS905||[mailto:kmbarnhart@learn.senecac.on.ca kmbarnhart]||[[Special:Contributions/kmbarnhart|kmbarnhart]]|||| ||</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=GAM670/DPS905_Student_List_20121&diff=80146GAM670/DPS905 Student List 201212012-02-01T13:29:23Z<p>Kmbarnhart: /* Student List for Winter of 2012 */</p>
<hr />
<div>== Student List for Winter of 2012 ==<br />
<br />
Please update or add your information to the student list table below (if you are a student in GAM670/DPS905, Winter of 2012).<br /><br />
If your information is incomplete or inaccurate, marks will be deducted.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5"<br />
|+ GAM670/DPS905 - Winter of 2012 student list<br />
! First Name !! Last Name !! Team Name !! Feature !! Subject !! Seneca Id !! wiki id !! IRC nick !! Blog URL !! Repository<br />
|-<br />
|-<br />
|[[User:Chris_Szalwinski | Chris]]||Szalwinski||[[DPS905_Project_Team|My Team's Name]]||Lighting||GAM670||[mailto:chris.szalwinski@senecac.on.ca chris.szalwinski]||[[Special:Contributions/Chris_Szalwinski| Chris_Szalwinski]]|| || ||[[svn://zenit.senecac.on.ca/dpsgam dpsgam]]<br />
|-<br />
|[[User:sftracy | Sean]]||Tracy||[[C Minor]]|| Particle Systems ||GAM670||[mailto:sftracy@learn.senecac.on.ca sftracy]||[[Special:Contributions/sftracy| sftracy]]|| || ||<br />
|-<br />
|[[User:nmirabella | Nick]]||Mirabella||[[C Minor]]|| DirectX (.X) Animation ||DPS905||[mailto:nmirabella@learn.senecac.on.ca nmirabella]||[[Special:Contributions/nmirabella| nmirabella]]|| || ||<br />
|-<br />
<br />
|[[User:jhanna6 | John]]||Hanna||[[C Minor]]||Oct Trees||GAM670||[mailto:jhanna6@learn.senecac.on.ca jhanna6]||[[Special:Contributions/jhanna6| jhanna6]]||[[Special:Contributions/jhanna6| jhanna6]]|| ||<br />
|-<br />
|[[User:gbatumbya| Grace]]||Batumbya||...|| Quaternions ||DPS905||[mailto:gsbatumb@learn.senecac.on.ca gsbatumb]||[[Special:Contributions/gbatumbya| gbatumbya]]||bgrace||http://gbatumbya.wordpress.com ||<br />
|-<br />
<br />
|[[User:rjmorales1 | Randl]]||Morales||WIN||Terrain Generation||DPS905||[mailto:rjmorales1@learn.senecac.on.ca rjmorales1]||[[Special:Contributions/rjmorales1|rjmorales1]]|||| ||<br />
|-<br />
|[[User:Jeremy.millar | Jeremy]]||Millar||WIN||Networked Gameplay||DPS905||[mailto:jmillar21@learn.senecac.on.ca jmillar2]||[[Special:Contributions/jmillar2|jmillar2]]|||| ||<br />
|-<br />
|[[User:jrobinson7 | James]]||Robinson||iSquared||Collision Detection ||GAM670||[mailto:jrobinson7@learn.senecac.on.ca jrobinson7]||[[Special:Contributions/jrobinson7|jrobinson7]]|||| ||<br />
|-<br />
|[[User:Artur_Shinkevich | Artur]]||Shinkevich||iSquared||Collision Detection ||GAM670||[mailto:ashinkevich@learn.senecac.on.ca ashinkevich]||[[Special:Contributions/ashinkevich|ashinkevich]]|||| ||<br />
|-<br />
|[[User:kmbarnhart | Kyle]]||Barnhart|| || ||DPS905||[mailto:kmbarnhart@learn.senecac.on.caashinkevich]||[[Special:Contributions/kmbarnhart|kmbarnhart]]|||| ||</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=75340Team Ether2011-12-02T19:36:51Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Outline====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
* Double space<br />
* 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
* Title<br />
* Abstract<br />
* Keywords<br />
<br />
Intro<br />
* Context<br />
** What is ubicomp<br />
** embedded<br />
* Purpose<br />
** Why is it important to designers<br />
* Interpretations of the idea of ubiquitous computing<br />
** ubicomp, ambient intelligence, pervasive computing<br />
* thesis<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
* One paragraph per point, 6 points, ~250 words per paragraph<br />
* POINTS<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
* Thesis (reword)<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
* summary of points<br />
* recommendations, ideas<br />
* general<br />
<br />
=Essay Draft=<br />
<br />
'''Intro'''<br />
<br />
Ubiquitous computing is a post desktop model of human computer interaction in which the information processing is part of people’s day-to-day activities and operation. Computers are getting faster, smaller, more efficient, and cheaper which is resulting with computers in everything. This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. As this develops, computers will have to become more intelligence and aware of their surroundings. One of the main key points of ubiquitous computing is to make the machine adjust to the human world; to make machines a part of daily life without people noticing it. Some of the devices that we use with the ubiquitous computing model are cell phones, music players, GPS’s, and interactive whiteboards. These are great examples that demonstrate the ubiquitous computing model. People use all of these devices daily. However, they don’t think about the fact that those are actually computers. They have been integrated in our lives. <br />
<br />
There is a shift in the sense that technology is being integrated into our daily lives in a manner that encourages human/machine interaction. A lot of the technology that people take for granted is seldom even considered as something separate but rather as an extension of ourselves. Also people place a great level of trust in technology; often without thinking they are doing so. Whether it is a GPS directional system, a self-parking car, an iPad with important information on it, ubiquitous computing is becoming a key factor in our society. The average person does not really consider the computing power of the technology that they incorporate into their daily lives. Rather they seem to simply integrate the technology into their lifestyles. This is a natural human reaction to advances in technology once they become used by everybody and accepted in our environment.<br />
<br />
Like in the early 20th century the car was first used and understood by very few people. Now we drive our cars or take the bus without giving it a second thought and usually with very little thought as to how the car operates, aside from the need to put gas into it. The same is happening with tablets, phones, and many other devices. We simply incorporate them into our daily lives and they help us with our routine and they don’t seem amazing anymore, just a natural tools for us to use. Tablets, GPS systems, controller free video games, car interfaces, voice command technology, cell phones have all helped to remove some of the artificial interfaces from traditional technology usage. When we think about it for a moment we see that this technology has become a key part of our daily lives in a way that did not exist even 20 years ago. In both our work and entertainment technology has become a standard part of our daily lives. This trend is continuing and this level of integration is becoming more and more ubiquitous. This essay will elaborate further on ubiquitous computing. Ubiquitous computing is the future of computer products. Moreover, consumers will likely to purchase something that is familiar to them and seems less like a machine. Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
'''Natural user interface'''<br />
<br />
People prefer computers that conform to them rather than conforming to computers. A natural and easy process in learning how to use a device is crucially important in a product. If the learning process is too complex or takes too much time, the users won’t want to use the product and will search for alternatives for it. User-friendliness and natural input are of key importance in this area. Rather than reading through manual, software devices are designed in such a way as to allow the user to discover the functions of the product, through minimal experimentation. In this sense the technology teaches us how to use it through interaction. Simply exploring the functions of a cellphone or an iPad may serve as an example of this, as do cars that can park themselves. For instance, the technology now exists on the market that allows a computer to park a car by sensing the surrounding area and acting accordingly. The luxury car giant Lexus currently markets such a model and this serves as an excellent example of easy natural user interface. Many north Americans can drive a car, but giving control to a computer to move the car while the person is actually in it, in other words trusting the computer to safely park the car without damage is a strong example of the level of trust that people have placed in technology and how far the paradigm shift has come. In terms of ease of use in this interface, no special training is required to make use of this feature and it is presumed that any driver will be able to make use of this feature in a comfortable way since the car is on the market. This is a good example of a natural user interface since the only skills needed are the ability to drive in the first place a have only the causal acceptance and awareness of technology usage that most people have these days. <br />
<br />
'''Context Awareness'''<br />
<br />
Users do not like to feed their devices and application information. Ubiquitous devices should determine as much information about the user as possible in order to adapt to and predict what a user wants. To do this requires contextual awareness. Context includes such information as the user’s identity, location, and activities. By identity we mean who the user is and what are their preferences. By location we mean where the user is in the world or in a room, where have they been. And what is around them. And by activities we mean what is the user doing and what have they done. In true ubiquitous computing, this activity awareness extends not just to what the user is doing with the device or application, but what is the user doing in the world. All this information should be determined implicitly, without direct input from the user. It is that explicit input from users that should be avoided in order to making the computer processes invisible to the user, and thereby makes the user experience feel more natural. A good example of context awareness is a device that changes the device language to French automatically when a user speaks French instead of having the user manually change the language to French. While that may take more sophisticated speech recognition systems than we have available today, the amount of contextual awareness in devices is increasing. With the addition of GPS and online access in smartphones and tablets in the last few years, services now have access to a significantly greater amount of locational context information.<br />
<br />
'''Personalization'''<br />
<br />
All users like to feel special, and individualized. In congruence with this individuality users like to customize their computing experience. They like services that remember who they are, and their preferences. In addition to services having to remember user identities and their preferences, services also have to be adaptive. This adaptability means user preferences do not have to be set or pre-programmed by the user. Instead, the services will set the preference and personalize the user experience based upon previous user inputs and usage patterns. Example of this technology is the digital video recorder TIVo. TIVo records TV shows according to preset interests of the user, the more advanced version of TIVo records TV shows based on what the user have been watching in the past. So in essence if a user watches a lot science fiction shows, TIVo will prerecord shows of that nature without the user telling it to. And if the user preference changes, the service should be smart enough to change the settings without additional commands. This personalization and adaptation technologies are the basis of ubiquitous computing. They are also the core for realizing context awareness in pervasive service provisioning. Users want to discover the most appropriate service to support their tasks, and the most appropriate service depends on user preferences and context therefore, ubiquitous computing is pushed to provide the personalization needed for an individual user.<br />
<br />
'''Data Sharing'''<br />
<br />
In the ubiquitous computing model there are often many computers running many services. Users will expect that interactions with any given device will be shared with any other device. Services must be able to share information and use other services on the same device and across other devices. In addition it is likely than many services are going to be running at any given time, both on a single device and across many. These services need to be able to interact in real-time. For example, if you are watching television and a news story is mentioned, the user should be able to read it in more detail in a news service on any other device they are using. All this should happen without the user needing to search for it the news story. This sort of seamless interaction between multiple services and devices will allow users to easily and naturally carry on with whatever activity they are doing without needing to work at the device to make it do what they want it to do. This will make the computers invisible to users by making users think of the computers as an entirely different class of device. From the example the user perceives a television and perhaps a phone and not two computers with different interfaces.<br />
<br />
'''Service interruption and resumption'''<br />
<br />
Ubiquitous computing aims to integrate itself into everyday life, and everyday life is not a single threaded linear event. In the daily lives of an average user, there are many interruptions, stoppages, and unexpected occurrences. Users also need to take breaks during their activities, or even want to put an activity on hold. Sometimes an activity can be put on hold for long durations or permanently. Regardless of the durations or the frequency of interruptions to an activity, the ability to resume an activity after an interruption must exist. Users also expect the service to resume the activity with all previous progresses intact. What this means is that when a service pauses an activity or process it must save all progress done on the activity and any settings that might be created for the activity. When the activity resumes all the saved data must be readily available, and the activity should resume as if no interruption had occurred. Furthermore, when an activity had been paused for a long duration, the user might forget previous progress and the service should be aware of the passage of time, and reacquaint the user with the activity and its progress. In addition, users also require continuously available services, as today’s paradigm move toward the infusion of ubiquitous computing into our everyday lives, the services provided will need to become constantly available, always interrupted and easily resumed. The manner of the service resumption is also paramount in the successful integration of ubiquitous computing. The service must be able to start in one location, paused, resumed at a completely different location with a different interface and a different computer. Only when all of those capabilities are meet, then true integration into ubiquitous computing will be possible, and accepted by the users.<br />
<br />
'''Tablets and iPad example'''<br />
<br />
Tablets have existed before iPad came along. However, they were not successful. Microsoft came up with a line of Microsoft Tables PC but their clients were mainly business people. In 2010 Apple Inc. released the iPad with major success. The iPad is extremely popular and people find it easy to use. The key element of the iPad’s success lies with its great user interface that people find natural and comfortable to use. Natural interaction on the screen is what made it successful. They are easy to use due to the touch screen technology and iPads are very portable. In some ways they have replaced the paper notebooks that people used to carry around. Handwriting and note taking technology is also available and it’s interesting to note that this copies, in a technical way, the old styles of note taking. Comfort levels are established. The use of an iPad, for example, is learned quickly since the functions are all laid out on a touch screen. The only presumed background knowledge would by previous use of computers such as laptops, etc. which are common in today’s schools and workplaces. The user interface is natural because it removes the need to input information through the traditional keyboard in favor of directly inputting information on the screen, and the way people manipulate the screen. It was this natural interface that made people think of the iPad and of tablets as a new class of device, not merely a netbook or laptop without a keyboard.<br />
<br />
'''Conclusion'''<br />
<br />
The principles discussed in this essay are becoming more and more expected by users in the technology that they use. People demand that the devices and interfaces they use conform to the human form and ways of doing things, rather than making people conform to the demands of computers. This human centred design requires computers to become more aware of who users are, what they are doing with it, what is going on around in around it, and using these and other contextual information to adapt and to make predictions. Because everyone is different and uses computers differently, one of the ways computers need to adapt is to personalize interfaces and interactions with the computer to the user. And in real life people don’t usually do things in a linear task oriented way like traditional computer interactions. People want to be able to do many things at a time and have computers keep up with their activities and how those activates might affect each other. Furthermore, people don’t want to be limited by time and space. They want to be able to start, stop, and resume activities when and where they like. Computers will need to be able to facilitate to and adapt to how users want to use things, and not make user adapt to computers.<br />
<br />
The iPad serves as a good example of what can be accomplished when a product is designed properly and with these principles in mind. Primarily due to the new and innovative way people are naturally able to interact with it, and do so almost immediately without training has made people think of tablets in a new way, as a new class of device. This is essentially the goal of the ubiquitous computing model, not to make people think of computers as computers, but to think of them as an entirely different type of object. Designing computers that accomplish this goal is not easy. It requires designers and developers to think carefully about how people think and behave. That means more time spent focusing of developing these aspect and more time testing with people. This is time well spent because it gives those designers and developers a competitive advantage that is slowly becoming an expectation and requirement as the ubiquitous computing model become more and more prevalent.</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=75339Team Ether2011-12-02T19:35:52Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Outline====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
* Double space<br />
* 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
* Title<br />
* Abstract<br />
* Keywords<br />
<br />
Intro<br />
* Context<br />
** What is ubicomp<br />
** embedded<br />
* Purpose<br />
** Why is it important to designers<br />
* Interpretations of the idea of ubiquitous computing<br />
** ubicomp, ambient intelligence, pervasive computing<br />
* thesis<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
* One paragraph per point, 6 points, ~250 words per paragraph<br />
* POINTS<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
* Thesis (reword)<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
* summary of points<br />
* recommendations, ideas<br />
* general<br />
<br />
=Essay Draft=<br />
<br />
'''Intro'''<br />
<br />
Ubiquitous computing is a post desktop model of human computer interaction in which the information processing is part of people’s day-to-day activities and operation. Computers are getting faster, smaller, more efficient, and cheaper which is resulting with computers in everything. This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. As this develops, computers will have to become more intelligence and aware of their surroundings. One of the main key points of ubiquitous computing is to make the machine adjust to the human world; to make machines a part of daily life without people noticing it. Some of the devices that we use with the ubiquitous computing model are cell phones, music players, GPS’s, and interactive whiteboards. These are great examples that demonstrate the ubiquitous computing model. People use all of these devices daily. However, they don’t think about the fact that those are actually computers. They have been integrated in our lives. <br />
<br />
There is a shift in the sense that technology is being integrated into our daily lives in a manner that encourages human/machine interaction. A lot of the technology that people take for granted is seldom even considered as something separate but rather as an extension of ourselves. Also people place a great level of trust in technology; often without thinking they are doing so. Whether it is a GPS directional system, a self-parking car, an iPad with important information on it, ubiquitous computing is becoming a key factor in our society. The average person does not really consider the computing power of the technology that they incorporate into their daily lives. Rather they seem to simply integrate the technology into their lifestyles. This is a natural human reaction to advances in technology once they become used by everybody and accepted in our environment.<br />
<br />
Like in the early 20th century the car was first used and understood by very few people. Now we drive our cars or take the bus without giving it a second thought and usually with very little thought as to how the car operates, aside from the need to put gas into it. The same is happening with tablets, phones, and many other devices. We simply incorporate them into our daily lives and they help us with our routine and they don’t seem amazing anymore, just a natural tools for us to use. Tablets, GPS systems, controller free video games, car interfaces, voice command technology, cell phones have all helped to remove some of the artificial interfaces from traditional technology usage. When we think about it for a moment we see that this technology has become a key part of our daily lives in a way that did not exist even 20 years ago. In both our work and entertainment technology has become a standard part of our daily lives. This trend is continuing and this level of integration is becoming more and more ubiquitous. This essay will elaborate further on ubiquitous computing. Ubiquitous computing is the future of computer products. Moreover, consumers will likely to purchase something that is familiar to them and seems less like a machine. Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
'''Natural user interface'''<br />
<br />
People prefer computers that conform to them rather than conforming to computers. A Natural and easy process in learning how to use a device is crucially important in a product. If the learning process is too complex or take too much time; the users won’t want to use the product and will search alternatives for it. The purpose of Natural user interface is to make the user feel like a natural.<br />
<br />
User-friendliness and natural input are of key importance in this area. Rather than reading through manual software devices are designed in such a way as to allow the user to discover the functions of the product, through minimal experimentation. In this sense the technology teaches us how to use it through interaction. Simply exploring the functions of a cellphone or an iPad may serve as an example of this, as do cars that can park themselves.<br />
<br />
For instance, the technology now exists on the market that allows a computer to park a car by sensing the surrounding area and acting accordingly. The luxury car giant Lexus currently markets such a model and this serves as an excellent example of easy natural user interface. Many north Americans can drive a car, but giving control to a computer to move the car while the person is actually in it, in other words trusting the computer to safely park the car without damage is a strong example of the level of trust that people have placed in technology and how far the paradigm shift has come. In terms of ease of use in this interface no special training is required to make use of this feature and it is presumed that any driver will be able to make use of this feature in a comfortable way since the car is on the market. This is a good example of a natural user interface since the only skills needed are the ability to drive in the first place a have only the causal acceptance and awareness of technology usage that most people have these days. <br />
<br />
'''Context Awareness'''<br />
<br />
Users do not like to feed their devices and application information. Ubiquitous devices should determine as much information about the user as possible in order to adapt to and predict what a user wants. To do this requires contextual awareness. Context includes such information as the user’s identity, location, and activities. By identity we mean who the user is and what are their preferences. By location we mean where the user is in the world or in a room, where have they been. And what is around them. And by activities we mean what is the user doing and what have they done. In true ubiquitous computing, this activity awareness extends not just to what the user is doing with the device or application, but what is the user doing in the world. All this information should be determined implicitly, without direct input from the user. It is that explicit input from users that should be avoided in order to making the computer processes invisible to the user, and thereby makes the user experience feel more natural. A good example of context awareness is a device that changes the device language to French automatically when a user speaks French instead of having the user manually change the language to French. While that may take more sophisticated speech recognition systems than we have available today, the amount of contextual awareness in devices is increasing. With the addition of GPS and online access in smartphones and tablets in the last few years, services now have access to a significantly greater amount of locational context information.<br />
<br />
'''Personalization'''<br />
<br />
All users like to feel special, and individualized. In congruence with this individuality users like to customize their computing experience. They like services that remember who they are, and their preferences. In addition to services having to remember user identities and their preferences, services also have to be adaptive. This adaptability means user preferences do not have to be set or pre-programmed by the user. Instead, the services will set the preference and personalize the user experience based upon previous user inputs and usage patterns. Example of this technology is the digital video recorder TIVo. TIVo records TV shows according to preset interests of the user, the more advanced version of TIVo records TV shows based on what the user have been watching in the past. So in essence if a user watches a lot science fiction shows, TIVo will prerecord shows of that nature without the user telling it to. And if the user preference changes, the service should be smart enough to change the settings without additional commands. This personalization and adaptation technologies are the basis of ubiquitous computing. They are also the core for realizing context awareness in pervasive service provisioning. Users want to discover the most appropriate service to support their tasks, and the most appropriate service depends on user preferences and context therefore, ubiquitous computing is pushed to provide the personalization needed for an individual user.<br />
<br />
'''Data Sharing'''<br />
<br />
In the ubiquitous computing model there are often many computers running many services. Users will expect that interactions with any given device will be shared with any other device. Services must be able to share information and use other services on the same device and across other devices. In addition it is likely than many services are going to be running at any given time, both on a single device and across many. These services need to be able to interact in real-time. For example, if you are watching television and a news story is mentioned, the user should be able to read it in more detail in a news service on any other device they are using. All this should happen without the user needing to search for it the news story. This sort of seamless interaction between multiple services and devices will allow users to easily and naturally carry on with whatever activity they are doing without needing to work at the device to make it do what they want it to do. This will make the computers invisible to users by making users think of the computers as an entirely different class of device. From the example the user perceives a television and perhaps a phone and not two computers with different interfaces.<br />
<br />
'''Service interruption and resumption'''<br />
<br />
Ubiquitous computing aims to integrate itself into everyday life, and everyday life is not a single threaded linear event. In the daily lives of an average user, there are many interruptions, stoppages, and unexpected occurrences. Users also need to take breaks during their activities, or even want to put an activity on hold. Sometimes an activity can be put on hold for long durations or permanently. Regardless of the durations or the frequency of interruptions to an activity, the ability to resume an activity after an interruption must exist. Users also expect the service to resume the activity with all previous progresses intact. What this means is that when a service pauses an activity or process it must save all progress done on the activity and any settings that might be created for the activity. When the activity resumes all the saved data must be readily available, and the activity should resume as if no interruption had occurred. Furthermore, when an activity had been paused for a long duration, the user might forget previous progress and the service should be aware of the passage of time, and reacquaint the user with the activity and its progress. In addition, users also require continuously available services, as today’s paradigm move toward the infusion of ubiquitous computing into our everyday lives, the services provided will need to become constantly available, always interrupted and easily resumed. The manner of the service resumption is also paramount in the successful integration of ubiquitous computing. The service must be able to start in one location, paused, resumed at a completely different location with a different interface and a different computer. Only when all of those capabilities are meet, then true integration into ubiquitous computing will be possible, and accepted by the users.<br />
<br />
'''Tablets and iPad example'''<br />
<br />
Tablets have existed before iPad came along. However, they were not successful. Microsoft came up with a line of Microsoft Tables PC but their clients were mainly business people. In 2010 Apple Inc. released the iPad with major success. The iPad is extremely popular and people find it easy to use. The key element of the iPad’s success lies with its great user interface that people find natural and comfortable to use. Natural interaction on the screen is what made it successful. They are easy to use due to the touch screen technology and iPads are very portable. In some ways they have replaced the paper notebooks that people used to carry around. Handwriting and note taking technology is also available and it’s interesting to note that this copies, in a technical way, the old styles of note taking. Comfort levels are established. The use of an iPad, for example, is learned quickly since the functions are all laid out on a touch screen. The only presumed background knowledge would by previous use of computers such as laptops, etc. which are common in today’s schools and workplaces. The user interface is natural because it removes the need to input information through the traditional keyboard in favor of directly inputting information on the screen, and the way people manipulate the screen. It was this natural interface that made people think of the iPad and of tablets as a new class of device, not merely a netbook or laptop without a keyboard.<br />
<br />
'''Conclusion'''<br />
<br />
The principles discussed in this essay are becoming more and more expected by users in the technology that they use. People demand that the devices and interfaces they use conform to the human form and ways of doing things, rather than making people conform to the demands of computers. This human centred design requires computers to become more aware of who users are, what they are doing with it, what is going on around in around it, and using these and other contextual information to adapt and to make predictions. Because everyone is different and uses computers differently, one of the ways computers need to adapt is to personalize interfaces and interactions with the computer to the user. And in real life people don’t usually do things in a linear task oriented way like traditional computer interactions. People want to be able to do many things at a time and have computers keep up with their activities and how those activates might affect each other. Furthermore, people don’t want to be limited by time and space. They want to be able to start, stop, and resume activities when and where they like. Computers will need to be able to facilitate to and adapt to how users want to use things, and not make user adapt to computers.<br />
<br />
The iPad serves as a good example of what can be accomplished when a product is designed properly and with these principles in mind. Primarily due to the new and innovative way people are naturally able to interact with it, and do so almost immediately without training has made people think of tablets in a new way, as a new class of device. This is essentially the goal of the ubiquitous computing model, not to make people think of computers as computers, but to think of them as an entirely different type of object. Designing computers that accomplish this goal is not easy. It requires designers and developers to think carefully about how people think and behave. That means more time spent focusing of developing these aspect and more time testing with people. This is time well spent because it gives those designers and developers a competitive advantage that is slowly becoming an expectation and requirement as the ubiquitous computing model become more and more prevalent.</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=75000Team Ether2011-11-29T17:11:22Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Outline====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
* Double space<br />
* 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
* Title<br />
* Abstract<br />
* Keywords<br />
<br />
Intro<br />
* Context<br />
** What is ubicomp<br />
** embedded<br />
* Purpose<br />
** Why is it important to designers<br />
* Interpretations of the idea of ubiquitous computing<br />
** ubicomp, ambient intelligence, pervasive computing<br />
* thesis<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
* One paragraph per point, 6 points, ~250 words<br />
* POINTS<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
* Thesis (reword)<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
* summary of points<br />
* recommendations, ideas<br />
* general<br />
<br />
=Essay Draft=<br />
<br />
'''Intro'''<br />
<br />
Ubiquitous computing is a post desktop model of human computer interaction in which the information processing is part of people’s day-to-day activities and operation. <br />
Computers are getting faster, smaller, more efficient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intelligent to changes in their surroundings (ambient intelligence).<br />
One of the main key points of ubiquitous computing is to make the machine adjust to the human world. To make machines a part of daily life without people noticing it.<br />
Some of the devices that we use with the ubiquitous computing model are cell phones, mp3, GPS and interactive whiteboards. These are great examples that demonstrate the ubiquitous computing model. People use all of these devices daily. However, they don’t think about the fact that those are actually machines. It’s integrated in our lives. <br />
This essay will elaborate further on Ubiquitous computing. Ubiquitous computing is the future of computer products. Moreover, consumers will likely to purchase something that is familiar to them and seems less like a machine. Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing. <br />
<br />
<br />
'''Context Awareness'''<br />
<br />
Users do not like to feed their devices and application information. Ubiquitous devices should determine as much information about the user as possible in order to adapt to and predict what a user wants. To do this requires contextual awareness. Context includes such information as the user’s identity, location, and activities. By identity we mean who the user is and what are their preferences. By location we mean where the user is in the world or in a room, where have they been. And what is around them. And by activities we mean what is the user doing and what have they done. In true ubiquitous computing, this activity awareness extends not just to what the user is doing with the device or application, but what is the user doing in the world. All this information should be determined implicitly, without direct input from the user. It is that explicit input from users that should be avoided in order to making the computer processes invisible to the user, and thereby makes the user experience feel more natural. A good example of context awareness is a device that changes the device language to French automatically when a user speaks French instead of having the user manually change the language to French. While that may take more sophisticated speech recognition systems than we have available today, the amount of contextual awareness in devices is increasing. With the addition of GPS and online access in smartphones and tablets in the last few years, services now have access to a significantly greater amount of locational context information.<br />
<br />
'''Personalization'''<br />
<br />
All users like to feel special, and individualized. In congruence with this individuality users like to customize their computing experience. They like services that remember who they are, and their preferences. In addition to services having to remember user identities and their preferences, services also have to be adaptive. This adaptability means user preferences do not have to be set or pre-programmed by the user. Instead, the services will set the preference and personalize the user experience based upon previous user inputs and usage patterns. Example of this technology is the digital video recorder TIVo. TIVo records TV shows according to preset interests of the user, the more advanced version of TIVo records TV shows based on what the user have been watching in the past. So in essence if a user watches a lot science fiction shows, TIVo will prerecord shows of that nature without the user telling it to. And if the user preference changes, the service should be smart enough to change the settings without additional commands. This personalization and adaptation technologies are the basis of ubiquitous computing. They are also the core for realizing context awareness in pervasive service provisioning. Users want to discover the most appropriate service to support their tasks, and the most appropriate service depends on user preferences and context therefore, ubiquitous computing is pushed to provide the personalization needed for an individual user.<br />
<br />
'''Data Sharing'''<br />
<br />
In the ubiquitous computing model there are often many computers running many services. Users will expect that interactions with any given device will be shared with any other device. Services must be able to share information and use other services on the same device and across other devices. In addition it is likely than many services are going to be running at any given time, both on a single device and across many. These services need to be able to interact in real-time. For example, if you are watching television and a news story is mentioned, the user should be able to read it in more detail in a news service on any other device they are using. All this should happen without the user needing to search for it the news story. This sort of seamless interaction between multiple services and devices will allow users to easily and naturally carry on with whatever activity they are doing without needing to work at the device to make it do what they want it to do. This will make the computers invisible to users by making users think of the computers as an entirely different class of device. From the example the user perceives a television and perhaps a phone and not two computers with different interfaces.<br />
<br />
'''Service interruption and resumption'''<br />
<br />
Ubiquitous computing aims to integrate itself into everyday life, and everyday life is not a single threaded linear event. In the daily lives of an average user, there are many interruptions, stoppages, and unexpected occurrences. Users also need to take breaks during their activities, or even want to put an activity on hold. Sometimes an activity can be put on hold for long durations or permanently. Regardless of the durations or the frequency of interruptions to an activity, the ability to resume an activity after an interruption must exist. Users also expect the service to resume the activity with all previous progresses intact. What this means is that when a service pauses an activity or process it must save all progress done on the activity and any settings that might be created for the activity. When the activity resumes all the saved data must be readily available, and the activity should resume as if no interruption had occurred. Furthermore, when an activity had been paused for a long duration, the user might forget previous progress and the service should be aware of the passage of time, and reacquaint the user with the activity and its progress. In addition, users also require continuously available services, as today’s paradigm move toward the infusion of ubiquitous computing into our everyday lives, the services provided will need to become constantly available, always interrupted and easily resumed. The manner of the service resumption is also paramount in the successful integration of ubiquitous computing. The service must be able to start in one location, paused, resumed at a completely different location with a different interface and a different computer. Only when all of those capabilities are meet, then true integration into ubiquitous computing will be possible, and accepted by the users.<br />
<br />
'''Natural user interface'''<br />
<br />
People prefer computers that conform to them rather than conforming to computers. A Natural and easy process in learning how to use a device is crucially important in a product. If the learning process is too complex or take too much time; the users won’t want to use the product and will search alternatives for it. The purpose of Natural user interface is to make the user feel like a natural.<br />
<br />
'''Tablets and iPad example'''<br />
<br />
The idea of tables exited before the iPad came along. However, the iPad has exploded in the market. iPad are extremely popular and people find them easy to use. The key element of the iPad’s success lies within its great user interface that allows people and a natural and comfortable usage. Natural interaction of screen is what made it successful</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74970Team Ether2011-11-28T20:02:18Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Outline====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
* Double space<br />
* 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
* Title<br />
* Abstract<br />
* Keywords<br />
<br />
Intro<br />
* Context<br />
** What is ubicomp<br />
** embedded<br />
* Purpose<br />
** Why is it important to designers<br />
* Interpretations of the idea of ubiquitous computing<br />
** ubicomp, ambient intelligence, pervasive computing<br />
* thesis<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
* One paragraph per point, 6 points, ~250 words<br />
* POINTS<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
* Thesis (reword)<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
* summary of points<br />
* recommendations, ideas<br />
* general<br />
<br />
====Essay Draft====<br />
'''Personalization point'''<br />
<br />
All users like to feel special, and individualized. In congruence with this individuality users like to customize their computing experience. They like services that remember who they are, and their preferences. In addition to services having to remember user identities and their preferences, services also have to be adaptive. This adaptability means user preferences do not have to be set or pre-programmed by the user. Instead, the services will set the preference and personalize the user experience based upon previous user inputs and usage patterns. Example of this technology is the digital video recorder TIVo. TIVo records TV shows according to preset interests of the user, the more advanced version of TIVo records TV shows based on what the user have been watching in the past. So in essence if a user watches a lot science fiction shows, TIVo will prerecord shows of that nature without the user telling it to. And if the user preference changes, the service should be smart enough to change the presets without user prompting it to. This personalization and adaptation technologies are the basis of ubiquitous computing. They are also the core for realizing context awareness in pervasive service provisioning. Users want to discover the most appropriate service to support their tasks, and the most appropriate service depends on user preferences and context therefore, ubiquitous computing aims to provide the personalization needed for an individual user.<br />
<br />
'''Context Awareness'''<br />
Users do not like to feed their devices and application information. Ubiquitous devices should determine as much information about the user as possible in order to adapt to and predict what a user wants. To do this requires contextual awareness. Context includes such information as the user’s identity, location, and activities. By identity we mean who the user is and what are their preferences. By location we mean where the user is in the world or in a room, where have they been. And what is around them. And by activities we mean what is the user doing and what have they done. In true ubiquitous computing, this activity awareness extends not just to what the user is doing with the device or application, but what is the user doing in the world. All this information should be determined implicitly, without direct input from the user. It is that explicit input from users that should be avoided in order to making the computer processes invisible to the user, and thereby makes the user experience feel more natural. A good example of context awareness is a device that changes the device language to French automatically when a user speaks French instead of having the user manually change the language to French. While that may take more sophisticated speech recognition systems than we have available today, the amount of contextual awareness in devices is increasing. With the addition of GPS and online access in smartphones and tablets in the last few years, services now have access to a significantly greater amount of locational context information.<br />
<br />
'''Data Sharing'''<br />
In the ubiquitous computing model there are often many computers running many services. Users will expect that interactions with any given device will be shared with any other device. Services must be able to share information and use other services on the same device and across other devices. In addition it is likely than many services are going to be running at any given time, both on a single device and across many. These services need to be able to interact in real-time. For example, if you are watching television and a news story is mentioned, the user should be able to read it in more detail in a news service on any other device they are using. All this should happen without the user needing to search for it the news story. This sort of seamless interaction between multiple services and devices will allow users to easily and naturally carry on with whatever activity they are doing without needing to work at the device to make it do what they want it to do. This will make the computers invisible to users by making users think of the computers as an entirely different class of device. From the example the user perceives a television and perhaps a phone and not two computers with different interfaces.</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74893Team Ether2011-11-25T22:50:44Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Draft====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
* Double space<br />
* 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
* Title<br />
* Abstract<br />
* Keywords<br />
<br />
Intro<br />
* Context<br />
** What is ubicomp<br />
** embedded<br />
* Purpose<br />
** Why is it important to designers<br />
* Interpretations of the idea of ubiquitous computing<br />
** ubicomp, ambient intelligence, pervasive computing<br />
* thesis<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
* One paragraph per point, 6 points, ~250 words<br />
* POINTS<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
* Thesis (reword)<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
* summary of points<br />
* recommendations, ideas<br />
* general</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74892Team Ether2011-11-25T22:49:06Z<p>Kmbarnhart: </p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Draft====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
<br />
- Double space<br />
<br />
- 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
<br />
* Title<br />
<br />
* Abstract<br />
<br />
* Keywords<br />
<br />
Intro<br />
<br />
** Context<br />
<br />
** What is ubicomp<br />
<br />
** embedded<br />
<br />
* Purpose<br />
<br />
** Why is it important to designers<br />
<br />
* Interpretations of the idea of ubiquitous computing<br />
<br />
** ubicomp, ambient intelligence, pervasive computing<br />
<br />
* thesis<br />
<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
<br />
* One paragraph per point, 6 points, ~250 words<br />
<br />
* POINTS<br />
<br />
** People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
<br />
** People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
<br />
** Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
<br />
** People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
<br />
** Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
<br />
** Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
<br />
* Thesis (reword)<br />
<br />
** Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
* summary of points<br />
<br />
* recommendations, ideas<br />
<br />
* general</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74891Team Ether2011-11-25T22:47:06Z<p>Kmbarnhart: /* Essay Draft */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Draft====<br />
BTH – Ubiquitous Computing<br />
<br />
IMPORTANT NOTES:<br />
<br />
- Double space<br />
<br />
- 2 Spaces after period<br />
<br />
SKELETON<br />
<br />
Preface<br />
<br />
- Title<br />
<br />
- Abstract<br />
<br />
- Keywords<br />
<br />
Intro<br />
<br />
- Context<br />
<br />
o What is ubicomp<br />
<br />
o embedded<br />
<br />
- Purpose<br />
<br />
o Why is it important to designers<br />
<br />
- Interpretations of the idea of ubiquitous computing<br />
<br />
o ubicomp, ambient intelligence, pervasive computing<br />
<br />
- thesis<br />
<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
Body<br />
<br />
- One paragraph per point, 6 points, ~250 words<br />
<br />
- POINTS<br />
<br />
o People prefer computers that conform to then rather that conforming to computers (natural interacting) [Sharon]<br />
<br />
o People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all)) [Kyle]<br />
<br />
o Users want services to be personalized ( this is automatically done, doesn’t need to be manually set) [Ken]<br />
<br />
o People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated. [Kyle]<br />
<br />
o Users want constantly available services that can be easily interrupted and resumed in any location. [Ken]<br />
<br />
o Tablets and ipad example (stress natural interaction of screen is what made it successful) [Sharon]<br />
<br />
Conclusions<br />
<br />
- Thesis (reword)<br />
<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
- summary of points<br />
<br />
-recommendations, ideas<br />
<br />
- general</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74889Team Ether2011-11-25T22:38:34Z<p>Kmbarnhart: </p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
====Essay Draft====<br />
BTH – Ubiquitous Computing<br />
IMPORTANT NOTES:<br />
- Double space<br />
- 2 Spaces after period<br />
SKELETON<br />
Preface<br />
- Title<br />
- Abstract<br />
- Keywords<br />
Intro<br />
- Context<br />
o What is ubicomp<br />
o embedded<br />
- Purpose<br />
o Why is it important to designers<br />
- Interpretations of the idea of ubiquitous computing <br />
o ubicomp, ambient intelligence, pervasive computing<br />
- thesis<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
Body<br />
- One paragraph per point, 6 points, ~250 words<br />
- POINTS<br />
o People prefer computers that conform to then rather that conforming to computers (natural interacting)<br />
o People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all))<br />
o Users want services to be personalized ( this is automatically done, doesn’t need to be manually set)<br />
o People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated.<br />
o Users want constantly available services that can be easily interrupted and resumed in any location.<br />
o Tablets and ipad example (stress natural interaction of screen is what made it successful)<br />
Conclusions<br />
- Thesis (reword)<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
- summary of points<br />
-recommendations, ideas<br />
- general</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74888Team Ether2011-11-25T22:38:12Z<p>Kmbarnhart: </p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator<br />
<br />
==Essay Draft==<br />
BTH – Ubiquitous Computing<br />
IMPORTANT NOTES:<br />
- Double space<br />
- 2 Spaces after period<br />
SKELETON<br />
Preface<br />
- Title<br />
- Abstract<br />
- Keywords<br />
Intro<br />
- Context<br />
o What is ubicomp<br />
o embedded<br />
- Purpose<br />
o Why is it important to designers<br />
- Interpretations of the idea of ubiquitous computing <br />
o ubicomp, ambient intelligence, pervasive computing<br />
- thesis<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
Body<br />
- One paragraph per point, 6 points, ~250 words<br />
- POINTS<br />
o People prefer computers that conform to then rather that conforming to computers (natural interacting)<br />
o People like computers that are implicitly context aware (identity, location, activity, etc…), adaptive, and predictive (example setting phone to French explicitly vs. speaking in French and automatically switching to French (text and all))<br />
o Users want services to be personalized ( this is automatically done, doesn’t need to be manually set)<br />
o People was products that do many things with little input from them (using the information from the other services; services interact; data shared) Multiple activities concurrently and coordinated.<br />
o Users want constantly available services that can be easily interrupted and resumed in any location.<br />
o Tablets and ipad example (stress natural interaction of screen is what made it successful)<br />
Conclusions<br />
- Thesis (reword)<br />
o Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
- summary of points<br />
-recommendations, ideas<br />
- general</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=74873Team Ether2011-11-25T20:37:21Z<p>Kmbarnhart: /* Thesis */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
'''Revised Thesis'''<br />
<br />
Users are forcing a paradigm shift that demands consumer products to embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
====Notes:====<br />
* '''Paradigm Shift - see course notes, and watch a video'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=73215Team Ether2011-11-03T01:55:33Z<p>Kmbarnhart: /* Thesis Presentation Slide Layout */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* Computers are everywhere<br />
* Ubiquitous computing is a human-computer interaction model<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=73214Team Ether2011-11-03T01:44:16Z<p>Kmbarnhart: /* Thesis Presentation Slide Layout */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]<br />
<br />
== Thesis Presentation Slide Layout ==<br />
<br />
<br />
Slide 1: '''Intro''' - Team members, and team name.<br />
<br />
Slide 2: '''Banner Blindness'''<br />
* what it is<br />
* F shape reading habits of users<br />
<br />
Slide 3: '''ubicomp 1'''<br />
* Moore's Law<br />
* computers are everywhere<br />
* ubicomp is a human-computer interaction model<br />
* "Machines that fit the human environment instead of forcing humans to enter theirs"<br />
* "Invisibility of computing, from the human perspective"<br />
<br />
Slide 4: '''ubicomp 2''' <br />
* Embeded<br />
* Context aware<br />
* Personalized<br />
* Adaptive<br />
* Anticipatory<br />
<br />
Slide 5: '''Thesis'''<br />
<br />
Slide 6: '''Example'''<br />
* iPad<br />
** "Interface considered a milestone in the history of computers that defined the tablet as a new class of device"<br />
* Smart Refrigerator</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=73088Team Ether2011-11-01T21:17:51Z<p>Kmbarnhart: /* Thesis */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Consumer products that embrace the principles of ubiquitous computing are more appealing to users.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=73087Team Ether2011-11-01T21:14:23Z<p>Kmbarnhart: /* Thesis */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
For consumer products to be successful in the future then must embrace the principles of ubiquitous computing.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=73086Team Ether2011-11-01T21:12:49Z<p>Kmbarnhart: /* Keywords */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
==== Keywords ====<br />
* Human-Computer Interacton (HCI)<br />
* Human-Centred Computing<br />
* Pervasive Computing<br />
* Ambient Intelligence<br />
* Physical Computing<br />
* Internet of Things<br />
* Haptic Computing<br />
* Things that Think<br />
* Context-Awareness<br />
* Task Based Design<br />
* Activity Based Design<br />
* Background Computing<br />
* Technology Integration<br />
* Object Hyperlinking<br />
<br />
==== Bibliography ====<br />
* http://www.youtube.com/watch?v=4-14mZgPfxM<br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
* http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Examples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=BTH740_Research_Projects_20113&diff=73085BTH740 Research Projects 201132011-11-01T21:00:00Z<p>Kmbarnhart: /* Stage 2 */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Project Summary =<br />
The research project for this course is a team project. Each team has up to four members. Select teams so that your team has some degree of heterogeneity. If possible, your members should not all share the same background or hold the same views.<br />
<br />
Each project has two parts. <br />
<br />
* Proposal and Presentation<br />
<br />
* Research Report and Final Presentation<br />
<br />
== Suggested Topic ==<br />
One option this semester is web sites. Your team selects three web sites of well-established international corporations.<br />
<br />
* For the first part, your team develops critical views of the selected sites based on the material presented in this course and personal viewpoints. Each criticism highlights the deficiencies of the site and includes a description of the member's background and how it has influenced the evaluation. Team members comment on each other's views. Each team submits a written document that describes its criticism in detail. Each team presents a summary of its findings to the class.<br />
<br />
* For the second part, each team develops recommendations on how to improve the three sites and draws on the design material presented in the second half of the course, on research, and on the work of other teams in the course. Each team submits a written research paper that includes its criticism and its recommendations and presents a summary of its paper to the class.<br />
<br /><br />
<br /><br />
<br />
= Presentation Schedules =<br />
== Stage 1 ==<br />
{| border="1" width="500px"<br />
|-<br />
|<b>Team Name</b><br />
|<b>Date and Time</b><br />
|-<br />
|-<br />
|-<br />
|[[Team Decided]]<br />
|Tuesday November 1 9:55PM<br />
|-<br />
|[[Team Root]]<br />
|Tuesday November 1 10:10PM<br />
|-<br />
|<br />
|Tuesday November 1 10:25PM<br />
|-<br />
|<br />
|Tuesday November 1 10:40PM<br />
|-<br />
|[[Team Solo]]<br />
|Tuesday November 1 10:55PM<br />
|-<br />
|[[Random]]<br />
|Tuesday November 1 11:10PM<br />
|-<br />
|[[Sapientiam Petamus]]<br />
|Tuesday November 1 11:25PM<br />
|-<br />
|Team Undecided<br />
|Thursday November 3 9:55PM<br />
|-<br />
|[[Mirdori]]<br />
|Thursday November 3 10:10PM<br />
|-<br />
|[[Team LoL]]<br />
|Thursday November 3 10:25PM<br />
|-<br />
|[[Team Armour]]<br />
|Thursday November 3 10:40PM<br />
|-<br />
|Team Awesome<br />
|Thursday November 3 10:55PM<br />
|-<br />
|Team S<br />
|Thursday November 3 11:10PM<br />
|-<br />
|[[Team Ether]]<br />
|Thursday November 3 11:25PM<br />
|-<br />
|}<br />
<br />
== Stage 2 ==<br />
{| border="1" width="500px"<br />
|-<br />
|<b>Team Name</b><br />
|<b>Date and Time</b><br />
|-<br />
|-<br />
|<br />
|Tuesday December 6 9:55PM<br />
|-<br />
|<br />
|Tuesday December 6 10:10PM<br />
|-<br />
|<br />
|Tuesday December 6 10:25PM<br />
|-<br />
|<br />
|Tuesday December 6 10:40PM<br />
|-<br />
|<br />
|Tuesday December 6 10:55PM<br />
|-<br />
|<br />
|Tuesday December 6 11:10PM<br />
|-<br />
|<br />
|Tuesday December 6 11:25PM<br />
|-<br />
|<br />
|Thursday December 8 9:55PM<br />
|-<br />
|<br />
|Thursday December 8 10:10PM<br />
|-<br />
|[[Team Ether]]<br />
|Thursday December 8 10:25PM<br />
|-<br />
|[[Team Armour]]<br />
|Thursday December 8 10:40PM<br />
|-<br />
|[[Mirdori]]<br />
|Thursday December 8 10:55PM<br />
|-<br />
|[[Sapientiam Petamus]]<br />
|Thursday December 8 11:10PM<br />
|-<br />
|Team S<br />
|Thursday December 8 11:25PM<br />
|-<br />
|}<br />
<br /><br />
<br />
= Student List =<br />
Add your personal information to the student list below along with your team membership and add a separate page describing your team's research project.<br />
<br />
To add a page for your research project:<br />
* add an entry to the table below with the name of your project<br />
* select the project name<br />
** if the page does not exist, a new page will be created - copy the contents of the [[BTH740 Sample Research Project Page|Sample Research Project Page]] into the textbox of your research project page<br />
** if the page exists, the page should appear<br />
<br /><br />
Use the following format for your table entry:<br />
<br /><br />
<pre>|[[User:WUN | FN]]||LN||[[TPN |TN]]||[mailto:LID@learn.senecac.on.ca?subject=BTH740 LID]<br />
|-</pre><br />
<br /><br />
Replace the placeholders with your own information:<br />
<br />
* WUN: Your Wiki User name<br />
* FN: Your First Name<br />
* LN: Your Last Name<br />
* TPN: Your Research Project Page Name on wiki<br />
* TN: Your Research Project name<br />
* LID: Your seneca email ID (learn id)<br />
<br /><br />
<br /><br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5"<br />
|+ <big>List of Research Projects - Fall of 2011</big><br />
! First Name !! Last Name !! Project Name !! Seneca Id<br />
|-<br />
|[[User:Chris s| Chris]]||Szalwinski||[[BTH740 Sample Research Project Page|Project Page Name]]||[mailto:chris.szalwinski@senecac.on.ca?subject=bth740 chris.szalwinski]<br />
|-<br />
|[[User:Gkrilov| Greg]]||Krilov||[[Sapientiam Petamus|Sapientiam Petamus]]||[mailto:gkrilov@learn.senecac.on.ca?subject=bth740 gkrilov]<br />
|-<br />
|[[User:asalga | Andor]]||Salga||[[Sapientiam Petamus|Sapientiam Petamus]]||[mailto:asalga@learn.senecac.on.ca?subject=bth740 asalga]<br />
|-<br />
|[[User:gbatumbya| Grace]]||Batumbya||[[Sapientiam Petamus|Sapientiam Petamus]]||[mailto:gsbatumb@learn.senecac.on.ca?subject=bth740 gsbatumb]<br />
|-<br />
|[[User:mbuttu| Mohammed]]||Buttu||[[Sapientiam Petamus|Sapientiam Petamus]]||[mailto:mbuttu@learn.senecac.on.ca?subject=bth740 mbuttu]<br />
|-<br />
|[[User:wtan5| William]]||Tan||[[Team LoL]]||[mailto:wtan5@learn.senecac.on.ca?subject=bth740 wtan5]<br />
|-<br />
|[[User:gwan7| Gerald]]||Wan||[[Team LoL]]||[mailto:gwan7@learn.senecac.on.ca?subject=bth740 gwan7]<br />
|-<br />
|[[User:Jeremy.millar| Jeremy]]||Millar||[[Team LoL]]||[mailto:jmillar2@learn.senecac.on.ca?subject=bth740 jmillar2]<br />
|-<br />
|[[User:samoote| Brock]]||Moote||[[Team LoL]]||[mailto:samoote@learn.senecac.on.ca?subject=bth740 samoote]<br />
|-<br />
|[[User:errichard| Rick]]||Eyre||[[Team Awesome]]||[mailto:errichard@learn.senecac.on.ca?subject=bth740 errichard]<br />
|-<br />
|[[User:szahmad| Shayan]]||Ahmad||[[Team Awesome]]||[mailto:szahmad@learn.senecac.on.ca?subjet=bth740 szahmad]<br />
|-<br />
|[[User:bmckie| Brad]]||McKie||[[Team Awesome]]||[mailto:bmckie@learn.senecac.on.ca?subject=bth740 bmckie]<br />
|-<br />
<br />
|[[User:jbraffoul| Jordan]]||Raffoul||[[Team Awesome]]||[mailto:jbraffoul@learn.senecac.on.ca?subject=bth740 jbraffoul]<br />
<br />
|-<br />
|[[User:dhempstead| Daniel]]||Hempstead||[[Mirdori]]||[mailto:dhempstead@learn.senecac.on.ca?subject=bth740 dhempstead]<br />
|-<br />
|[[User:mbarciak| Mark]]||Barciak||[[Mirdori]]||[mailto:mbarciak@learn.senecac.on.ca?subject=bth740 mbarciak]<br />
|-<br />
|[[User:Ben| Ben]]||Chalovich||[[Mirdori]]||[mailto:bjchalovich@learn.senecac.on.ca?subject=bth740 bjchalovich]<br />
|-<br />
|[[User:Cwtseng | Ching Wei]]||Tseng||[[Team Armour|Team Armour]]||[mailto:cwtseng@learn.senecac.on.ca?subject=bth740 cwtseng]<br />
|-<br />
|[[User:dlo9 | Derek]]||Lo||[[Team Armour|Team Armour]]||[mailto:dlo9@learn.senecac.on.ca?subject=bth740 dlo9]<br />
|-<br />
|[[User:ejarvelaez | Ed]]||Arvelaez||[[Team Armour|Team Armour]]||[mailto:ejarvelaez@learn.senecac.on.ca?subject=bth740 ejarvelaez]<br />
|-<br />
|[[User:dlau10| Dixon]]<br />
|Lau<br />
|rowspan="4"|[[Random|Random]]<br />
|[mailto:dlau10@learn.senecac.on.ca?subject=BTH740 dlau10]<br />
|-<br />
|[[User:MiniXO| Edward]]<br />
|Sin<br />
|[mailto:esin@learn.senecac.on.ca?subject=BTH740 esin]<br />
|-<br />
|[[User:mlam19|Matthew]]<br />
|Lam<br />
|[mailto:mlam19@learn.senecac.on.ca?subject=BTH740 mlam19]<br />
|-<br />
|[[User:dacallow| Kaitlyn]]<br />
|Callow<br />
|[mailto:kaitlyn.callow@senecac.on.ca?subject=BTH740 dacallow]<br />
|-<br />
|[[User:zabloom| Zackary]]||Bloom||[[Team Undecided]]||[mailto:zabloom@learn.senecac.on.ca?subject=bth740 zabloom]<br />
|-<br />
|[[User:kkleung15| Ken]]||Leung||[[Team Undecided]]||[mailto:kkleung15@learn.senecac.on.ca?subject=bth740 kkleung15]<br />
|-<br />
|[[User:wkliew| Kit]]||Liew||[[Team Undecided]]||[mailto:wkliew@learn.senecac.on.ca?subject=bth740 wkliew]<br />
|-<br />
|[[User:abhatnagar| Anurag]]||Bhatnagar||[[Team Root]]||[mailto:abhatnagar@learn.senecac.on.ca?subject=bth740 abhatnagar]<br />
|-<br />
|[[User:abhishekbh| Abhishek]]||Bhatnagar||[[Team Root]]||[mailto:abhatnagar1@learn.senecac.on.ca?subject=bth740 abhishekbh]<br />
|-<br />
|[[User:Mendoza| Michelle]]||Mendoza||[[Team Root]]||[mailto:mamendoza1@learn.senecac.on.ca?subject=bth740 mamendoza1]<br />
|-<br />
|[[User:kmbarnhart| Kyle]]||Barnhart||[[Team Ether]]||[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740 kmbarnhart]<br />
|-<br />
|[[User:qxu26| Qian]]||Xu||[[Team Ether]]||[mailto:qxu26@learn.senecac.on.ca?subject=bth740 qxu26]<br />
|-<br />
|[[User:skats| Sharon]]||Kats||[[Team Ether]]||[mailto:skats@learn.senecac.on.ca?subject=bth740 skats]<br />
|-<br />
|[[User:mmistry1|Mikesh]]||Mistry||[[Team Decided]]||[mailto:mmistry1@learn.senecac.on.ca?subject=bth740 mmistry1]<br />
|-<br />
|[[User:onajarimoghadam|Omid]]||Moghadam||[[Team S]]||[mailto:onajarimoghadam@learn.senecac.on.ca?subject=bth740 onajarimoghadam]<br />
|-<br />
|[[User:mbrzuzy|Marcin]]||Brzuzy||[[Team S]]||[mailto:mbrzuzy@learn.senecac.on.ca?subject=bth740 mbrzuzy]<br />
|-<br />
|[[User:aeast1|Andre]]||Andre||[[Team S]]||[mailto:aeast1@learn.senecac.on.ca?subject=bth740 aeast1]<br />
|-<br />
|[[User:mtabchar|Moussa]]||Tabcharani||[[Team Decided]]||[mailto:mtabchar@learn.senecac.on.ca?subject=bth740 mtabchar]<br />
|-<br />
|[[User:tlo5|Tommy]]||Lo||[[Team Decided]]||[mailto:tlo5@learn.senecac.on.ca?subject=bth740 tlo5]<br />
|-<br />
|[[User:mkgarg1|Mandeep]]||Garg||[[Team Decided]]||[mailto:mkgarg1@learn.senecac.on.ca?subject=bth740 mkgarg1]<br />
|-<br />
|[[User:gtsmyth|Graeme]]||Smyth||[[Team Solo]]||[mailto:gtsmyth@learn.senecac.on.ca?subject=bth740 gtsmyth]<br />
|-<br />
<br />
|}</div>Kmbarnharthttps://wiki.cdot.senecacollege.ca/w/index.php?title=Team_Ether&diff=72774Team Ether2011-10-30T00:18:44Z<p>Kmbarnhart: /* Ubiquitous computing */</p>
<hr />
<div>{{BTH740 Index | 20113}}<br />
<br />
= Team Ether =<br />
*[mailto:kmbarnhart@learn.senecac.on.ca?subject=bth740_research Kyle Barnhart]<br />
*[mailto:qxu26@learn.senecac.on.ca?subject=bth740_research Qian Xu]<br />
*[mailto:skats@learn.senecac.on.ca?subject=bth740_research Sharon Kats]<br />
[mailto:kmbarnhart@learn.senecac.on.ca;qxu26@learn.senecac.on.ca;skats@learn.senecac.on.ca?subject=bth740_research eMail All]<br />
<br />
= Web Sites Reviewed =<br />
#<br />
#<br />
#<br />
<br />
= Thesis Statement =<br />
==== Thesis ====<br />
==== Keywords ====<br />
==== Bibliography ====<br />
<br />
= Research Notes =<br />
== Potential Topics ==<br />
=== Ubiquitous computing ===<br />
* Computers are getting faster, smaller, more effecient, and cheaper which will result in computers in everything (ubiquitous). This is already happening, and as it grows computers will become invisible, embedded in everything, and connected together. They will also become intellegent to changes in their surroundings (ambient intellegence).<br />
* The key to the success in ubiquitous computing will be the human factors. The will not be invisble unless human-computer interactions become more natural so that people are not aware that they are using a computer at all.<br />
* Example: Amongst mobile phones, digital music players, and many other computers that we don't think of as computers, tablets have become popular. Tablets have been around a long time, the idea has been around for decades, and there have been many effective tablets in this decade. However it didn't gain popularity until people started looking at them in a new way (a new class of device) different from newbooks or laptops. That is what the iPad and the Apple iOS accomplished. It was a shift in perception accomplished through a new user interface that was much more natural to users that had previously existed.<br />
<br />
* Video that got me interested in the subject: THE INTELLIGENCE REVOLUTION - Visions Of The Future - BBC<br />
** http://www.youtube.com/watch?v=4-14mZgPfxM <br />
* http://en.wikipedia.org/wiki/Ubiquitous_computing<br />
* http://en.wikipedia.org/wiki/Ambient_intelligence<br />
* http://en.wikipedia.org/wiki/Tablet_computer#Apple.27s_iPad<br />
<br />
* Some Computer Science Issues In Ubiquitous Computing<br />
** http://lcweb.senecac.on.ca:2531/citation.cfm?doid=159544.159617<br />
* Ubiquitous Computing: Are We There Yet?<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=5410720<br />
* Connecting the Physical World with Pervasive Networks<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993145<br />
* The Human Experience<br />
** http://lcweb.senecac.on.ca:2289/stamp/stamp.jsp?tp=&arnumber=993144<br />
** "Machines that fit the human environment instead of forcing humans to enter theirs will make using a computer as refreshing as a walk in the woods.”<br />
** "Invisibility of computing, from the human perspective, can start when we can determine an individual’s identity, location, effect, or activity through his or her mere presence and natural interactions in an environment."<br />
** "It is not the value of any single service that will make computing a disappearing technology. Rather, it is the combination of a large range of services, all of which are available when and as needed, and all of which work as desired without extraordinary human intervention. A major challenge for applications research is discovering an evolutionary path toward this idyllic interactive experience."<br />
** "The brief history of ubicomp demonstrates three emergent features that appear across many applications. First, we must be able to use implicitly sensed context from the physical and electronic environment to determine a given service’s correct behavior. Context-aware computing demonstrates promise for making our interactions with services more seamless and less distracting from our everyday activities. Applications can work well when properly informed about the context of their use. Second, we must provision automated services to easily capture and store memories of live experiences and serve them up for later use. Finally, we need continuously available services. As we move toward the infusion of ubicomp into our everyday lives, the services provided will need to become constantly available partners with the human users, always interrupted and easily resumed."<br />
** "The focus on activities as opposed to tasks is a crucial departure from traditional HCI design."<br />
*** "They rarely have a clear beginning or end, so the design cannot assume a common starting point or closure and thus requires greater flexibility and simplicity."<br />
*** "Interruption is expected as users switch attention between competing concerns."<br />
*** "Multiple activities operate concurrently and might need to be loosely coordinated."<br />
*** "Time is an important discriminator in characterizing the ongoing relationship between people and computers."<br />
*** "Associative models of information are needed, because information is reused from multiple perspectives."<br />
<br />
====Thesis (roughly):====<br />
* Ubiquitous computing is changing the way human-computer interfaces are designed. In order to be invisible to users, computers must interact with users naturally.<br />
<br />
====Outline:====<br />
* '''Intro''' - What is ubiquitous computing, and thesis.<br />
* '''Background''' - Why is it important, where did it come from, where is it going.<br />
* '''Body''' - Key aspect of ubiquitous computing interaction/interface design. traditional design principles vs ubicomp design principles<br />
* '''Exmaples''' - tablets, smartphones, boards - success stories of computer interacting with user naturally,and blending into the background.<br />
* '''Conclusion'''<br />
<br />
=== Banner Blindness ===<br />
Banner blindness is a phenomenon in web usability where visitors to a website consciously or subconsciously ignore banner-like information, which can also be called ad blindness.<br />
<br />
* An eye-tracking study conducted by the Nielsen/Norman Group finds Internet users avoid viewing banner ads. Text advertising is read more often than display ads, according to the research. <br />
* There's still hope for online ads. Pernice Coyne said graphical ads with text and contrasting colors, like white text on red, is less likely to be disregarded. "They're looking at them if they're text," she said. "I hate to sound boring, but [it is best] if you can make sure your ad is something simple, text or a recognized logo, and it needs to be relevant to the page." <br />
* The researchers also found that people read Web pages in an F-pattern, narrowing their focus as they scroll down a page of content. Pernice Coyne said readers fixate or focus on the content at the top of a page, read a little bit further down, then give up and go back to the beginning of the same or subsequent page. <br />
* Images that appear in the middle of the page, a spot for advertisements, are considered "obstacles" and annoying. <br />
<br />
[http://www.clickz.com/clickz/news/1716575/research-internet-users-plagued-banner-blindness]<br />
<br />
* The industry is taking different approaches to the problem. Many are starting to have [http://www.iab.net/iab_products_and_industry_services/508676/guidelines/1470 Rich Internet Application advertisements (RIA)] – with ads that sometimes takeover the entire screen without the users consent – classic interruption marketing. I haven’t really looked at the stats as to the efficacy of these campaigns but it’s a clear response to banner blindness.<br />
[http://www.bothsidesofthetable.com/2010/09/20/solving-for-banner-blindness-solve-media/]<br />
<br />
<br />
'''Solutions'''<br />
<br />
* placed it right at the beginning of a bulleted list, a natural breaking point.<br />
* put the banner ad by natural exit points – the end, after the first paragraph, at the beginning of a break in format, or by the most boring parts of the article.<br />
* Size color shape all play a part in people noticing your ads<br />
[http://www.marketingexperiments.com/blog/internet-marketing-strategy/banner-blindness-ads.html webpage marketing strategy]<br />
<br />
<br />
'''Research Essay Outline'''<br />
<br />
Thesis: Webpages and web ads suffer from a phenomenon known as banner blindness<br />
<br />
Outline:<br />
* '''Intro''' - on the thesis, and on what blinder blindness is<br />
* '''Background info''' - how humans read web pages, the studies that are done on users reading webpages<br />
* '''Banner Blindness Problem Identified''' - tests and studies that have been done, and how this issue was discovered<br />
* '''Solutions''' - the solutions for web ads, and possible ad placement to over come this problem<br />
* '''Conclusion'''<br />
<br />
<br />
'''Reference'''<br />
<br />
[http://www.internettg.org/dec98/banner_blindness.html Banner Blindness research with some tests]</div>Kmbarnhart