<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2822944888169132551</id><updated>2024-09-12T00:32:10.041-05:00</updated><category term="Cure for the Needy"/><category term="Django"/><category term="Python"/><category term="classes"/><category term="fencing"/><title type='text'>Adventures of a Curious Mind</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-8578974367033080315</id><published>2017-01-13T16:29:00.000-06:00</published><updated>2017-01-13T16:29:52.136-06:00</updated><title type='text'>Design Patterns - Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Derek Banas created a great simple video quickly describing Design Patterns. Here is the link - &lt;a href=&quot;https://youtu.be/vNHpsC5ng_E&quot;&gt;https://youtu.be/vNHpsC5ng_E&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I am going to text type out the principles discussed below.&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
What is inheritance?&lt;/h2&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;What do the classes have in common?&lt;/li&gt;
&lt;li&gt;Abstract out the features&lt;/li&gt;
&lt;li&gt;Override or extend methods that don&#39;t work&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&quot;is a&quot; relationship&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://image.prntscr.com/image/0ad8c4d950d045a1af2c39047edb800c.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://image.prntscr.com/image/0ad8c4d950d045a1af2c39047edb800c.png&quot; height=&quot;241&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
class Animal{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private String name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private double height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private int weight;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setName(String newName){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = newName; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Dog &lt;span style=&quot;color: red;&quot;&gt;extends &lt;/span&gt;Animal{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void digHole(String newName){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;Hole dug&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Fields and methods are already defined when you extend the super class (aka &quot;parent class&quot;)&lt;/li&gt;
&lt;li&gt;You define only the changes&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
What is main for?&lt;/h2&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;main creates the objects and then they interact&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;public static void main(String[] args){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Dog grover = new Dog();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; grover.setName(&quot;Grover&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; grover.name = &quot;Grover&quot;; &lt;span style=&quot;color: red;&quot;&gt;//do not do this!!! (this gets rid of encapsulation)&lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
What is encapsulation? &lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allows you do to data hiding&lt;/li&gt;
&lt;li&gt;This is done through getters / setters&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://image.prntscr.com/image/5a71e3a8fca8452a9b16c2af0baeb8c4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://image.prntscr.com/image/5a71e3a8fca8452a9b16c2af0baeb8c4.png&quot; height=&quot;400&quot; width=&quot;325&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;/h2&gt;
class Dog &lt;span style=&quot;color: red;&quot;&gt;extends &lt;/span&gt;Animal{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; double height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int weight;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setWeight(int newWeight){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(newWeight &amp;gt; 0){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; weight= newWeight;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //throw error&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }}&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
How to hide the data? &lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fields (Instance variables) are &lt;span style=&quot;color: red;&quot;&gt;private&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Getters / setters are &lt;span style=&quot;color: red;&quot;&gt;public&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
class Dog &lt;span style=&quot;color: red;&quot;&gt;extends &lt;/span&gt;Animal{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;private &lt;/span&gt;String name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;private &lt;/span&gt;double height;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;private &lt;/span&gt;int weight;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public void setName(String newName){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name = newName; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; public String getName(String newName){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return name; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Instance &amp;amp; Local Variables? &lt;/h2&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Fields (Instance variables) are &lt;span style=&quot;color: red;&quot;&gt;private&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Declared in the class&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Local variables are declared in a method&lt;/li&gt;
&lt;/ul&gt;
class Dog &lt;span style=&quot;color: red;&quot;&gt;extends &lt;/span&gt;Animal{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;private &lt;/span&gt;int weight;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;// field&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public double getGrams(){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; double gramMult = 453.59; &lt;span style=&quot;color: red;&quot;&gt;// local variable&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return gramMult * weight;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Is A?Versus has A?&lt;/h2&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Is A? Helps you decide if a class should extend another&lt;span style=&quot;color: red;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Is a Dog an Animal?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Is a Dog a Cat?&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Has A? Helps you decide if something is a field&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Dog has a height&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
When to use Inheritance?&lt;/h2&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;The subclass&lt;span style=&quot;color: red;&quot;&gt; &#39;is a&lt;/span&gt;&#39; superclass; ex) dog &lt;span style=&quot;color: red;&quot;&gt;&#39;is an&#39; &lt;/span&gt;animal&lt;/li&gt;
&lt;li&gt;When a sublcass needs moth of the methods in the superclass&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Almost every method in Animal is used in Dog&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;Don&#39;t: Use inheritance just to reuse code, or they dont have a is a relationship&amp;nbsp;&lt;/span&gt; &lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&amp;nbsp;-------------------------------------&lt;br /&gt;
&amp;nbsp;Code: (also found here - &lt;a href=&quot;http://www.newthinktank.com/2012/08/design-patterns-video-tutorial/&quot;&gt;http://www.newthinktank.com/2012/08/design-patterns-video-tutorial/&lt;/a&gt;)&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;i&gt;Animal.java&lt;/i&gt; &lt;/pre&gt;
&lt;pre&gt;public class Animal {
 
 private String name;
 private double height;
 private int weight;
 private String favFood;
 private double speed;
 private String sound;
 
 public void setName(String newName){ name = newName; }
 public String getName(){ return name; }
 
 public void setHeight(double newHeight){ height = newHeight; }
 public double getHeight(){ return height; }
 
 public void setWeight(int newWeight){ 
  if (newWeight &amp;gt; 0){
   weight = newWeight; 
  } else {
   System.out.println(&quot;Weight must be bigger than 0&quot;);
  }
 }
 public double getWeight(){ return weight; }
 
 public void setFavFood(String newFavFood){ favFood = newFavFood; }
 public String getFavFood(){ return favFood; }
 
 public void setSpeed(double newSpeed){ speed = newSpeed; }
 public double getSpeed(){ return speed; }
 
 public void setSound(String newSound){ sound = newSound; }
 public String getSound(){ return sound; }
 
 // A private method can only be accessed by other public methods
 // that are in the same class
 
 private void bePrivate(){
  System.out.println(&quot;I&#39;m a private method&quot;);
 }
 
 public static void main(String[] args){
  
  Animal dog = new Animal();
  
  dog.setName(&quot;Grover&quot;);
  
  System.out.println(dog.getName());
  
 }
 
}&lt;/pre&gt;
&lt;pre&gt;&lt;i&gt;Dog.java&lt;/i&gt; &lt;/pre&gt;
&lt;pre&gt;public class Dog extends Animal{
 
 public void digHole(){
  
  System.out.println(&quot;Dug a hole&quot;);
  
 }
 
 public void changeVar(int randNum){
  
  randNum = 12;
  
  System.out.println(&quot;randNum in method value: &quot; + randNum);
  
 }
 
 
 /* This private method can only be accessed through using other 
  * methods in the class */
 
 private void bePrivate(){
  System.out.println(&quot;In a private method&quot;);
 } 
 
 public void accessPrivate(){
  bePrivate();
 }
 
 // The constructor initializes all objects
 
 public Dog(){
  
  // Executes the parents constructor
  // Every class has a constructor whether you make it or not
  
  super();
  
  // Sets bark for all Dog objects by default
  
  setSound(&quot;Bark&quot;);
  
 }
 
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;i&gt;Cat.java&lt;/i&gt; &amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;public class Cat extends Animal{
 
 // The constructor initializes all objects
 
 public Cat(){
  
  // Executes the parents constructor
  // Every class has a constructor whether you make it or not
  
  super();
  
  // Sets bark for all Dog objects by default
  
  setSound(&quot;Meow&quot;);
  
 }
 
 // If you want to make sure a method isn&#39;t overridden mark it as Final
 
 final void attack(){
  // Do stuff that can never change
 }
 
 // A field marked with final can&#39;t be changed
 
 public static final double FAVNUMBER = 3.14;
 
 // A class labeled as final can&#39;t be extended
 
}&lt;/pre&gt;
&lt;pre&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;i&gt;WorkWithAnimals.java &lt;/i&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;pre&gt;public class WorkWithAnimals{
 
 int justANum = 10;
 
 public static void main(String[] args){
  
  Dog fido = new Dog();
  
  fido.setName(&quot;Fido&quot;);
  System.out.println(fido.getName());
  
  fido.digHole();
  
  fido.setWeight(-1);
  
  // Everything is pass by value
  // The original is not effected by changes in methods
  
  int randNum = 10;
  fido.changeVar(randNum);
  
  System.out.println(&quot;randNum after method call: &quot; + randNum);
  
  // Objects are passed by reference to the original object
  // Changes in methods do effect the object
  
  changeObjectName(fido);
  
  System.out.println(&quot;Dog name after method call: &quot; + fido.getName());
  
  System.out.println(&quot;Animal Sound: &quot; + fido.getSound());
  
  // Create a Dog and Cat object with the super class
  // but the Dog and Cat reference type
  
  Animal doggy = new Dog();
  Animal kitty = new Cat();
  
  System.out.println(&quot;Doggy says: &quot; + doggy.getSound());
  System.out.println(&quot;Kitty says: &quot; + kitty.getSound() + &quot;\n&quot;);
  
  // Now you can make arrays of Animals and everything just works
  
  Animal[] animals = new Animal[4];
  animals[0] = doggy;
  animals[1] = kitty;
  
  System.out.println(&quot;Doggy says: &quot; +animals[0].getSound());
  System.out.println(&quot;Kitty says: &quot; +animals[1].getSound() + &quot;\n&quot;);
  
  // Sends Animal objects for processing in a method
  
  speakAnimal(doggy);
  
  // Polymorphism allows you to write methods that don&#39;t need to 
  // change if new subclasses are created.
  
  // You can&#39;t reference methods, or fields that aren&#39;t in Animal
  // if you do, you&#39;ll have to cast to the required object
  
  ((Dog) doggy).digHole();
  
  // You can&#39;t use non-static variables or methods in a static function
  
  // System.out.println(justANum);
  
  // sayHello();
  
  // You can&#39;t call a private method even if you define it in
  // the subclass
  
  // fido.bePrivate();
  
  // You can execute a private method by using another public
  // method in the class
  
  fido.accessPrivate();
  
  // Creating a Giraffe from an abstract class
  
  Giraffe giraffe = new Giraffe();
  
  giraffe.setName(&quot;Frank&quot;);
  
  System.out.println(giraffe.getName());
  
 }
 
 // Any methods that are in a class and not tied to an object must
 // be labeled static. Every object created by this class will
 // share just one static method
 
 public static void changeObjectName(Dog fido){
  
  fido.setName(&quot;Marcus&quot;);
  
 }
 
 // Receives Animal objects and makes them speak
 
 public static void speakAnimal(Animal randAnimal){
  
  System.out.println(&quot;Animal says: &quot; + randAnimal.getSound());
  
 }
 
 // This is a non-static method used to demonstrate that you can&#39;t
 // call a non-static method inside a static method
 
 public void sayHello(){
  
  System.out.println(&quot;Hello&quot;);
  
 }
 
}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/8578974367033080315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2017/01/design-patterns-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/8578974367033080315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/8578974367033080315'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2017/01/design-patterns-java.html' title='Design Patterns - Java'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-447563330171202604</id><published>2016-03-22T08:29:00.000-05:00</published><updated>2016-03-22T08:29:00.147-05:00</updated><title type='text'>Best Java Interview Review I&#39;ve found yet! And SOAP vs REST.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://www.tutorialspoint.com/java/java_interview_questions.htm&quot;&gt;http://www.tutorialspoint.com/java/java_interview_questions.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
SOAP vs REST - &lt;a href=&quot;http://spf13.com/post/soap-vs-rest&quot;&gt;http://spf13.com/post/soap-vs-rest&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Someone asked me a question today “Why would anyone choose SOAP (&lt;a href=&quot;http://en.wikipedia.org/wiki/SOAP&quot; title=&quot;SOAP&quot;&gt;Simple
Object Access Protocol&lt;/a&gt;)
instead of REST (&lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot; title=&quot;Representational State Transfer&quot;&gt;Representational State
Transfer&lt;/a&gt;)?”
My response: “The general rule of thumb I’ve always heard is ‘Unless you
have a definitive reason to use SOAP use REST’”. He asked “what’s one
reason?” I thought about it for a minute and honestly answered that I
haven’t ever come across a reason. My background is building great
internet companies.&lt;br /&gt;

While he seemed satisfied, I wasn’t very happy with that answer, I did
some homework and here’s my summary on REST versus SOAP, the difference
between SOAP and REST and why anyone would choose SOAP. As usual, with
competing technologies both have value, the challenge is to know when to
use each one (spoiler: luckily the answer is almost always REST).&lt;br /&gt;

I’m clearly boiling down a somewhat so please don’t flame me for
simplifying things, but feel free to provide any corrections you feel
are necessary.&lt;br /&gt;

&lt;h1 id=&quot;definitions:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
Definitions&lt;/h1&gt;
&lt;h2 id=&quot;rest:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
REST&lt;/h2&gt;
RESTs sweet spot is when you are exposing a public API over the internet
to handle CRUD operations on data. REST is focused on accessing named
resources through a single consistent interface.&lt;br /&gt;

&lt;h2 id=&quot;soap:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
SOAP&lt;/h2&gt;
SOAP brings it’s own protocol and focuses on exposing pieces of
application logic (not data) as services. SOAP exposes operations. SOAP
is focused on accessing named operations, each implement some business
logic through different interfaces.&lt;br /&gt;

Though SOAP is commonly referred to as “&lt;a href=&quot;http://en.wikipedia.org/wiki/Web_service&quot; title=&quot;Web service&quot;&gt;web
services&lt;/a&gt;” this
is a misnomer. SOAP has very little if anything to do with the Web. REST
provides true “Web services” based on URIs and HTTP.&lt;br /&gt;

By way of illustration here are few calls and their appropriate home
with commentary.&lt;br /&gt;

&lt;pre&gt;&lt;code&gt;getUser(User);
&lt;/code&gt;&lt;/pre&gt;
This is a rest operation as you are accessing a resource (data).&lt;br /&gt;

&lt;pre&gt;&lt;code&gt;switchCategory(User, OldCategory, NewCategory)
&lt;/code&gt;&lt;/pre&gt;
This is a SOAP operation as you are performing an operation.&lt;br /&gt;

Yes, either could be done in either SOAP or REST. The purpose is to
illustrate the conceptual difference.&lt;br /&gt;

&lt;h1 id=&quot;why-rest:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
Why REST?&lt;/h1&gt;
Here are a few reasons why REST is almost always the right answer.&lt;br /&gt;

Since REST uses standard HTTP it is much simpler in just about ever way.
Creating clients, developing APIs, the documentation is much easier to
understand and there aren’t very many things that REST doesn’t do
easier/better than SOAP.&lt;br /&gt;

REST permits many different data formats where as SOAP only permits XML.
While this may seem like it adds complexity to REST because you need to
handle multiple formats, in my experience it has actually been quite
beneficial. JSON usually is a better fit for data and parses much
faster. REST allows better support for browser clients due to it’s
support for JSON.&lt;br /&gt;

REST has better performance and scalability. REST reads can be cached,
SOAP based reads cannot be cached.&lt;br /&gt;

It’s a bad argument (by authority), but it’s worth mentioning that Yahoo
uses REST for all their services including Flickr and del.ici.ous.
Amazon and Ebay provide both though Amazon’s internal usage is nearly
all REST &lt;a href=&quot;http://www.oreillynet.com/pub/wlg/3005&quot;&gt;source&lt;/a&gt;. Google used
to provide only SOAP for all their services, but in 2006 they deprecated
in favor of REST &lt;a href=&quot;http://code.google.com/apis/soapsearch/&quot;&gt;source&lt;/a&gt;. It’s
interesting how there has been an internal battle between rest vs soap
at amazon. For the most part REST dominates their architecture for web
services.&lt;br /&gt;

&lt;h1 id=&quot;why-soap:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
Why SOAP?&lt;/h1&gt;
Here are a few reasons you may want to use SOAP.&lt;br /&gt;

&lt;h2 id=&quot;ws-security:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
WS-Security&lt;/h2&gt;
While SOAP supports SSL (just like REST) it also supports WS-Security
which adds some enterprise security features. Supports identity through
intermediaries, not just point to point (SSL). It also provides a
standard implementation of data integrity and data privacy. Calling it
“Enterprise” isn’t to say it’s more secure, it simply supports some
security tools that typical internet services have no need for, in fact
they are really only needed in a few “enterprise” scenarios.&lt;br /&gt;

&lt;h2 id=&quot;ws-atomictransaction:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
WS-AtomicTransaction&lt;/h2&gt;
Need ACID Transactions over a service, you’re going to need SOAP. While
REST supports transactions, it isn’t as comprehensive and isn’t ACID
compliant. Fortunately ACID transactions almost never make sense over
the internet. REST is limited by HTTP itself which can’t provide
two-phase commit across distributed transactional resources, but SOAP
can. Internet apps generally don’t need this level of transactional
reliability, enterprise apps sometimes do.&lt;br /&gt;

&lt;h2 id=&quot;ws-reliablemessaging:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
WS-ReliableMessaging&lt;/h2&gt;
Rest doesn’t have a standard messaging system and expects clients to
deal with communication failures by retrying. SOAP has successful/retry
logic built in and provides end-to-end reliability even through SOAP
intermediaries.&lt;br /&gt;

&lt;h1 id=&quot;summary:27e0921f9f75b5a2270f9e78638d4075&quot;&gt;
Summary&lt;/h1&gt;
In Summary, SOAP is clearly useful, and important. For instance, if I
was writing an iPhone application to interface with my bank I would
definitely need to use SOAP. All three features above are required for
banking transactions. For example, if I was transferring money from one
account to the other, I would need to be certain that it completed.
Retrying it could be catastrophic if it succeed the first time, but the
response failed.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/447563330171202604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2016/03/best-java-interview-review-ive-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/447563330171202604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/447563330171202604'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2016/03/best-java-interview-review-ive-found.html' title='Best Java Interview Review I&#39;ve found yet! And SOAP vs REST.'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-8812125624840572844</id><published>2016-03-11T08:49:00.004-06:00</published><updated>2016-03-11T09:43:36.340-06:00</updated><title type='text'>Embedded / Firmware Interview Review</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today I have an embedded / firmware interview so gathering resources to review. Here are a few websites that I found:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://www.rmbconsulting.us/a-c-test-the-0x10-best-questions-for-would-be-embedded-programmers&quot;&gt;http://www.rmbconsulting.us/a-c-test-the-0x10-best-questions-for-would-be-embedded-programmers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/ECE/comments/2fxu33/how_to_prepare_for_firmware_engineering_interview/&quot;&gt;https://www.reddit.com/r/ECE/comments/2fxu33/how_to_prepare_for_firmware_engineering_interview/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://firmwareinterviewcracker.blogspot.com/2011_01_01_archive.html&quot;&gt;http://firmwareinterviewcracker.blogspot.com/2011_01_01_archive.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.careerride.com/embedded-systems-interview-questions.aspx&quot;&gt;http://www.careerride.com/embedded-systems-interview-questions.aspx&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.quora.com/I-have-an-interview-tomorrow-for-an-embedded-engineer-position-see-description-What-questions-can-I-expect-in-general-and-on-the-technical-side&quot;&gt;https://www.quora.com/I-have-an-interview-tomorrow-for-an-embedded-engineer-position-see-description-What-questions-can-I-expect-in-general-and-on-the-technical-side &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Below I&#39;ll put some information I found useful.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Preprocessor&lt;/h2&gt;
1. Using the #define statement, how would you declare a manifest 
constant that returns the number of seconds in a year? Disregard leap 
years in your answer.&lt;br /&gt;
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)&lt;br /&gt;
&lt;br /&gt;
I’m looking for several things here:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; Basic knowledge of the #define syntax (i.e. no semi-colon at the end, the need to parenthesize etc.).&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; A good choice of name, with capitalization and underscores.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; An understanding that the pre-processor will evaluate constant
 expressions for you. Thus, it is clearer, and penalty free to spell out
 how you are calculating the number of seconds in a year, rather than 
actually doing the calculation yourself.&lt;br /&gt;
(d)&amp;nbsp;&amp;nbsp;&amp;nbsp; A realization that the expression will overflow an integer 
argument on a 16 bit machine – hence the need for the L, telling the 
compiler to treat the expression as a Long.&lt;br /&gt;
(e)&amp;nbsp;&amp;nbsp;&amp;nbsp; As a bonus, if you modified the expression with a UL 
(indicating unsigned long), then you are off to a great start because 
you are showing that you are mindful of the perils of signed and 
unsigned types – and remember, first impressions count!&lt;br /&gt;
&lt;br /&gt;
2. Write the ‘standard’ MIN macro. That is, a macro that takes two arguments and returns the smaller of the two arguments.&lt;br /&gt;
#define MIN(A,B)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((A) &amp;lt;=&amp;nbsp; (B) ? (A) : (B))&lt;br /&gt;
&lt;br /&gt;
The purpose of this question is to test the following:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; Basic knowledge of the #define directive as used in macros. 
This is important, because until the inline operator becomes part of 
standard C, macros are the only portable way of generating inline code. 
Inline code is often necessary in embedded systems in order to achieve 
the required performance level.&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; Knowledge of the ternary conditional operator.&amp;nbsp; This exists in
 C because it allows the compiler to potentially produce more optimal 
code than an if-then-else sequence. Given that performance is normally 
an issue in embedded systems, knowledge and use of this construct is 
important.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; Understanding of the need to very carefully parenthesize arguments to macros.&lt;br /&gt;
(d)&amp;nbsp;&amp;nbsp;&amp;nbsp; I also use this question to start a discussion on the side 
effects of macros, e.g. what happens when you write code such as :&lt;br /&gt;
least = MIN(*p++, b);&lt;br /&gt;
&lt;i&gt;3. What is the purpose of the preprocessor directive #error?&lt;/i&gt;&lt;br /&gt;
Either you know the answer to this, or you don’t. If you don’t, then 
see reference 1. This question is very useful for differentiating 
between normal folks and the nerds. It’s only the nerds that actually 
read the appendices of C textbooks that find out about such things.&amp;nbsp; Of 
course, if you aren’t looking for a nerd, the candidate better hope she 
doesn’t know the answer.&lt;br /&gt;
&lt;h2&gt;
Infinite Loops&lt;/h2&gt;
&lt;i&gt;4. Infinite loops often arise in embedded systems. How does one code an infinite loop in C?&lt;/i&gt;&lt;br /&gt;
There are several solutions to this question. My preferred solution is:&lt;br /&gt;
while(1)&lt;br /&gt;
{&lt;br /&gt;
…&lt;br /&gt;
}&lt;br /&gt;
Another common construct is:&lt;br /&gt;
for(;;)&lt;br /&gt;
{&lt;br /&gt;
…&lt;br /&gt;
}&lt;br /&gt;
Personally, I dislike this construct because the syntax doesn’t 
exactly spell out what is going on.&amp;nbsp; Thus, if a candidate gives this as a
 solution, I’ll use it as an opportunity to explore their rationale for 
doing so.&amp;nbsp; If their answer is basically – ‘I was taught to do it this 
way and I have never thought about it since’ – then it tells me 
something (bad) about them. Conversely, if they state that it’s the 
K&amp;amp;R preferred method and the only way to get an infinite loop passed
 Lint, then they score bonus points.&lt;br /&gt;
A third solution is to use a goto:&lt;br /&gt;
Loop:&lt;br /&gt;
…&lt;br /&gt;
goto Loop;&lt;br /&gt;
Candidates that propose this are either assembly language programmers
 (which is probably good), or else they are closet BASIC / FORTRAN 
programmers looking to get into a new field.&lt;br /&gt;
&lt;h2&gt;
Data declarations&lt;/h2&gt;
&lt;i&gt;5. Using the variable a, write down definitions for the following:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(a) &lt;/i&gt;&lt;i&gt;An integer&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(b) &lt;/i&gt;&lt;i&gt;A pointer to an integer&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(c) &lt;/i&gt;&lt;i&gt;A pointer to a pointer to an integer&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(d) &lt;/i&gt;&lt;i&gt;An array of ten integers&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(e) &lt;/i&gt;&lt;i&gt;An array of ten pointers to integers&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(f) &lt;/i&gt;&lt;i&gt;A pointer to an array of ten integers&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(g) &lt;/i&gt;&lt;i&gt;A pointer to a function that takes an integer as an argument and returns an integer&lt;/i&gt;&lt;br /&gt;
(h)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;An array of ten pointers to functions that take an integer argument and return an integer&lt;/i&gt;.&lt;br /&gt;
The answers are:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; int a;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// An integer&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; int *a;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A pointer to an integer&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; int **a;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A pointer to a pointer to an integer&lt;br /&gt;
(d)&amp;nbsp;&amp;nbsp;&amp;nbsp; int a[10];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of 10 integers&lt;br /&gt;
(e)&amp;nbsp;&amp;nbsp;&amp;nbsp; int *a[10];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // An array of 10 pointers to integers&lt;br /&gt;
(f)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int (*a)[10];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A pointer to an array of 10 integers&lt;br /&gt;
(g)&amp;nbsp;&amp;nbsp;&amp;nbsp; int (*a)(int);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A pointer to a function a that takes an integer argument and returns an integer&lt;br /&gt;
(h)&amp;nbsp;&amp;nbsp;&amp;nbsp; int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer&lt;br /&gt;
People often claim that a couple of these are the sorts of thing that
 one looks up in textbooks – and I agree. While writing this article, I 
consulted textbooks to ensure the syntax was correct. However, I expect 
to be asked this question (or something close to it) when in an 
interview situation. Consequently, I make sure I know the answers – at 
least for the few hours of the interview.&amp;nbsp; Candidates that don’t know 
the answers (or at least most of them) are simply unprepared for the 
interview.&amp;nbsp; If they can’t be prepared for the interview, what will they 
be prepared for?&lt;br /&gt;
&lt;h2&gt;
Static&lt;/h2&gt;
&lt;i&gt;6. What are the uses of the keyword static?&lt;/i&gt;&lt;br /&gt;
This simple question is rarely answered completely.&amp;nbsp; Static has three distinct uses in C:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; A variable declared static within the body of a function maintains its value between function invocations.&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; A variable declared static within a module&lt;a href=&quot;http://www.rmbconsulting.us/a-c-test-the-0x10-best-questions-for-would-be-embedded-programmers#_ftn1&quot;&gt;[1]&lt;/a&gt;,
 (but outside the body of a function) is accessible by all functions 
within that module. It is not accessible by functions within any other 
module.&amp;nbsp; That is, it is a localized global.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; Functions declared static within a module may only be called 
by other functions within that module. That is, the scope of the 
function is localized to the module within which it is declared.&lt;br /&gt;
Most candidates get the first part correct.&amp;nbsp; A reasonable number get 
the second part correct, while a pitiful number understand answer (c).&amp;nbsp; 
This is a serious weakness in a candidate, since they obviously do not 
understand the importance and benefits of localizing the scope of both 
data and code.&lt;br /&gt;
&lt;h2&gt;
Const&lt;/h2&gt;
&lt;i&gt;7. What does the keyword const mean?&lt;/i&gt;&lt;br /&gt;
As soon as the interviewee says ‘const means constant’, I know I’m 
dealing with an amateur. Dan Saks has exhaustively covered const in the 
last year, such that every reader of ESP should be extremely familiar 
with what const can and cannot do for you. If you haven’t been reading 
that column, suffice it to say that const means “read-only”.&amp;nbsp; Although 
this answer doesn’t really do the subject justice, I’d accept it as a 
correct answer. (If you want the detailed answer, then read Saks’ 
columns – carefully!).&lt;br /&gt;
If the candidate gets the answer correct, then I’ll ask him these supplemental questions:&lt;br /&gt;
What do the following incomplete&lt;a href=&quot;http://www.rmbconsulting.us/a-c-test-the-0x10-best-questions-for-would-be-embedded-programmers#_ftn2&quot;&gt;[2]&lt;/a&gt; declarations mean?&lt;br /&gt;
const int a;&lt;br /&gt;
int const a;&lt;br /&gt;
const int *a;&lt;br /&gt;
int * const a;&lt;br /&gt;
int const * a const;&lt;br /&gt;
The first two mean the same thing, namely a is a const (read-only) 
integer.&amp;nbsp; The third means a is a pointer to a const integer (i.e., the 
integer isn’t modifiable, but the pointer is). The fourth declares a to 
be a const pointer to an integer (i.e., the integer pointed to by a is 
modifiable, but the pointer is not). The final declaration declares a to
 be a const pointer to a const integer (i.e., neither the integer 
pointed to by a, nor the pointer itself may be modified).&lt;br /&gt;
If the candidate correctly answers these questions, I’ll be impressed.&lt;br /&gt;
Incidentally, one might wonder why I put so much emphasis on const, 
since it is very easy to write a correctly functioning program without 
ever using it.&amp;nbsp; There are several reasons:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; The use of const conveys some very useful information to 
someone reading your code. In effect, declaring a parameter const tells 
the user about its intended usage.&amp;nbsp; If you spend a lot of time cleaning 
up the mess left by other people, then you’ll quickly learn to 
appreciate this extra piece of information. (Of course, programmers that
 use const, rarely leave a mess for others to clean up…)&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; const has the potential for generating tighter code by giving the optimizer some additional information.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; Code that uses const liberally is inherently protected by the 
compiler against inadvertent coding constructs that result in parameters
 being changed that should not be.&amp;nbsp; In short, they tend to have fewer 
bugs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Volatile&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;8. What does the keyword volatile mean? Give three different examples of its use.&lt;/i&gt;&lt;br /&gt;
A volatile variable is one that can change unexpectedly.&amp;nbsp; 
Consequently, the compiler can make no assumptions about the value of 
the variable.&amp;nbsp; In particular, the optimizer must be careful to reload 
the variable every time it is used instead of holding a copy in a 
register.&amp;nbsp; Examples of volatile variables are:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; Hardware registers in peripherals (e.g., status registers)&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; Non-stack variables referenced within an interrupt service routine.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; Variables shared by multiple tasks in a multi-threaded application.&lt;br /&gt;
If a candidate does not know the answer to this question, they aren’t
 hired.&amp;nbsp; I consider this the most fundamental question that 
distinguishes between a ‘C programmer’ and an ‘embedded systems 
programmer’.&amp;nbsp; Embedded folks deal with hardware, interrupts, RTOSes, and
 the like. All of these require volatile variables. Failure to 
understand the concept of volatile will lead to disaster.&lt;br /&gt;
On the (dubious) assumption that the interviewee gets this question 
correct, I like to probe a little deeper, to see if they really 
understand the full significance of volatile. In particular, I’ll ask 
them the following:&lt;br /&gt;
&lt;i&gt;(a) &lt;/i&gt;&lt;i&gt;Can a parameter be both const and volatile? Explain your answer.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;(b) &lt;/i&gt;&lt;i&gt;Can a pointer be volatile? Explain your answer.&lt;/i&gt;&lt;br /&gt;
(c) &lt;i&gt;What is wrong with the following function?:&lt;/i&gt;&lt;br /&gt;
int square(volatile int *ptr)&lt;br /&gt;
{&lt;br /&gt;
return *ptr * *ptr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
The answers are as follows:&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; Yes. An example is a read only status register. It is volatile
 because it can change unexpectedly. It is const because the program 
should not attempt to modify it.&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; Yes. Although this is not very common. An example is when an interrupt service routine modifies a pointer to a buffer.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; This one is wicked.&amp;nbsp; The intent of the code is to return the 
square of the value pointed to by *ptr. However, since *ptr points to a 
volatile parameter, the compiler will generate code that looks something
 like this:&lt;br /&gt;
int square(volatile int *ptr)&lt;br /&gt;
{&lt;br /&gt;
int a,b;&lt;br /&gt;
a = *ptr;&lt;br /&gt;
b = *ptr;&lt;br /&gt;
return a * b;&lt;br /&gt;
}&lt;br /&gt;
Since it is possible for the value of *ptr to change unexpectedly, it
 is possible for a and b to be different. Consequently, this code could 
return a number that is not a square!&amp;nbsp; The correct way to code this is:&lt;br /&gt;
long square(volatile int *ptr)&lt;br /&gt;
{&lt;br /&gt;
int a;&lt;br /&gt;
a = *ptr;&lt;br /&gt;
return a * a;&lt;br /&gt;
}&lt;br /&gt;
&lt;h2&gt;
Bit Manipulation&lt;/h2&gt;
9. Embedded systems always require the user to manipulate bits in 
registers or variables. Given an integer variable a, write two code 
fragments. The first should set bit 3 of a. The second should clear bit 3
 of a. In both cases, the remaining bits should be unmodified.&lt;br /&gt;
These are the three basic responses to this question:&lt;br /&gt;
(a) No idea. The interviewee cannot have done any embedded systems work.&lt;br /&gt;
(b) Use bit fields.&amp;nbsp; Bit fields are right up there with trigraphs as 
the most brain-dead portion of C.&amp;nbsp; Bit fields are inherently 
non-portable across compilers, and as such guarantee that your code is 
not reusable.&amp;nbsp; I recently had the misfortune to look at a driver written
 by Infineon for one of their more complex communications chip.&amp;nbsp; It used
 bit fields, and was completely useless because my compiler implemented 
the bit fields the other way around. The moral – never let a 
non-embedded person anywhere near a real piece of hardware!&lt;a href=&quot;http://www.rmbconsulting.us/a-c-test-the-0x10-best-questions-for-would-be-embedded-programmers#_ftn3&quot;&gt;[3]&lt;/a&gt;&lt;br /&gt;
(c) Use #defines and bit masks.&amp;nbsp; This is a highly portable method, 
and is the one that should be used.&amp;nbsp; My optimal solution to this problem
 would be:&lt;br /&gt;
#define BIT3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x1 &amp;lt;&amp;lt; 3)&lt;br /&gt;
static int a;&lt;br /&gt;
void set_bit3(void) {&lt;br /&gt;
a |= BIT3;&lt;br /&gt;
}&lt;br /&gt;
void clear_bit3(void) {&lt;br /&gt;
a &amp;amp;= ~BIT3;&lt;br /&gt;
}&lt;br /&gt;
Some people prefer to define a mask, together with manifest constants
 for the set &amp;amp; clear values.&amp;nbsp; This is also acceptable.&amp;nbsp; The 
important elements that I’m looking for are the use of manifest 
constants, together with the |= and &amp;amp;= ~ constructs.&lt;br /&gt;
&lt;h1&gt;
&lt;b&gt;Accessing fixed memory locations&lt;/b&gt;&lt;/h1&gt;
&lt;i&gt;10. Embedded systems are often characterized by requiring the 
programmer to access a specific memory location. On a certain project it
 is required to set an integer variable at the absolute address 0x67a9 
to the value 0xaa55. The compiler is a pure ANSI compiler. Write code to
 accomplish this task&lt;/i&gt;.&lt;br /&gt;
This problem tests whether you know that it is legal to typecast an 
integer to a pointer in order to access an absolute location.&amp;nbsp; The exact
 syntax varies depending upon one’s style. However, I would typically be
 looking for something like this:&lt;br /&gt;
int *ptr;&lt;br /&gt;
ptr = (int *)0x67a9;&lt;br /&gt;
*ptr = 0xaa55;&lt;br /&gt;
A more obfuscated approach is:&lt;br /&gt;
*(int * const)(0x67a9) = 0xaa55;&lt;br /&gt;
Even if your taste runs more to the second solution, I suggest the first solution when you are in an interview situation.&lt;br /&gt;
&lt;h2&gt;
Interrupts&lt;/h2&gt;
11. Interrupts are an important part of embedded systems. 
Consequently, many compiler vendors offer an extension to standard C to 
support interrupts. Typically, this new key word is __interrupt. The 
following code uses __interrupt to define an interrupt service routine. 
Comment on the code.&lt;br /&gt;
__interrupt double compute_area(double radius) {&lt;br /&gt;
{&lt;br /&gt;
double area = PI * radius * radius;&lt;br /&gt;
printf(“\nArea = %f”, area);&lt;br /&gt;
return area;&lt;br /&gt;
}&lt;br /&gt;
This function has so much wrong with it, it’s almost tough to know where to start.&lt;br /&gt;
(a)&amp;nbsp;&amp;nbsp;&amp;nbsp; Interrupt service routines cannot return a value. If you don’t understand this, then you aren’t hired.&lt;br /&gt;
(b)&amp;nbsp;&amp;nbsp;&amp;nbsp; ISR’s cannot be passed parameters. See item (a) for your employment prospects if you missed this.&lt;br /&gt;
(c)&amp;nbsp;&amp;nbsp;&amp;nbsp; On many processors / compilers, floating point operations are 
not necessarily re-entrant. In some cases one needs to stack additional 
registers, in other cases, one simply cannot do floating point in an 
ISR. Furthermore, given that a general rule of thumb is that ISRs should
 be short and sweet, one wonders about the wisdom of doing floating 
point math here.&lt;br /&gt;
(d)&amp;nbsp;&amp;nbsp;&amp;nbsp; In a similar vein to point (c), printf() often has problems 
with reentrancy and performance.&amp;nbsp; If you missed points (c) &amp;amp; (d) 
then I wouldn’t be too hard on you.&amp;nbsp; Needless to say, if you got these 
two points, then your employment prospects are looking better and 
better.&lt;br /&gt;
&lt;h2&gt;
Code Examples&lt;/h2&gt;
&lt;i&gt;12. What does the following code output and why?&lt;/i&gt;&lt;br /&gt;
void foo(void)&lt;br /&gt;
{&lt;br /&gt;
unsigned int a = 6;&lt;br /&gt;
int b = -20;&lt;br /&gt;
(a+b &amp;gt; 6) ? puts(“&amp;gt; 6”) : puts(“&amp;lt;= 6”);&lt;br /&gt;
}&lt;br /&gt;
This question tests whether you understand the integer promotion 
rules in C – an area that I find is very poorly understood by many 
developers.&amp;nbsp; Anyway, the answer is that this outputs “&amp;gt; 6”.&amp;nbsp; The 
reason for this is that expressions involving signed and unsigned types 
have all operands promoted to unsigned types. Thus –20 becomes a very 
large positive integer and the expression evaluates to greater than 6. 
This is a very important point in embedded systems where unsigned data 
types should be used frequently (see reference 2).&amp;nbsp; If you get this one 
wrong, then you are perilously close to not being hired.&lt;br /&gt;
&lt;i&gt;13. Comment on the following code fragment?&lt;/i&gt;&lt;br /&gt;
unsigned int zero = 0;&lt;br /&gt;
unsigned int compzero = 0xFFFF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*1’s complement of zero */&lt;br /&gt;
On machines where an int is not 16 bits, this will be incorrect. It should be coded:&lt;br /&gt;
unsigned int compzero = ~0;&lt;br /&gt;
This question really gets to whether the candidate understands the 
importance of word length on a computer.&amp;nbsp; In my experience, good 
embedded programmers are critically aware of the underlying hardware and
 its limitations, whereas computer programmers tend to dismiss the 
hardware as a necessary annoyance.&lt;br /&gt;
By this stage, candidates are either completely demoralized – or they
 are on a roll and having a good time.&amp;nbsp; If it is obvious that the 
candidate isn’t very good, then the test is terminated at this point. 
However, if the candidate is doing well, then I throw in these 
supplemental questions.&amp;nbsp; These questions are hard, and I expect that 
only the very best candidates will do well on them. In posing these 
questions, I’m looking more at the way the candidate tackles the 
problems, rather than the answers. Anyway, have fun…&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Dynamic memory allocation.&lt;/b&gt;&lt;br /&gt;
14. Although not as common as in non-embedded computers, embedded 
systems still do dynamically allocate memory from the heap.&amp;nbsp; What are 
the problems with dynamic memory allocation in embedded systems?&lt;br /&gt;
Here, I expect the user to mention memory fragmentation, problems 
with garbage collection, variable execution time, etc. This topic has 
been covered extensively in ESP, mainly by Plauger.&amp;nbsp; His explanations 
are far more insightful than anything I could offer here, so go and read
 those back issues! Having lulled the candidate into a sense of false 
security, I then offer up this tidbit:&lt;br /&gt;
&lt;i&gt;What does the following code fragment output and why?&lt;/i&gt;&lt;br /&gt;
char *ptr;&lt;br /&gt;
if ((ptr = (char *)malloc(0)) == NULL) {&lt;br /&gt;
puts(“Got a null pointer”);&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
puts(“Got a valid pointer”);&lt;br /&gt;
}&lt;br /&gt;
This is a fun question.&amp;nbsp; I stumbled across this only recently, when a
 colleague of mine inadvertently passed a value of 0 to malloc, and got 
back a valid pointer! After doing some digging, I discovered that the 
result of malloc(0) is implementation defined, so that the correct 
answer is ‘it depends’. I use this to start a discussion on what the 
interviewee thinks is the correct thing for malloc to do.&amp;nbsp; Getting the 
right answer here is nowhere near as important as the way you approach 
the problem and the rationale for your decision.&lt;br /&gt;
&lt;h2&gt;
Typedef&lt;/h2&gt;
&lt;i&gt;15. Typedef is frequently used in C to declare synonyms for 
pre-existing data types.&amp;nbsp; It is also possible to use the preprocessor to
 do something similar. For instance, consider the following code 
fragment:&lt;/i&gt;&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
#define dPS&amp;nbsp; struct s *&lt;br /&gt;
typedef&amp;nbsp; struct s * tPS;&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;i&gt;The intent in both cases is to define dPS and tPS to be pointers to structure s.&amp;nbsp; Which method (if any) is preferred and why? &lt;/i&gt;&lt;br /&gt;
This is a very subtle question, and anyone that gets it right (for 
the right reason) is to be congratulated or condemned (“get a life” 
springs to mind). The answer is the typedef is preferred. Consider the 
declarations:&lt;br /&gt;
dPS p1,p2;&lt;br /&gt;
tPS p3,p4;&lt;br /&gt;
The first expands to&lt;br /&gt;
struct s * p1, p2;&lt;br /&gt;
which defines p1 to be a pointer to the structure and p2 to be an 
actual structure, which is probably not what you wanted. The second 
example correctly defines p3 &amp;amp; p4 to be pointers.&lt;br /&gt;
&lt;h2&gt;
Obfuscated syntax&lt;/h2&gt;
&lt;i&gt;16. C allows some appalling constructs.&amp;nbsp; Is this construct legal, and if so what does this code do? &lt;/i&gt;&lt;br /&gt;
int a = 5, b = 7, c;&lt;br /&gt;
c = a+++b;&lt;br /&gt;
This question is intended to be a lighthearted end to the quiz, as, 
believe it or not, this is perfectly legal syntax.&amp;nbsp; The question is how 
does the compiler treat it? Those poor compiler writers actually debated
 this issue, and came up with the “maximum munch” rule, which stipulates
 that the compiler should bite off as big a (legal) chunk as it can.&amp;nbsp; 
Hence, this code is treated as:&lt;br /&gt;
c = a++ + b;&lt;br /&gt;
Thus, after this code is executed, a = 6, b = 7 &amp;amp; c = 12;&lt;br /&gt;
If you knew the answer, or guessed correctly – then well done.&amp;nbsp; If 
you didn’t know the answer then I would not consider this to be a 
problem.&amp;nbsp; I find the biggest benefit of this question is that it is very
 good for stimulating questions on coding styles, the value of code 
reviews and the benefits of using lint.&lt;br /&gt;
Well folks, there you have it.&amp;nbsp; That was my version of the C test.&amp;nbsp; I
 hope you had as much fun doing it as I had writing it.&amp;nbsp; If you think 
the test is a good test, then by all means use it in your recruitment.&amp;nbsp; 
Who knows, I may get lucky in a year or two and end up being on the 
receiving end of my own work.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;paratitle1&quot; id=&quot;dgContent&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;&lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
What is the need for an infinite loop in Embedded systems?&lt;/h2&gt;
-
 Infinite Loops are those program constructs where in there is no break 
statement so as to get out of the loop, it just keeps looping over the 
statements within the block defined.&lt;br /&gt;
&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;
While(Boolean True) OR for(;;);&lt;br /&gt;
{&lt;br /&gt;
//Code&lt;br /&gt;
}&lt;/div&gt;
-
 Embedded systems need infinite loops for repeatedly 
processing/monitoring the state of the program. One example could be the
 case of a program state continuously being checked for any exceptional 
errors that might just occur during run time such as memory outage or 
divide by zero etc.,&lt;br /&gt;
- For e.g. Customer care Telephone systems where in a pre-recorded audio file is played in case the dialer is put on hold..&lt;br /&gt;
-
 Also circuits being responsible for indicating that a particular 
component is active/alive during its operation by means of LED&#39;s.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
How does combination of functions reduce memory requirements in embedded systems?&lt;/h2&gt;
-
 The amount of code that has to be dealt with is reduced thus easing the
 overhead and redundancy is eliminated in case if there is anything 
common among the functions.&lt;br /&gt;
&lt;br /&gt;
- Memory allocation is another aspect
 that is optimized and it also makes sense to group a set of functions 
related in some way as one single unit rather than having them to be 
dispersed in the whole program.&lt;br /&gt;
&lt;br /&gt;
- In case of interactive systems 
display of menu list and reading in the choices of user&#39;s could be 
encapsulated as a single unit.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
A vast majority of High Performance Embedded systems today use RISC architecture why?&lt;/h2&gt;
-
 According to the instruction sets used, computers are normally 
classified into RISC and CISC. RISC stands for &#39;Reduced Instruction Set 
Computing&#39; . The design philosophy of RISC architecture is such that 
only one instruction is performed on each machine cycle thus taking very
 less time and speeding up when compared to their CISC counterparts.&lt;br /&gt;
&lt;br /&gt;
- Here the use of registers is optimised as most of the memory access operations are limited to store and load operations.&lt;br /&gt;
&lt;br /&gt;
-
 Fewer and simple addressing modes, and simple instruction formats leads
 to greater efficiency, optimisation of compilers, re-organisation of 
code for better throughput in terms of space and time complexities. All 
these features make it the choice of architecture in majority of the 
Embedded systems.&lt;br /&gt;
&lt;br /&gt;
- CISC again have their own advantages and they
 are preferred whenever the performance and compiler simplification are 
the issues to be taken care of.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
Why do we need virtual device drivers when we have physical device drivers?&lt;/h2&gt;
Device
 drivers are basically a set of modules/routines so as to handle a 
device for which a direct way of communication is not possible through 
the user&#39;s application program and these can be thought of as an 
interface thus keeping the system small providing for minimalistic of 
additions of code, if any.&lt;br /&gt;
Physical device drivers can’t perform all the logical operations needed in a system in cases like IPC, Signals and so on...&lt;br /&gt;
&lt;br /&gt;
The
 main reason for having virtual device drivers is to mimic the behaviour
 of certain hardware devices without it actually being present and these
 could be attributed to the high cost of the devices or the 
unavailability of such devices.&lt;br /&gt;
&lt;br /&gt;
These basically create an illusion 
for the users as if they are using the actual hardware and enable them 
to carryout their simulation results.&lt;br /&gt;
Examples could be the use of 
virtual drivers in case of Network simulators,also the support of 
virtual device drivers in case a user runs an additional OS in a virtual
 box kind of a software.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
What is the need for DMAC in ES?&lt;/h2&gt;
- Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O.&lt;br /&gt;
-
 DMA modules usually take the control over from the processor and 
perform the memory operations and this is mainly because to counteract 
the mismatch in the processing speeds of I/O units and the procesor. 
This is comparatively faster.&lt;br /&gt;
- It is an important part of any 
embedded systems,and the reason for their use is that they can be used 
for bursty data transfers instead of single byte approaches.&lt;br /&gt;
- It has to wait for the systems resources such as the system bus in case it is already in control of it.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
What is Endianness of a system and how do different systems communicate with each other?&lt;/h2&gt;
- Endianness basically refers to the ordering of the bytes within words or larger bytes of data treated as a single entity.&lt;br /&gt;
&lt;br /&gt;
-
 When we consider a several bytes of data say for instance 4 bytes of 
data,XYZQ the lower byte if stored in a Higher address and others in 
successively decreasing addresses, then it refers to the Big Endian and 
the vice versa of this refers to Little Endian architecture.&lt;br /&gt;
&lt;br /&gt;
- Intel 80x86 usually follows Little Endian and others like IBM systems follow Big Endian formats.&lt;br /&gt;
&lt;br /&gt;
-
 If the data is being transmitted care has to be taken so as to know as 
to which byte,whether the higher or the lower byte is being transmitted.&lt;br /&gt;
&lt;br /&gt;
- Hence a common format prior to communication has to be agreed upon to avoid wrong interpretation/calculations.&lt;br /&gt;
- Usually layer modules are written so as to automate these conversion in Operating systems.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
How are macros different from inline functions?&lt;/h2&gt;
-
 Macros are normally used whenever a set of instructions/tasks have to 
be repeatedly performed. They are small programs to carryout some 
predefined actions.&lt;br /&gt;
&lt;br /&gt;
- We normally use the #define directive in 
case we need to define the values of some constants so in case a change 
is needed only the value can be changed and is reflected throughout.&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;
#define mul(a,b) (a*b)&lt;/div&gt;
&lt;br /&gt;
-
 The major disadvantage of macros is that they are not really functions 
and the usual error checking and stepping through of the code does not 
occur.&lt;br /&gt;
&lt;br /&gt;
- Inline functions are expanded whenever it is invoked 
rather than the control going to the place where the function is defined
 and avoids all the activities such as saving the return address when a 
jump is performed. Saves time in case of short codes.&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;
inline float add(float a,float b)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return a+b;&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
-
 Inline is just a request to the compiler and it is upto to the compiler
 whether to substitute the code at the place of invocation or perform a 
jump based on its performance algorithms.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
What could be the reasons for a System to have gone blank and how would you Debug it?&lt;/h2&gt;
&lt;b&gt;Possible reasons could be:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
- PC being overheated.&lt;br /&gt;
- Dust having being accumulated all around.&lt;br /&gt;
- CPU fans not working properly .&lt;br /&gt;
- Faulty power connections.&lt;br /&gt;
- Faulty circuit board from where the power is being drawn.&lt;br /&gt;
- Support Drivers not having being installed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Debugging steps which can be taken are:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
-
 Cleaning the system thoroughly and maintaining it in a dust-free 
environment. Environment that is cool enough and facilitates for easy 
passage of air should be ideal enough.&lt;br /&gt;
&lt;br /&gt;
- By locating the appropriate support drivers for the system in consideration and having them installed.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
Explain interrupt latency and how can we decrease it?&lt;/h2&gt;
1.
 Interrupt latency basically refers to the time span an interrupt is 
generated and it being serviced by an appropriate routine defined, 
usually the interrupt handler.&lt;br /&gt;
2. External signals, some condition in
 the program or by the occurrence of some event, these could be the 
reasons for generation of an interrupt.&lt;br /&gt;
3. Interrupts can also be masked so as to ignore them even if an event occurs for which a routine has to be executed.&lt;br /&gt;
4. Following steps could be followed to reduce the latency&lt;br /&gt;
- ISRs being simple and short.&lt;br /&gt;
- Interrupts being serviced immediately&lt;br /&gt;
- Avoiding those instructions that increase the latency period.&lt;br /&gt;
- Also by prioritizing interrupts over threads.&lt;br /&gt;
- Avoiding use of inappropriate APIs.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;border-color: #F1F1F1; border-width: 0px;&quot;&gt;
  &lt;td style=&quot;border-width: 0px;&quot;&gt;&lt;div class=&quot;paratitle1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;paratitle1&quot;&gt;
&lt;div class=&quot;text&quot;&gt;
&lt;h2&gt;
How to create a child process in linux?&lt;/h2&gt;
- Prototype of the function used to create a child process is pid_t fork(void);&lt;br /&gt;
- Fork is the system call that is used to create a child process. It takes no arguments and returns a value of type pid_t.&lt;br /&gt;
-
 If the function succeeds it returns the pid of the child process 
created to its parent and child receives a zero value indicating its 
successful creation.&lt;br /&gt;
- On failure, a -1 will be returned in the parent&#39;s context, no child process will be created, and errno will be set.&lt;br /&gt;
-
 The child process normally performs all its operations in its parents 
context but each process independently of one nother and also inherits 
some of the important attributes from it such as UID, current directory,
 root directory and so on.&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/8812125624840572844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2016/03/embedded-firmware-interview-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/8812125624840572844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/8812125624840572844'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2016/03/embedded-firmware-interview-review.html' title='Embedded / Firmware Interview Review'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-4939466863439551173</id><published>2013-10-20T14:04:00.005-05:00</published><updated>2013-10-20T14:04:53.730-05:00</updated><title type='text'>EG Chance&#39;s Quake Bible</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Introduction&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Practice, Practice, Practice. The famous words of Champion Johnathan &quot;Fatal1ty&quot;&lt;br /&gt;
Wendel. We&#39;ve all heard it before, and we all know how important it is to reaching&lt;br /&gt;
the highest levels of play, but what about those guys who practice all day every&lt;br /&gt;
day and seem to never improve? I&#39;m sure you know who I&#39;m talking about. That&lt;br /&gt;
guy who&#39;s been playing for the last 4 years and in the 240 hours of game time&lt;br /&gt;
he&#39;s logged, since the Quake Live beta opened, has barely managed to etch out a&lt;br /&gt;
positive record. Well, this article intends to help those players - and any player&lt;br /&gt;
ready to patch up holes in their game that prevent them from reaching higher&lt;br /&gt;
levels of play. Unlike other articles, you won&#39;t find play by play instructions here.&lt;br /&gt;
Quake is about choices. From the second you spawn in, every single thing you do&lt;br /&gt;
matters. As we&#39;ll see more into this guide, even every single thing you think&lt;br /&gt;
about doing matters.&lt;br /&gt;
&lt;br /&gt;
This article is structured around insight. Insights are the foundation for your&lt;br /&gt;
improvement; the building blocks of your game. They enable you to make the&lt;br /&gt;
right choices at the right times. Without them, you can&#39;t build a structure strong&lt;br /&gt;
enough to carry you into the next level. Remember that in every step forward&lt;br /&gt;
there is an often hidden insight holding it in place that you must find in order to&lt;br /&gt;
further establish it as your strength. Meaning, if you&#39;re playing great - there&#39;s a&lt;br /&gt;
reason why. You have to find that reason to retain that level of play. If you&#39;re&lt;br /&gt;
playing miserably, there&#39;s a reason why. You have find that reason and stamp it&lt;br /&gt;
out.&lt;br /&gt;
&lt;br /&gt;
The following sections primarily contain insights to help you improve your game&lt;br /&gt;
on your own, this is the most important thing you can learn. You won&#39;t always&lt;br /&gt;
have someone to tell you how to play. Irregardless I cover a few key subjects that&lt;br /&gt;
should be your primary focus every time you play. Those two subjects are enemy&lt;br /&gt;
status and timing. We&#39;ll get to them a little later. For now, we need to understand&lt;br /&gt;
some principles to keep your head together.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Discipline. (Willing forward the strongest formula)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Create no waste. Discipline is probably the most difficult and synonymously&lt;br /&gt;
important strength of a competitor. Discipline is often what separates the&lt;br /&gt;
aforementioned soft practice junkies from the hardened veteran masters. The&lt;br /&gt;
practice junkie plays, and plays, and plays, but while he does so he&#39;ll be thinking&lt;br /&gt;
about doing his laundry. Or what about that new episode of Lost? A thousand&lt;br /&gt;
superfluous thoughts are floating through his head while he&#39;s drunkenly dropping&lt;br /&gt;
into the void like a bewildered klutz or missing the easy jump pad rail. Players like&lt;br /&gt;
Fatal1ty will tell you, even when you practice you need to focus 100 percent on&lt;br /&gt;
every game, the entire game. If you can keep this up for 8 hours a day you&#39;re&lt;br /&gt;
going to come out with some serious results. If you can do that, by the way, you&lt;br /&gt;
may have some kind of gift ;p. There are few people I know that can play more&lt;br /&gt;
than a couple hours without reaching &quot;burn out.&quot; Don&#39;t concern yourself too much&lt;br /&gt;
with the quantity however, because the quality is what counts.&lt;br /&gt;
&lt;br /&gt;
So discipline is largely about staying focused, and staying focused has a lot to do&lt;br /&gt;
with your emotional state. You can&#39;t be getting too angry, excited, or relaxed&lt;br /&gt;
when you need to be completing a crucial task like timing red armor or dodging&lt;br /&gt;
behind a pillar. An example of the kind of excitement that creates problems is&lt;br /&gt;
when that energetic excited feeling takes your mind out of the game. i.e. &quot;I&#39;m&lt;br /&gt;
doing so good! That shot was amazing! Wait.. what was the armor time again?&quot;&lt;br /&gt;
Herein lies the difference between an amateur and an expert. The expert player&lt;br /&gt;
will simply move onto the next frag, perhaps increasing or maintaining the same&lt;br /&gt;
level of energy and readiness whenever necessary.&lt;br /&gt;
&lt;br /&gt;
All that matters is that at the very least you&#39;re ready to accept and deal with the&lt;br /&gt;
current situation, rather than acting on your emotions regarding the current&lt;br /&gt;
situation. On the whole, emotional features like excitement will, by nature, lead&lt;br /&gt;
to what are called &quot;leaks.&quot; Unintentional holes in your game that, despite knowing&lt;br /&gt;
what you should have done in a situation, you went ahead and did something&lt;br /&gt;
else. Leaks commonly arise from emotion, but they may also come in a more&lt;br /&gt;
dangerously subtle package; thoughts. Anytime you have thoughts floating&lt;br /&gt;
around that don&#39;t pertain to the game at hand you generate leaks. Disciplined&lt;br /&gt;
athletes have little to no leaks.&lt;br /&gt;
&lt;br /&gt;
In order to prevent leaks you have to be aware of your current state of mind.&lt;br /&gt;
Keeping your mind clear of fog will allow you to take on any and all information&lt;br /&gt;
presented to you, and process it in an unbiased, no-nonsense fashion. With a&lt;br /&gt;
clear mind, you stay out of your own way and focus on the critical information&lt;br /&gt;
you need to make your next move. That is what strong discipline is about and&lt;br /&gt;
that is the core purpose of discipline.&lt;br /&gt;
&lt;br /&gt;
Don&#39;t think of discipline as a strenuous exercise. A large part of it is making&lt;br /&gt;
yourself comfortable with giving it your all and ensuring you&#39;re ready to play&lt;br /&gt;
irregardless of what might have or could happen inside and outside of the game.&lt;br /&gt;
There is an &quot;easy way&quot; to attain a leak-free strong discipline without breaking&lt;br /&gt;
your routine down into thousands of meticulous details and then making yourself&lt;br /&gt;
remember them all when you need them. This leads us to our next insight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Presence. (Remaining in the moment to maximize mental efficiency)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
Presence is the state of mind (or no-mind) that has no past or future. Without&lt;br /&gt;
past and future, you are not wasting your brain cells/neurons on things that do&lt;br /&gt;
not currently exist and therefore hold no bearing on you as a player. You are&lt;br /&gt;
focused entirely on what is happening, and since what is happening is all there is,&lt;br /&gt;
it is therefore all that matters. This is an easy way &quot;cut down&quot; or lean up your&lt;br /&gt;
thoughts and become all killer, no filler. In my experience, you are may only&lt;br /&gt;
compete at your peak performance when you are committed fully to the present&lt;br /&gt;
moment. The ideal way to look at this is; there is no seperation between you and&lt;br /&gt;
what is. This &quot;oneness&quot; is commonly referred to by sports analysts as, &quot;the zone.&quot;&lt;br /&gt;
Disciplined presence means we should be playing the entire game in the moment&lt;br /&gt;
as it emerges unto itself.&lt;br /&gt;
&lt;br /&gt;
You don&#39;t need to &quot;think&quot; to strafe jump. You just do it, and the more you can&lt;br /&gt;
clear up the mental noise in your head while you play - the more your mind will&lt;br /&gt;
wrap around the task you&#39;re trying to accomplish. The task of discipline is greatly&lt;br /&gt;
simplified by just maintaining continual conscious presence. How is this achieved?&lt;br /&gt;
Focus on the task at hand, nothing more, nothing less - and not so much on the&lt;br /&gt;
task, but the totality of the moment.&lt;br /&gt;
&lt;br /&gt;
Your mind should be like water, ready to adapt perfectly to fit any container.&lt;br /&gt;
Concentrate on what is happening, what the situation needs from you, don&#39;t think&lt;br /&gt;
it out in long-drawn inner dialogue - just be aware of it and allow it to come&lt;br /&gt;
through you. Give your mind the space and freedom to gather all the information&lt;br /&gt;
you need. Allow yourself to respond to the situation with relentless indifference,&lt;br /&gt;
clarity. Through this comes power. This is natural for a lot of athletes but will take&lt;br /&gt;
some practice in itself if you&#39;re not used to it. It seems like focusing on the &quot;Now&quot;&lt;br /&gt;
is common sense, but that all depends on how aware you are of your straying&lt;br /&gt;
thoughts and emotions. There&#39;s not much more that I can say about this, you&lt;br /&gt;
either get it or you don&#39;t. If you don&#39;t, just keep playing with a clear head and&lt;br /&gt;
always focus. Eventually you&#39;ll figure out how to find your &quot;zone.&quot; When you do,&lt;br /&gt;
recognize the Presence and understand that it is an enormously beneficial ability&lt;br /&gt;
which can become absolutely pivitol to your success as a player.&lt;br /&gt;
&lt;br /&gt;
Alright, so. Now we know we need discipline to continually bring our best forward&lt;br /&gt;
so we can call on our abilities at will, and we know how to stay in the moment so&lt;br /&gt;
we can be efficient with our mental resources. The line between beast and newbie&lt;br /&gt;
doesn&#39;t stop at staying focused and cognatively present the entire time, you have&lt;br /&gt;
to be focused on the right things. Now, what exactly are these &quot;right things&quot; I&lt;br /&gt;
keep mentioning, the &quot;important stuff&quot;? What should I concentrate on while I&lt;br /&gt;
play?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Opponent Awareness/Enemy Status. (Mastering the raw data.)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Whether you&#39;re playing Duel, Team Deathmatch, Clan Arena, Free for All, or even&lt;br /&gt;
Counter-Strike for that matter - your awareness of the enemies status is huge.&lt;br /&gt;
This is the part of the game that provides you with the information to make&lt;br /&gt;
almost all of your decisions useful. I come from a Duel background, so for the&lt;br /&gt;
most part I will explain this from a singular, one-player perspective rather than&lt;br /&gt;
the plural, team-oriented perspective, but the same nonetheless applies to either&lt;br /&gt;
mode.&lt;br /&gt;
&lt;br /&gt;
Your opponent has XXX health and armor (at maximum totalling up to 400), he is&lt;br /&gt;
standing X,Y,Z on the map, with X weapons, and X ammo. The opponent is also&lt;br /&gt;
moving at XXX units per second. These variables are life and death in the arena.&lt;br /&gt;
The ability to contain this information accurately within your consciousness is the&lt;br /&gt;
apex of your game. I can&#39;t stress this enough because when it comes down to&lt;br /&gt;
winning or losing a frag - the most common thing a player does is --misread the&lt;br /&gt;
situation and--- mistake some other feature for the reason it happened.&lt;br /&gt;
&lt;br /&gt;
For example: Player B goes through a doorway expecting Player A to have 25&lt;br /&gt;
health, when really Player A has 125 because he just got the mega health. When&lt;br /&gt;
Player B gets killed after landing a few beads of shaft he gets mad and blames his&lt;br /&gt;
aim for not doing enough damage. The anger itself is an issue, but we&#39;ll get to&lt;br /&gt;
that later. The misjudgment of enemy status is by a landslide the most common&lt;br /&gt;
mistake players make, and if not immediately corrected here it has the potential&lt;br /&gt;
to just domino.&lt;br /&gt;
&lt;br /&gt;
Any time a gap occurs in our intellect we immediately fill it with the most easily&lt;br /&gt;
accessibly and most seemingly obvious reason, and if there is no obvious&lt;br /&gt;
reason... we invent one! Creating a solution to fill the gap works well on a short&lt;br /&gt;
term scale to alleviate a problem with the best solution we can come up with off&lt;br /&gt;
hand, but eventually if the player leaves it unchecked his game&#39;s foundation is&lt;br /&gt;
liable to become almost superstitious. Many times rather than filling the gaps with&lt;br /&gt;
a logical guess to what may have happened players fill it with any answer that&lt;br /&gt;
most conveniently protects their ego. Anger is likely indicative of the player trying&lt;br /&gt;
to defend his sense of strength that he feels he is losing by being punished.&lt;br /&gt;
Players that get stuck in ego will perpetually blame some inauspicious aspect of&lt;br /&gt;
the game, continue letting problems chain together by answering them&lt;br /&gt;
baselessly, and thus continue to be on the receiving end of the next fragger.&lt;br /&gt;
&lt;br /&gt;
The only way out of this is being honest with yourself and accepting the reality of&lt;br /&gt;
the situation, which, I will tell you on the bright side is that you simply did not&lt;br /&gt;
accurately read the information you were given. Why is that on the bright side?&lt;br /&gt;
Because you no longer have your superstitions like &quot;I just suck&quot; to blame, you&lt;br /&gt;
have real, tangible reasoning to tell you what went wrong, and how exactly to&lt;br /&gt;
deal with it. We are all human, we all make mistakes. We need to remind&lt;br /&gt;
ourselves that these mistakes can either bear fruit, or drag us to hell, depending&lt;br /&gt;
on whether we accept our equality and subsequent mortality, or cling to ego and&lt;br /&gt;
think somehow we deserve better or worse without first understanding more. It&#39;s&lt;br /&gt;
the questions we can not answer that cause our suffering should we find&lt;br /&gt;
ourselves in a situation where we are struggling.&lt;br /&gt;
&lt;br /&gt;
Once you have accurate awareness of the enemy&#39;s status, this is where the Art of&lt;br /&gt;
War comes in. (&amp;lt;3 Sun Tzu) Now you can constantly balance your status against&lt;br /&gt;
the enemy status, and move accordingly. If you have the advantage, you attack.&lt;br /&gt;
At the disadvantage, you wait for your opponent to make a mistake or you retreat&lt;br /&gt;
in order to gain more resources than your opponent.&lt;br /&gt;
&lt;br /&gt;
What about when your back is against the wall and you can&#39;t retreat? You&#39;re out&lt;br /&gt;
of luck. The best way out of any sticky situation is to not get stuck there in the&lt;br /&gt;
first place. If you&#39;re already in this situation you&#39;re forced rely on a miracle shot,&lt;br /&gt;
opponent choke, luck, or some insight into your opponents fallibility to survive.&lt;br /&gt;
This is the last thing you want to do. Good players will attempt to force you into&lt;br /&gt;
this situation all game long. There&#39;s never a time when they want you to be&lt;br /&gt;
prepared.&lt;br /&gt;
&lt;br /&gt;
You always hear about successful athletes and gamers &quot;visualizing&quot; their success.&lt;br /&gt;
I promise you they aren&#39;t visualizing having 2 health and hitting 5 consecutive&lt;br /&gt;
grenades for the win. They&#39;re seeing kills unfold realistically and effortlessly in&lt;br /&gt;
their minds eye. Studies have shown visualization helps immensely in improving&lt;br /&gt;
task completion. In fact, it&#39;s been shown that you can actually gain muscle by&lt;br /&gt;
merely thinking about lifting weights. Try and keep your opponent contained in&lt;br /&gt;
your minds eye throughout the game. And you don&#39;t just want to think about&lt;br /&gt;
where they are, you want to literally contain them by limiting how they can&lt;br /&gt;
expand around the map.&lt;br /&gt;
&lt;br /&gt;
The majority of the learning curve in any game comes from getting yourself into&lt;br /&gt;
the right situations. The more experienced you are, the easier it becomes to&lt;br /&gt;
make useful choices using the discrepency between your enemies status and your&lt;br /&gt;
own, and the more meaningful every move you make becomes. I said it earlier&lt;br /&gt;
and I&#39;ll say it again. Quake is a game about choices. From the second you spawn&lt;br /&gt;
in, every single thing you do or even think about doing matters. Misinformed&lt;br /&gt;
decisions lead to death. If you can&#39;t figure out immediately why you just lost or&lt;br /&gt;
got fragged, go back and examine the replay afterwards. You need to understand&lt;br /&gt;
what happened. (Hopefully one day we&#39;ll have easy-access demos that display&lt;br /&gt;
enemy health, enemies through walls, and item times.)&lt;br /&gt;
Enemy status is key, but make sure you&#39;re always paying attention to your own&lt;br /&gt;
status (and your team if you&#39;re in a team mode). You might think you can take on&lt;br /&gt;
125 health joe newbie with his spawn shotty - but if you&#39;re not healthy enough&lt;br /&gt;
and he&#39;s in close ducking behind pillars he&#39;s gonna drop you like a brick. I&#39;m&lt;br /&gt;
always suprising myself how often I go in to attack and look down and realize I&#39;ve&lt;br /&gt;
got 150 armor but only 12 health. It&#39;s a given that any time enemy status is&lt;br /&gt;
considered, it should be weighed against your and your teammates statuses as&lt;br /&gt;
well.&lt;br /&gt;
&lt;br /&gt;
The most difficult thing is gathering this information, and retaining it while&lt;br /&gt;
playing. Saying that it&#39;s difficult is misleading, however, because this again isn&#39;t a&lt;br /&gt;
stressful or demanding skill. It can be achieved with ease given time, discipline,&lt;br /&gt;
and continual conscious presence. The idea of difficulty is purely psychological&lt;br /&gt;
and arises when you resist your current situation or the &quot;time&quot; it takes to&lt;br /&gt;
accomplish your desired result.&lt;br /&gt;
&lt;br /&gt;
Other insights reguarding enemy status can include player tendencies. If you&#39;ve&lt;br /&gt;
played a person enough times, or even in your first time playing a guy you can&lt;br /&gt;
sometimes pick these up a few minutes in. You can use them to &quot;get inside&quot; your&lt;br /&gt;
opponents head, putting damage on them when they&#39;re not expecting it - or&lt;br /&gt;
taking the RA they always leave up when Mega spawns. Psychology can also play&lt;br /&gt;
a role here. If you know your opponent is fatigued, you may be at an advantage.&lt;br /&gt;
This isn&#39;t something you will want to learn to rely on, but it helps to be aware of it&lt;br /&gt;
so when they&#39;re feeling peppy next time - you can expect they won&#39;t be cutting&lt;br /&gt;
you the same slack.&lt;br /&gt;
&lt;br /&gt;
So I know where he is, I know how much health he&#39;s got and I&#39;m totally with it.&lt;br /&gt;
What else do I need to focus on? We&#39;ll discuss just that in the next part.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Resource Timing (Expanding and controlling your advantages)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Resources include items placed around the map that are designed to give you or&lt;br /&gt;
your opponent an advantage. In most modes these include weapons, armor,&lt;br /&gt;
health, quad, and other powerups. In Quake, it is essential that you time items to&lt;br /&gt;
the second. First and foremost you&#39;ll be weighing enemy status with your status,&lt;br /&gt;
but the ultimate goal of resource management is to effectively eliminate your&lt;br /&gt;
opponents ability to gain any significant advantage.&lt;br /&gt;
&lt;br /&gt;
This means timing the most important items while simultaneously preventing&lt;br /&gt;
your opponent from getting them. This also means what items you can not time&lt;br /&gt;
you need to be mindful of as well. If you know they don&#39;t have the Lightning Gun&lt;br /&gt;
(LG) but you do, not only will you try to force mid-range fights where you have&lt;br /&gt;
the damage advantage, you will also want to prevent them from getting the LG so&lt;br /&gt;
you can continue control area&#39;s of the map that are best suited for its use. The&lt;br /&gt;
same goes for rockets (close range) and rail (long range). As you can see, enemy&lt;br /&gt;
status falls in to effect resource status, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In duel, the advantage of the Megahealth and Red Armor are so great that you&lt;br /&gt;
want to have each of them timed all game, every game. This is an area where a&lt;br /&gt;
lot of players faulter. You can play mindlessly all day long and garner enough&lt;br /&gt;
experience to eventually have a pretty solid lock on enemy status, but item&lt;br /&gt;
timing is a whole other beast. It takes planning, forethought, careful execution&lt;br /&gt;
and extreme intelligence. Experts say you need an IQ somewhere in the 140&#39;s at&lt;br /&gt;
least. Wait... really? No. Again - this isn&#39;t something that requires a lot of stress&lt;br /&gt;
or effort. Like everything else it just requires conscious present awareness.&lt;br /&gt;
Forethought itself only happens in the present moment. The future holds no&lt;br /&gt;
significance. Just because you&#39;re timing something does not mean you are&lt;br /&gt;
focusing on the future. All timing requires is presence and the ability to add. The&lt;br /&gt;
important thing to remember here is to time to the second.&lt;br /&gt;
&lt;br /&gt;
What I often do is simply repeat &quot;:16, :16, :16&quot; in my head and if I have Mega&lt;br /&gt;
and RA timed I repeat the RA time too, &quot;:16, :23, :16, :23...&quot; Keep in mind that&lt;br /&gt;
its not necessary to time like this if you are good at remembering when it spawns&lt;br /&gt;
without it. I generally have trouble timing without repeating the numbers if I&lt;br /&gt;
haven&#39;t been playing in awhile or I&#39;m distracted (either by physical external things&lt;br /&gt;
or just mental noise).&lt;br /&gt;
&lt;br /&gt;
It may also help you to time them out loud. I recall sitting behind Paul &quot;CZM&quot;&lt;br /&gt;
Nelson and hearing him chant the spawn times for RA and MH like a quake item&lt;br /&gt;
conjurer after he said in the game prior he was having trouble timing. Sometimes&lt;br /&gt;
I&#39;ll get confused and mix up which items are spawning in which order, especially&lt;br /&gt;
when mega is spawning before RA (because mega usually spawns after RA). For&lt;br /&gt;
example I&#39;ll be repeating &quot;:26, :30, :26, :30&quot; in my head but the item I think is&lt;br /&gt;
going to spawn at :26 is actually spawning at :30 and vice versa, so it may be&lt;br /&gt;
helpful to remember to emphasise the next coming item in your head first and&lt;br /&gt;
foremost.&lt;br /&gt;
As we said before, in order to maximize any advantage you gain from picking up&lt;br /&gt;
a resource you must time it. Of course this will not be possible with every item,&lt;br /&gt;
not only because some items spawn in less than 5 seconds effectively rendering&lt;br /&gt;
timing them meaningless, but also because there are often 20+ items per map&lt;br /&gt;
and the average human being can only remember around 8 digits at a time.&lt;br /&gt;
So why is timing a weakness for so many? Well for starters, many players&lt;br /&gt;
experience heavy mental resistance to it, most often labeling it as a &quot;less fun&quot;&lt;br /&gt;
aspect of the game. Other people are trapped in the illusion that its too effortful,&lt;br /&gt;
and requires too much of their concentration or is beyond their intelligence.&lt;br /&gt;
General lack of discipline is, however, the biggest problem. Mental wandering&lt;br /&gt;
anyone? Too frustrated or impatient to remember the time? There&#39;s your lacking&lt;br /&gt;
discipline.&lt;br /&gt;
&lt;br /&gt;
Item status, enemy status, and team status are an interconnected power struggle&lt;br /&gt;
where the exact respawn times play a critical role. Megahealth respawns at :XX,&lt;br /&gt;
red armor at :XX. You have XXX health+armor... You get the picture. Accuracy&lt;br /&gt;
within these categories takes time and determination to master. Along the way,&lt;br /&gt;
its a lot of fun. Brilliant plays start to emerge when both players become fully&lt;br /&gt;
aware of the enemy status and item times. It&#39;s a game with RTS style resource&lt;br /&gt;
management and Fighting game reflexes. The overlay of deception and&lt;br /&gt;
punctuality unfolds a dynamic and eternally interesting genre of E-Sport. Every&lt;br /&gt;
map has a unique architecture, powerup layout and weapon scheme. This sets&lt;br /&gt;
the stage for a vast set of gameplay meta-memes and personal meme&#39;s just&lt;br /&gt;
waiting to be uncovered.&lt;br /&gt;
&lt;br /&gt;
Perhaps in the future I&#39;ll write an article laying out the specific meta-strategies&lt;br /&gt;
encountered on individual maps, but for now this marks the conclusion of the&lt;br /&gt;
&quot;what to do/think about in-game&quot; section. From here, there&#39;s a few other things&lt;br /&gt;
to consider pre-game and post-game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Aim (The most overthought skill in Quake.)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
If you were to ask the best aimer in the world how he aims so good he would&lt;br /&gt;
probably explain the process in a way that would leave you just as well off as if&lt;br /&gt;
he told you to tap your heals together and wish for good aim. Indeed, the concept&lt;br /&gt;
of &quot;aiming well&quot; is one place where things get a little foggy for us humans to&lt;br /&gt;
describe =]. We tend to try to quantify things in order to understand them and&lt;br /&gt;
aim is such a dynamic category we are stuck with a lack of general insight here.&lt;br /&gt;
But there are a few things that I think play a crucial role in aim.&lt;br /&gt;
&lt;br /&gt;
1. Comfortablility. Firstly, you need to be comfortable with your environment. If&lt;br /&gt;
you&#39;re not used the height of your chair, size of the monitor, shape of your mouse&lt;br /&gt;
etc. you may have trouble aiming just because you&#39;ll be encumbered with&lt;br /&gt;
discomfort the whole game. Simple ^_^. Next you need a sensitivity you can&lt;br /&gt;
stand behind 100 percent. To do this, you need it to meet the demands of the&lt;br /&gt;
arena with absolute ease and comfort. This means setting it high enough for&lt;br /&gt;
those quick yet important placement shots, and having it low enough to maintain&lt;br /&gt;
a steady track.&lt;br /&gt;
&lt;br /&gt;
Warmup is there purely to get a good comfortable feel for your setup and make&lt;br /&gt;
your mind comfortable with your sensitivity and the general handling of your&lt;br /&gt;
mouse again.&lt;br /&gt;
&lt;br /&gt;
2. Concentration. I&#39;ve said enough on this already. Presence directly equates to&lt;br /&gt;
amazing aim =]&lt;br /&gt;
&lt;br /&gt;
3. Movement. Great movement kills two birds with one stone. You stand where&lt;br /&gt;
you need to be to simplify the shot(s) while synonymously avoiding enemy&lt;br /&gt;
attacks.&lt;br /&gt;
&lt;br /&gt;
These are really the only three factors of any relevance that I can offer you when&lt;br /&gt;
it comes to aiming. A lot of people get borderline superstitious with their aim.&lt;br /&gt;
Some will nervously tweak mouse settings, sensitivities, visual configs like they&lt;br /&gt;
have obsessive compulsive disorder. Don&#39;t be that guy ;p.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s a few more tips to make sure you&#39;re on the right track.&lt;br /&gt;
&lt;br /&gt;
Stop trying to predict the future. There&#39;s a lot of hype in being able to &quot;read&quot; your&lt;br /&gt;
opponent. Thats fine, but don&#39;t mistake &quot;reading&quot; them for predicting them. You&lt;br /&gt;
can not predict what a person will do. Trying to predict player movement in battle&lt;br /&gt;
will only lead to poor accuracy and frustration. What you can do is merely read&lt;br /&gt;
their movements and this&#39;ll be all you need to match them perfectly. So stop&lt;br /&gt;
spamming that corner for 10 seconds cause he&#39;s already behind you :p. In a&lt;br /&gt;
straight up shaft fight you want your crosshair to track the opponent with the&lt;br /&gt;
immediacy of a shadow (&amp;lt;3 Bruce Lee), and you can only achieve this through&lt;br /&gt;
total presence.&lt;br /&gt;
&lt;br /&gt;
Just like we discussed earlier with enemy status, putting yourself in the right&lt;br /&gt;
situation with aim also has an enormous value. You&#39;re not going to miss that&lt;br /&gt;
jump pad shot when you&#39;re 200/200 and have every item in the map on lock. The&lt;br /&gt;
reason? Comfortability and simplicity. You&#39;re comfortable because you&#39;re in the&lt;br /&gt;
exact situation you need to be, add that to the fact that the shot is the simplest&lt;br /&gt;
shot in the game and probably doesn&#39;t even require you to move - and you have&lt;br /&gt;
yourself a winner :)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Motivation, Attitude (Pushing the limits)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
It&#39;s important to keep a healthy morale when you go to play a game. Sometimes&lt;br /&gt;
you just aren&#39;t motivated. If you&#39;re not feeling up to a game, don&#39;t play. It takes&lt;br /&gt;
discipline just to take a break sometimes. A lot of players think, &quot;Man, I keep&lt;br /&gt;
losing because I&#39;m playing bad... I&#39;m playing badly because I don&#39;t feel like&lt;br /&gt;
playing... but I need to get better so I have to keep playing.&quot; This is a vicious&lt;br /&gt;
cycle that traps almost every aspiring pro*** at some point. If you find yourself&lt;br /&gt;
in that situation you just need to remind yourself that it&#39;s the quality that counts.&lt;br /&gt;
Taking into account the stress of tournaments, it may all be a bit overwhelming at&lt;br /&gt;
times. If you&#39;re new to the scene, you might be freaking out months before the&lt;br /&gt;
tournament even starts. If you take my previous advice, you know its not smart&lt;br /&gt;
to practice when you&#39;re stressed because you&#39;ll be too emotional to concentrate&lt;br /&gt;
or play your best. So how will you get practice if you&#39;re purposely not playing&lt;br /&gt;
because the pressure is too high? The answer is simple. Do what you can with&lt;br /&gt;
what you have, and, you receive what you give.&lt;br /&gt;
&lt;br /&gt;
&quot;Do what you can with what you have.&quot; What I mean by this is, you do as much&lt;br /&gt;
as you can with what you&#39;re given. Whatever that means, whatever situation you&lt;br /&gt;
are in. If you&#39;re stressed out and you can&#39;t seem to calm down, you have may&lt;br /&gt;
have no choice but to play through it. You gotta accept that you&#39;re just going to&lt;br /&gt;
suck while you play. If you can&#39;t practice for a solid week before an event, what&lt;br /&gt;
can you do about it? Do everything you can but don&#39;t resist it psychologically. You&lt;br /&gt;
have to bring peace into the game in order to maintain functionality because....&lt;br /&gt;
&quot;You receive what you give.&quot; Give it nothing, you can expect to receive nothing.&lt;br /&gt;
Give it your all, every, single, time-- you&#39;re going to get something back. If it&#39;s&lt;br /&gt;
not enough for you, too bad - give it some more. How is there a choice in the&lt;br /&gt;
matter? And don&#39;t just give it more- give it better, brighter. Give it lightness,&lt;br /&gt;
freedom, joy, enthusiasm. See what you get back. Life is the journey, a beautiful&lt;br /&gt;
means through uncertainty. So you start with what you have, and you do what&lt;br /&gt;
you can with it. Give it your all, Good luck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Resolve. (Conscious adaptation)&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Alright, so I&#39;m practicing really hard and I&#39;m paying acute attention to everything&lt;br /&gt;
thats happening - but I still having troubles with such-and-such problem(s). This&lt;br /&gt;
is where resolve comes in. Resolve is my favorite word, it just means so much&lt;br /&gt;
(seriously, it has 18 definitions on dictionary.com.) I said at the beginning of this&lt;br /&gt;
article that discipline may be the most important aspect of an individuals ability,&lt;br /&gt;
to me resolve plays a key just above that. Resolve gives you the ability to take a&lt;br /&gt;
step back, and tackle the problem again from a different angle. Or maybe just&lt;br /&gt;
tackle it harder this time. Or maybe lets try diving in on it from above. What if we&lt;br /&gt;
dug a hole and trapped the problem in a pit of spikes? No, I&#39;ve got it... we&#39;ll use&lt;br /&gt;
magnets!... haha&lt;br /&gt;
&lt;br /&gt;
A brilliant player (you know who you are) once told me repeatedly to think&lt;br /&gt;
outside the box. I kept thinking to myself, &quot;What does that even mean?&quot; I think&lt;br /&gt;
the answer to that question, or any question, is the fruit of resolve. With your&lt;br /&gt;
resolve you have ability to adapt, rework, recreate, restore, regenerate, renew.&lt;br /&gt;
Resolve is the forge by which the blade of your will is tempered. And like any&lt;br /&gt;
great sword, it must be shaped, heated, cooled, and folded thousands of times&lt;br /&gt;
before it is perfect - but who is ever perfect?&lt;br /&gt;
The end.&lt;br /&gt;
&lt;br /&gt;
I want to remind you that while all these insights are important, and though its&lt;br /&gt;
important to gather new knowledge - the core of your concentration while playing&lt;br /&gt;
should be on enemy status, and timing. These two components are the basis for&lt;br /&gt;
all in-game decision making.&lt;br /&gt;
&lt;br /&gt;
Hopefully this article has given you some knew knowledge or at least a fresh&lt;br /&gt;
perspective on things. If you still find yourself getting stuck, try writing stuff&lt;br /&gt;
down, you can build a journal or progress report of sorts this way.&lt;br /&gt;
It&#39;s been fun sharing with you all! Keep at it and together we will improve the&lt;br /&gt;
meta game! See you on the interwebs =]
     
     &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/4939466863439551173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/10/eg-chances-quake-bible.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/4939466863439551173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/4939466863439551173'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/10/eg-chances-quake-bible.html' title='EG Chance&#39;s Quake Bible'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-6797849758638520671</id><published>2013-05-12T19:59:00.000-05:00</published><updated>2013-05-12T20:00:34.361-05:00</updated><title type='text'>Sound 101</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
So today I wanted to purchase new head phones. Just when I got back I was just wanting to confirm the specifications that I used to purchase. Which by the way, I purchased the&lt;a href=&quot;http://www.newegg.com/Product/Product.aspx?Item=N82E16826262218&quot;&gt; JVC HA-S600-B&lt;/a&gt; from Fry&#39;s.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I specifically liked the frequency range of the sound - 8Hz-25KHz. So it had a nice range of bass as well as treble. &lt;br /&gt;
&lt;br /&gt;
Here is a cool website that explained everything that goes on behind sound engineering. - &lt;a href=&quot;http://www.tech-forums.net/forums/f12/sound-101-a-169733/&quot;&gt;http://www.tech-forums.net/forums/f12/sound-101-a-169733/&lt;/a&gt;&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
So... you&#39;re lookin fer some bumpin speakers eh? Well, heres some tips for you. Headphones can also follow these guidelines! &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;First of all, wattage isn&#39;t everything. &lt;/b&gt;
 Wattage is only the power your feeding to it. Also, especially when 
looking at 5.1 or 7.1 systems, when the box says &quot;A WHOPPING 100w!&quot;, you
 have to remember... that 100watts is divided 6 ways (5.1) or even 8 
ways (7.1). Usually, the sub will get most of the power and the 
satellites will get a miniscule amount. Higher wattage is good, but not 
always better. As this is just basic information, I&#39;m not going to get 
into RMS and Peak power ratings, but researching these two forms of 
power is DEFINITELY a must when looking at speakers/amps. Also, 
resistance (ohms) is another thing you may want to dabble into. &lt;br /&gt;
&lt;br /&gt;
------------------ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Since wattage isn&#39;t everything, what is? Sensitivity!!! &lt;/b&gt;Ok...
 so you spent your hard earned cash on some awesome speakers with 500 
watts of power. Freakin sweet eh? You open the box, get everything all 
set up and you go to press PLAY anxiously waiting for your heart to be 
resuscitated by the massive 500watts flowing through them speakers. You 
press play and what you hear is good. Then you take the dive and turn 
the volume up. &quot;WTF?! I&#39;ve got these things all the way up and they 
aren&#39;t loud whatsoever!! WHAT BS!!!&quot; Sensitivity my good friend. So what
 is sensitivity? Well, in most specifications you will see a section 
called Signal to noise ratio (SNR) or sensitivity. Then you will get a 
number followed by dB (decibels). Say this number is 50dB (which is 
horrendous), that means for every one watt of power going in, 50 
decibels of sound will come out (if playing white noise at nominal 
level). Most consumer quality stuff ranges from 70-80&#39;s. You really want
 at least 89dB. Anything above 90 will give you plenty of volume and 
will use its wattage more efficiently. &lt;br /&gt;
&lt;br /&gt;
------------------ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Anything else?&lt;/b&gt; DUH! We haven&#39;t even 
scratched the surface! Frequency range!! Frequency range is that weird 
section of numbers that no one ever understands. (100-20,000hz). What 
the heck does that mean? Well, hz (hertz) is a measurement of how many 
times a sound wave cycles in one second. So, the lower the number, the 
slower the wave. Thusly, the slower the wave, the lower it sounds. The 
human hearing range is technically 20hz-20,000hz (or 20khz). I consider 
the USABLE range to be 30hz-18khz Although I can hear 20-20k, people 
above 25 years old(ranges) can&#39;t hear much above 17k due to hearing 
damage (no matter what you do, it happens when you get older). &lt;br /&gt;
&lt;br /&gt;
A GOOD frequency range is having the first number as low as possible and
 the second number as high as possible. So, if your speakers have a 
75hz-16,000hz (which is not so great) range, if you play anything below 
or above those numbers, you wont hear it as your speakers can&#39;t play it.
 Chest thumping is normally found around 30-60hz. A good range I like to
 follow is to keep the first number below 50hz and the high number at 
least at 18khz (or 18,000hz). &lt;br /&gt;
&lt;br /&gt;
------------------ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Digital versus analog!&lt;/b&gt; WHAT?! THERE 
ARE NO SUCH THINGS AS DIGITAL SPEAKERS! NEVER! Speakers are purely an 
analog mechanism. A speaker consists of a magnet, a voice coil, a spider
 and a cone (with a dust cap in the middle, which really serves no 
purpose). Essentially, the speaker vibrates (in AND out) to move 
molecules which form sound waves. When a description says DIGITAL 
SPEAKERS, that means it has a digital to analog converter (AD/DA) OR it 
has a digital decoder built in. Digital connections only transmit 
information. No audio whatsoever. Just a bunch of ones and zeros. &lt;br /&gt;
&lt;br /&gt;
So now you should have a basic understanding about speakers and 
headphones. Now, go out and get yourself some GOOD speakers (excluding 
Bose).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Whats next? &lt;/b&gt;Wiring!&lt;br /&gt;
&lt;br /&gt;
Let&#39;s say you&#39;ve got some sweet speakers and a really sweet amp. Rock on
 eh? Car install, home theater, whatever... wiring it all up goes here! 
There are a few different ways to wire things up, but first we gotta 
understand the basics:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ohms (impedence or resistance)&lt;/li&gt;
&lt;li&gt;Wattage&lt;/li&gt;
&lt;li&gt;Load&lt;/li&gt;
&lt;li&gt;Phase&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Let&#39;s start with resistance!&lt;/b&gt;
 This can be quite the challenge, but its quite simple. Every speaker 
has a level of resistance, called impedence. Impedence is measured in 
what&#39;s called Ohm&#39;s. Now, we could get crazy and go into Ohm&#39;s Law, but 
theres really no point without going into some advanced stuff. Just so 
you can see it, here is the Ohm&#39;s Law chart:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://diyaudioprojects.com/Technical/Ohms-Law/Ohms-Law-Formula-Wheel.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
This is used for figuring Impedence (resistance), wattage, voltage, and 
current. Simple math as long as you know the information. Anyways, back 
to resistance. You know how on your amplifier it says it can handle X 
amount of ohms? Well, thats what is called Load. 8ohms and 4ohms are the
 most common, but there are components that run even lower than that. 
How do we figure out load? Well, that all depends on how things are 
wired up. There are three ways to wire: Series, Parallel, and Series 
Parallel (I know, scary... don&#39;t worry). When hooking up more than one 
speaker, you have to use one of these wiring methods. Though it may seem
 obvious, but &quot;black goes to black and red goes to red&quot;. These are the 
positive and negative leads. This gets into phase, which we&#39;ll learn a 
bit later. &lt;br /&gt;
&lt;br /&gt;
Series:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://www.colomar.com/Shavano/spkr_s.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, there are two 8ohm speakers hooked up. When you wire 
them in series method, you add the resistance of all of the speakers, 
and you get your load. In this case, 8+8= 16ohm load. REMEMBER! The 
higher the resistance, the lower the output. Why? Most amplifiers can 
handle high loads. The less resistance there is, the more power the 
speakers will draw from the amp, the more output (and we all know what 
that means... LOUDER!). The smaller load rating on the amp, the better. 
If the amp can handle 2 ohms, you better be sure it can give you more 
than enough power for any application. In the case of the picture above,
 it won&#39;t be very hard at all for the amp to drive those two speakers, 
but keep in mind that it sure isn&#39;t going to get that loud. It may be 
better to wire it in a different method, such as parallel!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parallel:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://www.colomar.com/Shavano/spkr_p.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Here we have the same to speakers, but wired differently. When wiring in
 parallel, you multiply the resistance of all of the speakers, and 
divide it by the sum of all the resistance of  the speakers. This will 
give you your load rating. Here we have two 8ohm speakers wired in 
parallel. So, we take 8 * 8 = 64 ----  64 / 16 = 4 ---- This gives us a 
load of 4ohms. If we were to hook up this to the same amplifier as we 
did with series, we would get a much high output since it is drawing 
much more power from the amp. &lt;br /&gt;
&lt;br /&gt;
Series Parallel&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://www.colomar.com/Shavano/4spkr.gif&quot; /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/6797849758638520671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/05/sound-101.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/6797849758638520671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/6797849758638520671'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/05/sound-101.html' title='Sound 101'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-5466463235013026646</id><published>2013-03-22T14:24:00.000-05:00</published><updated>2013-03-22T14:27:42.806-05:00</updated><title type='text'>Embedded Systems Interview Review</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today, I have a few interviews lined up. I want to do well of course, so I thought I would lay out some interview review. &lt;br /&gt;
&lt;br /&gt;
Let&#39;s begin!&lt;br /&gt;
&lt;br /&gt;
A really awesome review is linked here- &lt;a href=&quot;http://www.sanjayahuja.com/Interview%20questions.pdf&quot;&gt;http://www.sanjayahuja.com/Interview%20questions.pdf&lt;/a&gt;&lt;br /&gt;
--------------&lt;br /&gt;
This information came from- &lt;a href=&quot;http://careerride.com/embedded-systems-interview-questions.aspx&quot;&gt;http://careerride.com/embedded-systems-interview-questions.aspx&lt;/a&gt;&lt;br /&gt;
&lt;h3 id=&quot;Embedded1&quot;&gt;
What is the need for an infinite loop in Embedded systems?&lt;/h3&gt;
Infinite Loops are those program constructs where in there is no break statement 
         so as to get out of the loop, it just keeps looping over the statements within 
         the block defined.&lt;br /&gt;
Example:&lt;br /&gt;
While(1) {}&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
for(;;);&lt;br /&gt;
{&lt;br /&gt;
//Code&lt;br /&gt;
}&lt;br /&gt;
Embedded systems need infinite loops for repeatedly processing/monitoring the 
         state of the program. One example could be the case of a program state 
         continuously being checked for any exceptional errors that might just occur 
         during run time such as memory outage or divide by zero etc.,&lt;br /&gt;
&lt;br /&gt;
For e.g. Customer care Telephone systems where in a per-recorded audio file is 
         played in case the dialer is put on hold..&lt;br /&gt;
&lt;br /&gt;
Also circuits being responsible for indicating that a particular component is 
         active/alive during its operation by means of LED&#39;s.&lt;br /&gt;
&lt;h3 id=&quot;Embedded2&quot;&gt;
How does combination of functions reduce memory requirements in 
         embedded systems?&lt;/h3&gt;
The amount of code that has to be dealt with is reduced thus easing the overhead 
         and redundancy is eliminated in case if there is anything common among the 
         functions.&lt;br /&gt;
&lt;br /&gt;
Memory allocation is another aspect that is optimized and it also makes sense 
         to group a set of functions related in some way as one single unit rather than 
         having them to be dispersed in the whole program.&lt;br /&gt;
&lt;br /&gt;
In case of interactive systems display of menu list and reading in the choices 
         of user&#39;s could be encapsulated as a single unit.&lt;br /&gt;
&lt;h3 id=&quot;Embedded3&quot;&gt;
A vast majority of High Performance Embedded systems today use 
         RISC architecture why?&lt;/h3&gt;
According to the instruction sets used, computers are normally classified into 
         RISC and CISC. RISC stands for &#39;Reduced Instruction Set Computing&#39; .The design 
         philosophy of RISC architecture is such that only one instruction is performed 
         on each machine cycle thus taking very less time and speeding up when compared 
         to their CISC counterparts.&lt;br /&gt;
&lt;br /&gt;
Here the use of registers is optimized as most of the memory access operations 
         are limited to store and load operations.&lt;br /&gt;
&lt;br /&gt;
Fewer and simple addressing modes, and simple instruction formats leads to 
         greater efficiency, optimization of compilers, re-organisation of code for 
         better throughput in terms of space and time complexities. All these features 
         make it the choice of architecture in majority of the Embedded systems.&lt;br /&gt;
&lt;br /&gt;
CISC again have their own advantages and they are preferred whenever the 
         performance and compiler simplification are the issues to be taken care of.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;LEFT&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td align=&quot;CENTER&quot;&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;&lt;b&gt;CISC&lt;/b&gt;&lt;/span&gt;
  &lt;/td&gt;
  &lt;td align=&quot;CENTER&quot;&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;&lt;b&gt;RISC&lt;/b&gt;&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;Emphasis on hardware&lt;/span&gt;
  &lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;Emphasis on software&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;Includes multi-clock&lt;br /&gt;complex instructions&lt;/span&gt;
  &lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;Single-clock,&lt;br /&gt;reduced instruction only&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;Memory-to-memory:&lt;br /&gt;&quot;LOAD&quot; and &quot;STORE&quot;&lt;br /&gt;incorporated in instructions&lt;/span&gt;
  &lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;Register to register:&lt;br /&gt;&quot;LOAD&quot; and &quot;STORE&quot;&lt;br /&gt;are independent instructions&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;Small code sizes,&lt;br /&gt;high cycles per second&lt;/span&gt;
  &lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;Low cycles per second,&lt;br /&gt;large code sizes&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;span style=&quot;color: red; font-family: Verdana,Arial;&quot;&gt;Transistors used for storing&lt;br /&gt;complex instructions&lt;/span&gt;
  &lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;Spends more transistors&lt;br /&gt;on memory registers&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;color: blue; font-family: Verdana,Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
However, the RISC strategy also brings some very important
advantages. Because each instruction requires only one clock cycle to
execute, the entire program will execute in approximately the same amount
of time as the multi-cycle &quot;MULT&quot; command. These RISC &quot;reduced
instructions&quot; require less transistors of hardware space than the complex
instructions, leaving more room&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana,Arial;&quot;&gt;

&lt;b&gt;The Performance Equation&lt;/b&gt;&lt;br /&gt;
The following equation is commonly used for expressing a computer&#39;s
performance ability:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana,Arial;&quot;&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;center&gt;
&lt;span style=&quot;font-family: Verdana,Arial;&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www-cs-faculty.stanford.edu/%7Eeroberts/courses/soco/projects/risc/risccisc/options/performanceeq.gif&quot; /&gt; 
&lt;/span&gt;&lt;/center&gt;
&lt;span style=&quot;font-family: Verdana,Arial;&quot;&gt;

The CISC approach attempts to minimize the number of instructions
per program, sacrificing the number of cycles per instruction. RISC does
the opposite, reducing the cycles per instruction at the cost of the number
of instructions per program.&lt;/span&gt;&amp;nbsp;
        &lt;br /&gt;
&lt;h3 id=&quot;Embedded4&quot;&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;div id=&quot;Embedded4&quot; style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;(above table- &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/risc/risccisc/&quot;&gt;http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/risc/risccisc/&lt;/a&gt;)&lt;/div&gt;
&lt;h3 id=&quot;Embedded4&quot;&gt;
Why do we need virtual device drivers when we have physical 
         device drivers?&lt;/h3&gt;
Device drivers are basically a set of modules/routines so as to handle a device 
         for which a direct way of communication is not possible through the user&#39;s 
         application program and these can be thought of as an interface thus keeping 
         the system small providing for minimalistic of additions of code, if any.&lt;br /&gt;
Physical device drivers can’t perform all the logical operations needed in a 
         system in cases like IPC, Signals and so on...&lt;br /&gt;
The main reason for having virtual device drivers is to mimic the behaviour of 
         certain hardware devices without it actually being present and these could be 
         attributed to the high cost of the devices or the unavailability of such 
         devices.&lt;br /&gt;
These basically create an illusion for the users as if they are using the 
         actual hardware and enable them to carryout their simulation results.&lt;br /&gt;
Examples could be the use of virtual drivers in case of Network simulators,also 
         the support of virtual device drivers in case a user runs an additional OS in a 
         virtual box kind of a software.&lt;br /&gt;
&lt;h3 id=&quot;Embedded5&quot;&gt;
What is the need for DMAC in ES?&lt;/h3&gt;
Direct memory access is mainly used to overcome the disadvantages of interrupt 
         and progam controlled I/O.&lt;br /&gt;
DMA modules usually take the control over from the processor and perform the 
         memory operations and this is mainly because to counteract the mismatch in the 
         processing speeds of I/O units and the procesor.This is comparatively faster.&lt;br /&gt;
&lt;br /&gt;
It is an important part of any embedded systems,and the reason for their use is 
         that they can be used for bursty data transfers instead of single byte 
         approaches.&lt;br /&gt;
It has to wait for the systems resources such as the system bus in case it is 
         already in control of it.&lt;br /&gt;
&lt;h3 id=&quot;Embedded6&quot;&gt;
What is Endianness of a system and how do different systems 
         communicate with each other?&lt;/h3&gt;
Endianness basically refers to the ordering of the bytes within words or larger 
         bytes of data treated as a single entity.&lt;br /&gt;
When we consider a several bytes of data say for instance 4 bytes of data,XYZQ 
         the lower byte if stored in a Higher address and others in successively 
         decreasing addresses ,then it refers to the Big Endian and the vice versa of 
         this refers to Little Endian architecture.&lt;br /&gt;
Intel 80x86 usually follows Little Endian and others like IBM systems follow 
         Big Endian formats.&lt;br /&gt;
If the data is being transmitted care has to be taken so as to know as to which 
         byte,whether the higher or the lower byte is being transmitted.
         &lt;br /&gt;
Hence a common format prior to communication has to be agreed upon to avoid 
         wrong interpretation/calculations.&lt;br /&gt;
Usually layer modules are written so as to automate these conversion in 
         Operating systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&quot;Little Endian&quot; means that the low-order byte of the number
is stored in memory at the lowest address, and the high-order
byte at the highest address.  (The little end comes first.)
For example, a 4 byte LongInt
&lt;br /&gt;
&lt;pre&gt;    Byte3 Byte2 Byte1 Byte0
&lt;/pre&gt;
will be arranged in memory as follows:
&lt;br /&gt;
&lt;pre&gt;    Base Address+0   Byte0
    Base Address+1   Byte1
    Base Address+2   Byte2
    Base Address+3   Byte3
&lt;/pre&gt;
Intel processors (those used in PC&#39;s) use &quot;Little Endian&quot; byte order.

&quot;Big Endian&quot; means that the high-order byte of the number is
stored in memory at the lowest address, and the low-order
byte at the highest address.  (The big end comes first.)
Our LongInt, would then be
stored as:
&lt;br /&gt;
&lt;pre&gt;    Base Address+0   Byte3
    Base Address+1   Byte2
    Base Address+2   Byte1
    Base Address+3   Byte0
&lt;/pre&gt;
Motorola processors (those used in Mac&#39;s) use &quot;Big Endian&quot; byte order.&lt;br /&gt;
^Found from &lt;a href=&quot;http://people.cs.umass.edu/~verts/cs32/endian.html&quot;&gt;http://people.cs.umass.edu/~verts/cs32/endian.html&lt;/a&gt;&lt;br /&gt;
&lt;h3 id=&quot;Embedded7&quot;&gt;
How are macros different from inline functions?&lt;/h3&gt;
Macros are normally used whenever a set of instructions/tasks have to be 
         repeatedly performed. They are small programs to carryout some predefined 
         actions.&lt;br /&gt;
We normally use the #define directive in case we need to define the values of 
         some constants so in case a change is needed only the value can be changed and 
         is reflected throughout.&lt;br /&gt;
#define mul(a,b) (a*b)&lt;br /&gt;
The major disadvantage of macros is that they are not really functions and the 
         usual error checking and stepping through of the code does not occur.&lt;br /&gt;
Inline functions are expanded whenever it is invoked rather than the control 
         going to the place where the function is defined and avoids all the activities 
         such as saving the return address when a jump is performed. Saves time in case 
         of short codes.&lt;br /&gt;
inline float add(float a,float b)&lt;br /&gt;
{&lt;br /&gt;
return a+b;&lt;br /&gt;
}&lt;br /&gt;
Inline is just a request to the compiler and it is upto to the compiler whether 
         to substitute the code at the place of invocation or perform a jump based on 
         its performance algorithms.&lt;br /&gt;
&lt;h3 id=&quot;Embedded8&quot;&gt;
What could be the reasons for a System to have gone blank and 
         how would you Debug it?&lt;/h3&gt;
Possible reasons could be,&lt;br /&gt;
- PC being overheated.&lt;br /&gt;
- Dust having being accumulated all around.&lt;br /&gt;
- CPU fans not working properly .&lt;br /&gt;
- Faulty power connections.&lt;br /&gt;
- Faulty circuit board from where the power is being drawn.&lt;br /&gt;
- Support Drivers not having being installed.&lt;br /&gt;
&lt;br /&gt;
Debugging steps which can be taken are:
         &lt;br /&gt;
&lt;br /&gt;
- Cleaning the system thoroughly and maintaining it in a dust-free environment.
         &lt;br /&gt;
Environment that is cool enough and facilitates for easy passage of air should 
         be ideal enough.&lt;br /&gt;
&lt;br /&gt;
- By locating the appropriate support drivers for the system in consideration 
         and having them installed.&lt;br /&gt;
&lt;h3 id=&quot;Embedded9&quot;&gt;
Explain interrupt latency and how can we decrease it?&lt;/h3&gt;
Interrupt latency basically refers to the time span an interrupt is generated 
         and it being serviced by an appropriate routine defined.,usually the interrupt 
         handler.&lt;br /&gt;
External signals,some condition in the program or by the occurrence of some 
         event,these could be the reasons for generation of an interrupt.&lt;br /&gt;
Interrupts can also be masked so as to ignore them even if an event occurs for 
         which a routine has to be executed.&lt;br /&gt;
Following steps could be followed to reduce the latency&lt;br /&gt;
- isrs being simple and short.&lt;br /&gt;
- Interrupts being serviced immediately&lt;br /&gt;
- Avoiding those instructions that increase the latency period.&lt;br /&gt;
- Also by prioritizing interrupts over threads.&lt;br /&gt;
- Avoiding use of inappropriate APIs.&lt;br /&gt;
&lt;h3 id=&quot;Embedded10&quot;&gt;
How to create a child process in linux?&lt;/h3&gt;
Prototype of the function used to create a child process is pid_t fork(void);&lt;br /&gt;
Fork is the system call that is used to create a child process. It takes no 
         arguments and returns a value of type pid_t.&lt;br /&gt;
If the function succeeds it returns the pid of the child process created to its 
         parent and child receives a zero value indicating its successful creation.&lt;br /&gt;
On failure, a -1 will be returned in the parent&#39;s context, no child process 
         will be created, and errno will be set&lt;br /&gt;
The child process normally performs all its operations in its parents context 
         but each process independently of one another and also inherits some of the 
         important attributes from it such as UID, current directory, root directory and 
         so on.&lt;br /&gt;
&lt;h3 id=&quot;Embedded11&quot;&gt;
Significance of watchdog timer in Embedded Systems&lt;/h3&gt;
Watchdog timer is basically a timing device that is set for predefined time 
         interval and some event should occur during that time interval else the device 
         generates a time out signal.&lt;br /&gt;
One application where it is most widely used is when the mobile phone hangs and 
         no activity takes place,in those cases watchdog timer performs a restart of the 
         system and comes to the rescue of the users.&lt;br /&gt;
It is used to reset to the original state whenever some inappropriate events 
         take place such as too many commands being given at the same time or other 
         activities that result in malfunctioning of the GUI.It is usually operated by 
         counter devices.&lt;br /&gt;
&lt;h3 id=&quot;Embedded12&quot;&gt;
If you buy some RTOS, what are the features you look for in ?&lt;/h3&gt;
-Deterministic operating system having guaranteed worst-case interrupt latency 
         and context-switch times.&lt;br /&gt;
-Documentation providing for the minimum, average, and maximum number of clock 
         cycles required by each system call&lt;br /&gt;
-Interrupt response times should be very minute.&lt;br /&gt;
-Context switch time should be very low.&lt;br /&gt;
-Compatibility with several plugin devices.&lt;br /&gt;
- Overall it should be very reliable.&lt;br /&gt;
&lt;h3 id=&quot;Embedded13&quot;&gt;
Why is java mostly used in embedded systems?&lt;/h3&gt;
Java was mainly designed and conceputalised for code that can work on different 
         platforms without any hassles and also for being secure enough so as to not 
         harm or corrupt other modules of code.&lt;br /&gt;
Features like exception handling,simple syntax and Automatic Garbage collection 
         all work in its favour as the language for use in ES&#39;s.&lt;br /&gt;
Also that it is widely used in the form of Java applets makes it very popular 
         confining it to the limits of JVM.It is Dynamic in nature.&lt;br /&gt;
Its use is also being exploited in enterprise systems in the form of J2EE ,J2SE&lt;br /&gt;
J2ME in case of mobile applications.&lt;br /&gt;
&lt;h3 id=&quot;Embedded14&quot;&gt;
Differentiate between mutexes vs semaphores&lt;/h3&gt;
-Semaphores is a synchronisation tool to overcome the critical section problem.&lt;br /&gt;
- A semaphore S is basically an integer variable that apart from initialisation 
         is accesses only through atomic operations such as wait() and signal().&lt;br /&gt;
- Semaphore object basically acts as a counter to monitor the number of threads 
         accessing a resource.&lt;br /&gt;
- Mutex is also a tool that is used to provide deadlock free mutual 
         exclusion.It protects access to every critical data item.if the data is locked 
         and is in use,it either waits for the thread to finish or awakened to release 
         the lock from its inactive state.&lt;br /&gt;
&lt;h3 id=&quot;Embedded15&quot;&gt;
What are the commonly found errors in Embedded Systems?&lt;/h3&gt;
- Damage of memory devices due to transient current and static discharges.&lt;br /&gt;
- Malfunctioning of address lines due to a short in the circuit&lt;br /&gt;
- Malfunctioning of Data lines.&lt;br /&gt;
- Some memory locations being inaccessible in storage due to garbage or errors.&lt;br /&gt;
- Improper insertion of Memory devices into the memory slots&lt;br /&gt;
- Faulty control signals.&lt;br /&gt;
&lt;h3 id=&quot;Embedded16&quot;&gt;
What is the need for having multibyte data input and output 
         buffers in case of device ports?&lt;/h3&gt;
It’s normally the case that some devices transfer the output either in a bursty 
         or a sequential manner and also during input entry. If we take the example of 
         keyboards, all the data entered is stored in a buffer and given at a time or 
         one character at a time.&lt;br /&gt;
In case of networking there may be several requests to access the same resource 
         and all these are queued in a buffer and serviced in the order they are 
         received&lt;br /&gt;
Hence to avoid the input/output units from getting overloaded with requests, we 
         use multibyte buffers.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
The following are basic interview questions for embedded systems - found &lt;a href=&quot;http://careerride.com/embedded-systems-interview-for-freshers.aspx&quot;&gt;http://careerride.com/embedded-systems-interview-for-freshers.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 id=&quot;es1&quot;&gt;
What is lst file?&lt;/h3&gt;
• This file is also called as list file.
         &lt;br /&gt;
• It lists the opcodes ,addresses and errors detected by the assembler.
         &lt;br /&gt;
• List file is produced only when indicated by the user.
         &lt;br /&gt;
• It can be accessed by an editor and displayedon monitor screen or printed.
         &lt;br /&gt;
• Progammer uses this file to find the syntax errors and later fix them.
        &lt;br /&gt;
&lt;h3 id=&quot;es2&quot;&gt;
How is a program executed’ bit by bit’ or’ byte by byte’?&lt;/h3&gt;
EXAMPLE&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; id=&quot;Table3&quot; style=&quot;width: 300px;&quot;&gt;
          &lt;tbody&gt;
&lt;tr&gt;
           &lt;td&gt;ADDRESS&lt;/td&gt;
           &lt;td&gt;OPCODE&lt;/td&gt;
           &lt;td&gt;PROGRAM&lt;/td&gt;
          &lt;/tr&gt;
&lt;tr&gt;
           &lt;td&gt;1&amp;nbsp;&amp;nbsp; 0000&lt;/td&gt;
           &lt;td&gt;&lt;br /&gt;&lt;/td&gt;
           &lt;td&gt;ORG 0H&lt;/td&gt;
          &lt;/tr&gt;
&lt;tr&gt;
           &lt;td&gt;2&amp;nbsp;&amp;nbsp; 0000&lt;/td&gt;
           &lt;td&gt;7D25&lt;/td&gt;
           &lt;td&gt;MOV R5,#25H&lt;/td&gt;
          &lt;/tr&gt;
&lt;tr&gt;
           &lt;td&gt;3&amp;nbsp;&amp;nbsp; 0002&lt;/td&gt;
           &lt;td&gt;7F34&lt;/td&gt;
           &lt;td&gt;MOV R7,#34H&lt;/td&gt;
          &lt;/tr&gt;
&lt;tr&gt;
           &lt;td&gt;4&amp;nbsp;&amp;nbsp; 0004&lt;/td&gt;
           &lt;td&gt;2D
           &lt;/td&gt;
           &lt;td&gt;ADD A, R5&lt;/td&gt;
          &lt;/tr&gt;
&lt;tr&gt;
           &lt;td&gt;5&amp;nbsp;&amp;nbsp; 0005&lt;/td&gt;
           &lt;td&gt;&lt;br /&gt;&lt;/td&gt;
           &lt;td&gt;END&lt;/td&gt;
          &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
• A program is always executed byte by byte.
         &lt;br /&gt;
• Firstly,1st opcode 7D is fetched from location 0000 and then the value 25 is 
         fetched from 0001 .
         &lt;br /&gt;
• 25 is then placed in the register R5 and program counter is incremented to 
         point 0002.
         &lt;br /&gt;
• On execution of opcode 7F, value 34 is copied to register R7.
         &lt;br /&gt;
• Then addition of contents of R5 and accumulater takes place.
         &lt;br /&gt;
• Here all the opcodes are 8 bit forming a byte.&lt;br /&gt;
&lt;h3 id=&quot;es3&quot;&gt;
Explain DB.&lt;/h3&gt;
• DB is called as define byte used as a directive in the assembler.&lt;br /&gt;
• It is used to define the 8 bit data in binary ,hexadecimal or decimal 
         formats.&lt;br /&gt;
• It is the only directive that can be used to define ASCII strings larger than 
         two characters.&lt;br /&gt;
• DB is also used to allocate memory in byte sized chunks.&lt;br /&gt;
• The assembler always converts the numbers lnto hexadecimal.&lt;br /&gt;
&lt;h3 id=&quot;es4&quot;&gt;
What is EQU?&lt;/h3&gt;
• EQU is the equate assmbler directive used to define a constant without 
         occupying a memory location.&lt;br /&gt;
• It associates a constant value with data label .&lt;br /&gt;
• Whenever the label appears in the program ,constant value is subsituted for 
         label.&lt;br /&gt;
• Advantage: The constant value occuring at various positions in a program can 
         be changed at once using this directive.&lt;br /&gt;
• Syntax: label EQU constant value&lt;br /&gt;
&lt;h3 id=&quot;es5&quot;&gt;
How are labels named in assembly language?&lt;/h3&gt;
• Label name should be unique and must contain alphabetic letters in both 
         uppercase and lowercase.&lt;br /&gt;
• 1st letter should always be an alphabetic letter.&lt;br /&gt;
• It can also use digits and special characters ?,.,@,_,$.&lt;br /&gt;
• Label should not be one of the reserved words in assembly language.&lt;br /&gt;
• These labels make the progam much easier to read and maintain.&lt;br /&gt;
&lt;h3 id=&quot;es6&quot;&gt;
Are all the bits of flag register used in 8051?&lt;/h3&gt;
• The flag register also called as the program status word uses only 6 bits.&lt;br /&gt;
• The two unused bits are user defineable flags.&lt;br /&gt;
• Carry ,auxillary carry ,parity and overflow flags are the conditional flags 
         used in it.&lt;br /&gt;
• PSW.1 is a user definable bit and PSW.5 can be used as general purpose bit.&lt;br /&gt;
• Rest all flags indicate some or the other condition of an arithematic 
         operation.&lt;br /&gt;
&lt;h3 id=&quot;es7&quot;&gt;
Which bit of the flag register is set when output overflows to the 
         sign bit?&lt;/h3&gt;
• The 2nd bit of the flag register is set when output flows to the sign bit.&lt;br /&gt;
• This flag is also called as the overflow flag.&lt;br /&gt;
• Here the output of the signed number operation is too large to be accomodated 
         in 7 bits.&lt;br /&gt;
• For signed numbers the MSB is used to indicate the whether the number is 
         positive or negative.&lt;br /&gt;
• It is only used to detect errors in signed number operations.&amp;nbsp;
        &lt;br /&gt;
&lt;h3 id=&quot;es8&quot;&gt;
Which register bank is used if we use the following instructions&lt;br /&gt;
         SETB&amp;nbsp; PSW.3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;br /&gt;
         SETB&amp;nbsp; PSW.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B&lt;/h3&gt;
• Statement A sets 3rd bit of flag register.
         &lt;br /&gt;
• Statement B sets 4th bit of flag register.&lt;br /&gt;
• Therefore register bank 3 is initiated .&lt;br /&gt;
• It uses memory location 18H to 1FH.&lt;br /&gt;
• The register bank is also called as R3.&lt;br /&gt;
&lt;h3 id=&quot;es9&quot;&gt;
Issues related to stack and bank 1.&lt;/h3&gt;
• Bank 1 uses the same RAM space as the stack.&lt;br /&gt;
• Stack pointer is incremented or decremented according to the push or pop 
         instruction.&lt;br /&gt;
• If the stack pointer is decremented it uses locations 7,6,5… which belongs to 
         register bank 0.&lt;br /&gt;
• If a given program uses R1 then stack is provided new memory location.&lt;br /&gt;
• The push instruction may also take stack to location 0 i.e.it will run out of 
         space.&lt;br /&gt;
&lt;h3 id=&quot;es10&quot;&gt;
Explain JNC.&lt;/h3&gt;
• It is a command used to jump if no carry occurs after an arithematic 
         operation.&lt;br /&gt;
• It is called as jump if no carry( conditional jump instruction).&lt;br /&gt;
• Here the carry flag bit in PSW register is used to make decision.&lt;br /&gt;
• The processor looks at the carry flag to see if it is raised or not.&lt;br /&gt;
• If carry flag is 0 ,CPU fetches instructions from the address of the label.&lt;br /&gt;
&lt;h3 id=&quot;es11&quot;&gt;
Write a program to toggle all bits of P1 every 200ms.&lt;/h3&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         MOV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         A,#55H&lt;br /&gt;
AGAIN:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         MOV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         P1,A&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         ACALL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELAY&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         CPL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         A&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SJMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AGAIN&lt;br /&gt;
&lt;br /&gt;
DELAY:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         MOV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         R5,#9&lt;br /&gt;
HERE1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         MOV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R4,#242&lt;br /&gt;
HERE2:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MOV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         R3,#255&lt;br /&gt;
HERE3:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         DJNZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3,HERE3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         DJNZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4,HERE2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
         DJNZ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R5,HERE1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RET&lt;br /&gt;
• Here the delay produced is 9*255*4MC*90=199,940 micro seconds.&lt;br /&gt;
• CPL is used to toggle the bits of P1.&lt;br /&gt;
• Short jump is jusd to produce a continuous loop.&lt;br /&gt;
&lt;h3 id=&quot;es12&quot;&gt;
Can port 0 be used as input output port?&lt;/h3&gt;
• Yes, port 0 can be used as input output port.&lt;br /&gt;
• Port 0 is an open drain unlike ports 2,3,4.&lt;br /&gt;
• To use it as input or output the 10k ohm pull-up resisters are connected to 
         it externally.&lt;br /&gt;
• To make port 0 as input port it must be programmed by writing 1 to all bits.&lt;br /&gt;
• Example:&lt;br /&gt;
&lt;br /&gt;
MOV&amp;nbsp; A,#0FFH&lt;br /&gt;
MOV&amp;nbsp; P0,A&lt;br /&gt;
&lt;h3 id=&quot;es13&quot;&gt;
Which 2 ports combine to form the 16 bit address for external memory 
         access?&lt;/h3&gt;
• Port0 and port2 together form the 16 bit address for external memory.&lt;br /&gt;
• Port0 uses pins 32 to 39 of 8051 to give the lower address bits(AD0-AD7)&lt;br /&gt;
• Port2 uses pins 21 to 28 of 8051 to give the higher address bits(A8-A15)&lt;br /&gt;
• This 16 bit address is used to access external memory if attached.&lt;br /&gt;
• When connected to external memory they cannot be used as input output ports.&lt;br /&gt;
&lt;h3 id=&quot;es14&quot;&gt;
Can single bit of a port be accessed in 8051?&lt;/h3&gt;
• Yes,8051 has the capability of accessing only single bit of a port.&lt;br /&gt;
• Here only single bit is accessed and rest are unaltered.&lt;br /&gt;
• SYNTAX: “SETB X. Y”.&lt;br /&gt;
• Here X is the port number and y is the desired bit.&lt;br /&gt;
• Example: SETB P1.2&lt;br /&gt;
&lt;br /&gt;
Here the second bit of port 1 is set to 1.&lt;br /&gt;
&lt;h3 id=&quot;es15&quot;&gt;
Other than SETB ,CLR are there any single bit instructions ?&lt;/h3&gt;
• There are total 6 single-bit instructions.&lt;br /&gt;
• CPL bit : complement the bit (bit= NOT bit).&lt;br /&gt;
• JB bit,target: Jump to target if bit equal to 1.&lt;br /&gt;
• JNB bit,target: Jump to target if bit is equal to 0.&lt;br /&gt;
• JCB bit,target: Jump to target if bit is equal to 1 and then clear bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/5466463235013026646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/03/embedded-systems-interview-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/5466463235013026646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/5466463235013026646'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/03/embedded-systems-interview-review.html' title='Embedded Systems Interview Review'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-2875758332136933971</id><published>2013-01-12T21:28:00.001-06:00</published><updated>2013-01-12T21:28:29.391-06:00</updated><title type='text'>Review Buck, Boost, LDO, PWM, and FIR vs IIR</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;!--[if !mso]&gt;
&lt;style&gt;
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:RelyOnVML/&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;
   &lt;m:brkBin m:val=&quot;before&quot;/&gt;
   &lt;m:brkBinSub m:val=&quot;&amp;#45;-&quot;/&gt;
   &lt;m:smallFrac m:val=&quot;off&quot;/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val=&quot;0&quot;/&gt;
   &lt;m:rMargin m:val=&quot;0&quot;/&gt;
   &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;
   &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;
   &lt;m:intLim m:val=&quot;subSup&quot;/&gt;
   &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;
  DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;
  LatentStyleCount=&quot;267&quot;&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin-top:0in;
 mso-para-margin-right:0in;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0in;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;Times New Roman&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
 {mso-style-name:&quot;Table Grid&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-priority:59;
 mso-style-unhide:no;
 border:solid windowtext 1.0pt;
 mso-border-alt:solid windowtext .5pt;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-border-insideh:.5pt solid windowtext;
 mso-border-insidev:.5pt solid windowtext;
 mso-para-margin:0in;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1027&quot;/&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot;/&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Charis Poag, 1/5/13&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;The following information was
obtained for a company I am applying for (omitted name). One of the Design directors asked me some
questions during the interview. So I went ahead and did some research to
refresh my mind on their technologies over the weekend. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Power i nformation came from: &lt;a href=&quot;http://users.ece.utexas.edu/~kwasinski/teaching.html&quot;&gt;http://users.ece.utexas.edu/~kwasinski/teaching.html&lt;/a&gt;
and some from Wikipedia and youtube videos.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Main knowledge of DSP information came from: &lt;a href=&quot;http://users.ece.utexas.edu/~bevans/courses/realtime/lectures/index.html&quot;&gt;http://users.ece.utexas.edu/~bevans/courses/realtime/lectures/index.html&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
a) &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Buck converters&lt;/b&gt;-&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
A buck converter is a method to &quot;step-down DC to DC
converter&quot;. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Our goal is to have a
high efficiency design, ie our lossless objective: Power in = power out, thus Vin*Iin
=Vout*Iout -&amp;gt; Vout/Vin = Iin/Iout. The typical buck converter design is
shown in the figure below.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP_cldx-CqvWab8FYMXM9qc_m1h-IihTnN4UOqJ4xa38drTHYf8EQGoreiQo8DjPM4fVtd6JxFolj10B7NDUTcqMHWLUiChbt_HcAsga_gS_oraz0IHA8jQxYIUlLeR3F_H7i4ri67Jti-/s1600/500px-Buck_circuit_diagram.svg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;114&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP_cldx-CqvWab8FYMXM9qc_m1h-IihTnN4UOqJ4xa38drTHYf8EQGoreiQo8DjPM4fVtd6JxFolj10B7NDUTcqMHWLUiChbt_HcAsga_gS_oraz0IHA8jQxYIUlLeR3F_H7i4ri67Jti-/s320/500px-Buck_circuit_diagram.svg.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 

 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Note: the switch is typically a MOSFET,IGBT, or BJT. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Idea: voltage regulation by the inductor-- &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79A_w-n7Z9fk6RhIJeLYIEU_90_bmvOlAgpF1NS6pfJOV3Wl73zWCWNq9rXgPLMNkt48-za2m6WgKcc0xctEWpP2CDtwY_m0GvVMkbVDp3FXllMqk8FqTaT4M9N0FoNKX6-QWopvqnhU3/s1600/inductorvoltage.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79A_w-n7Z9fk6RhIJeLYIEU_90_bmvOlAgpF1NS6pfJOV3Wl73zWCWNq9rXgPLMNkt48-za2m6WgKcc0xctEWpP2CDtwY_m0GvVMkbVDp3FXllMqk8FqTaT4M9N0FoNKX6-QWopvqnhU3/s1600/inductorvoltage.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Also energy stored in an inductor is described as-&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAD6qUY_QnoNwynCWeamOGH96gRQG-CpQYp3PE3LYp1UxQwceDgaiuE_Ry7iv48ymlupYfmBC4jZpExsoWi5QjlFE0LGXdTmmxEqvyE1uRIkzOjG1n0ickIBDnbAhyphenhyphenTHR4CmROl_Xh2J8/s1600/inductorenergy.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAD6qUY_QnoNwynCWeamOGH96gRQG-CpQYp3PE3LYp1UxQwceDgaiuE_Ry7iv48ymlupYfmBC4jZpExsoWi5QjlFE0LGXdTmmxEqvyE1uRIkzOjG1n0ickIBDnbAhyphenhyphenTHR4CmROl_Xh2J8/s1600/inductorenergy.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
The theory of operation is fairly simple, with an inductor and two
switches (usually created with a transistor and a diode) which controls the
inductor converter. The best way to understand this is to think in terms of the
inductor&#39;s reluctance to allow a change in current. So when the switch is open
(seen in picture below as the &quot;off&quot; position), the current in the
circuit is 0 in the beginning. But when the switch is closed, the current
begins to increase, but the inductor does not want it to change from 0, so it
attempts to fight the increase by dropping the voltage. The voltage drop
counters the voltage of the source and reduces the net voltage across the load.
Over time, the inductor allows current to increase slowly by&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;decreasing the voltage it drops, thus
increasing the net voltage seen by the load. This process causes the inductor
to store the energy in the form of a magnetic field. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
If the switch is opened before the inductor fully charges (in other
words, before it has allowed all current to pass through by reducing its own
voltage drop to 0), then there will always be a voltage drop across it. Thus
the net voltage seen by the load is always less than the input voltage source.
Overtime, the inductor allows the current to decrease gradually, which it does
by decreasing the voltage across itself. During this time, the inductor is
discharging its stored energy into the rest of the circuit. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
If the switch is closed again before the inductor fully discharges, the
load will always see a non-zero voltage. The capacitor placed in parallel with
the lad helps smooth out this voltage waveform as the inductor charges and
discharges each cycle. As seen in the figure below the circuit diagrams. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
By keeping the inductor in a state of not fully charging and
discharging we are able to create a circuit which lowers the output voltage.
This also allows us to control the power efficiency of the circuit. A more in
depth discussion of this circuit can be found on Wikipedia or other educational
resources which describe the continuous and discontinuous modes of the
inductors cycles and control of the current seen across the load. For example
in continuous mode if you can find out what duty cycle you need to&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;step down 12v to 3v. In that particular case
you need a 25% duty cycle in our theoretical ideal circuit. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
This is due to D (uty cycle) =Vout/Vin =0.25 duty cycle.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTHZMIoOx873y9Ul4RRSr351bbKWtBZrDOSijQG4S7379y222MJTTjQCJsikWQhDaxmROsmXHDTX-AWQssVmjMhB0EPoPXlgZgqcPTs0T9gPo8RkM34HvJeGqVyEsKu22aBb54GqFO4RCM/s1600/dutycyclebuck.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTHZMIoOx873y9Ul4RRSr351bbKWtBZrDOSijQG4S7379y222MJTTjQCJsikWQhDaxmROsmXHDTX-AWQssVmjMhB0EPoPXlgZgqcPTs0T9gPo8RkM34HvJeGqVyEsKu22aBb54GqFO4RCM/s1600/dutycyclebuck.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Buck_converter&quot;&gt;http://en.wikipedia.org/wiki/Buck_converter&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj68o96LO8CLnzImCWdj67TECAUZNGPwKlDbW5Qz5twjMrqpT636iUMYvAp2EuIDfTc2BPa7WBObFDso4RC41idFRRKLT8_LjRaCd1c2LLqTs6f6skwRzDx1Eq-UqVo4z3HlvtKru5594rt/s1600/buckstatescurrentrelation.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj68o96LO8CLnzImCWdj67TECAUZNGPwKlDbW5Qz5twjMrqpT636iUMYvAp2EuIDfTc2BPa7WBObFDso4RC41idFRRKLT8_LjRaCd1c2LLqTs6f6skwRzDx1Eq-UqVo4z3HlvtKru5594rt/s1600/buckstatescurrentrelation.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQ_MNNtjfgWA8MntbFd7adNnOlXJbFiBV9FWbnMRet8qCc9uzAmRxbDuPjFGQDw635zKahnbX7zDSNoPGoNCkYll5SqTuRyh0UsfkD0Q4bB5G5BxVpYnZ0Nlm40aqMq1_YCR3CbR5pmYe/s1600/buckstates.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrQ_MNNtjfgWA8MntbFd7adNnOlXJbFiBV9FWbnMRet8qCc9uzAmRxbDuPjFGQDw635zKahnbX7zDSNoPGoNCkYll5SqTuRyh0UsfkD0Q4bB5G5BxVpYnZ0Nlm40aqMq1_YCR3CbR5pmYe/s1600/buckstates.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 

 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
b) &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Boost converters&lt;/b&gt;-&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjB4lTmkgjagIQgmRh4hHF_0aI_ri6UtOG3tzgJ9qU2pd5WNYvVzU5gLwVFWqeOtBSsbdErt5CcqTcdUT7KaltxEUg9t4jry57YVvaDIIfDMbtajN4TQetv8VxQf69x4v6tFwrCLPwrdbA/s1600/boostconverter.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjB4lTmkgjagIQgmRh4hHF_0aI_ri6UtOG3tzgJ9qU2pd5WNYvVzU5gLwVFWqeOtBSsbdErt5CcqTcdUT7KaltxEUg9t4jry57YVvaDIIfDMbtajN4TQetv8VxQf69x4v6tFwrCLPwrdbA/s1600/boostconverter.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;Note: the switch is typically a MOSFET,IGBT, or BJT. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Idea: voltage regulation by the inductor-- &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79A_w-n7Z9fk6RhIJeLYIEU_90_bmvOlAgpF1NS6pfJOV3Wl73zWCWNq9rXgPLMNkt48-za2m6WgKcc0xctEWpP2CDtwY_m0GvVMkbVDp3FXllMqk8FqTaT4M9N0FoNKX6-QWopvqnhU3/s1600/inductorvoltage.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79A_w-n7Z9fk6RhIJeLYIEU_90_bmvOlAgpF1NS6pfJOV3Wl73zWCWNq9rXgPLMNkt48-za2m6WgKcc0xctEWpP2CDtwY_m0GvVMkbVDp3FXllMqk8FqTaT4M9N0FoNKX6-QWopvqnhU3/s1600/inductorvoltage.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Also energy stored in an inductor is described as-&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAD6qUY_QnoNwynCWeamOGH96gRQG-CpQYp3PE3LYp1UxQwceDgaiuE_Ry7iv48ymlupYfmBC4jZpExsoWi5QjlFE0LGXdTmmxEqvyE1uRIkzOjG1n0ickIBDnbAhyphenhyphenTHR4CmROl_Xh2J8/s1600/inductorenergy.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAD6qUY_QnoNwynCWeamOGH96gRQG-CpQYp3PE3LYp1UxQwceDgaiuE_Ry7iv48ymlupYfmBC4jZpExsoWi5QjlFE0LGXdTmmxEqvyE1uRIkzOjG1n0ickIBDnbAhyphenhyphenTHR4CmROl_Xh2J8/s1600/inductorenergy.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
The circuit above is used to take a DC voltage and raise it to a higher
DC voltage. The DC-to-DC power converter uses switched-mode power supply (SMPS)
containing at least two semiconductor switches (a diode and a transistor) with
at least one energy storage element, a capacitor, inductor or the two in
combination. Filters made of capacitors(sometimes in combination with
inductors) are normally added to the output of the converter to reduce output
voltage ripple. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;This is also called a &quot;step
up converter&quot; because it steps up the voltage source. Since power must be
conserved (P=VI), the output current is lower than the source current. And as
mentioned in the Buck converter, we&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;use
the inductors capability to control the voltage, due to the rate of change of
current across itself. Boost converters are often used for DC sources such as
batteries, solar panels, rectifiers and DC generators. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
The circuit analysis is quite similar to the buck converter. As
mentioned in that section, we use the inductor to resist changes in current,
thus controlling the voltage. In a boost converter, the output voltage is always
higher than the input voltage. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 

 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcUAvkvymG3dOSo0Q0z9W2S9wFdmOso1VMKrM5LaB029wY7IIYiRZk40ZhWTPeo4rdjxyRbKJxog5dvXxRBsq-CC201dO3MOkv_ajfNBL-u2d3LOFaGbPQkDrmd0rXQVBfDnSEVcNX25Df/s1600/booststatescurrentrelation.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcUAvkvymG3dOSo0Q0z9W2S9wFdmOso1VMKrM5LaB029wY7IIYiRZk40ZhWTPeo4rdjxyRbKJxog5dvXxRBsq-CC201dO3MOkv_ajfNBL-u2d3LOFaGbPQkDrmd0rXQVBfDnSEVcNX25Df/s1600/booststatescurrentrelation.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJL7MaFi3Z_riLdqq30zQvqi_xzqwpdmykCg2sLRsyOcG2oKJxYUNWB5GC9nuW5iJuTyEgb8IqNnOZ4ZnYB9TvJ33oc5rdHCSauALbfkUbEpzef_arkIQM5ngYjGGuS29lcHo8s5Xnu7u/s1600/booststates.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJL7MaFi3Z_riLdqq30zQvqi_xzqwpdmykCg2sLRsyOcG2oKJxYUNWB5GC9nuW5iJuTyEgb8IqNnOZ4ZnYB9TvJ33oc5rdHCSauALbfkUbEpzef_arkIQM5ngYjGGuS29lcHo8s5Xnu7u/s1600/booststates.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
The basic principle of the boost converter consists of two distinct
states as see above:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
1) The on state: the switch is closed, resulting in an increase of
inductor current&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
2) The off state: the switch is open and the only path offered to the
inductor current is through the flyback diode, the capacitor C and the load R. This
results in transferring energy accumulated during the on state into the
capacitor connected in parallel with the load.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDIw6lW5MjvlBrTaFpHGhqOIk7rgXQ1XniFMz-H9_G0VxJzENJeqBdZGuyOdyfNrAOVSwygDtDuOR4o7oggF_QsJGfuMzq81x8rS5Ee-HH5_vX3tajG1vu3-FHYiCSU2FQQAN0u0YIFGTt/s1600/dutycycleboost.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDIw6lW5MjvlBrTaFpHGhqOIk7rgXQ1XniFMz-H9_G0VxJzENJeqBdZGuyOdyfNrAOVSwygDtDuOR4o7oggF_QsJGfuMzq81x8rS5Ee-HH5_vX3tajG1vu3-FHYiCSU2FQQAN0u0YIFGTt/s1600/dutycycleboost.jpg&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out what duty cycle you need to say convert 12v to 24v then use
the duty cycle conversion equation. D = 1-(12/24) = 1-0.5 = 0.5.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;
&lt;/span&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
c) &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;PWM&lt;/b&gt;- &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Used for controlling power to inertial electrical devices, made
practical my modern power switches. Longer the switch is on compared to off
periods, the higher the power supplied to load is. PWM is use for several
electronic application, including: telecommunications signal modulation, &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;power delivery to a load, voltage regulation,
and audio effects/amplification.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;An
example of how PWM is used to convert digital signal to an analog signal is
shown below. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8HSNEw0l2MzwKOsbO6Sdl2GdUsqKM8C-JiMsNyiRbQwW96XbL8wN2EDBOiJmmUfG6IgSXPHS1H2tCI5W7B59lJlfPtwitL9RDHagkd8sKeCWg1chmgDa3sQZ0fXDQHoBoHFu1d_t72gJY/s1600/pwm_v+vs+t.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;222&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8HSNEw0l2MzwKOsbO6Sdl2GdUsqKM8C-JiMsNyiRbQwW96XbL8wN2EDBOiJmmUfG6IgSXPHS1H2tCI5W7B59lJlfPtwitL9RDHagkd8sKeCWg1chmgDa3sQZ0fXDQHoBoHFu1d_t72gJY/s320/pwm_v+vs+t.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Above is an example to control speed of a motor. Lets say the duty
cycle = time on/time off = 0.5 voltage swings from 0 to 12 volts. Then average
voltage = 0.5 * 12v = 6volt average being supplied to the motor. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
**Also used for Digital to Analog converter. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
From my experience , an easy way of creating a duty cycle could be done
by using a microcontroller which you can turn off and on an output voltage that
is&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;controlled with a timing interrupt. A
wonderful reference for a PWM driver can be found on my professor Valvano&#39;s
website (&lt;a href=&quot;http://users.ece.utexas.edu/~valvano/EE345L/Lectures/LLec27_PWMmotor.pdf&quot;&gt;http://users.ece.utexas.edu/~valvano/EE345L/Lectures/LLec27_PWMmotor.pdf&lt;/a&gt;)
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Example code of a timer to create PWM on an ARM processor can be found below.
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Here are some examples of duty cycles:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeW7yb-Cnz0MAz_KF0rsJgoVaegAUQL6txVjh0Tfst9mGrR9w_yUcsICnuNGXGEanND0dNwEW395Bg1NpzgT8jjOZk9P7TY2TSxTBjuhvnW9IuwNTyQFG_OBI8yH6b64mrN80kT2hB3wCQ/s1600/pwmdutycycle.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeW7yb-Cnz0MAz_KF0rsJgoVaegAUQL6txVjh0Tfst9mGrR9w_yUcsICnuNGXGEanND0dNwEW395Bg1NpzgT8jjOZk9P7TY2TSxTBjuhvnW9IuwNTyQFG_OBI8yH6b64mrN80kT2hB3wCQ/s1600/pwmdutycycle.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;&quot;&gt;&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;
&lt;/span&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// Timer0APWM.c&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// Runs on LM3S811&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// Use Timer0A in PWM mode to generate
a square wave of a given&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// period with 50% duty cycle.&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// Daniel Valvano&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// June 27, 2011&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;/* This example accompanies the book&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&quot;Embedded Systems: Real Time Interfacing to the Arm Cortex
M3&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;ISBN: 978-1463590154, Jonathan Valvano, copyright (c) 2011&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;Copyright 2011 by Jonathan W. Valvano,
valvano@mail.utexas.edu&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;You may use, edit, run or distribute this file&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;as long as the above copyright notice remains&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;THIS SOFTWARE IS PROVIDED &quot;AS
IS&quot;.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;NO WARRANTIES, WHETHER
EXPRESS, IMPLIED&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;OR STATUTORY, INCLUDING, BUT NOT LIMITED TO,
IMPLIED WARRANTIES OF&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE APPLY TO THIS SOFTWARE.&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;VALVANO SHALL NOT, IN ANY CIRCUMSTANCES, BE
LIABLE FOR SPECIAL, INCIDENTAL,&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;OR CONSEQUENTIAL DAMAGES, FOR ANY REASON
WHATSOEVER.&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;For more information about my classes, my
research, and my books, see&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;http://users.ece.utexas.edu/~valvano/&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;*/&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_CFG_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40030000))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_TAMR_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40030004))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_CTL_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x4003000C))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_TAILR_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40030028))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_TAMATCHR_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40030030))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER0_TAMATCHR_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40030030))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_CFG_16_BIT&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000004&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// 16-bit timer
configuration,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// function is controlled by bits&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// 1:0 of GPTMTAMR and GPTMTBMR&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_TAMR_TAAMS&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000008&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// GPTM TimerA
Alternate Mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// Select&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_TAMR_TAMR_PERIOD&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;0x00000002&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// Periodic Timer mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_CTL_TAEN&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000001&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// GPTM TimerA
Enable&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_TAILR_TAILRL_M&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x0000FFFF&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// GPTM TimerA Interval Load&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// Register Low&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; TIMER_TBILR_TBILRL_M&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x0000FFFF&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// GPTM TimerB Interval Load&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// Register&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; GPIO_PORTD_AFSEL_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x40007420))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; GPIO_PORTD_DEN_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x4000751C))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; SYSCTL_RCGC1_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x400FE104))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; SYSCTL_RCGC2_R&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(*((&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;
*)0x400FE108))&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; SYSCTL_RCGC1_TIMER0&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00010000&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// timer 0 Clock Gating Control&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; SYSCTL_RCGC2_GPIOD&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0x00000008&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// port D Clock
Gating Control&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; WaitForInterrupt(&lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt;);&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// low power mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;// period is number of clock cycles in
PWM period ((1/clock) units)&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; PWOut_Init1(&lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;short&lt;/span&gt; period){&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;volatile&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt; delay;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;SYSCTL_RCGC1_R |= SYSCTL_RCGC1_TIMER0;&lt;span style=&quot;color: green;&quot;&gt;//
activate timer0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOD; &lt;span style=&quot;color: green;&quot;&gt;//
activate port D&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;delay =
SYSCTL_RCGC2_R;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// allow time to finish activating&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;GPIO_PORTD_DEN_R |= 0x10;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// enable digital I/O on PD4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;GPIO_PORTD_AFSEL_R |= 0x10;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// enable alt funct on PD4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_CTL_R &amp;amp;= ~TIMER_CTL_TAEN; &lt;span style=&quot;color: green;&quot;&gt;//
disable timer0A during setup&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_CFG_R = TIMER_CFG_16_BIT; &lt;span style=&quot;color: green;&quot;&gt;// configure
for 16-bit timer mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// configure for alternate (PWM) mode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_TAMR_R = (TIMER_TAMR_TAAMS|TIMER_TAMR_TAMR_PERIOD);&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_TAILR_R = period-1;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// timer start value&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;//&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_TAMATCHR_R = period/4;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;// duty cycle = 75%&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_TAMATCHR_R = period/2;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// duty cycle = 50%&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;//&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_TAMATCHR_R = 3*period/4;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;// duty cycle = 25%&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;TIMER0_CTL_R |= TIMER_CTL_TAEN;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// enable timer0A 16-b, PWM, 50% duty&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;//debug code&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; main(&lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt;){&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;//&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;PWOut_Init1(300);&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;// initialize timer0A in PWM mode
(20,000 Hz)&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: 9.5pt;&quot;&gt;//&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;PWOut_Init1(1200);&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;// initialize timer0A in PWM mode (5,000 Hz)&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;PWOut_Init1(6000);&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// initialize timer0A in PWM mode (1,000 Hz)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt;(1){&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;WaitForInterrupt();&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
d) &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;LDO&lt;/b&gt;- &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;http://www.analog.com/library/analogDialogue/archives/41-05/ldo.html&quot;&gt;http://www.analog.com/library/analogDialogue/archives/41-05/ldo.html&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Mx33p-qoHUvF-hVN0Ki3gFbAFsJHkLIcwD1_RQT1uv0amr4fg7513Nm-YUNnK5pnQFGbkgB6jJd0tPeqjPzi9FyCTURQEHBU64Tto9lRBvfDiiY2vsY2H9_7FzYuIP_E0WtkqDRUQPUD/s1600/ldocircuitdiagram.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Mx33p-qoHUvF-hVN0Ki3gFbAFsJHkLIcwD1_RQT1uv0amr4fg7513Nm-YUNnK5pnQFGbkgB6jJd0tPeqjPzi9FyCTURQEHBU64Tto9lRBvfDiiY2vsY2H9_7FzYuIP_E0WtkqDRUQPUD/s320/ldocircuitdiagram.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
For the circuit above (LDO) the output voltage is defined as &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhypRln-XAHx_h8GfrizWcSBXrBwxQPwhAXuaStJWgoFs7KGgdPCfw1fPFLeO5pS8z43KEwvegwhE9YDDUauJmi2ePpB4lyWJv7ZnSWFM9_NCHxsCxzgeEW-Es8W8hlGKZ9_TREz4uSScNL/s1600/ldo_outputvoltage.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhypRln-XAHx_h8GfrizWcSBXrBwxQPwhAXuaStJWgoFs7KGgdPCfw1fPFLeO5pS8z43KEwvegwhE9YDDUauJmi2ePpB4lyWJv7ZnSWFM9_NCHxsCxzgeEW-Es8W8hlGKZ9_TREz4uSScNL/s1600/ldo_outputvoltage.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
A &quot;low-dropout&quot; regulator is used for DC voltage regulators
which operate with a very small input-output differential voltage. The
advantage for using a low dropout voltage is because they a lower minimum
operation voltage, but higher efficiency operation and heat dissipation.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Primarily, the main components for an LDO circuit consists of a power
FET and a differential amplifier (error amplifier). One input of the
differential amplifier monitors the fraction of the output determined by the
resistor ratio of R1 and R2. The second input to the differential amplifier is
from a stable voltage reference (bandgap reference). If the output voltage
rises too high relative to the reference voltage, the drive to the power FET
changes to maintain a constant output voltage. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
These LDO regulators work in the same way as all linear voltage
regulators, however the main difference is their schematic topology. Instead of
an emitter follower topology (shown below, low-dropout regulators use open
collector or open drain topology. This allows transistor saturation, which
allows the voltage drop from the unregulated voltage to the regulated voltage
to be as low as the saturation voltage across the transistor. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYTr9YdrqIR2_W7GUDBgRKKlylbC-qvfWwpWiWhBtNVa_1a9lML_e66okusZ-CSq2UZf-wLyfS9F34xKR9wwqoHh8GBBoPYLfKlqeXBas4SYoIhZXqqlxAc4NJLRiot-ECp7oEFkchYF05/s1600/pnp_emitter.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYTr9YdrqIR2_W7GUDBgRKKlylbC-qvfWwpWiWhBtNVa_1a9lML_e66okusZ-CSq2UZf-wLyfS9F34xKR9wwqoHh8GBBoPYLfKlqeXBas4SYoIhZXqqlxAc4NJLRiot-ECp7oEFkchYF05/s1600/pnp_emitter.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Figure: PNP version of the emitter follower circuit&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Just for my reference, I added a quick discussion of
transistors. The transistor allows it to function as an amplifier or switch.
This is accomplished by using a small amount of electricity to control a gate
on which larger supply of electricity. The transistor&#39;s supply of voltage is
comparable to turning a valve to control a supply of water.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Transistors have 3 parts: base, collector, and emitter. The
base is the gate controller for the device for larger electrical supply the
emitter is the outlet for the supply. The collector is the larger electrical
supply, and the emitter is the outlet for that supply. By sending varying
levels of current from the base, the amount of current flowing through the gate
from the collector can be regulated. In this way, a very small amount of
current may be used to control a large amount of current, for example within an
amplifier. The same process is used to create binary code for digital
processors, but in this case a voltage threshold of 5 volts is needed to open
the collector gate. This process allows the transistor to be used as a switch
with binary function of - 5 volts = on and less than 5 volts = off. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy-9WvZCxnydZksy9iNnpuOAziFwxixpsJPM1JhuUGjy5ogvDbmoS5TEiHH4caTTyMYU8l0sI0eIJdFypBuN_O5NwslJu7TAxPF6cxpzM8Lhsv-1HtzktKnjE2DmiSqMWdkBhi-DMpNd0w/s1600/base_collector_emitter.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy-9WvZCxnydZksy9iNnpuOAziFwxixpsJPM1JhuUGjy5ogvDbmoS5TEiHH4caTTyMYU8l0sI0eIJdFypBuN_O5NwslJu7TAxPF6cxpzM8Lhsv-1HtzktKnjE2DmiSqMWdkBhi-DMpNd0w/s1600/base_collector_emitter.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;
&lt;br clear=&quot;all&quot; style=&quot;mso-special-character: line-break; page-break-before: always;&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
e) &lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Advantages of FIR vs IIR
filters&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
A wealth of information on FIR filters can be found here: &lt;a href=&quot;http://www.eas.uccs.edu/wickert/ece2610/lecture_notes/ece2610_chap5.pdf&quot;&gt;http://www.eas.uccs.edu/wickert/ece2610/lecture_notes/ece2610_chap5.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG4KORsuNsoEIbCU16TPyDae95K7zm-uA8BqnpACXu0k6qQItZx499iRR5X_SYtulGYDQQr3kCa41TwvBX8QM6LTBEmKQ054iVhMCDWmN9ZxfUTEzeqbY8QZvGEzeu7KgXEmHU-7XINN7q/s1600/fir_equation.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;76&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG4KORsuNsoEIbCU16TPyDae95K7zm-uA8BqnpACXu0k6qQItZx499iRR5X_SYtulGYDQQr3kCa41TwvBX8QM6LTBEmKQ054iVhMCDWmN9ZxfUTEzeqbY8QZvGEzeu7KgXEmHU-7XINN7q/s320/fir_equation.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidq84NYedU03o2zV1DmnheklwplPqxShWTfwwCkbzjzOd8KR08wnLqQGGc3EGLuQEOi_PS5ws_v_VWlTxiIj0kv0wLjflWo3J24K7W5REHTwNUpd5AltEb51dPGRPQr97-jgaJR8uRehEe/s1600/fir_blockdiagram.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidq84NYedU03o2zV1DmnheklwplPqxShWTfwwCkbzjzOd8KR08wnLqQGGc3EGLuQEOi_PS5ws_v_VWlTxiIj0kv0wLjflWo3J24K7W5REHTwNUpd5AltEb51dPGRPQr97-jgaJR8uRehEe/s1600/fir_blockdiagram.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
A wealth of information on IIR filters can be found here: &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;http://www.eas.uccs.edu/wickert/ece2610/lecture_notes/ece2610_chap8.pdf&quot;&gt;http://www.eas.uccs.edu/wickert/ece2610/lecture_notes/ece2610_chap8.pdf&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilkOoDlecQuvG-xnXkPU_yjzeHU8Ht8PSr7G_jd2S5KvQJt47Sj6zXHs9TueMiXXdugsCq-B6inchDsyxKliwZNyODDYs1XxWVXpUsXCCHmtMDj4lSMEpv0Ur9NCpFnYoStWYXyWGTEhAR/s1600/iir_equation.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;58&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilkOoDlecQuvG-xnXkPU_yjzeHU8Ht8PSr7G_jd2S5KvQJt47Sj6zXHs9TueMiXXdugsCq-B6inchDsyxKliwZNyODDYs1XxWVXpUsXCCHmtMDj4lSMEpv0Ur9NCpFnYoStWYXyWGTEhAR/s320/iir_equation.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvdG1jf0nqiW2yyWXneblQmck0puwFLWd46i5yOZKVXI6N7sZlYjtFS-wKNpxHOUsJBnj1eua4T9tfOXrdL_qQGFlHtc1bBwwMQafHq4TxR98TOamsZ-FHSb8hSMj71vGymbIOUb6dc3UQ/s1600/iir_blockdiagram.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvdG1jf0nqiW2yyWXneblQmck0puwFLWd46i5yOZKVXI6N7sZlYjtFS-wKNpxHOUsJBnj1eua4T9tfOXrdL_qQGFlHtc1bBwwMQafHq4TxR98TOamsZ-FHSb8hSMj71vGymbIOUb6dc3UQ/s1600/iir_blockdiagram.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
 
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Quick notes about the above information: &lt;/div&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;x[n] &lt;/span&gt;is the input signal, &lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;span style=&quot;color: #0000ee;&quot;&gt;y&lt;/span&gt;[n] &lt;/span&gt;is the output signal, &lt;/li&gt;
&lt;li&gt;

are the &lt;i&gt;filter coefficients&lt;/i&gt;, also known as &lt;i&gt;tap
weights&lt;/i&gt;, that make up the impulse response, &lt;/li&gt;
&lt;li&gt;is the filter order; an &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;th-order filter has (N+1) &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
 
&lt;/span&gt;terms on the right-hand side. The x[n-i] in these terms are commonly referred to as &lt;i&gt;taps&lt;/i&gt;, based
on the structure of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_delay_line&quot; title=&quot;Digital delay line&quot;&gt;tapped delay line&lt;/a&gt; that in many implementations
or block diagrams provides the delayed inputs to the multiplication operations.
One may speak of a &lt;i&gt;5th order/6-tap filter&lt;/i&gt;, for instance&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;
&lt;/span&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
FIR- current input depends on pas and previous input samples as well as
previous output samples. &lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;IIR (feedback)-&lt;/b&gt; y[n] =
  b0x[n]+b1x[n-1]+...+bmx[n-m] - a1y[n-1]-a2y[n-2]-any[n-N] &lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;FIR&lt;/b&gt;- y[n] = b0x[n]+b1x[n-1]+...+bmx[n-N]
  = sum from i= 0 to N (bi * x[n-i])&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;stability&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Can be unstable, can have limit cycles&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Liner phase always possible, no limit cycles&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Order&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
less&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
more&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;History&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Derived from analog filters&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
No analog history&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;other&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Polyphase implementation possible can always be made causal.&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Use less memory and calculations than similar FIR filters&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
More memory&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Recursive implementations (short order)&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
Too long and may cause various application problems (long order)&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
IIR filters are difficult to control and&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;have no particular phase, where as FIR
filters make linear phase always possible. IRR can be unstable, whereas FIR is
always stable. IIR, when compared to FIR, can have limited cycles, but FIR has
no limited cycles. IIR is derived from analog, where as FIR has no analog
history. IIR can make polyphase implementation possible, whereas FIR can be
made casual (linear time-invariant system; depends only on past and present
inputs, not future). &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/2875758332136933971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/01/review-buck-boost-ldo-pwm-and-fir-vs-iir.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2875758332136933971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2875758332136933971'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2013/01/review-buck-boost-ldo-pwm-and-fir-vs-iir.html' title='Review Buck, Boost, LDO, PWM, and FIR vs IIR'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP_cldx-CqvWab8FYMXM9qc_m1h-IihTnN4UOqJ4xa38drTHYf8EQGoreiQo8DjPM4fVtd6JxFolj10B7NDUTcqMHWLUiChbt_HcAsga_gS_oraz0IHA8jQxYIUlLeR3F_H7i4ri67Jti-/s72-c/500px-Buck_circuit_diagram.svg.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-7839561537714496150</id><published>2011-03-13T03:40:00.000-05:00</published><updated>2011-03-13T03:40:22.484-05:00</updated><title type='text'>Rolodecks and Medic Strategies for Pl_goldrush ...</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;b&gt;1) snipers&lt;/b&gt;&lt;br /&gt;
Rolodecks : &amp;nbsp;About the snipers.&lt;br /&gt;
Rolodecks : &amp;nbsp;Know who he is and check the scoreboard often.&lt;br /&gt;
Rolodecks : &amp;nbsp;You HAVE to communicate when he&#39;s down.&lt;br /&gt;
Rolodecks : &amp;nbsp;That&#39;s the time-frame when it&#39;s absolutely safe for you to roam around.&lt;br /&gt;
Rolodecks : &amp;nbsp;Whoever takes him down.&lt;br /&gt;
Rolodecks : &amp;nbsp;I constantly check that shit.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s highlander, not 6v6 where there&#39;s a potential class change.&lt;br /&gt;
Rolodecks : &amp;nbsp;So just match the name up with the class.&lt;br /&gt;
Rolodecks : &amp;nbsp;Not that hard to do, but keep up on it.&lt;br /&gt;
Rolodecks : &amp;nbsp;If he gets...&lt;br /&gt;
Player Ms. Awesome joined team Spectator&lt;br /&gt;
Player Ms. Awesome joined team RED&lt;br /&gt;
Rolodecks : &amp;nbsp;Just join red and walk around with me.&lt;br /&gt;
Rolodecks changed team name to D: :&amp;lt;&lt;br /&gt;
Rolodecks : &amp;nbsp;But, anyway, stay on top of the sniper.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because...&lt;br /&gt;
Rolodecks : &amp;nbsp;The only way you&#39;ll keep him in check is with your own sniper/spy.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is important because like I said...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re his number one target.&lt;br /&gt;
Rolodecks : &amp;nbsp;If they&#39;re good no amount of dodging/cover will save you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well cover saves you but it&#39;s map specific.&lt;br /&gt;
Rolodecks : &amp;nbsp;And there are &quot;holes&quot; so to speak.&lt;br /&gt;
Rolodecks : &amp;nbsp;I tend to jump around alot, strafe unpredictably.&lt;br /&gt;
Rolodecks : &amp;nbsp;CROUCH&lt;br /&gt;
Rolodecks : &amp;nbsp;Because this throws them offf.&lt;br /&gt;
Rolodecks : &amp;nbsp;Certain guys hit moving targets well but can&#39;t hit a still target for shit.&lt;br /&gt;
Rolodecks : &amp;nbsp;Um..&lt;br /&gt;
Rolodecks : &amp;nbsp;Yeah just communicate about their sniper, it&#39;s key&lt;br /&gt;
Rolodecks : &amp;nbsp;Unless he&#39;s shit which in that case still worry about it.&lt;br /&gt;
Rolodecks : &amp;nbsp;Whoever takes him out..&lt;br /&gt;
Rolodecks : &amp;nbsp;Let the team know it.&lt;br /&gt;
Rolodecks : &amp;nbsp;They can&#39;t fake death like spies anyway, so it&#39;s surefire.&lt;br /&gt;
Rolodecks : &amp;nbsp;If they don&#39;t have a mic then have them tell you some other way.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or just watch the kills in the upper right.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or check the scoreboard.&lt;br /&gt;
Rolodecks : &amp;nbsp;You all have a mic?&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh, good!&lt;br /&gt;
Rolodecks : &amp;nbsp;That solves that then.&lt;br /&gt;
Rolodecks : &amp;nbsp;Um...&lt;br /&gt;
Rolodecks : &amp;nbsp;If the sniper&#39;s up...&lt;br /&gt;
Rolodecks : &amp;nbsp;Kinda look around to see who he&#39;s shooting at.&lt;br /&gt;
Rolodecks : &amp;nbsp;If you wanna chime in at any time feel free to.&lt;br /&gt;
Rolodecks : &amp;nbsp;I&quot;m just ramblin&#39; on.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2) healing orders/when to heal&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Rolodecks : &amp;nbsp;Yeah this map ain&#39;t too health friendly.&lt;br /&gt;
Rolodecks : &amp;nbsp;They should be leaving them for you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Well that&#39;s not always good, consider respawn times.&lt;br /&gt;
Rolodecks : &amp;nbsp;Of the packs.&lt;br /&gt;
Rolodecks : &amp;nbsp;The smaller ones pop up more frequently.&lt;br /&gt;
Rolodecks : &amp;nbsp;Not sure but it&#39;s map specific.&lt;br /&gt;
Rolodecks : &amp;nbsp;Believe it or not.&lt;br /&gt;
Rolodecks : &amp;nbsp;I don&#39;t have it memorized, just something I&#39;ve noticed.&lt;br /&gt;
(Voice) Ms. Awesome: MEDIC!&lt;br /&gt;
Rolodecks : &amp;nbsp;I think all valve maps are pretty much a straight ilne.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Everybody&#39;s gonna want heals when they&#39;re &quot;in the red.&quot;&lt;br /&gt;
Rolodecks : &amp;nbsp;Just how it is.&lt;br /&gt;
Rolodecks : &amp;nbsp;The key to winning...&lt;br /&gt;
Rolodecks : &amp;nbsp;Out of the gates or just in general?&lt;br /&gt;
Rolodecks : &amp;nbsp;Out of the gates...&lt;br /&gt;
Rolodecks : &amp;nbsp;If you have to do a rollout like...&lt;br /&gt;
Rolodecks : &amp;nbsp;On push maps like badlands...&lt;br /&gt;
Rolodecks : &amp;nbsp;5cp maps...&lt;br /&gt;
Rolodecks : &amp;nbsp;Always..&lt;br /&gt;
Rolodecks : &amp;nbsp;ALWAYS&lt;br /&gt;
Rolodecks : &amp;nbsp;Soldier, then demo...&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ll always heal at the max rate during the initial spawn.&lt;br /&gt;
Rolodecks : &amp;nbsp;Meaning...&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t let the soldier/demo do their jumps....&lt;br /&gt;
Rolodecks : &amp;nbsp;UNtil they&#39;re full buffed by you first.&lt;br /&gt;
Rolodecks : &amp;nbsp;You can heal before you &quot;move&quot; during the initial start.&lt;br /&gt;
Rolodecks : &amp;nbsp;Y&#39;know?&lt;br /&gt;
Rolodecks : &amp;nbsp;Before you unfreeze...&lt;br /&gt;
Rolodecks : &amp;nbsp;So tag them and have everybody else crouch.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well yeah but same concept.&lt;br /&gt;
Rolodecks : &amp;nbsp;Scouts are very important to keep buffed.&lt;br /&gt;
Rolodecks : &amp;nbsp;In highlander anyway.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just gotta know where the sentry is.&lt;br /&gt;
Rolodecks : &amp;nbsp;But...&lt;br /&gt;
Rolodecks : &amp;nbsp;Keep him buffed as much as possible, he&#39;ll thank you.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s about in the middle of my general heal order for highlander, depending on his individual skill.&lt;br /&gt;
Rolodecks : &amp;nbsp;Alright, I was saying...&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Rolodecks : &amp;nbsp;Good heal orders...&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Rolodecks : &amp;nbsp;Goes like this...&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Rolodecks : &amp;nbsp;Bleed/fire first.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
Rolodecks : &amp;nbsp;Always.&lt;br /&gt;
Rolodecks : &amp;nbsp;Unless somebody else is at critical/red health.&lt;br /&gt;
Rolodecks : &amp;nbsp;And you&#39;re not in a warzone situation...&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being, the fire/bleed makes your uber charge faster.&lt;br /&gt;
Rolodecks : &amp;nbsp;Makes you heal more health before they get to 150% overheal, which is the sweet spot.&lt;br /&gt;
Rolodecks : &amp;nbsp;For uber percentage rates.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is also key.&lt;br /&gt;
Rolodecks : &amp;nbsp;You don&#39;t wanna like...&lt;br /&gt;
Rolodecks : &amp;nbsp;Constantly heal just one or two guys unless you&#39;re making a push.&lt;br /&gt;
Rolodecks : &amp;nbsp;But I&#39;m sure you know the relationship already.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s a trifecta.&lt;br /&gt;
Rolodecks : &amp;nbsp;Heal rate/ubercharge rate/overheal.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uber charges at anywhere from 40 sec. to 80 sec.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz is 35-70 I believe.&lt;br /&gt;
Rolodecks : &amp;nbsp;No, no...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re gonna max out your ubercharge rate if you heal...&lt;br /&gt;
Rolodecks : &amp;nbsp;If you heal guys until they hit overheal.&lt;br /&gt;
Rolodecks : &amp;nbsp;And you stay on them and just overheal them, that&#39;s when it slows down.&lt;br /&gt;
Rolodecks : &amp;nbsp;You can, but...&lt;br /&gt;
Rolodecks : &amp;nbsp;The rate gets halved.&lt;br /&gt;
Rolodecks : &amp;nbsp;You ubercharge the fastest doing raw healing.&lt;br /&gt;
Rolodecks : &amp;nbsp;Once they&#39;re topped off and you&#39;re just maintaining, you&#39;re losing the race.&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean, it&#39;s good to keep &#39;em overhealed....&lt;br /&gt;
Rolodecks : &amp;nbsp;But keep it in mind.&lt;br /&gt;
Rolodecks : &amp;nbsp;Would you rather have a kritz in a minute or 35 seconds?&lt;br /&gt;
Rolodecks : &amp;nbsp;Word.&lt;br /&gt;
Rolodecks : &amp;nbsp;Ubers win games.&lt;br /&gt;
Rolodecks : &amp;nbsp;Warpy?&lt;br /&gt;
Rolodecks : &amp;nbsp;Yeah he&#39;s a god.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t get careless.&lt;br /&gt;
Rolodecks : &amp;nbsp;I never was a big fan of running kritz in highlander, to be honest.&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being, you don&#39;t have the firepower much.&lt;br /&gt;
Rolodecks : &amp;nbsp;I know, but...&lt;br /&gt;
Rolodecks : &amp;nbsp;Preference I guess.&lt;br /&gt;
Rolodecks : &amp;nbsp;But keep the ubercharge rates in mind.&lt;br /&gt;
Rolodecks : &amp;nbsp;You only charge at &quot;fast&quot; or &quot;slow&quot;.&lt;br /&gt;
Rolodecks : &amp;nbsp;There is a third rate, but that&#39;s only when you&#39;re healing somebody who&#39;s already being healed by a second medic or a DISPENSER&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is why I ALWAYS ask them to step away from the dispenser.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t have them do that.&lt;br /&gt;
Rolodecks : &amp;nbsp;Ask them to step away.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because it turns your rate to shit.&lt;br /&gt;
Rolodecks : &amp;nbsp;Yes, you&#39;re aware of the conccept then.&lt;br /&gt;
Rolodecks : &amp;nbsp;You don&#39;t have to worry about a second medic, so we&#39;ll skip that.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just a refresh.&lt;br /&gt;
Rolodecks : &amp;nbsp;:D&lt;br /&gt;
Rolodecks : &amp;nbsp;You gotta grind it into your head.&lt;br /&gt;
Rolodecks : &amp;nbsp;Anyway, who are you generally rolling with?&lt;br /&gt;
Rolodecks : &amp;nbsp;Class-wise?&lt;br /&gt;
Rolodecks : &amp;nbsp;Like who do you stay around?&lt;br /&gt;
Rolodecks : &amp;nbsp;And heal most of the time?&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh, go ahead then.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;demo, solly, pyro&lt;br /&gt;
Ms. Awesome : &amp;nbsp;since our heavy seems to come and go...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;as of late&lt;br /&gt;
Rolodecks : &amp;nbsp;Is your soldier jumping alot and getting picks?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yes, tinkelp has been doing pretty well with helping me build&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh, good.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;and our demo, warpy, also helps me build quite a bit&lt;br /&gt;
Rolodecks : &amp;nbsp;That&#39;s why I&#39;m a fan of sticking with the soldier.&lt;br /&gt;
(Voice) Ms. Awesome: MEDIC!&lt;br /&gt;
Rolodecks : &amp;nbsp;Easiest class to build uber with.&lt;br /&gt;
Rolodecks : &amp;nbsp;Demo&#39;s not feasible.&lt;br /&gt;
Rolodecks : &amp;nbsp;Most of the time.&lt;br /&gt;
Rolodecks : &amp;nbsp;High self damage.&lt;br /&gt;
Rolodecks : &amp;nbsp;Slow reload.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;the solly generally sticks with me quite a bit&lt;br /&gt;
Rolodecks : &amp;nbsp;Needs to be on the offensive.&lt;br /&gt;
Rolodecks : &amp;nbsp;You need to stick with the heavy.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;and he watches my ass when we are about to make &amp;nbsp;a push&lt;br /&gt;
Rolodecks : &amp;nbsp;HE needs to stick with you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because to be honest...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yes, the heavy really does&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s helpless without a med.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;And if the enemy heavy&#39;s stickin&#39; with their med...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i agree&lt;br /&gt;
Rolodecks : &amp;nbsp;Game over if you run into them.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because he&#39;s easily one of the best classes with a medic up his ass.&lt;br /&gt;
Rolodecks : &amp;nbsp;Unstoppable.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t care what they say.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;the heavy does help us push quite a bit&lt;br /&gt;
Rolodecks : &amp;nbsp;On a map like this...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but again, our heavy has changed so much...&lt;br /&gt;
Rolodecks : &amp;nbsp;Well just kinda guide him.&lt;br /&gt;
Rolodecks : &amp;nbsp;Ask him to kinda just follow ya around.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ok&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s obligated to.&lt;br /&gt;
Rolodecks : &amp;nbsp;Also, have him pack some form of healing for you.&lt;br /&gt;
Rolodecks : &amp;nbsp;No shotgun allowed, that&#39;s my rule. :p&lt;br /&gt;
Rolodecks : &amp;nbsp;Minigun&#39;s so great of a weapon anyway.&lt;br /&gt;
Rolodecks : &amp;nbsp;In maps like this you want the high ground.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;since working with warpy, he sarted using the fists of steal&lt;br /&gt;
Rolodecks : &amp;nbsp;Your soldier&#39;s not gonna be sticking with you much I hope.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s got the mobility on his side.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;Just buff him up and let him fly.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;he genearlly romes&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s gonna get picks easily.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;*roams&lt;br /&gt;
Rolodecks : &amp;nbsp;Demo is necessary to stick with.&lt;br /&gt;
Rolodecks : &amp;nbsp;not only for sentry nests...&lt;br /&gt;
Rolodecks : &amp;nbsp;But it&#39;s warpy, he&#39;s a god.&lt;br /&gt;
Rolodecks : &amp;nbsp;He needs you like you need him.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;true&lt;br /&gt;
Rolodecks : &amp;nbsp;Heavy/demo is all I really use 99% of the time.&lt;br /&gt;
Rolodecks : &amp;nbsp;Soldier depending on their playstyle.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because...&lt;br /&gt;
Rolodecks : &amp;nbsp;Scout&#39;s gonna be poppin&#39; in and out, heal him whenever he lets you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t really run to him, it&#39;ll get you killed.&lt;br /&gt;
Rolodecks : &amp;nbsp;let him come to you for heals.&lt;br /&gt;
Rolodecks : &amp;nbsp;Tell him to grab healthpacks in enemy territory.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s his job anyway, to flank and get the medic.&lt;br /&gt;
Rolodecks : &amp;nbsp;Find the sentry.&lt;br /&gt;
Rolodecks : &amp;nbsp;Etc.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s kinda pairin&#39; up with the spy to be honest.&lt;br /&gt;
Rolodecks : &amp;nbsp;Both need to be sneaky bastards.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;who is, the scout?&lt;br /&gt;
Rolodecks : &amp;nbsp;So neither are really on your list of concerns.&lt;br /&gt;
Rolodecks : &amp;nbsp;Yes.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s most effective behind the lines&lt;br /&gt;
Ms. Awesome : &amp;nbsp;true&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s easy for him to do so, being 1 of each class.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i never thought of it that way&lt;br /&gt;
Rolodecks : &amp;nbsp;Even if all he&#39;s doing is just running in there and getting killed...&lt;br /&gt;
Rolodecks : &amp;nbsp;A distraction of sorts...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;ll focus attention on him.&lt;br /&gt;
Rolodecks : &amp;nbsp;Have your spy cloak, and get behind there without a scratch.&lt;br /&gt;
Rolodecks : &amp;nbsp;Wreak havoc.&lt;br /&gt;
Rolodecks : &amp;nbsp;Diversion.&lt;br /&gt;
Rolodecks : &amp;nbsp;Psychological warfare.&lt;br /&gt;
Rolodecks : &amp;nbsp;But anyway....&lt;br /&gt;
Rolodecks : &amp;nbsp;Get ubers as fast as you can, maintain overheal.&lt;br /&gt;
Rolodecks : &amp;nbsp;Also, remember...&lt;br /&gt;
Rolodecks : &amp;nbsp;Sometimes I&#39;ll have really heavy combat classes stand for about 5/10 seconds then heal them.&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being is that your medigun heals at 3 rates.&lt;br /&gt;
Rolodecks : &amp;nbsp;24/48/72 health/sec.&lt;br /&gt;
Rolodecks : &amp;nbsp;Depending on how fresh their wounds are.&lt;br /&gt;
Rolodecks : &amp;nbsp;i.e. when they last took damage, seconds ago.&lt;br /&gt;
Rolodecks : &amp;nbsp;If they took damage less than 5 seconds you&#39;ll heal at 24/sec.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is nice for building uber, but not so good for healing raw health output.&lt;br /&gt;
Rolodecks : &amp;nbsp;5-10 sec (I think?) is 48/sec.&lt;br /&gt;
Rolodecks : &amp;nbsp;Middle ground for health/ubercharge rate.&lt;br /&gt;
Rolodecks : &amp;nbsp;Until you cap overheal.&lt;br /&gt;
Rolodecks : &amp;nbsp;After 10 sec. it&#39;s 72/sec.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just keep that in mind.&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;d have guys stand around for a few seconds, it&#39;s more efficient really only with the heavy and soldier.&lt;br /&gt;
Rolodecks : &amp;nbsp;Since they have the most health and the math adds up.&lt;br /&gt;
Rolodecks : &amp;nbsp;Efficiency, but not really practical.&lt;br /&gt;
Rolodecks : &amp;nbsp;Since you want that uber.&lt;br /&gt;
Rolodecks : &amp;nbsp;But anyway...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) Who NEEDS to stay with you at all times?&lt;/b&gt;&lt;br /&gt;
Rolodecks : &amp;nbsp;Stick with heavy/demo mostly.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so about staying alive when using crits (even though you don&#39;t like kritz)&lt;br /&gt;
Rolodecks : &amp;nbsp;Let the sniper go after their sniper.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s the only counter to that.&lt;br /&gt;
Rolodecks : &amp;nbsp;Did that help a bit?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;definitly&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;m not done yet. :p&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4) Crits/Uber&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but what about staying alive when using crits?&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;d like to show this in action but am unable to do so at the moment, so this is all you&#39;ll get from me.&lt;br /&gt;
Rolodecks : &amp;nbsp;Nothing much you can do about that.&lt;br /&gt;
Rolodecks : &amp;nbsp;The reason being you&#39;ve got no overheal.&lt;br /&gt;
Rolodecks : &amp;nbsp;Since there&#39;s no second medic.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is why I never was a fan of kritz much in highlander.&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re too vulnerable.&lt;br /&gt;
Rolodecks : &amp;nbsp;The only way it works is if you catch them off guard.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which in maps like granary/badlands it&#39;s great.&lt;br /&gt;
Rolodecks : &amp;nbsp;Payload, not so much.&lt;br /&gt;
Rolodecks : &amp;nbsp;Espeically if you&#39;re on defense.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is the only viable option to use it anyway.&lt;br /&gt;
Rolodecks : &amp;nbsp;You need to get that sentry.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so from what i am understanding from most players is...&lt;br /&gt;
Rolodecks : &amp;nbsp;If it&#39;s in a good spot the only way you&#39;ll push through is with an uber.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;crits = defense; uber = offense&lt;br /&gt;
Rolodecks : &amp;nbsp;Not exactly...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;at least for payload/this map&lt;br /&gt;
Rolodecks : &amp;nbsp;More like...&lt;br /&gt;
Rolodecks : &amp;nbsp;Uber = Safety/passive playstyle.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz = Aggressive/ambush.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz is very situational.&lt;br /&gt;
Rolodecks : &amp;nbsp;And 90% of the time the uber&#39;s gonna be a better option.&lt;br /&gt;
Rolodecks : &amp;nbsp;If not just as effective.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz is great for chokepoints.&lt;br /&gt;
Rolodecks : &amp;nbsp;If they&#39;re all bunched up, kill &#39;em before they can retreat.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;good point&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is why heavy&#39;s a bad kritz/uber target in almost every situation.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because he&#39;s gotta spin up.&lt;br /&gt;
Rolodecks : &amp;nbsp;And can&#39;t move.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz soldier can rocket jump while keepin&#39; the beam on him...&lt;br /&gt;
Rolodecks : &amp;nbsp;Launch some krit rockets...&lt;br /&gt;
Rolodecks : &amp;nbsp;Game over for them.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but when are good times to use crits on this map?&lt;br /&gt;
Rolodecks : &amp;nbsp;Same with crit demo, lob pipes/stickies over a hill outside of the line of sight.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;that you can think of?&lt;br /&gt;
Rolodecks : &amp;nbsp;Up here if your engi gets a foothold...&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being...&lt;br /&gt;
Rolodecks : &amp;nbsp;If you can sneak through here...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s not feasible, but if you get a kritz back here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Sticky here.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;game over huh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Edge their gun here...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;at their spawn&lt;br /&gt;
Rolodecks : &amp;nbsp;Sniper&#39;s gonna be here most likely.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh damn&lt;br /&gt;
Rolodecks : &amp;nbsp;Boom.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;that is leathal&lt;br /&gt;
Rolodecks : &amp;nbsp;Problem is...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s hard to do.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because...&lt;br /&gt;
Rolodecks : &amp;nbsp;Look here...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;and spawning&lt;br /&gt;
Rolodecks : &amp;nbsp;Too easy to see.&lt;br /&gt;
Rolodecks : &amp;nbsp;So you gotta be careful.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;sniper could spot me pretty easy&lt;br /&gt;
Rolodecks : &amp;nbsp;NEVER STAY UNDER HERE.&lt;br /&gt;
Rolodecks : &amp;nbsp;EVER.&lt;br /&gt;
Rolodecks : &amp;nbsp;Death trap.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i&#39;ve noticed&lt;br /&gt;
Rolodecks : &amp;nbsp;This is literally a shit map for highlander..&lt;br /&gt;
Ms. Awesome : &amp;nbsp;death valley&lt;br /&gt;
Rolodecks : &amp;nbsp;For two reasons...&lt;br /&gt;
Rolodecks : &amp;nbsp;1. snipers have too much line of sight on this last cap point.&lt;br /&gt;
Rolodecks : &amp;nbsp;2. sentries also have too much line of sight.&lt;br /&gt;
Rolodecks : &amp;nbsp;3. It&#39;s hard to push becasue their pyro&#39;s gonna push ya back.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Ms. Awesome : &amp;nbsp;we have been working on that&lt;br /&gt;
Rolodecks : &amp;nbsp;4. Don&#39;t really use kritz.&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean...&lt;br /&gt;
Rolodecks : &amp;nbsp;No matter where their gun is, if the engi&#39;s alive...&lt;br /&gt;
Rolodecks : &amp;nbsp;And whackin&#39; his buildings...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re not gonna out-damage him.&lt;br /&gt;
Rolodecks : &amp;nbsp;His repairs, anyway, unless you all team up on him.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is only gonna get you killed.&lt;br /&gt;
Rolodecks : &amp;nbsp;Use your ubers for dealing with the sentries.&lt;br /&gt;
Rolodecks : &amp;nbsp;Have your team mates push up behind ya and clean house.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t focus fire on sentries, ever.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;plus, that peskey wrangler&lt;br /&gt;
Rolodecks : &amp;nbsp;That&#39;s what they want you to do.&lt;br /&gt;
Rolodecks : &amp;nbsp;EXACTLY.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kill the engi when you uber sentries.&lt;br /&gt;
Rolodecks : &amp;nbsp;Espeically if they&#39;re wrangled, they&#39;re always close by.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;good point&lt;br /&gt;
Rolodecks : &amp;nbsp;Shuts down the gun, take it out.&lt;br /&gt;
Rolodecks : &amp;nbsp;Get close.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;good point&lt;br /&gt;
Rolodecks : &amp;nbsp;Always do the demo in this case.&lt;br /&gt;
Rolodecks : &amp;nbsp;Soldier if you have no one eles&lt;br /&gt;
Ms. Awesome : &amp;nbsp;sniper needs to know his que to get the engi&lt;br /&gt;
Rolodecks : &amp;nbsp;Heavy&#39;s not good unless you jump from above.&lt;br /&gt;
Rolodecks : &amp;nbsp;Sniper should focus on the enemy sniper above all else.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ah&lt;br /&gt;
Ms. Awesome : &amp;nbsp;true&lt;br /&gt;
Rolodecks : &amp;nbsp;If he can take out the engi, then the engi ain&#39;t doin&#39; a good enough job of hiding. :p&lt;br /&gt;
Rolodecks : &amp;nbsp;Like I said earlier, sniper&#39;s your number one thread.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;very true&lt;br /&gt;
Rolodecks : &amp;nbsp;Threat.&lt;br /&gt;
Rolodecks : &amp;nbsp;Meaning...&lt;br /&gt;
Rolodecks : &amp;nbsp;He, along with a lesser extent, the spy, can take you out without you even seeing him.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or doing anything about it.&lt;br /&gt;
Rolodecks : &amp;nbsp;I always play cautious until I know their sniper&#39;s down.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or when I know I have some cover to walk around in.&lt;br /&gt;
Rolodecks : &amp;nbsp;But this map doesn&#39;t have that saving grace.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because like I said, wide open areas at both cap points.&lt;br /&gt;
Rolodecks : &amp;nbsp;As you know by now.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh yes&lt;br /&gt;
Rolodecks : &amp;nbsp;Not much you can do about that, hope they miss.&lt;br /&gt;
Rolodecks : &amp;nbsp;ALWAYS pop if necessary.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just intuition, sometimes I&#39;ve hit it and felt the little &quot;ping&quot; as they&#39;ve pulled the trigger for a headshot a hair too late&lt;br /&gt;
Rolodecks : &amp;nbsp;It works.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so earlier, i was fussed at by some of my team members for poppoing too early&lt;br /&gt;
Rolodecks : &amp;nbsp;Wait...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;*popping&lt;br /&gt;
Rolodecks : &amp;nbsp;What caused you to pop uber?&lt;br /&gt;
Rolodecks : &amp;nbsp;And by what class?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i just felt that it was unsafe for me to jump out there with just one person&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i knew the entire team was out there&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t push like that.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i know&lt;br /&gt;
&lt;b&gt;Rolodecks : &amp;nbsp;Stay with at least TWO other people at all times. Sorry, continue.&lt;/b&gt;&lt;br /&gt;
Ms. Awesome : &amp;nbsp;people were off classing&lt;br /&gt;
Ms. Awesome : &amp;nbsp;in a lobby&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so yeah, i was quick to hit that uber&lt;br /&gt;
Rolodecks : &amp;nbsp;What caused you to pop?&lt;br /&gt;
Rolodecks : &amp;nbsp;And which class made you do it?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;heavy&lt;br /&gt;
Ms. Awesome : &amp;nbsp;demo&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but yes, i realise i popped to early&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t ever let their demo start bombin&#39; stuff your way.&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re fucked 99% of the time.&lt;br /&gt;
Rolodecks : &amp;nbsp;Blast radius.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but the team work was not there &amp;nbsp;(in the earlier match)&lt;br /&gt;
Rolodecks : &amp;nbsp;Understandable.&lt;br /&gt;
Rolodecks : &amp;nbsp;What health were you at when you normally popped?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;full&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh normal&lt;br /&gt;
Rolodecks : &amp;nbsp;???&lt;br /&gt;
Ms. Awesome : &amp;nbsp;umm&lt;br /&gt;
Ms. Awesome : &amp;nbsp;generally under 50&lt;br /&gt;
Rolodecks : &amp;nbsp;Alright, general rule of thumb...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;when i decide to pop and there are many players surrounding me&lt;br /&gt;
Rolodecks : &amp;nbsp;105 or under, and feeling doubt, pop it.&lt;br /&gt;
Rolodecks : &amp;nbsp;Over 105, keep it.&lt;br /&gt;
Rolodecks : &amp;nbsp;Until you take another hit.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because that&#39;s the general damage cap for rockets and demo nades.&lt;br /&gt;
Rolodecks : &amp;nbsp;So unless you get headshot or backstabbed...&lt;br /&gt;
Rolodecks : &amp;nbsp;That 105 health gives you some time to react.&lt;br /&gt;
Rolodecks : &amp;nbsp;If you pay attention.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because..&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ll never see that dive-bombing soldier behind you...&lt;br /&gt;
Rolodecks : &amp;nbsp;Who fires a rocket at your ass and drops your uber...&lt;br /&gt;
Rolodecks : &amp;nbsp;If you&#39;re at 50 or so health and just hanging on to it.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t be that person.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;soldiers do not really bug me too much&lt;br /&gt;
Rolodecks : &amp;nbsp;105 is the magic number here.&lt;br /&gt;
Rolodecks : &amp;nbsp;Yeah but some will.&lt;br /&gt;
Rolodecks : &amp;nbsp;The good ones are gods at killin&#39; medics.&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;ve had it happen to me, heh.&lt;br /&gt;
Rolodecks : &amp;nbsp;105, 105...&lt;br /&gt;
Rolodecks : &amp;nbsp;Magic number.&lt;br /&gt;
Rolodecks : &amp;nbsp;When in doubt, pop.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because a shit uber is still better than none at all.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;I don&#39;t recomment kritz on this map at all.&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean if you absolutely HAVE to use it...&lt;br /&gt;
Rolodecks : &amp;nbsp;Use it on defene.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;tomorrow, i think i need to play it safe&lt;br /&gt;
Rolodecks : &amp;nbsp;Defense.&lt;br /&gt;
Rolodecks : &amp;nbsp;But even then...&lt;br /&gt;
Rolodecks : &amp;nbsp;Abuse the chokepoints, like where you&#39;re standing.&lt;br /&gt;
Rolodecks : &amp;nbsp;A single crit rocket, fired about here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Or here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Splash is lethal.&lt;br /&gt;
Rolodecks : &amp;nbsp;Other than that, if they&#39;re medic&#39;s smart he&#39;s not gonna be on that cart when it&#39;s going around that bend.&lt;br /&gt;
Rolodecks : &amp;nbsp;Snipers watch that.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;note, i generally crit the demo because of his tremendous experience&lt;br /&gt;
Rolodecks : &amp;nbsp;Kritz medics love that spot.&lt;br /&gt;
Rolodecks : &amp;nbsp;they&#39;re gonna be up here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Ubering outside of this.&lt;br /&gt;
Rolodecks : &amp;nbsp;Out the window, hit the underpasss.&lt;br /&gt;
Rolodecks : &amp;nbsp;The only good time to be here.&lt;br /&gt;
Rolodecks : &amp;nbsp;With a demo, hole up here.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t uber unless you have to, on offense.&lt;br /&gt;
Rolodecks : &amp;nbsp;Cut up here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Uber here if you want.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah i&#39;ve been sniped by snipers up in the left window&lt;br /&gt;
Rolodecks : &amp;nbsp;There?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yes&lt;br /&gt;
(Voice) Ms. Awesome: MEDIC!&lt;br /&gt;
Rolodecks : &amp;nbsp;Have your spy get up there.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;good idea&lt;br /&gt;
Rolodecks : &amp;nbsp;Spy/scout are the best at calling shit out.&lt;br /&gt;
Rolodecks : &amp;nbsp;Sniper to an extent too.&lt;br /&gt;
Rolodecks : &amp;nbsp;But he&#39;s got tunnel vision.&lt;br /&gt;
Rolodecks : &amp;nbsp;once you know...&lt;br /&gt;
Rolodecks : &amp;nbsp;Their sniper/sentry spot...&lt;br /&gt;
Rolodecks : &amp;nbsp;If you have an uber you can most likely win with a little teamwork.&lt;br /&gt;
Rolodecks : &amp;nbsp;If you uber that way with the demo, here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Good idea to have..&lt;br /&gt;
Rolodecks : &amp;nbsp;Another class come through here...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so, when holding good choke points use crits on this map&lt;br /&gt;
Ms. Awesome : &amp;nbsp;otherwise, uber is better&lt;br /&gt;
Rolodecks : &amp;nbsp;Well kritz is risky because...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;continue&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s only really good when the cart&#39;s right here.&lt;br /&gt;
Rolodecks : &amp;nbsp;This map is far too wide open.&lt;br /&gt;
Rolodecks : &amp;nbsp;For kritz to do much damage.&lt;br /&gt;
Rolodecks : &amp;nbsp;At the key areas.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;right, but warpy can really spread out damage&lt;br /&gt;
Rolodecks : &amp;nbsp;I know, but if they&#39;re really bunched up they&#39;re a stupid team. :p&lt;br /&gt;
Ms. Awesome : &amp;nbsp;unlike a solly&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean there&#39;s gonna be guys around the med...&lt;br /&gt;
Rolodecks : &amp;nbsp;But other than that it&#39;s in vain.&lt;br /&gt;
Rolodecks : &amp;nbsp;Do what you want&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ok&lt;br /&gt;
Rolodecks : &amp;nbsp;But a demo like warpy is just as good with an uber.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i&#39;ll have to remind him of this... :P&lt;br /&gt;
Rolodecks : &amp;nbsp;But then again I focus heavily on sentry gun destruction.&lt;br /&gt;
Rolodecks : &amp;nbsp;Mostly, on blue.&lt;br /&gt;
Rolodecks : &amp;nbsp;On maps like this.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because there&#39;s nothing you can really do about a sentry here.&lt;br /&gt;
Rolodecks : &amp;nbsp;Even a soldier here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Can&#39;t outdamage the repairs.&lt;br /&gt;
Rolodecks : &amp;nbsp;Yeah they like to put nests up here.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s easy to take out there though.&lt;br /&gt;
Rolodecks : &amp;nbsp;Very easy.&lt;br /&gt;
Rolodecks : &amp;nbsp;You can edge the stairs.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well...&lt;br /&gt;
Rolodecks : &amp;nbsp;Like I said, have your heavy stick with you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Always.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well, don&#39;t let him slow you down if you know what I mean.&lt;br /&gt;
Rolodecks : &amp;nbsp;He&#39;s a horrible uber target most of the time...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;But probably the best bodyguard.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;good point&lt;br /&gt;
Rolodecks : &amp;nbsp;Demos are the shit with ubers.&lt;br /&gt;
Rolodecks : &amp;nbsp;But are shit at defending you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Unless they can aim their nades.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because stickies don&#39;t fire fast enough.&lt;br /&gt;
Rolodecks : &amp;nbsp;Also self damage.&lt;br /&gt;
Rolodecks : &amp;nbsp;Soldier&#39;s middle ground but I liked to have ours on our last team go for flanks/dive bombs/sneaks/medic picks.&lt;br /&gt;
Rolodecks : &amp;nbsp;Kind of a spy lite version.&lt;br /&gt;
Rolodecks : &amp;nbsp;But that&#39;s up to you, I&#39;m sure my team is a lot different from yours.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ours is special&lt;br /&gt;
Rolodecks : &amp;nbsp;If you&#39;re gonna use kritz then use it at the choke points.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Rolodecks : &amp;nbsp;But don&#39;t use it all the time.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;but yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;Switch if you have to.&lt;br /&gt;
Ms. Awesome : &amp;nbsp; oh and what about that vita saw&lt;br /&gt;
Rolodecks : &amp;nbsp;But uber is extremely effective, if not necessary, on both sides of this map.&lt;br /&gt;
Rolodecks : &amp;nbsp;I never was a fan.&lt;br /&gt;
Rolodecks : &amp;nbsp;Like I said, if you do the math..&lt;br /&gt;
Rolodecks : &amp;nbsp;40-80 sec. range on the uber.&lt;br /&gt;
Rolodecks : &amp;nbsp;35-70 on the kritz.&#39;&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s not saving you much.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;true&lt;br /&gt;
Rolodecks : &amp;nbsp;Ubersaw does more for you in ONE SWING.&lt;br /&gt;
Rolodecks : &amp;nbsp;And you&#39;ll still have your ten extra health.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which comes in handy.&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;ve wrote the damn thing off, honestly.&lt;br /&gt;
Rolodecks : &amp;nbsp;The buff it got...&lt;br /&gt;
Rolodecks : &amp;nbsp;About seeing enemies&#39; health...&lt;br /&gt;
Rolodecks : &amp;nbsp;Is that in the beta only?&lt;br /&gt;
Rolodecks : &amp;nbsp;Still?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;Well either way...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s pretty much useless.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because with damage indicators on...&lt;br /&gt;
Rolodecks : &amp;nbsp;You see the damage your pocket does.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i actually haven&#39;t see anything about seeing the enemy&#39;s health&lt;br /&gt;
Rolodecks : &amp;nbsp;You can just add it up.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;*seen&lt;br /&gt;
Rolodecks : &amp;nbsp;And kinda tell if they&#39;re in the red.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;k&lt;br /&gt;
Rolodecks : &amp;nbsp;I honestly don&#39;t use it, ever.&lt;br /&gt;
Rolodecks : &amp;nbsp;I know some top medics that do but I call &#39;em craz.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i get it.. i get it...&lt;br /&gt;
Rolodecks : &amp;nbsp;Ubersaw&#39;s just too good.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yep&lt;br /&gt;
Rolodecks : &amp;nbsp;Use the amputator as an alternative, but I never was a fan of standing in one spot.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;same here&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i never use it&lt;br /&gt;
Rolodecks : &amp;nbsp;it&#39;s all about uber advantage.&lt;br /&gt;
Rolodecks : &amp;nbsp;And using them wisely.&lt;br /&gt;
Rolodecks : &amp;nbsp;Do you...&lt;br /&gt;
Rolodecks : &amp;nbsp;Aside from that...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s all team specific, really..&lt;br /&gt;
Rolodecks : &amp;nbsp;Unorthodox strategies work.&lt;br /&gt;
Rolodecks : &amp;nbsp;If you practice.&lt;br /&gt;
Rolodecks : &amp;nbsp;I have a vid I wanna show you.&lt;br /&gt;
Rolodecks : &amp;nbsp;Later.&lt;br /&gt;
Rolodecks : &amp;nbsp;About a minute long.&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well I hope this helped.&lt;br /&gt;
Rolodecks : &amp;nbsp;What uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;What&#39;s the map after this?&lt;br /&gt;
Rolodecks : &amp;nbsp;D:&lt;br /&gt;
Rolodecks : &amp;nbsp;You disappoint me.&lt;br /&gt;
Rolodecks : &amp;nbsp;Anyway...&lt;br /&gt;
Rolodecks : &amp;nbsp;I hope this helped, it&#39;s hard for me without a mic...&lt;br /&gt;
Rolodecks : &amp;nbsp;But that&#39;s just general overview&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Stick with 2 people.&lt;br /&gt;
Rolodecks : &amp;nbsp;Heavy and whoever else at the time.&lt;br /&gt;
Rolodecks : &amp;nbsp;Mainly.&lt;br /&gt;
Rolodecks : &amp;nbsp;105 is the magic number.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uber rates.&lt;br /&gt;
Rolodecks : &amp;nbsp;Overheal&#39;s important.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just prioritize.&lt;br /&gt;
Rolodecks : &amp;nbsp;If you have 5 guys shouting for heals.&lt;br /&gt;
Rolodecks : &amp;nbsp;Tell them to calm the fuck down.&lt;br /&gt;
Rolodecks : &amp;nbsp;And wait their god damn turn. :p&lt;br /&gt;
Rolodecks : &amp;nbsp;Because you can&#39;t fight physics.&lt;br /&gt;
Rolodecks : &amp;nbsp;I hope this helped, I feel like I&#39;m just telling you shit you already know.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just trust your team mates&lt;br /&gt;
Rolodecks : &amp;nbsp;Use them as meat shields.&lt;br /&gt;
Rolodecks : &amp;nbsp;Crouch.&lt;br /&gt;
Rolodecks : &amp;nbsp;Zig zag.&lt;br /&gt;
Rolodecks : &amp;nbsp;Always watch your back.&lt;br /&gt;
Rolodecks : &amp;nbsp;I turn a 180 at least every 5 seconds in-game.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s very rare for a spy to kill me.&lt;br /&gt;
Rolodecks : &amp;nbsp;Anyway...&lt;br /&gt;
Rolodecks : &amp;nbsp;Copy the chat log if you want.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;thank you&lt;br /&gt;
Rolodecks : &amp;nbsp;But just keep those points in mind.&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;m sure you&#39;ll do fine, talk to the team about what we discussed.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i think you covered everything i needed to understand&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;m sure you&#39;ll pull something out of this.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh i will&lt;br /&gt;
Rolodecks : &amp;nbsp;:D&lt;br /&gt;
Ms. Awesome : &amp;nbsp;:)&lt;br /&gt;
Ms. Awesome : &amp;nbsp;again, thank you&lt;br /&gt;
Rolodecks : &amp;nbsp;Glad to be of service.&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean, strategy gets a lot deepr.&lt;br /&gt;
Rolodecks : &amp;nbsp;Like I&#39;m not sure if you know how to cheat the healbeam. :p&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i am willing to learn&lt;br /&gt;
Rolodecks : &amp;nbsp;But that&#39;s for another time.&lt;br /&gt;
Rolodecks : &amp;nbsp;Deep shit&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;umm.. i wouldn&#39;t mind hearing about that&lt;br /&gt;
Rolodecks : &amp;nbsp;Please, don&#39;t use the crossbow.&lt;br /&gt;
Rolodecks : &amp;nbsp;At least in highlander&lt;br /&gt;
Rolodecks : &amp;nbsp;Piece of shit weapon.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i hate that weapon&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s really up to you if you use blut/syringe gun.&#39;&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i never use it&lt;br /&gt;
Rolodecks : &amp;nbsp;Both are pretty much equal in my eyes&lt;br /&gt;
Rolodecks : &amp;nbsp;I like blut alot in highlander though.&lt;br /&gt;
Rolodecks : &amp;nbsp;To be honest.&lt;br /&gt;
Rolodecks : &amp;nbsp;The extra heal rate...&lt;br /&gt;
Rolodecks : &amp;nbsp;Is good when there&#39;s alot of bleed/afterburn...&lt;br /&gt;
Rolodecks : &amp;nbsp;But...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ve got healthpacks.&lt;br /&gt;
Rolodecks : &amp;nbsp;And a heavy with hopefully a sandvich.&lt;br /&gt;
Rolodecks : &amp;nbsp;Which is very necessary.&lt;br /&gt;
Rolodecks : &amp;nbsp;No shotguns allowed!&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Anything else you need?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;nope&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i think that&#39;s it&lt;br /&gt;
Rolodecks : &amp;nbsp;OH&lt;br /&gt;
Rolodecks : &amp;nbsp;Bind a key to your &quot;Ubercharge ready!&quot; command.&lt;br /&gt;
Rolodecks : &amp;nbsp;I have mine bound to &quot;r&quot;.&lt;br /&gt;
Rolodecks : &amp;nbsp;Fake &#39;em out.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t overdo it though.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;except for good places to keep hidden on this map&lt;br /&gt;
Rolodecks : &amp;nbsp;OH&#39;&lt;br /&gt;
Rolodecks : &amp;nbsp;They&#39;re kinda obvious.&lt;br /&gt;
Rolodecks : &amp;nbsp;Anywhere their sniper can&#39;t get y a.&lt;br /&gt;
Rolodecks : &amp;nbsp;You talkin&#39; red or blue?&lt;br /&gt;
Rolodecks : &amp;nbsp;I like the rocks here.&lt;br /&gt;
Rolodecks : &amp;nbsp;The phallic, penis shaped rocks are your friend.&lt;br /&gt;
Rolodecks : &amp;nbsp;As you see here.&lt;br /&gt;
Rolodecks : &amp;nbsp;Reason being...&lt;br /&gt;
Rolodecks : &amp;nbsp;Here...&lt;br /&gt;
Rolodecks : &amp;nbsp;They can drop down, true.&lt;br /&gt;
Rolodecks : &amp;nbsp;But you&#39;ll always see it.&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ve got...&lt;br /&gt;
Rolodecks : &amp;nbsp;A nice pocket here.&lt;br /&gt;
Rolodecks : &amp;nbsp;Here too.&lt;br /&gt;
Rolodecks : &amp;nbsp;use the cliffs.&lt;br /&gt;
Rolodecks : &amp;nbsp;NEVER stay in the house.&lt;br /&gt;
Rolodecks : &amp;nbsp;Too cramped.&lt;br /&gt;
Rolodecks : &amp;nbsp;Splash/sniper kills ya.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s hard, so just try to keep a minimal line of sight.&lt;br /&gt;
Rolodecks : &amp;nbsp;If their sniper&#39;s down and I&#39;m feeling aggressive...&lt;br /&gt;
Rolodecks : &amp;nbsp;Then I&#39;ll usually hook up here.&lt;br /&gt;
Rolodecks : &amp;nbsp;And uber&lt;br /&gt;
Rolodecks : &amp;nbsp;To buy some time.&lt;br /&gt;
Rolodecks : &amp;nbsp;Only do that if you know you can get their med.&lt;br /&gt;
Rolodecks : &amp;nbsp;Otherwise you lose uber advantage.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just know the status of their medic/sniper at all times.&lt;br /&gt;
Rolodecks : &amp;nbsp;And kinda have a rough idea of his ubercharge percent.&lt;br /&gt;
Rolodecks : &amp;nbsp;And just beat him to the punch.&lt;br /&gt;
Rolodecks : &amp;nbsp;Don&#39;t overextend thoug.&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re on defense, kinda let them come to you;&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean, once they hit a certain part of the map lock it down with your sentry and other sorts...&lt;br /&gt;
Rolodecks : &amp;nbsp;But there&#39;s no need to play offense on defense.&lt;br /&gt;
Rolodecks : &amp;nbsp;If ya catch my drift&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yep&lt;br /&gt;
Rolodecks : &amp;nbsp;It does your team no good if you, the medic, are behind the enemy team if you&#39;re red&lt;br /&gt;
Rolodecks : &amp;nbsp;If you&#39;re blue it&#39;s a different story, like I showed you.&lt;br /&gt;
Rolodecks : &amp;nbsp;But defensive flanks are no where near as effective.&lt;br /&gt;
Rolodecks : &amp;nbsp;Mainly because blue has the upper hand on spawn times.&lt;br /&gt;
Rolodecks : &amp;nbsp;And they spawn so much closer to the action.&lt;br /&gt;
Rolodecks : &amp;nbsp;So it&#39;s kind of a waste.&lt;br /&gt;
Rolodecks : &amp;nbsp;It all boils down to team chemistry.&lt;br /&gt;
Rolodecks : &amp;nbsp;And communication.&lt;br /&gt;
Rolodecks : &amp;nbsp;Come up with shit on the fly, try it out..&lt;br /&gt;
Rolodecks : &amp;nbsp;If it don&#39;t work then find something else.&lt;br /&gt;
Rolodecks : &amp;nbsp;Other than that that&#39;s about it.&lt;br /&gt;
Rolodecks : &amp;nbsp;Cover is your friend.&lt;br /&gt;
Rolodecks : &amp;nbsp;Rocks are good on defense.&lt;br /&gt;
Rolodecks : &amp;nbsp;But try and keep the high ground.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s easier to kill guys who are below you&lt;br /&gt;
Rolodecks : &amp;nbsp;Especially with your projectiles like nades/rockets/etc.&lt;br /&gt;
Rolodecks : &amp;nbsp;So try and have your soldier keep the high ground.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;alright&lt;br /&gt;
Ms. Awesome : &amp;nbsp;well, its been nice chatting with you&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i think these tips are going to help tomorrow&lt;br /&gt;
Rolodecks : &amp;nbsp;WHOA&lt;br /&gt;
Ms. Awesome : &amp;nbsp;?&lt;br /&gt;
Rolodecks : &amp;nbsp;Shit TF2 freezin&#39; on my ass.&lt;br /&gt;
Rolodecks : &amp;nbsp;Well I hope this helps you guys.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i hope it does too&lt;br /&gt;
Rolodecks : &amp;nbsp;I gotta get some rest, big day tomorrow!&lt;br /&gt;
Rolodecks : &amp;nbsp;D:&lt;br /&gt;
Rolodecks : &amp;nbsp;Talk it over, do you need a copy of the chat log?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;whats going on tomorrow for you?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh sure&lt;br /&gt;
Rolodecks : &amp;nbsp;Nothing except sitting on my ass&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Rolodecks : &amp;nbsp;Wishing I could walk up and down these things we call &quot;stairs&quot;.&lt;br /&gt;
Rolodecks : &amp;nbsp;:p&lt;br /&gt;
Ms. Awesome : &amp;nbsp;would you like to specate our match tomorrow?&lt;br /&gt;
Rolodecks : &amp;nbsp;Depends on the time.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;9pm cst&lt;br /&gt;
Rolodecks : &amp;nbsp;Central time?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yes&lt;br /&gt;
Rolodecks : &amp;nbsp;So 8pm my time...&lt;br /&gt;
Rolodecks : &amp;nbsp;Gotcha.&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh, one more thing...&lt;br /&gt;
Rolodecks : &amp;nbsp;Watch this.&lt;br /&gt;
Rolodecks : &amp;nbsp;Back up a bit.&lt;br /&gt;
Rolodecks : &amp;nbsp;Little more.&lt;br /&gt;
Rolodecks : &amp;nbsp;Alright come forward a bit.&lt;br /&gt;
Rolodecks : &amp;nbsp;Just until my beam breaks.&lt;br /&gt;
Rolodecks : &amp;nbsp;Alright.&lt;br /&gt;
Rolodecks : &amp;nbsp;Stay there.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ok&lt;br /&gt;
Rolodecks : &amp;nbsp;Notice I can&#39;t lock on to you anymore.&lt;br /&gt;
Rolodecks : &amp;nbsp;With my medigun.&lt;br /&gt;
Rolodecks : &amp;nbsp;Even though I was just healing you at that range.&lt;br /&gt;
Rolodecks : &amp;nbsp;That&#39;s cheating the beam.&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;re always gonna have a longer range when you keep your beam on them...&lt;br /&gt;
Rolodecks : &amp;nbsp;Then after it breaks.&lt;br /&gt;
Rolodecks : &amp;nbsp;This is why rocket jumping soldiers are so good when you keep your beam on them.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;nice&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s not a very big distance, no...&lt;br /&gt;
Rolodecks : &amp;nbsp;But most guys don&#39;t know about this.&lt;br /&gt;
Rolodecks : &amp;nbsp;Abuse it with kritz.&lt;br /&gt;
Rolodecks : &amp;nbsp;It makes a difference, trust me.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so what do you do after it breaks?&lt;br /&gt;
Rolodecks : &amp;nbsp;You gotta get closer to them, of course.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yes&lt;br /&gt;
Rolodecks : &amp;nbsp;See?&lt;br /&gt;
Rolodecks : &amp;nbsp;But, yeah, just a neat little trick.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh do you use any special config files?&lt;br /&gt;
Rolodecks : &amp;nbsp;That you can add to your gameplay.&lt;br /&gt;
Rolodecks : &amp;nbsp;Haha, my config is all my own tweaking.&lt;br /&gt;
Rolodecks : &amp;nbsp;I don&#39;t have access to my cfg files though.&lt;br /&gt;
Rolodecks : &amp;nbsp;They&#39;re on my computer, this is my brother&#39;s...&lt;br /&gt;
(Voice) Rolodecks: Thanks!&lt;br /&gt;
Rolodecks : &amp;nbsp;I use a custom hud.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh right&lt;br /&gt;
Rolodecks : &amp;nbsp;The Community Hud, with some medic tweaks...&lt;br /&gt;
Rolodecks : &amp;nbsp;And...&lt;br /&gt;
Rolodecks : &amp;nbsp;A custom autoexec file too.&lt;br /&gt;
Rolodecks : &amp;nbsp;Among numerous other things.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i have one to help ping&lt;br /&gt;
Rolodecks : &amp;nbsp;Hmm...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;in autoexec&lt;br /&gt;
Rolodecks : &amp;nbsp;What&#39;s the file look like?&lt;br /&gt;
Rolodecks : &amp;nbsp;Is it a buncha cl_ stuff?&lt;br /&gt;
Rolodecks : &amp;nbsp;interp and such?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;cl_cmdrate &quot;67&quot;cl_interp &quot;0.016&quot; // Change to 0.024 for hitscancl_interp_ratio &quot;1&quot;cl_lagcompensation &quot;1&quot;cl_pred_optimize&lt;br /&gt;
Rolodecks : &amp;nbsp;Hmm...&lt;br /&gt;
Rolodecks : &amp;nbsp;Well the cmdrate&#39;s fine...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;warpy gave me the commands&lt;br /&gt;
Rolodecks : &amp;nbsp;But everything else you&#39;ll have to change depending on your raw ping to the server itself.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because...&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s all ping specific in the end.&lt;br /&gt;
Rolodecks : &amp;nbsp;cl_forcepreload 1 should be in there.&lt;br /&gt;
Rolodecks : &amp;nbsp;Somewhere.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;no, actually it is not&lt;br /&gt;
Rolodecks : &amp;nbsp;cl_updaterate 66&lt;br /&gt;
Ms. Awesome : &amp;nbsp;that must be in the config file&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s probably not.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;this is autoconfig&lt;br /&gt;
Rolodecks : &amp;nbsp;All your autoexec file does is just input those commands in the console when your game boots up...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;right&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s not in your settings nor the steam cloud....&lt;br /&gt;
Rolodecks : &amp;nbsp;Needleguns fire ten syringes a second.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Never get in the habit of huffing your kritz for health.&lt;br /&gt;
Rolodecks : &amp;nbsp;Unless you&#39;re gonna die from afterburn/bleed.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh and how do you bind your mele wepon to mouse 3 again?&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;I don&#39;t know I just use my mousewheel...&lt;br /&gt;
Rolodecks : &amp;nbsp;I do have my viewmodels turned off though.&lt;br /&gt;
Rolodecks : &amp;nbsp;So I don&#39;t see them, I go by sound/indicators.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i cannot do that&lt;br /&gt;
Rolodecks : &amp;nbsp;I don&#39;t know the specific command for scripting like that...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i need to see things&lt;br /&gt;
Rolodecks : &amp;nbsp;I use a custom crosshair too.&lt;br /&gt;
Rolodecks : &amp;nbsp;So it never changes either.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;same here&lt;br /&gt;
Rolodecks : &amp;nbsp;Like how different weapons have crosshairs different.&lt;br /&gt;
Rolodecks : &amp;nbsp;So it&#39;s really key for me to hear stuff and stay on it.&lt;br /&gt;
Rolodecks : &amp;nbsp;But in the long run I&#39;ve found it&#39;s worth it.&lt;br /&gt;
Rolodecks : &amp;nbsp;But different strokes for different folks.&lt;br /&gt;
(Voice) Rolodecks: Help!&lt;br /&gt;
Rolodecks : &amp;nbsp;So...&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;m sure En Ex could help you on that one.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh yeah&lt;br /&gt;
Rolodecks : &amp;nbsp;Because I&#39;m about as useful as tits on a boar hog.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;haha&lt;br /&gt;
Rolodecks : &amp;nbsp;With this stuff, honestly.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;why?&lt;br /&gt;
Rolodecks : &amp;nbsp;Because I&#39;ve never bothered with scripting.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or keybinds or shit like htat.&lt;br /&gt;
Rolodecks : &amp;nbsp;Except for my fake uber call.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yep&lt;br /&gt;
Rolodecks : &amp;nbsp;I suggest you do the same.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so when do you use that call?&lt;br /&gt;
Rolodecks : &amp;nbsp;I mean it&#39;s on your voice menu...&lt;br /&gt;
Rolodecks : &amp;nbsp;x + 8.&lt;br /&gt;
Rolodecks : &amp;nbsp;Uh...&lt;br /&gt;
Rolodecks : &amp;nbsp;Just whenever.&lt;br /&gt;
Rolodecks : &amp;nbsp;Like I really only use it when...&lt;br /&gt;
Rolodecks : &amp;nbsp;I can get them to bluff theirs.&lt;br /&gt;
Rolodecks : &amp;nbsp;But even then..&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ll wanna bind a second key to...&lt;br /&gt;
Rolodecks : &amp;nbsp;Your...&lt;br /&gt;
Rolodecks : &amp;nbsp;Third voice menu...&lt;br /&gt;
Rolodecks : &amp;nbsp;The C one.&lt;br /&gt;
Rolodecks : &amp;nbsp;C + 6.&lt;br /&gt;
Rolodecks : &amp;nbsp;And use it for when you DO get an uber you won&#39;t shout out like this..&lt;br /&gt;
Rolodecks : &amp;nbsp;Because that&#39;s loud.&lt;br /&gt;
Rolodecks : &amp;nbsp;And gives you away.&lt;br /&gt;
Rolodecks : &amp;nbsp;c + 6 is the most quiet voice commands for medic.&lt;br /&gt;
Rolodecks : &amp;nbsp;So that&#39;s what I hit as soon as I get 100%, so it overwrites the &quot;I am fully charged!&quot; voice command.&lt;br /&gt;
Rolodecks : &amp;nbsp;So it&#39;s more quiet.&lt;br /&gt;
Rolodecks : &amp;nbsp;More sneaky.&lt;br /&gt;
Rolodecks : &amp;nbsp;So fake it once with your fake call.&lt;br /&gt;
Rolodecks : &amp;nbsp;But when you actually hit uber hit that other key.&lt;br /&gt;
Rolodecks : &amp;nbsp;So they can&#39;t hear it as well.&lt;br /&gt;
Rolodecks : &amp;nbsp;And they&#39;ll never know when you actually have a charge or not.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh nice&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Rolodecks : &amp;nbsp;So, yeah...&lt;br /&gt;
Rolodecks : &amp;nbsp;Hope that helps.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so instead of uber charge ready... you hit c+6&lt;br /&gt;
Rolodecks : &amp;nbsp;The less knowledge you give them, the better.&lt;br /&gt;
Rolodecks : &amp;nbsp;Yes, because you&#39;ll always call out when you hit 100% y&#39;know?&lt;br /&gt;
Rolodecks : &amp;nbsp;So you just hit that key instead.&lt;br /&gt;
Rolodecks : &amp;nbsp;Of just doing nothing.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;ok&lt;br /&gt;
Rolodecks : &amp;nbsp;So you&#39;ll stop that original line from triggering.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;sweet&lt;br /&gt;
Rolodecks : &amp;nbsp;And instead it&#39;ll sound like this...&lt;br /&gt;
Rolodecks : &amp;nbsp;A little less obvious.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah i wouldn&#39;t know what that meant&lt;br /&gt;
Rolodecks : &amp;nbsp;You don&#39;t understand?&lt;br /&gt;
Ms. Awesome : &amp;nbsp;plus, i communicate when i have the uber/crits&lt;br /&gt;
Ms. Awesome : &amp;nbsp;so everyone would know&lt;br /&gt;
Rolodecks : &amp;nbsp;I&#39;m talking about the other team, they&#39;ll hear you.&lt;br /&gt;
Rolodecks : &amp;nbsp;They hear that voice line.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;true&lt;br /&gt;
Rolodecks : &amp;nbsp;Instant give away.&lt;br /&gt;
Rolodecks : &amp;nbsp;here&#39;s a demonstration, watch my ubercharge.&lt;br /&gt;
Rolodecks : &amp;nbsp;percent.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
Rolodecks : &amp;nbsp;Now if you didn&#39;t know...&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;d never know I had an uber.&lt;br /&gt;
Rolodecks : &amp;nbsp;Unless you looked at my gun.&lt;br /&gt;
Rolodecks : &amp;nbsp;Because the barrel glows...&lt;br /&gt;
Rolodecks : &amp;nbsp;When you have a charge, it&#39;s easy to tell.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;how did you change that? just a bind?&lt;br /&gt;
Rolodecks : &amp;nbsp;Just the same thing you do for the fake call out.&lt;br /&gt;
Rolodecks : &amp;nbsp;Aww you missed it. :D&lt;br /&gt;
Rolodecks : &amp;nbsp;Now I know you&#39;re charged.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;haha&lt;br /&gt;
Ms. Awesome : &amp;nbsp;well, i can&#39;t change it now&lt;br /&gt;
Rolodecks : &amp;nbsp;Just ask en ex about binding voice commands.&lt;br /&gt;
Rolodecks : &amp;nbsp;Or somebody, not much help here...&lt;br /&gt;
Rolodecks : &amp;nbsp;Sorry!&lt;br /&gt;
(Voice) Ms. Awesome: Yes&lt;br /&gt;
Rolodecks : &amp;nbsp;But those two are key.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i can figure it out&lt;br /&gt;
Rolodecks : &amp;nbsp;Everything else, fuck it.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;haha&lt;br /&gt;
Ms. Awesome : &amp;nbsp;that&#39;s my #1 strat&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ll do well.&lt;br /&gt;
Rolodecks : &amp;nbsp;Pretty sure I&#39;ll be able to spectate.&lt;br /&gt;
Rolodecks : &amp;nbsp;If I do I&#39;ll watch you.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;cool&lt;br /&gt;
Rolodecks : &amp;nbsp;I won&#39;t ghost or nothin&#39;.&lt;br /&gt;
Rolodecks : &amp;nbsp;But there&#39;s gonna be a delay on the source tv anyway.&lt;br /&gt;
Rolodecks : &amp;nbsp;if they&#39;re smart.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;source tv&lt;br /&gt;
Ms. Awesome : &amp;nbsp;yeah&lt;br /&gt;
Ms. Awesome : &amp;nbsp;send me a message if i don&#39;t send you one&lt;br /&gt;
Rolodecks : &amp;nbsp;Pretty sure I&#39;ll remember.&lt;br /&gt;
Rolodecks : &amp;nbsp;It&#39;s on a sticky note on my monitor onw.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;wow&lt;br /&gt;
Ms. Awesome : &amp;nbsp;i feel special&lt;br /&gt;
Ms. Awesome : &amp;nbsp;haha&lt;br /&gt;
Rolodecks : &amp;nbsp;Well my brother&#39;s monitor.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;anyways, thanks again&lt;br /&gt;
Ms. Awesome : &amp;nbsp;maybe someday i&#39;ll be giving the tips...&lt;br /&gt;
Ms. Awesome : &amp;nbsp;lol&lt;br /&gt;
(Voice) Rolodecks: MEDIC!&lt;br /&gt;
(Voice) Rolodecks: MEDIC!&lt;br /&gt;
Ms. Awesome : &amp;nbsp;uh how did you &amp;nbsp;do that?&lt;br /&gt;
Rolodecks : &amp;nbsp;Timing.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;haha&lt;br /&gt;
Ms. Awesome : &amp;nbsp;well, i have no timing&lt;br /&gt;
Rolodecks : &amp;nbsp;You&#39;ll get it.&lt;br /&gt;
Rolodecks : &amp;nbsp;There&#39;s a reason it&#39;s banned...&lt;br /&gt;
Rolodecks : &amp;nbsp;Allows you to move while you&#39;re kill taunting.&lt;br /&gt;
Rolodecks : &amp;nbsp;YOU GOT IT&lt;br /&gt;
Rolodecks : &amp;nbsp;Can&#39;t do it on stairs.&lt;br /&gt;
Rolodecks : &amp;nbsp;Ledges/drops only.&lt;br /&gt;
Rolodecks : &amp;nbsp;Anyway...&lt;br /&gt;
Rolodecks : &amp;nbsp;Gonna hop on main for a bit.&lt;br /&gt;
Ms. Awesome : &amp;nbsp;kk&lt;br /&gt;
Rolodecks has found: The Sandman&lt;br /&gt;
Rolodecks has found: The Ullapool Caber&lt;br /&gt;
Ms. Awesome : &amp;nbsp;oh was there a link you wanted me to see?&lt;br /&gt;
(Voice) Rolodecks: Help!&lt;br /&gt;
Rolodecks : &amp;nbsp;Oh, right.&lt;br /&gt;
Rolodecks : &amp;nbsp;Watch this for inspiration really quick.&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/7839561537714496150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/03/rolodecks-and-medic-strategies-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/7839561537714496150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/7839561537714496150'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/03/rolodecks-and-medic-strategies-for.html' title='Rolodecks and Medic Strategies for Pl_goldrush ...'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-2933716219281573320</id><published>2011-02-27T06:27:00.000-06:00</published><updated>2011-02-27T06:27:28.750-06:00</updated><title type='text'>Team Fortress Competitive Medic Tips from Pure</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://cloud.steampowered.com/ugc/542887117829061601/E64BB227FBE581502BAE2DD208872F69F57BEFB8/&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;http://cloud.steampowered.com/ugc/542887117829061601/E64BB227FBE581502BAE2DD208872F69F57BEFB8/&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Medic strategies from pure---- (&lt;a href=&quot;http://forums.steampowered.com/forums/showthread.php?t=1735510&amp;amp;page=7&quot;&gt;http://forums.steampowered.com/forums/showthread.php?t=1735510&amp;amp;page=7&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
1) Pocketing:&lt;br /&gt;
&lt;br /&gt;
A)Soldier only?&lt;br /&gt;
Pocketing a soldier A LOT is a thing of the past. You can view&lt;br /&gt;
Pandemic-Reptile demos and you will see the exact way to do that.&lt;br /&gt;
&lt;br /&gt;
The new style and most effective style, is having a more aggressive&lt;br /&gt;
pocket. This means that he isn&#39;t always just jumping in, but he chooses&lt;br /&gt;
the right time to completely leave his medic, to use his ability and 300&lt;br /&gt;
health to cause havoc.&lt;br /&gt;
&lt;br /&gt;
The best time for a pocket soldier to do this is when he knows his&lt;br /&gt;
roaming soldier just respawned and is 3-4 seconds away, and he decides&lt;br /&gt;
it is worth his life to go RocketJump in.&lt;br /&gt;
&lt;br /&gt;
2) Kritz or uber?:&lt;br /&gt;
&lt;br /&gt;
Kritz, good ole Kritzzzkreig.&lt;br /&gt;
&lt;br /&gt;
At the high level the legitimacy of Kritzkreig tends to come and go.&lt;br /&gt;
&lt;br /&gt;
People get better at defending against it and teams come up with more&lt;br /&gt;
creative ways to use kritz.&lt;br /&gt;
&lt;br /&gt;
Rule: Never use kritz on defense, unless you&#39;re back is against the wall&lt;br /&gt;
and you think the faster build rate will help.&lt;br /&gt;
&lt;br /&gt;
Try to use kritz when you are attacking a teams last. Aim to get 2-3&lt;br /&gt;
kills with the kritz. Does not always have to be the medic. Often&lt;br /&gt;
killing 3 people is better then dropping the med.&lt;br /&gt;
&lt;br /&gt;
Gravelpit = Use the kritz a lot on demos. Aiming at spire, aiming at the&lt;br /&gt;
back of B house from long, etc&lt;br /&gt;
&lt;br /&gt;
Push maps = Kritz to surprise at middle or pushing on teams lasts. Kritz&lt;br /&gt;
soldiers in tight areas.&lt;br /&gt;
&lt;br /&gt;
In general though it is best to just use Uber and master an aggressive&lt;br /&gt;
uber, a defensive uber, a multi-uber, and FAT* ubers.&lt;br /&gt;
&lt;br /&gt;
When I was on complexity and we were destroying everyone, we ran kritz&lt;br /&gt;
in scrims just to make the games interesting. I used a tactic called&lt;br /&gt;
grinding the kritz. whenever I got it, I would basicaly just hit it, so&lt;br /&gt;
no one knew when to attack us, they just kept randomly dieing to kritz.&lt;br /&gt;
&lt;br /&gt;
*FAT uber means you are only keeping it one person and they get a very&lt;br /&gt;
nice and long UBER.&lt;br /&gt;
&lt;br /&gt;
3) Healing orders&lt;br /&gt;
&lt;br /&gt;
A) General tips--&lt;br /&gt;
The best way to get better at Medic is actively practice healing&lt;br /&gt;
orders.&lt;br /&gt;
&lt;br /&gt;
What is it like to give the pocket soldier A LOT of heals....&lt;br /&gt;
&lt;br /&gt;
What is it like to give the scouts A LOT of heals....&lt;br /&gt;
&lt;br /&gt;
Depending on your team and your teams strengths you should heal&lt;br /&gt;
accordingly.&lt;br /&gt;
&lt;br /&gt;
Identify on your team who is the best and explain to your team, &quot; I am&lt;br /&gt;
going to be healing (this scout) and (this soldier) A LOT this game.&quot;&lt;br /&gt;
&lt;br /&gt;
See how it works out, and then try the opposite the next game.&lt;br /&gt;
&lt;br /&gt;
B) Mid-fight healing orders--&lt;br /&gt;
&lt;br /&gt;
Quote: Pure, tell me how my team can win midfights on badlands because&lt;br /&gt;
we&#39;re VERY inconsistent! What can I do as a medic other than having the&lt;br /&gt;
best heal order I can on the rollout, and surviving to get outside and&lt;br /&gt;
heal the demo+everyone else?&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
You need to watch your STV demo from a 3rd&lt;br /&gt;
person point of view. View the mid fight from a birds eye view:&lt;br /&gt;
&lt;br /&gt;
See who is attacking together&lt;br /&gt;
&lt;br /&gt;
Who is attacking alone&lt;br /&gt;
&lt;br /&gt;
Who is running from the fight&lt;br /&gt;
&lt;br /&gt;
Who is missing their shots&lt;br /&gt;
&lt;br /&gt;
See if you are healing the right person&lt;br /&gt;
&lt;br /&gt;
See if you just got out dm&#39;d&lt;br /&gt;
&lt;br /&gt;
See if you just got out strat&#39;d&lt;br /&gt;
&lt;br /&gt;
There is no one way to play badlands mid, and its constantly evolving.&lt;br /&gt;
Why don&#39;t you come up with a new strat and set the scene on its heels?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C) Healing Scouts--&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
How dependent should the roamer and scouts be on getting heals or buffs&lt;br /&gt;
from the medic? I feel like it kills momentum and leads to the pocket&#39;s&lt;br /&gt;
death sometimes, but I could be wrong.&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
Yes it is up to the medic to deny the roamer/scouts, and it is up to the&lt;br /&gt;
medic to communicate that they are pushing. Often as roamer i just want&lt;br /&gt;
a quick tap, not a heal. Im 80, I want 130. I am 160, I want 200. I try&lt;br /&gt;
not to stop the momentum. &quot;DONT HEAL ME&quot; The medic needs to make the&lt;br /&gt;
decision on who to heal. Let people die if you want, its your show. Well&lt;br /&gt;
the pocket, uhm, generally you want the pocket alive all the time, but&lt;br /&gt;
that is a symbiotic relationship. The pocket must realize the situation&lt;br /&gt;
his team is in and make the best push or hold decision.&lt;br /&gt;
&lt;br /&gt;
4) Medic self defense&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
Do you have any tips on self defense as Medic? I&#39;m already pretty good&lt;br /&gt;
at stutterstepping thanks to playing Scout as well and faired decently&lt;br /&gt;
when being attacked by a Scout, but I got divebombed by the roaming&lt;br /&gt;
Soldier quite a few times. How do I escape those? And when on my own,&lt;br /&gt;
should I try to go for the saw hit or SPAM needles?&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
Well generally you need to start identifying when a roaming soldier is&lt;br /&gt;
coming. Either very early in the fight, when your team takes a lot of&lt;br /&gt;
damage, or when you have yet to see him and are in a commited position.&lt;br /&gt;
Try to position yourself to surf the rocket. Practice the timing of&lt;br /&gt;
jumping and crouching. The big trick to rocket surfing... besides&lt;br /&gt;
watching a 10 minute tutorial on how to do it... thank you&lt;br /&gt;
blackymonster... is to take the rocket on your side, don&#39;t be afraid to&lt;br /&gt;
take the damage, the damage is propelling you. Defending yourself is&lt;br /&gt;
also highly dependent on the skill level of player you are dealing with.&lt;br /&gt;
Certain escapes against HIGH level players just do not work against low&lt;br /&gt;
level players.&lt;br /&gt;
&lt;br /&gt;
I have played turbine with European teams, and complexity. We destroyed&lt;br /&gt;
EG and Nexus on Turbine. I am always very aggressive in the initial mid,&lt;br /&gt;
giving my life to get my players in the key positions to max buff. The&lt;br /&gt;
next trick is to sit on the upper left stairs, and use the high ground&lt;br /&gt;
to you advantage. If you honestly want to win, you just need to wait,&lt;br /&gt;
wait, wait, wait for them to push out and then you counter uber. Yes on&lt;br /&gt;
turbine one of the biggest skills is knowing when to go to your base or&lt;br /&gt;
to go to mid. When in doubt everyone meet in your base and &quot;stop the&lt;br /&gt;
bleeding.&quot; Do not let 2 caps, turn into 5 caps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5) When to leave your team&lt;br /&gt;
&lt;br /&gt;
Quote: See, I play with guys that aren&#39;t exactly the brightest crayons&lt;br /&gt;
in the box, you know? And so they often run in and then I get killed&lt;br /&gt;
along with them. Should I run away when something like this happens to&lt;br /&gt;
save my uber? I feel a little guilty just abandoning them to their fate&lt;br /&gt;
like that.&lt;br /&gt;
&lt;br /&gt;
Also, regarding loadouts, I heard you mention that you like using the&lt;br /&gt;
Syringe/Blut with the Ubercannon and Ubersaw. When do you use the&lt;br /&gt;
Kritzkrieg?&lt;br /&gt;
&lt;br /&gt;
And finally, when a team mate goes down, or when they&#39;re at a point&lt;br /&gt;
where healing is no longer effective (they&#39;re missing a lot of shots and&lt;br /&gt;
aren&#39;t really able to kill the person that&#39;s fighting them, but the&lt;br /&gt;
person fighting them isn&#39;t aiming too well either), should I pull out my&lt;br /&gt;
gun and try to assist in killing instead of healing them and waiting for&lt;br /&gt;
them to kill them? And when should I use my ubersaw? Very good question&lt;br /&gt;
about when to leave your people.&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
If your uber is above 70 you should almost always run. It is much better&lt;br /&gt;
to meet up with your team again and have uber immediately than to be&lt;br /&gt;
agggresive when you almost have uber.&lt;br /&gt;
&lt;br /&gt;
Secondly, you need to learn the range of your pocket soldier&#39;s&lt;br /&gt;
intelligence. You said you have some dumbos on your team. Well, you&lt;br /&gt;
should message them in private before the game and say: Please make an&lt;br /&gt;
effort to realize when it is just me and you and we need to escape. I&lt;br /&gt;
need you.&lt;br /&gt;
&lt;br /&gt;
He should listen, if he does not, I would get a new pocket.&lt;br /&gt;
&lt;br /&gt;
Depending on the style and aggresion of your team you should create your&lt;br /&gt;
own little ruleset on when to leave your team to live another day.&lt;br /&gt;
&lt;br /&gt;
I follow a pretty straight forward ruleset. I focus on the initial picks&lt;br /&gt;
of the push. Who goes down, who gets rolled, etc. If our team gets two&lt;br /&gt;
picks at the beginning of the push, we know we can push and do it up&lt;br /&gt;
big. If we LOSE two members prior to the push, we know immediately that&lt;br /&gt;
our flank is in trouble and eventually we will have people on us.&lt;br /&gt;
Backup? Sure, but why not take one person into the whole team and uber,&lt;br /&gt;
making them multi uber and freak out?&lt;br /&gt;
&lt;br /&gt;
Pay attention to who dies at the start of the push. Do a +/- quickly in&lt;br /&gt;
your head. Keep your players health all above 100% percent as best you&lt;br /&gt;
can. But most importantly develop a relationship with your pocket. Or&lt;br /&gt;
break up :&quot;)&lt;br /&gt;
&lt;br /&gt;
When to aid in your teammate?&lt;br /&gt;
You should aid him when the enemy he is attacking is totally oblivious&lt;br /&gt;
to you or is it out of ammo. When they are out of ammo, peoples heart&lt;br /&gt;
rates pick up, and their aim starts to suffer. So why not get a free&lt;br /&gt;
ubersaw. Do not be limited in your Medic play, test the craziness, test&lt;br /&gt;
the conservative style, and see what works best.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6) Dodging spam:&lt;br /&gt;
&lt;br /&gt;
Medic Tip: On cp_badlands when you round the corner approaching your&lt;br /&gt;
enemy&#39;s spire, stay in that area and practice dodging spam.&lt;br /&gt;
&lt;br /&gt;
Stay in harms way on purpose and see how long you can dodge spam and&lt;br /&gt;
maintain good heals.&lt;br /&gt;
&lt;br /&gt;
In a match you are going to want to enter the choke, navigate around&lt;br /&gt;
spam, staying in relation to your pocket, and try to over heal the&lt;br /&gt;
classes that go up to spire. Scouts, demo, and roamer.&lt;br /&gt;
&lt;br /&gt;
After you have reached a safe point, and you dont feel the need to rush&lt;br /&gt;
in with uber, walk up the spire as a medic. It is much safer and allows&lt;br /&gt;
you to bypass 3-4 chokes where you can spammed.&lt;br /&gt;
&lt;br /&gt;
7) Spies:&lt;br /&gt;
&lt;br /&gt;
Quote: Anyways I was wondering about when a spy is ever run in 6 v 6 (I&lt;br /&gt;
know he&#39;s not used a lot, but are there certain situations in which a&lt;br /&gt;
spy would be better than a scout?), or do people just do it for fun?&lt;br /&gt;
&lt;br /&gt;
Ans:&lt;br /&gt;
The spy has made its return to the scene with gunboats soldier being so&lt;br /&gt;
viable. This means that since the game is becoming even more aggressive&lt;br /&gt;
and less calculating that its sometimes much easier for spies to&lt;br /&gt;
navigate. Traditionally you would just have two stagnant soldiers&lt;br /&gt;
standing around, and two scouts not +forwarding. It is the opposite now.&lt;br /&gt;
The only classes around the medic are demo/pocket, so it is much easier&lt;br /&gt;
for a Spy to use an aggressive distraction to back stab 1-2 of the combo&lt;br /&gt;
on a repeated basis.&lt;br /&gt;
&lt;br /&gt;
8) Scouts:&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
I&#39;m having A LOT of trouble dealing with a scout when my nearby&lt;br /&gt;
teammates have died. What&#39;s your advice? Just keep running hoping your&lt;br /&gt;
team&#39;s scouts or recently respawned demo/roamer saves you? Backpaddel&lt;br /&gt;
while &#39;supressing&#39; him with needles? Or fight him head on as the&lt;br /&gt;
situation is pretty much lost anyway, hoping to take him down with you?&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
When it comes to escaping from scouts you need realize if you can book&lt;br /&gt;
it and make it, you need to immediately start fighting, or you can run&lt;br /&gt;
and suppress.&lt;br /&gt;
&lt;br /&gt;
I always immediately just turn and book it. If the scout is far enough&lt;br /&gt;
away he will never catch you if you book it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9) Medic targeting&lt;br /&gt;
&lt;br /&gt;
Quote: In real situations, the medic is usually a much harder target&lt;br /&gt;
than his patient, usually because you can&#39;t actually see the medic,&lt;br /&gt;
while the patient is shooting your face.&lt;br /&gt;
&lt;br /&gt;
One of the more important skills to learn is target selection. Always&lt;br /&gt;
going after the highest value target is not always the best solution,&lt;br /&gt;
because if the medic is any good, he&#39;s going to position himself to make&lt;br /&gt;
that difficult and costly.&lt;br /&gt;
&lt;br /&gt;
Winning a point without a medic because the other team sacrificed too&lt;br /&gt;
many players for the medic pick happens all the time.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
For sensitivity, just pick one and stick with it. There is no magic&lt;br /&gt;
number that will improve your aim, but constantly fiddling with it or&lt;br /&gt;
setting it super high or low because &quot;that&#39;s what the proz do&quot; will&lt;br /&gt;
certainly mess it up.&lt;br /&gt;
&lt;br /&gt;
Ans:&lt;br /&gt;
Nail on the head. Choosing a target is tough&lt;br /&gt;
stuff. I am a roaming soldier now, and one of the main practice is&lt;br /&gt;
gunboat suiciding and target selection. I will jump 50 times in a game&lt;br /&gt;
and constantly practice which targets I should aim at in different&lt;br /&gt;
situations.&lt;br /&gt;
&lt;br /&gt;
Zargon is right again when it comes to not overemphasizing the medic.&lt;br /&gt;
The whole reason some medics are hyper aggressive is that they enjoy&lt;br /&gt;
other teams going after them. Id rather keep healing everyone on my team&lt;br /&gt;
in the middle of the fight, dodging for the life of me, and dieing....&lt;br /&gt;
than sitting in the back doing absolutely nothing.&lt;br /&gt;
&lt;br /&gt;
When it comes to sensitivity I would recommend staying near one&lt;br /&gt;
sensitivity but there is no problem occasionally moving it up and down.&lt;br /&gt;
Do not constantly do it, but, for instance, if you think you are not&lt;br /&gt;
hitting your flick rockets well enough, you can up your sens and it&lt;br /&gt;
might be easier.&lt;br /&gt;
&lt;br /&gt;
10) Medic Loadout&lt;br /&gt;
&lt;br /&gt;
Medic loadout: Syringe Gun, UberCharge, Ubersaw&lt;br /&gt;
&lt;br /&gt;
When I am feeling fancy I will use Blautsauger. Ubercharge is standard. Ubersaw saves matches.&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=ab0J0Uqhmcc&lt;br /&gt;
&lt;br /&gt;
11) Medic Communication:&lt;br /&gt;
&lt;br /&gt;
A) Question:&lt;br /&gt;
I find it hard to direct my team and give them orders (scouts stick&lt;br /&gt;
together, roamer move in now, demo sticky up left side etc) while also&lt;br /&gt;
coordinating my pocket etc (scout flanking! Inc soldier jumping! etc)&lt;br /&gt;
AND dodge like a maniac. Should I expect my teammates to do stuff like&lt;br /&gt;
sticking up certain places and sticking together? or not?&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
Really good questions guys, I appreciate it. The more effort you put in,&lt;br /&gt;
the more effort I put in.&lt;br /&gt;
&lt;br /&gt;
You should not have to direct your whole entire team. To a certain&lt;br /&gt;
extent you are observing your team, like a commander at the rear of the&lt;br /&gt;
army, and therefore you should make Macro calls.&lt;br /&gt;
&lt;br /&gt;
By having to focus on so many different variables you will eventually&lt;br /&gt;
slip up yourself. I will give you a real example.&lt;br /&gt;
&lt;br /&gt;
When I first joined compLexity, the team was a machine. Enigma/Carnage&lt;br /&gt;
unstoppable, SolidSnake amazing, and very good soldiers. It was easy for&lt;br /&gt;
me to come in and just give them the sick heals and they would do sick&lt;br /&gt;
things.&lt;br /&gt;
&lt;br /&gt;
After two seasons, SolidSnake stopped caring as much, and our scout&lt;br /&gt;
combo was slowly being caught up to. It got to a point where I would&lt;br /&gt;
have to micro way too much. So much to the point that it stressed me out&lt;br /&gt;
and made me not enjoy the game.&lt;br /&gt;
&lt;br /&gt;
There is a limitation to what you should be saying and what calls you&lt;br /&gt;
should be making. My best piece of advice is to start small. Meaning,&lt;br /&gt;
say the things that need to be said not EVERYTHING. Whenever I have a&lt;br /&gt;
medic who is literally saying everything, I say: Would you please stop&lt;br /&gt;
commentating the either game.&lt;br /&gt;
&lt;br /&gt;
It is important to have clear sounds so you can stay focused.&lt;br /&gt;
&lt;br /&gt;
Good things to say:&lt;br /&gt;
&lt;br /&gt;
Heals are at &quot;house/back left/right side/on hill&quot; You are my pocket It&lt;br /&gt;
is just us, fall back Our flank just died Medic&lt;br /&gt;
tagged/?????/weak/stacked You are all weak, relax Healing scout then&lt;br /&gt;
roamer then pocket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
x) General Defense (concerning entire team)&lt;br /&gt;
&lt;br /&gt;
Quote: So a rather general question about pushing. How should a team&lt;br /&gt;
practice pushing onto a defense? If you look at Invite level TF2,&lt;br /&gt;
Intermediate TF2, low-level competition, and public play, you will find&lt;br /&gt;
many attack styles that generally all miss the mark.&lt;br /&gt;
&lt;br /&gt;
It is important to think about your attack from the defender&#39;s point of&lt;br /&gt;
view. Like, what would you NOT want an offense to do to you?! In general&lt;br /&gt;
you must do that.&lt;br /&gt;
&lt;br /&gt;
First lets identify what the defense has setup:&lt;br /&gt;
&lt;br /&gt;
Medic with Uber&lt;br /&gt;
&lt;br /&gt;
Soldier with 300 health&lt;br /&gt;
&lt;br /&gt;
Sticky Trap&lt;br /&gt;
&lt;br /&gt;
Sniper&lt;br /&gt;
&lt;br /&gt;
Roaming Soldier covering flank&lt;br /&gt;
&lt;br /&gt;
Engineer with Sentry&lt;br /&gt;
&lt;br /&gt;
Now, what do you have on offense:&lt;br /&gt;
&lt;br /&gt;
Medic with Uber&lt;br /&gt;
&lt;br /&gt;
Soldier with 200-300 Health&lt;br /&gt;
&lt;br /&gt;
Roamer ready to spam sentry or engage the demo&lt;br /&gt;
&lt;br /&gt;
Scouts ready to spring free once the sentry is down&lt;br /&gt;
&lt;br /&gt;
Demo able to take down a sentry and sticky the point&lt;br /&gt;
&lt;br /&gt;
The table is set.&lt;br /&gt;
&lt;br /&gt;
PRACTICE&lt;br /&gt;
&lt;br /&gt;
You need to practice three types of things.&lt;br /&gt;
&lt;br /&gt;
1) killing the medic or forcing the uber with an isolated attack&lt;br /&gt;
&lt;br /&gt;
2) killing the demo or forcing him to blow his trap with an isolated&lt;br /&gt;
attack&lt;br /&gt;
&lt;br /&gt;
3) taking down the sentry prior to going in by double spamming with&lt;br /&gt;
soldiers/demo&lt;br /&gt;
&lt;br /&gt;
A few things that are important to know:&lt;br /&gt;
&lt;br /&gt;
Your scouts are useless unless the sentry is down&#39;&lt;br /&gt;
&lt;br /&gt;
Your demo needs to sticky the point&lt;br /&gt;
&lt;br /&gt;
Your roamer and/or scouts need to work the point by either suiciding on&lt;br /&gt;
it or jumping on and off. This will bring the enemy &amp;nbsp;tot he point and&lt;br /&gt;
your demo will kill 1-4&lt;br /&gt;
&lt;br /&gt;
The quality of your push is dependent on how clean you get into the area&lt;br /&gt;
and when you uber your soldier and demo. You want to make sure they are&lt;br /&gt;
ubered when they are max health, so when they leave you post uber, they&lt;br /&gt;
have a high chance of being affective.&lt;br /&gt;
&lt;br /&gt;
Get back to me once you&#39;ve practiced this stuff.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
x) Map Tips:&lt;br /&gt;
&lt;br /&gt;
A) Yukon&lt;br /&gt;
&lt;br /&gt;
B) Granary&lt;br /&gt;
Quote: Originally Posted by breloom Do you have any advice on how to get&lt;br /&gt;
out of open?&lt;br /&gt;
&lt;br /&gt;
Also adrenalynn, I&#39;m not pyyyour, but in my as a soldier on granary,&lt;br /&gt;
it&#39;s really best not to jump the crates to try to control them, but to&lt;br /&gt;
just jump on the other team&#39;s heads at the same time. When the scouts&lt;br /&gt;
get to mid they should call out the scouts of the other team and sort of&lt;br /&gt;
check them, which is the best way to keep your medic alive, because if&lt;br /&gt;
you dedicate a soldier to babysitting your medic, the other team&#39;s&lt;br /&gt;
soldier ends up on your medic&#39;s head and your medic is respawning.&lt;br /&gt;
Basically, don&#39;t try to ward off attackers or hold crates, instead bring&lt;br /&gt;
the fight to them.&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
Breloom hit the nail on the head. Soldier jumps on&lt;br /&gt;
Mid granary continue to evolve on a daily basis. Meaning the weak are&lt;br /&gt;
getting eaten alive and the strong survive.&lt;br /&gt;
&lt;br /&gt;
I am literally playing a Granary match tonight where I am the roaming&lt;br /&gt;
soldier. So I guess I will just tell you exactly what I do.&lt;br /&gt;
&lt;br /&gt;
Depending on where my medic spawns, depending on how fast my demo is to&lt;br /&gt;
mid, and depending on if we get an initial kill or death, I will do an&lt;br /&gt;
assortment of aggresive jumps.&lt;br /&gt;
&lt;br /&gt;
Like Breloom said, just jumping on your box, and spamming and sitting is&lt;br /&gt;
relatively worthless. I do actually jump up there a lot but I move&lt;br /&gt;
quickly to my next target.&lt;br /&gt;
&lt;br /&gt;
Assuming we go left to mid, and I equalize, here are 4 things I do as&lt;br /&gt;
roamer:&lt;br /&gt;
&lt;br /&gt;
1) RJ to mid left and go onto point and spam whats on point and then RJ&lt;br /&gt;
at demo/medic&lt;br /&gt;
&lt;br /&gt;
2) RJ to back left and spam their garage and then RJ at&lt;br /&gt;
scouts/demo/medic&lt;br /&gt;
&lt;br /&gt;
3) Double RJ off crate into medic and kill him&lt;br /&gt;
&lt;br /&gt;
4) RJ on crate, identify where combo is, jump in combos direction.&lt;br /&gt;
&lt;br /&gt;
That is literally what I am going to be doing tonight.&lt;br /&gt;
&lt;br /&gt;
Mid granary is an elusive situation. You can be destroying middle for&lt;br /&gt;
weeks and then the whole game switches up and your style is left in the&lt;br /&gt;
dust.&lt;br /&gt;
&lt;br /&gt;
Practice being hyper aggressive, and really passive, see which pays off.&lt;br /&gt;
&lt;br /&gt;
The 4 things i mentioned are mainly used to take pressure off of me team&lt;br /&gt;
and to put a kill strike at the more important targets. And since I use&lt;br /&gt;
gunboats I can escape post-kills almost all the time.&lt;br /&gt;
&lt;br /&gt;
C) Freight&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
Any tips on Turbine and Freight? On Turbine the huge amount of SPAM&lt;br /&gt;
pretty much forced me into using Kritz because I hardly got the time to&lt;br /&gt;
get a full Uber, and the opposing Medic fell into that same strategy&lt;br /&gt;
after us. Positioning between offense and defending the Flag was very&lt;br /&gt;
troubling as well. My issues with Freight mainly lie in pushing last,&lt;br /&gt;
where the (when looking from last) left entrance gets you SPAMmed, the&lt;br /&gt;
mid entrance gets you Sniped, and the right entrance gets you SPAMmed&lt;br /&gt;
AND Sniped.&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
Freight? God I loathe middle. Even when you middle it does not even feel&lt;br /&gt;
like you won anything of consequence.&lt;br /&gt;
&lt;br /&gt;
When attacking last on freight you need to show multiple fronts and&lt;br /&gt;
activiely change where you are healing from in order to keep the sticky&lt;br /&gt;
traps guessing and sniper not very comfy.&lt;br /&gt;
&lt;br /&gt;
Identify where the sentry gun is, see if you can jump your demo roamer&lt;br /&gt;
in.&lt;br /&gt;
&lt;br /&gt;
Make sure to put pressure on the sniper. You should be able to uber in&lt;br /&gt;
with your demo and take out the sentry gun and force the uber.&lt;br /&gt;
&lt;br /&gt;
That should be your continuous attack, ubering in with demo to take down&lt;br /&gt;
gun and medic, and hoping you win the post-uber fight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D) Granary&lt;br /&gt;
&lt;br /&gt;
Do you have any tips for pushing last on Granary when both teams have&lt;br /&gt;
uber and the defending team has a heavy? Sorry I have been planning&lt;br /&gt;
Valentines Day and have been relatively busy with my team. I have&lt;br /&gt;
already explained how to attack a heavy. It is in one of the previous&lt;br /&gt;
comments. Additionally though, the heavy requires a lot of resource, so&lt;br /&gt;
if you focus the other targets, the medic sometimes makes a mental error&lt;br /&gt;
and just lets everyone his team die by sticking on his heavy. But&lt;br /&gt;
please, read the first comment.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/2933716219281573320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/team-fortress-competitive-medic-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2933716219281573320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2933716219281573320'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/team-fortress-competitive-medic-tips.html' title='Team Fortress Competitive Medic Tips from Pure'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-1566515455520914908</id><published>2011-02-15T11:51:00.000-06:00</published><updated>2011-02-15T11:51:02.342-06:00</updated><title type='text'>Learning Linux and programming C</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;After installing the virtualbox ubuntu machine on my Window 7 machine, I had some problems getting used to doing some basic commands (since I have been a Windows user my entire life). I have compiled a list of common commands I use.&lt;br /&gt;
&lt;br /&gt;
Ps. I highly&amp;nbsp;recommended&amp;nbsp;adding the guest addons to increase the screen resolution for the Linux virtualbox. It looks lovely. &amp;nbsp;To do this follow these steps...&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2 style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 18px; font-weight: normal; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;How to Install Guest Additions on Ubuntu 10.10?&lt;/h2&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Additional packages and updates released by ubuntu people to test with VB. You can download them and install by following method to get high screen resolutions. This worked in one host and not in other for me. So, I’m not 100% sure this will work for all. Please share your results on comments area.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Make sure virtual machine is having internet with download access. Open terminal ( Application –&amp;gt; Accessories –&amp;gt; Terminal)&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Type&lt;/div&gt;&lt;pre class=&quot;csharpcode&quot;&gt;sudo apt-get update&lt;/pre&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;and provide the root password, above command will check and download the updates available on internet server.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Type,&lt;/div&gt;&lt;pre class=&quot;csharpcode&quot;&gt;sudo apt-get install build-essential linux-headers-$(uname -r)&lt;/pre&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Now, type,&lt;/div&gt;&lt;pre class=&quot;csharpcode&quot;&gt;sudo apt-get install virtualbox-ose-guest-x11&lt;/pre&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Restart and check the screen size, seamless and full screen mode on ubuntu 10.10, all should work.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Let me know how it worked for you.&lt;/div&gt;&lt;br /&gt;
Your screen will come out to a pretty resolution like follows.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUTaUm1KgwQHyC6b2i7t5S_svbr_6F7TkhjaVi8NIM2YJDpFj4qNn7opo3PtW1ru3A6g5M0SqqFg1HGQ5ayILoK60RnB7uezJyxCiIgM3jHjc91OEUUCm_RTThU6JhnaGiMUQoSrCRqwYk/s1600/Screenshot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;364&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUTaUm1KgwQHyC6b2i7t5S_svbr_6F7TkhjaVi8NIM2YJDpFj4qNn7opo3PtW1ru3A6g5M0SqqFg1HGQ5ayILoK60RnB7uezJyxCiIgM3jHjc91OEUUCm_RTThU6JhnaGiMUQoSrCRqwYk/s640/Screenshot.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;----&lt;br /&gt;
&lt;br /&gt;
My current list of common linux commands&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;cd: changes directory. Example) cd desktop&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ls: shows contents of current folder&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;gvim: opens up graphical vim editor&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;chmod 777 &amp;lt;name of program to change permissions&amp;gt;: to change permissions when it states &quot;./&amp;lt;nameofprogram&amp;gt; permission denied&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;gcc -ansi assembler.c -o &amp;lt;programoutput&amp;gt;: to compile a file with gcc ansi-c compiler produces an executable file a.out (default) or &amp;lt;programoutput&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;a.out &amp;lt;inputfile&amp;gt; &amp;lt;outputfilename&amp;gt;: If your program does not have any errors, you will notice that the above command produces an executable file&lt;br /&gt;
named a.out. This is the standard name for the executable created by gcc unless you provide your own preferred name.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;./a.out &amp;lt;inputfile&amp;gt; &amp;lt;outputfilename&amp;gt;: If the above doesn&#39;t run your program try running it by typing this.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;gcc -ansi -o assemble assembler.c: If you would like to call your executable with a different name, you need to use the -o option of gcc.&lt;br /&gt;
For example, if you want your executable named assemble, you need to compile the source code for your assembler (assembler.c) with the following command.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;gcc -lm -ansi -o assemble assembler.c: If you decide to use any of the math functions in math.h, you also have to link the math library by using the command.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;./assemble &amp;lt;inputfile&amp;gt; &amp;lt;outputfilename&amp;gt;: To run your assembler now, just use the following command.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;man gcc: If you would like to learn more about gcc, try the following on the UNIX command prompt.&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/1566515455520914908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/learning-linux-and-programming-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1566515455520914908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1566515455520914908'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/learning-linux-and-programming-c.html' title='Learning Linux and programming C'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUTaUm1KgwQHyC6b2i7t5S_svbr_6F7TkhjaVi8NIM2YJDpFj4qNn7opo3PtW1ru3A6g5M0SqqFg1HGQ5ayILoK60RnB7uezJyxCiIgM3jHjc91OEUUCm_RTThU6JhnaGiMUQoSrCRqwYk/s72-c/Screenshot.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-3029549362685225518</id><published>2011-02-03T10:35:00.001-06:00</published><updated>2011-02-03T10:35:14.308-06:00</updated><title type='text'>Video Laser Art</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Something I wouldn&#39;t mind tinkering on in the future (&lt;a href=&quot;http://www.muonics.net/blog/index.php?postid=15&quot;&gt;http://www.muonics.net/blog/index.php?postid=15&lt;/a&gt;). My friend Cassy is working on a&amp;nbsp;similar&amp;nbsp;project like this. This looks pretty fun...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;newsTitle&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.muonics.net/blog/index.php?postid=15&quot; style=&quot;color: #3f3f3f; font-size: 18px; font-weight: bold; text-decoration: none;&quot;&gt;GRL Laser Tag Rotterdam - how to and source code&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;newsDate&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 13px; font-weight: bold; line-height: 15px; margin-top: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;February 20, 2007&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/urban_data/396081005/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/123/396081005_aeeec1c854.jpg?v=0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;UPDATE: !!!!!&amp;nbsp;&lt;a href=&quot;http://muonics.net/blog/index.php?postid=26&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;LASER TAG 2002 IS RELEASED - Feb 2008&lt;/a&gt;&amp;nbsp;!!!!!&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;The main event of the GRL Rotterdam tour - &#39;L.A.S.E.R TAG&#39; - 60mw geek graffiti madness.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Watch the&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://graffitiresearchlab.com/?page_id=76&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;video here&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;on the&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://graffitiresearchlab.com/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;Graffiti Research Lab&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;website.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;In the spirt of GRL&#39;s and&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.eyebeam.org/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;Eyebeam&#39;s&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;open source beliefs, we are posting the code and executable&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;for the Laser Tag application online for you to download, dissect, reuse and hopefully improve. The code is&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;C++ and compiled in a super old school Codewarrior IDE for windows but it is oepnGL based and written&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;using&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.openframeworks.cc/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;openFrameworks&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;which is a cross platform library for writing creative code. So it should be very&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;straight forward to run in Visual Studio, DevC++ or even xcode on a mac.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;In its simplest form the Laser Tag system is a camera and laptop setup, tracking a green laser point across&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;the face of a building and generating graphics based on the laser&#39;s position which then get projected back&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;onto the building with a high power projector.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;There are a bunch of things you need to do to get Laser Tag up and running yourself, so here follows the required&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;equipment and setup instructions. This will assume that you using windows but it will also apply for other OSs too.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;EQUIPMENT&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;We used:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 PC Laptop - ASUS A8JS - Core 2 Duo 1.83 Ghz 1GB Ram Nvideo Geforce Go 7300 256MB - VGA and DVI out.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 Pansonic PTD5600U 5000 ANSI Lumens 1024x768 DLP Projector.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 Watec 221S Security/Astrononmy Camera with manual iris zoom lens.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 Bogen magic arm and super clamp.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 Pinnacle PCTV USB capture card.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;1 60mW Green Laser (super illegal in a lot of places and very dangerous)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;and loads and loads of AAA batteries.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/urban_data/396081705/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/169/396081705_25539b75fc.jpg?v=0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;SETUP&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Location:&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Choose a building or wall that the laser shows up well on. If using a building make sure the lights aren&#39;t on&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;as this will make the tracking of the laser beam harder (also it is not a good idea to point powerful lasers&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;at a building with people in it) .&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Pick a spot far enough back that the projector can overshoot the building by a couple of feet on all sides.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/urban_data/396082609/&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm1.static.flickr.com/115/396082609_fe4290b30c.jpg?v=0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Alignment and calibration:&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;If the building is vertically orientated and the projector can handle it, put the projector on its side so you are&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;using the full image of the projection.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Fix the projector in place and then fix the camera underneath the lens of the projector so that it is looking at the&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;projection area. Allow the camera to see a little more than the projection area so that you can designate an area&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;as a clear button.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Make sure all the settings on the camera are set to manual - no auto exposure or gain control etc. Adjust the color&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;balance of the camera so that it looks as natural as possible - make sure any lights in the shot don&#39;t look green as this&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;will confuse the tracking sytem.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Software setup:&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Set your resolution of your screen to 1024 by 768.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Connect the projector to the PC and in your display control panel set the display mode to horizontal span.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;This should span the Desktop across the laptop screen and the projector so that you have one large screen&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;of 2048 by 768 resolution. If you have access to openGL and 3D preferences in the control panel, set all settings&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;to performance.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Connect the camera to the usb capture card and the capture card to the PC. You can use&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://download.videohelp.com/download/amcap911.zip&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;Amcap&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;to make sure you can capture video okay.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Start the app and you should see something like the image bellow.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Follow the instructions in the diagram to align the camera to the projection surface.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;img src=&quot;http://muonics.net/extras/laserguide.png&quot; /&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Once the camera is aligned to the projector hide the white alignment lines on the projected image by pressing L.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Turn down the iris of the camera to the point where the surface is as dark as possible but the laser still shows up strong.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Settings:&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;The settings for the app are saved in an xml file so once you have made your adjustments hit the S key to save your changes.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;The up and down arrows on your keyboard will run through the list of settings and the left and right arrows can adjust the values.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;The first settings you will want to adjust is the four at the bottom - which define the color tracking of the laser.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Hue Point&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- should be the value of green that the camera sees the laser as.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Hue Thresh&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- is how wide a range from the hue point it should consider.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Sat Thresh&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- is the minimum amount of saturation.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Value Thresh&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- is the minimum brightness.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Anything that is outside the range of these settings will show up as black in the Thresh Video anything that is whithin&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;(hopefully only the laser point) should show up white.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Here is an explanation of the rest of the settings:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Slide&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- slides the screen over so you can see what is being projected&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Verticle mode&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- if the projector is being used on its side.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Use blobs&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- should stay on, blob tracking ended up being more reliable than motion difference.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Motion diff&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- don&#39;t touch&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Use camera&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- toggle between using the live camera and an included test video.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Drips mode&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- when on, small drips of paint will descend from the letter forms.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Fade out&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- slowely fades the image over time - alternative to clear button.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Slant brush&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- toggles chisel brush and fatcap mode&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Clear zone&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- Use an area of the image as a clear zone, if the laser is detected there it clears the image.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Brush width&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- Size of brush&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Drips freq&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- How many drips you want - lower is more&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Activity thresh&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- This determines the time before starting a new line, the background screen should flash red whenever a new line begins.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Min blob size&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- the smaller this value the more sensitive to noise it will be but also the smoother the line motion.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Jump dist&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- the max distance to draw a line between two captured points, any distance greater means it starts a new line.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Line resolution&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- how many points to interpolated a line with, higher number means smoother line but uses more cpu.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Clear X&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- adjust x position of clear area.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Clear Y&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;  - same for y&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;Clear thresh&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;- lower means a more sensitive clear area , higher less sensitive - adjust so that only laser point clears image.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;NOTES&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Once everything is setup be very careful not to bump either projector or camera as even a move of a 1mm will be&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;enough to mess the alignment.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;The settings are saved in settings.xml file - if you want to back up your settings for a location just zip the file and rename it.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;If you are pushed for framerate - try overclocking your graphics with hacked drivers from&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;a href=&quot;http://www.laptopvideo2go.com/index.php?drivers&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;laptopvideo2go&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;you will notice quite a difference!&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;Press h to hide all gui except the projected image, this can also give you a bump in the framerate too.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;DOWNLOAD&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f3f3f; font-family: &#39;Times New Roman&#39;, Times, serif; font-size: 12px; line-height: 15px;&quot;&gt;&lt;b&gt;UPDATE: !!!!!&amp;nbsp;&lt;a href=&quot;http://muonics.net/blog/index.php?postid=26&quot; style=&quot;color: #ee22cc; text-decoration: none;&quot;&gt;LASER TAG 2002 IS RELEASED - Feb 2008 - Download Here&lt;/a&gt;&amp;nbsp;!!!!!&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/3029549362685225518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/video-laser-art.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/3029549362685225518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/3029549362685225518'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/02/video-laser-art.html' title='Video Laser Art'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-3816933867200864419</id><published>2011-01-27T22:50:00.002-06:00</published><updated>2011-01-28T01:49:15.380-06:00</updated><title type='text'>How to compile C code using gcc on windows (Reference from Amber Jain&#39;s Blog)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #222222;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 19px;&quot;&gt;In my computer architecture class we need to learn to compile things on&amp;nbsp;Linux. However, I was interested in trying to compile my C code (using a gcc compiler) on a windows machine. Here is what Amber had to say about it (link:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;http://thinkminus.wordpress.com/2010/05/18/compile-c-code-that-uses-libraries-using-gcc-on-windows/&quot;&gt;http://thinkminus.wordpress.com/2010/05/18/compile-c-code-that-uses-libraries-using-gcc-on-windows/&lt;/a&gt;).&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #222222;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 19px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;h2 id=&quot;post-264&quot; style=&quot;color: #222222; font-family: &#39;Lucida Grande&#39;, &#39;Lucida Sans Unicode&#39;, Helvetica, Arial, sans-serif; margin-bottom: 7px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; font-weight: normal; line-height: 19px;&quot;&gt;Ok. I know that you probably know how to compile code using gcc. You use something like following command:&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;main&quot; style=&quot;color: #222222; font-family: &#39;Lucida Grande&#39;, &#39;Lucida Sans Unicode&#39;, Helvetica, Arial, sans-serif; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;gcc -Wall -g input_filename.c -o output_filename&lt;/code&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;OR&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;gcc -Wall -c -g input_filename.c&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;gcc -Wall -o output_filename input_filename.c&lt;/code&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Right? Ok. RTFM for more details.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;The above compile command is really easy and works on Linux, BSD, Unix, Windows etc. On Linux/BSD/Unix, compiling code that uses some library is not so difficult and (almost?) same across different distributions (Makefiles exist to ease the compile/build process). But on Windows, it’s a bit different. Personally, it took me more than half an hour and help of fine folks at #mingw (at irc.freenode.net) to understand how to compile a C program that uses some library.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;In this post, I’ll take&amp;nbsp;&lt;a href=&quot;http://curl.haxx.se/libcurl/&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;libcurl&lt;/a&gt;&amp;nbsp;as an example to illustrate compiling a C program that uses some library. libcurl is the multiprotocol file transfer library.&lt;br /&gt;
For this post, we will try compiling and building (an executable) using following example code:&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Source:&amp;nbsp;&lt;a href=&quot;http://curl.haxx.se/libcurl/c/simple.html&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;http://curl.haxx.se/libcurl/c/simple.html&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;#include &amp;lt;curl/curl.h&amp;gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;int main(void)&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;{&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;// Source: http://curl.haxx.se/libcurl/c/simple.html&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;CURL *curl;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;CURLcode res;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;curl = curl_easy_init();&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;if(curl) {&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;curl_easy_setopt(curl, CURLOPT_URL, &quot;curl.haxx.se&quot;);&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;res = curl_easy_perform(curl);&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;/* always cleanup */&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;curl_easy_cleanup(curl);&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;}&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;return 0;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;NOTE: Download and extract&amp;nbsp;&lt;a href=&quot;http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zip&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;this&lt;/a&gt;&amp;nbsp;to C:\ so that your directory structure should look like:&lt;br /&gt;
&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;C:\libcurl-7.19.3-win32-ssl-msvc\lib\Release&lt;/code&gt;&lt;br /&gt;
More libcurl downloads are&amp;nbsp;&lt;a href=&quot;http://curl.haxx.se/download.html&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Let me start with the command that is the ultimate purpose of this post (i.e. to compile C code on Windows that uses some library). Here:&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;gcc main.o -o test_binary -LC:\libcurl-7.19.3-win32-ssl-msvc\lib\Release -lcurllib&lt;/code&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Here are details of various command line arguments (in order) in above command:&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#1.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;gcc&lt;/strong&gt;: The first command line argument, ‘gcc’, is the name of compiler.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#2.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;main.o&lt;/strong&gt;: The second argument, ‘main.o’, is the name of object file input to compiler that was previously compiled from source code using:&lt;br /&gt;
&lt;code style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;gcc -Wall -c -g main.c&lt;/code&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#3.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-o&lt;/strong&gt;: The third argument, ‘-o’, specifies that the argument immediately following this argument is the name of output binary executable, as per the needs of the programmer (or the person who is compiling the code). Also, see #4 that follows.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#4.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;test_binary&lt;/strong&gt;: The fourth argument, ‘test_binary’, is the name of output binary executable, as per the needs of the programmer (or the person who is compiling the code). This is bind to ‘-o’ command line argument and should immediately follow it. Also, see #3 that precedes.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#5.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-LC:\libcurl-7.19.3-win32-ssl-msvc\lib\Release&lt;/strong&gt;: Now comes the real part (Pause here and remind yourself the actual purpose of this post). The fifth argument, ‘-L’, specifies that the string appended to -L flag/option is the directory that should be searched for library files specified by ‘-l’ flag (Also, see #6 that follows). Mind you, there is *no* space between the option flag (-L) and the library directory name.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;#6.&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;-lcurllib&lt;/strong&gt;: The sixth argument, ‘-l’, tells linker that the string appended to -l option flag is the library that is to be searched for unresolved symbols when linking. The actual file will be something like either lib&lt;em style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;mylib.a&lt;/em&gt;or&amp;nbsp;&lt;em style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;mylib.lib&lt;/em&gt;&amp;nbsp;or something similar (@experts: right?).&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;I must confess here that I’m still unable to use makefiles *on windows* to automate the process of compiling and building (though I tried only for less than 1 hour). Manual compiling is surely cumbersome, but who cares&amp;nbsp;&lt;img alt=&quot;:D&quot; class=&quot;wp-smiley&quot; src=&quot;http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif?m=1245898221g&quot; style=&quot;border-bottom-color: rgb(221, 221, 221); border-bottom-style: none; border-bottom-width: 2px; border-color: initial; border-left-color: rgb(221, 221, 221); border-left-style: none; border-left-width: 2px; border-right-color: rgb(221, 221, 221); border-right-style: none; border-right-width: 2px; border-top-color: rgb(221, 221, 221); border-top-style: none; border-top-width: 2px; border-width: initial; margin-bottom: 0px; margin-left: 5px; margin-right: 5px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&amp;nbsp;I very rarely compile my code on Windows and so, I’ll get past this hurdle too sometime in future when I get some free time. And, maybe I’ll do a blogpost on it too.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;That’s it. I guess that you get it. If you still have questions/problems, you can try following:&lt;br /&gt;
1. Get help from #mingw (irc.freenode.net).&lt;br /&gt;
2. RTFM.&amp;nbsp;&lt;a href=&quot;http://gcc.gnu.org/onlinedocs/&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;http://gcc.gnu.org/onlinedocs/&lt;/a&gt;&lt;br /&gt;
3. Stanford’s&amp;nbsp;&lt;a href=&quot;http://cslibrary.stanford.edu/107/UnixProgrammingTools.pdf&quot; style=&quot;color: #004477; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: underline;&quot;&gt;Unix Programming Tools&lt;/a&gt;&amp;nbsp;contains some useful information (It’s really useful, even if it is for Unix. Read it.).&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;PS: In case you get ‘XYZ.dll not found’ error when running the executable, just find the right DLL(s) [on the internet] that are missing and put them in same directory that contains the binary executable. Easy, isn’t it?&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1245898221g&quot; style=&quot;border-bottom-color: rgb(221, 221, 221); border-bottom-style: none; border-bottom-width: 2px; border-color: initial; border-left-color: rgb(221, 221, 221); border-left-style: none; border-left-width: 2px; border-right-color: rgb(221, 221, 221); border-right-style: none; border-right-width: 2px; border-top-color: rgb(221, 221, 221); border-top-style: none; border-top-width: 2px; border-width: initial; margin-bottom: 0px; margin-left: 5px; margin-right: 5px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/3816933867200864419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/01/how-to-compile-c-code-using-gcc-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/3816933867200864419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/3816933867200864419'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/01/how-to-compile-c-code-using-gcc-on.html' title='How to compile C code using gcc on windows (Reference from Amber Jain&#39;s Blog)'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-1393756716139104731</id><published>2011-01-21T17:59:00.002-06:00</published><updated>2011-01-21T18:01:26.746-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="classes"/><category scheme="http://www.blogger.com/atom/ns#" term="fencing"/><title type='text'>My classes for spring 2011 (last semester as an Undergraduate ECE student)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 14px;&quot;&gt;This is my final schedule as an undergraduate at UT. I am personally&amp;nbsp;extremely&amp;nbsp;excited about this semester. I absolutely love all the professors that are teaching my classes this semester! They actually know how to teach and keep me interested. They will be hard classes, but I expect to learn alot. Why couldn&#39;t every single professor each semester be like this group? I am even psyched about probability!?!?!?&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 14px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQU0AcANW2FdlmD8lpKgkI_yW6rOD9J8gBGSwz4dH3eXPlQndWOCWx2c-aRhhDfIrdLNQybF-qh8jOJKxoYTm6sTlTn-CYqRpTzqG-ilrLH7tujpQPymY8jL2Wmd8xMFD877rMcl9Yq96/s1600/My+Spring+2011+Class+Schedule.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQU0AcANW2FdlmD8lpKgkI_yW6rOD9J8gBGSwz4dH3eXPlQndWOCWx2c-aRhhDfIrdLNQybF-qh8jOJKxoYTm6sTlTn-CYqRpTzqG-ilrLH7tujpQPymY8jL2Wmd8xMFD877rMcl9Yq96/s640/My+Spring+2011+Class+Schedule.jpg&quot; width=&quot;540&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Plus, I get to learn fencing! Yay! Super-classy, huh?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIgRBkfSKQD5idqyfMs4tyyGIr-a2R0QyNTL3Po91Bbv3WNjf_q0q5NQLhkJsqxGN9Ob100gnnTQvTiKlD3OJNFSASEg5PYcZaHny0KG5hPF2mt_TFgW3Z8FU4EVzSYDj_FeeZpoXct6Z/s1600/_44153992_fencing_416_ap.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIgRBkfSKQD5idqyfMs4tyyGIr-a2R0QyNTL3Po91Bbv3WNjf_q0q5NQLhkJsqxGN9Ob100gnnTQvTiKlD3OJNFSASEg5PYcZaHny0KG5hPF2mt_TFgW3Z8FU4EVzSYDj_FeeZpoXct6Z/s320/_44153992_fencing_416_ap.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Yesterday, I bought these items form www.blue-gauntlet.com ! I can&#39;t wait for them to come in. Fencing is an amazing sport.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrC5v-trZun0Qjrz0k0x7XFyaxUvKOjPxoSv39NwsrkjRxwe95oqPgDGeeVOZrF7ym6Ji_KWpWwjOeX00V9XfY5F4WDIiV_59p41nrP8CTiO4F5a7XW10surMj8lmitTTAkmTETyRM4Dex/s1600/bgpaddedfrontzipperunisexjacket.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrC5v-trZun0Qjrz0k0x7XFyaxUvKOjPxoSv39NwsrkjRxwe95oqPgDGeeVOZrF7ym6Ji_KWpWwjOeX00V9XfY5F4WDIiV_59p41nrP8CTiO4F5a7XW10surMj8lmitTTAkmTETyRM4Dex/s320/bgpaddedfrontzipperunisexjacket.jpg&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;a href=&quot;http://www.blue-gauntlet.com/store/products/259&quot;&gt;http://www.blue-gauntlet.com/store/products/259&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMmFcJI9z12mf7w-VrACpp0KdKlNHgjXEm_B7r8OT02RmwD0pJb6hOAAdlIwlzrWW61Gp5rbohGy-DvWeA-sTGV_84H4EU14XJtWDGaHhjDTj8tueL_weivHd-Wy3KPoUyG6teNirwtxTJ/s1600/gloves.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMmFcJI9z12mf7w-VrACpp0KdKlNHgjXEm_B7r8OT02RmwD0pJb6hOAAdlIwlzrWW61Gp5rbohGy-DvWeA-sTGV_84H4EU14XJtWDGaHhjDTj8tueL_weivHd-Wy3KPoUyG6teNirwtxTJ/s320/gloves.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.blue-gauntlet.com/store/products/291&quot;&gt;http://www.blue-gauntlet.com/store/products/291&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/1393756716139104731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/01/my-classes-for-spring-2011-last.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1393756716139104731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1393756716139104731'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2011/01/my-classes-for-spring-2011-last.html' title='My classes for spring 2011 (last semester as an Undergraduate ECE student)'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQU0AcANW2FdlmD8lpKgkI_yW6rOD9J8gBGSwz4dH3eXPlQndWOCWx2c-aRhhDfIrdLNQybF-qh8jOJKxoYTm6sTlTn-CYqRpTzqG-ilrLH7tujpQPymY8jL2Wmd8xMFD877rMcl9Yq96/s72-c/My+Spring+2011+Class+Schedule.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-1395699197306275648</id><published>2010-12-26T21:20:00.000-06:00</published><updated>2010-12-26T21:20:42.515-06:00</updated><title type='text'>TF2 Map Making: What Makes a Good Map?</title><content type='html'>Recently, I have been investigating how to create a good map in Team Fortress 2 (TF2) . I found a few good tutorials on You Tube -&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;How to build a TF2 map Part 1:&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/watch?v=wO9lNXcE3Tw&amp;amp;feature=related&quot;&gt;http://www.youtube.com/watch?v=wO9lNXcE3Tw&amp;amp;feature=related&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PHA4T3&#39;s How to Make Maps for TF2 Tutorials (Playlist):&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/watch?v=wQeqVSrAsf0&amp;amp;playnext=1&amp;amp;list=PL05E839C5D915EEBD&amp;amp;index=4&quot;&gt;http://www.youtube.com/watch?v=wQeqVSrAsf0&amp;amp;playnext=1&amp;amp;list=PL05E839C5D915EEBD&amp;amp;index=4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Below you can find some hints that Ubercharge.net talks about how to create a good map here (&lt;a href=&quot;http://www.ubercharged.net/2008/11/14/tf2-design-theory-what-makes-a-good-map/&quot;&gt;http://www.ubercharged.net/2008/11/14/tf2-design-theory-what-makes-a-good-map/&lt;/a&gt;).&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;h2 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.ubercharged.net/2008/11/14/tf2-design-theory-what-makes-a-good-map/&quot; rel=&quot;bookmark&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot; title=&quot;Permanent Link to TF2 Design Theory: What makes a good map?&quot;&gt;TF2 Design Theory: What makes a good map?&lt;/a&gt;&lt;/h2&gt;&lt;div class=&quot;byline&quot; style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; font-weight: bold; line-height: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;by&amp;nbsp;&lt;a href=&quot;http://www.ubercharged.net/author/himmelstoss/&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot; title=&quot;Posts by himmelstoss&quot;&gt;himmelstoss&lt;/a&gt;&amp;nbsp;on November 14th 2008&lt;/div&gt;&lt;div class=&quot;entry&quot; style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;div class=&quot;avatar-box&quot; style=&quot;float: left; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;avatar avatar-64 photo&quot; height=&quot;64&quot; src=&quot;http://www.gravatar.com/avatar/bf5d862f4ed9e9721446973f468b4b6a?s=64&amp;amp;d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D64&amp;amp;r=X&quot; style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; border-width: initial; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; margin-bottom: 5px; margin-left: 5px; margin-right: 5px; margin-top: 5px;&quot; width=&quot;64&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Not all maps are created equal. Even among the high-quality Valve maps, there are winners, like&amp;nbsp;&lt;a href=&quot;http://www.ubercharged.net/2008/06/11/damn-i-really-love-dustbowl/&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;Dustbowl&lt;/a&gt;, and there are absolute failures, like&amp;nbsp;&lt;a href=&quot;http://www.ubercharged.net/2008/08/08/why-cant-2fort-just-die/&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;2fort&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Something sets the best maps apart from the mundane, and it isn’t the blessing of the Almighty Train God, either.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;It’s teamwork. Teamwork is undoubtedly the most important aspect of good maps. Let me repeat: it’s all about encouraging teamwork.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;A map that encourages teamwork ensures that all (or most) classes can contribute wholly to the team’s offense or defense. This is the biggest shortcoming of symmetrical CTF and CP maps. If a team has to simultaneously worry about attacking and defending, the team splits: the engineers hole up in their bases building impenetrable sentry nests while the rest of the team blindly rushes the other side. Rather than focusing its entire manpower on pushing forward, the team needs to leave a few people behind to defend against the threat of a single scout or spy far behind their lines. The very idea of the game being called&amp;nbsp;&lt;em style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;strong style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;Team&lt;/strong&gt;&amp;nbsp;&lt;/em&gt;Fortress 2 fails.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Let me qualify – there are excellent symmetrical maps out there, and there are terrible attack/defend maps, too. I’m only drawing attention to the fact that symmetrical maps require a team to split offensive and defensive responsibilities – as a result, an&amp;nbsp;&lt;em style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;entire&lt;/em&gt;&amp;nbsp;team cannot be involved in an offensive push, even if the team is winning.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Assault maps, however, avoid that problem entirely by ensuring that all players on a team are focused solely on either offense or defense. The remainder of this post will focus on assault map theory, but most of what I’m writing can be applied to symmetrical maps as well.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Teamwork in assault maps&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;The best fun maps tend to emphasize teamwork. Generally, this means creating a challenge formidable enough that an entire team must work together to win. This helps discourage deathmatch players – solo players rarely stand a chance against an entire team.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;CASE STUDY: Gravelpit B&lt;/h3&gt;&lt;div class=&quot;mceTemp&quot; style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;dl class=&quot;wp-caption alignnone&quot; id=&quot;attachment_3509&quot; style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; width: 610px;&quot;&gt;&lt;dt class=&quot;wp-caption-dt&quot; style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/gravelpit_roof_01.jpg&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;&lt;img alt=&quot;Gravel pit Roof&quot; class=&quot;size-medium wp-image-3509&quot; height=&quot;375&quot; src=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/gravelpit_roof_01-600x375.jpg&quot; style=&quot;border-bottom-color: rgb(153, 0, 0); border-bottom-style: dashed; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; padding-bottom: 3px;&quot; title=&quot;gravelpit_roof_01&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;/dl&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Let’s admit that Gravelpit doesn’t have the greatest rapport with players, and the statistics show that it isn’t even being played the way it was intended. Most defensive teams abandon point A, focusing on an strong defense at point B. It may just be because of this attitude that Gravelpit has a 55% win rate for BLU. Who knows.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Nevertheless, Gravelpit is one of the most perfectly designed maps I’ve ever played. It’s probably the only fun official map that represents each class perfectly; it’s also very well balanced.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Capture point B can be attacked from between 2 and 3 sides: the attackers can attack from behind using the C route and through the two main routes from the spawn. It’s more or less open – making it good for snipers, soldiers, and scouts; but it has only small healthpacks (pyros and medics thus carry a lot of weight here). There are enough dark and/or out of the way places for spies to (de)cloak and disguise, especially under the ramp at the C connecting tunnel. Heavies are very effective here, because there are enough short-to-medium-range firefights that occur here. Finally, the roof is accessible to only scouts, soldiers and demomen; however, the lack of health packs up there make them rather vulnerable. The windows of the building allow demomen to make a good effort to destroy the inevitable sentries inside.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Thus, every single class is well represented here. Moving on to teamwork – offensive pushes here need support. Standing out in the open areas of this zone is signing a death sentence unless one is well-supported by the rest of the team (snipers will have their dots trained on you, sentries will be targeting you, and let’s not forget the pyros that will inevitably show up to ruin your sentry-clearance operation).&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;B is protected against solocaps by a very long control point timing. In addition, the long control point timing means that the players inside the building capturing the point need to be able to stage a quick defense (hold the point) against a RED onslaught. When inside the building, attack can come from anywhere – even from above! Capturing Gravelpit B is a difficult ordeal, requiring almost complete control of the entire B zone. Clearly, only a determined team effort (or a terrible defense by a RED team that, admittedly, does not have much teamwork) can allow BLU to win this capture point.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Alternate routes&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Of course, encouraging teamwork isn’t everything; in addition, teamwork is also a very intangible quality. As a result, let’s move to a more concrete level. Another common feature between all of the best maps: the presence of alternate routes.This theoretically should decrease frustration for both teams. It also allows scouts and spies to be much more effective, by giving them different routes to sneak behind enemy lines with. Finally, it allows a team the element of surprise: attacking through unexpected and undefended routes can be crippling to a poor defense.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;No one is safe&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;To prevent the defense from entrenching themselves too deeply, it is essential that the defense is vulnerable at all times. This goes without saying, obviously, but unless someone is in the spawn, they should never be safe – if they are at a place inaccessible to the other team / other classes, but where they can still attack the enemy, there should be no cover. Essentially, the layout of a map must keep everyone wary of their surroundings.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;CASE STUDY: Goldrush, Final Stage&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;OK, I admit it. Goldrush has nothing on Gravelpit in terms of game balance and equal class representation – RED wins this map almost 80% of the time, after all. At the same time, it’s one ridiculously fun map. I’ve almost certainly spent more time on Goldrush than any other map.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Goldrush, despite its shortcomings, is great for teamwork, because that’s essentially the only way for BLU to win. Based on my experience, it takes more than a heroic team effort from BLU to win the notoriously lopsided first stage.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/pl_goldrush00172.jpg&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-3524&quot; height=&quot;450&quot; src=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/pl_goldrush00172-600x450.jpg&quot; style=&quot;border-bottom-color: rgb(153, 0, 0); border-bottom-style: dashed; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; padding-bottom: 3px;&quot; title=&quot;pl_goldrush00172&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;em style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;RANDOM: Ribozyme – now that’s a nerdy, yet classy name. Bio nerds like me rejoice.&lt;/em&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;But, anyway, let’s skip over to the final capture point. Firstly, the green circle denotes an alternate route. Sadly, hardly anyone actually ends up using this route offensively, despite the fact that a strong offensive push there can absolutely destroy defense. Nevertheless – it provides a fantastic way for spies to slip past the inevitable rocket/grenade/bullet spam clogging the main cart route. Also, it provides a great place for offensive engineers to build forward bases. Trust me on this one, it’s a killer tactic for the last stage – setting up a strong offensive base in that area and maintaining it will increase the BLU team’s chances of winning tenfold.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Having no direct connection to the ground, BLU would definitely find it hard to get up to the sniper deck, and the narrow path into the last zone gives BLU snipers a very narrow view of the deck. However, snipers are far from invulnerable here. The discrete pile of rubble (circled in red) allows spies to sneak up to the sniper deck and wreak havoc. (I once got accused of hacking because I dominated an engineer who repeatedly tried to build up there).&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Aesthetics!&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;There is a reason why this map…&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/83332.jpg&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-3528&quot; height=&quot;393&quot; src=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/83332-600x393.jpg&quot; style=&quot;border-bottom-color: rgb(153, 0, 0); border-bottom-style: dashed; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; padding-bottom: 3px;&quot; title=&quot;83332&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;em style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;(I’m very sorry to bash your map here, whoever made this, but it admittedly isn’t too great).&lt;/em&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;…doesn’t hold a candle to this map (&lt;a href=&quot;http://www.mrmof.com/?page_id=9#cp_boulder&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;cp_boulder_v3&lt;/a&gt;&amp;nbsp;by mapper&amp;nbsp;&lt;a href=&quot;http://www.mrmof.com/&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;MrMof&lt;/a&gt;).&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.mrmof.com/?page_id=9#cp_boulder&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-3529&quot; height=&quot;300&quot; src=&quot;http://www.ubercharged.net/wp-content/uploads/2008/11/boulder_02.jpg&quot; style=&quot;border-bottom-color: rgb(153, 0, 0); border-bottom-style: dashed; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; padding-bottom: 3px;&quot; title=&quot;boulder_02&quot; width=&quot;568&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Aesthetics are a very important part of TF2. After all, most of the charm of the game comes from the cartoony characters and landscapes. It just happens that maps that don’t look good or fit the style of TF2 just aren’t as fun to play. I’m not too fond of some of the community maps, being a total attack/defend junkie myself. However, all of the popular community maps use the TF2 style and use it well. CP_Boulder uses it very skillfully, which is just one of the reasons I’m so fond of the map. CP_Steel also stays in the TF2 style, despite its very unique gameplay mechanics.&lt;/div&gt;&lt;h3 style=&quot;border-bottom-color: rgb(244, 244, 244); border-bottom-style: solid; border-bottom-width: 1px; color: #444444; font-family: Georgia, Verdana, serif; font-size: 1.8em; font-weight: normal; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Conclusion&lt;/h3&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;The game isn’t called Solo Fortress, is it? Teamwork is an integral part of TF2, and probably the most important aspect of any map. Alternate routes to an objective help keep a map moving and facilitate teamwork by allowing all classes to participate – as opposed to bottlenecks, where only combat classes can be of use. Finally, aesthetics play a very important role in the fun factor of a map. Generally, maps that look good are far more immersive than badly styled maps.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;Of course, these are by no means the only things that give substance to a map. It’s up to you to find out what makes TF2 tick and keep that in mind next time you’re in Hammer.&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; line-height: 20px; margin-bottom: 10px;&quot;&gt;&lt;em style=&quot;font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif;&quot;&gt;With that said, I really encourage you to try out cp_boulder when you can. It’s on our rotation at the&lt;a href=&quot;http://www.ubercharged.net/tf2-server/&quot; style=&quot;color: #cc0000; font-family: Verdana, &#39;Trebuchet MS&#39;, Arial, Helvetica, sans-serif; text-decoration: none;&quot;&gt;ubercharged.net TF2 server&lt;/a&gt;.&lt;/em&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/1395699197306275648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/tf2-map-making-what-makes-good-map.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1395699197306275648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1395699197306275648'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/tf2-map-making-what-makes-good-map.html' title='TF2 Map Making: What Makes a Good Map?'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-567739492218104230</id><published>2010-12-26T01:54:00.002-06:00</published><updated>2010-12-26T01:57:12.417-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cure for the Needy"/><category scheme="http://www.blogger.com/atom/ns#" term="Django"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Adventures in the Land of Python!</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;htttp://www.cureforneedy.org&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;124&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv4LOtvUn_jEvl8xLMrfDvANjN0wFOT-IlEwG81q1g1FAUSuOalrJiuQgxNZjbz298c1lSVRtqkuuzMvy8Tle-frR0ZopKBzraKKqCwG8Kj5C4QKVEyEvxGyXptdaqqO1HGlXJiE_6q8Td/s640/cftn.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I recently was invited to work on a pro-bono project (created by a Chemist Professor @ Rice) with several colleges from UT Business School &amp;amp; Computer Science, called Cure for the Needy. I am assisting in developing a Python/Django website for chemist&#39;s all over the world; hence, providing the users a method to collaborate on molecule synthesis creation. The website&#39;s purpose is to generate new and cheaper solutions so that&amp;nbsp;pharmaceuticals&amp;nbsp;can produce needed drugs for&amp;nbsp;diseases. Project website is found here:&amp;nbsp;&lt;a href=&quot;http://www.cureforneedy.org/&quot;&gt;http://www.cureforneedy.org/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
This is a great learning opportunity for me because I have very little to no&amp;nbsp;knowledge&amp;nbsp;in either of these two languages (Python &amp;amp; Django). I have recently been considering going into the game development field upon graduation from UT. Here I hope to get some&amp;nbsp;experience&amp;nbsp;in the artificial&amp;nbsp;intelligence&amp;nbsp;realm&amp;nbsp;of computing.&lt;br /&gt;
&lt;br /&gt;
Here are some great&amp;nbsp;resources&amp;nbsp;found for Python:&lt;br /&gt;
&lt;div style=&quot;border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;ul&gt;&lt;li&gt;UT CS Python Class:&amp;nbsp;&lt;a href=&quot;http://www.cs.utexas.edu/users/mitra/csFall2009/cs303/cs303.html&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;http://www.cs.utexas.edu/&lt;wbr&gt;&lt;/wbr&gt;users/mitra/csFall2009/cs303/&lt;wbr&gt;&lt;/wbr&gt;cs303.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cs.utexas.edu/users/mitra/csFall2009/cs303/cs303.html&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;Google code exercises:&amp;nbsp;&lt;a href=&quot;http://code.google.com/edu/languages/google-python-class/set-up.html&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;http://code.google.com/&lt;wbr&gt;&lt;/wbr&gt;edu/languages/google-python-&lt;wbr&gt;&lt;/wbr&gt;class/set-up.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My friend&#39;s collection of Python E-books:&amp;nbsp;&lt;a href=&quot;http://www.andreid.com/storage/python/&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;http://www.andreid.com/&lt;wbr&gt;&lt;/wbr&gt;storage/python/&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Invent with Python&lt;/li&gt;
&lt;li&gt;Learning Python (4 edition)&lt;/li&gt;
&lt;li&gt;Natural Language Processing&lt;/li&gt;
&lt;li&gt;Next-Generation Web Frameworks with Python&lt;/li&gt;
&lt;li&gt;Python 2.6 Quick Reference&lt;/li&gt;
&lt;li&gt;Python Cheat Sheet&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Dive into Python (excellent resource):&amp;nbsp;&lt;a href=&quot;http://www.diveintopython.org/&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;http://www.diveintopython.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.diveintopython.org/&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;Python website:&amp;nbsp;&lt;a href=&quot;http://www.python.org/doc/&quot; style=&quot;color: #114170;&quot; target=&quot;_blank&quot;&gt;http://www.python.org/doc/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;
I have&amp;nbsp;experience&amp;nbsp;in several programming languages: C,C++,Java, asymbly, VHDL, HTML ... After a few days with Python, I am quickly coming to the realization that this language is undoubtedly one of the most powerful and easy-to-use languages that I have come across yet.</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/567739492218104230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/adventures-in-land-of-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/567739492218104230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/567739492218104230'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/adventures-in-land-of-python.html' title='Adventures in the Land of Python!'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv4LOtvUn_jEvl8xLMrfDvANjN0wFOT-IlEwG81q1g1FAUSuOalrJiuQgxNZjbz298c1lSVRtqkuuzMvy8Tle-frR0ZopKBzraKKqCwG8Kj5C4QKVEyEvxGyXptdaqqO1HGlXJiE_6q8Td/s72-c/cftn.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-1089931730020344173</id><published>2010-12-07T12:33:00.000-06:00</published><updated>2010-12-07T12:33:01.299-06:00</updated><title type='text'>Open Source Software Helps Computers Use Graphics Chips for General Processing</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-WmS4Ilrq2W1r0IpKCUKx5SYORNaxBXipTmAEL3G1nEfCnDxwfVwGBoDzzXwF0FLBSp6HW5QCgtPkf1tkxML4osUknMrI2YE1lYNsRhdzpmkWqoKTVHRnS5hWuPLICauXFl7U8RE5n8xw/s1600/CMG_1210_0028.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-WmS4Ilrq2W1r0IpKCUKx5SYORNaxBXipTmAEL3G1nEfCnDxwfVwGBoDzzXwF0FLBSp6HW5QCgtPkf1tkxML4osUknMrI2YE1lYNsRhdzpmkWqoKTVHRnS5hWuPLICauXFl7U8RE5n8xw/s640/CMG_1210_0028.jpg&quot; width=&quot;466&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Just in case you cannot read the picture above from the IEEE Computer magazine, December 2010.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;An Academic research team has developed an open source software tool that lets computers use the processing power of graphics processing units for purposes other than rendering and manipulating images.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;North Carolina State University scientists are continuing to work on their optimizing compiler tool, which would let developers write simple application code without needing to know how to program specifically for GPUs.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;In essence, the tool takes an application and translates it into another program that does the same thing, more&amp;nbsp;efficiently&amp;nbsp;on a GPU. Computers use GPUs to generate the complex, data-intensive graphics seen in games, virtual reality, data visualization, and other applications, explained North Carolina State associate professor Huiyang Zhou.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;GPUs are much better than CPUs at vector processing-- handling mulitple sets of numeric operations on large arrays of structured data in parallel, explained Nathan Brookwood, Research Fellow with market-analysis firm Insight 64. They can thus offer considerably more performance than CPUs.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Generally, mainstream general-purpose CPUs offer a peak performance between 20 and 150 Gflops, while mainstream GPUs perform between 500 and 1,500 Gflogs, he said.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;GPUs have been used to accelerate general programs for several years, and researchers are looking for ways to improve the process. The chips are fast in part because they process data in parallel. They thus mus work with applications written to compute this way.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A key challenge is managing parallelism so that the chips stay busy by&amp;nbsp;efficiently&amp;nbsp;handling&amp;nbsp;various threads they work with. Also challenging, are the effective use of on-chip and off-chip memory, and the even distribution of off-chip memory access to avoid over using memory controllers while leaving others idle.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Zhou&#39;s tool compiles the application code optimally to both manage parallelism and&amp;nbsp;efficiently&amp;nbsp;utilize GPU memory. It enables a single memory access to load what would otherwise be multiple memory accesses, which makes data loading quicker and more&amp;nbsp;efficient, thereby improving performance.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;The tool then checks the code to&amp;nbsp;determine&amp;nbsp;if it can handle high-performance memory features such as memory coalescing, which lets a GPU&amp;nbsp;efficiently&amp;nbsp;handle memory-access requests from multiple threads in a single process. If so, the tool recompiles the code so that it can implement these features. It subsequently determines&amp;nbsp;whether&amp;nbsp;data can be reused within and across threads. If so, the tool stores data in on-chip shared memory for fast reuse.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Finally, Zhou explained, the tool recompiles the code so that when system accesses off-chip memory, the accesses are evenly and&amp;nbsp;efficiently&amp;nbsp;distributed&amp;nbsp;among&amp;nbsp;multiple memory controllers.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Zhou said tests by his research team showed that programs automatically translated by the new tool operated more&amp;nbsp;efficiently&amp;nbsp;than those manually optimized.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Brookwood said the North Carolina State tool works similarly to Nvidia&#39;s CUDA and AMD&#39;s ATI Stream Technology, proprietary applications that enable GPUs to accelerate genreral-computing operations. It&amp;nbsp;appears&amp;nbsp;that Zhou&#39;s technique optimizes code more aggressively, he noted. Also, because the approach is not proprietary, it works with any hardware platform.&lt;/div&gt;&lt;br /&gt;
According to Zhou, his approach is more efficient because it yields&amp;nbsp;optimized&amp;nbsp;code that is better at parallelism&amp;nbsp;management&amp;nbsp;and memory utilization.&lt;br /&gt;
&lt;br /&gt;
He said he eventually plans to release his tool as open source software.</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/1089931730020344173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/open-source-software-helps-computers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1089931730020344173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/1089931730020344173'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/open-source-software-helps-computers.html' title='Open Source Software Helps Computers Use Graphics Chips for General Processing'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-WmS4Ilrq2W1r0IpKCUKx5SYORNaxBXipTmAEL3G1nEfCnDxwfVwGBoDzzXwF0FLBSp6HW5QCgtPkf1tkxML4osUknMrI2YE1lYNsRhdzpmkWqoKTVHRnS5hWuPLICauXFl7U8RE5n8xw/s72-c/CMG_1210_0028.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-2290490346414435026</id><published>2010-12-05T05:27:00.000-06:00</published><updated>2010-12-05T05:30:21.703-06:00</updated><title type='text'>Freakonomics Trailer</title><content type='html'>This is one of the books I want to read-- &lt;i&gt;Freakonomics (&lt;/i&gt;2005 non-fiction book) from authors Steven D. Levitt and Stephen J. Dubner. Yes, I have been in the engineering game for awhile. Sometimes you just loose site of the little-things, like economics. Economics, is the founding factor on which our nation is based upon (capitalism). &lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Wikipedia gives the following overview: &lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;The book is a collection of &#39;economic&#39; articles written by Levitt, an expert who has already gained a reputation for applying economic theory to diverse subjects not usually covered by &quot;traditional&quot; economists; he does, however, accept the standard &lt;a href=&quot;http://en.wikipedia.org/wiki/Neoclassical_economics&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Neoclassical economics&quot;&gt;neoclassical&lt;/a&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microeconomics&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Microeconomics&quot;&gt;microeconomic&lt;/a&gt; model of &lt;a href=&quot;http://en.wikipedia.org/wiki/Utility_maximization_problem&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Utility maximization problem&quot;&gt;rational utility-maximization&lt;/a&gt;. In&lt;i&gt;Freakonomics&lt;/i&gt;, Levitt and Dubner argue that economics is, at root, the study of incentives. The book&#39;s topics include:&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(http://bits.wikimedia.org/skins-1.5/vector/images/bullet-icon.png?1); list-style-type: square; margin-bottom: 0.5em; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;Chapter 1: Discovering cheating as applied to teachers and&lt;a href=&quot;http://en.wikipedia.org/wiki/Sumo&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Sumo&quot;&gt;sumo&lt;/a&gt; wrestlers (See below)&lt;/span&gt;&lt;/li&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Chapter 2: Information control as applied to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ku_Klux_Klan&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Ku Klux Klan&quot;&gt;Ku Klux Klan&lt;/a&gt;and real-estate agents&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Chapter 3: The economics of drug dealing, including the surprisingly low earnings and abject working conditions of&lt;a href=&quot;http://en.wikipedia.org/wiki/Crack_cocaine&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Crack cocaine&quot;&gt;crack cocaine&lt;/a&gt; dealers&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Chapter 4: &lt;a href=&quot;http://en.wikipedia.org/wiki/Legalized_abortion_and_crime_effect&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Legalized abortion and crime effect&quot;&gt;The controversial role legalized abortion may have played in reducing crime.&lt;/a&gt; (Levitt explored this topic in an earlier paper entitled &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Impact_of_Legalized_Abortion_on_Crime&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;The Impact of Legalized Abortion on Crime&quot;&gt;The Impact of Legalized Abortion on Crime&lt;/a&gt;.&quot;)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Chapter 5: The negligible effects of good parenting on education&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Chapter 6: The socioeconomic patterns of naming children&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;One example of the authors&#39; use of economic theory involves demonstrating the existence of cheating among sumo wrestlers. In a sumo tournament, all wrestlers in the top division compete in 15 matches and face demotion if they do not win at least eight of them. The sumo community is very close-knit, and the wrestlers at the top levels tend to know each other well. The authors looked at the final match, and considered the case of a wrestler with seven wins, seven losses, and one fight to go, fighting against an 8-6 wrestler. Statistically, the 7-7 wrestler should have a slightly below even chance, since the 8-6 wrestler is slightly better. However, the 7-7 wrestler actually wins around 80% of the time. Levitt uses this statistic and other data gleaned from sumo wrestling matches, along with the effect that allegations of corruption have on match results, to conclude that those who already have 8 wins collude with those who are 7-7 and let them win, since they have already secured their position for the following tournament.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;The authors attempt to demonstrate the power of &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_mining&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Data mining&quot;&gt;data mining&lt;/a&gt;. Many of their results emerge from Levitt&#39;s analysis of various databases, and asking the right questions. Authors posit that various incentives encourage teachers to cheat by assisting their students with multiple-choice &lt;a href=&quot;http://en.wikipedia.org/wiki/High-stakes_testing&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;High-stakes testing&quot;&gt;high-stakes tests&lt;/a&gt;. Such cheating in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chicago&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0645ad; text-decoration: none;&quot; title=&quot;Chicago&quot;&gt;Chicago&lt;/a&gt; school system is inferred from detailed analysis of students&#39; answers to multiple choice questions. But first Levitt asks, &quot;What would the pattern of answers look like if the teacher cheated?&quot; The simple answer: difficult questions at the end of a section will be more correct than easy ones at the beginning.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Recommended by some friends. I hope to check this book out over the winter break.&lt;br /&gt;
&lt;div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;295&quot; src=&quot;http://www.youtube.com/embed/ZfC-ZHJ4A5U?fs=1&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/2290490346414435026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/freakonomics-trailer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2290490346414435026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/2290490346414435026'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/freakonomics-trailer.html' title='Freakonomics Trailer'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/ZfC-ZHJ4A5U/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2822944888169132551.post-6220825745963629020</id><published>2010-12-03T18:55:00.000-06:00</published><updated>2010-12-03T19:03:13.730-06:00</updated><title type='text'>Testing the Waters of Game Design</title><content type='html'>Obviously, I enjoy a good game. In particular, I enjoy playing Team Fortress 2, Counter Strike, Star Craft 2, Left 4 Dead 2, or really anything.&lt;br /&gt;
&lt;br /&gt;
On my common server that I play on, 2Fort2Furious (&lt;a href=&quot;http://forums.2f2f.net/&quot;&gt;http://forums.2f2f.net/&lt;/a&gt;), some of the players have a particle effect around their hats.&amp;nbsp;Today, I had a crazy idea-- create new particles for hats for Team Fortress 2.This has already been done, however I do not know how to do it. So, my engineering reflexes kicked in--- and I Googled it.&lt;br /&gt;
&lt;br /&gt;
Here is some of my preliminary findings from FPSBANANA found here (&lt;a href=&quot;http://www.fpsbanana.com/tuts/10318&quot;&gt;http://www.fpsbanana.com/tuts/10318&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&lt;u&gt;How to Test Out Particle Effects on Any Hat (that you own)!&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Tools:&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;GCFScape or GCFExplorer&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;Notepad, Notepad++ or any other .txt editor&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;Team Fortress 2&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;Basic knowledge&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Steps:&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;1. Open up GCFScape and navigate to your Steam\steamapps directory.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;2. Open &quot;team fortress 2 content.gcf&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;3. Within the GCF, navigate to tf\scripts\items and extract items_game.txt somewhere. Preferably somewhere that&#39;s easy to access (like your desktop).&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;4. Open up items_game.txt with your text editor.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;5. Use ctrl + F to find a hat you&#39;d like to make unusual.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;6. Add the following line to it:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&quot;attributes&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&quot;attach particle effect&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&quot;attribute_class&quot; &quot;set_attached_particle&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&quot;value&quot; &quot;10&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;} &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;7. Substitute the &quot;10&quot; with the value of the particle you want to be used.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;1 = burningplayer_red&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;2 = burningplayer_flyingbits&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;3 = particle_nemesis_burst_blue&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;4 = community_sparkle (given to community contributor&#39;s weapons)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;5 = halopoint (the glow used on the Cheater&#39;s Lament)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;6 = superrare_confetti_green (Green Confetti unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;7 = superrare_confetti_purple (Purple Confetti unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;8 = superrate_ghosts (Ghosts unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;9 = superrare_greenenergy (Green Energy unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;10 = superrare_purpleenergy (Purple Energy unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;11 = superrare_circling_tf (Circling Logo unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;12 = superrare_flies (Flies unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;13 = superrare_burning1 (Burning Flames unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;14 = superrare_burning2 (Scorching Flames unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;15 = superrare_plasma1 (Searing Plasma unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;16 = superrare_plasma2 (Vivid Plasma unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;17 = superrare_beams1 (Sunbeams unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;18 = superrare_circling_peacesign (Peace Sign unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;19 = superrare_circling_hearts (Circling Heart unusual effect)&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;8. Save the resulting file in your Steam\steamapps\stevethegamerist\team fortress 2\tf\scripts\items directory.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;9. Boot up TF2 and try it out! It only works in offline mode, obviously. But you can check out how different hats look like!&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;10. This can also be used to apply effects to weapons in thirdperson (not on viewmodels)! Awesome!&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Also, here are some pictures of the process...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://image.fpsbanana.com/ss/tuts/10318a.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;491&quot; src=&quot;http://image.fpsbanana.com/ss/tuts/10318a.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://image.fpsbanana.com/ss/tuts/10318b.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;524&quot; src=&quot;http://image.fpsbanana.com/ss/tuts/10318b.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://image.fpsbanana.com/ss/tuts/10318c.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;473&quot; src=&quot;http://image.fpsbanana.com/ss/tuts/10318c.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, Georgia, san-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://explorecuriousminds.blogspot.com/feeds/6220825745963629020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/testing-waters-of-game-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/6220825745963629020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2822944888169132551/posts/default/6220825745963629020'/><link rel='alternate' type='text/html' href='http://explorecuriousminds.blogspot.com/2010/12/testing-waters-of-game-design.html' title='Testing the Waters of Game Design'/><author><name>charis poag</name><uri>http://www.blogger.com/profile/12451887135547187739</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp-dozKY1L6K7kz28RRdcEcnm4Dv2zMUGAPCum9eYwQ57UmexgplF5-PdmxscJ2KqaPXg0IipSmfhZkn_hdLA5GhHHi6FEwtIb37EGe_pmQZH5iCCbnhljITIr9Hn3NM/s220/46467_10150239898600051_507910050_14442899_7181986_n.jpg'/></author><thr:total>0</thr:total></entry></feed>