<?xml version="1.0"?>
<News hasArchived="true" page="8370" pageCount="10730" pageSize="10" timestamp="Wed, 22 Jul 2026 09:55:10 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8370">
<NewsItem contentIssues="false" id="34871" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34871">
<Title>Men's Swimming and Diving Set to Compete at CCSA Championships in 2014</Title>
<Body>
<![CDATA[
    <div class="html-content">CHARLOTTE, N.C. � The UMBC men's swimming and diving program, winners of 15 total conference championships, will compete at the Coastal Collegiate Swimming Association (CCSA) Championships starting in February 2014, the conference announced on Monday afternoon.</div>
]]>
</Body>
<Summary>CHARLOTTE, N.C. � The UMBC men's swimming and diving program, winners of 15 total conference championships, will compete at the Coastal Collegiate Swimming Association (CCSA) Championships...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8090</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34871/guest@my.umbc.edu/35cbfab9c237ccc9d0c81afb79c20fe5/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 29 Aug 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="34897" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34897">
<Title>UMBC Volleyball Kicks Off Season Friday at GW/Nike Invitational</Title>
<Body>
<![CDATA[
    <div class="html-content">BALTIMORE � The UMBC volleyball team kicks off its 2013 season on Friday at the GW/Nike Invitational in Washington, D.C.  The Retrievers open the season with a match against SEC foe Ole Miss at 5:00 p.m. at the Smith Center before returning on Saturday to take on tournament host George Washington and in-state rival Maryland at 10:00 a.m. and 5:00 p.m., respectively.</div>
]]>
</Body>
<Summary>BALTIMORE � The UMBC volleyball team kicks off its 2013 season on Friday at the GW/Nike Invitational in Washington, D.C.  The Retrievers open the season with a match against SEC foe Ole Miss at...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8092</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34897/guest@my.umbc.edu/90a6c93ea5e1e8b89f836bad2f5787e1/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 29 Aug 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="34863" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34863">
<Title>Women's Soccer Looks to Continue Momentum Versus 
St. Joseph's and Drexel</Title>
<Body>
<![CDATA[
    <div class="html-content">The UMBC women's soccer team looks to build momentum off of Sunday's 2-1 victory against American, as it takes on St. Joseph's and Drexel over the weekend. The black and gold will travel to Philadelphia on Friday, Aug. 30 for a 7:30 p.m. matchup versus the Hawks at Sweeney Field, before returning home for a UMBC soccer doubleheader on Sunday, Sept. 1 at the Retriever Soccer Park. The men open up the afternoon taking on UNLV at 1 p.m., followed by the women battling Drexel at 4 p.m.</div>
]]>
</Body>
<Summary>The UMBC women's soccer team looks to build momentum off of Sunday's 2-1 victory against American, as it takes on St. Joseph's and Drexel over the weekend. The black and gold will travel to...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8089</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34863/guest@my.umbc.edu/4b555546f66afc3d5e37c750683d0678/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 29 Aug 2013 01:00:00 -0400</PostedAt>
<EditAt>Thu, 29 Aug 2013 01:00:00 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="34855" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34855">
<Title>Men's Recreation Locker Room Closed Friday, August 30th</Title>
<Tagline>Men's Recreation Locker Room Closed Friday, August 30th</Tagline>
<Body>
<![CDATA[
    <div class="html-content">All UMBC Students, Faculty, Staff, and RAC Members,<br><br>The Men's Recreation Locker Room will be <u><strong>CLOSED ALL DAY</strong></u> on <em><strong>Friday, August 30th</strong></em> for Maintenance. <br><br>Please use the Men's Pool Locker Room to change and shower during that time.<br><br>Thank you for your cooperation!<br><br>--<br>RAC Staff<br>
    </div>
]]>
</Body>
<Summary>All UMBC Students, Faculty, Staff, and RAC Members,  The Men's Recreation Locker Room will be CLOSED ALL DAY on Friday, August 30th for Maintenance.   Please use the Men's Pool Locker Room to...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34855/guest@my.umbc.edu/35b9f5a1ae1aaa19ef4f58d0c5fc43ec/api/pixel</TrackingUrl>
<Group token="recsports">Recreation at the RAC</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/recsports</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/xsmall.png?1661189624</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/original.png?1661189624</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/xxlarge.png?1661189624</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/xlarge.png?1661189624</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/large.png?1661189624</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/medium.png?1661189624</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/small.png?1661189624</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/xsmall.png?1661189624</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/257/f9c91c92f9b48ff33e640906e80bc588/xxsmall.png?1661189624</AvatarUrl>
<Sponsor>Recreation at the RAC</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 22:03:29 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="34854" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34854">
<Title>The demand for cyber warriors is on the rise: &amp;quot;Global spending on information se...</Title>
<Body>
<![CDATA[
    <div class="html-content">The demand for cyber warriors is on the rise: "Global spending on information security will total $64.4 billion this year" (via <a href="/profile.php?id=107865479248221" title="To tag someone, type @ and then the friend's name" rel="nofollow external" class="bo">USAToday</a>).<br><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.usatoday.com%2Fstory%2Fcybertruth%2F2013%2F08%2F27%2Finvestors-saturate-cybersecurity-firms-with-cash%2F2702279%2F&amp;h=_AQEJExRt&amp;s=1" title="" rel="nofollow external" class="bo"><img src="https://fbexternal-a.akamaihd.net/safe_image.php?d=AQBR9qoX8rGrr2D9&amp;w=130&amp;h=130&amp;url=http%3A%2F%2Fwww.gannett-cdn.com%2F-mm-%2F2d8bbf2f05ae373747d1053c62bfcc8a77a102d5%2Fc%3D338-103-2727-1904%26r%3Dx404%26c%3D534x401%2Flocal%2F-%2Fmedia%2FUSATODAY%2FGenericImages%2F2013%2F08%2F26%2F1377572997000-sh-100dollarbills.jpg" alt="" style="max-width: 100%; height: auto;"></a><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.usatoday.com%2Fstory%2Fcybertruth%2F2013%2F08%2F27%2Finvestors-saturate-cybersecurity-firms-with-cash%2F2702279%2F&amp;h=vAQF4Tt9e&amp;s=1" rel="nofollow external" class="bo">Investment capital floods cybersecurity market</a><br>SEATTLE – Investment cash continues to drench promising cybersecurity companies. HyTrust , which provides security systems for cloud environments, is the latest beneficiary. The Silicon Valley-based firm on</div>
]]>
</Body>
<Summary>The demand for cyber warriors is on the rise: "Global spending on information security will total $64.4 billion this year" (via USAToday).   Investment capital floods cybersecurity market SEATTLE...</Summary>
<Website>http://www.facebook.com/umbctraining/posts/10151548229861076</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34854/guest@my.umbc.edu/d6b56b5fe0d436fc885589575ee6c5dd/api/pixel</TrackingUrl>
<Tag>ccna</Tag>
<Tag>ceh</Tag>
<Tag>centers</Tag>
<Tag>cisco</Tag>
<Tag>cyber</Tag>
<Tag>cybersecurity</Tag>
<Tag>information</Tag>
<Tag>it</Tag>
<Tag>leadership</Tag>
<Tag>management</Tag>
<Tag>microsoft</Tag>
<Tag>project</Tag>
<Tag>security</Tag>
<Tag>technology</Tag>
<Tag>training</Tag>
<Tag>umbc</Tag>
<Group token="retired-575">UMBC Training Centers</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-575</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/original.jpg?1361981335</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/large.png?1361981335</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/medium.png?1361981335</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/small.png?1361981335</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxsmall.png?1361981335</AvatarUrl>
<Sponsor>UMBC Training Centers</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 21:40:08 -0400</PostedAt>
<EditAt>Wed, 28 Aug 2013 21:40:08 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="34856" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34856">
<Title>Automattic Takes on Storify with WordPress Media Explorer for Curating Tweets and YouTube Videos</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Automattic announces the release of their new Media Explorer which provides WordPress bloggers with a new tool to curate trending content from Twitter and YouTube all without needing to leave their post.</p></div>
]]>
</Body>
<Summary>Automattic announces the release of their new Media Explorer which provides WordPress bloggers with a new tool to curate trending content from Twitter and YouTube all without needing to leave...</Summary>
<Website>http://www.htmlgoodies.com/daily_news/automattic-takes-on-storify-with-wordpress-media-explorer-for-curating-tweets-and-youtube-videos.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34856/guest@my.umbc.edu/67f6aad2120303f54a04cdd62f85faa6/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 21:09:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="34857" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34857">
<Title>RawVoice Announces the Release of PowerPress 5.0</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Podcasting powerhouse RawVoice announced the release of PowerPress 5.0, a platform that provides content creators everything they need to podcast with a WordPress website or blog.</p></div>
]]>
</Body>
<Summary>Podcasting powerhouse RawVoice announced the release of PowerPress 5.0, a platform that provides content creators everything they need to podcast with a WordPress website or blog.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/rawvoice-announces-the-release-of-powerpress-5.0.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34857/guest@my.umbc.edu/563b712416ed32912db38d389f8ce0e8/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 20:54:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="34853" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34853">
<Title>Bits Blog: Twitter Buys a Referee in the Fight Over Online TV Chatter</Title>
<Body>
<![CDATA[
    <div class="html-content">The social network has bought Trendrr, a research firm that recently published a study on the importance of Facebook, Twitter’s arch-rival, as an online platform for people to discuss television shows while they are airing.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F28%2Ftwitter-buys-a-referee-in-the-fight-over-online-tv-chatter%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Twitter+Buys+a+Referee+in+the+Fight+Over+Online+TV+Chatter" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F28%2Ftwitter-buys-a-referee-in-the-fight-over-online-tv-chatter%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Twitter+Buys+a+Referee+in+the+Fight+Over+Online+TV+Chatter" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F28%2Ftwitter-buys-a-referee-in-the-fight-over-online-tv-chatter%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Twitter+Buys+a+Referee+in+the+Fight+Over+Online+TV+Chatter" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F28%2Ftwitter-buys-a-referee-in-the-fight-over-online-tv-chatter%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Twitter+Buys+a+Referee+in+the+Fight+Over+Online+TV+Chatter" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F28%2Ftwitter-buys-a-referee-in-the-fight-over-online-tv-chatter%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Twitter+Buys+a+Referee+in+the+Fight+Over+Online+TV+Chatter" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/sc/21/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173608337737/u/0/f/640387/c/34625/s/308612cb/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The social network has bought Trendrr, a research firm that recently published a study on the importance of Facebook, Twitter’s arch-rival, as an online platform for people to discuss television...</Summary>
<Website>http://bits.blogs.nytimes.com/2013/08/28/twitter-buys-a-referee-in-the-fight-over-online-tv-chatter/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34853/guest@my.umbc.edu/56c017b557bf01f72bc6ba9e8a600f0d/api/pixel</TrackingUrl>
<Tag>facebook-inc</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>new</Tag>
<Tag>online-advertising</Tag>
<Tag>social</Tag>
<Tag>social-media</Tag>
<Tag>technology</Tag>
<Tag>twitter</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 20:39:02 -0400</PostedAt>
<EditAt>Thu, 29 Aug 2013 17:03:15 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="34851" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34851">
<Title>App Smart: Streaming for a Good Beat That&#8217;s Just to Your Taste</Title>
<Body>
<![CDATA[
    <div class="html-content">Online music services let users create their own “radio stations” that play the kind of songs they like, and will suggest similar music.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F29%2Ftechnology%2Fpersonaltech%2Fstreaming-for-a-good-beat-thats-just-to-your-taste.html%3Fpartner%3Drss%26emc%3Drss&amp;t=App+Smart%3A+Streaming+for+a+Good+Beat+That%E2%80%99s+Just+to+Your+Taste" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F29%2Ftechnology%2Fpersonaltech%2Fstreaming-for-a-good-beat-thats-just-to-your-taste.html%3Fpartner%3Drss%26emc%3Drss&amp;t=App+Smart%3A+Streaming+for+a+Good+Beat+That%E2%80%99s+Just+to+Your+Taste" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F29%2Ftechnology%2Fpersonaltech%2Fstreaming-for-a-good-beat-thats-just-to-your-taste.html%3Fpartner%3Drss%26emc%3Drss&amp;t=App+Smart%3A+Streaming+for+a+Good+Beat+That%E2%80%99s+Just+to+Your+Taste" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F29%2Ftechnology%2Fpersonaltech%2Fstreaming-for-a-good-beat-thats-just-to-your-taste.html%3Fpartner%3Drss%26emc%3Drss&amp;t=App+Smart%3A+Streaming+for+a+Good+Beat+That%E2%80%99s+Just+to+Your+Taste" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F29%2Ftechnology%2Fpersonaltech%2Fstreaming-for-a-good-beat-thats-just-to-your-taste.html%3Fpartner%3Drss%26emc%3Drss&amp;t=App+Smart%3A+Streaming+for+a+Good+Beat+That%E2%80%99s+Just+to+Your+Taste" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173953146071/u/0/f/640387/c/34625/s/308482e0/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Online music services let users create their own “radio stations” that play the kind of songs they like, and will suggest similar music.      </Summary>
<Website>http://www.nytimes.com/2013/08/29/technology/personaltech/streaming-for-a-good-beat-thats-just-to-your-taste.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34851/guest@my.umbc.edu/ecf20cd98b7cd35a42f64de1baae7c6f/api/pixel</TrackingUrl>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>mobile-applications</Tag>
<Tag>music</Tag>
<Tag>new</Tag>
<Tag>pandora-media-inc-p-nyse</Tag>
<Tag>rhapsody-com</Tag>
<Tag>soundcloud</Tag>
<Tag>spotify</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 19:23:16 -0400</PostedAt>
<EditAt>Thu, 29 Aug 2013 09:43:17 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="34852" important="false" status="posted" url="https://my3.my.umbc.edu/posts/34852">
<Title>Xdebug &#8211; Professional PHP Debugging</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=34396&amp;c=1575701382" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=34396&amp;c=1575701382" alt="" style="max-width: 100%; height: auto;"></a><h2>Our Agenda</h2>
    <ol>
    <li>Introduction to the topic.</li>
    <li>Downloading and installing Xdebug on your local machine (Mac OS X 10.6.6+, MAMP 2.1.1).</li>
    <li>Integrating with PhpStorm.</li>
    <li>Practice debugging.</li>
    </ol>
    <p></p>
    <hr>
    <h2>What You Will Need</h2>
    <ul>
    <li>A Mac running Mac OS X 10.6.6+.<ul>
    <li>If you are on 10.8.X you <em>may</em> need to install <a href="http://xquartz.macosforge.org/landing/" rel="nofollow external" class="bo">XQuartz</a> as Apple removed X11.</li>
    <li>If you are on Windows, the whole process is somewhat easier, just hit Google for more details.</li>
    </ul>
    </li>
    <li>Apple Xcode 4.6 (free on the Mac App Store).<ul><li>Command Line Tools.</li></ul>
    </li>
    <li>Homebrew.</li>
    <li>A terminal app of your choice.</li>
    <li>PhpStorm 5+ (many other IDE’s will work as well).</li>
    </ul>
    <hr>
    <h2>What Is Xdebug?</h2>
    <p>Well, technically, Xdebug is an extension for PHP to make your life easier while debugging your code. Right now, you may be used to debugging your code with various other simple solutions. These include using <code>echo</code> statements at different states within your program to find out if your application passes a condition or to get the value of a certain variable. Furthermore, you might often use functions like <code>var_dump</code>, <code>print_r</code> or others to inspect objects and arrays.</p>
    <p>What I often come across are little helper functions, like this one for instance:</p>
    <pre>function dump($value) {&#x000A;        echo ‘&lt;pre&gt;';&#x000A;        var_dump($value);&#x000A;        echo ‘&lt;/pre&gt;';&#x000A;    }&#x000A;    </pre>
    <blockquote><p>The truth is, I used to do this too, for a very long time actually.</p></blockquote>
    <p>The truth is, I used to do this too, for a very long time actually. So what’s wrong with it? Technically, there is nothing wrong with it. It works and does what it should do.</p>
    <p>But just imagine for a moment, as your applications evolve, you might get into the habit of sprinkling your code all over with little echos, var_dumps and custom debuggers. Now granted, this isn’t obstructive during your testing workflow, but what if you forget to clean out some of that debug code before it goes to production? This can cause some pretty scary issues, as those tiny debuggers may even find their way into version control and stay there for a long time.</p>
    <p>The next question is: how do you debug in production? Again, imagine you’re surfing one of your favorite web-services and suddenly you get a big array dump of debug information presented to you on screen. Now of course it may disappear after the next browser refresh, but it’s not a very good experience for the user of the website.</p>
    <p>Now lastly, have you ever wished to be able to step through your code, line by line, watch expressions, and even step into a function call to see why it’s producing the wrong return value?</p>
    <p>Well, you should definitely dig into the world of professional debugging with <strong>Xdebug</strong>, as it can solve all of the problems above.</p>
    <hr>
    <h2>Configuring MAMP</h2>
    <p>I don’t want to go too deep into the downloading and installation process of MAMP on a Mac. Instead, I’ll just share with you that I’m using PHP 5.4.4 and the standard Apache Port (80) throughout this read.</p>
    <hr>
    <h2>Your First Decision</h2>
    <p>A quick note before we start with building our own Xdebug via Homebrew: If you want to take the easiest route, MAMP already comes with Xdebug 2.2.0. To enable it, open:</p>
    <p><code>/Applications/MAMP/bin/php/php5.4.4/conf/php.ini</code></p>
    <p>with a text editor of your choice, go to the very bottom and uncomment the very last line by removing the <code>;</code>.</p>
    <p>The last two lines of the file should read like this:</p>
    <pre>[xdebug]&#x000A;    zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/ no-debug-non-zts-20100525/xdebug.so"&#x000A;    </pre>
    <p>Now if you’re asking yourself:</p>
    <blockquote><p>“Why would I want to choose a harder way than this one?”</p></blockquote>
    <p>And my answer to that is, it is never a mistake to look beyond your rim and learn something new. Especially as a developer these days, throwing an eye on server related stuff will always come in handy at some point in time. Promised.</p>
    <hr>
    <h2>Install Xcode and Command Line Tools</h2>
    <p>You can get Apple Xcode for free off of the Mac App Store. Once you’ve downloaded it, please go to the application preferences, hit the <strong>“Downloads”</strong> tab and install the <strong>“Command Line Tools”</strong> from the list.</p>
    <hr>
    <h2>Install Homebrew</h2>
    <p>Homebrew is a neat little package manager for Mac OS X which gets you all the stuff Apple left out. To install Homebrew, just paste the following command into your terminal.</p>
    <pre>ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"&#x000A;    </pre>
    <p>On a Mac, Homebrew will be the most convenient way to install Xdebug. On Linux however, compiling it yourself is the best way to go; which is not that easy on a Mac.</p>
    <p>Tip: Windows users just need to download the <code>*.dll</code> file from Xdebug.org, put it into the XAMPP folder and add the path to their <code>php.ini</code> file.</p>
    <p>As a PHP developer, you should from now on be aware of Jose Gonzalez’s “homebrew-php” Github repo, which holds a lot of useful “brews” for you. If you’ve ever asked yourself how to install PHP 5.4 manually, you are right there.</p>
    <p>Now if you get into any trouble while installing Homebrew, check out <a href="https://github.com/josegonzalez/homebrew-php/blob/master/README.md" rel="nofollow external" class="bo">Jose’s Readme</a>.</p>
    <p>To complete our Homebrew excursion, we want to “tap” into Jose’s brewing formulae by executing the following commands within your terminal application:</p>
    <pre>brew tap homebrew/dupes&#x000A;    </pre>
    <p>This will get us some dependencies we need for Jose’s formulae.</p>
    <pre>brew tap josegonzalez/homebrew-php&#x000A;    </pre>
    <p>Done! Now we should be ready to install Xdebug the comfy way, on a Mac.</p>
    <hr>
    <h2>Install Xdebug</h2>
    <p>Back in your terminal application, please execute:</p>
    <pre>brew install php54-xdebug&#x000A;    </pre>
    <p>If you are on PHP 5.3, just replace the “4″ with a “3″ ;)</p>
    <p>The installation will take some time. After it’s done, you’ll see a little beer icon and some further instructions which you can ignore.</p>
    <p>So what just happened? Homebrew downloaded all the files including their dependencies and built them for you. As I’ve already told you, compiling yourself on a Mac can be a hassle. At the end, we got a freshly compiled <code>xdebug.so</code> located at <code>/usr/local/Cellar/php54-xdebug/2.2.1/</code>.</p>
    <blockquote><p>Attention: Please note that Homebrew will install PHP 5.4 to your system during the process. This should not influence anything as it is not enabled on your system.</p></blockquote>
    <p>To finally install Xdebug, we just need to follow a few more steps.</p>
    <p>Change directory (<code>cd</code>) to MAMP’s extensions folder:</p>
    <pre>cd /Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525&#x000A;    </pre>
    <p>You can re-check the path by looking at the last line of <code>/Applications/MAMP/bin/php/php5.4.4/conf/php.ini</code>, as this is where we are going.</p>
    <p>Backup the existing <code>xdebug.so</code> just in case:</p>
    <pre>mv xdebug.so xdebug.so.bak&#x000A;    </pre>
    <p>Then copy your Homebrew Xdebug build:</p>
    <pre>cp /usr/local/Cellar/php54-xdebug/2.2.1/xdebug.so /Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/&#x000A;    </pre>
    <p>If you want to force a copy (<code>cp</code>) command to overwrite existing files, just do <code>cp -X source target</code>.</p>
    <p>Last, but not least, we need to modify the <code>php.ini</code> file to load the Xdebug extension file. Open <code>/Applications/MAMP/bin/php/php5.4.4/conf/php.ini</code> with a text editor of your choice, go to the very bottom and uncomment the last line by removing the semicolon at the front. <em>Don’t close</em> the file just yet.</p>
    <p>Now relaunch MAMP, go to <code><a href="http://localhost/MAMP/phpinfo.php">http://localhost/MAMP/phpinfo.php</a></code>. If everything went well, you should find this within the output:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/xdebug-in-phpinfo.png" alt="xdebug-in-phpinfo" width="600" height="93" style="max-width: 100%; height: auto;"><br> <p>If it did <em>not</em> work, please make sure that you really copied over the <code>xdebug.so</code> and have the right path in your <code>php.ini</code> file.</p>
    <hr>
    <h2>Start Debugging</h2>
    <p>Before we can actually start debugging, we need to enable Xdebug. Therefore, I hope you didn’t close out your <code>php.ini</code>, as we need to add this line to the very end, after the <code>zend_extension</code> option:</p>
    <pre>xdebug.remote_enable = On&#x000A;    </pre>
    <p>Save and close your <code>php.ini</code> file and restart MAMP. Go to <code><a href="http://localhost/MAMP/phpinfo.php">http://localhost/MAMP/phpinfo.php</a></code> again and search for <code>xdebug.remote</code> on the site. Your values should look exactly like mine:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/xdebug-remote-in-phpinfo.png" alt="xdebug-remote-in-phpinfo" width="600" height="194" style="max-width: 100%; height: auto;"><br> <p>If they do not, follow the same procedure you used to add <code>remote_enable = On</code> for the other statements at the end of your <code>php.ini</code> file.</p>
    <p>Now, open your IDE of choice. You can use Xdebug with a number of popular software solutions like Eclipse, Netbeans, PhpStorm and also <a href="https://github.com/Kindari/SublimeXdebug" rel="nofollow external" class="bo">Sublime Text</a>. Like I said before, I am going to use PhpStorm EAP 6 for this demo.</p>
    <p>Inside of PhpStorm, open the application preferences and find your way to <strong>“PHP \ Debug \ DBGp Proxy”</strong> on the left hand side, like in the screenshot below:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debug-settings.png" alt="phpstorm-debug-settings" width="600" height="371" style="max-width: 100%; height: auto;"><br> <p>Now choose your personal IDE key. This can be any alphanumeric string you want. I prefer to just call it <code>PHPSTORM</code>, but <code>XDEBUG_IDE</code> or <code>myname</code> would be perfectly fine too. It is important to set the <strong>“Port”</strong> value to <code>9000</code> as our standard Xdebug configuration uses this port to connect to the IDE.</p>
    <p>Tip: If you need to adjust this, add <code>xdebug.remote_port = portnumber</code> to your <code>php.ini</code> file.</p>
    <p>Attention: Other components may change this value inside of PhpStorm, so watch out for it if something fails.</p>
    <p>Next, click that red little phone button with a tiny bug next to it on the top toolbar. It should turn green. This makes PhpStorm listen for any incoming Xdebug connections.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-bug-phone.png" alt="phpstorm-bug-phone" width="158" height="67" style="max-width: 100%; height: auto;"><br> <p>Now we need to create something to debug. Create a new PHP file, call it whatever you’d like and paste in the following code:</p>
    <pre>&lt;?php&#x000A;    &#x000A;    // Declare data file name&#x000A;    $dataFile = 'data.json';&#x000A;    &#x000A;    // Load our data&#x000A;    $data = loadData($dataFile);&#x000A;    &#x000A;    // Could we load the data?&#x000A;    if (!$data) {&#x000A;        die('Could not load data');&#x000A;    }&#x000A;    &#x000A;    if (!isset($data['hitCount'])) {&#x000A;        $data['hitCount'] = 1;&#x000A;    }&#x000A;    else {&#x000A;        $data['hitCount'] += 1;&#x000A;    }&#x000A;    &#x000A;    $result = saveData($data, $dataFile);&#x000A;    &#x000A;    echo ($result) ? 'Success' : 'Error';&#x000A;    &#x000A;    function loadData($file)&#x000A;    {&#x000A;        // Does the file exist?&#x000A;        if (!file_exists($file)) {&#x000A;            // Well, just create it now&#x000A;            // Save an empty array encoded to JSON in it&#x000A;            file_put_contents($file, json_encode(array()));&#x000A;        }&#x000A;    &#x000A;        // Get JSON data&#x000A;        $jsonData = file_get_contents($file);&#x000A;        $phpData  = json_decode($jsonData);&#x000A;    &#x000A;        return ($phpData) ? $phpData : false;&#x000A;    }&#x000A;    &#x000A;    function saveData($array, $file)&#x000A;    {&#x000A;        $jsonData = json_encode($array);&#x000A;        $bytes = file_put_contents($file, $jsonData);&#x000A;    &#x000A;        return ($bytes != 0) ? true : false;&#x000A;    }&#x000A;    </pre>
    <p>Now this code is falsy by default, but we will fix it in a moment, in the next section.</p>
    <p>Make sure everything is saved and open up your browser to the script we just created. I will use Google Chrome for this demo, but any browser will do.</p>
    <p>Now let’s take a moment to understand how the debugging process is initialized. Our current status is: Xdebug enabled as Zend extension, listening on <code>port 9000</code> for a cookie to appear during a request. This cookie will carry an IDE key which should be the same as the one we set-up inside of our IDE. As Xdebug sees the cookie carrying the request, it will try to connect to a proxy, our IDE.</p>
    <p>So how do we get that cookie in place? PHP’s <code>setcookie</code>? No. Although there are multiple ways, even some to get this working without a cookie, we will use a <a href="https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc" rel="nofollow external" class="bo">little browser extension</a> as a helper.</p>
    <p>Install the “Xdebug helper”" to your Google Chrome browser or search for any extension that will do it for the browser you are using.</p>
    <p>Once you’ve installed the extension, right click the little bug appearing in your address bar and go to the options. Configure the value for the IDE key to match the key you chose in your IDE, like so:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/xdebug-browser-extension.png" alt="xdebug-browser-extension" width="450" height="754" style="max-width: 100%; height: auto;"><br> <p>After configuring it, click the bug and select <strong>“Debug”</strong> from the list. The bug should turn green:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/xdebug-browser-extension-active.png" alt="xdebug-browser-extension-active" width="151" height="208" style="max-width: 100%; height: auto;"><br> <p>Now, go back to PhpStorm or your IDE of choice and set a “breakpoint”. Breakpoints are like markers on a line which tell the debugger to halt the execution of the script at that breakpoint.</p>
    <p>In PhpStorm, you can simply add breakpoints by clicking the space next to the line numbers on the left hand side:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-breakpoint.png" alt="phpstorm-breakpoint" width="600" height="143" style="max-width: 100%; height: auto;"><br> <p>Just try to click where the red dot appears on the screenshot. You will then have a breakpoint set at which your script should pause.</p>
    <p>Note: You can have multiple breakpoints in as many files as you’d like.</p>
    <p>Now we are all set. Go back to your browser, make sure the bug is green and just reload the page to submit the cookie with the next request.</p>
    <p>Tip: if you set a cookie, it will be available to the next request.</p>
    <p>If everything goes according to plan, this window should pop up inside of PhpStorm to inform you of an incoming debug connection:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-incoming-debug-connection.png" alt="phpstorm-incoming-debug-connection" width="487" height="562" style="max-width: 100%; height: auto;"><br> <p>Did the window not popup for you? Let’s do some troubleshooting and repeat what needs to be set in order for this to succeed:</p>
    <ol>
    <li>You should find Xdebug info inside of <code>phpinfo()</code>‘s output. If not, get the <code>xdebug.so</code> file in the right place and set up your <code>php.ini</code> file.</li>
    <li>Set PhpStorm DBGp settings to your IDE key e.g. “PHPSTORM” and port “9000″.</li>
    <li>Make PhpStorm listen for incoming debug connections using the red phone icon which will then turn green.</li>
    <li>Set a breakpoint in your code, or select <strong>“Run \ Break at first line in PHP scripts”</strong> to be independent from any breakpoints. Note that this is not suited for practical use.</li>
    <li>Get a browser extension to set the Xdebug cookie.</li>
    <li>Make sure the browser extension has the same IDE key in it that you chose inside of your IDE.</li>
    <li>Reload the page and PhpStorm should get the connection.</li>
    </ol>
    <p>If you get the dialog seen on the previous image, please accept it. This will take you into debug mode, like so:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-in-debug-mode.png" alt="phpstorm-in-debug-mode" width="600" height="502" style="max-width: 100%; height: auto;"><br> <p>You can see that the debugger stopped the script’s execution at your breakpoint, highlighting the line in blue. PHP is now waiting and controlled by Xdebug, which is being steered by your very own hands from now on.</p>
    <p>Our main workspace will be the lower section of the IDE which is already showing some information about the running script (the superglobals).</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-vars.png" alt="phpstorm-debugger-vars" width="434" height="361" style="max-width: 100%; height: auto;"><br> <p>And would you look at that? There’s the cookie we just set to start the debugging session. You can now click through the superglobals and inspect their values at this very moment. PHP is waiting, there is no time limit, at least not the default 30 seconds.</p>
    <p>On the left side, you’ll see a few buttons. For now, only <strong>“Play”</strong> and <strong>“Stop”</strong> are of interest to us. The green play button will resume the script. If there is another breakpoint in the code, the script will continue until it reaches the breakpoint and halt again.</p>
    <p>The red stop button aborts the script. Just like PHP’s <code>exit</code> or <code>die</code> would do.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-play-stop.png" alt="phpstorm-debugger-play-stop" width="70" height="98" style="max-width: 100%; height: auto;"><br> <p>Now the really interesting ones come in the upper section of the debug window:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-controls.png" alt="phpstorm-debugger-controls" width="600" height="265" style="max-width: 100%; height: auto;"><br> <p>Let’s quickly check them out:</p>
    <ol>
    <li>
    <strong>Step Over</strong>: This means step one line ahead.</li>
    <li>
    <strong>Step Into</strong>: If the blue line highlights, for example, a function call, this button let’s you step through the insights of the function.</li>
    <li>
    <strong>Step Out</strong>: If you stepped into a function and want to get out before the end is reached, just step out.</li>
    <li>
    <strong>Run to cursor</strong>: Let’s say that, for example, your file is 100 lines long and your breakpoint was set at line two in order to inspect something. Now you want to quickly run to the point where you just clicked your cursor to – this button is for you. You can click <strong>“Step over”</strong> <code>n</code> times too ;)</li>
    </ol>
    <p>Now don’t worry, as you use Xdebug you will rapidly adapt to the shortcuts on the keyboard.</p>
    <hr>
    <h2>Actually Debugging Some Example Code</h2>
    <p>I already told you that the code you copy/pasted is falsy, so you’ll need to debug it. Start stepping over the code, statement by statement.</p>
    <p>Note that the blue line only halts on lines which actually contain a command. Whitespace and comments will be skipped.</p>
    <p>Once you reach the function call to <code>loadData</code>, please <em>do not step into it</em>, just step over and halt on the <code>if</code> statement.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-you-cant-go-back.png" alt="phpstorm-debugger-you-cant-go-back" width="600" height="503" style="max-width: 100%; height: auto;"><br> <p>You can see two new variables in the <strong>“Variables”</strong> panel on the bottom of the screen. Now, why did the <code>$data</code> variable return false? It seems like the script should have done its job. Let’s take a look. Go back to line seven to step into the function call -&gt; bam! We get a message informing us that we can not “step back”. In order to get your debugger to line seven again, you need to stop this session and reload the page in the browser. Do so and step into the function call this time.</p>
    <p>Stop on the <code>return</code> statement inside of the <code>loadData</code> function and see what happened:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-in-a-function.png" alt="phpstorm-debugger-in-a-function" width="600" height="502" style="max-width: 100%; height: auto;"><br> <p>The <code>$phpData</code> array is empty. The <code>return</code> statement uses a ternary operator to detect what to return. And it will return <code>false</code> for an empty array.</p>
    <p>Fix the line to say:</p>
    <pre>return $phpData;&#x000A;    </pre>
    <p>As <code>json_decode</code> will either return the data or <code>null</code> on failure. Now stop the debug session, reload your browser, and step over the function call this time.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/phpstorm-debugger-still-falsy-data.png" alt="phpstorm-debugger-still-falsy-data" width="600" height="505" style="max-width: 100%; height: auto;"><br> <p>Now it seems like we still have a problem as we step into the condition. Please fix the condition to use <code>is_null()</code> to detect what’s going on:</p>
    <pre>if (is_null($data)) {&#x000A;        die('Could not load data');&#x000A;    }&#x000A;    </pre>
    <p>Now it’s up to you to try and step around a bit. I would suggest to revert the script to the original falsy version, debug it with <code>echo</code>‘s and then compare how that feels in comparison to using Xdebug.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>Throughout this article you should have gained a lot of new knowledge. Don’t hesitate to read it again and to help a friend set up Xdebug – nothing better than that!</p>
    <p>You may want to try replacing your usual debug behavior by using Xdebug instead. Especially with larger, object-oriented projects, as they become much easier to debug and even catch up on the flow, if you don’t get something right away.</p>
    <p>Note that this is just the tip of the iceberg. Xdebug offers much more power which needs to be explored as well.</p>
    <p>Please feel free to ask any questions in the comments and let me know what you think.</p>
    </div>
]]>
</Body>
<Summary>Our Agenda   Introduction to the topic.  Downloading and installing Xdebug on your local machine (Mac OS X 10.6.6+, MAMP 2.1.1).  Integrating with PhpStorm.  Practice debugging.     What You Will...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/ei1xoL6SUEk/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/34852/guest@my.umbc.edu/8fa4b14fc63c4cac90b60eedf830465d/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tools-and-tips</Tag>
<Tag>tutorials</Tag>
<Tag>wed</Tag>
<Tag>xdebug</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 28 Aug 2013 19:20:25 -0400</PostedAt>
<EditAt>Wed, 28 Aug 2013 19:20:25 -0400</EditAt>
</NewsItem>

</News>
