<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.csclub.uwaterloo.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ssalbiz</id>
	<title>CSCWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.csclub.uwaterloo.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ssalbiz"/>
	<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/Special:Contributions/Ssalbiz"/>
	<updated>2026-04-06T01:42:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3321</id>
		<title>Cscbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3321"/>
		<updated>2012-10-16T15:56:39Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Office State */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ad-hoc hodge-podge scripts that provide various services. Ridiculous and hilariously over-engineered. Some of the services are defined below:&lt;br /&gt;
&lt;br /&gt;
= Starting =&lt;br /&gt;
Due to the aforementioned ridiculous overengineering, its somewhat fragile. To restart it, become_club cscbot then ~cscbot/bin/start&lt;br /&gt;
&lt;br /&gt;
= Office State =&lt;br /&gt;
updates the channel topic in #csc with &amp;quot;office: open&amp;quot; or &amp;quot;office: closed&amp;quot; depending on the feedback from the webcams&lt;br /&gt;
&lt;br /&gt;
= Battles =&lt;br /&gt;
Moderate and judge rap battles. In a state of not working&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: battle challenge &amp;lt;nick&amp;gt;&lt;br /&gt;
* cscbot: battle accept&lt;br /&gt;
* cscbot: battle gg&lt;br /&gt;
* cscbot: battle clear&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
* Make it recognizes a gg and shuts up&lt;br /&gt;
* Make sure you can say whatever you want when it&#039;s not your turn without fucking shit up&lt;br /&gt;
* Fix choke timer so that it actually ends a game upon choke&lt;br /&gt;
* Allowing more than one entry per turn. This could involve looking for a terminating character to let the bot know the battler has said his peace. That way you can follow up a line without having to cram it all in one paragraph. this shouldn&#039;t affect time limit. This would also take care of someone needing to say something that isn&#039;t a verse without forgoing his turn.&lt;br /&gt;
* Allowing n battlers at a time such that they take turns&lt;br /&gt;
* Make a dedicated channel for battling so that #csc won&#039;t get pissed&lt;br /&gt;
* Set a maximum length of a battle so things don&#039;t drag on&lt;br /&gt;
* Have a voting system to determine the winner if no one chokes before time elapses&lt;br /&gt;
* Implement a lighning round to make things more exciting&lt;br /&gt;
&lt;br /&gt;
= Kickoff List =&lt;br /&gt;
Lists the beer on tap at kickoff&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: kickoff list&lt;br /&gt;
* cscbot: kickoff add foo&lt;br /&gt;
* cscbot: kickoff remove foo&lt;br /&gt;
* cscbot: kickoff clear&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3191</id>
		<title>Cscbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3191"/>
		<updated>2012-03-22T03:53:51Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ad-hoc hodge-podge scripts that provide various services. Ridiculous and hilariously over-engineered. Some of the services are defined below:&lt;br /&gt;
&lt;br /&gt;
= Office State =&lt;br /&gt;
updates the channel topic in #csc with &amp;quot;office: open&amp;quot; or &amp;quot;office: closed&amp;quot; depending on the feedback from the webcams&lt;br /&gt;
&lt;br /&gt;
= Battles =&lt;br /&gt;
Moderate and judge rap battles. In a state of not working&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: battle challenge &amp;lt;nick&amp;gt;&lt;br /&gt;
* cscbot: battle accept&lt;br /&gt;
* cscbot: battle gg&lt;br /&gt;
* cscbot: battle clear&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
* Make it recognize a gg and shut up&lt;br /&gt;
* Make sure you can whatever you want when it&#039;s not your turn without fucking shit up&lt;br /&gt;
* Fix choke timer so that it actually ends a game upon choke&lt;br /&gt;
* Allowing more than one entry per turn. This could involve looking for a terminating character to let the bot know the battler has said his peace. That way you can follow up a line without having to cram it all in one paragraph. this shouldn&#039;t affect time limit. This would also take care of someone needing to say something that isn&#039;t a verse without forgoing his turn.&lt;br /&gt;
* Allowing n battlers at a time such that they take turns&lt;br /&gt;
* Make a dedicated channel for battling so that #csc won&#039;t get pissed&lt;br /&gt;
* Set a maximum length of a battle so things don&#039;t drag on&lt;br /&gt;
* Have a voting system to determine the winner if no one chokes before time elapses&lt;br /&gt;
* Implement a lighning round to make things more exciting&lt;br /&gt;
&lt;br /&gt;
= Kickoff List =&lt;br /&gt;
Lists the beer on tap at kickoff&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: kickoff list&lt;br /&gt;
* cscbot: kickoff add foo&lt;br /&gt;
* cscbot: kickoff remove foo&lt;br /&gt;
* cscbot: kickoff clear&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3189</id>
		<title>Cscbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3189"/>
		<updated>2012-03-22T02:53:00Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Office State */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ad-hoc hodge-podge scripts that provide various services. Ridiculous and hilariously over-engineered. Some of the services are defined below:&lt;br /&gt;
&lt;br /&gt;
= Office State =&lt;br /&gt;
updates the channel topic in #csc with &amp;quot;office: open&amp;quot; or &amp;quot;office: closed&amp;quot; depending on the feedback from the webcams&lt;br /&gt;
&lt;br /&gt;
= Battles =&lt;br /&gt;
Moderate and judge rap battles. In a state of not working&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: battle challenge &amp;lt;nick&amp;gt;&lt;br /&gt;
* cscbot: battle accept&lt;br /&gt;
* cscbot: battle gg&lt;br /&gt;
* cscbot: battle clear&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
Make it not suck&lt;br /&gt;
&lt;br /&gt;
= Kickoff List =&lt;br /&gt;
Lists the beer on tap at kickoff&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: kickoff list&lt;br /&gt;
* cscbot: kickoff add foo&lt;br /&gt;
* cscbot: kickoff remove foo&lt;br /&gt;
* cscbot: kickoff clear&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3188</id>
		<title>Cscbot</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Cscbot&amp;diff=3188"/>
		<updated>2012-03-22T02:52:25Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: Created page with &amp;quot;A collection of ad-hoc hodge-podge scripts that provide various services. Ridiculous and hilariously over-engineered. Some of the services are defined below:  = Office State = up…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of ad-hoc hodge-podge scripts that provide various services. Ridiculous and hilariously over-engineered. Some of the services are defined below:&lt;br /&gt;
&lt;br /&gt;
= Office State =&lt;br /&gt;
updates the channel topic in #csc &lt;br /&gt;
&lt;br /&gt;
= Battles =&lt;br /&gt;
Moderate and judge rap battles. In a state of not working&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: battle challenge &amp;lt;nick&amp;gt;&lt;br /&gt;
* cscbot: battle accept&lt;br /&gt;
* cscbot: battle gg&lt;br /&gt;
* cscbot: battle clear&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
Make it not suck&lt;br /&gt;
&lt;br /&gt;
= Kickoff List =&lt;br /&gt;
Lists the beer on tap at kickoff&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* cscbot: kickoff list&lt;br /&gt;
* cscbot: kickoff add foo&lt;br /&gt;
* cscbot: kickoff remove foo&lt;br /&gt;
* cscbot: kickoff clear&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Automatic_Light_Switching&amp;diff=3177</id>
		<title>Automatic Light Switching</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Automatic_Light_Switching&amp;diff=3177"/>
		<updated>2012-03-19T17:03:16Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We want to hook up servos to the light switches to automatically turn the office lights on/off when the main door opens/closes.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
In Progress. Initial attempt failed due to insufficient stall torque on the servos (HXT900). Will retry with HS-645MG Ultra-Torque servos.&lt;br /&gt;
&lt;br /&gt;
UPDATE: New servos seem to work well. Prototype implemented and running. Only final installation/cleanup required now. A more portable power supply is also required&lt;br /&gt;
&lt;br /&gt;
= Materials =&lt;br /&gt;
* 2 Laser cut mounts (kspaans/mimcpher have access to the kwartzlab laser cutter)&lt;br /&gt;
* 2 HXT900 servos&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
Code: &amp;quot;git clone ~j3parker/src/lights/&amp;quot;&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3176</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3176"/>
		<updated>2012-03-19T16:53:56Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~ssalbiz/dev/7seg&amp;quot;&lt;br /&gt;
** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Daemon: code is committed to the repo, documentation of how it works is also there.&lt;br /&gt;
* There is an upstart init job on bit-shifter that is responsible for starting this daemon in /etc/init/camcount.conf. The config file is also stored in the repo.&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3175</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3175"/>
		<updated>2012-03-19T16:52:16Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~ssalbiz/dev/7seg&amp;quot;&lt;br /&gt;
** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* Daemon: code is committed to the repo, documentation of how it works is also there.&lt;br /&gt;
* There is an upstart init job on bit-shifter that is responsible for starting this daemon in /etc/init/camcount.conf&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Projects&amp;diff=3155</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Projects&amp;diff=3155"/>
		<updated>2012-02-29T16:51:21Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are current on-going CSC projects:&lt;br /&gt;
* [[Enhancement Project]]&lt;br /&gt;
* [[Library Project]]&lt;br /&gt;
* [[Talk Archive]]&lt;br /&gt;
* [[Alumni Project]]&lt;br /&gt;
* [[Space Project]]&lt;br /&gt;
* [[Electronics]] (various HW projects)&lt;br /&gt;
* Setting up virtual mail-boxes and virtual aliases for clubs.&lt;br /&gt;
* Getting an [[IPv6]] subnet&lt;br /&gt;
* Club CMSs, etc...&lt;br /&gt;
* Setup mailing list for webmasters of clubs we host so they can receive service related announcements from us&lt;br /&gt;
* Setup a reliable programming contest framework&lt;br /&gt;
* Common club auth&lt;br /&gt;
* Advertising procedures manual&lt;br /&gt;
* [[QoS]] for mirroring&lt;br /&gt;
* Setup inode quota&lt;br /&gt;
* [[Server serial port connections]]&lt;br /&gt;
* Fix nscd cache times&lt;br /&gt;
&lt;br /&gt;
Projects that require CSCF assistance: &lt;br /&gt;
* Get disk:/users mounted on CSCF&#039;s linux frontend and cpu servers&lt;br /&gt;
* Thin client chooser entry&lt;br /&gt;
* OSPF/[[QoS]] progress&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3154</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3154"/>
		<updated>2012-02-29T03:24:51Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~ssalbiz/dev/7seg&amp;quot;&lt;br /&gt;
** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Robot_Arm&amp;diff=3153</id>
		<title>Robot Arm</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Robot_Arm&amp;diff=3153"/>
		<updated>2012-02-29T03:24:00Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software =&lt;br /&gt;
&lt;br /&gt;
The robot arm was purchased with the intent of being used to create a mechanical turk.&lt;br /&gt;
The code going towards this goal lives in ~ssalbiz/arm, use &amp;quot;git clone ~ssalbiz/arm&amp;quot; to make a copy.&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
The arm is a [http://www.lynxmotion.com/c-130-al5d.aspx Lynxmotion AL5D].&lt;br /&gt;
&lt;br /&gt;
= Operation =&lt;br /&gt;
Currently the arm is controlled by interfacing directly with /dev/ttySx or /dev/ttyUSBx . The syntax for controlling this is by sending the following string to the board:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&amp;lt;servo id&amp;gt; P&amp;lt;position&amp;gt; S&amp;lt;speed&amp;gt; T&amp;lt;time&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can control multiple servos with one command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&amp;lt;servo id&amp;gt; P&amp;lt;position&amp;gt; S&amp;lt;speed&amp;gt; #&amp;lt;servo id&amp;gt; P&amp;lt;position&amp;gt; S&amp;lt;speed&amp;gt; T&amp;lt;time&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
S and T are optional parameters&lt;br /&gt;
&lt;br /&gt;
Key:&lt;br /&gt;
* &amp;lt;servo id&amp;gt; - id of the servo being controlled (includes jaw)&lt;br /&gt;
* &amp;lt;position&amp;gt; - servo rotation position, generally between (500,2500)&lt;br /&gt;
* &amp;lt;speed&amp;gt; - speed of rotation; 100 means 10s to rorate 90&amp;amp;deg;; leaving this off generates fast movement, 400 seems like a &amp;quot;safe&amp;quot; value?&lt;br /&gt;
* &amp;lt;time&amp;gt; - time it takes to complete the motion in ms; specified once for the entire motion&lt;br /&gt;
&lt;br /&gt;
if both speed(s) and time are specified, time is a &amp;quot;minimum&amp;quot; and speed is a &amp;quot;maximum&amp;quot;, i.e. the motion will take at minimum T milliseconds, but servoA will move no faster than speed SA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Servo key and degree of motion ==&lt;br /&gt;
* 0 - Base&lt;br /&gt;
* 1 - Shoulder&lt;br /&gt;
* 2 - Elbow&lt;br /&gt;
* 3 - Wrist&lt;br /&gt;
* 4 - Grip&lt;br /&gt;
* 5 - Wrist Rotate&lt;br /&gt;
&lt;br /&gt;
= Purpose =&lt;br /&gt;
The current purpose of the robot arm is to make an entity that can play chess against a human.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
In Progress. Need to complete the following:&lt;br /&gt;
&lt;br /&gt;
* Complete physical modifications to robot arm to allow it to reach all pieces on the board&lt;br /&gt;
* Calibrate arm base mount against chess board squares&lt;br /&gt;
* Make the robot arm code talk to a chess program&lt;br /&gt;
* Make the chess program talk to the chess vision code&lt;br /&gt;
&lt;br /&gt;
= External Links =&lt;br /&gt;
* a manual [http://www.lynxmotion.com/images/data/rios106h.pdf]&lt;br /&gt;
* j3parker&#039;s [http://csclub.uwaterloo.ca/~j3parker/arm.png 3D model of the arm]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3152</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3152"/>
		<updated>2012-02-29T03:20:37Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~ssalbiz/src/7seg&amp;quot;&lt;br /&gt;
** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3151</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3151"/>
		<updated>2012-02-29T02:43:45Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~j3parker/src/7seg&amp;quot;&lt;br /&gt;
** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3150</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3150"/>
		<updated>2012-02-29T02:43:30Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~j3parker/src/7seg&amp;quot;&lt;br /&gt;
  ** Contains both microcontroller code and daemonized scripts that run on the webcam host&lt;br /&gt;
* Circuit diagram: yell at j3&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Automatic_Light_Switching&amp;diff=3149</id>
		<title>Automatic Light Switching</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Automatic_Light_Switching&amp;diff=3149"/>
		<updated>2012-02-28T05:05:27Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: Created page with &amp;quot;= Overview =  We want to hook up servos to the light switches to automatically turn the office lights on/off when the main door opens/closes.  = Status = In Progress. Initial att…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We want to hook up servos to the light switches to automatically turn the office lights on/off when the main door opens/closes.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
In Progress. Initial attempt failed due to insufficient stall torque on the servos (HXT900). Will retry with HS-645MG Ultra-Torque servos.&lt;br /&gt;
&lt;br /&gt;
= Materials =&lt;br /&gt;
* 2 Laser cut mounts (kspaans/mimcpher have access to the kwartzlab laser cutter)&lt;br /&gt;
* 2 HXT900 servos&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
Code: &amp;quot;git clone ~j3parker/src/lights/&amp;quot;&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3148</id>
		<title>Electronics</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3148"/>
		<updated>2012-02-28T04:53:58Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Current (Ongoing) Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Computer Science Club occasionally builds things in the physical world with electronics. This page outlines the major projects and the resources the CSC has acquired for this purpose.&lt;br /&gt;
&lt;br /&gt;
= Special Equipment =&lt;br /&gt;
The CSC has purchased or otherwise acquired the following specialized equipment. The following list is not by any means complete or exhaustive, the CSC has many more basic tools and materials for electronics projects. The following is a list of expensive or difficult to acquire equipment that should not be lost or damaged.&lt;br /&gt;
&lt;br /&gt;
* DSO Nano Pocket Oscilloscope&lt;br /&gt;
* Wave Generator (on loan from jj2baile)&lt;br /&gt;
* 3 Soldering Irons&lt;br /&gt;
* Helping Hands (for soldering)&lt;br /&gt;
* Table-mount Vice&lt;br /&gt;
* 2 Solder Suckers (1 heated)&lt;br /&gt;
* 2 Multimeters&lt;br /&gt;
* Depth Gauge&lt;br /&gt;
* Precision calipers&lt;br /&gt;
* ARM touchscreen&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
== Current (Ongoing) Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Robot Arm]]&lt;br /&gt;
* [[Point of Sale System]]&lt;br /&gt;
* [[LED Cube]]&lt;br /&gt;
* [[Automatic Light Switching]]&lt;br /&gt;
&lt;br /&gt;
== Completed Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[7 Segment Display]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3147</id>
		<title>Historical:7 Segment Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Historical:7_Segment_Display&amp;diff=3147"/>
		<updated>2012-02-28T04:53:21Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: Created page with &amp;quot;= Overview =  We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
We have mounted a large 7 segment display on the wall in the office, hooked up to an ATMega microcontroller that displays the number of people currently viewing the webcam feeds.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
Completed. No further work to be done, barring repurposing of the hardware&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
* Code: &amp;quot;git clone ~j3parker/src/7seg&amp;quot;&lt;br /&gt;
* Circuit diagram: yell at j3&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3145</id>
		<title>Electronics</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3145"/>
		<updated>2012-02-28T04:34:21Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Special Equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Computer Science Club occasionally builds things in the physical world with electronics. This page outlines the major projects and the resources the CSC has acquired for this purpose.&lt;br /&gt;
&lt;br /&gt;
= Special Equipment =&lt;br /&gt;
The CSC has purchased or otherwise acquired the following specialized equipment. The following list is not by any means complete or exhaustive, the CSC has many more basic tools and materials for electronics projects. The following is a list of expensive or difficult to acquire equipment that should not be lost or damaged.&lt;br /&gt;
&lt;br /&gt;
* DSO Nano Pocket Oscilloscope&lt;br /&gt;
* Wave Generator (on loan from jj2baile)&lt;br /&gt;
* 3 Soldering Irons&lt;br /&gt;
* Helping Hands (for soldering)&lt;br /&gt;
* Table-mount Vice&lt;br /&gt;
* 2 Solder Suckers (1 heated)&lt;br /&gt;
* 2 Multimeters&lt;br /&gt;
* Depth Gauge&lt;br /&gt;
* Precision calipers&lt;br /&gt;
* ARM touchscreen&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
== Current (Ongoing) Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Robot Arm]]&lt;br /&gt;
* [[Point of Sale System]]&lt;br /&gt;
* [[LED Cube]]&lt;br /&gt;
&lt;br /&gt;
== Completed Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[7 Segment Display]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Point_of_Sale_System&amp;diff=3144</id>
		<title>Point of Sale System</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Point_of_Sale_System&amp;diff=3144"/>
		<updated>2012-02-28T04:33:45Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: Created page with &amp;quot;= Overview =  At the time of this writing, people pay for pop and snacks using cash money, like barbarians. The intent of the POS system is to allow club members to pay for pop/s…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
At the time of this writing, people pay for pop and snacks using cash money, like barbarians. The intent of the POS system is to allow club members to pay for pop/snacks/club membership renewal using money associated with a club account&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
In Progress. Materials have been sourced, the following tasks remain:&lt;br /&gt;
&lt;br /&gt;
== Remaining Tasks ==&lt;br /&gt;
* Building a wall mount for the playbook&lt;br /&gt;
* Writing playbook client code&lt;br /&gt;
* Hooking up playbook to card-reader via USB OTG&lt;br /&gt;
* Interface playbook to a computer running the backend thrift service&lt;br /&gt;
&lt;br /&gt;
== Done ==&lt;br /&gt;
&lt;br /&gt;
* Thrift service: &amp;quot;git clone ~m4burns/pos&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Materials/Equipment =&lt;br /&gt;
&lt;br /&gt;
* Blackberry Playbook&lt;br /&gt;
* Rockethub USB hub + MicroUSB-USB cable&lt;br /&gt;
* ARM touchscreen (not used, may be repurposed for other projects)&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3143</id>
		<title>Electronics</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Electronics&amp;diff=3143"/>
		<updated>2012-02-28T04:16:16Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: Created page with &amp;quot;= Overview = The Computer Science Club occasionally builds things in the physical world with electronics. This page outlines the major projects and the resources the CSC has acqu…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Computer Science Club occasionally builds things in the physical world with electronics. This page outlines the major projects and the resources the CSC has acquired for this purpose.&lt;br /&gt;
&lt;br /&gt;
= Special Equipment =&lt;br /&gt;
The CSC has purchased or otherwise acquired the following specialized equipment. The following list is not by any means complete or exhaustive, the CSC has many more basic tools and materials for electronics projects. The following is a list of expensive or difficult to acquire equipment that should not be lost or damaged.&lt;br /&gt;
&lt;br /&gt;
* DSO Nano Pocket Oscilloscope&lt;br /&gt;
* Wave Generator (on loan from jj2baile)&lt;br /&gt;
* 3 Soldering Irons&lt;br /&gt;
* Helping Hands (for soldering)&lt;br /&gt;
* Table-mount Vice&lt;br /&gt;
* 2 Solder Suckers (1 heated)&lt;br /&gt;
* 2 Multimeters&lt;br /&gt;
* Depth Gauge&lt;br /&gt;
* Precision calipers&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
== Current (Ongoing) Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Robot Arm]]&lt;br /&gt;
* [[Point of Sale System]]&lt;br /&gt;
* [[LED Cube]]&lt;br /&gt;
&lt;br /&gt;
== Completed Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[7 Segment Display]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Main_Page&amp;diff=3142</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Main_Page&amp;diff=3142"/>
		<updated>2012-02-28T03:45:13Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Machine/System Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Wiki of the [[Computer Science Club]]. Feel free to start adding pages and information.&lt;br /&gt;
&lt;br /&gt;
== Guides ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;-webkit-column-count:3; -moz-column-count:3; column-count:3;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Budget Guide]]&lt;br /&gt;
* [[Club Hosting]]&lt;br /&gt;
* [[Member Hosting]]&lt;br /&gt;
* [[Exec Manual]]&lt;br /&gt;
* [[Imapd Guide]]&lt;br /&gt;
* [[MEF Guide]]&lt;br /&gt;
* [[Office Staff]]&lt;br /&gt;
* [[Talks Guide]]&lt;br /&gt;
* [[SCS Guide]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;-webkit-column-count:3; -moz-column-count:3; column-count:3;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Meetings]]&lt;br /&gt;
* [[Talks]]&lt;br /&gt;
* [[Projects]]&lt;br /&gt;
* [[Industry Opportunities]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Machine/System Documentation ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;-webkit-column-count:3; -moz-column-count:3; column-count:3;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Authentication]]&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* [[ceo]]&lt;br /&gt;
* [[Conserver]]&lt;br /&gt;
* [[DNS]]&lt;br /&gt;
* [[Debian Repository]]&lt;br /&gt;
* [[Digital Cutter]]&lt;br /&gt;
* [[Directory Services]]&lt;br /&gt;
* [[Electronics]]&lt;br /&gt;
* [[Machine List]]&lt;br /&gt;
* [[Mail]]&lt;br /&gt;
* [[Mailing Lists]]&lt;br /&gt;
* [[Mirror]]&lt;br /&gt;
* [[MySQL]]&lt;br /&gt;
* [[OID Assignment]]&lt;br /&gt;
* [[Printing]]&lt;br /&gt;
* [[Robot Arm]]&lt;br /&gt;
* [[Scratch]]&lt;br /&gt;
* [[SNMP]]&lt;br /&gt;
* [[Serial Connections]]&lt;br /&gt;
* [[SSL]]&lt;br /&gt;
* [[Switches]]&lt;br /&gt;
* [[Sony Camera]]&lt;br /&gt;
* [[Systems Committee]]&lt;br /&gt;
* [[TS-7800]]&lt;br /&gt;
* [[UID/GID Assignment]]&lt;br /&gt;
* [[User-data]]&lt;br /&gt;
* [[Webcams]]&lt;br /&gt;
* [[Webmail]]&lt;br /&gt;
* [[Website]]&lt;br /&gt;
* [[Virtualization]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;-webkit-column-count:3; -moz-column-count:3; column-count:3;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Budget]]&lt;br /&gt;
* [[Executive]]&lt;br /&gt;
* [[Frosh]]&lt;br /&gt;
* [[History]]&lt;br /&gt;
* [[Library]]&lt;br /&gt;
* [[MEF Proposals]]&lt;br /&gt;
* [[Office Policies]]&lt;br /&gt;
* [[Projector]]&lt;br /&gt;
* [[Term Notes]]&lt;br /&gt;
&amp;lt;/div&amp;gt; __NOTOC__&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=ARM&amp;diff=3003</id>
		<title>ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=ARM&amp;diff=3003"/>
		<updated>2011-03-14T05:36:17Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Development Environment */ link to goto80.csclub.uwaterloo.ca&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Email syscom@csclub.uwaterloo.ca asking to be added to the board group.&lt;br /&gt;
* An ARM compiler and build environment. If you do your development on corn-syrup this is already set up for you.&lt;br /&gt;
* Basic working knowledge of [http://www.gnu.org/software/screen/ GNU screen].&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
The TS-7800 is connected by serial port to strombola, one of the office machines. We have ported U-Boot to the board and installed it to the onboard flash memory. U-Boot is used to load a compiled program from our TFTP server over the network. We have also wired the board so that it resets when COM3 is opened; this is used to reset the board when a user program crashes it.&lt;br /&gt;
&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
&lt;br /&gt;
Every CSC machine has a utility called &amp;quot;become_board&amp;quot; installed that is used to connect to the board&#039;s console. You must use this program to interact with the board.&lt;br /&gt;
&lt;br /&gt;
The board also sometimes runs a linux environment ([http://goto80.csclub.uwaterloo.ca goto80.csclub.uwaterloo.ca]). It is okay to reset the board while linux is running; don&#039;t worry about shutting it down safely.&lt;br /&gt;
&lt;br /&gt;
== Rules &amp;amp; Regulations ==&lt;br /&gt;
&lt;br /&gt;
* Only the systems committee touches the board hardware. You can power cycle the board without touching it. If there is a problem, email syscom@csclub.uwaterloo.ca.&lt;br /&gt;
* Try not to reset the board while another user is running their program. &lt;br /&gt;
&lt;br /&gt;
== Compiling and Running Your First Program ==&lt;br /&gt;
&lt;br /&gt;
We have modified the busy-wait I/O library used by CS 452 to work with the TS-7800. The following steps explain how to compile and run the test application on the TS-7800. These steps should be completed on corn-syrup.&lt;br /&gt;
&lt;br /&gt;
* Clone the test git repository from [http://git.csclub.uwaterloo.ca/?p=arm/ts7800-bwio.git csclub.uwaterloo.ca:/srv/git/arm/ts7800-bwio.git]:&lt;br /&gt;
&lt;br /&gt;
 git clone csclub.uwaterloo.ca:/srv/git/arm/ts7800-bwio.git&lt;br /&gt;
 cd ts7800-bwio&lt;br /&gt;
&lt;br /&gt;
* Build the test application:&lt;br /&gt;
&lt;br /&gt;
 make CC=arm-linux-gnueabi-gcc&lt;br /&gt;
&lt;br /&gt;
* Create yourself a directory on our TFTP server (caffeine):&lt;br /&gt;
&lt;br /&gt;
 ssh caffeine mkdir -p /srv/tftp/ARM/$USER&lt;br /&gt;
&lt;br /&gt;
* Copy the test application (bin/iotest) to your directory on the TFTP server.&lt;br /&gt;
&lt;br /&gt;
 scp bin/iotest caffeine:/srv/tftp/ARM/$USER/&lt;br /&gt;
&lt;br /&gt;
* Run become_board to attach to the TS-7800 screen session.&lt;br /&gt;
&lt;br /&gt;
 become_board&lt;br /&gt;
&lt;br /&gt;
* Reboot the board from the radreboot window. Press C-a 1 (control-A, then 1) to switch windows, then press enter to reboot.&lt;br /&gt;
&lt;br /&gt;
* Execute your test program on the board. Press C-a 0 (control-A, then 0) to switch windows. Replace $USER by your user name.&lt;br /&gt;
&lt;br /&gt;
 tftp ARM/$USER/iotest&lt;br /&gt;
 bootelf&lt;br /&gt;
&lt;br /&gt;
If all goes well, you should see the following output:&lt;br /&gt;
&lt;br /&gt;
 Hello&lt;br /&gt;
 ***Hello&lt;br /&gt;
 Hello world.&lt;br /&gt;
 Well, hello world23.&lt;br /&gt;
 -23 worlds for 1 person.&lt;br /&gt;
 ffffffe9 worlds for 723 people.&lt;br /&gt;
&lt;br /&gt;
If you press any key the board will reboot.&lt;br /&gt;
&lt;br /&gt;
== Further Steps ==&lt;br /&gt;
&lt;br /&gt;
* Write some C code. You can start by modifying iotest.c.&lt;br /&gt;
* Write some ARM assembly. You can start by modifying ts7800.S.&lt;br /&gt;
* Work through the CS 452 kernel assignments (skip the train parts). These are available on [http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/ Bill Cowan&#039;s web site].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* If the shared screen session is not working properly, such as when an important window is closed, the easiest way to recover is to terminate the screen session entirely and rerun become_board. Press C-a \ (control-A, then backslash) to terminate the screen session. Note that this disconnects everyone and should be used sparingly.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
* The hardware documentation is available at [http://www.embeddedarm.com/products/board-detail.php?product=ts-7800 embeddedarm.com] and locally at [http://csclub.uwaterloo.ca/~board/ts7800 csclub.uwaterloo.ca/~board/ts7800].&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2943</id>
		<title>Digital Cutter</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2943"/>
		<updated>2011-01-28T05:48:30Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Linux use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In F08 MEF Generously gave us a Digital Cutter device along with Adobe Illustrator so we could do all sorts of cool machine aided design/machine rendered vector graphics/random whargarbl. Craig Kaplan has one too and will give a talk or tutorial if asked very nicely. The gist of the device, if you have no clue as to what it is, is a plotter with a knife (though you can also put a pen in it and plot things...).&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
The cutter came with a few physical things that we&#039;d like to keep around. These things&lt;br /&gt;
are kept on the shelves above guarana.&lt;br /&gt;
&lt;br /&gt;
* Cutter device &lt;br /&gt;
** looks like a small printer, is the actual thing, kept on the shelf above guarana&lt;br /&gt;
* Cutting surface&lt;br /&gt;
** paper sized piece of plastic with adhesive on it&lt;br /&gt;
* Cutting heads and pen tip &lt;br /&gt;
** small parts in a little baggie taped to the cutter&lt;br /&gt;
* USB B-USB A cable&lt;br /&gt;
* Power Supply&lt;br /&gt;
* Manual - This is important, it has a table of information about various cutting media that I don&#039;t want to retype.&lt;br /&gt;
* Full page sticker sheets&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
&lt;br /&gt;
If you have a vector graphic you&#039;d like to cut out follow these steps for great success:&lt;br /&gt;
&lt;br /&gt;
== Physical Preparation ==&lt;br /&gt;
&lt;br /&gt;
# Get the device down from the shelf and plug it in, hook it up to guarana if we have a usb hub, or wait until you&#039;re ready to&lt;br /&gt;
cut to unplug the mouse or keyboard and hook it up.&lt;br /&gt;
# Get the cutting mat down and remove the protective cover stuck to it (a sheet or two of paper), if the manual indicates you should use the mat.&lt;br /&gt;
# There should be a sticker sheet on the mat with the sticker adhesive up. If there isn&#039;t or if its old and damaged replace it. Take the backing off then cut two thin strips of paper and put them on the sides as tracks for the guide wheels so what you&#039;re cutting doesn&#039;t get stuck.&lt;br /&gt;
# Select the proper cutting tip according to the chart in the manual and attach it to the knife, take care not to cut yourself.&lt;br /&gt;
# Replace the knife in the orientation specified by the instructions inside the cutter.&lt;br /&gt;
# Feed in the cutting media using the feed knob on the left of the cutter&lt;br /&gt;
&lt;br /&gt;
== Linux use ==&lt;br /&gt;
&lt;br /&gt;
Generate a post script in some way. Don&#039;t worry about color and fill commands these are ignored. A path is stroked by the knife cutting that path, so take care as to where your paths go, use a program like Inkscape to check this. Or if you have an svg convert it to postscript with Inkscape. Once you have your target postscript print it with the following command&lt;br /&gt;
&lt;br /&gt;
 graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
or, if not in your path, check:&lt;br /&gt;
&lt;br /&gt;
 /opt/graphtecprint/graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
We might configure cups to print by piping the postscript to graphtecprint or some other shenanigans. Anyway when it runs it will give you a graphical prompt with preview. Pick your paper size and cutting media appropriately, making any manual configuration changes you feel necessary to cutting speed and pressure. Hit print and watch the cutter cut.&lt;br /&gt;
&lt;br /&gt;
Helpful Hints:&lt;br /&gt;
&lt;br /&gt;
* The card stock in the office is Letter sized, not A4.&lt;br /&gt;
* The default cutting speed for card stock is a bit too high and may result in rough or incomplete cuts&lt;br /&gt;
* The adhesive backing does not stick to the card stock uniformly. Ensure it is well pressed down so it doesn&#039;t raise off the backing during cutting.&lt;br /&gt;
&lt;br /&gt;
== OS X use ==&lt;br /&gt;
&lt;br /&gt;
Since guarana has OS X you can use the cutter from there as well. Load the vector graphic in Adobe Illustrator then use the cutting plugin (called Craft ROBO). Follow the steps in the dialouge box which will look remarkably similar to the graphtecprint command&#039;s one and cut. &lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done put the cutter away as you found it. Be sure to leave a sheet of paper or two stuck to the adhesive mat to protect it and extend its lifetime, throw out your cutting scraps etc.&lt;br /&gt;
&lt;br /&gt;
= Finding stuff to cut =&lt;br /&gt;
&lt;br /&gt;
This will link to Kaplan&#039;s talk after he gives it.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2942</id>
		<title>Digital Cutter</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2942"/>
		<updated>2011-01-28T04:56:00Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Linux use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In F08 MEF Generously gave us a Digital Cutter device along with Adobe Illustrator so we could do all sorts of cool machine aided design/machine rendered vector graphics/random whargarbl. Craig Kaplan has one too and will give a talk or tutorial if asked very nicely. The gist of the device, if you have no clue as to what it is, is a plotter with a knife (though you can also put a pen in it and plot things...).&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
The cutter came with a few physical things that we&#039;d like to keep around. These things&lt;br /&gt;
are kept on the shelves above guarana.&lt;br /&gt;
&lt;br /&gt;
* Cutter device &lt;br /&gt;
** looks like a small printer, is the actual thing, kept on the shelf above guarana&lt;br /&gt;
* Cutting surface&lt;br /&gt;
** paper sized piece of plastic with adhesive on it&lt;br /&gt;
* Cutting heads and pen tip &lt;br /&gt;
** small parts in a little baggie taped to the cutter&lt;br /&gt;
* USB B-USB A cable&lt;br /&gt;
* Power Supply&lt;br /&gt;
* Manual - This is important, it has a table of information about various cutting media that I don&#039;t want to retype.&lt;br /&gt;
* Full page sticker sheets&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
&lt;br /&gt;
If you have a vector graphic you&#039;d like to cut out follow these steps for great success:&lt;br /&gt;
&lt;br /&gt;
== Physical Preparation ==&lt;br /&gt;
&lt;br /&gt;
# Get the device down from the shelf and plug it in, hook it up to guarana if we have a usb hub, or wait until you&#039;re ready to&lt;br /&gt;
cut to unplug the mouse or keyboard and hook it up.&lt;br /&gt;
# Get the cutting mat down and remove the protective cover stuck to it (a sheet or two of paper), if the manual indicates you should use the mat.&lt;br /&gt;
# There should be a sticker sheet on the mat with the sticker adhesive up. If there isn&#039;t or if its old and damaged replace it. Take the backing off then cut two thin strips of paper and put them on the sides as tracks for the guide wheels so what you&#039;re cutting doesn&#039;t get stuck.&lt;br /&gt;
# Select the proper cutting tip according to the chart in the manual and attach it to the knife, take care not to cut yourself.&lt;br /&gt;
# Replace the knife in the orientation specified by the instructions inside the cutter.&lt;br /&gt;
# Feed in the cutting media using the feed knob on the left of the cutter&lt;br /&gt;
&lt;br /&gt;
== Linux use ==&lt;br /&gt;
&lt;br /&gt;
Generate a post script in some way. Don&#039;t worry about color and fill commands these are ignored. A path is stroked by the knife cutting that path, so take care as to where your paths go, use a program like Inkscape to check this. Or if you have an svg convert it to postscript with Inkscape. Once you have your target postscript print it with the following command&lt;br /&gt;
&lt;br /&gt;
 graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
or, if not in your path, check:&lt;br /&gt;
&lt;br /&gt;
 /opt/graphtecprint/graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
We might configure cups to print by piping the postscript to graphtecprint or some other shenanigans. Anyway when it runs it will give you a graphical prompt with preview. Pick your paper size and cutting media appropriately, making any manual configuration changes you feel necessary to cutting speed and pressure. Hit print and watch the cutter cut.&lt;br /&gt;
&lt;br /&gt;
== OS X use ==&lt;br /&gt;
&lt;br /&gt;
Since guarana has OS X you can use the cutter from there as well. Load the vector graphic in Adobe Illustrator then use the cutting plugin (called Craft ROBO). Follow the steps in the dialouge box which will look remarkably similar to the graphtecprint command&#039;s one and cut. &lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done put the cutter away as you found it. Be sure to leave a sheet of paper or two stuck to the adhesive mat to protect it and extend its lifetime, throw out your cutting scraps etc.&lt;br /&gt;
&lt;br /&gt;
= Finding stuff to cut =&lt;br /&gt;
&lt;br /&gt;
This will link to Kaplan&#039;s talk after he gives it.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2941</id>
		<title>Digital Cutter</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2941"/>
		<updated>2011-01-28T04:49:41Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Linux use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In F08 MEF Generously gave us a Digital Cutter device along with Adobe Illustrator so we could do all sorts of cool machine aided design/machine rendered vector graphics/random whargarbl. Craig Kaplan has one too and will give a talk or tutorial if asked very nicely. The gist of the device, if you have no clue as to what it is, is a plotter with a knife (though you can also put a pen in it and plot things...).&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
The cutter came with a few physical things that we&#039;d like to keep around. These things&lt;br /&gt;
are kept on the shelves above guarana.&lt;br /&gt;
&lt;br /&gt;
* Cutter device &lt;br /&gt;
** looks like a small printer, is the actual thing, kept on the shelf above guarana&lt;br /&gt;
* Cutting surface&lt;br /&gt;
** paper sized piece of plastic with adhesive on it&lt;br /&gt;
* Cutting heads and pen tip &lt;br /&gt;
** small parts in a little baggie taped to the cutter&lt;br /&gt;
* USB B-USB A cable&lt;br /&gt;
* Power Supply&lt;br /&gt;
* Manual - This is important, it has a table of information about various cutting media that I don&#039;t want to retype.&lt;br /&gt;
* Full page sticker sheets&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
&lt;br /&gt;
If you have a vector graphic you&#039;d like to cut out follow these steps for great success:&lt;br /&gt;
&lt;br /&gt;
== Physical Preparation ==&lt;br /&gt;
&lt;br /&gt;
# Get the device down from the shelf and plug it in, hook it up to guarana if we have a usb hub, or wait until you&#039;re ready to&lt;br /&gt;
cut to unplug the mouse or keyboard and hook it up.&lt;br /&gt;
# Get the cutting mat down and remove the protective cover stuck to it (a sheet or two of paper), if the manual indicates you should use the mat.&lt;br /&gt;
# There should be a sticker sheet on the mat with the sticker adhesive up. If there isn&#039;t or if its old and damaged replace it. Take the backing off then cut two thin strips of paper and put them on the sides as tracks for the guide wheels so what you&#039;re cutting doesn&#039;t get stuck.&lt;br /&gt;
# Select the proper cutting tip according to the chart in the manual and attach it to the knife, take care not to cut yourself.&lt;br /&gt;
# Replace the knife in the orientation specified by the instructions inside the cutter.&lt;br /&gt;
# Feed in the cutting media using the feed knob on the left of the cutter&lt;br /&gt;
&lt;br /&gt;
== Linux use ==&lt;br /&gt;
&lt;br /&gt;
Generate a post script in some way. Don&#039;t worry about color and fill commands these are ignored. A path is stroked by the knife cutting that path, so take care as to where your paths go, use a program like Inkscape to check this. Or if you have an svg convert it to postscript with Inkscape. Once you have your target postscript print it with the following command&lt;br /&gt;
&lt;br /&gt;
 (/opt/graphtecprint/)graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
We might configure cups to print by piping the postscript to graphtecprint or some other shenanigans. Anyway when it runs it will give you a graphical prompt with preview. Pick your paper size and cutting media appropriately, making any manual configuration changes you feel necessary to cutting speed and pressure. Hit print and watch the cutter cut.&lt;br /&gt;
&lt;br /&gt;
== OS X use ==&lt;br /&gt;
&lt;br /&gt;
Since guarana has OS X you can use the cutter from there as well. Load the vector graphic in Adobe Illustrator then use the cutting plugin (called Craft ROBO). Follow the steps in the dialouge box which will look remarkably similar to the graphtecprint command&#039;s one and cut. &lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done put the cutter away as you found it. Be sure to leave a sheet of paper or two stuck to the adhesive mat to protect it and extend its lifetime, throw out your cutting scraps etc.&lt;br /&gt;
&lt;br /&gt;
= Finding stuff to cut =&lt;br /&gt;
&lt;br /&gt;
This will link to Kaplan&#039;s talk after he gives it.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
	<entry>
		<id>https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2940</id>
		<title>Digital Cutter</title>
		<link rel="alternate" type="text/html" href="https://wiki.csclub.uwaterloo.ca/index.php?title=Digital_Cutter&amp;diff=2940"/>
		<updated>2011-01-28T04:49:14Z</updated>

		<summary type="html">&lt;p&gt;Ssalbiz: /* Linux use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In F08 MEF Generously gave us a Digital Cutter device along with Adobe Illustrator so we could do all sorts of cool machine aided design/machine rendered vector graphics/random whargarbl. Craig Kaplan has one too and will give a talk or tutorial if asked very nicely. The gist of the device, if you have no clue as to what it is, is a plotter with a knife (though you can also put a pen in it and plot things...).&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
The cutter came with a few physical things that we&#039;d like to keep around. These things&lt;br /&gt;
are kept on the shelves above guarana.&lt;br /&gt;
&lt;br /&gt;
* Cutter device &lt;br /&gt;
** looks like a small printer, is the actual thing, kept on the shelf above guarana&lt;br /&gt;
* Cutting surface&lt;br /&gt;
** paper sized piece of plastic with adhesive on it&lt;br /&gt;
* Cutting heads and pen tip &lt;br /&gt;
** small parts in a little baggie taped to the cutter&lt;br /&gt;
* USB B-USB A cable&lt;br /&gt;
* Power Supply&lt;br /&gt;
* Manual - This is important, it has a table of information about various cutting media that I don&#039;t want to retype.&lt;br /&gt;
* Full page sticker sheets&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
&lt;br /&gt;
If you have a vector graphic you&#039;d like to cut out follow these steps for great success:&lt;br /&gt;
&lt;br /&gt;
== Physical Preparation ==&lt;br /&gt;
&lt;br /&gt;
# Get the device down from the shelf and plug it in, hook it up to guarana if we have a usb hub, or wait until you&#039;re ready to&lt;br /&gt;
cut to unplug the mouse or keyboard and hook it up.&lt;br /&gt;
# Get the cutting mat down and remove the protective cover stuck to it (a sheet or two of paper), if the manual indicates you should use the mat.&lt;br /&gt;
# There should be a sticker sheet on the mat with the sticker adhesive up. If there isn&#039;t or if its old and damaged replace it. Take the backing off then cut two thin strips of paper and put them on the sides as tracks for the guide wheels so what you&#039;re cutting doesn&#039;t get stuck.&lt;br /&gt;
# Select the proper cutting tip according to the chart in the manual and attach it to the knife, take care not to cut yourself.&lt;br /&gt;
# Replace the knife in the orientation specified by the instructions inside the cutter.&lt;br /&gt;
# Feed in the cutting media using the feed knob on the left of the cutter&lt;br /&gt;
&lt;br /&gt;
== Linux use ==&lt;br /&gt;
&lt;br /&gt;
Generate a post script in some way. Don&#039;t worry about color and fill commands these are ignored. A path is stroked by the knife cutting that path, so take care as to where your paths go, use a program like Inkscape to check this. Or if you have an svg convert it to postscript with Inkscape. Once you have your target postscript print it with the following command&lt;br /&gt;
&lt;br /&gt;
 /opt/graphtecprint &amp;lt; foo.ps&lt;br /&gt;
&lt;br /&gt;
We might configure cups to print by piping the postscript to graphtecprint or some other shenanigans. Anyway when it runs it will give you a graphical prompt with preview. Pick your paper size and cutting media appropriately, making any manual configuration changes you feel necessary to cutting speed and pressure. Hit print and watch the cutter cut.&lt;br /&gt;
&lt;br /&gt;
== OS X use ==&lt;br /&gt;
&lt;br /&gt;
Since guarana has OS X you can use the cutter from there as well. Load the vector graphic in Adobe Illustrator then use the cutting plugin (called Craft ROBO). Follow the steps in the dialouge box which will look remarkably similar to the graphtecprint command&#039;s one and cut. &lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done put the cutter away as you found it. Be sure to leave a sheet of paper or two stuck to the adhesive mat to protect it and extend its lifetime, throw out your cutting scraps etc.&lt;br /&gt;
&lt;br /&gt;
= Finding stuff to cut =&lt;br /&gt;
&lt;br /&gt;
This will link to Kaplan&#039;s talk after he gives it.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Ssalbiz</name></author>
	</entry>
</feed>