<?xml version="1.0"?>
<News hasArchived="true" page="8237" pageCount="10750" pageSize="10" timestamp="Fri, 14 Aug 2026 05:21:33 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8237">
<NewsItem contentIssues="true" id="36585" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36585">
<Title>DealBook: Icahn Gives Up Fight Over Dell Appraisal Rights</Title>
<Body>
<![CDATA[
    <div class="html-content">Carl C. Icahn, the billionaire investor, disclosed that he is forgoing his right to have the Delaware Court of Chancery appraise the value of his shares in the computer company.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Ficahn-gives-up-fight-over-dell-appraisal-rights%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Icahn+Gives+Up+Fight+Over+Dell+Appraisal+Rights" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Ficahn-gives-up-fight-over-dell-appraisal-rights%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Icahn+Gives+Up+Fight+Over+Dell+Appraisal+Rights" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Ficahn-gives-up-fight-over-dell-appraisal-rights%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Icahn+Gives+Up+Fight+Over+Dell+Appraisal+Rights" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Ficahn-gives-up-fight-over-dell-appraisal-rights%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Icahn+Gives+Up+Fight+Over+Dell+Appraisal+Rights" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Ficahn-gives-up-fight-over-dell-appraisal-rights%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Icahn+Gives+Up+Fight+Over+Dell+Appraisal+Rights" 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/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/sc/25/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176967535462/u/0/f/640387/c/34625/s/3210253a/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Carl C. Icahn, the billionaire investor, disclosed that he is forgoing his right to have the Delaware Court of Chancery appraise the value of his shares in the computer company.      </Summary>
<Website>http://dealbook.nytimes.com/2013/10/04/icahn-gives-up-fight-over-dell-appraisal-rights/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36585/guest@my.umbc.edu/eedfeb56ac78ab609f0002ab30c7942e/api/pixel</TrackingUrl>
<Tag>appraisals-and-valuation-property</Tag>
<Tag>dell-inc</Tag>
<Tag>dell-inc-dell-nasdaq</Tag>
<Tag>dell-michael-s</Tag>
<Tag>hedge-funds</Tag>
<Tag>icahn-carl-c</Tag>
<Tag>mergers-acquisitions-and-divestitures</Tag>
<Tag>mergers-and-acquisitions</Tag>
<Tag>new</Tag>
<Tag>shareholder-rights-and-activism</Tag>
<Tag>silver-lake-partners</Tag>
<Tag>technology</Tag>
<Tag>top-headline-2</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>Fri, 04 Oct 2013 12:44:27 -0400</PostedAt>
<EditAt>Fri, 04 Oct 2013 15:18:01 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36575" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36575">
<Title>Nominate an Athlete or Coach for UMBC&#8217;s Hall of Fame!</Title>
<Body>
<![CDATA[
    <div class="html-content">The UMBC Athletic Hall of Fame Committee is seeking nominees for induction into the Athletic Hall of Fame. The next induction ceremony will take place on Jan. 25, 2014. To be considered for the UMBC Athletic Hall of Fame, a … <a href="http://umbcalumni.wordpress.com/2013/10/04/umbc-athletic-hall-of-fame-2/" rel="nofollow external" class="bo">Continue reading <span>→</span></a>
    </div>
]]>
</Body>
<Summary>The UMBC Athletic Hall of Fame Committee is seeking nominees for induction into the Athletic Hall of Fame. The next induction ceremony will take place on Jan. 25, 2014. To be considered for the...</Summary>
<Website>http://umbcalumni.wordpress.com/2013/10/04/umbc-athletic-hall-of-fame-2/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36575/guest@my.umbc.edu/195fc7772c50eb4bc0de01b07f1bca26/api/pixel</TrackingUrl>
<Tag>athletes</Tag>
<Tag>division-i-ncaa</Tag>
<Tag>umbc</Tag>
<Tag>umbc-athletic-hall-of-fame</Tag>
<Tag>university-of-maryland-baltimore-county</Tag>
<Tag>university-of-maryland-university-college</Tag>
<Group token="retired-20">UMBC Alumni</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-20</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/xsmall.png?1280681147</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/original.png?1280681147</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/xxlarge.png?1280681147</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/xlarge.png?1280681147</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/large.png?1280681147</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/medium.png?1280681147</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/small.png?1280681147</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/xsmall.png?1280681147</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/020/08fe2621d8e716b02ec0da35256a998d/xxsmall.png?1280681147</AvatarUrl>
<Sponsor>UMBC Alumni</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 04 Oct 2013 11:34:53 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="106916" important="false" status="posted" url="https://my3.my.umbc.edu/posts/106916">
<Title>Nominate an Athlete or Coach for UMBC&#8217;s Hall of Fame!</Title>
<Body>
<![CDATA[
    <div class="html-content">The UMBC Athletic Hall of Fame Committee is seeking nominees for induction into the Athletic Hall of Fame. The next …</div>
]]>
</Body>
<Summary>The UMBC Athletic Hall of Fame Committee is seeking nominees for induction into the Athletic Hall of Fame. The next …</Summary>
<Website>https://magazine.umbc.edu/umbc-athletic-hall-of-fame-2/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/106916/guest@my.umbc.edu/823819e7f8c721e86758e6353bb62e13/api/pixel</TrackingUrl>
<Tag>alumni</Tag>
<Tag>division-i-ncaa</Tag>
<Tag>umbc</Tag>
<Tag>umbc-athletic-hall-of-fame</Tag>
<Tag>university-of-maryland-baltimore-county</Tag>
<Tag>university-of-maryland-university-college</Tag>
<Group token="retired-1945">UMBC Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-1945</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/images/avatars/group/8/xsmall.png?1786448318</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/images/avatars/group/8/original.png?1786448318</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/images/avatars/group/8/xxlarge.png?1786448318</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/images/avatars/group/8/xlarge.png?1786448318</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/images/avatars/group/8/large.png?1786448318</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/images/avatars/group/8/medium.png?1786448318</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/images/avatars/group/8/small.png?1786448318</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/images/avatars/group/8/xsmall.png?1786448318</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/images/avatars/group/8/xxsmall.png?1786448318</AvatarUrl>
<Sponsor>UMBC Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 04 Oct 2013 11:34:53 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="36576" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36576">
<Title>And Then Steve Said, &#8216;Let There Be an iPhone&#8217;</Title>
<Body>
<![CDATA[
    <div class="html-content">An age of darkness ended with a searing light, which shook the earth, and the great device was rendered unto thee.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F10%2F06%2Fmagazine%2Fand-then-steve-said-let-there-be-an-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=And+Then+Steve+Said%2C+%E2%80%98Let+There+Be+an+iPhone%E2%80%99" 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%2F10%2F06%2Fmagazine%2Fand-then-steve-said-let-there-be-an-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=And+Then+Steve+Said%2C+%E2%80%98Let+There+Be+an+iPhone%E2%80%99" 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%2F10%2F06%2Fmagazine%2Fand-then-steve-said-let-there-be-an-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=And+Then+Steve+Said%2C+%E2%80%98Let+There+Be+an+iPhone%E2%80%99" 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%2F10%2F06%2Fmagazine%2Fand-then-steve-said-let-there-be-an-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=And+Then+Steve+Said%2C+%E2%80%98Let+There+Be+an+iPhone%E2%80%99" 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%2F10%2F06%2Fmagazine%2Fand-then-steve-said-let-there-be-an-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=And+Then+Steve+Said%2C+%E2%80%98Let+There+Be+an+iPhone%E2%80%99" 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>
    </div>
]]>
</Body>
<Summary>An age of darkness ended with a searing light, which shook the earth, and the great device was rendered unto thee.      </Summary>
<Website>http://www.nytimes.com/2013/10/06/magazine/and-then-steve-said-let-there-be-an-iphone.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36576/guest@my.umbc.edu/4e581a2ffe78dd70bdc633d7316a0c81/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>at-and-t-inc-t-nyse</Tag>
<Tag>blackberry-bbry-nasdaq</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>iphone</Tag>
<Tag>jobs-steven-p</Tag>
<Tag>new</Tag>
<Tag>smartphones</Tag>
<Tag>software</Tag>
<Tag>sprint-nextel-corporation-s-nyse</Tag>
<Tag>starbucks-corporation-sbux-nasdaq</Tag>
<Tag>technology</Tag>
<Tag>walt-disney-company-dis-nyse</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>Fri, 04 Oct 2013 10:38:24 -0400</PostedAt>
<EditAt>Mon, 07 Oct 2013 10:32:09 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36601" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36601">
<Title>Riff: When Meta Met Data</Title>
<Body>
<![CDATA[
    <div class="html-content">The advent of metadata shows us just how much — and how little — we truly know.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F10%2F06%2Fmagazine%2Fwhen-meta-met-data.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+When+Meta+Met+Data" 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%2F10%2F06%2Fmagazine%2Fwhen-meta-met-data.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+When+Meta+Met+Data" 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%2F10%2F06%2Fmagazine%2Fwhen-meta-met-data.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+When+Meta+Met+Data" 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%2F10%2F06%2Fmagazine%2Fwhen-meta-met-data.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+When+Meta+Met+Data" 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%2F10%2F06%2Fmagazine%2Fwhen-meta-met-data.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+When+Meta+Met+Data" 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>
    </div>
]]>
</Body>
<Summary>The advent of metadata shows us just how much — and how little — we truly know.      </Summary>
<Website>http://www.nytimes.com/2013/10/06/magazine/when-meta-met-data.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36601/guest@my.umbc.edu/838cfa6e056916bb627b082cdaa2acb3/api/pixel</TrackingUrl>
<Tag>computers-and-the-internet</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>metadata</Tag>
<Tag>new</Tag>
<Tag>statistics</Tag>
<Tag>technology</Tag>
<Tag>yahoo-inc-yhoo-nasdaq</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>Fri, 04 Oct 2013 10:38:24 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="36568" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36568">
<Title>SURF (Summer Undergraduate Research Fellowship)</Title>
<Tagline>Great paid opportunity at NIST for STEM and other majors!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Are you interested in physics, material science, chemistry, applied mathematics, computer science and/or engineering? SURF is an 11-week research opportunity for summer 2014 at the National Institute of Standards and Technology, home to three Nobel Prize winners and state-of-the-art laboratories. Participants connect with NIST scientists and engineers through a summer-long lecture series while taking part in groundbreaking research.<br><br>Students receive a $5500 stipend, plus travel and housing allowances.<br><br>If you are interested, please contact Janet McGlynn (<a href="mailto:mcglynn@umbc.edu">mcglynn@umbc.edu</a>) or Devon Fick (<a href="mailto:dfick1@umbc.edu">dfick1@umbc.edu</a>) immediately to be placed on the list to receive information about deadlines and application assistance. <br>
    </div>
]]>
</Body>
<Summary>Are you interested in physics, material science, chemistry, applied mathematics, computer science and/or engineering? SURF is an 11-week research opportunity for summer 2014 at the National...</Summary>
<Website>http://www.umbc.edu/undergrad_ed/research/opportunities/nist.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36568/guest@my.umbc.edu/ae3dc864b3986fc7a6f6e8615885feab/api/pixel</TrackingUrl>
<Group token="undergradresearch">Undergraduate Research</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/undergradresearch</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/original.jpg?1600355057</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/large.png?1600355057</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/medium.png?1600355057</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/small.png?1600355057</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxsmall.png?1600355057</AvatarUrl>
<Sponsor>Undergraduate Research</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/xxlarge.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/xlarge.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/large.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/medium.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/small.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/xsmall.jpg?1380896859</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/036/568/bf87121bf0375fe8077a415dbfe6fec8/xxsmall.jpg?1380896859</ThumbnailUrl>
<PawCount>15</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 04 Oct 2013 10:35:24 -0400</PostedAt>
<EditAt>Mon, 07 Oct 2013 08:14:22 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36572" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36572">
<Title>DealBook: As Twitter Opens Up, Employees Do, Too</Title>
<Body>
<![CDATA[
    <div class="html-content">As prospective investors pored over Twitter’s financial information, Twitter employees shared photographs and updates.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Fas-twitter-opens-up-employees-do-too%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+As+Twitter+Opens+Up%2C+Employees+Do%2C+Too" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Fas-twitter-opens-up-employees-do-too%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+As+Twitter+Opens+Up%2C+Employees+Do%2C+Too" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Fas-twitter-opens-up-employees-do-too%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+As+Twitter+Opens+Up%2C+Employees+Do%2C+Too" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Fas-twitter-opens-up-employees-do-too%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+As+Twitter+Opens+Up%2C+Employees+Do%2C+Too" 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%2Fdealbook.nytimes.com%2F2013%2F10%2F04%2Fas-twitter-opens-up-employees-do-too%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+As+Twitter+Opens+Up%2C+Employees+Do%2C+Too" 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/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/sc/15/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/176965348022/u/0/f/640387/c/34625/s/320e0c58/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>As prospective investors pored over Twitter’s financial information, Twitter employees shared photographs and updates.      </Summary>
<Website>http://dealbook.nytimes.com/2013/10/04/as-twitter-opens-up-employees-do-too/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36572/guest@my.umbc.edu/a030a6cc45ed2b4a6fd48f95c2903f6a/api/pixel</TrackingUrl>
<Tag>i-p-o-offerings</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>top-headline-1</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>Fri, 04 Oct 2013 10:11:40 -0400</PostedAt>
<EditAt>Fri, 04 Oct 2013 10:58:51 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36567" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36567">
<Title>Functional Programming in PHP</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=35043&amp;c=612424797" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=35043&amp;c=612424797" alt="" style="max-width: 100%; height: auto;"></a><p>The new hype in programming is all about functional programming paradigms. Functional languages are used more and more in greater and better applications. Scala, Haskel, etc. are thriving and other, more conservative languages like Java started to adopt some of the functional programming paradigms (see closures in Java7 and lazy eval for lists in Java8). However, what only few people know is that PHP is quite versatile when it comes to functional programming. All the main functional programming concepts can be expressed in PHP. So, if you are new to functional programming, be prepared to have your mind blown, and if you are already familiar with functional programming, be prepared to have great fun with this tutorial.</p>
    <p></p>
    <hr>
    <h2>Programming Paradigms</h2>
    <p>Without any programming paradigms we could do whatever we want in whatever way we want. While this would lead to extreme flexibility, it would also lead to impossible architectures and very bloated code. Thus, programming paradigms were invented to help us, programmers, to think in a specific way about a specific program and in this way, limit our ability to express our solution.</p>
    <p>Each programming paradigm takes away a freedom from us:</p>
    <ul>
    <li>
    <strong>Modular Programming</strong> takes away unlimited program size.</li>
    <li>
    <strong>Structured and Procedural Programming</strong> are taking away the “go-to” and limits the programmer to sequence, selection and iteration.</li>
    <li>
    <strong>Object Oriented Programming</strong> takes away pointers to functions.</li>
    <li>
    <strong>Functional Programming</strong> takes away assignment and mutable state.</li>
    </ul>
    <hr>
    <h2>Functional Programming Principles</h2>
    <blockquote><p>In functional programming, you have no data represented by variables.</p></blockquote>
    <p>In functional programming <em>everything is a function</em>. And I mean everything. For example a set, as in mathematics, can be represented as several functions. An array or list is also a function or a group of functions.</p>
    <p>In object oriented programming everything is an object. And an object is a collection of data and methods that do actions on those data. Objects have a state, a volatile, mutable state.</p>
    <p>In functional programming, you have no data represented by variables. There are no data containers. Data is not assigned to a variable. Some values may be defined and assigned. However, in most cases they are functions assigned to “variables”. I’ve put “variables” between quotes because in functional programming they are <em>immutable</em>. Even though most functional programming languages do not enforce immutability, in the same way most object oriented languages do not enforce objects, if you change the value after an assignment you are not doing pure functional programming any more.</p>
    <p>Because you don’t have values assigned to variables, in functional programming you have <em>no state</em>.</p>
    <p>Because of no state and no assignments, in functional programming <em>functions have no side effect.</em> And because of the three previous reasons, <em>functions are always predictable</em>. This basically means that if you call a function with the same parameters again and again and again… you will always have the same result. This is a huge advantage over object oriented programming and greatly reduces the complexity of multi-threaded and massively multi-threaded applications.</p>
    <p>But, if we want to express everything in functions, we need to be able to assign them to parameters or return them from other functions. Thus functional programming requires the support for <em>higher-order functions.</em> This basically means that a function can be assigned to a “variable”, sent in as a parameter to another function, and returned as a result of a function.</p>
    <p>Finally, because we have no values in variables, while and for loops are unusual to functional programming and are replaced with recursion.</p>
    <hr>
    <h2>Show Me the Code!</h2>
    <p>Enough talking and philosophy for one lesson. Let’s code!</p>
    <p>Set up a PHP project in your favorite IDE or code editor. Create in it a <code>"Tests"</code> folder. Create two files: <code>FunSets.php</code> in the project’s folder, and <code>FunSetsTest.php</code> in the Tests folder. We will create an application, with tests, that will represent the concept of sets.</p>
    <blockquote><p>In mathematics, a set is a collection of distinct objects, considered as an object in its own right. (wikipedia)</p></blockquote>
    <p>That basically means that sets are a bunch of things in a single place. These sets can be and are characterized by mathematical operations: unions, intersections, differences, etc. And by actionable properties like: contains.</p>
    <h3>Our Programming Limitations</h3>
    <p>So let’s code! But wait. How? Well, to respect the concepts of functional programming we will have to apply the following restrictions to our code:</p>
    <ul>
    <li>
    <strong>No assignments.</strong> – We are not allowed to assign values to variables. We are however allowed to assign functions to variables.</li>
    <li>
    <strong>No mutable state.</strong> – We are not allowed, in case of an assignment, to change the value of that assignment. We are also not allowed to change the value of any variable that had its value set as the parameter for the current function. So, no changing of parameters.</li>
    <li>
    <strong>No while and for loops.</strong> – We are not allowed to used PHP’s “while” and “for” commands. We, however, may define our own method to cycle through the elements of a set and call it foreach/for/while.</li>
    </ul>
    <p>No limitations apply to tests. Because of the nature of PHPUnit, we will use classic object oriented PHP code there. Also, to better accommodate our tests, we will wrap all our production code into a single class.</p>
    <h3>The Set’s Defining Function</h3>
    <p>If you are a seasoned programmer, but unfamiliar with functional programming, <em>now is the time to stop thinking as you do usually</em> and be ready to leave your comfort zone. Forget all your previous ways of reasoning about a problem and imagine all in functions.</p>
    <p>The defining function of a set is its “contains” method.</p>
    <pre>function contains($set, $elem) {&#x000A;    	return $set($elem);&#x000A;    }</pre>
    <p>OK… This is not that obvious, so let’s see how would we use it.</p>
    <pre>$set = function ($element) {return true;};&#x000A;    contains($set, 100);</pre>
    <p>Well, this explains it a little bit better. The function <code>"contains"</code> has two parameters:</p>
    <ul>
    <li>
    <code>$set</code> – represents a set defined as a function.</li>
    <li>
    <code>$elem</code> – represents an element defined as a value.</li>
    </ul>
    <p>In this context, all that <code>"contains"</code> has to do is to apply the function in <code>$set</code> with the parameter <code>$elem</code>. Let’s wrap all in a test.</p>
    <pre>class FunSetsTest extends PHPUnit_Framework_TestCase {&#x000A;    &#x000A;    	private $funSets;&#x000A;    &#x000A;    	protected function setUp() {&#x000A;    		$this-&gt;funSets = new FunSets();&#x000A;    	}&#x000A;    &#x000A;    	function testContainsIsImplemented() {&#x000A;    		// We caracterize a set by its contains function. It is the basic function of a set.&#x000A;    &#x000A;    		$set = function ($element) {return true;};&#x000A;    		$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($set, 100));&#x000A;    	}&#x000A;    }</pre>
    <p>And wrap our production code inside <code>FunSets.php</code> into a class:</p>
    <pre>class FunSets {&#x000A;    &#x000A;    	public function contains($set, $elem) {&#x000A;    		return $set($elem);&#x000A;    	}&#x000A;    }</pre>
    <p>You can actually run this test and it will pass. The set we defined for this test is just a function that always returns true. It is a “true set”.</p>
    <h3>The Singleton Set</h3>
    <p>If the previous chapter was a little bit confusing or looked useless in logic, this one will clarify it a little bit. We want to define a set with a single element, a singleton set. Remember, this has to be a function, and we will want to use it like in the test below.</p>
    <pre>function testSingletonSetContainsSingleElement() {&#x000A;    	// A singleton set is characterize by a function which passed to contains will return true for the single element&#x000A;    	// passed as its parameter. In other words, a singleton is a set with a single element.&#x000A;    &#x000A;    	$singleton = $this-&gt;funSets-&gt;singletonSet(1);&#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($singleton, 1));&#x000A;    }</pre>
    <p>We need to define a function called <code>"singeltonSet"</code> with a parameter representing an element of the set. In the test, that is the number one (1). Then, we expect our <code>contains</code> method, when called with a singleton function, to return <code>true</code> if the sent in parameter equals one. The code that makes the test pass is as follows:</p>
    <pre>public function singletonSet($elem) {&#x000A;    	return function ($otherElem) use ($elem) {&#x000A;    				return $elem == $otherElem;&#x000A;    			};&#x000A;    }</pre>
    <p>Wow! That’s crazy. So, the function <code>"singletonSet"</code> gets as a parameter an element as <code>$elem</code>. Then it returns another function which has a parameter <code>$otherElem</code> and this second function will compare <code>$elem</code> to <code>$otherElem</code>.</p>
    <p>So, how does this work? First, this line:</p>
    <pre>$singleton = $this-&gt;funSets-&gt;singletonSet(1);</pre>
    <p>is transformed into what <code>"singletonSet(1)"</code> returns:</p>
    <pre>$singleton = function ($otherElem) {&#x000A;    		return 1 == $otherElem;&#x000A;    	};</pre>
    <p>Then <code>"contains($singleton, 1)"</code> is called. Which, in turn calls whatever is in <code>$singleton</code>. So the code becomes:</p>
    <pre>$singleton(1)</pre>
    <p>Which actually executes the code in it with <code>$otherElem</code> having the value one.</p>
    <pre>return 1 == 1</pre>
    <p>Which is of course true and our test passes.</p>
    <p>Are you already smiling? Do you feel your brain starting to boil? I certainly did when I first wrote this example in Scala and I did again when I first wrote this example in PHP. I think this is extraordinary. We managed to define a set, with one element, with the ability to check that it contains the value we passed in to it. We did all these without a single assignment of value. We have no variable containing the value one or having a state of one. No state, no assignment, no mutability, no loops. We are on the right track here.</p>
    <hr>
    <h2>Union of Sets</h2>
    <p>Now that we can create a set with a single value, we need to be able to create a set with several values. The obvious way to do it is to define the union operation on our sets. The union of two singleton sets will represent another union with both values. I want you to take a minute and think about the solution before scrolling to the code, maybe take a peak on the tests below.</p>
    <pre>function testUnionContainsAllElements() {&#x000A;    	// A union is characterized by a function which gets 2 sets as parameters and contains all the provided sets&#x000A;    &#x000A;    	// We can only create singletons at this point, so we create 2 singletons and unite them&#x000A;    	$s1 = $this-&gt;funSets-&gt;singletonSet(1);&#x000A;    	$s2 = $this-&gt;funSets-&gt;singletonSet(2);&#x000A;    	$union = $this-&gt;funSets-&gt;union($s1, $s2);&#x000A;    &#x000A;    	// Now, check that both 1 and 2 are part of the union&#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($union, 1));&#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($union, 2));&#x000A;    	// ... and that it does not contain 3&#x000A;    	$this-&gt;assertFalse($this-&gt;funSets-&gt;contains($union, 3));&#x000A;    }</pre>
    <p>We want a function called <code>"union"</code> that gets two parameters, both sets. Remember, sets are just functions for us, so our <code>"union"</code> function will get two functions as parameters. Then, we want to be able to check with <code>"contains"</code> if the union contains an element or not. So, our <code>"union"</code> function must return another function that <code>"contains"</code> can use.</p>
    <pre>public function union($s1, $s2) {&#x000A;    	return function ($otherElem) use ($s1, $s2) {&#x000A;    				return $this-&gt;contains($s1, $otherElem) || $this-&gt;contains($s2, $otherElem);&#x000A;    			};&#x000A;    }</pre>
    <p>This is actually working quite well. And it is perfectly valid even when your union is called with another union plus a singleton. It calls <code>contains</code> inside itself for each parameter. If it’s a union, it will recurse. It’s that simple.</p>
    <hr>
    <h2>Intersect and Difference</h2>
    <p>We can apply the same one liner logic with minor changes to obtain the next two most important functions that characterize a set: intersection – contains only the common elements between two sets – and difference – contains only those elements from the first set that are not part of the second set.</p>
    <pre>public function intersect($s1, $s2) {&#x000A;    	return function ($otherElem) use ($s1, $s2) {&#x000A;    				return $this-&gt;contains($s1, $otherElem) &amp;&amp; $this-&gt;contains($s2, $otherElem);&#x000A;    			};&#x000A;    }&#x000A;    &#x000A;    public function diff($s1, $s2) {&#x000A;    	return function ($otherElem) use ($s1, $s2) {&#x000A;    				return $this-&gt;contains($s1, $otherElem) &amp;&amp; !$this-&gt;contains($s2, $otherElem);&#x000A;    			};&#x000A;    }</pre>
    <p>I won’t flood you with the test code for these two methods. The tests are written and you can check them if you look in the attached code.</p>
    <hr>
    <h2>Filter Set</h2>
    <p>Well, this is a bit more complicated, we won’t be able to solve this with a single line of code. A filter is a function that uses two parameters: a set and a filtering function. It applies the filtering function to a set and returns another set that contains only the elements that satisfy the filtering function. To better understand it, here is the test for it.</p>
    <pre>function testFilterContainsOnlyElementsThatMatchConditionFunction() {&#x000A;    	$u12 = $this-&gt;createUnionWithElements(1, 2);&#x000A;    	$u123 = $this-&gt;funSets-&gt;union($u12, $this-&gt;funSets-&gt;singletonSet(3));&#x000A;    &#x000A;    	// Filtering rule, find elements greater than 1 (meaning 2 and 3)&#x000A;    	$condition = function($elem) {return $elem &gt; 1;};&#x000A;    &#x000A;    	// Filtered set&#x000A;    	$filteredSet = $this-&gt;funSets-&gt;filter($u123, $condition);&#x000A;    &#x000A;    	// Verify filtered set does not contain 1&#x000A;    	$this-&gt;assertFalse($this-&gt;funSets-&gt;contains($filteredSet, 1), "Should not contain 1");&#x000A;    	// Check it contains 2 and 3&#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($filteredSet, 2), "Should contain 2");&#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;contains($filteredSet, 3), "Should contain 3");&#x000A;    }&#x000A;    &#x000A;    private function createUnionWithElements($elem1, $elem2) {&#x000A;    	$s1 = $this-&gt;funSets-&gt;singletonSet($elem1);&#x000A;    	$s2 = $this-&gt;funSets-&gt;singletonSet($elem2);&#x000A;    	return $this-&gt;funSets-&gt;union($s1, $s2);&#x000A;    }</pre>
    <p>We create a set with three elements: 1, 2, 3. And we place it into the variable <code>$u123</code> so it is easily identifiable in our tests. Then we define a function we want to apply to the test and place it into <code>$condition</code>. Finally, we call filter on our <code>$u123</code> set with <code>$condition</code> and place the resulting set into <code>$filteredSet</code>. Then we run assertions with <code>"contains"</code> to determine if the set looks how we want. Our condition function is simple, it will return true if the element is greater than one. So our final set should contain only the values two and three, and this is what we check in our assertions.</p>
    <pre>public function filter($set, $condition) {&#x000A;    	return function ($otherElem) use ($set, $condition) {&#x000A;    				if ($condition($otherElem))&#x000A;    					return $this-&gt;contains($set, $otherElem);&#x000A;    				return false;&#x000A;    			};&#x000A;    }</pre>
    <p>And here you go. We implemented filtering with just three lines of code. More precisely, if the condition applies to the provided element, we run a contains on the set for that element. If not, we just return <code>false</code>. That’s it.</p>
    <hr>
    <h2>Looping Over Elements</h2>
    <p>The next step is to create various looping functions. The first one, <em>“forall()”</em>, will take a <code>$set</code> and a <code>$condition</code> and return <code>true</code> if <code>$condition</code> applies to all the elements of the <code>$set</code>. This leads to the following test:</p>
    <pre>function testForAllCorrectlyTellsIfAllElementsSatisfyCondition() {&#x000A;    	$u123 = $this-&gt;createUnionWith123();&#x000A;    &#x000A;    	$higherThanZero = function($elem) { return $elem &gt; 0; };&#x000A;    	$higherThanOne = function($elem) { return $elem &gt; 1; };&#x000A;    	$higherThanTwo = function($elem) { return $elem &gt; 2; };&#x000A;    &#x000A;    	$this-&gt;assertTrue($this-&gt;funSets-&gt;forall($u123, $higherThanZero));&#x000A;    	$this-&gt;assertFalse($this-&gt;funSets-&gt;forall($u123, $higherThanOne));&#x000A;    	$this-&gt;assertFalse($this-&gt;funSets-&gt;forall($u123, $higherThanTwo));&#x000A;    }</pre>
    <p>We extracted the <code>$u123</code> creation from the previous test into a private method. Then we define three different conditions: higher than zero, higher than one, and higher than two. As our set contains the numbers one, two, and three, only the higher than zero condition should return true, the rest should be false. Indeed, we can make the test pass with the help of another recursive method use to iterate over all the elements.</p>
    <pre>private $bound = 1000;&#x000A;    &#x000A;    private function forallIterator($currentValue, $set, $condition) {&#x000A;    	if ($currentValue &gt; $this-&gt;bound)&#x000A;    		return true;&#x000A;    	elseif ($this-&gt;contains($set, $currentValue))&#x000A;    		return $condition($currentValue) &amp;&amp; $this-&gt;forallIterator($currentValue + 1, $set, $condition);&#x000A;    	else&#x000A;    		return $this-&gt;forallIterator($currentValue + 1, $set, $condition);&#x000A;    }&#x000A;    &#x000A;    public function forall($set, $condition) {&#x000A;    	return $this-&gt;forallIterator(-$this-&gt;bound, $set, $condition);&#x000A;    }</pre>
    <p>We start by defining some limits for our set. The values must be between -1000 and +1000. This is a reasonable limitation we impose in order to keep this example simple enough. The function <code>"forall"</code> will call the private method <code>"forallIterator"</code> with the necessary parameters to recursively decide if all elements respect the condition. In this function, we first test if we are out of bounds. If yes, return true. Then check if our set contains the current value and return the current value applied to the condition together with a logical “AND” with a recursive call to ourselves with the next value. Otherwise, just call ourselves with the next value and return the result.</p>
    <p>This works just fine, we can implement it in the same manner as <code>"exists()"</code>. This returns <code>true</code> if any of the elements satisfies the condition.</p>
    <pre>private function existsIterator($currentValue, $set, $condition) {&#x000A;    	if ($currentValue &gt; $this-&gt;bound)&#x000A;    		return false;&#x000A;    	elseif ($this-&gt;contains($set, $currentValue))&#x000A;    		return $condition($currentValue) || $this-&gt;existsIterator($currentValue + 1, $set, $condition);&#x000A;    	else&#x000A;    		return $this-&gt;existsIterator($currentValue + 1, $set, $condition);&#x000A;    }&#x000A;    &#x000A;    public function exists($set, $condition) {&#x000A;    	return $this-&gt;existsIterator(-$this-&gt;bound, $set, $condition);&#x000A;    }</pre>
    <p>The only difference is that we return <code>false</code> when out of bounds and we use “OR” instead of “AND” in the second if.</p>
    <p>Now, <code>"map()"</code> will be different, simpler and shorter.</p>
    <pre>public function map($set, $action) {&#x000A;    	return function ($currentElem) use ($set, $action) {&#x000A;    		return $this-&gt;exists($set, function($elem) use ($currentElem, $action) {&#x000A;    			return $currentElem == $action($elem);&#x000A;    		});&#x000A;    	};&#x000A;    }</pre>
    <p>Mapping means we apply an action to all the elements of a set. For map, we need no helper iterator, we can reuse <code>"exists()"</code> and return those elements of “exists” that satisfy the result of <code>$action</code> applied to <code>$element</code>. This may not be obvious at first site, so let’s see what is happening.</p>
    <ul>
    <li>We send the set <code>{ 1, 2 }</code> and the action <code>$element * 2 (double)</code> to map.</li>
    <li>It will return a function, obviously, which has a parameter as an element and uses the set and action from one level higher.</li>
    <li>This function will call <code>exists</code> with the set <code>{ 1, 2 }</code> and the condition function <code>$currentElement</code> equals <code>$elem * 2</code>.</li>
    <li>
    <code>exists()</code> will iterate over all the elements between -1000 and +1000, our bounds. When it finds an element, double of what comes from <code>"contains"</code> (the value of <code>$currentElement</code>) it will return <code>true</code>.</li>
    <li>In other words, the last comparison will return <code>true</code> for the call to contains with value two, when the value of the current multiplied by two, results in two. So for the first element of the set, one, it will return true on two. For the second element, two, on value four.</li>
    </ul>
    <hr>
    <h2>A Practical Example</h2>
    <p>Well, functional programming is fun but it is far from ideal in PHP. So, I do not recommend you to write whole applications this way. However, now that you’ve learned what PHP can do functionally, you can apply parts of this knowledge in your everyday projects. Here is an example authentication module. The <code>AuthPlugin</code> class provides a method that receives a user and password and does its magic to authenticate the user and set its permissions.</p>
    <pre>class AuthPlugin {&#x000A;    &#x000A;    	private $permissions = array();&#x000A;    &#x000A;    	function authenticate($username, $password) {&#x000A;    		$this-&gt;verifyUser($username, $password);&#x000A;    &#x000A;    		$adminModules = new AdminModules();&#x000A;    		$this-&gt;permissions[] = $adminModules-&gt;allowRead($username);&#x000A;    		$this-&gt;permissions[] = $adminModules-&gt;allowWrite($username);&#x000A;    		$this-&gt;permissions[] = $adminModules-&gt;allowExecute($username);&#x000A;    	}&#x000A;    &#x000A;    	private function verifyUser($username, $password) {&#x000A;    		// ... DO USER / PASS CHECKING&#x000A;    		// ... LOAD USER DETAILS, ETC.&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>Now, this may sound OK, but it has a huge problem. 80% of the <code>"authenticate()"</code> method uses information from the <code>"AdminModules"</code>. This creates a very strong dependency.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/10/AuthFanOut.png" alt="AuthFanOut" width="600" height="157" style="max-width: 100%; height: auto;"><br> <p>It would be much more reasonable to take the three calls and create a single method on <code>AdminModules</code>.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/10/AuthReducedDep.png" alt="AuthReducedDep" width="600" height="190" style="max-width: 100%; height: auto;"><br> <p>So, by moving the generation into <code>AdminModules</code> we managed to reduce three dependencies to just one. The public interface of <code>AdminModules</code> was also reduced from three to only a single method. However, we are not yet there. <code>AuthPlugin</code> still directly depends on <code>AdminModules</code>.</p>
    <h3>An Object Oriented Approach</h3>
    <p>If want our authentication plugin to be usable by any module, we need to define a common interface for these modules. Let’s inject the dependency and introduce an interface.</p>
    <pre>class AuthPlugin {&#x000A;    &#x000A;    	private $permissions = array();&#x000A;    	private $appModule;&#x000A;    &#x000A;    	function __construct(ApplicationModule $appModule) {&#x000A;    		$this-&gt;appModule = $appModule;&#x000A;    	}&#x000A;    &#x000A;    	function authenticate($username, $password) {&#x000A;    		$this-&gt;verifyUser($username, $password);&#x000A;    &#x000A;    		$this-&gt;permissions = array_merge(&#x000A;    				$this-&gt;permissions,&#x000A;    				$this-&gt;appModule-&gt;getPermissions($username)&#x000A;    		);&#x000A;    	}&#x000A;    &#x000A;    	private function verifyUser($username, $password) {&#x000A;    		// ... DO USER / PASS CHECKING&#x000A;    		// ... LOAD USER DETAILS, ETC.&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p><code>AuthPlugin</code> got a constructor. It gets a parameter of type <code>ApplicationModule</code>, an interface, and calls <code>"getPermissions()"</code> on this injected object.</p>
    <pre>interface ApplicationModule {&#x000A;    &#x000A;    	public function getPermissions($username);&#x000A;    &#x000A;    }</pre>
    <p><code>ApplicationModule</code> defines a single public method, <code>"getPermissions()"</code>, with a username as a parameter.</p>
    <pre>class AdminModules implements ApplicationModule {&#x000A;    	// [ ... ]&#x000A;    }</pre>
    <p>Finally, <code>AdminModules</code> needs to implement the <code>ApplicationModule</code> interface.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/10/AuthAdminInterface.png" alt="AuthAdminInterface" width="600" height="261" style="max-width: 100%; height: auto;"><br> <p>Now, this is much better. Our <code>AuthPlugin</code> depends only on an interface. <code>AdminModules</code> depends on the same interface, so the <code>AuthPlugin</code> became module agnostic. We can create any number of modules, all implementing <code>ApplicationModule</code>, and <code>AuthPlugin</code> will be able to work with all of them.</p>
    <h3>A Functional Approach</h3>
    <p>Another way to reverse the dependency, and make <code>AdminModule</code>, or any other module, to use the <code>AuthPlugin</code> is to inject into these modules a dependency to <code>AuthPlugin</code>. <code>AuthPlugin</code> will provide a way to set the authentication function and each application will send in its own <code>"getPermission()"</code> function.</p>
    <pre>class AdminModules {&#x000A;    &#x000A;    	private $authPlugin;&#x000A;    &#x000A;    	function __construct(Authentitcation $authPlugin) {&#x000A;    		$this-&gt;authPlugin = $authPlugin;&#x000A;    	}&#x000A;    &#x000A;    	private function allowRead($username) {&#x000A;    		return "yes";&#x000A;    	}&#x000A;    &#x000A;    	private function allowWrite($username) {&#x000A;    		return "no";&#x000A;    	}&#x000A;    &#x000A;    	private function allowExecute($username) {&#x000A;    		return $username == "joe" ? "yes" : "no";&#x000A;    	}&#x000A;    &#x000A;    	private function authenticate() {&#x000A;    &#x000A;    		$this-&gt;authPlugin-&gt;setPermissions(&#x000A;    				function($username) {&#x000A;    					$permissions = array();&#x000A;    					$permissions[] = $this-&gt;allowRead($username);&#x000A;    					$permissions[] = $this-&gt;allowWrite($username);&#x000A;    					$permissions[] = $this-&gt;allowExecute($username);&#x000A;    					return $permissions;&#x000A;    				}&#x000A;    		);&#x000A;    		$this-&gt;authPlugin-&gt;authenticate();&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>We start with <code>AdminModule</code>. It does not implement anything anymore. However, it uses an injected object that has to implement Authentication. In <code>AdminModule</code> there will be an <code>"authenticate()"</code> method that will call <code>"setPermissions()"</code> on <code>AuthPlugin</code> and pass in the function that needs to be used.</p>
    <pre>interface Authentication {&#x000A;    &#x000A;    	function setPermissions($permissionGrantingFunction);&#x000A;    &#x000A;    	function authenticate();&#x000A;    &#x000A;    }</pre>
    <p>The Authentication interface simply defines the two methods.</p>
    <pre>class AuthPlugin implements Authentication {&#x000A;    &#x000A;    	private $permissions = array();&#x000A;    	private $appModule;&#x000A;    	private $permissionsFunction;&#x000A;    &#x000A;    	function __construct(ApplicationModule $appModule) {&#x000A;    		$this-&gt;appModule = $appModule;&#x000A;    	}&#x000A;    &#x000A;    	function authenticate($username, $password) {&#x000A;    		$this-&gt;verifyUser($username, $password);&#x000A;    		$this-&gt;permissions = $this-&gt;permissionsFunction($username);&#x000A;    	}&#x000A;    &#x000A;    	private function verifyUser($username, $password) {&#x000A;    		// ... DO USER / PASS CHECKING&#x000A;    		// ... LOAD USER DETAILS, ETC.&#x000A;    	}&#x000A;    &#x000A;    	public function setPermissions($permissionGrantingFunction) {&#x000A;    		$this-&gt;permissionsFunction = $permissionGrantingFunction;&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>Finally, <code>AuthPlugin</code> implements Authentication and sets the incoming function in a private class attribute. Then, <code>"authentication()"</code> becomes a dumb method. It just calls the function and then sets the return value. It is completely decoupled of whatever comes in.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/10/AuthAdminCallBack.png" alt="AuthAdminCallBack" width="600" height="258" style="max-width: 100%; height: auto;"><br> <p>If we look at the schema, there are two important changes:</p>
    <ul>
    <li>Instead of <code>AdminModule</code>, <code>AuthPlugin</code> is the one implementing the interface.</li>
    <li>
    <code>AuthPlugin</code> will “Call Back” <code>AdminModule</code>, or whatever other module sent in the permissions function.</li>
    </ul>
    <hr>
    <h2>Which One to Use?</h2>
    <p>There is no correct answer to this question. I would argue that if the process of determining the permissions is quite dependent on the application module, then the object oriented approach is more appropriate. However, if you think that each application module should be able to provide an authentication function, and your <code>AuthPlugin</code> is just a skeleton providing the authentication functionality but without knowing anything about users and procedures, then you can go with the functional approach.</p>
    <p>The functional approach makes your <code>AuthPlugin</code> very abstract and you can depend on it. However, if you plan to allow your <code>AuthPlugin</code> to do more and know more about users and your system, then it will became too concrete, and you don’t want to depend on it. In that case choose the object oriented way and let the concrete <code>AuthPlugin</code> depend on the more abstract application modules.</p>
    </div>
]]>
</Body>
<Summary>The new hype in programming is all about functional programming paradigms. Functional languages are used more and more in greater and better applications. Scala, Haskel, etc. are thriving and...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/q3RqvI9iJ4Q/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36567/guest@my.umbc.edu/29c0a7d11000524b1b06cf821ef95a8d/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>functional-programming</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tutorials</Tag>
<Tag>wed</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>Fri, 04 Oct 2013 10:00:33 -0400</PostedAt>
<EditAt>Fri, 04 Oct 2013 10:00:33 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36564" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36564">
<Title>Sustainable Events Today! Bikes, Food, Sustainability!</Title>
<Tagline>Lectures, Rides, Fundraiser, Meditation, Drum Circle &amp; more!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p><strong><span>11 AM to 1pm, Commons
    Breezeway</span></strong></p>
    <p><span><a href="http://my.umbc.edu/events/20283" rel="nofollow external" class="bo"><strong><span><u>PowerShift
    Bake Sale Fundraiser</u></span></strong></a></span></p>
    <p><span>Students for
    Environmental Awareness are raising funds to attend a youth climate and social
    change/ social justice conference: PowerShift</span></p>
    <p><span>.</span></p>
    <p><strong><span>Noon to 1:30pm, AOK
    Library Gallery</span></strong><span></span></p>
    <p><span><a href="http://my.umbc.edu/events/19976" rel="nofollow external" class="bo"><strong><span><u>Empowering
    Students to Transform the Food System</u></span></strong></a></span></p>
    <p><span>Anim Steele, founder and
    Director of the Real Food Challenge will speak about students leading change
    toward an ecological, humane and just food system.</span></p>
    <p><span>.</span></p>
    <p><strong><span>2pm to 3pm, Technology
    Research Center</span></strong><span><br>
    <a href="http://my.umbc.edu/events/18796" rel="nofollow external" class="bo"><strong><span><u>CUERE
    Lecture by Dr. Richard Feiock of Florida State University</u></span></strong></a><br>
    "The Influence of City Government Structure and Collaboration Networks on
    Adoption of Sustainability Programs"</span></p>
    <p><span>.</span></p>
    <p><strong><span>12pm, Environmental Task
    Force (community service student org) hike-</span></strong><span> <strong>meet at Math/Psych Building in front of room 104 then walk the
    CERA trail- Conservation and Environmental Research Area</strong><br>
    Environmental Task Force meeting will be taking place outside today. We will
    meet in front of MP 104 at 12pm and then head out to explore the CERA trail
    around 12:05pm! We will possibly be working on the CERA trail next semester so
    here's a great chance to check it out beforehand. </span></p>
    <p><span>.</span><span></span></p>
    <p><strong><span>6pm, Room 105, Public
    Policy Building </span></strong><span></span></p>
    <p><strong><span>UMBC Outdoor Recreation
    Club Weekly meeting</span></strong><span> </span></p>
    <p><span>The Outdoor Rec club
    meets weekly at 6PM in the Public Policy Building Lecture Hall (room PUP105) to
    plan hiking and camping trips.</span></p>
    <p><span>.</span></p>
    <p><strong><span>6pm, Meet in front of
    AOK Library and Gallery</span></strong><span></span></p>
    <p><span><a href="http://my.umbc.edu/events/20151" rel="nofollow external" class="bo"><strong><span><u>Friday
    Fun Ride (Oct 4)</u></span></strong></a> </span></p>
    <p><span>Join UMBC Cycling for a
    casual ride around campus and the surrounding neighborhoods. This is a social
    ride with a relaxed pace and plenty of rest.</span></p>
    <p><span>.</span></p>
    <p><strong><span>BONUS EVENTS! We're also
    excited about....</span></strong><span></span></p>
    <p><strong><span>.</span></strong><span></span></p>
    <p><strong><span>Noon to 1pm, UC Terrace
    (the steps in front of the University Center by Starbucks, on Academic Row)</span></strong><span></span></p>
    <p><span><a href="http://my.umbc.edu/events/20250" rel="nofollow external" class="bo"><strong><span><u>The Return of the UMBC Drum Circle!</u></span></strong></a></span><span></span></p>
    <p><span>Drummers and dancers are
    welcome every Friday by the UC for an improvisational jam. Bring a drum or
    drum-esque object and join us!</span><span></span></p>
    <p><span>.</span></p>
    <p><strong><span>1pm, Womens Center
    (Commons 004)</span></strong><span></span></p>
    <p><span><a href="http://my.umbc.edu/events/20016" rel="nofollow external" class="bo"><strong><span><u>Peace@UMBC Meditation Launches
    October 4th!</u></span></strong></a></span></p>
    <p><span>Weekly Meditation Hour
    for Faculty, Staff, and Students</span></p>
    <p><span><a href="mailto:Peace@UMBC" rel="nofollow external" class="bo"><span><u>Peace@UMBC</u></span></a> is a weekly meditation hour open to
    faculty, students, and staff who want to cultivate greater peace in their lives
    and relationships through the development of a meditation practice.</span></p>
    <p><span>.</span></p>
    <p><strong><span>3pm, Commons Room 331</span></strong><span></span></p>
    <p><span><a href="http://my.umbc.edu/events/20078" rel="nofollow external" class="bo"><strong><span><u>UMBC Vegetarians First Meeting of the
    Semester</u></span></strong></a></span></p>
    <p><span>Join UMBC Vegetarians
    for our first meeting of the semester! Everyone is welcome to come learn about
    our exciting plans for the upcoming year. We will be meeting on the third floor
    of The Commons Room 331.</span></p>
    <p><span>.</span></p>
    <p><span>Stay well and enjoy all
    that UMBC has to offer!</span></p>
    </div>
]]>
</Body>
<Summary>11 AM to 1pm, Commons Breezeway  PowerShift Bake Sale Fundraiser  Students for Environmental Awareness are raising funds to attend a youth climate and social change/ social justice conference:...</Summary>
<Website>http://sustainability.umbc.edu</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36564/guest@my.umbc.edu/b4dff2ef79593a9e0118a0cf335f69b7/api/pixel</TrackingUrl>
<Group token="sustainability">Sustainability Matters at UMBC</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/sustainability</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/original.png?1586269437</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/large.png?1586269437</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/medium.png?1586269437</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/small.png?1586269437</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxsmall.png?1586269437</AvatarUrl>
<Sponsor>Sustainability Matters @UMBC</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/xxlarge.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/xlarge.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/large.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/medium.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/small.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/xsmall.jpg?1380894749</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/036/564/fde4d164a6f20582854b04bb779f621d/xxsmall.jpg?1380894749</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>2</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 04 Oct 2013 09:52:58 -0400</PostedAt>
<EditAt>Fri, 04 Oct 2013 10:11:13 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="36566" important="false" status="posted" url="https://my3.my.umbc.edu/posts/36566">
<Title>Twitter&#8217;s I.P.O. Plan Has an International Focus</Title>
<Body>
<![CDATA[
    <div class="html-content">The social-networking service said in its stock filing that more than three-quarters of its recent users are outside the United States.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F10%2F05%2Fbusiness%2Ftwitters-ipo-plan-has-an-international-focus.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Twitter%E2%80%99s+I.P.O.+Plan+Has+an+International+Focus" 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%2F10%2F05%2Fbusiness%2Ftwitters-ipo-plan-has-an-international-focus.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Twitter%E2%80%99s+I.P.O.+Plan+Has+an+International+Focus" 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%2F10%2F05%2Fbusiness%2Ftwitters-ipo-plan-has-an-international-focus.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Twitter%E2%80%99s+I.P.O.+Plan+Has+an+International+Focus" 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%2F10%2F05%2Fbusiness%2Ftwitters-ipo-plan-has-an-international-focus.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Twitter%E2%80%99s+I.P.O.+Plan+Has+an+International+Focus" 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%2F10%2F05%2Fbusiness%2Ftwitters-ipo-plan-has-an-international-focus.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Twitter%E2%80%99s+I.P.O.+Plan+Has+an+International+Focus" 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>
    </div>
]]>
</Body>
<Summary>The social-networking service said in its stock filing that more than three-quarters of its recent users are outside the United States.      </Summary>
<Website>http://www.nytimes.com/2013/10/05/business/twitters-ipo-plan-has-an-international-focus.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/36566/guest@my.umbc.edu/928866befdbf4b84cf87692c2015e58f/api/pixel</TrackingUrl>
<Tag>computers-and-the-internet</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>initial-public-offerings</Tag>
<Tag>new</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>Fri, 04 Oct 2013 09:14:48 -0400</PostedAt>
</NewsItem>

</News>
