<?xml version="1.0"?>
<News hasArchived="true" page="8777" pageCount="10784" pageSize="10" timestamp="Tue, 01 Sep 2026 19:35:19 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=recent&amp;page=8777">
<NewsItem contentIssues="false" id="29624" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29624">
<Title>Plagiarism as Research Misconduct</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <div>View an archive of presenters from the NSF Office of the Inspector General and HHS Office of Research Integrity (ORI) at the May 6, 2013 Plagiarism Workshop, sponsored by Colorado State University. </div>
    <div><br></div>
    <div><a href="http://new.livestream.com/coloradostateu/events/2088755" rel="nofollow external" class="bo">http://new.livestream.com/coloradostateu/events/2088755</a></div>
    </div>
]]>
</Body>
<Summary>View an archive of presenters from the NSF Office of the Inspector General and HHS Office of Research Integrity (ORI) at the May 6, 2013 Plagiarism Workshop, sponsored by Colorado State...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29624/guest@my.umbc.edu/cae432a6eb1a4557908be2e29e703ef0/api/pixel</TrackingUrl>
<Tag>rcr</Tag>
<Group token="compliance">Office of Research Protections and Compliance</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/compliance</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xsmall.png?1406813901</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/original.jpg?1406813901</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xxlarge.png?1406813901</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xlarge.png?1406813901</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/large.png?1406813901</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/medium.png?1406813901</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/small.png?1406813901</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xsmall.png?1406813901</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xxsmall.png?1406813901</AvatarUrl>
<Sponsor>Office for Research Protections and Compliance</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 16:15:47 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29623" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29623">
<Title>2013 GWST Student Awards</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <span>The Gender and Women's Studies Coordinating Committee chose seven outstanding graduating seniors to receive annual awards from the program. The awards were presented by Dr. Carole McCann, Program Director, at the College of Arts, Humanities and Social Sciences Award Ceremony on April 30th. </span><div><br></div>
    <div>The GWST program offers two award opportunities. The first is the <strong>Jo Ann E. Argersinger Award for Academic Achievement</strong>. Named for a former provost and Gender and Women’s Studies faculty member, this award recognizes exemplary academic achievement in gender and women’s studies. The second is the <strong>Joan S. Korenman Outstanding Service Award</strong>, named for the founding director of the Program. This award recognizes outstanding service to the Gender and Women’s Studies Program. </div>
    <div><br></div>
    <div>
    <p><strong><span>Kevin Triplett</span></strong><span> carries a 4.0 GPA while
    completing a triple major in Sociology, Psychology, and Gender + Women's
    Studies, as well as a minor in Critical Sexuality Studies. His article
    "The Gendered Asylum: Nineteenth Century Asylums Used as Tools of Female
    Socialization" was published in the 2011 UMBC Review. He is also published
    in the 2010 and 2012 Bartleby Creative Journal. Kevin works as the student
    assistant in Gender + Women's Studies while being a resident assistant in
    Harbor Hall. He will present his research "Overcoming Reproductive
    Barriers: Memoirs of Gay Fatherhood" at URCAD in April. Kevin </span><span>received both the Jo Ann E. Argersinger Academic Achievement Award in GWST and Joan S. Korenman Award for Service in GWST.</span><span> </span></p>
    
    <p><strong><span>Alexandra Mills</span></strong><span> is a Gender and Women’s
    Studies major, Sondheim Public Affairs Scholar, and member of the Honors
    College. She is also a Public Policy and International Affairs program fellow.
    During her semester abroad, she studied gender, health, and community
    empowerment in Mali. For the past academic year, she has served as a grant
    writing, fundraising, and sponsorship intern at the UMBC Women’s Center. She is
    currently a Fulbright finalist for the English Teaching Assistantship program
    in Malaysia. After graduation, she will begin her employment with Morgan
    Stanley as an Operations Analyst. In the future, Alexandra hopes to obtain a
    Master of Public Policy in International Affairs. Lexx </span><span>received the Jo Ann E. Argersinger Award for Academic Achievement in GWST.</span></p>
    
    <p><strong><span>Summer Rai Torres</span></strong><span> will be graduating with
    a BA in Gender + Women’s Studies and English as well as a minor in creative
    writing. Much of her academic work has been focused on exploring LGBTQ
    representations in the media. After graduating with honors in May, she is
    planning on starting her career in publishing and freelance creative writing. Her
    goal is to start her own publishing company which caters to queer and feminist
    voices in sunny California. Summer received the 2013 Jo Ann E. Argersinger
    Academic Achievement Award for GWST.</span></p>
    
    <p><strong><span>Lindsay Raspi</span></strong><span> chose UMBC as it
    offered Arabic, and she has a strong interest in human rights issues in the
    Arabic-speaking part of the world. After a few major switches, she found a good
    fit in the Gender and Women’s Studies Major. Lindsay is grateful for the
    exposure to real-life issues she gained through coursework in this major,
    especially those concerning globalization’s effects on women throughout the
    world, as she has long held an interest in indigenous women’s struggles.  Her
    independent research focused on coercive sterilizations of U.S. American Indian
    women in the 1970s. Lindsay has been self-employed through most of her college
    career as the owner of an online vintage clothing boutique. She is currently
    looking at graduate programs in the realm of Women’s Studies or International
    Studies. Lindsay</span><span> </span><span>received the Jo Ann E. Argersinger Award for Academic Achievement in GWST.</span></p>
    
    <p><strong><span>Janelle Roylo </span></strong><span>is graduating with a BA
    in Sociology and a minor in Gender and Women's Studies.She is a member of Alpha
    Kappa Delta, the International Honor Society for Sociology. In addition, she
    received an Associate's degree in Liberal Arts and a membership to the Phi
    Theta Kappa Honor Society from Howard Community College. She plans on
    attending graduate school with a concentration in Health and Public
    Policy. Janelle</span><span> </span><span>received the Jo Ann E. Argersinger Award for Academic Achievement in GWST.</span></p>
    <p><strong><span>Lauren Linn</span></strong><span> is graduating with a
    Bachelor of Arts in Social Work and a minor in Gender and Women’s Studies. She
    plans to further her education in Social Work in the Fall by earning her
    Master’s degree at the University of Maryland School of Social Work. Her future
    goals include advocating for policies that support the civil rights of all
    people through grassroots activism and policy. Lauren is grateful to have
    received this award and truly values the education she received in Gender and
    Women’s Studies. Lauren received the Jo Ann E. Argersinger Award for Academic
    Achievement in GWST.</span></p>
    
    <p><strong><span>Maureen Evans Arthurs</span></strong><span> is graduating with a
    Bachelor of Arts in Gender and Women's Studies and a minor in Political
    Science. She serves as a Project Manager for Women Involved in Learning and
    Leadership (WILL) and was appointed a member of the American Association of
    University Women (AAUW) Student Advisory Council. Previously earning the Who’s
    Who Among Students in American Universities and Colleges, Maureen is also a
    Dean’s List and President’s List honoree. As a McNair scholar, Maureen will
    participate in the Summer Research Institute to study the educational
    attainment and political efficacy of adolescent, minority girls in Baltimore
    City with her faculty mentor, Dr. Kimberley Moffitt. With the support of her
    husband and son, she plans to pursue a PhD and incorporate her passion for
    social justice and gender equity in her graduate studies and subsequent
    research. Maureen received the Joan S. Korenman Award for Service in GWST.</span></p>
    </div>
    </div>
]]>
</Body>
<Summary>The Gender and Women's Studies Coordinating Committee chose seven outstanding graduating seniors to receive annual awards from the program. The awards were presented by Dr. Carole McCann, Program...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29623/guest@my.umbc.edu/6e8f670f4e47847936cf2cc8d369c2de/api/pixel</TrackingUrl>
<Group token="gwst">Department of Gender, Women's, + Sexuality Studies</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/gwst</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/xsmall.png?1551107229</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/original.png?1551107229</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/xxlarge.png?1551107229</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/xlarge.png?1551107229</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/large.png?1551107229</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/medium.png?1551107229</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/small.png?1551107229</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/xsmall.png?1551107229</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/442/0951c34dc17cf35be31bb59fa96435df/xxsmall.png?1551107229</AvatarUrl>
<Sponsor>Gender + Women's Studies</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/xxlarge.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/xlarge.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/large.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/medium.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/small.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/xsmall.jpg?1368821359</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/029/623/243c74a16947d5d9d7ed8937ac3d2656/xxsmall.jpg?1368821359</ThumbnailUrl>
<PawCount>29</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 16:10:49 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29626" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29626">
<Title>Sharing What You Know &#8211; Interview with Ben Callahan</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://bencallahan.com/" rel="nofollow external" class="bo">Ben Callahan</a> is the CEO of <a href="http://seesparkbox.com/" rel="nofollow external" class="bo">Sparkbox</a>, a writer, a designer, and a speaker on the subject of Responsive Web Design. Ben was nice enough to sit down with Allison for an extensive interview on Responsive Web Design for the <a href="http://teamtreehouse.com" rel="nofollow external" class="bo">Gold Members</a> of Treehouse. Lucky for us here on the blog, Ben recorded a gem about the value in sharing what you know. </p>
    <p></p>
    <div class="embed-container"><iframe src="http://www.youtube.com/embed/H1S7sE9conA" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <p>The post <a href="http://blog.teamtreehouse.com/sharing-what-you-know-interview-with-ben-callahan" rel="nofollow external" class="bo">Sharing What You Know – Interview with Ben Callahan</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>Ben Callahan is the CEO of Sparkbox, a writer, a designer, and a speaker on the subject of Responsive Web Design. Ben was nice enough to sit down with Allison for an extensive interview on...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/MmP3T7Nd1xE/sharing-what-you-know-interview-with-ben-callahan</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29626/guest@my.umbc.edu/1e9128bdfbb54250cbc4ad2508207b9d/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>ben-callahan</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>responsive</Tag>
<Tag>treehouse-friends</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>1</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 15:58:54 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29620" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29620">
<Title>Invitation to Apply to Be a Student Member of the IRB</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <div>The Institutional Review Board (IRB),  the formally designated UMBC committee to approve, monitor, and review research involving humans is currently accepting applications from students to join for academic year 2013-2014.  Students are considered full members of the board. Student members review research protocols, attend meetings, and vote on issues with the aim to protect the rights and welfare of the research subjects. The board typically meets 5 times during the academic year: October, December, February, April and June. Meetings are on Mondays from 10 am-12 pm.</div>
    <div><br></div>
    <div>This is a terrific opportunity to learn about ethical issues related to research. Also, being a member of the IRB looks good on a curriculum vitae or resume. Please contact Dr. Susan Sonnenschein, IRB Chair, <a href="mailto:sonnensc@umbc.edu" rel="nofollow external" class="bo">(sonnensc@umbc.edu)</a> no later than June 7, 2013 if you wish to apply. Your email should include a copy of your curriculum vitae or resume and a few sentences describing your research interests and experience. We are particularly interested in people who have had research experience with human participants.</div>
    <div><br></div>
    <div>Additional information about the IRB may be found at <a href="http://my.umbc.edu/groups/compliance/documents/165" rel="nofollow external" class="bo">http://my.umbc.edu/groups/compliance/documents/165</a>
    </div>
    </div>
]]>
</Body>
<Summary>The Institutional Review Board (IRB),  the formally designated UMBC committee to approve, monitor, and review research involving humans is currently accepting applications from students to join...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29620/guest@my.umbc.edu/11980edbbe7ae50c7660861b66be41b9/api/pixel</TrackingUrl>
<Group token="cnmsadvising">College of Natural and Mathematical Sciences Advising</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/cnmsadvising</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/xsmall.png?1654873031</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/original.png?1654873031</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/xxlarge.png?1654873031</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/xlarge.png?1654873031</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/large.png?1654873031</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/medium.png?1654873031</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/small.png?1654873031</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/xsmall.png?1654873031</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/475/61f5727176d8301926b7c19064396eb6/xxsmall.png?1654873031</AvatarUrl>
<Sponsor>Office for Research Protections and Compliance</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/xxlarge.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/xlarge.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/large.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/medium.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/small.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/xsmall.jpg?1368816976</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/029/620/7f502868f37805e9c0746200e0bb7ccf/xxsmall.jpg?1368816976</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 15:04:11 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30012" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30012">
<Title>The Impending Headache of Google Glass Apps</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Glass apps will require people to create new content filters. Maybe that’s just a losing battle.</p>
    <p>Would you want your daily horoscope beamed to your right eye? That’s the vision of the future I saw when I tried out the fashion magazine <a href="http://www.hearst.com/press-room/pr-912-20130516.html" rel="nofollow external" class="bo"><span>Elle’s app for Google Glass</span></a><span> yesterday, one of several apps announced at the extravagant software developer love-fest the internet company puts on every year.</span></p>
    </div>
]]>
</Body>
<Summary>Glass apps will require people to create new content filters. Maybe that’s just a losing battle.  Would you want your daily horoscope beamed to your right eye? That’s the vision of the future I...</Summary>
<Website>http://www.technologyreview.com/view/514996/the-impending-headache-of-google-glass-apps/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30012/guest@my.umbc.edu/7be1457a421542422e02440ccd94dcf1/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, 17 May 2013 14:47:06 -0400</PostedAt>
<EditAt>Fri, 17 May 2013 14:47:06 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="29619" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29619">
<Title>Invitation to Apply to Be a Student Member of the IRB</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <div>The Institutional Review Board (IRB),  the formally designated UMBC committee to approve, monitor, and review research involving humans is currently accepting applications from students to join for academic year 2013-2014.  Students are considered full members of the board. Student members review research protocols, attend meetings, and vote on issues with the aim to protect the rights and welfare of the research subjects. The board typically meets 5 times during the academic year: October, December, February, April and June. Meetings are on Mondays from 10 am-12 pm.</div>
    <div><br></div>
    <p>This is a terrific opportunity to learn about ethical issues related to research. Also, being a member of the IRB looks good on a <em>curriculum vitae</em> or resume. Please contact Dr. Susan Sonnenschein, IRB Chair, (<a href="mailto:sonnensc@umbc.edu" rel="nofollow external" class="bo"><span>sonnensc@umbc.edu</span></a>) no later than June 7, 2013 if you wish to apply. Your email should include a copy of your <em>curriculum vitae</em> or resume and a few sentences describing your research interests and experience. We are particularly interested in people who have had research experience with human participants.</p>
    <div><p> <span>Additional information about the IRB may be found at <a href="http://my.umbc.edu/groups/compliance/documents/165" rel="nofollow external" class="bo">http://my.umbc.edu/groups/compliance/documents/165</a></span></p></div>
    </div>
]]>
</Body>
<Summary>The Institutional Review Board (IRB),  the formally designated UMBC committee to approve, monitor, and review research involving humans is currently accepting applications from students to join...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29619/guest@my.umbc.edu/9632f8f748173b5c863e33015bbbc39e/api/pixel</TrackingUrl>
<Group token="compliance">Office of Research Protections and Compliance</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/compliance</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xsmall.png?1406813901</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/original.jpg?1406813901</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xxlarge.png?1406813901</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xlarge.png?1406813901</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/large.png?1406813901</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/medium.png?1406813901</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/small.png?1406813901</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xsmall.png?1406813901</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/163/aea9789988c08f28538422f1c3427388/xxsmall.png?1406813901</AvatarUrl>
<Sponsor>Office for Research Protections and Compliance</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 14:39:01 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29618" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29618">
<Title>&amp;quot;We just have a shortage of people applying for the 700 positions currently open...</Title>
<Body>
<![CDATA[
    <div class="html-content">"We just have a shortage of people applying for the 700 positions currently open." We can help you gain the skills you need to join this workforce.<br><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.bloomberg.com%2Fnews%2F2013-05-16%2Fcybersecurity-starts-in-high-school-with-tomorrow-s-hires.html&amp;h=2AQE42Zin&amp;s=1" title="" rel="nofollow external" class="bo"><img src="https://fbexternal-a.akamaihd.net/safe_image.php?d=AQD9Y6ui-JbmdXEq&amp;w=154&amp;h=154&amp;url=http%3A%2F%2Fwww.bloomberg.com%2Fimage%2FiTJWcDooVFVI.jpg" alt="" style="max-width: 100%; height: auto;"></a><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.bloomberg.com%2Fnews%2F2013-05-16%2Fcybersecurity-starts-in-high-school-with-tomorrow-s-hires.html&amp;h=9AQFvdhU6&amp;s=1" rel="nofollow external" class="bo">Cybersecurity Starts in High School with Tomorrow’s Hires</a><br><a href="http://www.bloomberg.com">www.bloomberg.com</a><br>Five dozen teenagers hunched over computers in a hotel conference room near Washington, decrypting codes, cleaning malware and fending off network intrusions to score points in the finals of a national cybersecurity contest.</div>
]]>
</Body>
<Summary>"We just have a shortage of people applying for the 700 positions currently open." We can help you gain the skills you need to join this workforce.   Cybersecurity Starts in High School with...</Summary>
<Website>http://www.facebook.com/umbctraining/posts/10151378814401076</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29618/guest@my.umbc.edu/024a62bb922560b9f8071362ef0cc185/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>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 17 May 2013 14:10:01 -0400</PostedAt>
<EditAt>Fri, 17 May 2013 14:10:01 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="29617" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29617">
<Title>The Linux Firewall</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31748&amp;c=238322363" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31748&amp;c=238322363" alt="" style="max-width: 100%; height: auto;"></a><p>There are several firewall applications for Linux, but what you may not realize is that, at the heart of all these programs is a single all-mighty application that is built right into the Linux Kernel: iptables. This is the Linux firewall. No matter which program you use to configure your firewall under Linux, it ultimately all comes down to iptables. All that these other programs do is configure it.</p>
    <p>So, here comes the question: if those programs simply configure iptables, why not simply configure it directly yourself? Doing so is easier than you might think!</p>
    <p></p>
    <hr>
    <h2>Networking Background</h2>
    <p>If you’re familiar with networking terms, like connections, IP, TCP, and Port, then feel free to skip ahead to the next step. Otherwise, if you’re new to networking, read on to familiarize yourself with the terms that you will need to understand, in order to follow along with this tutorial.</p>
    <p>Please note that the terms and definitions below have been intentionally over-simplified. They’re meant for every-day users, not sysadmins. So if you are a seasoned sysadmin or you have a CCNA in you pocket, please excuse me for not entering into the details.<br></p>
    <h3>TCP/IP</h3>
    <p><strong>TCP/IP</strong> is a protocol that allows computers to communicate with one another over Internet and Ethernet Networks.</p>
    <blockquote><p> Failure is the last resort.</p></blockquote>
    <p>Imagine an <strong>Ethernet Network</strong> as a small local network (LAN – local area network), like your home PC, laptop, and smart phone. It’s a small heterogeneous network that is isolated from the rest of the world. A network of such networks is what we all know as the <strong>Internet</strong>: a set of interconnected networks.</p>
    <p>TCP/IP is a combination of two protocols working at different levels in the hierarchy of the network communication chain. We won’t delve into details about that hierarchy. <strong>TCP</strong> stands for <em>Transfer Control Protocol</em>, and its core responsibility is to ensure that communication is successful. It controls the correctness of the data sent, and ensures its success. It has different algorithms to perform sophisticated checksums, autocorrect, and retry. Failure is the last resort. The name, <strong>IP</strong> comes from Internet Protocol. You can best associate it with the “phone-number” of your PC. Each machine capable of communicating over the Internet must have an IP address – a unique phone number – so that communication packets can find their destinations. A <strong>packet</strong> is a small piece of data inside a communication stream, which is self contained and can be checked for correctness. Essentially, we can say that our computers send TCP packets over the Internet using the IP protocol.</p>
    <p>Each network communication is bound to a specific <strong>port</strong>. Network ports range from 0 to 2^16 (65536). Each network connection has an outgoing port for the one who initiates it, and an inbound port for the one who is listening for other computers’ messages. There can be several connections between several computers over identical ports. A computer can, however, talk over several ports at once. So, basically, ports are good to identify services and define channels of communications, but they do not limit the amount of data or connections.</p>
    <p>Some computers can have similar IP addresses. You may have observed that both your computer at home and at work have IP addresses that takes the form of something along the lines of <code>192.168.something.something</code>, or <code>10.0.something.something</code>, or <code>172.16.something.something</code>. These are the so-called private IP addresses that can be used only inside your LAN. You can’t go out to the Internet with IP addresses like this. They are akin to interior numbers for your company’s phone network.</p>
    <h3>Gateway &amp; Bridge</h3>
    <p>A <strong>Bridge</strong> is what computers with real (public) IP addresses pass to the Internet.</p> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/bridge.png" alt="The bridge" width="600" style="max-width: 100%; height: auto;"><p>Essentially, these computers have the rights and capabilities to talk to one another on the Internet directly. But, since there are no direct connections between all the computers in the world (that would be quite hard to accomplish), bridges are responsible for connecting segments of the Internet.</p>
    <p>Keeping our telephony analogy alive, you can imagine these bridges to be similar to the telephone centers in your town or neighborhood. If you make a call to another local number (the computers on the left in our schema), the communication could have been made directly by your telephone center by physically connecting your line with you neighbor’s. However, if you instead want  to call your distant uncle Bob, your call would have to be redirected over several phone centers until your uncle’s phone could be connected. These form a <em>bridge</em> between your town and his town.</p>
    <blockquote><p>A <strong>Gateway</strong> is a way for computers from a private network (LAN with private IP addresses) to communicate with other computers on the Internet.</p></blockquote> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/gateway.png" alt="Gateway" width="600" style="max-width: 100%; height: auto;"><p>A private network is like your company’s private phone network. You can call interior numbers, but in order to call someone who is outside of your company’s network – like your wife at home – you must first dial a special number or prefix.</p>
    <p>Computers actually function in a similar way. When you are on a private network, you have a so-called gateway computer. When your computer attempts to talk to another computer on the Internet, it will <em>automagically</em> contact the gateway first and request “a line” to the outside world. The gateway will do the talking to the computer found on the Internet, and will forward the message back to your computer. You, as an ordinary user, see no difference between a bridge and a gateway. Your computer will know how to deal with them.</p>
    <hr>
    <h2>Definition of a Firewall</h2>
    <p>A firewall is a program running on a Gateway, Bridge or PC/Laptop/Smartphone that is capable of filtering incoming, outgoing, and forwarded network packets. A firewall is essentially a tool that lets you restrict you or your network’s access to the Internet, and someone else’s access from the Internet to your network.</p>
    <blockquote><p>And yes, your cable router or home Wi-Fi is, in fact, a firewall for all your computers and gadgets that connect to the internet through it.</p></blockquote>
    <hr>
    <h2>The Problem We Will Solve</h2>
    <p>To set the context, let’s imagine a very possible network architecture. I’ve seen many small companies running something similar to this.</p> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/network.png" alt="Network" width="600" style="max-width: 100%; height: auto;"><p>What we have here is actually something quite simple:</p>
    <ul>
    <li>A few computers and other network-connected devices – the green boxes</li>
    <li>An e-mail server – the red box</li>
    <li>A Microsoft Active Directory server – the blue box</li>
    <li>A gateway, which is also a firewall, for our network running Linux – the black box</li>
    <li>Between all of these is a simple network switch</li>
    </ul>
    <p>In the following section, we will configure iptables on that gateway, so that it will allow all the devices in the network to connect to the Internet. It will allow us to connect to it, via SSH, and will allow external mail servers to reach the mail server inside our network – a computer that does not even have a public IP address; only a private one.</p>
    <hr>
    <h2>Iptables Components</h2>
    <p>Iptables’ name actually has a meaning in its functionality. It’s a set of tables of IP address and ports with some actions attached to them. In iptable’s terms, these tables are referred to as <em>chains</em>. An unconfigured, empty iptables might look like this:</p>
    <pre>csaba ~ # iptables -L&#x000A;    Chain INPUT (policy ACCEPT)&#x000A;    target     prot opt source               destination&#x000A;    &#x000A;    Chain FORWARD (policy ACCEPT)&#x000A;    target     prot opt source               destination&#x000A;    &#x000A;    Chain OUTPUT (policy ACCEPT)&#x000A;    target     prot opt source               destination         </pre>
    <p>You can observe that there are three main chains:</p>
    <ul>
    <li>
    <strong>INPUT</strong> – all incoming connections</li>
    <li>
    <strong>FORWARD</strong> – connections passing through</li>
    <li>
    <strong>OUTPUT</strong> – connections departing from this server</li>
    </ul>
    <p>The term, “<em>policy ACCEPT</em>” in parenthesis means that ACCEPT is set as the default policy for that particular chain. So, when there is no match for a connection, that rule will be applied. There are three main concepts you can use when configuring your firewall:</p>
    <ul>
    <li>
    <strong>default policy ACCEPT &amp; deny selectively all you need to</strong> – it may be difficult to specify all that it is denied. I do not recommend this approach.</li>
    <li>
    <strong>default policy DROP or REJECT &amp; allow selectively all you need to</strong> – this is better, but it has a problem. If you make a mistake in your iptables configuration, you can easily remain with empty chains denying access to everything and everyone, including you. So, unless you always have physical access to your firewall server/computer, I recommend that you use the next approach.</li>
    <li>
    <strong>default policy ACCEPT &amp; an explicit policy to DROP all &amp; then allow selectively all you need</strong> – this is a combined solution between the first two possibilities. It will use an ACCEPT default policy, so if something goes wrong, you can log back over SSH or whatever remote connection you use for your firewall. At the same time, an explicit DROP rule for any unmatched connections ensures that you are safe. Allowing only what you know about and actually need to use offers the best possible protection.</li>
    </ul>
    <hr>
    <h2>Adding Rules to Iptables</h2>
    <p>There are two ways to add a new rule to iptables. One is to insert it at the begining of a chain. The other option is to append it to the end of a chain. Why does it matter in which order the rules occur?</p>
    <div><p><strong>Important:</strong> iptables check the rules in a chain from top to bottom. It will stop its search at the first match.</p></div>
    <p>You must design your rules in such a way to consider the above mentioned behavior of iptables. After the first match of a rule, iptables will take the actions specified by the rule, and then cease the search. If no rule matches the connection that is checked, the default policy applies.</p>
    <h3>Inserting a New Rule</h3>
    <p>Let’s say that we want to add a rule to our iptables that will allow anyone to connect to port 22 on our firewall. Port 22 is the port for the SSH protocol. Of course, a good server admin will change this port to something unexpected for obvious security/obscurity reasons, but that’s another story for another tutorial. We will stick with 22.</p>
    <pre>csaba ~ # iptables -I INPUT -i eth0 -p tcp --dport 22 -j ACCEPT&#x000A;    csaba ~ # iptables -L&#x000A;    Chain INPUT (policy ACCEPT)&#x000A;    target     prot opt source               destination&#x000A;    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh</pre>
    <p>I presumed that the IP address facing the Internet with the public IP on it is on the network interface, called <code>eth0</code>. Let’s dissect this command:</p>
    <ul>
    <li>-<strong>I</strong> – stands for insert the rule</li>
    <li> <strong>INPUT</strong> – specifies the desired chain</li>
    <li> <strong>-i</strong> – stands for network interface – in our case, <code>eth0</code>
    </li>
    <li> <strong>-p</strong> – is for protocol (tcp or udp)</li>
    <li> <strong>–dport 22</strong> – is for destination port 22 – it has a corresponding <code>--sport</code> version for source port verification</li>
    <li> <strong>-j</strong> – actually comes from “jump,” and is followed by an action -in our case, the action to accept the connection</li>
    </ul>
    <p>However, you may have already guessed that this rule has little effect at this time. Our default policy is ACCEPT, so accepting something explicitly does not offer us any extra functionality. Now, remember the third recommended way to set up our firewall: the explicit rule to deny everything not matched. Let’s add that rule.</p>
    <h3>Appending Rules</h3>
    <p>We want to append a rule that blocks incoming traffic. But be careful: we only want to block what could be harmful. If we block everything, we will not be able to do anything, because the replies to our requests will be rejected. For example, when you browse a web page, you make a request, then you receive an answer. This answer comes into your computer, so, on the INPUT chain, we must have a rule to allow it.</p>
    <p>First, we will append a rule to accept incoming traffic for already established connections, such as responses to requests.</p>
    <pre>csaba ~ # iptables -A INPUT -i eth0 -m conntrack  --ctstate ESTABLISHED,RELATED -j ACCEPT&#x000A;    csaba ~ # iptables -L&#x000A;    Chain INPUT (policy ACCEPT)&#x000A;    target     prot opt source               destination&#x000A;    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh&#x000A;    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED</pre>
    <p>Now that we’ve safeguarded our existing connections and the replies to the connections we initiated, we can deny everything else that wasn’t matched.</p>
    <pre>csaba ~ # iptables -A INPUT -i eth0 -p tcp -j DROP&#x000A;    csaba ~ # iptables -L&#x000A;    Chain INPUT (policy ACCEPT)&#x000A;    target     prot opt source               destination&#x000A;    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh&#x000A;    ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED&#x000A;    DROP       tcp  --  anywhere             anywhere&#x000A;    </pre>
    <p>We’ve appended another line, with a rule to DROP all connections that match. Remember: this rule will only apply if none of the previous ones actually match.</p>
    <p>There are two ways to refuse a connections.</p>
    <ol>
    <li>You can use DROP, which is equivalent to dialing a non-existent phone number with the difference that, after some time, the network connection times out. With a phone number, a robot informs you that the number does not exist. But the end result from the point of view of the caller is the same: it thinks that the destination does not exist.</li>
    <li>The second way to refuse the connection is with the rule, REJECT, and an optional message. This is analogous to the number you are trying to call being busy. You may know that there is a number, you know it can be called, but it simply refuses to take your calls. Optionally, you can provide a message with a REJECT rule; the default is “ICMP port unreachable” or something similar.</li>
    </ol>
    <hr>
    <h2>Allow Computers to Access the Internet</h2>
    <p>At this point, we have some basic rules for the INPUT chain. But we have a network of computers having private IP addresses. We need to provide a gateway to the Internet. This is also done by iptables: the firewall.</p>
    <h3>Network Address Translation (NAT)</h3>
    <p>Likely, you’ve already heard this term: NAT. This refers to the procedure of translating one network address to another and forwarding the information between the two. It’s most frequently used in architectures like our own. The gateway has to do NAT in order to translate any computer’s IP from the LAN into its own public IP and then back.</p>
    <p>Routing is the procedure by which a system can figure out on what network interfaces and toward what gateway it can communicate to reach its destination. Each computer has a routing table of its own to determine this. Iptables can hook into this routing procedure at two different points: before and after the procedure has occurred.</p>
    <h3>Nating with Iptables</h3>
    <pre>csaba ~ # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 89.72.31.243</pre>
    <p>This command adds a rule as POSTROUTING to the NATing table (<code>-t nat</code>). POSTROUTING essentially means that the packets first pass the routing mechanism on the gateway, and, only after that are they modified. The rule <code>-j SNAT</code> means Source NAT; the source address of the packets will be changed to the address on the interface specified by <code>-o eth0</code> – in our case, to the IP address specified by the option, <code>--to-source</code>. So, anyone contacted by a computer in your network will assume that it is talking directly to your gateway. It will have absolutely no clue about the fact that the packets are destined for some different computer. The gateway, using iptables, will keep an internal list of all the translated IP addresses, and, when a reply comes, it will revert the change and pass the answer to the computer inside the network.</p>
    <hr>
    <h2>Allow Client from the Internet to the Email Server</h2>
    <p>Another problem that we face is what to do when we have a server that is behind a firewall. We need to allow the clients, coming from the Internet, to communicate with our server in some way. This is the case with our mail server. When an email arrives that has to be delivered to a mail account on our server, the sending email server will have to connect to our receiving one.</p>
    <p>But our mail server only has a private IP address. There is no way that an external computer could connect to it directly. On the other hand, our gateway has an external IP that anyone could connect to. The solution? Open a port on our gateway so that a request from the Internet to that port will actually go to our email server. The answer, of course, will travel through the gateway back to the client. The trick is to use a different type of NAT here, called Destination NAT. This changes the packets destination and then reverts them back when the response occurs. Think of DNAT as the reverse of SNAT.</p>
    <div><p><strong>Tip:</strong> You may know this feature as “Virtual Server,” if you’ve ever played around with small home routers.</p></div>
    <pre>csaba ~ # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.2:25</pre>
    <p>So, what is happening here? A packet comes in to our gateway at the port 25 (the port used for SMTP, the email protocol the whole Internet uses). The rule above catches this packet because of the <code>--dport 25</code> option, which basically says, “<em>Match anything that goes to this port on the interface specified by <code>-i eth0</code>. Now that the packet is matched, change its destination from the current machine (the gateway) to the one specified by <code>--to-destination</code>.</em>” Please note that you can specify the port explicitly after the IP address by separating it with a colon.</p>
    <p>Finally, note that this is in the PREROUTING hook. The destination has to be changed before the routing actually takes place. Otherwise, the packets would end up on the gateway and find no way to the mail server.</p>
    <hr>
    <h2>Persisting iptables Configuration</h2>
    <p>The rules you insert or append to iptables are in memory. After a reboot, spoof: everything is gone! To save your configuration, you should dump it into a file, like so:</p>
    <pre>csaba ~ # iptables-save &gt; /some/directory/my_rules.fw</pre>
    <p>The file’s name doesn’t matter, nor does its extension. To restore the rules, run this command when your computer starts.</p>
    <pre>iptables-restor &lt; /some/directory/my_rules.fw</pre>
    <p>If you take a look at the saved content, you’ll see that they’re the same parameters that we used with the iptables commands. There are some minor differences, but you can easily understand the saved file, and could even write your own such files by hand and load them.</p>
    <hr>
    <h2>Final Thoughts</h2>
    <p>In closing, here are some thoughts on when and when not to use a firewall with a Linux computer.</p>
    <p><strong>Use a firewall</strong> on Linux when you configure a server (like a gateway in our example), or when you have a computer with important information on it that is directly exposed to the Internet. Before you jump on to configure your iptables, consider the potential danger. Ask yourself: is my computer known on the Internet? There are a few billion computers out there. If yours is just one, the chance of being targeted is incredibly low. Are there people directly interested in your information? Hackers don’t waste time stealing random data in the hopes that they might find something. They usually know what they are looking for, and then target the computers containing the desired information. Of course, there are countless attacks against random computers that attempt to install some kind of worm or virus, but on Linux, you are immune by design.</p>
    <p><strong>Don’t waste your time</strong> with configuring a firewall on Linux when it is a computer that is alway behind a firewall, such as your home PC behind your home router, or when you have no particularly important information on your laptop. If you keep the services that listen on the network to a minimum and have a decently secure password, you can forget your firewall. I personally have no personal computer, laptop or smartphone with a firewall running. I have, however, a home router with a well-configured firewall.</p>
    <blockquote><p>I think you can safely apply these ideas to Mac OSX as well. If you’re a Windows user, sorry: a firewall is your first line of defense. For Linux or MacOSX, though, a firewall is your last line of defense. A  carefully selected password and not running useless services should handle the bulk of your computer’s protection.</p></blockquote>
    <p>Thanks for reading. Questions?</p>
    </div>
]]>
</Body>
<Summary>There are several firewall applications for Linux, but what you may not realize is that, at the heart of all these programs is a single all-mighty application that is built right into the Linux...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/YjnBJVTS5AU/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29617/guest@my.umbc.edu/775d8e16483d637c73501d4fb5a93d71/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>linux</Tag>
<Tag>mysql</Tag>
<Tag>other</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, 17 May 2013 14:00:48 -0400</PostedAt>
<EditAt>Fri, 17 May 2013 14:00:48 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="29616" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29616">
<Title>Tuts+ Premium Cash Back Offer: 3 Days to Go</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31722&amp;c=1587174994" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31722&amp;c=1587174994" alt="" style="max-width: 100%; height: auto;"></a><p><strong>This offer ends soon! Act now and don’t miss out on cash back when trying a monthly Tuts+ Premium subscription.</strong></p>
    <p>At $19 a month, Tuts+ Premium is fantastic value. But it’s even better when we hand your first $19 right back to you!</p>
    <p>For a limited time, we’re offering $19 cash back to new Tuts+ Premium monthly subscribers when signing up via PayPal. If you’ve been thinking about checking out our extensive library of courses, tutorials, eBooks and guides there’s never been a better time to join up and dive in.</p>
    <p><strong>This offer ends at noon on the 20th of May AEST, so act fast.</strong></p>
    <p><a href="https://tutsplus.com/paypal-cash-back-offer/?utm_source=nettutsend&amp;utm_medium=post&amp;utm_campaign=paypal_cashback&amp;wt.mc_id=paypal" rel="nofollow external" class="bo">Become a Tuts+ Premium Member and take your creative &amp; technical skills to a new level.</a><br> </p>
    <hr> What can you learn on Tuts+ Premium? Glad you asked! Currently, more than 15,000 members are sharpening their skills in a wide range of areas including web design, web development, Photoshop, vectors, video effects, and many more. With Tuts+ Premium you learn from expert instructors in every field.<p>Join now and get instant access to your very own library of courses, tutorials, and eBooks, available whenever you need them. Become part of a community of over 15,000 members and start getting better at the skills you care about. Our dedicated team adds new content weekly, so there’s always something fresh to sink your teeth into.</p>
    <p><a href="https://tutsplus.com/paypal-cash-back-offer/?utm_source=nettutsend&amp;utm_medium=post&amp;utm_campaign=paypal_cashback&amp;wt.mc_id=paypal" rel="nofollow external" class="bo">Join Tuts+ Premium</a></p>
    </div>
]]>
</Body>
<Summary>This offer ends soon! Act now and don’t miss out on cash back when trying a monthly Tuts+ Premium subscription.  At $19 a month, Tuts+ Premium is fantastic value. But it’s even better when we hand...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/mH16lMPEuDo/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29616/guest@my.umbc.edu/633a1277b55c7030e661b80155c8bf75/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>news</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, 17 May 2013 13:00:56 -0400</PostedAt>
<EditAt>Fri, 17 May 2013 13:00:56 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="29613" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29613">
<Title>Slider with Sliding Backgrounds</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Among the many super nice design features of the <a href="https://itunes.apple.com/us/app/yahoo!-weather/id628677149?mt=8" rel="nofollow external" class="bo">Yahoo! Weather app for iOS</a> is the transition between city screens. The background image doesn't just move away as the screen moves from one screen to the next, the background image itself slides. It appears to be hiding some of the "old" screen and revealing more of the "new" screen those closer you have it to being in full view. </p>
    <p>Let's try and pull it off on the web.</p>
    <p></p>
    <h3>The HTML</h3>
    <p>Like any slider, there are three main components:</p>
    <ul>
    <li>The container that holds everything into shape</li>
    <li>A sliding container that is as wide as all the slides in a row</li>
    <li>Each individual side container</li>
    </ul>
    <p>We won't bother too much with content inside the slide. I'll just add the temperature to show each slide can indeed hold content on top.</p>
    <pre><code>&lt;div class="slider" id="slider"&gt;&#x000A;      &lt;div class="holder"&gt;&#x000A;        &lt;div class="slide" id="slide-0"&gt;&lt;span class="temp"&gt;74°&lt;/span&gt;&lt;/div&gt;&#x000A;        &lt;div class="slide" id="slide-1"&gt;&lt;span class="temp"&gt;64°&lt;/span&gt;&lt;/div&gt;&#x000A;        &lt;div class="slide" id="slide-2"&gt;&lt;span class="temp"&gt;82°&lt;/span&gt;&lt;/div&gt;&#x000A;      &lt;/div&gt;&#x000A;    &lt;/div&gt;</code></pre>
    <p>The container might be a <code>&lt;section&gt;</code>, slides might be <code>&lt;article&gt;</code>. It really depends. I'll let you make the semantic choices for your own needs.</p>
    <p>The layout plan is like this:</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/05/layout.png" alt="" style="max-width: 100%; height: auto;">
    <h3>The CSS</h3>
    <p>The "slider" (visual container) and the slides need to have explicity the same size. We'll use pixels here but you could make it work with anything.</p>
    <pre><code>.slider {&#x000A;      width: 300px;&#x000A;      height: 500px;&#x000A;      overflow-x: scroll;&#x000A;    }&#x000A;    .slide {&#x000A;      float: left;&#x000A;      width: 300px;&#x000A;      height: 500px;&#x000A;    }</code></pre>
    <p>Floating those slides to the left isn't going to make them line up in a row, because the parent element of the slides isn't wide enough to let them do that. That's one of the reasons we need the holder element. It will be 300% wide (Num. of slides × 100%) which will fit three slides exactly.</p>
    <pre><code>.holder {&#x000A;      width: 300%;&#x000A;    }</code></pre>
    <p>Each one of our slides has a unique ID. This is useful because, if we choose, we can create anchor links that link to those ID's and the slider will "jump" to those slides. We'll add JavaScript to do some actual "sliding", but our slider will work even without that. ID's make that possible, so let's use them here to drop in some lovely background images.</p>
    <pre><code>#slide-0 {&#x000A;      background-image: url(<a href="http://farm8.staticflickr.com/7347/8731666710_34d07e709e_z.jpg">http://farm8.staticflickr.com/7347/8731666710_34d07e709e_z.jpg</a>);&#x000A;    }&#x000A;    #slide-1 {&#x000A;      background-image: url(<a href="http://farm8.staticflickr.com/7384/8730654121_05bca33388_z.jpg">http://farm8.staticflickr.com/7384/8730654121_05bca33388_z.jpg</a>);&#x000A;    }&#x000A;    #slide-2 {&#x000A;      background-image: url(<a href="http://farm8.staticflickr.com/7382/8732044638_9337082fc6_z.jpg">http://farm8.staticflickr.com/7382/8732044638_9337082fc6_z.jpg</a>);&#x000A;    }</code></pre>
    <p>With all this in place, our layout comes into shape:</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/05/css-layout.jpg" alt="" style="max-width: 100%; height: auto;">
    <p>The CSS (black fading)</p>
    <p>Just as a small detail, the temperature set in white may be in danger of not being visible depending on the photo behind it. To ensure that it is, we can make the photo subtly fade to black toward the bottom. A pseudo element will do nicely.</p>
    <pre><code>.slide:before {&#x000A;      content: "";&#x000A;      position: absolute;&#x000A;      bottom: 0;&#x000A;      left: 0;&#x000A;      width: 100%;&#x000A;      height: 40%;&#x000A;      background: linear-gradient(transparent, black);&#x000A;    }</code></pre>
    <p>A picture explanation is in order here:</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/05/white-text.jpg" alt="" style="max-width: 100%; height: auto;">
    <h3>The JavaScript (background sliding)</h3>
    <p>We're going to use jQuery here because we love life. Our goal is the adjust the background-position of the slides as we scroll. We can set background-position in percentages in CSS, but that alone doesn't do the cool hide/reveal more effect we're looking for. Based the amount scrolled (which we can measure in JavaScript), we'll adjust the background-position. Alone, that would look something like this:</p>
    <pre><code>$("#slider").on("scroll", function() {&#x000A;      $(".slides").css({&#x000A;        "background-position": $(this).scrollLeft()/6-100+ "px 0"&#x000A;      });  &#x000A;    });</code></pre>
    <p>The "6" and "-100" in there are magic numbers. Not <a href="http://css-tricks.com/magic-numbers-in-css/" rel="nofollow external" class="bo">CSS magic numbers</a> that are prone to frailty, but traditional magic numbers. Just some numbers that happen to make the effect work. A bummer, perhaps, but not that big of a deal. Design-y things are sometimes like that. Perhaps best to leave a comment in the code to that effect. These particular numbers are based on the images I used and their size and what looked good.</p>
    <p>The effect here is the background shifting we're after:</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/05/slideeffect.jpg" alt="" style="max-width: 100%; height: auto;">
    Notice the less of the yellow streetcar is visible when the slide is almost out of view.
    
    <h3>The JavaScript (imparting structure)</h3>
    <p>That little snippet of JavaScript looks lonely up there without any structure behind it. A slider is a great excuse to look at a simple way to structure JavaScript.</p>
    <p>We can make everything slider-related one object.</p>
    <pre><code>var slider = {&#x000A;    &#x000A;    };</code></pre>
    <p>Then we'll group up the related elements into one area, bind our events together, and write little functions that do very specific things.</p>
    <pre><code>var slider = {&#x000A;      &#x000A;      el: {&#x000A;        slider: $("#slider"),&#x000A;        allSlides: $(".slide")&#x000A;      },&#x000A;     &#x000A;      init: function() {&#x000A;        // manual scrolling&#x000A;        this.el.slider.on("scroll", function(event) {&#x000A;          slider.moveSlidePosition(event);&#x000A;        });&#x000A;      },&#x000A;      &#x000A;      moveSlidePosition: function(event) {&#x000A;        // Magic Numbers&#x000A;        this.el.allSlides.css({&#x000A;          "background-position": $(event.target).scrollLeft()/6-100+ "px 0"&#x000A;        });  &#x000A;      }&#x000A;      &#x000A;    };&#x000A;    &#x000A;    slider.init();</code></pre>
    <h3>The HTML (adding navigation)</h3>
    <p>Adding swipe stuff would be super (super) sweet (hint). But for now let's add little press-able links to change slides, rather than relying on the scrollbar. You might even remove the scrollbar in real life (straight up overflow: hidden; on the container). What we need is anchor links that link to the ID's of the individual slides.</p>
    <pre><code>&lt;nav class="slider-nav"&gt;&#x000A;      &lt;a href="#slide-0" class="active"&gt;Slide 0&lt;/a&gt; &#x000A;      &lt;a href="#slide-1"&gt;Slide 1&lt;/a&gt; &#x000A;      &lt;a href="#slide-2"&gt;Slide 2&lt;/a&gt; &#x000A;    &lt;/nav&gt;</code></pre>
    <p>Style those as you will. For <a href="http://codepen.io/chriscoyier/pen/Fkczq" rel="nofollow external" class="bo">the demo</a>, I make them little tiny gray circles with the text hidden.</p>
    <h3>The JavaScript (adding navigation)</h3>
    <p>Our structure is more useful now. We simply add a few more elements we're dealing with, add a new event we're watching for (clicks on nav), and write a little function to deal with that event.</p>
    <p>We know how far to animate the scroll position when a nav link is clicked from the ID on the link itself. The link might be href="#slide-1", which we can get "1" from easily. Then the position we need to scroll to is (1 × width of slide), so 300 in our case. We'll store that 300 value right in the JavaScript.</p>
    <pre><code>var slider = {&#x000A;      &#x000A;      el: {&#x000A;        slider: $("#slider"),&#x000A;        allSlides: $(".slide"),&#x000A;        sliderNav: $(".slider-nav"),&#x000A;        allNavButtons: $(".slider-nav &gt; a")&#x000A;      },&#x000A;      &#x000A;      timing: 800,&#x000A;      slideWidth: 300, // could measure this&#x000A;      &#x000A;      init: function() {&#x000A;        // You can either manually scroll...&#x000A;        this.el.slider.on("scroll", function(event) {&#x000A;          slider.moveSlidePosition(event);&#x000A;        });&#x000A;        // ... or click a thing&#x000A;        this.el.sliderNav.on("click", "a", function(event) {&#x000A;          slider.handleNavClick(event, this);&#x000A;        });&#x000A;      },&#x000A;      &#x000A;      moveSlidePosition: function(event) {&#x000A;        // Magic Numbers&#x000A;        this.el.allSlides.css({&#x000A;          "background-position": $(event.target).scrollLeft()/6-100+ "px 0"&#x000A;        });  &#x000A;      },&#x000A;      &#x000A;      handleNavClick: function(event, el) {&#x000A;        // Don't change URL to a hash, remove if you want that&#x000A;        event.preventDefault();&#x000A;    &#x000A;        // Get "1" from "#slide-1", for example&#x000A;        var position = $(el).attr("href").split("-").pop();&#x000A;        &#x000A;        this.el.slider.animate({&#x000A;          scrollLeft: position * this.slideWidth&#x000A;        }, this.timing);&#x000A;        &#x000A;        this.changeActiveNav(el);&#x000A;      },&#x000A;      &#x000A;      changeActiveNav: function(el) {&#x000A;        // Remove active from all links&#x000A;        this.el.allNavButtons.removeClass("active");&#x000A;        // Add back to the one that was pressed&#x000A;        $(el).addClass("active");&#x000A;      }&#x000A;      &#x000A;    };&#x000A;    &#x000A;    slider.init();</code></pre>
    <p>We have an "active" class on the nav links just to use in CSS to visually indicate which slide is active. We handle that by removing "active" from all links and then adding it back to the one that was clicked.</p>
    <h3>Demo!</h3>
    <pre><a href="http://codepen.io/chriscoyier/pen/Fkczq" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <p></p>
    <hr>
    
    <p><small><a href="http://css-tricks.com/slider-with-sliding-backgrounds/" rel="nofollow external" class="bo">Slider with Sliding Backgrounds</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>Among the many super nice design features of the Yahoo! Weather app for iOS is the transition between city screens. The background image doesn't just move away as the screen moves from one screen...</Summary>
<Website>http://css-tricks.com/slider-with-sliding-backgrounds/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29613/guest@my.umbc.edu/19f01c883c9d9f8433b8ba54fbc559ff/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, 17 May 2013 11:14:52 -0400</PostedAt>
<EditAt>Fri, 17 May 2013 11:14:52 -0400</EditAt>
</NewsItem>

</News>
