<?xml version="1.0"?>
<News hasArchived="true" page="7649" pageCount="10790" pageSize="10" timestamp="Fri, 04 Sep 2026 07:28:14 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=7649&amp;range=2">
<NewsItem contentIssues="true" id="43230" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43230">
<Title>Deal of the week: 6 professional iOS7 app design templates</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2014/04/thumbnail1.jpg" width="200" height="160" style="max-width: 100%; height: auto;">It seems like the whole world’s got an idea for an app, the really tricky part is converting that idea into a real app that makes sales on the App Store.</p> <p>If you’re looking to produce an app that is commercially viable, solidly built and great looking, then you’re in the right place, because our sister-site, <a href="http://www.mightydeals.com/deal/myapptemplates-bundle.html?ref=wddpostiosapptemplates" rel="nofollow external" class="bo">MightyDeals.com,</a> has put together a staggering 95% discount on this amazing set of <a href="http://www.mightydeals.com/deal/myapptemplates-bundle.html?ref=wddpostiosapptemplates" rel="nofollow external" class="bo">6 iOS7 App Design Templates.</a></p> <p>Each template comes with the original Photoshop sources files, so you can edit the graphics any way you choose giving your application a bespoke look. All source code is written in native Objective-C, giving you the perfect base to build your own functionality on to. What’s more, each of these app templates is ready to go, if you don’t want to customize then get your content in and you’re good to go!</p> <p>The set includes a newsfeed style app, ideal for displaying frequently updating stories; a location app for locating taxis, restaurants and events; a food app for recipes; a social sharing app; a tap tag app, perfect for socialites who love to shop; and an activity style app, great for anyone building a fitness app.</p> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/ItWzVgvAR4A" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/F7G2I8evDZM" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/Znd9FH3MubY" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/LVdRFOxzSpU" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/grF6Dx31n6M" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/epSQCxNH7nE" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <blockquote> <p>I have been looking for something like this for a long time. I will definitely be recommending your templates next time i am asked for design help. – Valerie</p> </blockquote> <blockquote> <p>First i ran a 99 designs contest, but no useable designs came from it. I was actually surprised. But I was recommended your templates. And have to say I’m really satisfied with what you’ve made! – Danielle</p> </blockquote> <p>These fantastic iOS7 App templates normally retail for $594, but for a limited time you can get all 6 for just $29, an incredible 95% off the regular price. Head over to <a href="http://www.mightydeals.com/deal/myapptemplates-bundle.html?ref=wddpostiosapptemplates" rel="nofollow external" class="bo">MightyDeals</a> right now to grab this offer today.</p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/symufa-photoshop-actions.html?ref=inwidget" rel="nofollow external" class="bo"><strong>300+ Premium Photoshop Actions – only $9!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="Deal of the week: 6 professional iOS7 app design templates" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2014/04/deal-of-the-week-6-professional-ios7-app-design-templates/" rel="nofollow external" class="bo">Source</a> <br><br><br><a href="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360894477/u/49/f/661066/c/35285/s/38ff8c90/sc/4/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>It seems like the whole world’s got an idea for an app, the really tricky part is converting that idea into a real app that makes sales on the App Store.   If you’re looking to produce an app that...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/38ff8c90/sc/4/l/0L0Swebdesignerdepot0N0C20A140C0A40Cdeal0Eof0Ethe0Eweek0E60Eprofessional0Eios70Eapp0Edesign0Etemplates0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43230/guest@my.umbc.edu/96feccb583f05d6f224a58a5dc2f2350/api/pixel</TrackingUrl>
<Tag>app-templates</Tag>
<Tag>art</Tag>
<Tag>cheap-resources-for-app-designers</Tag>
<Tag>css</Tag>
<Tag>deals</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>ios7-app-templates</Tag>
<Tag>javascript</Tag>
<Tag>mighty-deals</Tag>
<Tag>mightydeals</Tag>
<Tag>mightydeals-com</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</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 Apr 2014 13:15:34 -0400</PostedAt>
<EditAt>Fri, 04 Apr 2014 13:15:34 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43229" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43229">
<Title>Bits | State of the Art: Microsoft Office for the iPad: It&#8217;s Delightfully Familiar</Title>
<Body>
<![CDATA[
    <div class="html-content">If you love Office on your computer, you’ll love it on your iPad. If you’ve always hated it, that won’t change, either; now you’ll just have one more place to hate it.<br><br><br><a href="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360088188/u/0/f/640387/c/34625/s/38ff629b/sc/4/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>If you love Office on your computer, you’ll love it on your iPad. If you’ve always hated it, that won’t change, either; now you’ll just have one more place to hate it.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/38ff629b/sc/4/l/0Lbits0Bblogs0Bnytimes0N0C20A140C0A40C0A40Cmicrosoft0Eoffice0Efor0Ethe0Eipad0Eits0Edelightfully0Efamiliar0C0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43229/guest@my.umbc.edu/adf67dd04ad3348b252af7e886989111/api/pixel</TrackingUrl>
<Tag>apple-inc</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>ipad</Tag>
<Tag>mccracken-harry</Tag>
<Tag>microsoft-corporation</Tag>
<Tag>microsoft-corporation-msft-nasdaq</Tag>
<Tag>new</Tag>
<Tag>state-of-the-art</Tag>
<Tag>tablet-computers</Tag>
<Tag>technology</Tag>
<Tag>word-processing</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 Apr 2014 13:14:45 -0400</PostedAt>
<EditAt>Mon, 07 Apr 2014 12:01:22 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43200" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43200">
<Title>Sustainability Champion: Dr. Chrisopher Swan, GES Department</Title>
<Tagline>An interview with a leading researcher at UMBC</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p><span>In this interview, UMBC Sustainability’s Laura Bartock (‘2013) asks GES Professor Christopher Swan about sustainability and his research.</span><br></p>
    <p><a href="http://userpages.umbc.edu/~cmswan/" rel="nofollow external" class="bo">Dr. Swan</a> is a leading researcher in the Baltimore Ecosystem Study and specializes in Community Ecology, Biodiversity, Urban Ecology, Ecology of Rivers &amp; Streams. <br></p>
    <p><br></p>
    <h4><span>Highlights:<br></span></h4>
    <p></p>
    <p><span>“</span><span>We know that very diverse ecological communities provide important </span><span>ecosystem services</span><span>, such as pollinators, [...] These services are important not only to human well-being, but plants and animals as well.”</span><span><br></span></p>
    <p><span>“Ask questions that are both intellectually intriguing to you, but at the same time strive to ensure the questions are relevant to society in general.“ <br></span></p>
    <p><span>“I also believe that most people care more than they know about sustainable practices.” <br></span></p>
    <h4><span>More from the interview:<br></span></h4>
    <p><span>Laura Bartock: </span>Why is sustainability important to you (personally/professionally)?</p>
    <p><em><span>Dr. Swan: The process of accepting the limitations of the environment is an inevitable part of our lives since humans have so successfully been able to extract natural resources for their perceived own well-being.  To me, proceeding without any foresight as to how to best manage the environment is irresponsible. Now, I am not of the mind set at all that the environment can return to its pristine state.  However, I do think that resources can be managed better and more responsibly.  Furthermore, I also believe that most people care more than they know about sustainable practices.</span></em><span><br></span></p>
    <p><span>Laura Bartock: How would you explain your research goals to the average person on the street?</span><span><br></span></p>
    <p><em><span>CS: My interests in lie in explaining how biodiversity – or the number of different kinds of co-occurring plants and animals – is maintained in space and time.  This is important because we know that very diverse ecological communities provide important ecosystem services, such as pollinators, nutrient recycling, freshwater, improved soil conditions, and how well ecosystems can recover from disturbances, like hurricanes and fire.  These services are important not only to human well-being, but plants and animals as well.</span></em><span><br></span></p>
    <p><span>LB: How did you become interested in this project?</span><span><br></span></p>
    <p><em><span>CS: A very good question.  Scientists approach their research in an effort to seek generality.  What processes explain the same patterns in different systems?  For example, if we know that nitrogen loading to the Chesapeake Bay can lead to dead zones in the summer, is this process unique to this estuary only, or to all estuaries?  We know, of course, this can occur in all kinds of waterbodies.</span></em></p>
    <p><em><span>I became interested in the field of community ecology, which seeks to understand the mechanisms that shape species coexistence across multiple scales, largely because it was theoretically intriguing.  The notion of generalizing empirical results to apply in many types of ecosystems is powerful, and I wanted to be apart of that.</span></em></p>
    <p><em><span>Another reason is that species are going extinct at an alarming rate.</span></em></p>
    <p><em><span>What are the consequences of this for other ecosystem processes, like nutrient cycling and soil development? Many people in the world rely on the natural environment to provide for them daily.</span></em></p>
    <p><em><span>The link between biodiversity and those needs makes the theory I test relevant.</span></em><span><br></span></p>
    <p><span>LB: What advice would you give to someone embarking on their own research journey?</span><span><br></span></p>
    <p><em><span>CS: Ask questions that are both intellectually intriguing to you, but at the same time strive to ensure the questions are relevant to society in general.  <br></span></em></p>
    <p><em><span>Seek to make the work personally rewarding.  Research is hard and iterative, which means perseverance is a must.  Therefore, really having a passion for the science is critical to getting through the tough times.</span></em></p>
    <p><em><span>Read broadly in your field, and often.  Reading good material is essential to being a good writer, and writing will comprise the vast majority of your time.  Some suggest reading two peer-reviewed articles a day, as well as writing 1-2 hours a day.  This is great advice, but often a hard pace to maintain.</span></em></p>
    <p><em><span>Engage with good collaborators.  Personally, I value smaller research teams.  Collaboration is an organic process where intellectual engagement feeds enthusiasm and vice versa.</span><span><br></span></em></p>
    <p><em><span>Take risks and accept failures. One doesn’t grow intellectually without failing, working through the problem, and moving forward. Successes don’t necessarily make you a better scientist, coping with failures does.</span></em></p>
    <p>Do you know a sustainability champion on campus? Refer them to us to be featured, at <a href="mailto:sustainability@umbc.edu">sustainability@umbc.edu</a>.<br></p>
    <p>Read the interview in its entirety at <a href="http://sustainability.umbc.edu/sustainability-champion/" rel="nofollow external" class="bo">Sustainability Matters at UMBC</a></p>
    </div>
]]>
</Body>
<Summary>In this interview, UMBC Sustainability’s Laura Bartock (‘2013) asks GES Professor Christopher Swan about sustainability and his research.   Dr. Swan is a leading researcher in the Baltimore...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43200/guest@my.umbc.edu/ff302ae4870011eeb80c8a32227f0ee1/api/pixel</TrackingUrl>
<Tag>sustainability-champion-interview</Tag>
<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 at UMBC</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/xxlarge.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/xlarge.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/large.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/medium.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/small.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/xsmall.jpg?1396564504</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/200/9e380f90dad02ee364f43ddef2fceb0a/xxsmall.jpg?1396564504</ThumbnailUrl>
<PawCount>8</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 04 Apr 2014 11:44:24 -0400</PostedAt>
<EditAt>Fri, 04 Apr 2014 11:47:57 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="43225" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43225">
<Title>Seven Must-Read Stories (Week Ending April 4, 2014)</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Another chance to catch the most interesting, and important, articles from the previous week on <em>MIT Technology Review</em>.</p></div>
]]>
</Body>
<Summary>Another chance to catch the most interesting, and important, articles from the previous week on MIT Technology Review.</Summary>
<Website>http://www.technologyreview.com/view/526036/seven-must-read-stories-week-ending-april-4-2014/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43225/guest@my.umbc.edu/ae74a6ad50b7ee018ef5eaf63bda9c60/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</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 Apr 2014 11:20:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43290" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43290">
<Title>Seven Must-Read Stories (Week Ending April 5, 2014)</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Another chance to catch the most interesting, and important, articles from the previous week on <em>MIT Technology Review</em>.</p></div>
]]>
</Body>
<Summary>Another chance to catch the most interesting, and important, articles from the previous week on MIT Technology Review.</Summary>
<Website>http://www.technologyreview.com/view/526036/seven-must-read-stories-week-ending-april-5-2014/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43290/guest@my.umbc.edu/cb2539da120eaa9b1a4bd1c0d9c55020/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</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 Apr 2014 11:20:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43223" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43223">
<Title>Stripes in CSS</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Stripes are pretty easy to do in CSS these days. <a href="http://css-tricks.com/css3-gradients/" rel="nofollow external" class="bo">CSS gradients</a> via the background-image property really got our back. I thought I'd document some variations in one easy to reference place.</p>
    <p></p>
    <h3>Normal Colored Diagonal Stripes</h3>
    <p>Diagonal stripes are easy to pull off thanks to <code>repeating-linear-gradient()</code>:</p>
    <pre><code>background: repeating-linear-gradient(&#x000A;      45deg,&#x000A;      #606dbc,&#x000A;      #606dbc 10px,&#x000A;      #465298 10px,&#x000A;      #465298 20px&#x000A;    );</code></pre>
    <p>Rather than the very last color-stop being 100% (or nothing, which means 100%) it's a fixed value. Beyond that, it just kinda starts over. This is how I think of it (zoomed in):</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2014/04/concept.png" alt="" style="max-width: 100%; height: auto;">
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/epfEc/" rel="nofollow external" class="bo">epfEc</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <h3>Gradient Diagonal Stripes</h3>
    <p>If you make the background a regular <code>linear-gradient()</code>, and then make half the stripes totally transparent using <code>repeating-linear-gradient()</code>, it can appear as if the stripes have gradients. Because of multiple backgrounds (and <a href="http://css-tricks.com/stacking-order-of-multiple-backgrounds/" rel="nofollow external" class="bo">stacking order</a>), you can do that all together on a single element:</p>
    <pre><code>background: &#x000A;      /* On "top" */&#x000A;      repeating-linear-gradient(&#x000A;        45deg,&#x000A;        transparent,&#x000A;        transparent 10px,&#x000A;        #ccc 10px,&#x000A;        #ccc 20px&#x000A;      ),&#x000A;      /* on "bottom" */&#x000A;      linear-gradient(&#x000A;        to bottom,&#x000A;        #eee,&#x000A;        #999&#x000A;      );</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/xhkpD/" rel="nofollow external" class="bo">xhkpD</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <h3>Stripes Over Image</h3>
    <p>Perhaps a texture? Any image will work. You could reveal part of the image by making some stripes fully transparent and some fully opaque. Or, any combination. Again multiple backgrounds allows this to all happen on the same element.</p>
    <pre><code>background: repeating-linear-gradient(&#x000A;      45deg,&#x000A;      rgba(0, 0, 0, 0.2),&#x000A;      rgba(0, 0, 0, 0.2) 10px,&#x000A;      rgba(0, 0, 0, 0.3) 10px,&#x000A;      rgba(0, 0, 0, 0.3) 20px&#x000A;    ),&#x000A;    url(<a href="http://s3-us-west-2.amazonaws.com/s.cdpn.io/3/old_map_@2X.png">http://s3-us-west-2.amazonaws.com/s.cdpn.io/3/old_map_@2X.png</a>);</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/gaKyv/" rel="nofollow external" class="bo">gaKyv</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <h3>Any Direction, Any Angle</h3>
    <p>It doesn't have to be exactly 45degrees. That's part of the beauty of the repeating-linear-gradient(). It's not like this perfect rectangle that has to line up and repeat, it's just a set of drawing instructions that repeats.</p>
    <pre><code>background: repeating-linear-gradient(&#x000A;      -55deg,&#x000A;      #222,&#x000A;      #222 10px,&#x000A;      #333 10px,&#x000A;      #333 20px&#x000A;    );</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/qfHmw/" rel="nofollow external" class="bo">qfHmw</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <h3>Straight Stripes (slightly better browser support)</h3>
    <p>There is a super old syntax for CSS gradients that used <code>-webkit-gradient()</code> (note the no "linear" or "radial"). Basically: Safari 4, Chrome 1-9, iOS 3.2-4.3, Android 2.1-3.0. Old stuff. Those browsers don't support repeating gradients. But you could kinda fake it, especially for straight stripes, by making a small rectangle of background via <code>background-size</code>, drawing the stripes in there, and having it repeat naturally like <code>background-image</code> does. </p>
    <pre><code>background: linear-gradient(&#x000A;      to bottom,&#x000A;      #5d9634,&#x000A;      #5d9634 50%,&#x000A;      #538c2b 50%,&#x000A;      #538c2b&#x000A;    );&#x000A;    /* The rectangle in which to repeat. &#x000A;       It can be fully wide in this case */&#x000A;    background-size: 100% 20px;</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/uxJrf/" rel="nofollow external" class="bo">uxJrf</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <p>If you wanted to get crazy, you could <code>transform: rotate()</code> some element with these straight stripes and cut off the overflow, in which to replicate diagonal stripes with deeper browser support. Sounds like a lot of work.</p>
    <h3>Vertical Stripes</h3>
    <p>You could use the same method as above for vertical stripes too. Or, just use <code>repeating-linear-gradient()</code>:</p>
    <pre><code>background: repeating-linear-gradient(&#x000A;      to right,&#x000A;      #f6ba52,&#x000A;      #f6ba52 10px,&#x000A;      #ffd180 10px,&#x000A;      #ffd180 20px&#x000A;    );</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/oCpEu/" rel="nofollow external" class="bo">oCpEu</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <p>Just to be clear, with <code>repeating-linear-gradient()</code> you are best off doing a <code>-webkit-repeating-linear-gradient()</code> as well as the unprefixed one, if you're, you know, prefixing buy yourself <a href="http://css-tricks.com/autoprefixer/" rel="nofollow external" class="bo">which you shouldn't</a>.</p>
    <h3>Radial Stripes</h3>
    <p>Who says they have to be straight lines eh? Radial gradients can be <code>repeating-linear-gradients()</code>:</p>
    <pre><code>/* Note the RADIAL */&#x000A;    background: repeating-radial-gradient(&#x000A;      circle,&#x000A;      purple,&#x000A;      purple 10px,&#x000A;      #4b026f 10px, &#x000A;      #4b026f 20px&#x000A;    );</code></pre>
    <p>See the Pen <a href="http://codepen.io/chriscoyier/pen/AEymd/" rel="nofollow external" class="bo">AEymd</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier" rel="nofollow external" class="bo">@chriscoyier</a>) on <a href="http://codepen.io" rel="nofollow external" class="bo">CodePen</a>.</p>
    <h3>Funky Town</h3>
    <p>Sometimes rounding errors (maybe?) or other kinda rendering funkiness happens. </p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2014/04/stripes-weird.gif" alt="" style="max-width: 100%; height: auto;">
    <p>Whattyagonnado. I suspect it will get better over time.</p>
    <p><a href="http://codepen.io/chriscoyier/pen/dDhHe/" rel="nofollow external" class="bo">All together now.</a></p>
    <hr>
    <p><small><a href="http://css-tricks.com/stripes-css/" rel="nofollow external" class="bo">Stripes in CSS</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>Stripes are pretty easy to do in CSS these days. CSS gradients via the background-image property really got our back. I thought I'd document some variations in one easy to reference place....</Summary>
<Website>http://css-tricks.com/stripes-css/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43223/guest@my.umbc.edu/f785d2e292046e256576e16e2bccabb4/api/pixel</TrackingUrl>
<Tag>article</Tag>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</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 Apr 2014 11:01:57 -0400</PostedAt>
<EditAt>Fri, 04 Apr 2014 11:01:57 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43222" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43222">
<Title>DealBook: GrubHub Soars in Market Debut; Other New Listings Rise, Too</Title>
<Body>
<![CDATA[
    <div class="html-content">Shares of GrubHub opened at $40, rising nearly 54 percent above the I.P.O. price. Others, including IMS Health and Opower, also enjoyed a pop in their first trades.<br><br><br><a href="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360945587/u/0/f/640387/c/34625/s/38fddb90/sc/24/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Shares of GrubHub opened at $40, rising nearly 54 percent above the I.P.O. price. Others, including IMS Health and Opower, also enjoyed a pop in their first trades.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/38fddb90/sc/24/l/0Ldealbook0Bnytimes0N0C20A140C0A40C0A40Cgrubhub0Esoars0Ein0Emarket0Edebut0Eother0Enew0Elistings0Erise0Etoo0C0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43222/guest@my.umbc.edu/e30821452856df34cabe043a634862cd/api/pixel</TrackingUrl>
<Tag>castlight-health</Tag>
<Tag>grubhub</Tag>
<Tag>healthcare</Tag>
<Tag>i-p-o-offerings</Tag>
<Tag>ims-health</Tag>
<Tag>initial-public-offerings</Tag>
<Tag>new</Tag>
<Tag>opower</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 Apr 2014 10:31:26 -0400</PostedAt>
<EditAt>Sun, 06 Apr 2014 08:40:23 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43221" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43221">
<Title>INDS 232: Interdisciplinary Intro. to Food System Studies</Title>
<Tagline>INDS 232: Interdisciplinary Intro. to Food System Studies</Tagline>
<Body>
<![CDATA[
    <div class="html-content">This course explores fundamental concepts within food systems studies, focusing on the intersection of agriculture, the food industry, human health, environmental sustainability and social justice. Core topics include how our food system supports or diminishes ecological well-being, biological diversity, human health, equity and social justice, and animal welfare. The course analyzes the key stakeholders in the food system and emerging efforts to transform it.<div><br></div>
    <div>When: Tuesdays and Thursdays 1-2:15pm</div>
    <div><br></div>
    <div><br></div>
    <div>For more information contact :</div>
    <div><span><a href="mailto:wrigleyj@umbc.edu" rel="nofollow external" class="bo"><span>wrigleyj@umbc.edu</span></a></span></div>
    </div>
]]>
</Body>
<Summary>This course explores fundamental concepts within food systems studies, focusing on the intersection of agriculture, the food industry, human health, environmental sustainability and social...</Summary>
<AttachmentKind>Flyer</AttachmentKind>
<AttachmentUrl>https://assets4-my.umbc.edu/system/shared/attachments/15085ff43e30143e64b47aa10b83d1e4/6a9aab4e/news/000/043/221/7dc7538f41cbee2be86aa2559ade080c/INDS 232 flyer.docx?1396621063</AttachmentUrl>
<Attachments>
<Attachment kind="Flyer" url="https://my3.my.umbc.edu/posts/43221/attachments/13078"></Attachment>
</Attachments>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43221/guest@my.umbc.edu/59d40a07d4a2a1fbcd96525036583cd1/api/pixel</TrackingUrl>
<Group token="inds">Individualized Study </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/inds</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/original.png?1775678457</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/large.png?1775678457</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/medium.png?1775678457</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/small.png?1775678457</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxsmall.png?1775678457</AvatarUrl>
<Sponsor>Interdisciplinary Studies</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/xxlarge.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/xlarge.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/large.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/medium.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/small.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/xsmall.jpg?1396621016</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/221/eeccf3dcdfa0ee5bd3a283e146b06626/xxsmall.jpg?1396621016</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 04 Apr 2014 10:25:28 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43219" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43219">
<Title>Sandra Lacy and Tim Nohe in Richmond Times Dispatch</Title>
<Tagline>"Enchanting" Annual Richmond Choreographers Showcase</Tagline>
<Body>
<![CDATA[
    <div class="html-content">From the review in the <a href="http://www.timesdispatch.com/entertainment-life/arts-literature/theater/an-evening-of-experimentation/article_c096ddb6-9d17-5586-a231-8150513e9e5b.html" rel="nofollow external" class="bo">Richmond Time Dispatch</a>, by Sheena Jeffers:<div><br></div>
    <div>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    <p>The show opened with the entrancing piece “Slip,”
    choreographed by Mariah Maloney in dialogue with the solo performer Sandra
    Lacy. The music, originally composed and performed by Timothy Nohe, moves from
    nature sounds to almost galactic, electronic sounds which seem to vibrate
    through Lacy’s body as the intensity of the piece rises and falls. The use of
    repetition was compelling: each time a phrase was repeated, it felt different.</p>
    
    </div>
    </div>
]]>
</Body>
<Summary>From the review in the Richmond Time Dispatch, by Sheena Jeffers:                      The show opened with the entrancing piece “Slip,” choreographed by Mariah Maloney in dialogue with the solo...</Summary>
<Website>http://www.timesdispatch.com/entertainment-life/arts-literature/theater/an-evening-of-experimentation/article_c096ddb6-9d17-5586-a231-8150513e9e5b.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43219/guest@my.umbc.edu/b98f65e0f35b299cfc4e592f812fa782/api/pixel</TrackingUrl>
<Tag>dance</Tag>
<Tag>electronic</Tag>
<Tag>lacy</Tag>
<Tag>maloney</Tag>
<Tag>mariah</Tag>
<Tag>music</Tag>
<Tag>nohe</Tag>
<Tag>sandy</Tag>
<Tag>tim</Tag>
<Group token="circa">CIRCA</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/circa</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xsmall.png?1762367739</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/original.jpg?1762367739</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xxlarge.png?1762367739</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xlarge.png?1762367739</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/large.png?1762367739</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/medium.png?1762367739</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/small.png?1762367739</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xsmall.png?1762367739</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xxsmall.png?1762367739</AvatarUrl>
<Sponsor>CIRCA</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 04 Apr 2014 10:00:29 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43220" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43220">
<Title>Creating an RSS Feed Reader With the MEAN Stack</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>This article is a continuation of <a href="http://code.tutsplus.com/tutorials/introduction-to-the-mean-stack--cms-19918" rel="nofollow external" class="bo">Introduction to the MEAN Stack</a>. The previous post covered the installation of the MEAN stack and also presented what we ended up with in terms of its directory structure, after installation. Now it's time for some actual coding!</p>
    <h2>What We'll Be Building</h2>
    <p>We will be building an RSS feed reader using the MEAN stack. The application will allow its user to manage their list of feeds by adding a new feed, deleting an existing one, modifying an existing one and, of course, seeing a list of all the feeds in which the user is interested in.</p>
    <p>The user has to authenticate in order to have access to the application, so that the feeds of one user are not visible to others and most importantly, to users that are not logged in. As we saw in the <a href="http://code.tutsplus.com/tutorials/introduction-to-the-mean-stack--cms-19918" rel="nofollow external" class="bo">previous</a> article, the stack comes with a full authentication mechanism already implemented, so we can use it without further modifications.</p>
    <p>The feed's URLs are stored in a Mongo database on the server so that they are available even after logging off, or after closing the browser.</p>
    <p>The last feeds are displayed to the user on the main page and they will show the article's title, an excerpt and allow the user to click on the title to read the entire post.</p>
    <p>The user will also have the possibility to filter the feeds on various criteria.</p>
    <p>In this first part, we will discuss the implementation of the server part of our application (the backend). We will implement a REST API to respond to the user's requests for viewing, creating, deleting and modifying feeds.</p>
    <p>Luckily for us, the MEAN stack gives us such an API for handling the articles that can be created. We will modify this API to respond to our need of handling the feed URLs. After all, this is why we are using boilerplate code, to modify and adapt it to the needs of our application. So let's do that!</p>
    <h2>The Routes</h2>
    <p>Let's spend a minute and think about what routes our app should to respond to. The picture below shows what we expect to have: </p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20563/image/routes.jpeg" style="max-width: 100%; height: auto;">
    <p>Now, let's open the file <code>app/routes/articles.js</code>. If we look at its contents, we see that this is what we want to have, but applied to the articles. So, we have to modify it a little to fit our needs. First, change its name from <code>articles.js</code> to <code>feeds.js</code>. Then modify it as shown below:</p>
    <pre>    // app/routes/feeds.js&#x000A;        'use strict';&#x000A;    &#x000A;        var feeds = require('../controllers/feeds');&#x000A;        var authorization = require('./middlewares/authorization');&#x000A;    &#x000A;        // Feeds authorization helpers&#x000A;        var hasAuthorization = function(req, res, next) {&#x000A;            if (req.feed.user.id !== req.user.id) {&#x000A;                return res.send(401, 'User is not authorized');&#x000A;            }&#x000A;            next();&#x000A;        };&#x000A;    &#x000A;        module.exports = function(app) {&#x000A;            app.get('/feeds', feeds.all);&#x000A;            app.post('/feeds', authorization.requiresLogin, feeds.create);&#x000A;            app.get('/feeds/:feedId', feeds.show);&#x000A;            app.put('/feeds/:feedId', authorization.requiresLogin, hasAuthorization, feeds.update);&#x000A;            app.del('/feeds/:feedId', authorization.requiresLogin, hasAuthorization, feeds.destroy);&#x000A;    &#x000A;            // Finish with setting up the feedId param&#x000A;            app.param('feedId', feeds.feed);&#x000A;        };&#x000A;    </pre>
    <p>For those familiar with the Express framework, this shouldn't be anything new, but just in case, let's go over it real quickly. We start by requiring the <code>feeds</code> controller (which we'll see in a moment) and the authorization middleware (which the MEAN stack gives us).</p>
    <p>Then we have the <code>hasAuthorization()</code> function, which compares the <code>id</code> of the user who wants to manipulate the feed with the <code>id</code> of the logged in user and returns an error if they are not the same. The <code>next()</code> function is a callback which allows the next layer in the middleware stack to be processed.</p>
    <p>In the last part, our code exports the routes as described in the table above, implementing the security requirements.</p>
    <h2>The Models</h2>
    <p>Creating the application's model using <code>mongoose</code> is a breeze. Rename the <code>app\models\article.js</code> to <code>app\models\feed.js</code> and perform the following modifications:</p>
    <pre>    'use strict';&#x000A;    &#x000A;        /**&#x000A;         * Module dependencies.&#x000A;         */&#x000A;        var mongoose = require('mongoose'),&#x000A;            Schema = mongoose.Schema;&#x000A;    &#x000A;        /**&#x000A;         * Feeds Schema.&#x000A;         */&#x000A;        var FeedsSchema = new Schema ({&#x000A;            feedUrl: {&#x000A;                type: String,&#x000A;                default: '',&#x000A;                trim: true&#x000A;            },&#x000A;    &#x000A;            user: {&#x000A;                type: Schema.ObjectId,&#x000A;                ref: 'User'&#x000A;            }&#x000A;        });&#x000A;    &#x000A;        /**&#x000A;         * Statics&#x000A;         */&#x000A;        FeedsSchema.statics.load = function(id, cb) {&#x000A;            this.findOne({&#x000A;                _id: id&#x000A;            }).populate('user', 'name username').exec(cb);&#x000A;        };&#x000A;    &#x000A;        mongoose.model('Feeds', FeedsSchema);&#x000A;    </pre>
    <p>We define our database structure here as follows: we will have a feeds table containing a <code>feedUrl</code> string type field and a reference to a <code>user</code> which will store the <code>id</code> of the current logged in user. Notice that we don't handle the creation of an <code>id</code> for our documents here, since this is taken care of for us by the MongoDB system.</p>
    <p>Finally, we define a <code>load()</code> function that filters the documents in the database based on the <code>id</code> of the current logged in user.</p>
    <h2>The Controller</h2>
    <p>The controller is responsible for implementing the functions called by the router, when a specific route is requested. All the necessary functions for the CRUD operations we perform are implemented in the controller. Let's take a look at them one by one and see the implementation details.</p>
    <p>You should be noticing a pattern by this point. First, don't forget to rename the <code>app/controllers/articles.js</code> file to <code>app/controllers/feeds.js</code>.</p>
    <h3>Creating a Feed</h3>
    <p>In order to create a feed we implement the <code>create()</code> function:</p>
    <pre>    /**&#x000A;         * Create a feed&#x000A;         */&#x000A;        exports.create = function(req, res) {&#x000A;            var feed = new Feeds(req.body);&#x000A;            feed.user = req.user;&#x000A;    &#x000A;            feed.save(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <p>First, we create a <code>feed</code> variable based on the <code>Feeds</code> model. Then we add to this variable the reference to the current logged in user to be stored. Finally, we call the model's <code>save</code> method to store the document in the database. Upon error, we return to the signup form since most likely the user is not logged in. If the document is created successfully, we return the new document to the caller.</p>
    <h3>Modifying a Feed</h3>
    <pre>    /**&#x000A;         * Update a feed&#x000A;         */&#x000A;        exports.update = function(req, res) {&#x000A;            var feed = req.feed;&#x000A;    &#x000A;            feed = _.extend(feed, req.body);&#x000A;    &#x000A;            feed.save(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <p>We call Lodash's <code>extend</code> method in order to modify the feed's properties with the ones that came from the user. Then the <code>save</code> method of the model stores the modified data in to the database.</p>
    <h3>Deleting a Feed</h3>
    <pre>    /**&#x000A;         * Delete a feed&#x000A;         */&#x000A;        exports.destroy = function(req, res) {&#x000A;            var feed = req.feed;&#x000A;    &#x000A;            feed.remove(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <p>Quite simple, isn't it? The model has a <code>remove</code> method which solved our problem quite easily.</p>
    <h3>Showing Feeds</h3>
    <p>Showing all feeds will be the task of the client part of our application. The server will only return the necessary data:</p>
    <pre>    /**&#x000A;         * List of Feeds&#x000A;         */&#x000A;        exports.all = function(req, res) {&#x000A;            Feeds.find().sort('-created').populate('user', 'feedUrl').exec(function(err, feeds) {&#x000A;                if (err) {&#x000A;                    res.render('error', {&#x000A;                        status: 500&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feeds);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <p>The code performs a find in the database returning the <code>user</code> and the <code>feedUrl</code>. If <code>find</code> fails, a server error is returned, otherwise all the found feeds will be returned.</p>
    <p>A single feed is displayed by using the following:</p>
    <pre>    /**&#x000A;         * Show a feed&#x000A;         */&#x000A;        exports.show = function(req, res) {&#x000A;            res.jsonp(req.feed);&#x000A;        };&#x000A;    </pre>
    <p>... which then uses a helper function:</p>
    <pre>    exports.feed = function (req, res, next, id) {&#x000A;            Feeds.load(id, function (err, feed) {&#x000A;                if (err) return next(err);&#x000A;    &#x000A;                if (!feed) return next(new Error('Failed to load feed ' + id));&#x000A;    &#x000A;                req.feed = feed;&#x000A;    &#x000A;                next();&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <p>... that loads a specific feed based on its <code>id</code> (which will come packaged in the URL).</p>
    <p>The complete code should like this:</p>
    <pre>    // app/controllers/feeds.js&#x000A;        'use strict';&#x000A;    &#x000A;        var mongoose = require('mongoose'),&#x000A;            Feeds = mongoose.model('Feeds'),&#x000A;            _ = require('lodash');&#x000A;    &#x000A;        exports.feed = function (req, res, next, id) {&#x000A;            Feeds.load(id, function (err, feed) {&#x000A;                if (err) return next(err);&#x000A;    &#x000A;                if (!feed) return next(new Error('Failed to load feed ' + id));&#x000A;    &#x000A;                req.feed = feed;&#x000A;    &#x000A;                next();&#x000A;            });&#x000A;        };&#x000A;    &#x000A;        /**&#x000A;         * Show a feed&#x000A;         */&#x000A;        exports.show = function(req, res) {&#x000A;            res.jsonp(req.feed);&#x000A;        };&#x000A;    &#x000A;        /**&#x000A;         * List of Feeds&#x000A;         */&#x000A;        exports.all = function(req, res) {&#x000A;            Feeds.find().sort('-created').populate('user', 'feedUrl').exec(function(err, feeds) {&#x000A;                if (err) {&#x000A;                    res.render('error', {&#x000A;                        status: 500&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feeds);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    &#x000A;        /**&#x000A;         * Create a feed&#x000A;         */&#x000A;        exports.create = function(req, res) {&#x000A;            var feed = new Feeds(req.body);&#x000A;            feed.user = req.user;&#x000A;    &#x000A;            feed.save(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    &#x000A;        /**&#x000A;         * Update a feed&#x000A;         */&#x000A;        exports.update = function(req, res) {&#x000A;            var feed = req.feed;&#x000A;    &#x000A;            feed = _.extend(feed, req.body);&#x000A;    &#x000A;            feed.save(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    &#x000A;        /**&#x000A;         * Delete a feed&#x000A;         */&#x000A;        exports.destroy = function(req, res) {&#x000A;            var feed = req.feed;&#x000A;    &#x000A;            feed.remove(function(err) {&#x000A;                if (err) {&#x000A;                    return res.send('users/signup', {&#x000A;                        errors: err.errors,&#x000A;                        feed: feed&#x000A;                    });&#x000A;                } else {&#x000A;                    res.jsonp(feed);&#x000A;                }&#x000A;            });&#x000A;        };&#x000A;    </pre>
    <h2>Is the REST API Complete?</h2>
    <p>Well, almost. At this point we do not have the client part of the application implemented in order to prove that the code is working. I didn't present the unit tests for the code either, since it's not so complicated and I wanted to leave it up to you as an exercise.</p>
    <p>We can test the code using the Postman - REST Client application available on Google Chrome.</p>
    <h3>Creating a Feed</h3>
    <p>Install <a href="https://github.com/a85/POSTMan-Chrome-Extension" rel="nofollow external" class="bo">Postman</a> if you don't have it already and configure it as follows:</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20563/image/create_feed.jpg" style="max-width: 100%; height: auto;">
    <h3>Viewing All Feeds</h3>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20563/image/get_all_feeds.jpg" style="max-width: 100%; height: auto;">
    <h3>Viewing a Single Feed</h3>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20563/image/get_single_feed.jpg" style="max-width: 100%; height: auto;">
    <p>The remaining parts of the code are easy to verify, so please have some fun with Postman and your new application.</p>
    <h2>Conclusion</h2>
    <p>Using a framework or boilerplate code can, in some situations, be useful and make you very productive. As you've seen in this article, implementing the REST API needed for our application was reduced to performing minor modifications to the boilerplate code. Of course for more complex applications, it may be necessary to do more than that, but still, having a starting point can be useful.</p>
    <p>In the next tutorial, we will take a look at the client part of the application for displaying the data we will request from the server, showing forms for entering new feed URLs, handling events and so on.</p>
    </div>
]]>
</Body>
<Summary>This article is a continuation of Introduction to the MEAN Stack. The previous post covered the installation of the MEAN stack and also presented what we ended up with in terms of its directory...</Summary>
<Website>http://code.tutsplus.com/tutorials/creating-an-rss-feed-reader-with-the-mean-stack--cms-20563</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43220/guest@my.umbc.edu/6d2b8f3749d97efcbe2ec139c514b55e/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>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 Apr 2014 10:00:04 -0400</PostedAt>
<EditAt>Fri, 04 Apr 2014 10:00:04 -0400</EditAt>
</NewsItem>

</News>
