<?xml version="1.0"?>
<News hasArchived="true" page="8074" pageCount="10850" pageSize="10" timestamp="Sun, 04 Oct 2026 14:33:49 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8074&amp;range=2">
<NewsItem contentIssues="false" id="39446" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39446">
<Title>Job Announcement: GA with GSA</Title>
<Tagline>Project &amp; Database Management</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p>GSA annually funds more than 300 UMBC graduate students’ research and travel with an average of $140,000 expended. This graduate assistantship is the project manager for GSA Research &amp; Travel (R&amp;T) including upkeep of the R&amp;T database, coordinating R&amp;T processes, analyzing R&amp;T data, and producing monthly, semester and annual reports which assist the GSA Executive Board’s strategic planning and budgeting processes.</p>
    <p>This graduate assistantship requires knowledge of computer databases, website management, project management and systems processes. The position requires design, trouble-shooting, research, and analysis as well as the ability to work alone and on a team. Duties include database management and research on GSA R&amp;T funding.</p>
    <p>This position chairs the GSA Senate Travel &amp; Research Committee, working in collaboration with GSA Senators and Executive Board members to create more efficient processes and effective reports. The GA will have a sense of project management to assist with events and long-term projects. The GA in this position should have a background in the following topics: database implementation, project management, decision technology, information management, emerging technologies.</p>
    <strong></strong><p><strong>Responsibilities: </strong><em>65% database and R&amp;T project management; 25% website management; 10% recruitment.</em></p>
    <em></em><p><em>This is a 20-hour/week assistantship including tuition remission, stipend &amp; GA health insurance. Stipends </em><a href="http://www.umbc.edu/gradschool/funding/minimum_stipend_levels.html">http://www.umbc.edu/gradschool/funding/minimum_stipend_levels.html</a></p>
    <p>Send an application letter, CV, a copy of your UMBC unofficial transcripts, and contact information for 2-3 faculty/UMBC references to Dr. Jenness E. Hall <a href="mailto:hall@umbc.edu">hall@umbc.edu</a> with the subject “R&amp;T GA Position.”</p>
    <strong>
    <p>This position is funded by Federal Work Study Funds.</p>
    <p>To be eligible, applicants MUST be a U.S. Citizen or Permanent Resident.</p></strong><p>Interviews will commence immediately. Position available January 6. 2014.</p>
    </div>
]]>
</Body>
<Summary>GSA annually funds more than 300 UMBC graduate students’ research and travel with an average of $140,000 expended. This graduate assistantship is the project manager for GSA Research &amp; Travel...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39446/guest@my.umbc.edu/e0fe6a86b29001ac79084fec45cdb537/api/pixel</TrackingUrl>
<Group token="llc">Language, Literacy and Culture Doctoral Program</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/llc</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/original.jpg?1375383725</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/large.png?1375383725</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/medium.png?1375383725</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/small.png?1375383725</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxsmall.png?1375383725</AvatarUrl>
<Sponsor>Language, Literacy and Culture Doctoral Program</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 13 Dec 2013 15:03:26 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="39447" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39447">
<Title>Hiring a Freelance Developer Via Twitter and Why This is So Powerful</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>On October 28th, I tweeted that I was looking to hire a freelance front-end web developer for <a href="https://www.uncover.com" rel="nofollow external" class="bo">Uncover</a>: </p>
    <blockquote>
    <p>I’ve got a quick frontend freelance gig for someone. Please @ message me or email me if interested.</p>
    <p>— Spencer Fry (@spencerfry) <a href="https://twitter.com/spencerfry/statuses/394918504811753472" rel="nofollow external" class="bo">October 28, 2013</a></p>
    </blockquote>
    <p></p>
    <p>I thought I would give it a shot, now knowing what to expect. While I may have more Twitter followers than some (5,250+), I didn’t think I’d get more than a lead or two. What I definitely didn’t expect was to interview five competent people the next day: four over Skype and one in person in New York City.</p>
    <p>Within minutes, I had several people reply to my tweet that they’d be interested in the job. I responded to them with my email address and we set up a chance to talk the following day. By the end of the day I had five scheduled meetings in my calendar for the following day. Two of the people were local in NYC, one was in the UK, one was in Belgium, and the fifth was in San Francisco. The following morning before I started the interviews I tweeted: </p>
    <blockquote>
    <p>I'll have interviewed 5 frontend developers for a quick gig by the end of today. All thanks to intros via Twitter.</p>
    <p>— Spencer Fry (@spencerfry) <a href="https://twitter.com/spencerfry/statuses/395253707673456641" rel="nofollow external" class="bo">October 29, 2013</a></p>
    </blockquote>
    <p></p>
    <p>I was giddy at the thought that a single tweet could land me a freelancer.</p>
    <p>The interviews proceeded on schedule and I talked to each of the candidates for between fifteen and twenty minutes. I emailed each of them three PNG files that represented the PSDs that needed to be converted into HTML and CSS. I then explained that Uncover is written in Ruby on Rails and asked what their experience was with implementing HTML/CSS in that environment. They all had experience with RoR. We also use a rather obscure views and templates engine called <a href="https://github.com/josh/mustache-rails" rel="nofollow external" class="bo">Mustache</a> and I wanted to find out whether anyone had used it. One had heard of it, but nobody had used it. I then asked them a series of short questions to gauge their experience and to find out how they would complete the actual work. What was their process? Where would they start?</p>
    <p>After interviewing all the candidates, I had a sense of who would be the best person for the job, but I needed to wait for quotes before making my decision. I gave each candidate until the following morning to get back to me with a quote. Only one of the five sent a proposal right after we’d talked. The quotes ranged from as little as $750 to as much as $1650 with the average being at just over $1,000. I could tell from speaking with the $750 person that he was the least experienced of the group. Four of the five quotes were hourly and one was project based. I ended up negotiating down the $1,650 guy, the one who had given the project based quote, to $1,200 after another Skype call with him.</p>
    <p>I explained to him that $1,650 was $550 higher than the next highest quote, but that I’d be willing to pay a premium because of his experience and that he was located in New York. While I’m all for remote workers, I’m willing to pay slightly more knowing that we could grab coffee or meet briefly at our office if it was necessary. At this time, we haven’t needed to.</p>
    <p>We signed the contract and began work the next day. Immediately after signing the contract, I reached out to the other four candidates and let them know that I appreciated their time but that I had gone with someone else. Everyone wrote back with nice emails. The worst thing you can do is to take your time making your decision when hiring someone as a freelancer, because it’s unfair to the people you don’t go with. They’re left waiting, not knowing what’s going to happen or whether their time has been booked.</p>
    <p>Finding this freelancer through Twitter has been an amazing experience. I went from a single tweet asking for a freelance front-end developer to a signed contract in under 48 hours. I’ve hired dozens of freelancers, but nothing even close to that short a timeframe has ever happened to me before.</p>
    <p>It’s amazing to see the value that being on Twitter can bring you. I would never have been able to find five developers to interview in such a short period of time in any other way. Emailing friends for recommendations would have required an email exchange. Posting on job boards would have cost money. Using Elance or oDesk would have been a pain in its own right. Only Twitter allowed me a direct one-to-one correspondence immediately with interested people whom I could quickly vet.</p>
    <p>The post <a href="http://blog.teamtreehouse.com/hiring-freelance-developer-via-twitter-powerful" rel="nofollow external" class="bo">Hiring a Freelance Developer Via Twitter and Why This is So Powerful</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>On October 28th, I tweeted that I was looking to hire a freelance front-end web developer for Uncover:     I’ve got a quick frontend freelance gig for someone. Please @ message me or email me if...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/QTBVBrZIs0A/hiring-freelance-developer-via-twitter-powerful</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39447/guest@my.umbc.edu/23b4f19269a92ddeade9061dbdd5c99e/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>business</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>make-a-website</Tag>
<Tag>responsive</Tag>
<Tag>start-a-business</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, 13 Dec 2013 15:00:38 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="39445" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39445">
<Title>$5,000 Student Media Scholarship Competition</Title>
<Tagline>Alliance for Women in Media Foundation &amp; Ford Motor Company</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <strong>
    <p>Alliance for Women in Media Foundation &amp; Ford Motor Company Fund</p>
    <p>$5,000 Student Media Scholarship Competition</p>
    <p><em>Blazing the Trail: Celebrating the Women of Empowering America® </em>Information &amp; Application</p></strong>
    <p>For almost a decade, the Alliance for Women in Media Foundation (AWMF) has been telling the stories of inspiring women from American history with its Empowering America program. In 2008, AWMF expanded the Empowering America program to share the stories of these women with middle schools across the country.</p>
    <p>In partnership with the Ford Motor Company Fund, the philanthropic arm of Ford Motor Company, AWMF developed educational collateral and put it in the hands of teachers to stimulate and enhance classroom conversations about these female icons, who have pioneered in fields such as science, social reform, public service, sports, journalism, music and aviation. Past subjects of Empowering America programs include Annie Easley, Gloria Estefan, Gabrielle Giffords, Barbara Jordan, Christa McAuliffe, Muriel Siebert, Sonia Sotomayor, and many more.</p>
    <strong><p>AWM invites students to submit a creative and thought-provoking script for a two to three minute video celebrating the many inspiring women from the 2013 Empowering America booklet. Previous winning videos can be viewed here.</p></strong><p><strong>Submission Requirements: </strong>Please submit a proposed script for the video along with a sample of previous video work and letter of recommendation from a professor or media professional. The script must include and incorporate the competition theme, <strong><em>Blazing the Trail: Celebrating the Women of Empowering America</em>, </strong>and feature <strong>at least four women </strong>from the 2013 Empowering America program (booklet available here). Here are some questions to consider:</p>
    <p>In what ways have these women influenced the course of American history? What can we learn from them?</p>
    <p>What positive qualities do these women possess that could speak to students or future leaders?</p>
    <p>How do these women leaders and their legacies continue to impact us today?</p>
    <p>We encourage you to look at the 2013 Empowering America booklet to get a sense of the featured women, their accomplishments and their journeys. <strong>You are not required to focus on all of the women featured in the booklet, but must include a representative sample.</strong></p>
    <strong>
    <p>Application Requirements:</p>
    </strong><p>You must be full‐time undergraduate or graduate student at an accredited college or university. Please include with your submission the following information in its entirety:</p>
    <p>Name</p>
    <p>College or University, Expected Year of Graduation</p>
    <p>Contact Information (mailing address, phone, email)</p>
    <p>Copy of a valid student ID</p>
    <p>A proposed script/outline for the two to three‐minute video, as described above</p>
    <p>A sample of previous video work</p>
    <p>A letter of recommendation from a media professor or media professional</p>
    <strong></strong><p><strong>Prize: AWMF and Ford Motor Company Fund will select one student winner to receive $5,000, payable to the winning student’s educational institution upon completion of the video. </strong>All production expenses are incurred by the student.</p>
    <p><strong>Selection: </strong>The script, sample video and recommendation along with any collateral are due <strong>December 16, 2013</strong>. A panel consisting of representatives from AWMF and Ford Motor Company Fund will choose the winning student. The winning student will be notified by December 20, 2013 with production to occur in December 2013/January 2014. The final video must be completed and received by February 20, 2014 and must include an AWMF‐provided tag line. The video must be cleared for the uses noted below. We will launch the video as part of our Women’s History month initiative.</p>
    <strong>
    <p>Recognition and Requirements:</p></strong><p>The winning video will be posted on the AWMF web site for use by middle schools across the country, as well as incorporated into the Empowering America program wherever possible.</p>
    <p>The video will be prominently distributed and displayed on AWM’s and social media outlets.</p>
    <p>Determinations of appropriateness will be made in the sole discretion of AWM and Ford Motor Company Fund.</p>
    <p>Application materials will not be returned to the student.</p>
    <p>Employees of Ford Motor Company (sponsor), their subsidiaries, affiliates, and immediate family members are not eligible for the contest. Void where prohibited.</p>
    <strong>
    <p>Please email submission materials to Kate Niswander at <a href="mailto:info@allwomeninmedia.org">info@allwomeninmedia.org</a>.</p></strong>
    </div>
]]>
</Body>
<Summary>Alliance for Women in Media Foundation &amp; Ford Motor Company Fund   $5,000 Student Media Scholarship Competition   Blazing the Trail: Celebrating the Women of Empowering America® Information...</Summary>
<AttachmentKind>Document</AttachmentKind>
<AttachmentUrl>https://assets4-my.umbc.edu/system/shared/attachments/6bdaab376250a3496e4743548674eeb8/6ac29c0e/news/000/039/445/5125298703cf51ccf35408683be9055c/2014_Empowering_America_Scholarship_v2.pdf?1386964573</AttachmentUrl>
<Attachments>
<Attachment kind="Document" url="https://my3.my.umbc.edu/posts/39445/attachments/12070"></Attachment>
</Attachments>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39445/guest@my.umbc.edu/269e4c372a8c03e150cb903d4f617d28/api/pixel</TrackingUrl>
<Group token="llc">Language, Literacy and Culture Doctoral Program</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/llc</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/original.jpg?1375383725</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/large.png?1375383725</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/medium.png?1375383725</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/small.png?1375383725</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxsmall.png?1375383725</AvatarUrl>
<Sponsor>Language, Literacy and Culture Doctoral Program</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 13 Dec 2013 14:56:22 -0500</PostedAt>
<EditAt>Fri, 13 Dec 2013 14:59:56 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="39457" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39457">
<Title>DealBook: Charter Readies Offer to Acquire Time Warner Cable</Title>
<Body>
<![CDATA[
    <div class="html-content">Charter Communications has been vocal about its desire for a deal with Time Warner Cable, and it is preparing an offer that mixes cash and Charter stock.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2013%2F12%2F13%2Fcharter-prepares-takeover-offer-for-time-warner-cable%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Charter+Readies+Offer+to+Acquire+Time+Warner+Cable" 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%2F12%2F13%2Fcharter-prepares-takeover-offer-for-time-warner-cable%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Charter+Readies+Offer+to+Acquire+Time+Warner+Cable" 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%2F12%2F13%2Fcharter-prepares-takeover-offer-for-time-warner-cable%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Charter+Readies+Offer+to+Acquire+Time+Warner+Cable" 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%2F12%2F13%2Fcharter-prepares-takeover-offer-for-time-warner-cable%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Charter+Readies+Offer+to+Acquire+Time+Warner+Cable" 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%2F12%2F13%2Fcharter-prepares-takeover-offer-for-time-warner-cable%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Charter+Readies+Offer+to+Acquire+Time+Warner+Cable" 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/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/sc/2/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/183026261555/u/0/f/640387/c/34625/s/34cb9f0c/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Charter Communications has been vocal about its desire for a deal with Time Warner Cable, and it is preparing an offer that mixes cash and Charter stock.      </Summary>
<Website>http://dealbook.nytimes.com/2013/12/13/charter-prepares-takeover-offer-for-time-warner-cable/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39457/guest@my.umbc.edu/84c5bdc6e73dc4efec4cbf069e2fac97/api/pixel</TrackingUrl>
<Tag>comcast-corporation</Tag>
<Tag>comcast-corporation-cmcsa-nasdaq</Tag>
<Tag>mergers-and-acquisitions</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>telecommunications</Tag>
<Tag>time-warner-cable-inc</Tag>
<Tag>time-warner-cable-inc-twc-nyse</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, 13 Dec 2013 14:29:53 -0500</PostedAt>
<EditAt>Fri, 13 Dec 2013 21:00:56 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="39458" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39458">
<Title>Common Sense: Underdog Against Amazon, Best Buy Charges Ahead</Title>
<Body>
<![CDATA[
    <div class="html-content">Best Buy stock is one of the best-performing stocks in the Standard &amp; Poor’s 500, leading rival retailers to wonder how the company did it.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F12%2F14%2Fbusiness%2Ffast-rise-of-best-buy-in-the-face-of-amazon.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Common+Sense%3A+Underdog+Against+Amazon%2C+Best+Buy+Charges+Ahead" 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%2F12%2F14%2Fbusiness%2Ffast-rise-of-best-buy-in-the-face-of-amazon.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Common+Sense%3A+Underdog+Against+Amazon%2C+Best+Buy+Charges+Ahead" 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%2F12%2F14%2Fbusiness%2Ffast-rise-of-best-buy-in-the-face-of-amazon.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Common+Sense%3A+Underdog+Against+Amazon%2C+Best+Buy+Charges+Ahead" 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%2F12%2F14%2Fbusiness%2Ffast-rise-of-best-buy-in-the-face-of-amazon.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Common+Sense%3A+Underdog+Against+Amazon%2C+Best+Buy+Charges+Ahead" 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%2F12%2F14%2Fbusiness%2Ffast-rise-of-best-buy-in-the-face-of-amazon.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Common+Sense%3A+Underdog+Against+Amazon%2C+Best+Buy+Charges+Ahead" 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>Best Buy stock is one of the best-performing stocks in the Standard &amp; Poor’s 500, leading rival retailers to wonder how the company did it.      </Summary>
<Website>http://www.nytimes.com/2013/12/14/business/fast-rise-of-best-buy-in-the-face-of-amazon.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39458/guest@my.umbc.edu/09660d6dd5856f71f556eab2fd9ebd25/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>barnes-and-noble-inc-bks-nyse</Tag>
<Tag>bb-and-t-corporation-bbt-nyse</Tag>
<Tag>best-buy-company-inc-bby-nyse</Tag>
<Tag>circuit-city-stores-inc-cctyq-other-otc</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>jc-penney-company-inc-jcp-nyse</Tag>
<Tag>netflix-inc-nflx-nasdaq</Tag>
<Tag>new</Tag>
<Tag>sears-holdings-corporation-shld-nasdaq</Tag>
<Tag>shopping-and-retail</Tag>
<Tag>sony-corporation-sne-nyse</Tag>
<Tag>stocks-and-bonds</Tag>
<Tag>technology</Tag>
<Tag>walmart-stores-inc-wmt-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, 13 Dec 2013 14:15:55 -0500</PostedAt>
<EditAt>Fri, 13 Dec 2013 14:15:55 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="39453" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39453">
<Title>Seven Must-Read Stories (Week Ending December 13, 2013)</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/522431/seven-must-read-stories-week-ending-december-13-2013/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39453/guest@my.umbc.edu/3ebf2e0b83e96de8b3e36b9d27d026de/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, 13 Dec 2013 14:13:46 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="39443" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39443">
<Title>Student Health 101: The Parent Perspective</Title>
<Tagline>Affordable Health Care Act Information</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <span>Student Health 101 has written a</span><br><span>brief, two-page article on the Affordable Care Act due to its relevance for</span><br><span>college students and the influx of request we received for featuring this</span><br><span>topic in the magazine. This article will provide your students with</span><br><span>information on this health care law and the details pertaining to it.</span><br><br><span>To preview the article, please see below:</span><br><br>
    </div>
]]>
</Body>
<Summary>Student Health 101 has written a brief, two-page article on the Affordable Care Act due to its relevance for college students and the influx of request we received for featuring this topic in the...</Summary>
<Website>http://www.readsh101.com/custom_aca.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39443/guest@my.umbc.edu/b8cb3b26d6064170a8c0c5948b6f83ce/api/pixel</TrackingUrl>
<Group token="retired-420">UMBC Family Connection </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-420</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/original.png?1340914772</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/large.png?1340914772</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/medium.png?1340914772</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/small.png?1340914772</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxsmall.png?1340914772</AvatarUrl>
<Sponsor>UMBC Family Connection</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 13 Dec 2013 14:10:07 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="39442" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39442">
<Title>SOLID: Part 1 &#8211; The Single Responsibility Principle</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=36074&amp;c=449327721" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=36074&amp;c=449327721" alt="" style="max-width: 100%; height: auto;"></a><p>Single Responsibility (SRP), Open/Close, Liskov’s Substitution, Interface Segregation, and Dependency Inversion. Five agile principles that should guide you every time you write code.</p>
    <p></p>
    <hr>
    <h2>The Definition</h2>
    <blockquote><p>A class should have only one reason to change.</p></blockquote>
    <p>Defined by <a href="http://www.8thlight.com/our-team/robert-martin" rel="nofollow external" class="bo">Robert C. Martin</a> in his book <a href="http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1378755964&amp;sr=1-1&amp;keywords=robert+c+martin" rel="nofollow external" class="bo">Agile Software Development, Principles, Patterns, and Practices</a> and later republished in the C# version of the book <a href="http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258" rel="nofollow external" class="bo">Agile Principles, Patterns, and Practices in C#</a>, it is one of the five SOLID agile principles. What it states is very simple, however achieving that simplicity can be very tricky. A class should have only one reason to change.</p>
    <p>But why? Why is it so important to have only one reason for change?</p>
    <p>In statically typed and compiled languages, several reasons may lead to several, unwanted redeployments. If there are two different reasons to change, it is conceivable that two different teams may work on the same code for two different reasons. Each will have to deploy its solution, which in the case of a compiled language (like C++, C# or Java), may lead to incompatible modules with other teams or other parts of the application.</p>
    <p>Even though you may not use a compiled language, you may need to retest the same class or module for different reasons. This means more QA work, time, and effort.</p>
    <hr>
    <h2>The Audience</h2>
    <p>Determining the one single responsibility a class or module should have is much more complex than just looking at a checklist. For example, one clue to find our reasons for change is to analyze the audience for our class. The users of the application or system we develop who are served by a particular module will be the ones requesting changes to it. Those served will ask for change. Here are a couple of modules and their possible audiences.</p>
    <ul>
    <li>
    <strong>Persistence Module</strong> – Audience include DBAs and software architects.</li>
    <li>
    <strong>Reporting Module</strong> – Audience include clerks, accountants, and operations.</li>
    <li>
    <strong>Payment Computation Module for a Payroll System</strong> – Audience may include lawyers, managers, and accountants.</li>
    <li>
    <strong>Book Search Module for a Library Management System</strong> – Audience may include the librarian and/or the clients themselves.</li>
    </ul>
    <hr>
    <h2>Roles and Actors</h2>
    <p>Associating concrete persons to all of these roles may be difficult. In a small company a single person may need to satisfy several roles while in a large company there may be several persons allocated to a single role. So it seems much more reasonable to think about the roles. But roles by themselves are quite difficult to define. What is a role? How do we find it? It is much easier to imagine actors doing those roles and associating our audience with those actors.</p>
    <p>So if our audience defines reasons for change, the actors define the audience. This greatly helps us to reduce the concept of concrete persons like “John the architect” to Architecture, or “Mary the referent” to Operations.</p>
    <blockquote><p>So a responsibility is a family of functions that serves one particular actor. (Robert C. Martin)</p></blockquote>
    <hr>
    <h2>Source of Change</h2>
    <p>In the sense of this reasoning, actors become a source of change for the family of functions that serves them. As their needs change, that specific family of functions must also change to accommodate their needs.</p>
    <blockquote><p>An actor for a responsibility is the single source of change for that responsibility. (Robert C. Martin)</p></blockquote>
    <hr>
    <h2>Classic Examples</h2>
    <h3>Objects That Can “Print” Themselves</h3>
    <p>Let’s say we have a <code>Book</code> class encapsulating the concept of a book and its functionalities.</p>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function printCurrentPage() {&#x000A;    		echo "current page content";&#x000A;    	}&#x000A;    }</pre>
    <p>This may look like a reasonable class. We have book, it can provide its title, author and it can turn the page. Finally, it is also able to print the current page on the screen. But there is a little problem. If we think about the actors involved in operating the <code>Book</code> object, who might they be? We can easily think of two different actors here: Book Management (like the librarian) and Data Presentation Mechanism (like the way we want to deliver the content to the user – on-screen, graphical UI, text-only UI, maybe printing). These are two very different actors.</p>
    <p>Mixing business logic with presentation is bad because it is against the Single Responsibility Principle (SRP). Take a look at the following code:</p>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function getCurrentPage() {&#x000A;    		return "current page content";&#x000A;    	}&#x000A;    &#x000A;    }&#x000A;    &#x000A;    interface Printer {&#x000A;    &#x000A;    	function printPage($page);&#x000A;    }&#x000A;    &#x000A;    class PlainTextPrinter implements Printer {&#x000A;    &#x000A;    	function printPage($page) {&#x000A;    		echo $page;&#x000A;    	}&#x000A;    &#x000A;    }&#x000A;    &#x000A;    class HtmlPrinter implements Printer {&#x000A;    &#x000A;    	function printPage($page) {&#x000A;    		echo '&lt;div style="single-page"&gt;' . $page . '&lt;/div&gt;';&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>Even this very basic example shows how separating presentation from business logic, and respecting SRP, gives great advantages in our design’s flexibility.</p>
    <h3>Objects That Can “Save” Themselves</h3>
    <p>A similar example to the one above is when an object can save and retrieve itself from presentation.</p>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function getCurrentPage() {&#x000A;    		return "current page content";&#x000A;    	}&#x000A;    &#x000A;    	function save() {&#x000A;    		$filename = '/documents/'. $this-&gt;getTitle(). ' - ' . $this-&gt;getAuthor();&#x000A;    		file_put_contents($filename, serialize($this));&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>We can, again identify several actors like Book Management System and Persistence. Whenever we want to change persistence, we need to change this class. Whenever we want to change how we get from one page to the next, we have to modify this class. There are several axis of change here.</p>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function getCurrentPage() {&#x000A;    		return "current page content";&#x000A;    	}&#x000A;    &#x000A;    }&#x000A;    &#x000A;    class SimpleFilePersistence {&#x000A;    &#x000A;    	function save(Book $book) {&#x000A;    		$filename = '/documents/' . $book-&gt;getTitle() . ' - ' . $book-&gt;getAuthor();&#x000A;    		file_put_contents($filename, serialize($book));&#x000A;    	}&#x000A;    &#x000A;    }&#x000A;    </pre>
    <p>Moving the persistence operation to another class will clearly separate the responsibilities and we will be free to exchange persistence methods without affecting our <code>Book</code> class. For example implementing a <code>DatabasePersistence</code> class would be trivial and our business logic built around operations with books will not change.</p>
    <hr>
    <h2>A Higher Level View</h2>
    <p>In my previous articles I frequently mentioned and presented the high level architectural schema that can be seen below.</p>  <img src="http://cdn.tutsplus.com/net/uploads/2013/12/HighLevelDesign.png" alt="HighLevelDesign" width="600" height="388" style="max-width: 100%; height: auto;"><br> <p>If we analyze this schema, you can see how the Single Responsibility Principle is respected. Object creation is separated on the right in Factories and the main entry point of our application, one actor one responsibility. Persistence is also taken care of at the bottom. A separate module for the separate responsibility. Finally, on the left, we have presentation or the delivery mechanism if you wish, in the form of an MVC or any other type of UI. SRP respected again. All that remains is to figure out what to do inside of our business logic.</p>
    <hr>
    <h2>Software Design Considerations</h2>
    <p>When we think about the software that we need to write, we can analyze many different aspects. For example, several requirements affecting the same class may represent an axis of change. This axes of change may be a clue for a single responsibility. There is a high probability that groups of requirements that are affecting the same group of functions will have reasons to change or be specified in the first place.</p>
    <p>The primary value of software is ease of change. The secondary is functionality, in the sense of satisfying as much requirements as possible, meeting the user’s needs. However, in order to achieve a high secondary value, a primary value is mandatory. To keep our primary value high, we must have a design that is easy to change, to extend, to accommodate new functionalities and to ensure that SRP is respected.</p>
    <p>We can reason in a step by step manner:</p>
    <ol>
    <li>High primary value leads in time to high secondary value.</li>
    <li>Secondary value means needs of the users.</li>
    <li>Needs of the users means needs of the actors.</li>
    <li>Needs of the actors determines the needs of changes of these actors.</li>
    <li>Needs of change of actors defines our responsibilities.</li>
    </ol>
    <p>So when we design our software we should:</p>
    <ol>
    <li>Find and define the actors.</li>
    <li>Identify the responsibilities that serve those actors.</li>
    <li>Group our functions and classes so that each has only one allocated responsibility.</li>
    </ol>
    <hr>
    <h2>A Less Obvious Example</h2>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function getCurrentPage() {&#x000A;    		return "current page content";&#x000A;    	}&#x000A;    &#x000A;    	function getLocation() {&#x000A;    		// returns the position in the library&#x000A;    		// ie. shelf number &amp; room number&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>Now this may appear perfectly reasonable. We have no method dealing with persistence, or presentation. We have our <code>turnPage()</code> functionality and a few methods to provide different information about the book. However, we may have a problem. To find out, we might want to analyze our application. The function <code>getLocation()</code> may be the problem.</p>
    <p>All of the methods of the <code>Book</code> class are about business logic. So our perspective must be from the business’s point of view. If our application is written to be used by real librarians who are searching for books and giving us a physical book, then SRP might be violated.</p>
    <p>We can reason that the actor operations are the ones interested in the methods <code>getTitle()</code>, <code>getAuthor()</code> and <code>getLocation()</code>. The clients may also have access to the application to select a book and read the first few pages to get an idea about the book and decide if they want it or not. So the actor readers may be interested in all the methods except <code>getLocations()</code>. An ordinary client doesn’t care where the book is kept in the library. The book will be handed over to the client by the librarian. So, we do indeed have a violation of SRP.</p>
    <pre>class Book {&#x000A;    &#x000A;    	function getTitle() {&#x000A;    		return "A Great Book";&#x000A;    	}&#x000A;    &#x000A;    	function getAuthor() {&#x000A;    		return "John Doe";&#x000A;    	}&#x000A;    &#x000A;    	function turnPage() {&#x000A;    		// pointer to next page&#x000A;    	}&#x000A;    &#x000A;    	function getCurrentPage() {&#x000A;    		return "current page content";&#x000A;    	}&#x000A;    &#x000A;    }&#x000A;    &#x000A;    class BookLocator {&#x000A;    &#x000A;    	function locate(Book $book) {&#x000A;    		// returns the position in the library&#x000A;    		// ie. shelf number &amp; room number&#x000A;    		$libraryMap-&gt;findBookBy($book-&gt;getTitle(), $book-&gt;getAuthor());&#x000A;    	}&#x000A;    &#x000A;    }</pre>
    <p>Introducing the <code>BookLocator</code>, the librarian will be interested in the <code>BookLocator</code>. The client will be interested in the <code>Book</code> only. Of course, there are several ways to implement a <code>BookLocator</code>. It can use the author and title or a book object and get the required information from the <code>Book</code>. It always depends on our business. What is important is that if the library is changed, and the librarian will have to find books in a differently organized library, the <code>Book</code> object will not be affected. In the same way, if we decide to provide a pre-compiled summary to the readers instead of letting them browse the pages, that will not affect the librarian nor the process of finding the shelf the books sits on.</p>
    <p>However, if our business is to eliminate the librarian and create a self-service mechanism in our library, then we may consider that SRP is respected in our first example. The readers are our librarians also, they need to go and find the book themselves and then check it out at the automated system. This is also a possibility. What is important to remember here is that you must always consider your business carefully.</p>
    <hr>
    <h2>Final Thoughts</h2>
    <p>The Single Responsibility Principle should always be considered when we write code. Class and module design is highly affected by it and it leads to a low coupled design with less and lighter dependencies. But as any coin, it has two faces. It is tempting to design from the beginning of our application with SRP in mind. It is also tempting to identify as many actors as we want or need. But this is actually dangerous – from a design point of view – to try and think of all the parties from the very beginning. Excessive SRP consideration can easily lead to premature optimization and instead of a better design, it may lead to a scattered one where the clear responsibilities of classes or modules may be hard to understand.</p>
    <p>So, whenever you observe that a class or module starts to change for different reasons, don’t hesitate, take the necessary steps to respect SRP, however don’t overdue it because premature optimization can easily trick you.</p>
    </div>
]]>
</Body>
<Summary>Single Responsibility (SRP), Open/Close, Liskov’s Substitution, Interface Segregation, and Dependency Inversion. Five agile principles that should guide you every time you write code.    The...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/gU6wwrXEHh8/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39442/guest@my.umbc.edu/b387b4d2b6a9f75ac9fd43fe964ad4aa/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>single-responsibility-principle</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, 13 Dec 2013 13:28:57 -0500</PostedAt>
<EditAt>Fri, 13 Dec 2013 13:28:57 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="39441" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39441">
<Title>IT &amp;amp; Cyber positions top the list of Fast-Growing, High-Paying Jobs In 2014 (via...</Title>
<Body>
<![CDATA[
    <div class="html-content">IT &amp; Cyber positions top the list of Fast-Growing, High-Paying Jobs In 2014 (via @BusinessInsider) <a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FrKhH2&amp;h=wAQGDTCRU&amp;s=1" rel="nofollow external" class="bo">http://ow.ly/rKhH2</a><br><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FrKhH2&amp;h=iAQFQRi5a&amp;s=1" title="" rel="nofollow external" class="bo"><img src="https://fbexternal-a.akamaihd.net/safe_image.php?d=AQDMu3DUgPpgvo5s&amp;w=154&amp;h=154&amp;url=http%3A%2F%2Fstatic1.businessinsider.com%2Fimage%2F52aa08966bb3f78d0e72ac67%2F12-fast-growing-high-paying-jobs-in-2014.jpg" alt="" style="max-width: 100%; height: auto;"></a><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FrKhH2&amp;h=9AQFH_qkK&amp;s=1" rel="nofollow external" class="bo">12 Fast-Growing, High-Paying Jobs In 2014</a><br><a href="http://www.businessinsider.com">www.businessinsider.com</a><br>What are the hottest jobs in 2014 based on growth and salary? CareerBuilder and EMSI put together a list of the 12 jobs that fit the bill.</div>
]]>
</Body>
<Summary>IT &amp; Cyber positions top the list of Fast-Growing, High-Paying Jobs In 2014 (via @BusinessInsider) http://ow.ly/rKhH2   12 Fast-Growing, High-Paying Jobs In 2014 www.businessinsider.com What...</Summary>
<Website>http://www.facebook.com/umbctraining/posts/10151750626086076</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39441/guest@my.umbc.edu/739b778c20fa5856994526282c1a08aa/api/pixel</TrackingUrl>
<Tag>ccna</Tag>
<Tag>ceh</Tag>
<Tag>centers</Tag>
<Tag>cisco</Tag>
<Tag>cyber</Tag>
<Tag>cybersecurity</Tag>
<Tag>information</Tag>
<Tag>it</Tag>
<Tag>leadership</Tag>
<Tag>management</Tag>
<Tag>microsoft</Tag>
<Tag>project</Tag>
<Tag>security</Tag>
<Tag>technology</Tag>
<Tag>training</Tag>
<Tag>umbc</Tag>
<Group token="retired-575">UMBC Training Centers</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-575</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/original.jpg?1361981335</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/large.png?1361981335</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/medium.png?1361981335</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/small.png?1361981335</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxsmall.png?1361981335</AvatarUrl>
<Sponsor>UMBC Training Centers</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 13 Dec 2013 13:10:30 -0500</PostedAt>
<EditAt>Fri, 13 Dec 2013 13:10:30 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="39438" important="false" status="posted" url="https://my3.my.umbc.edu/posts/39438">
<Title>My Internship: Sustainable Transportation Alternatives</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <h5>by Karly Trinite</h5>
    <p>Before I applied for my internship with UMBC Off-Campus Student Services, I knew it was right for me. My passion throughout college was always taking the information I learned as an environmental studies student and sharing and applying it beyond the walls of my classes... (<a href="http://umbcbreakingground.wordpress.com/2013/12/13/my-internship-building-community-around-sustainable-transportation-alternatives/" rel="nofollow external" class="bo">continue reading</a>)</p>
    </div>
]]>
</Body>
<Summary>by Karly Trinite  Before I applied for my internship with UMBC Off-Campus Student Services, I knew it was right for me. My passion throughout college was always taking the information I learned as...</Summary>
<Website>http://umbcbreakingground.wordpress.com/2013/12/13/my-internship-building-community-around-sustainable-transportation-alternatives/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/39438/guest@my.umbc.edu/dc39d9104aff8afb03913d3b441e8bbd/api/pixel</TrackingUrl>
<Group token="bg">UMBC BreakingGround</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bg</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/original.png?1360169927</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/large.png?1360169927</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/medium.png?1360169927</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/small.png?1360169927</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxsmall.png?1360169927</AvatarUrl>
<Sponsor>UMBC BreakingGround</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/xxlarge.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/xlarge.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/large.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/medium.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/small.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/xsmall.jpg?1386957106</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/039/438/9af79ea37e92042936090355ff6ceff1/xxsmall.jpg?1386957106</ThumbnailUrl>
<PawCount>15</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 13 Dec 2013 12:52:34 -0500</PostedAt>
</NewsItem>

</News>
