<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ezra^3 - let&#039;s make things happen.</title>
	<atom:link href="http://ezraezraezra.com/?feed=rss2&#038;p=301" rel="self" type="application/rss+xml" />
	<link>http://ezraezraezra.com</link>
	<description>lets make things happen.</description>
	<lastBuildDate>Sun, 17 Sep 2017 12:19:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Offer Detail Page</title>
		<link>http://ezraezraezra.com/?p=1812</link>
		<comments>http://ezraezraezra.com/?p=1812#comments</comments>
		<pubDate>Mon, 31 Mar 2014 00:58:09 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[aarp]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[detail]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[offer]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1812</guid>
		<description><![CDATA[Good looking offer detail pages]]></description>
			<content:encoded><![CDATA[<p id="top" /><strong>Name: </strong>Big Image Offer Detail Page<strong><br />
Platform: </strong>Web<strong><br />
Technology: </strong>PHP, HTML, CSS<strong><br />
Source Code: </strong>Proprietary<strong></strong></p>
<p>About Offer Detail Page: Emphasis on merchant&#8217;s image relating to offer.</p>
<p><a href="http://ezraezraezra.com/itp/wp-content/uploads/2014/03/odp.jpg"><img class="alignnone size-medium wp-image-1816" title="odp" src="http://ezraezraezra.com/itp/wp-content/uploads/2014/03/odp-300x266.jpg" alt="" width="300" height="266" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1812</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PuppyPics</title>
		<link>http://ezraezraezra.com/?p=1805</link>
		<comments>http://ezraezraezra.com/?p=1805#comments</comments>
		<pubDate>Mon, 06 Jan 2014 01:19:05 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Home Categories]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[pics]]></category>
		<category><![CDATA[pictures]]></category>
		<category><![CDATA[puppies]]></category>
		<category><![CDATA[puppy]]></category>
		<category><![CDATA[puppypics]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1805</guid>
		<description><![CDATA[Chrome puppy image extension]]></description>
			<content:encoded><![CDATA[<p id="top" /><strong>Name</strong>: PuppyPics<br />
<strong>Platform</strong>: Chrome Browser, Web<br />
<strong>Author</strong>: Ezra Velazquez<br />
<strong>Technology</strong>: JavaScript, HTML, CSS<br />
<strong>Source Code</strong>: Available on <a href="https://github.com/ezraezraezra/PuppyPics" target="_blank">GitHub</a><br />
<strong>Version</strong>: 0.9</p>
<p><strong>About PuppyPics</strong>: Chrome extension that replaces page images with pictures of puppies!<br />
Intent: Brighten up people&#8217;s day with pictures of puppies.<br />
<strong>Personal Intent:</strong> Wanted to build a Chrome extension and something fun.<br />
<strong>Backstory</strong>: Wanted to stretch my JavaScript muscles and follow a new set of guidelines for development.</p>
<p><strong>Gallery</strong>:</p>

<a href='http://ezraezraezra.com/?attachment_id=1806' title='puppypics'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2014/01/puppypics-150x150.png" class="attachment-thumbnail" alt="puppypics" title="puppypics" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1807' title='puppy_after'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2014/01/puppy_after-150x150.png" class="attachment-thumbnail" alt="puppy_after" title="puppy_after" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1808' title='puppy_before'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2014/01/puppy_before-150x150.png" class="attachment-thumbnail" alt="puppy_before" title="puppy_before" /></a>

]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1805</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NxJ Revenue Indicator</title>
		<link>http://ezraezraezra.com/?p=1764</link>
		<comments>http://ezraezraezra.com/?p=1764#comments</comments>
		<pubDate>Mon, 30 Sep 2013 12:22:18 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Home Categories]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1764</guid>
		<description><![CDATA[The numbers get physical]]></description>
			<content:encoded><![CDATA[<p id="top" />Visual Monitoring (Part II)<br/><br />
<strong>Foreword:</strong><br />
On Friday the 13th (9/13/13) J.O. and I participated in the company-wide Next Jump Hackathon 2013. We decided that instead of focusing on a software-based project, we should do a hardware-based project. This is a technical follow-up on our original project post, which can be found <a href="http://ezraezraezra.com/?p=1136"><strong>here</strong></a><br/><br />
<strong>How It Works:</strong><br />
A cron job runs two Shell scripts (revenue and site status) every 20 minutes and minute, respectively.<br/><br />
The site status Shell script first cURLs an internal dashboard that contains the status of the Next Jump sites. The site is then piped into a stream editor (sed) to pick out the graphic name used for site status. This value is grep&#8217;ed to check it it contains a certain graphic. We finally run an snmpset call passing either an on/off integer value, depending on the boolean result of the grep call.<br/><br />
<code>GET_CURL=$(curl -ks <Internal NOC URL> | sed -n '/nettable/,/Production/p')<br />
echo $GET_CURL | grep -q 'light_green'<br />
if [[ $? == 0 ]] ;then<br />
        $SIREN_ON<br />
else $SIREN_OFF<br />
fi<br />
</code><br />
As for the revenue status Shell script, the script cURLs another internal dashboard that contains both goal and current revenue. The result is then run through a series of stream editor (sed) and pattern-directed scanning and processing language (awk) calls in order to pull both the goal and current values.<br/><br />
<code>GET_GOAL=$(curl -ks <Internal Dashboard URL> | sed -n '/totalRow/,/avgRevenue/p' | sed -n '/goalRevenue/,/avgRevenue/p' | awk 'BEGIN{ RS="K<\/td>"}{gsub(/.*>$ /,"")}1{print $RS;exit}' | sed -e 's/^.*">$ \( \)*//')</code><br/><br />
In order to visually tell when the revenue status script ran, and to give the project flair, we added a small Shell script inside the revenue status Shell script to blink the revenue lights (red, yellow, green) in a continuous daisy-chain pattern for two cycles.<br/><br />
<code>until [ $COUNTER -lt 0 ]; do<br />
        $RED_OFF<br />
        $YELLOW_OFF<br />
        $GREEN_OFF<br />
        $RED_ON<br />
        $YELLOW_ON<br />
        $GREEN_ON<br />
        let COUNTER-=1<br />
done</code><br/><br />
Once we return back to the revenue status script, an snmpset calls are made to turn off the revenue lights, followed by another snmpset call to turn on the socket that corresponds to the revenue standings.<br/><br />
<strong>Construction:</strong><br />
The visual monitoring body is composed of 3/4&#8243; x 10&#8243; solid oak board and is fastened with 1.5&#8243; corrosion proof deck fasteners. It houses a smart PVD devise and is wired to the lighting system via 110 volt grounded pig tails. Leviton Ceramic lighting fixtures with NxJ beer pint glasses contain the heat created by the CFL lights and add to the decor. V2 will consist of color, labeling, and branding the devise, as well as installing an audible alert for coronitas.<br/><br />
<strong>Bill of Materials:</strong><br />
(1) APC Switched Rack PVD<br />
(1) 110v Red light siren<br />
(3) Beer Pint Glasses<br />
(3) Feit Electric 13-Watt (60W) Twist CFL LightBulb (Red, Green, Yellow Bug)<br />
(1) Lava Lamp<br />
(3) Leviton Ceramic Keyless Lamp Holder<br />
(36) Drill Screws<br />
(1) Ethernet Cable<br />
(3) Lamp Cord Set<br/><br />
<strong>Resources:</strong><br />
MAN Pages<br />
Steve B. (Fellow NxJ enlightened in the art of Shell scripting)<br/><br />
<strong>Snapshots:</strong><br />

<a href='http://ezraezraezra.com/?attachment_id=1778' title='photo[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo1-150x150.jpg" class="attachment-thumbnail" alt="photo[1]" title="photo[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1779' title='photo_1[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_11-150x150.jpg" class="attachment-thumbnail" alt="photo_1[1]" title="photo_1[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1780' title='photo_2[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_21-150x150.jpg" class="attachment-thumbnail" alt="photo_2[1]" title="photo_2[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1781' title='photo_3[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_31-150x150.jpg" class="attachment-thumbnail" alt="photo_3[1]" title="photo_3[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1782' title='photo_4[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_41-150x150.jpg" class="attachment-thumbnail" alt="photo_4[1]" title="photo_4[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1783' title='photo_5[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_51-150x150.jpg" class="attachment-thumbnail" alt="photo_5[1]" title="photo_5[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1784' title='photo_6[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_61-150x150.jpg" class="attachment-thumbnail" alt="photo_6[1]" title="photo_6[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1785' title='photo_7[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_71-150x150.jpg" class="attachment-thumbnail" alt="photo_7[1]" title="photo_7[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1786' title='photo_8[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_81-e1380543578100-150x150.jpg" class="attachment-thumbnail" alt="photo_8[1]" title="photo_8[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1787' title='photo_9[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_91-e1380543565502-150x150.jpg" class="attachment-thumbnail" alt="photo_9[1]" title="photo_9[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1788' title='photo_10[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_101-e1380543554614-150x150.jpg" class="attachment-thumbnail" alt="photo_10[1]" title="photo_10[1]" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1789' title='photo_11[1]'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/photo_111-e1380543540714-150x150.jpg" class="attachment-thumbnail" alt="photo_11[1]" title="photo_11[1]" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1764</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Alerting</title>
		<link>http://ezraezraezra.com/?p=1743</link>
		<comments>http://ezraezraezra.com/?p=1743#comments</comments>
		<pubDate>Sat, 14 Sep 2013 16:48:33 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Home Categories]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1743</guid>
		<description><![CDATA[Physical status monitoring]]></description>
			<content:encoded><![CDATA[<p id="top" />NxJ &#8211; NxJ Hackathon 2013<br />
<strong>Name:</strong> Visual Alerting<br />
<strong>Platform:</strong> Web, Server, Electronics<br />
<strong>Author:</strong> J.O. &#038; Ezra Velazquez<br />
<strong>Release:</strong> September 14th, 2013<br />
<strong>Technology:</strong> Unix, Bash Shell, SNMP, Ethernet-Enabled power-strip, lightbulbs<br />
<strong>Source Code:</strong> Currently Unavailable<br />
<strong>Version:</strong> 1.0<br />
<br/><br />
<strong>About:</strong> A physical alert &#038; monitoring system that reports on site outrage, revenue progress for the week, and outbound mailing progress.<br />
<strong>Intent: </strong>To give key company metrics a physical attribute. While seeing a red light go off in a dashboard on a site means something is wrong, seeing a physical siren go off brings a real sense of urgency to the physical world since as humans we instinctually react to the physical and what is right in front of us.<br />
<strong>Personal Intent: </strong>To work on shell scripting, something I&#8217;ve been meaning to learn more about but never had a chance to fully pursue.<br />
<strong>Backstory: </strong>A week or so ago J.O. approached me about this crazy idea he had: instead of relying on different dashboards all throughout the internal system, how about having a device that could be displayed in a public space and display key monitoring statuses. I was intrigued and joined his team, mostly because it sounded like an awesome project and because I would doing &#8220;physical computing&#8221;.<br />
<strong>Process:</strong> We first figured out what exactly to display on the device. After scratching our heads, it made sense to display site outage with a red light siren. The revenue status for the week would be best displayed with a stop-light approach, with red being behind goal, yellow being near goal, and green exceeding goal. Finally, given that we have outbound emails going out for great periods of time, it made sense to use a lava lamp. As for the code to run it all, we decided to use an ethernet-neabled power-strip that was lying around that accepts SNMP calls, which can be easily triggered with a bash script running every minute or so on a cron job.<br />
<strong>Success:</strong> The actual physical device got built, and we where able to detect site outage &#038; revenue progress via scrapping the site. Even though we could have easily used credentials to run an SQL script to check revenue status, we believed that wouldn&#8217;t make it a real hack.<br />
<strong>Failures:</strong> While the mercury light got installed and be responsive, we ran out of time to write a shell script that would detect outgoing mail status.<br />
<strong>Tips: </strong>
<ul>
<li>Rely on the MAN pages. They will explain what all those crazy characters after the command mean.</li>
<li>Always wear protection when doing woodwork
<li>Piping will save you a great deal of time when you need to write a script quickly and don&#8217;t have time to clean it up</li>
<li>Try to work with people with different work backgrounds than you. You&#8217;ll learn a great deal, and have some bonding time in the process</li>
</ul>
<p><br/><br />
<strong>GALLERY:</strong><br />

<a href='http://ezraezraezra.com/?attachment_id=1752' title='visual_alerting_finished'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/visual_alerting_finished-150x150.jpg" class="attachment-thumbnail" alt="Finished product" title="visual_alerting_finished" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1753' title='ezra_velazquez_wiring'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2013/09/ezra_wiring-150x150.jpeg" class="attachment-thumbnail" alt="Ezra Velazquez wiring a lightbulb" title="ezra_velazquez_wiring" /></a>
<br />
Photo of me wiring a lightbulb stand by <a href="http://instagram.com/p/eNn6JeBfqL/" title="#praetoriansentry" target="_blank">@praetoriansentry</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1743</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MoneyRunner</title>
		<link>http://ezraezraezra.com/?p=1702</link>
		<comments>http://ezraezraezra.com/?p=1702#comments</comments>
		<pubDate>Mon, 30 Apr 2012 20:45:02 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Home Categories]]></category>
		<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[redial]]></category>
		<category><![CDATA[telecommunications]]></category>
		<category><![CDATA[telephony]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1702</guid>
		<description><![CDATA[PacMan meets Wall Street]]></description>
			<content:encoded><![CDATA[<p id="top" />Redial &#8211; Telephony<br />
<strong>Name</strong>: MoneyRunner<br />
<strong>Platform</strong>: Big Screen, Web, Telephony<br />
<strong>Author</strong>: Ezra Velazquez<br />
<strong>Release</strong>: May 2nd, 2012<br />
<strong>Technology</strong>: AJAX, Asterisk, CSS, CSS3, HTML, HTML5, JavaScript, JSON, jQuery, Processing.js<br />
<strong>Source Code</strong>: Available on <strong><a href="https://github.com/ezraezraezra/MoneyRunner">GitHub</a></strong><br />
<strong>Version</strong>: 1.0</p>
<p>&nbsp;</p>
<p><strong>About MoneyRunner</strong>:  Remember the days of the Atari by being a 1980&#8242;s money hungry investor looking for coins and taking them away from other players.</p>
<p><strong>GALLERY</strong>:</p>

<a href='http://ezraezraezra.com/?attachment_id=1703' title='1'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2012/04/1-150x150.jpg" class="attachment-thumbnail" alt="1" title="1" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1704' title='2'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2012/04/2-150x150.jpg" class="attachment-thumbnail" alt="2" title="2" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1705' title='3'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2012/04/3-150x150.jpg" class="attachment-thumbnail" alt="3" title="3" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1706' title='4'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2012/04/4-150x150.jpg" class="attachment-thumbnail" alt="4" title="4" /></a>
<a href='http://ezraezraezra.com/?attachment_id=1707' title='5'><img width="150" height="150" src="http://ezraezraezra.com/itp/wp-content/uploads/2012/04/5-150x150.jpg" class="attachment-thumbnail" alt="5" title="5" /></a>

]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1702</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redial Final</title>
		<link>http://ezraezraezra.com/?p=1698</link>
		<comments>http://ezraezraezra.com/?p=1698#comments</comments>
		<pubDate>Wed, 11 Apr 2012 22:25:46 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1698</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p id="top" />A multiplayer big-screen telephony game where players compete against each other to get the lowest score.</p>
<p>Players get points each time they are hit by moving objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1698</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telephony Games</title>
		<link>http://ezraezraezra.com/?p=1691</link>
		<comments>http://ezraezraezra.com/?p=1691#comments</comments>
		<pubDate>Wed, 07 Mar 2012 03:25:06 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Home Categories]]></category>
		<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>
		<category><![CDATA[agi]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[itp]]></category>
		<category><![CDATA[nyu]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpagi]]></category>
		<category><![CDATA[redial]]></category>
		<category><![CDATA[telecommunications]]></category>
		<category><![CDATA[telephony]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1691</guid>
		<description><![CDATA[Games for your brain]]></description>
			<content:encoded><![CDATA[<p id="top" />Redial &#8211; Telephony<br />
Name:  GameCentral<br />
Platform: Telephony<br />
Author: Ezra Velazquez<br />
Release: March 6th, 2012<br />
Technology: Asterisk, MySQL, PHP, PHPAGI<br />
Source Code: Available on <a href="https://github.com/ezraezraezra/GameCentral" target="_blank"><strong>GitHub</strong></a><br />
Version: 0.5</p>
<p>To access project: Call (206) 456-1465, ext 1 when asked.</p>
<p><strong>About GameCentral</strong>: Allow anyone with a mobile phone (old-school Nokia phones to the new fancy smart-phones) to play audio-based brain games.</p>
<p>The user calls the number, their number is automatically pushed to the server, where it is check to see if its in the server. If it&#8217;s not, a new entry is created for them. If they are a previous user, their score is pulled.</p>
<p>The user is then presented with a phone tree, which contains the game&#8217;s name. Once they pick a game, they are given instructions on how to play. Every single time they get a right answer, their score is updated in the database.</p>
<p>In the back-end of things, I took a OOP approach for the project. Each game is a &#8216;module&#8217;, which are broken down into two simplistic functions: state question &amp; check response. All other functionality of the game is handled by the main class. This will allow for easy swapping and adding of games. An extra class, Server, was written to allow for communication to the MySQL server. It was created as an extra class in order to separate the PHPAGI and PHP, along with giving each class its own purpose.</p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1691</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Midtern Idea</title>
		<link>http://ezraezraezra.com/?p=1684</link>
		<comments>http://ezraezraezra.com/?p=1684#comments</comments>
		<pubDate>Wed, 29 Feb 2012 02:32:15 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>
		<category><![CDATA[agi]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[itp]]></category>
		<category><![CDATA[nyu]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redial]]></category>
		<category><![CDATA[telecommunications]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1684</guid>
		<description><![CDATA[Redial Project]]></description>
			<content:encoded><![CDATA[<p id="top" />Assignment: Come up with a midterm project idea. Give some background (why you want to do the project) as well as a development plan.</p>
<p>For the midterm, I would like to develop a set of module mini-games (aiming for three) that can be access from any type of phone. I would also like to keep track of the user&#8217;s score over multiple sessions.</p>
<p>I want to do this project for a few reasons:</p>
<ul>
<li> Provide entertainment in bite-size chunks</li>
<li>Create games that are compatible with legacy hardware</li>
<li>Create a project that is not limited to users of a certain phone type or brand</li>
<li>Create a games that are not only entertainment, but also provide brain tune-ups.</li>
</ul>
<p>The three games I currently have in mind are:</p>
<ul>
<li> Simon Says</li>
<li>Math Blaster</li>
<li>Tone Matcher</li>
</ul>
<p>Development plan:</p>
<ul>
<li> Get AGI script for one game working</li>
<li>Port script onto Asterisk server</li>
<li>Create Main Menu</li>
<li>Create AGI script to track user&#8217;s score</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1684</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Temp via phone</title>
		<link>http://ezraezraezra.com/?p=1681</link>
		<comments>http://ezraezraezra.com/?p=1681#comments</comments>
		<pubDate>Mon, 20 Feb 2012 21:44:21 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>
		<category><![CDATA[agi]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[itp]]></category>
		<category><![CDATA[nyu]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redial]]></category>
		<category><![CDATA[telecommunications]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1681</guid>
		<description><![CDATA[Week 4]]></description>
			<content:encoded><![CDATA[<p id="top" /><strong>Assignment</strong>:</p>
<ul>
<li> Get familiar with PHP or Ruby programming and try some simple AGI scripting</li>
<li>One idea might be to write an AGI script that reads the time and temperature</li>
</ul>
<p><strong>Response</strong>:</p>
<ul>
<li> I&#8217;ve decided to continue with PHP, in order to further my study in the language. For the assignment, I assigned four major cities, one per timezone, to the touchpad.
<ol>
<li>Boston</li>
<li>Minneapolis</li>
<li>Denver</li>
<li>Las Vegas</li>
</ol>
</li>
<li>The server will respond by stating the city, the time in said timezone, and weather.</li>
</ul>
<p><strong>Code</strong>:<br />
<code><br />
#!/usr/bin/php -q<br />
<!--?php /*  * Reads the time &#038; weather   */ require('/var/lib/asterisk/agi-bin/phpagi.php'); $agi = new AGI(); $agi--->answer();</code></p>
<p><code>$cities = array();<br />
$cities[1] = array("BOS", "Boston", "http://www.weather.gov/xml/current_obs/KBOS.xml", 0);<br />
$cities[2] = array("MSP", "Minneapolis", "http://www.weather.gov/xml/current_obs/KMSP.xml", 3600);<br />
$cities[3] = array("DEN", "Denver", "http://www.weather.gov/xml/current_obs/KDEN.xml", 7200);<br />
$cities[4] = array("LAS", "Las Vegas", "http://www.weather.gov/xml/current_obs/KLAS.xml", 10800);<br />
$continue = true;</code></p>
<p><code>while($continue) {<br />
$agi-&gt;stream_file("vm-extension");<br />
$return = $agi-&gt;wait_for_digit(-1); // -1 = wait forever<br />
if ($return['result'] &gt;= 0) {<br />
$ascii = chr($return['result']);<br />
} else {<br />
$continue = false;<br />
}<br />
$weatherPage=file_get_contents($cities[$ascii][2]);<br />
$currentTemp = -100;<br />
if (preg_match("/([0-9.-]+)&lt;\/temp_f&gt;/i",$weatherPage,$matches))  {<br />
$currentTemp=$matches[1];<br />
} else {<br />
noop("no match");<br />
}</p>
<p>if ($currentTemp &gt; -100) {<br />
$agi-&gt;text2wav($cities[$ascii][1]);<br />
$agi-&gt;say_time(time() - $cities[$ascii][3]);<br />
$agi-&gt;say_number($currentTemp);<br />
$agi-&gt;text2wav("Degrees");<br />
} else {<br />
$continue = false;<br />
}<br />
}</p>
<p>//will print to Asterisk console.  Useful for debugging<br />
function noop($message){<br />
echo ("NOOP " . $message . "\n");<br />
}</p>
<p>/* End AGI Scripting */</p>
<p></code></p>
<p><code>?&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1681</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Asterisk Apps</title>
		<link>http://ezraezraezra.com/?p=1670</link>
		<comments>http://ezraezraezra.com/?p=1670#comments</comments>
		<pubDate>Fri, 10 Feb 2012 17:01:41 +0000</pubDate>
		<dc:creator>ezraezra</dc:creator>
				<category><![CDATA[Interactive Telecommunications]]></category>
		<category><![CDATA[Redial]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[dial]]></category>
		<category><![CDATA[dialplan]]></category>
		<category><![CDATA[ezra]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[itp]]></category>
		<category><![CDATA[nyu]]></category>
		<category><![CDATA[redial]]></category>
		<category><![CDATA[telecommunication]]></category>
		<category><![CDATA[velazquez]]></category>

		<guid isPermaLink="false">http://ezraezraezra.com/?p=1670</guid>
		<description><![CDATA[Week 3]]></description>
			<content:encoded><![CDATA[<p id="top" />Assignment:</p>
<ul>
<li> Setup a softphone for your use with Asterisk</li>
<li>Try out the &#8220;Dial&#8221; application both through the Dialplan and with &#8220;call files&#8221;. (Be responsible)</li>
</ul>
<p>Response:</p>
<ul>
<li> Zoiper (the sofphone software I&#8217;m using) doesn&#8217;t seem to happy with SIP; it will not play the audio or accept any extension. IAX on the other hand, works like a charm.</li>
<li>I can finally record &amp; playback phone calls, which is pretty exciting in it self.</li>
</ul>
<p>Code:<br />
<code><br />
exten =&gt; s,1,goto(ev526_week_3,s,1)</code></p>
<p><code>[ev526_sip]<br />
exten =&gt; s,1,Goto(ev526_sip,1,1);<br />
exten =&gt; _X,1,Answer();<br />
same =&gt; n,SayPhonetic("TWO")<br />
exten =&gt; _X,n,Goto(ev526,s,1);</code></p>
<p><code>[ev526_iax]<br />
exten =&gt; s,1,Goto(ev526_iax,1,1)<br />
exten =&gt; _X,1,Answer()<br />
same =&gt; n,SayPhonetic("TWO")<br />
exten =&gt; _X,n,Goto(ev526,s,1)</p>
<p>[ev526_week_3]<br />
exten =&gt; s,1,Answer()<br />
same =&gt; n,Background(dir-welcome)<br />
same =&gt; n,Background(vm-extension)<br />
same =&gt; n,WaitExten(5)<br />
exten =&gt; 1,1,Answer()<br />
same =&gt; n,NoOp(${CALLERID(all)})<br />
same =&gt; n,NoOp(${CALLERID(num)})<br />
same =&gt; n,NoOp(${SIPUSERAGENT})<br />
same =&gt; n,NoOp(${EXTEN})</p>
<p>;Save into datavase<br />
same =&gt; n,Set(the_date=${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})) ;creates current time<br />
same =&gt; n,Set(DB(ev526/lastcalltime)=${the_date}) ;save date to database<br />
same =&gt; n,Set(LASTCALLTIME=${DB(ev526/lastcalltime)}) ;get value to use</p>
<p>;Update database<br />
same =&gt; n,Set(DID_SOMETHING=${DB(ev526/something)})<br />
same =&gt; n,Set(DID_SOMETHING=$[1 + ${DID_SOMETHING}])<br />
same =&gt; n,Set(DB(ev526/something)=${DID_SOMETHING})</p>
<p></code></p>
<p><code> same =&gt; n,Wait(5)<br />
same =&gt; n,GoTo(ev526_week_3,s,1)<br />
exten =&gt; 2,1,Answer()<br />
;To "real" phone<br />
same =&gt; n,Dial(SIP/itp_jnctn/19498423052,30,r);<br />
exten =&gt; 3,1,Answer()<br />
;To "soft" phone<br />
same =&gt; n,Dial(IAX2/ev526_iax,30,r)<br />
;Reset caller ID to new number<br />
;same =&gt; n,Set(CALLERID(num)=11231231234)<br />
exten =&gt; 4,1,Answer()<br />
;Record specific time period, stop recording when # is pressed<br />
same =&gt; n,Record(/home/ev526/asterisk_sounds/rec/say_something.gsm,5,30)<br />
;Playback with Controls<br />
same =&gt; n,ControlPlayback(/home/ev526/asterisk_sounds/rec/say_something,1000,#,*,0,1,2)<br />
same =&gt; n,GoTo(ev526_week_3,s,1)<br />
exten =&gt; 5,1,Answer()<br />
;Record until caller hangs up<br />
same =&gt; n,Record(/home/ev526/asterisk_sounds/rec/say_something.gsm,,,k)<br />
exten =&gt; 6,1,Answer()<br />
;Record both parties in a conversation<br />
same =&gt; n,Monitor(wav,/home/ev526/asterisk_sounds/rec/call_monitor);<br />
same =&gt; n,Dial(SIP/itp_jnctn/19498423052,30,r);<br />
exten =&gt; 7,1,Answer()<br />
same =&gt; n,ControlPlayback(/home/ev526/asterisk_sounds/rec/call_monitor-in,1000,#,*,0,1,2)<br />
same =&gt; n,GoTo(ev526_week_3,s,1)<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ezraezraezra.com/?feed=rss2&#038;p=1670</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
