<?xml version="1.0"?>
<News hasArchived="true" page="8473" pageCount="10726" pageSize="10" timestamp="Thu, 16 Jul 2026 13:58:06 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8473">
<NewsItem contentIssues="true" id="33323" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33323">
<Title>2013 Maryland Cyber Challenge Orientation Webinar</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="" src="//www.csee.umbc.edu/wp-content/uploads/2013/07/mdc3_2013.jpg" style="max-width: 100%; height: auto;"></p>
    <p>The 2013 Maryland Cyber Challenge season has begun!</p>
    <p>Last week, Challenge co-founder Dr. Richard Forno and other Challenge officials conducted a kick-off orientation <a href="http://www.cloudshield.com/training/wbt/orientation/orientation.html" rel="nofollow external" class="bo">webinar</a>  (<a href="http://www.cloudshield.com/training/wbt/orientation/2013-mdc3-orientation_7-26-13.pdf" rel="nofollow external" class="bo">PDF</a>) outlining the 2013 Challenge, providing a brief overview of the SAIC/Leidos competition environment (CyberNEXS), offering administrative guidance, and answering questions from prospective competitors and team advisors.</p>
    <p>Now in its third year, the Challenge is a partnership between UMBC and SAIC/Leidos, in cooperation with the National Cyber Security Alliance, Tech Council of Maryland, and the Governor's CyberMaryland Initiative. The first two years of the Challenge saw over 700 competitors and 115 teams from Maryland competing for over $160,000 in cash prizes, internships, and more. The finals event is held as a major aspect of the CyberMaryland 2013 <a href="https://www.fbcinc.com/e/cybermdconference/default.aspx" rel="nofollow external" class="bo">conference</a> on October 8 &amp; 9 at the Baltimore Convention Center.</p>
    <p>Interested teams may register for the competition <a href="https://www.fbcinc.com/e/cybermdcompetition/attendeereg.aspx" rel="nofollow external" class="bo">here</a>.   </p>
    </div>
]]>
</Body>
<Summary>The 2013 Maryland Cyber Challenge season has begun!   Last week, Challenge co-founder Dr. Richard Forno and other Challenge officials conducted a kick-off orientation webinar  (PDF) outlining the...</Summary>
<Website>http://www.csee.umbc.edu/2013/07/2013-maryland-cyber-challenge-is-here/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33323/guest@my.umbc.edu/91b01e2e2bef3f3c15a16b0e406b8ee3/api/pixel</TrackingUrl>
<Tag>cybersecurity</Tag>
<Tag>news</Tag>
<Group token="csee">Computer Science and Electrical Engineering</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/csee</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/original.png?1314043393</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/large.png?1314043393</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/medium.png?1314043393</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/small.png?1314043393</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxsmall.png?1314043393</AvatarUrl>
<Sponsor>Computer Science and Electrical Engineering</Sponsor>
<PawCount>1</PawCount>
<CommentCount>2</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 30 Jul 2013 10:33:12 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 10:33:12 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33327" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33327">
<Title>Pogue's Posts: SmugMug Revamps Its Site, in a Challenge to Flickr</Title>
<Body>
<![CDATA[
    <div class="html-content">SmugMug’s upgrade, in the works for two years, offers a dizzying array of new features — aiming at hard-core photographers.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fpogue.blogs.nytimes.com%2F2013%2F07%2F30%2Fsmugmug-revamps-its-site-in-a-challenge-to-flickr%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Pogue%27s+Posts%3A+SmugMug+Revamps+Its+Site%2C+in+a+Challenge+to+Flickr" 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%2Fpogue.blogs.nytimes.com%2F2013%2F07%2F30%2Fsmugmug-revamps-its-site-in-a-challenge-to-flickr%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Pogue%27s+Posts%3A+SmugMug+Revamps+Its+Site%2C+in+a+Challenge+to+Flickr" 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%2Fpogue.blogs.nytimes.com%2F2013%2F07%2F30%2Fsmugmug-revamps-its-site-in-a-challenge-to-flickr%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Pogue%27s+Posts%3A+SmugMug+Revamps+Its+Site%2C+in+a+Challenge+to+Flickr" 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%2Fpogue.blogs.nytimes.com%2F2013%2F07%2F30%2Fsmugmug-revamps-its-site-in-a-challenge-to-flickr%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Pogue%27s+Posts%3A+SmugMug+Revamps+Its+Site%2C+in+a+Challenge+to+Flickr" 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%2Fpogue.blogs.nytimes.com%2F2013%2F07%2F30%2Fsmugmug-revamps-its-site-in-a-challenge-to-flickr%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Pogue%27s+Posts%3A+SmugMug+Revamps+Its+Site%2C+in+a+Challenge+to+Flickr" 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/172487538576/u/0/f/640387/c/34625/s/2f57c291/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487538576/u/0/f/640387/c/34625/s/2f57c291/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>SmugMug’s upgrade, in the works for two years, offers a dizzying array of new features — aiming at hard-core photographers.     </Summary>
<Website>http://pogue.blogs.nytimes.com/2013/07/30/smugmug-revamps-its-site-in-a-challenge-to-flickr/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33327/guest@my.umbc.edu/72186ce5ae65b418850279434a01c74b/api/pixel</TrackingUrl>
<Tag>digital-photography-video</Tag>
<Tag>new</Tag>
<Tag>photography</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 30 Jul 2013 10:30:05 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 14:27:33 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="33324" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33324">
<Title>How do I add/remove administrators to my site in sites.umbc.edu?</Title>
<Body>
<![CDATA[
    <div class="html-content"><div>    <p>
            Page
                <strong>edited</strong> by
                        <a href="https://wiki.umbc.edu/display/~amocko1%0A" rel="nofollow external" class="bo">Andrea Mocko</a>
                </p>
            <div>
                <div>
                                
                    <div>
                                <p>Each site can have multiple "Administrators", each of whom will have full access to create new content in their site.</p>
                        </div>
        </div>
    <h2>Tell me</h2>
    <p>To add a new administrator:</p>
    <ol>
    <li>From your site dashboard, hover over the <strong>Users</strong> link in the left-hand sidebar and click the <strong>Add User</strong> link</li>
    <li><p>Enter the UMBC Username or Campus ID of the person you wish to add</p></li>
    <li><p>Click the blue <strong>Add User</strong> button</p></li>
    </ol>
    <p>To remove an administrator:</p>
    <ol>
    <li>From your site dashboard, click the <strong>Users</strong> link in the left-hand sidebar</li>
    <li><p>Find the person you wish to remove from the list</p></li>
    <li><p>Hover over the Campus ID of the user</p></li>
    <li><p>Click the <strong>Remove</strong> button which appears below their Campus ID</p></li>
    <li><p>Click the grey <strong>Confirm Removal</strong> button if you are sure you still wish to remove this person</p></li>
    </ol>
    <h2>Rate this Article</h2>
    <p>
    
    
    
    
    <strong>Was this helpful?</strong>
    <a href="https://apps-my.umbc.edu/apps/rt-track/script.php?u=http://wiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D30541549&amp;q=0&amp;v=1&amp;s=faq&amp;l=web-publishing+sites-umbc-edu" rel="nofollow external" class="bo">Yes</a>
     | <a href="https://docs.google.com/a/umbc.edu/spreadsheet/viewform?formkey=dEpyOEZxa29QY05BaVpBVzZSYmRMM0E6MA&amp;entry_15=http%3A%2F%2Fwiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D30541549" rel="nofollow external" class="bo">No</a>
     | <a href="https://docs.google.com/a/umbc.edu/spreadsheet/viewform?formkey=dEpyOEZxa29QY05BaVpBVzZSYmRMM0E6MA&amp;entry_15=http%3A%2F%2Fwiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D30541549" rel="nofollow external" class="bo">Correct or Suggest an Article</a>
     | <a href="https://apps-my.umbc.edu/apps/rt-track/script.php?u=http://wiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D30541549&amp;q=0&amp;v=0&amp;s=faq&amp;l=web-publishing+sites-umbc-edu" rel="nofollow external" class="bo">Request Help</a></p>
        </div>
            <div>
           <a href="https://wiki.umbc.edu/pages/viewpage.action?pageId=30541549" rel="nofollow external" class="bo">View Online</a>
                  ·
           <a href="https://wiki.umbc.edu/pages/diffpagesbyversion.action?pageId=30541549&amp;revisedVersion=9&amp;originalVersion=8" rel="nofollow external" class="bo">View Changes Online</a>       
                      </div>
    </div></div>
]]>
</Body>
<Summary>Page             edited by                     Andrea Mocko                                                                                                                   Each site can have...</Summary>
<Website>https://wiki.umbc.edu/pages/viewpage.action?pageId=30541549</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33324/guest@my.umbc.edu/4add9839ad5fd09b516c7b36ea75ebd2/api/pixel</TrackingUrl>
<Tag>faq</Tag>
<Tag>sites-umbc-edu</Tag>
<Tag>web-publishing</Tag>
<Group token="retired-428">UMBC FAQ</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-428</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/images/avatars/group/1/xsmall.png?1784205622</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/images/avatars/group/1/original.png?1784205622</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/images/avatars/group/1/xxlarge.png?1784205622</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/images/avatars/group/1/xlarge.png?1784205622</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/images/avatars/group/1/large.png?1784205622</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/images/avatars/group/1/medium.png?1784205622</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/images/avatars/group/1/small.png?1784205622</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/images/avatars/group/1/xsmall.png?1784205622</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/images/avatars/group/1/xxsmall.png?1784205622</AvatarUrl>
<Sponsor>UMBC FAQ</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 30 Jul 2013 10:26:57 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 10:29:51 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33325" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33325">
<Title>Striking vintage bag tag art</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/06/thumbnail37.jpg" width="200" height="160" style="max-width: 100%; height: auto;">While airline travel in recent years has become a mundane exercise in getting from point A to B, it was merely a few decades ago that flying the friendly skies was full of glamour and prestige. It’s little wonder, then, that today’s functional baggage tags look nothing like they did in the 1950s — in fact, luggage labels of the past could be considered near works of art.</p> <p>Enter illustrator, designer and all-around image-maker <a href="http://crayonfire.co.uk/" rel="nofollow external" class="bo">Neil Stevens,</a> who spotted a series of vintage bag tags and smartly decided to turn them into full-blown prints. These simple, uncluttered typographic beauties hold a certain statement-making nostalgia.</p> <blockquote> <p>There was something about the now iconic, easily recognizable three letter abbreviations of the city destinations, and the small surrounding details that I thought would look great blown up… They often avoided logos, had no advertising, and were purely just the information you needed. — Neil Stevens</p> </blockquote> <p>A far cry from the black-and-white mass-generated labels of today, these colorful, designer destination tags are a reminder that sometimes simple beauty is sacrificed in favor of technological efficiency. It’s up to us to determine which is more important.</p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_200.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1077702/work/flight-tag-prints" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/tag_001.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_201.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1077702/work/flight-tag-prints" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/tag_002.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_202.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_203.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1077702/work/flight-tag-prints" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/tag_003.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_204.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1077702/work/flight-tag-prints" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/tag_004.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_205.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://crayonfire.co.uk/30440/1464911/work/flight-tag-prints-vol-2" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/tag_206.jpg" width="650" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"></a></p> <p> </p> <p><em><strong>What other day-to-day design was better in the past? Do we value design less than we used to? Let us know your thoughts in the comments.</strong></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/logo-templates-bundle.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Logo Bundle: 50 Customizable Logo Templates – only $29!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="Striking vintage bag tag art" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/07/striking-vintage-bag-tag-art/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F07%2Fstriking-vintage-bag-tag-art%2F&amp;t=Striking+vintage+bag+tag+art" 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.webdesignerdepot.com%2F2013%2F07%2Fstriking-vintage-bag-tag-art%2F&amp;t=Striking+vintage+bag+tag+art" 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.webdesignerdepot.com%2F2013%2F07%2Fstriking-vintage-bag-tag-art%2F&amp;t=Striking+vintage+bag+tag+art" 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.webdesignerdepot.com%2F2013%2F07%2Fstriking-vintage-bag-tag-art%2F&amp;t=Striking+vintage+bag+tag+art" 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.webdesignerdepot.com%2F2013%2F07%2Fstriking-vintage-bag-tag-art%2F&amp;t=Striking+vintage+bag+tag+art" 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/172487524260/u/49/f/661066/c/35285/s/2f578c37/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487524260/u/49/f/661066/c/35285/s/2f578c37/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>While airline travel in recent years has become a mundane exercise in getting from point A to B, it was merely a few decades ago that flying the friendly skies was full of glamour and prestige....</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2f578c37/sc/4/l/0L0Swebdesignerdepot0N0C20A130C0A70Cstriking0Evintage0Ebag0Etag0Eart0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33325/guest@my.umbc.edu/abb790a5282858265df105be2fac5f9f/api/pixel</TrackingUrl>
<Tag>airline-design</Tag>
<Tag>art</Tag>
<Tag>baggage-labels</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>inspiration</Tag>
<Tag>javascript</Tag>
<Tag>label-design</Tag>
<Tag>mysql</Tag>
<Tag>neil-stevens</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>posters</Tag>
<Tag>sql</Tag>
<Tag>vintage-design</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>Tue, 30 Jul 2013 10:15:19 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 10:15:19 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33329" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33329">
<Title>Get 50% off Generate conference tickets!</Title>
<Body>
<![CDATA[
    <div class="html-content">Buy your ticket for .net's Generate conference tomorrow and save up to 50 per cent in our special sale<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fget-50-generate-conference-tickets-132927&amp;t=Get+50%25+off+Generate+conference+tickets%21" 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.netmagazine.com%2Fnews%2Fget-50-generate-conference-tickets-132927&amp;t=Get+50%25+off+Generate+conference+tickets%21" 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.netmagazine.com%2Fnews%2Fget-50-generate-conference-tickets-132927&amp;t=Get+50%25+off+Generate+conference+tickets%21" 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.netmagazine.com%2Fnews%2Fget-50-generate-conference-tickets-132927&amp;t=Get+50%25+off+Generate+conference+tickets%21" 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.netmagazine.com%2Fnews%2Fget-50-generate-conference-tickets-132927&amp;t=Get+50%25+off+Generate+conference+tickets%21" 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/172487527261/u/49/f/502346/c/32632/s/2f58a3b5/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487527261/u/49/f/502346/c/32632/s/2f58a3b5/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Buy your ticket for .net's Generate conference tomorrow and save up to 50 per cent in our special sale      </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/GEH9CyhIDFw/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33329/guest@my.umbc.edu/edc0f9f76ea54073452aa3e712b542e8/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>net</Tag>
<Tag>php</Tag>
<Tag>sql</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>Tue, 30 Jul 2013 09:56:03 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 09:56:03 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="33318" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33318">
<Title>Pixel Recess Episode #18</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A 10-minute, deadly serious talk with Paul Armstrong and myself.</p>
    <p><a href="http://pixelrecess.com/chris-coyier/" title="Direct link to featured article" rel="nofollow external" class="bo">Direct Link to Article</a> — <a href="http://css-tricks.com/pixel-recess-episode-18/" rel="nofollow external" class="bo">Permalink</a></p>
    <hr>
    
    <p><small><a href="http://css-tricks.com/pixel-recess-episode-18/" rel="nofollow external" class="bo">Pixel Recess Episode #18</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>A 10-minute, deadly serious talk with Paul Armstrong and myself. 
 Direct Link to Article — Permalink  

 Pixel Recess Episode #18 is a post from CSS-Tricks</Summary>
<Website>http://pixelrecess.com/chris-coyier/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33318/guest@my.umbc.edu/41bda2c8b9c70b8e492b712457a6dcd0/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>link</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>Tue, 30 Jul 2013 08:39:33 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="33319" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33319">
<Title>Checking in front-end dependencies</Title>
<Body>
<![CDATA[
    <div class="html-content">Package management is an important and evolving area in front-end development. It’s also a contentious one with some favoring Bower, others preferring npm and Browserify and a number remaining undecided about the true benefits of these tools. Regardless of the … <a href="http://addyosmani.com/blog/checking-in-front-end-dependencies/" rel="nofollow external" class="bo">Continue reading <span>→</span></a>
    </div>
]]>
</Body>
<Summary>Package management is an important and evolving area in front-end development. It’s also a contentious one with some favoring Bower, others preferring npm and Browserify and a number remaining...</Summary>
<Website>http://addyosmani.com/blog/checking-in-front-end-dependencies/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33319/guest@my.umbc.edu/8f933488d0bda19329bd4a1c6c014373/api/pixel</TrackingUrl>
<Tag>bower</Tag>
<Tag>check-in</Tag>
<Tag>checking-in</Tag>
<Tag>chrome</Tag>
<Tag>dependencies</Tag>
<Tag>developer</Tag>
<Tag>git-bower</Tag>
<Tag>javascript</Tag>
<Tag>svn-bower</Tag>
<Tag>web-development</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>Tue, 30 Jul 2013 08:11:17 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33317" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33317">
<Title>Part Two: How To Fix The Web: Obscure Back-End Techniques And Terminal Secrets</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <table width="650">
    <tbody>
    <tr>
    <td>
    <div>
    <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" style="max-width: 100%; height: auto;"><br><a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=1" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=1" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=2" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=2" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=3" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=3" alt="" style="max-width: 100%; height: auto;"></a>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    <p>Just a little reminder before you start: In <a href="http://coding.smashingmagazine.com/2013/07/23/how-to-fix-the-web-obscure-back-end-techniques-and-terminal-secrets/" rel="nofollow external" class="bo">part 1</a> we explored the infrastructure of the Internet and the make-up of a Web server. We left off at the stage where our Web server software is up and running again, and we’ve just double-checked this by telnetting an HTTP request and received the successful response code. It’s now time for…</p>
    <h3>Finding Your Website</h3>
    <p>The 200 code means that your home page is okay, and you should be able to visit it in your browser. However, it may not show what you expected, and your fabulous Widget 3000 page may still be absent.</p>
    <h4>Virtual Hosts and Streams</h4>
    <p>As mentioned above, many servers host multiple websites. One of these is the default website. It is the website you get when you visit the server by IP address <a href="http://80.72.139.101/">http://80.72.139.101/</a> instead of by name, or when you leave off the <code>Host:</code> line in the HTTP request while telnetting. The rest of the websites are known as virtual hosts. Every one of these websites has a physical location on the server known as its document root. To further investigate your website woes, <strong>you need to discover its document root.</strong></p>
    <p>Fortunately and sensibly, most server management packages like Plesk store their virtually hosted websites according to their domain name, so you can usually just <code>find</code> directly on the domain name. The / in the command below tells <code>find</code> to search the whole file system, the <code>-type d</code> looks only for <u>d</u>irectories, and the <code>-name</code> part searches for any directories containing “smashingmagazine”. The asterisks are wild cards. You’ll need to either escape them <code>\*smashingmagazine\*</code> or put them in quotes <code>“*smashingmagazine*”</code>:</p>
    <pre><code>&#x000A;    $ find / -type d -name “*smashingmagazine*”&#x000A;    find: ‘/var/run/cups/certs’: Permission denied&#x000A;    find: ‘/var/run/PolicyKit’: Permission denied&#x000A;    /var/www/vhosts/smashingmagazine.com&#x000A;    /var/www/vhosts/smashingmagazine.com/httpdocs...&#x000A;    </code></pre>
    
    <p>If you run this command as a normal unprivileged user, you will probably see lots of “Permission denied” as <code>find</code> tries to explore forbidden places. You are actually seeing two types of output here: <code>stdout</code> for “standard output” and <code>stderr</code> for “standard error”. They are called output streams and are confusingly mixed together.</p>
    <p>You have already encountered the pipe symbol | for piping the output stream (<code>stdout</code>) of one command into the input stream (<code>stdin</code>) of another. The symbol <code>&gt;</code> can redirect that output into a file. Try this command to send all the matches into a file called matches.txt:</p>
    <pre><code>&#x000A;    $ find / -type d -name “*smashingmagazine*” &gt; matches.txt&#x000A;    find: ‘/var/run/cups/certs’: Permission denied&#x000A;    find: ‘/var/run/PolicyKit’: Permission denied...&#x000A;    </code></pre>
    
    <p>In this case, all the <code>stdout</code> is redirected into the file matches.txt and only the error output stream <code>stderr</code> is displayed on the screen. By adding the number 2 you can instead redirect <code>stderr</code> into a file and just display <code>stdout</code>:</p>
    <pre><code>&#x000A;    $ find / -type d -name “*smashingmagazine*” 2&gt; matcherrors.txt&#x000A;    /var/www/vhosts/smashingmagazine.com&#x000A;    /var/www/vhosts/smashingmagazine.com/httpdocs...&#x000A;    </code></pre>
    
    <p>There is a special file on Linux, UNIX and Mac computers which is basically a black hole where stuff gets sent and disappears. It’s called /dev/null, so to only see <code>stdout</code> and ignore all errors:</p>
    <pre><code>&#x000A;    $ find / -type d -name “*smashingmagazine*” 2&gt; /dev/null&#x000A;    /var/www/vhosts/smashingmagazine.com&#x000A;    /var/www/vhosts/smashingmagazine.com/httpdocs...&#x000A;    </code></pre>
    
    <p>The end result is that this <code>find</code> command tells you roughly where your document root is. In Plesk, all the virtual hosts are generally stored within the <code>/var/www/vhosts</code> directory, with the document roots in <code>/var/www/vhosts/domain.com/httpdocs.</code></p>
    <h4>The Long Way</h4>
    <p>You can find the document root more accurately by looking through the configuration files. For Apache servers, you can find the default website’s document root by looking through the main configuration file which is usually <code>/etc/apache2/apache2.conf</code> or <code>/etc/httpd/conf/httpd.conf</code>.</p>
    <pre><code>&#x000A;    $ grep DocumentRoot /etc/httpd/conf/httpd.conf &#x000A;    DocumentRoot “/var/www/html”&#x000A;    </code></pre>
    
    <p>Somewhere inside this conf file will also be an <code>Include</code> line which references other conf files, which may themselves include further conf files. To find the DocumentRoot for your virtual host, you’ll need to search through them all. You can do this using <code>grep</code> and <code>find</code> but its a long command, so we will build it up gradually.</p>
    <p>First, we will find all the files (because of the <code>-type f</code>) on the whole server (the <code>/</code>) whose names end in “conf” or “include”. The <code>-type f</code> finds only files and the <code>-o</code> lets us look for files ending in “conf” <u>o</u>r “include”, with surrounding escaped parentheses. As above, the errors are banished into the ether:</p>
    <pre><code>&#x000A;    $ find / -type f \( -name \*conf -o -name \*include \) 2&gt; /dev/null&#x000A;    /var/spool/postfix/etc/resolv.conf&#x000A;    /var/some file with spaces.conf&#x000A;    /var/www/vhosts/myserv.com/conf/last_httpd.include...&#x000A;    </code></pre>
    
    <p>This is not quite complete as any files with spaces will confuse the <code>grep</code> command we are about to attempt. To fix that you can pipe the output of the <code>find</code> command through the <code>sed</code> command which allows you to specify a regular expression. Regular expressions are a huge topic in their own right. In the command below, the <code>s/ /\\ /g</code> will replace all spaces with a slash followed by a space:</p>
    <pre><code>&#x000A;    $ find / -type f \( -name \*conf -o -name \*include \) 2&gt;/dev/null | sed ‘s/ /\\ /g’&#x000A;    /var/spool/postfix/etc/resolv.conf&#x000A;    /var/some\ file\ with\ spaces.conf&#x000A;    /var/www/vhosts/myserv.com/conf/last_httpd.include...&#x000A;    </code></pre>
    
    <p>Now you can use a backtick to embed the results of that <code>find</code> command into a <code>grep</code> command. Using ` is different than | as it actually helps to build a command, rather than just manipulating its input. The <code>-H</code> option to <code>grep</code> tells it so show file names as well. So, now we will look for any reference to “smashingmagazine” in any conf files.</p>
    <pre><code>&#x000A;    $ grep -H smashingmagazine `find / -type f \( -name \*conf -o -name \*include \) 2&gt; /dev/null | sed ‘s/ /\\ /g’`&#x000A;    /var/www/vhosts/smashingmagazine.com/conf/last_httpd.include: ServerName “smashingmagazine.com”...&#x000A;    </code></pre>
    
    <p>This may take a few seconds to run. It is finding every conf file on the server and searching through all of them for “smashingmagazine”. It may reveal the DocumentRoot directly. If not, it will at least reveal the file where the ServerName or VirtualHost is defined. You can then use <code>grep</code> or <code>less</code> to look through that file for the DocumentRoot.</p>
    <p>You can also use the <code>xargs</code> command to do the same thing. It also allows the output from one command to be embedded into another:</p>
    <pre><code>&#x000A;    $ find / -type f \( -name \*conf -o -name \*include \) 2&gt; /dev/null | sed ‘s/ /\\ /g’ | xargs grep -H smashingmagazine&#x000A;    /var/www/vhosts/smashingmagazine.com/conf/last_httpd.include: ServerName “smashingmagazine.com”...&#x000A;    $ grep DocumentRoot /var/www/vhosts/smashingmagazine.com/conf/last_httpd.include&#x000A;    DocumentRoot “/var/www/vhosts/smashingmagazine.com/httpdocs”&#x000A;    </code></pre>
    
    <p>The end result, hopefully, is that <strong>you’ve definitively found the document root for your website</strong>.</p>
    <p>You can use a similar technique for nginx. It also has a main conf file, usually in <code>/etc/nginx/nginx.conf</code>, and it can also include other conf files, however its document root is just called “root”.</p>
    <h4>Apache Control Interface</h4>
    <p>With Apache, there is yet another way to find the right conf file, using the <code>apachectl</code> or newer <code>apache2ctl</code> command with the <code>-S</code> option.</p>
    <pre><code>&#x000A;    $ apachectl -S &#x000A;    VirtualHost configuration:&#x000A;    80.72.139.101:80       is a NameVirtualHost&#x000A;             default server default (/usr/local/psa/admin/conf/generated/13656495120.10089200_server.include:87)&#x000A;             port 80 namevhost default (/usr/local/psa/admin/conf/generated/13656495120.10089200_server.include:87)&#x000A;             port 80 namevhost <a href="http://www.smashingmagazine.com">www.smashingmagazine.com</a> (/var/www/vhosts/smashingmagazine.com/conf/last_httpd.include:10)...&#x000A;    </code></pre>
    
    <p>If this whizzes by too fast, you can try piping the results through <code>grep</code>. It won’t work, however, because <code>grep</code> only operates on <code>stdout</code> and for some reason <code>apachectl</code> outputs its information to <code>stderr</code>. So, you have to first direct <code>stderr</code> into <code>stdout</code> and then send it through <code>grep</code>. This is done by redirecting the error stream 2 into the output stream 1 with <code>2&gt;&amp;1</code>, like this:</p>
    <pre><code>&#x000A;    $ apachectl -S 2&gt;&amp;1 | grep smashingmagazine&#x000A;             port 80 namevhost smashingmagazine.com (/var/www/vhosts/smashingmagazine.com/conf/13656495330.08077300_httpd.include:10)&#x000A;    </code></pre>
    
    <p>This also reveals the conf file which contains the DocumentRoot for this website. As above further <code>grep</code> or <code>less</code> will reveal the DocumentRoot.</p>
    <h4>Checking the Document Root</h4>
    <p>Now that you’ve found the document root, you can snoop around to make sure it’s alright. Change to the directory with <code>cd</code>:</p>
    <pre><code>&#x000A;    $ cd /var/www/vhosts/smashingmagazine.com/httpdocs&#x000A;    bash: cd: /var/www/vhosts/smashingmagazine.com/httpdocs: No such file or directory&#x000A;    </code></pre>
    
    <p>If you get the error message “No such file or directory”, that is bad news. Either the DocumentRoot has been incorrectly set or your whole website has been deleted. If it is there, you can list the files with <code>ls</code>. The <code>-a</code> also shows hidden files which start with a dot, and <code>-l</code> displays them in <u>l</u>ong format with permissions and dates:</p>
    <pre><code>&#x000A;    $ ls -al&#x000A;    drwxrwxrwx  8 nobody  nogroup  4096 May  9 14:03 .&#x000A;    drwxr-xr-x 14 root    root     4096 Oct 13  2012 ..&#x000A;    </code></pre>
    
    <p>Every folder will at least show these two entries. The single “.” is for the current directory and “..” is for the parent directory. If that’s all there is, then the directory is empty.</p>
    <p>While you’re there, you can double-check you are in the correct place. Create a new file using echo and again using the &gt; symbol to send the output to a file.</p>
    <pre><code>&#x000A;    $ echo “&lt;h1&gt;My test file&lt;/h1&gt;” &gt; testfile.html&#x000A;    </code></pre>
    
    <p>This will create a file called testfile.html containing a bit of HTML. You can use your browser or <code>telnet</code> or <code>curl</code> or <code>wget</code> to see if the file is where it should be.</p>
    <pre><code>&#x000A;    $ curl <a href="http://www.smashingmagazine.com/testfile.html">http://www.smashingmagazine.com/testfile.html</a>&#x000A;    &lt;h1&gt;My test file&lt;/h1&gt;&#x000A;    </code></pre>
    
    <p>If that worked, then well done, you have found your website! Remove that test file to clean up after yourself with <code>rm testfile.html</code> and keep going.</p>
    <h4>Back up and Restore</h4>
    <p>The <code>tar</code> and zip commands can be used to back up and restore. If your website is missing, then restore won’t help you much unless you have previously backed up. So go back in time and backup your data with one of the commands below. To go back a whole day:</p>
    <pre><code>&#x000A;    $ gobackintime 86400&#x000A;    It is now Sat May 10 20:30:57 BST 2013&#x000A;    </code></pre>
    
    <p>Just kidding — but it would be nice! The <code>tar</code> command stands for <u>t</u>ape <u>a</u>rchive and comes from the days when data was backed up on magnetic tapes. To create an archive of a directory, pass the <code>cfz</code> options to <code>tar</code> which will <u>c</u>reate a new archive in a <u>f</u>ile and then <u>z</u>ip it in the gzip format.</p>
    <pre><code>&#x000A;    $ tar cfz backupfile.tgz /var/www/vhosts/smashingmagazine.com/httpdocs&#x000A;    tar: Removing leading `/’ from member names&#x000A;    </code></pre>
    
    <p>All Mac and Linux computers support the <code>tar</code> command and most also have <code>zip</code>. To do the same with <code>zip</code>:</p>
    <pre><code>&#x000A;    $ zip -r backupfile.zip /directory/to/backup&#x000A;    </code></pre>
    
    <p><strong>To see what an archive contains, run:</strong></p>
    <pre><code>&#x000A;    tar tfz backupfile.tgz&#x000A;    var/www/vhosts/smashingmagazine.com/httpdocs/&#x000A;    var/www/vhosts/smashingmagazine.com/httpdocs/.htaccess...&#x000A;    </code></pre>
    
    <p>Or for zip format:</p>
    <pre><code>&#x000A;    unzip -l backupfile.zip&#x000A;    Archive:  test.zip&#x000A;      Length      Date    Time    Name&#x000A;    ---------  ---------- -----   ----&#x000A;            0  2012-05-28 00:33   var/www/vhosts/smashingmagazine.com/httpdocs&#x000A;          234  2012-05-28 00:33   var/www/vhosts/smashingmagazine.com/httpdocs/.htaccess...&#x000A;    </code></pre>
    
    <p>Both <code>tar</code> and <code>zip</code> strip the leading slashes when they backup. So when you restore the files, they will be restored within the current directory. To restore them in the same location they were backed up from, first <code>cd</code> to <code>/</code>.</p>
    <pre><code>&#x000A;    $ tar xfzv backupfile.tgz&#x000A;    var/www/vhosts/smashingmagazine.com/httpdocs/...&#x000A;    </code></pre>
    
    <p>The “v” above stands for <u>v</u>erbose and causes <code>tar</code> to show what it’s doing. <code>zip</code> has a similar option:</p>
    <pre><code>&#x000A;    $ unzip -v backupfile.zip&#x000A;    Archive:  backupfile.zip&#x000A;     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name&#x000A;    --------  ------  ------- ---- ---------- ----- --------  ----&#x000A;           0  Stored        0   0% 2012-05-28 00:33 00000000  var/www/vhosts/smashingmagazine.com/httpdocs/...&#x000A;    </code></pre>
    
    <h4>Website Errors</h4>
    <p>Let’s assume your website hasn’t actually disappeared. The next place to look is the error log file.</p>
    <h4>Finding the Log File</h4>
    <p>When using a server management package like Plesk, each website probably has its own log file. You can find it by grepping for the word “log” in the conf file you identified above. The -i means case-insensitive.</p>
    <pre><code>&#x000A;    $ grep -i log /var/www/vhosts/smashingmagazine.com/conf/last_httpd.include&#x000A;        CustomLog /var/www/vhosts/smashingmagazine.com/statistics/logs/access_log plesklog&#x000A;        ErrorLog  “/var/www/vhosts/smashingmagazine.com/statistics/logs/error_log”...&#x000A;    </code></pre>
    
    <p>There is also a server-wide log where any non-website-specific errors go. You can find this in the main conf file:</p>
    <pre><code>&#x000A;    $ grep -i log /etc/apache2/apache2.conf&#x000A;    ErrorLog /var/log/apache2/error.log...&#x000A;    </code></pre>
    
    <h4>Htaccess Errors</h4>
    <p>It is very easy to screw up a website. You can quite readily bring down a very big website by removing a single character from the .htaccess file. Apache uses the file .htaccess to provide last-minute configuration options for a website. It is most often used for URL rewriting rules. They look like this:</p>
    <pre><code>&#x000A;    RewriteRule   ^products/.*/([0-9]+)$   products/view.php?id=$1   [L,QSA]&#x000A;    </code></pre>
    
    <p>This rule says to rewrite any URL in the form “products/widget-3000/123” to the actual URL “products/view.php?id=123”. The <code>L</code> means that this is the <u>l</u>ast rule to be applied and <code>QSA</code>attach any <u>q</u>uery <u>s</u>tring to the new URL. URL rewriting is often used for search engine optimization so that Web managers can get the name of the product into the URL without actually having to create a directory called “widget-3000”.</p>
    <p>However, make a single typo and your whole website will give a 500 Internal Server Error.</p>
    <p>The <code>tail</code> command will display the last 10 lines of a log file. Give it a <code>-1</code> to display the single last line instead. An .htaccess problem will look like this:</p>
    <pre><code>&#x000A;    $ tail -1 /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log&#x000A;    [Thu May 06 11:04:00 2013] [alert] [client 81.106.118.59] /var/www/vhosts/smashingmagazine.com/httpdocs/.htaccess: Invalid command ‘RewiteRule’, perhaps misspelled or defined by a module not included in the server configuration&#x000A;    </code></pre>
    
    <p>You can grep for all of these types of errors:</p>
    <pre><code>&#x000A;    $ grep alert /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log&#x000A;    [Thu May 06 11:04:00 2013] [alert] [client 81.106.118.59]...&#x000A;    </code></pre>
    
    <h4>PHP Parse and Runtime Errors</h4>
    <p>Many websites use the LAMP combination: Linux, Apache, MySQL and PHP. A common reason for Web pages not showing up is that they contain a PHP error. Fortunately, these are quite easy to discover and pinpoint.</p>
    <p>There are two broad classes of PHP errors: parse errors and runtime errors. Parse errors are syntax errors and include leaving off a semicolon or forgetting the $ in front of a variable name. Running errors include undefined functions or referencing objects which don’t exist.</p>
    
    <p>Like .htaccess errors, parse errors will cause an HTML response code 500 for Internal Server Error, often with a completely blank HTML page. Runtime errors will give a successful HTML response of 200 and will show as much HTML as they have processed (and flushed) before the error happened. You can use <code>telnet</code> or <code>wget -S</code> or <code>curl -i</code> to get only the headers from a URL. So now, copy and paste your erroneous page into a command:</p>
    <pre><code>&#x000A;    $ curl -i <a href="http://www.smashingmagazine.com/products/widget-3000/123">http://www.smashingmagazine.com/products/widget-3000/123</a>&#x000A;    HTTP/1.0 500 Internal Server Error&#x000A;    Date: Sun, 12 May 2013 17:44:49 GMT&#x000A;    Server: Apache&#x000A;    Vary: Accept-Encoding&#x000A;    Content-Length: 0&#x000A;    Connection: close&#x000A;    Content-Type: text/html&#x000A;    </code></pre>
    
    <h4>PHP Error Settings</h4>
    <p>To find the exact error, you need to make sure errors are being reported in the log file.</p>
    <p>There are several PHP settings which cover errors. <code>display_errors</code> determines if errors are shown to the website visitor or not, and <code>log_errors</code> says whether they will appear in log files. <code>error_reporting</code> specifies the types of errors that are reported: only fatal errors, for example, or warnings and notices as well. All of these can be set in a configuration file, in .htaccess or within the PHP script itself.</p>
    <p>You can find out your current settings by running the PHP function <code>phpinfo</code>. Create a PHP file which calls the function and visit it in your browser:</p>
    <pre><code>&#x000A;    $ echo “&lt;?php phpinfo()?&gt;” &gt; /var/www/vhosts/smashingmagazine.com/httpdocs/phpinfo.php&#x000A;    </code></pre>
    
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/07/phpinfo.png" alt="phpinfo" style="max-width: 100%; height: auto;"><br><em> phpinfo function showing configuration settings.</em></p>
    <p>The two columns show the website and server-wide settings. This shows that <code>display_errors</code> is off, which is good, because it should be off on live websites. It means that no PHP errors will ever be seen by the casual visitor. <code>log_errors</code> on the other hand should be on. It is very handy for debugging PHP issues.</p>
    <p>The <strong>error_reporting value is 30719</strong>. This number represents bit flags or bit fields. This is a technique for storing multiple yes/no values in a single number. In PHP there are a series of <a href="http://php.net/manual/en/errorfunc.constants.php" rel="nofollow external" class="bo">constants representing different types of errors</a>. For example, the constant E_ERROR is for fatal errors and has the value 1; E_WARNING is for warnings and equals 2; E_PARSE is for parsing or syntax errors and has the value 4. These values are all powers of two and can be safely added together. So the number 7 means that all three types of errors should be reported, as E_ERROR + E_WARNING + E_PARSE = 7. A value of 5 will only report E_ERROR + E_PARSE.</p>
    <p>In reality, there are 16 types of errors from 1 for E_ERROR to 16384 for E_USER_DEPRECATED. You can type “30719 in binary” into Google and it will give you the binary equivalent: 0b111011111111111. This means that all errors are switched on except the twelfth, which is E_STRICT. This particular setup has also been given a constant E_ALL = E_ERROR + E_WARNING + E_PARSE + etc = 30719. From PHP version 5.4.0, E_ALL is actually 32767 which includes all the errors include E_STRICT.</p>
    <p>If your <code>error_reporting</code> setting is 0, then no errors will show up in the log file. You can change this setting in the file php.ini, but then you have to restart Apache to make it have an effect. An easier way to change this setting in Apache is to add a line in a file called .htaccess in your document root: <code>php_value error_reporting 30719</code>.</p>
    <p>Or you can do that on the command line, using the double arrow which appends to an existing file or creates the file if it doesn’t exist:</p>
    <pre><code>&#x000A;    $ echo “php_value error_reporting 30719” &gt;&gt; .htaccess&#x000A;    $ echo “php_value log_errors On” &gt;&gt; .htaccess&#x000A;    </code></pre>
    
    <p>Refresh your erroneous Web page. If there is a PHP error in your page it should now show up in the error log. <strong>You can grep the log for all PHP errors:</strong></p>
    <pre><code>&#x000A;    grep PHP /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log&#x000A;    [Sun May 12 18:19:09 2013] [error] [client 81.106.118.59] PHP Notice:  Undefined variable: total in /var/www/vhosts/smashingmagazine.com/httpdocs/products/view.php on line 10...&#x000A;    </code></pre>
    
    <p>If you have referenced variables or array indices before assigning them values, you may see thousands of PHP notices like the one above. It happens when you do things like <code>&lt;? $total = $total + 1 ?&gt;</code> without initially setting $total to 0. They are useful for finding potential bugs, but they are not show stoppers. Your website should work anyway.</p>
    <p>You may have so many notices and warnings like this that the real errors get lost. You can change your error_reporting to 5 to only show <code>E_ERROR</code> and <code>E_PARSE</code> or you can <code>grep</code> specifically for those types of errors. It is very common to chain <code>grep</code> commands together like this when you want to filter by multiple things. The <code>-e</code> option below tells the second <code>grep</code> to use a regular expression. This command finds all log entries containing “PHP” and either “Parse” or “Fatal”.</p>
    <pre><code>&#x000A;    $ grep PHP /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log | grep -e “Parse\|Fatal”&#x000A;    [Thu Jul 19 12:26:23 2012] [error] [client 81.106.118.59] PHP Fatal error:  Class ‘Product’ not found in /var/www/vhosts/smashingmagazine.com/httpdocs/library/class.product.php on line 698&#x000A;    [Sun May 12 18:16:21 2013] [error] [client 81.106.118.59] PHP Parse error:  syntax error, unexpected T_STRING in /var/www/vhosts/smashingmagazine.com/httpdocs/products/view.php on line 100...&#x000A;    </code></pre>
    
    <h4>Seeing Errors in the Browser</h4>
    <p>If you are tracing a runtime error rather than a parse error, you can also change the <code>error_reporting</code> setting directly in PHP. And you can quickly turn <code>display_errors</code> on, so you will see the error directly in your browser. This makes debugging quicker, but means everyone else can see the error too. Add this line to the top of your PHP page:</p>
    <pre><code>&#x000A;    &lt;? ini_set (’display_errors’, 1); error_reporting (E_ERROR | E_WARNING); ?&gt;&#x000A;    </code></pre>
    
    <p>These two functions change the two PHP settings. The <code>|</code> in the <code>error_reporting</code> call is a bit OR operator. It effectively does the same as the <code>+</code> above but operates on bits, so is the correct operator to use with bit flags.</p>
    <p>Any fatal errors or warnings later in the PHP page will now be shown directly in the browser. This technique won’t work for parse errors as none of the page will run if there’s a parse error.</p>
    <h4>Bit Flags</h4>
    <p>Using bit flags for <code>error_reporting</code> avoids having 15 separate arguments to the function for each type of error. Bit flags can also be useful in your own code. To use them, you need to define some constants, use the bit OR operator <code>|</code> when calling the function and the bit AND operator &amp; within the function.</p>
    <p>Here’s a simple PHP example using bit flags to tell a function called showproduct which product properties to display:</p>
    <pre><code>&#x000A;    &lt;?&#x000A;    define (’PRODUCT_NAME’, 1);&#x000A;    define (’PRODUCT_PRICE’, 2);&#x000A;    function showproduct ($product, $flags) {&#x000A;      if ($flags &amp; PRODUCT_NAME) echo $product[’name’];&#x000A;      if ($flags &amp; PRODUCT_PRICE) echo ‘: $’ . $product[’price’];&#x000A;    }&#x000A;    $product = array (’name’=&gt;’Widget 3000’, ‘price’=&gt;10);&#x000A;    showproduct ($product, PRODUCT_NAME | PRODUCT_PRICE);&#x000A;    ?&gt;&#x000A;    </code></pre>
    
    <p>This will display “Widget 3000: $10” in the browser.</p>
    <h4>Infinite Loops</h4>
    <p>PHP’s error reporting may struggle with one class of error: an infinite loop. A loop may just keep executing until it hits PHP’s time limit, which is usually 30 seconds (PHP’s <code>max_execution_time setting</code>), causing a fatal error. Or if the loop allocates new variables or calls functions, it may keep going until PHP runs out of workable memory (PHP’s <code>memory_limit</code> setting).</p>
    <p>It may, however, <strong>cause the Apache child process to crash</strong>, which means nothing will get reported, and you’ll just see a blank or partial page. This type of error is increasingly rare, as PHP and Apache are now very mature and can detect and handle runaway problems like this. But if you are about to bang your head against the wall in frustration because none of the above has worked, then give it some consideration. Deep within your code, you may have a function which calls some other function, which calls the original function in an infinite recursion.</p>
    <h4>Debuggers</h4>
    <p>If you’ve gotten this far, and your page is still not showing up, then you’re entering more difficult territory. Your PHP may be executing validly and doing everything it should, but there’s <strong>some logical error in your programming</strong>. For quick debugging you can <code>var_dump</code> variables to the browser, perhaps wrapping them in an <code>if</code> statement so that only your IP address sees them:</p>
    <pre><code>&#x000A;    &lt;? if ($_SERVER[’REMOTE_ADDR’] == ‘85.106.118.199’) var_dump ($product); ?&gt;&#x000A;    </code></pre>
    
    <p>This method will narrow down an error but it is ungraceful and error-prone, so you might consider a debugging tool such as Xdebug or FirePHP. They can provide masses of information, and can also run invisibly to the user, saving their output to a log file. Xdebug can be used like this:</p>
    <pre><code>&#x000A;    &lt;?&#x000A;    ini_set (’xdebug.collect_params’, 1);&#x000A;    xdebug_start_trace (’/tmp/xdebugtrace’);&#x000A;    echo “This will get traced.”;&#x000A;    xdebug_stop_trace();&#x000A;    ?&gt;&#x000A;    </code></pre>
    
    <p>This bit of code logs all function calls and arguments to the file <code>/tmp/xdebugtrace.txt</code>. It displays even more information when there is a PHP notice or error. However, the overhead may not be suitable for a live environment, and it needs to be installed on the server, so it’s probably not available in most hosting environments.</p>
    <p>FirePHP, on the other hand, is a PHP library that interacts with an add-on to Firebug, a plugin for Firefox. You can output debugging information and stack traces from PHP to the Firebug console.</p>
    <h3>Security Issues</h3>
    <p>By this point, you should have some HTML reaching your browser. If it’s not what you expect, then there’s a chance that your website has been compromised. Don’t take it personally (at first). There are many types of hacks and most of them are automated. Someone clever but unscrupulous has written a program which detects vulnerabilities and exploits them. The purpose of the exploit may simply be to send spam, or to use your server as part of a larger attack on a more specific target (a DDoS).</p>
    <h4>Server Hacks</h4>
    <p>Operating systems are very complex pieces of software. They may be built from millions of lines of programming code. They are quite likely to have loopholes where sending the wrong message at just the wrong time will cause some kind of blip which allows someone or something to gain entry. That’s why Microsoft, Apple, Ubuntu and others are constantly releasing updates.</p>
    <p>Similarly, Apache, nginx, IIS and all the other software on a typical server is complicated. The best thing you can do is keep it up to date with the latest patches. Most good hosts will do this for you.</p>
    <p>A hacker can use these flaws to log in to your server and engineer themselves a terminal session. They may initially gain access as an unprivileged user and then try a further hack to become the root user. You should make this as hard as possible by using good passwords, restrictive permissions, and being careful to run software (like Apache) as an unprivileged user.</p>
    <p>If someone does gain access, they may leave behind a bit of software which they can later use to take control of your server. This may be detectable by an antivirus scanner or something like the Rootkit Hunter, which looks for anomalies like unexpected hidden files. But there are also a few things you can do if you suspect an intrusion.</p>
    <p>The <code>w</code> command <strong>shows <u>w</u>ho is currently logged in to a server and what they are doing</strong>:</p>
    <pre><code>&#x000A;    $ w&#x000A;     20:44:32 up 44 days,  7:51,  2 users,  load average: 0.07, 0.03, 0.05&#x000A;    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT&#x000A;    root     pts/0    cpc1-brig17-2-0- 17:54    1:02m  0.15s  0.13s -bash&#x000A;    root     pts/1    cpc1-brig17-2-0- 20:44    0.00s  0.02s  0.00s w...&#x000A;    </code></pre>
    
    <p>The <code>last</code> command shows who has logged in recently in date order. Pipe it through head to show only the first 10 lines.</p>
    <pre><code>&#x000A;    $ last&#x000A;    paul     pts/0        :0.0             Sun May 12 17:21   still logged in   &#x000A;    paul     tty7         :0               Sun May 12 17:20   still logged in   &#x000A;    reboot   system boot  2.6.32-41-386    Sun May 12 17:18 - 20:48  (03:29)&#x000A;    fred     tty7         :0               Sat May 11 10:10 - down   (01:12)...&#x000A;    </code></pre>
    
    <p>It tells you who has logged in and for how long, plus any terminal session they have open. down means until the server shut down. Look for unexpected entries and consult your host or a security expert if you are in doubt.</p>
    <h4>PHP Hacks</h4>
    <p>More common are hackers who gain entry though vulnerabilities in PHP scripts, especially popular content management systems like WordPress. Anybody can write a plugin for WordPress and, if it’s useful, people will install it. When writing a plugin, most developers think primarily about the functionality and little about security. And because WordPress allows file uploading, <strong>hackers who find vulnerabilities can use them to upload their own PHP scripts</strong> and later take control of a computer.</p>
    <p>These PHP scripts can use the PHP <code>mail</code> function to send out spam on demand, but they can also try to execute commands in much the same way as you can via a terminal session. PHP can execute commands with its <code>exec</code> or <code>system</code> functions. If you do not need to use these functions, <strong>it is advisable to disable them</strong>. You can do this by adding the <code>disable_functions</code> directive to your server’s php.ini file (or php5.ini for PHP 5) or to the file php.ini within your document root. If you search for “php disable functions” in Google, you will find a whole list of functions which should be disabled in this way:</p>
    <pre><code>&#x000A;    disable_functions=fpassthru,crack_check,crack_close...&#x000A;    </code></pre>
    
    <p>A quick check you can make for this type of hack is to look for all PHP files modified recently and make sure there are no anomalies. The <code>-mtime -1</code> option tells <code>find</code> to only consider files modified within the last day. There’s also <code>-mmin</code> for minutes. This command searches all websites within /var/www/vhosts for recently modified files ending in “php” or “inc”:</p>
    <pre><code>&#x000A;    $ find /var/www/vhosts -mtime -1 \( -name \*php -o -name \*inc \) -printf “%t %h/%f\n”&#x000A;    Sun May 12 21:20:17.0000000000 2013 /var/www/vhosts/smashingmagazine.com/httpdocs/products/view.php&#x000A;    </code></pre>
    
    <p>PHP hacks are difficult to detect because they are designed to not stick out. One method hackers use is to gzip their PHP and then encode it as base64. In that case, you may have a PHP file on your system with something like this in it:</p>
    <pre><code>&#x000A;    eval(gzinflate(base64_decode(’HJ3HkqNQEkU/ZzqCBd4t8V4YAQI2E3jvPV8...&#x000A;    </code></pre>
    
    <p>Another method is to <strong>encode text within variables</strong> and then combine them and evaluate them:</p>
    <pre><code>&#x000A;    $unywlbxc = “ uwzsebpgi840hk2a jf”;&#x000A;    $hivjytmne = “  jqs9m4y 1znp0  “;&#x000A;    eval ( “m”.”i”. “croti”...&#x000A;    </code></pre>
    
    <p>Both these methods use the PHP <code>eval</code> function, so you can use <code>grep</code> to look for <code>eval</code>. Using a regular expression with <code>\beval\b</code> means that the word “eval” must have a word boundary before and after it, which prevents it being found in the middle of words. You can combine this with the <code>find</code> command above and pipe through <code>less</code> for easy reading:</p>
    <pre><code>&#x000A;    $ find /var/www/vhosts -mtime -1 \( -name \*php -o -name \*inc \) | sed ‘s/ /\\ /g’ | xargs grep -H -e “\beval\b” | less&#x000A;    /var/www/vhosts/config.php:eval(gzinflate(base64_decode(’HJ3HkqNQE...&#x000A;    </code></pre>
    
    <p>If you do find this type of hack in your website, try to discover how they got in before completely removing all the tainted files.</p>
    <h4>Access Logs</h4>
    <p>Along with error logs, Apache also keeps access logs. You can browse these for suspicious activity. For example, if you found a PHP hack inside an innocuous looking file called test.php, you can look for all activity related to that file. The access log usually sits alongside the error log and is specified with the <code>CustomLog</code> directive in Apache configuration files. It contains the IP address, date and file requested. Search through it with <code>grep</code>:</p>
    <pre><code>&#x000A;    $ grep -e “\(GET\|POST\) /test.php” /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log&#x000A;    70.1.5.12 - - [12/May/2013:20:10:49 +0100] “GET /test.php HTTP/1.1” 200 1707 “-” “Mozilla/5.0 (X11; Ubuntu; Linux i686;...&#x000A;    </code></pre>
    
    <p>This looks for GET and POST requests for the file test.php. It provides you with an IP address, so you can now look for all other access by this address, and also look for a specific date:</p>
    <pre><code>&#x000A;    $ grep 70.1.5.12 /var/www/vhosts/smashingmagazine.com/statistics/logs/error_log | grep “12/May/2013”&#x000A;    70.1.5.12 - - [12/May/2013:20:10:49 +0100] “GET /products/view.php?something HTTP/1.1” 200 1707 “-”...&#x000A;    70.1.5.12 - - [12/May/2013:20:10:49 +0100] “GET /test.php HTTP/1.1” 200 1707 “-” “Mozilla/5.0 (X11; Ubuntu; Linux i686;...&#x000A;    </code></pre>
    
    <p>This kind of debugging can be very useful for normal website errors too. If you have a feedback form on your website, add the user’s IP address to the message. If someone reports an error, you can later look through the logs to see what they have been up to. This is far better than relying on vague second-hand information about reported problems.</p>
    <p>It can also be useful for detecting SQL injection attacks, whereby hackers try to extract details from your database by fooling your database retrieval functions. This often involves a lot of trial and error. You could send yourself an email whenever a database query goes wrong and include the user’s IP address. You can then cross-reference with the logs to see what else they have tried.</p>
    <h3>Last Resorts</h3>
    <p>William Edward Hickson is credited with popularizing the saying:</p>
    <blockquote><p>“If at first you don’t succeed, try, try, try again.”</p></blockquote>
    <p>Hickson was a British educational writer living in early Victorian times. His advice is not appropriate for the modern Web developer, lying in bed on a Saturday morning, drowning in frustration, staring at a blank Web page, preparing to chuck an expensive laptop against a brick wall.</p>
    <p>You’ve now been through all the advice above. You’ve checked that the world hasn’t ended, verified your broadband box, tested the Internet and reached your server. You’ve looked for hardware problems and software problems, and delved into the PHP code. But somehow or other, your Widget 3000 is still not there. The next thing to do is...</p>
    <h4>Have Breakfast</h4>
    <p>Get out of bed and <strong>take your mind off the problem for a little while</strong>. Have some toast, a bowl of cereal, something to drink. Maybe even indulge in a shower. Try that new lavender and citrus shampoo you bought by mistake. While you’re doing all this, your subconscious is busily working on the website issue, and may unexpectedly pop a solution into your thoughts. If so, give it a try. If not…</p>
    <h4>Ask for Help</h4>
    <p>Check the level of support that you are entitled to by your hosting company. If you are paying $10 per month, it’s probably not much. You may be able to get them to cast a vague glance in your direction within the next 72 hours. If it’s substantially more, they may log in and have a look within the next few minutes. They should be able to help with hardware or software issues. They won’t help with Web programming issues. Alternatively, ring a colleague or freelancer. If you are still stuck…</p>
    <h4>Prepare</h4>
    <p>…to release some nervous energy. Find one of those squidgy balls that you can squeeze mercilessly in your hands, or a couple pencils to use as drumsticks, or a pack of cigarettes and a pot full of coffee. And then try the last resort to any computing problem…</p>
    <h4>Reboot</h4>
    <p>When your laptop or desktop goes wrong, a common solution is to reboot it. You can try the same trick on your Web server. This is a quite risky. Firstly, it may not solve the problem. If it’s a PHP error, then nothing will change. If, however, your issue is caused by some obscure piece of software becoming unresponsive, then it may well help, though it may not fix the problem permanently. The same thing may happen next week.</p>
    <p>Secondly, if the reboot fails then you will be really stuck. If the server shuts down but fails to start back up again, then someone may have to go and press the power button on the physical machine. That someone is an employee of your hosting company, and they may be enjoying their breakfast too, in a nice comfortable office somewhere. They may have left their jumper at home. They may not want to enter the air-conditioned bunker where all the servers are kept. You will be thoroughly dependent on their response time.</p>
    <p>Given all the risks, the command is:</p>
    <pre><code>&#x000A;    $ sudo /sbin/reboot&#x000A;    Broadcast message from <a href="mailto:admin@thisserver.com">admin@thisserver.com</a> (/dev/pts/1) at 13:21 ...&#x000A;    The system is going down for reboot now.&#x000A;    </code></pre>
    
    <p>The <code>reboot</code> command is really just a wrapper for <code>/sbin/shutdown -r now</code>. It causes the server to shut down and then restart. That may take a few minutes. Soon after issuing the command above your SSH session will come to an abrupt end. You will then be left for a few nervous minutes wondering if it will come back up again. Use the tools you prepared above.</p>
    <p>While you are waiting, you can <strong>issue a ping to see if and when your server comes back</strong>. On Windows use <code>ping -t</code> for an indefinite <code>ping</code>:</p>
    <pre><code>&#x000A;    $ ping <a href="http://www.smashingmagazine.com">www.smashingmagazine.com</a>&#x000A;    PING <a href="http://www.smashingmagazine.com">www.smashingmagazine.com</a> (80.72.139.101) 56(84) bytes of data.&#x000A;    Request timeout for icmp_seq 0&#x000A;    Request timeout for icmp_seq 0&#x000A;    Request timeout for icmp_seq 0...&#x000A;    64 bytes from <a href="http://www.smashingmagazine.com">www.smashingmagazine.com</a> (80.72.139.101): icmp_seq=1 ttl=52 time=39.4 ms&#x000A;    64 bytes from <a href="http://www.smashingmagazine.com">www.smashingmagazine.com</a> (80.72.139.101): icmp_seq=1 ttl=52 time=32.4 ms...&#x000A;    </code></pre>
    
    <p>You can breathe a sigh of relief when ping finally responds. Wait a couple more minutes and you’ll be able to use <code>ssh</code> again and then try to view the Widget 3000 in your Web browser.</p>
    <h3>Conclusion</h3>
    <p>This has been an epic journey, from the end of the world to a single misplaced character in a file. Hopefully, it will help you through the initial few minutes of panic when you wake up one morning and the beautiful product page you created last night is gone.</p>
    <p>Some of the reasons and solutions above are very rare. The most likely cause is simply a slight malfunction in your broadband box. Running out of disk space or getting hacked are the only other things that are in any way likely to happen in the middle of the night when nobody else is working on the website. But throw in other developers, server administrators and enthusiastic clients — and anything is possible. Good luck!</p>
    <h4>Footnotes</h4>
    <p>1. Oxford Dictionary of Quotations (3rd edition), Oxford University Press, 1979</p>
    <p><em>Paul Tero's chapter has been reviewed by <a href="https://twitter.com/coderholic" rel="nofollow external" class="bo">Ben Dowling</a> and <a href="https://twitter.com/chikuyonok" rel="nofollow external" class="bo">Sergey Chikuyonok</a>.</em></p>
    <h3>Pre-Order Your Copy Today!</h3>
    <p><a href="https://shop.smashingmagazine.com/smashing-book-4.html?pk_campaign=front-page-shop&amp;pk_kwd=sb4-virtual-product" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/07/sb4-coding-small-preview.jpg" alt="New Perspectives on Coding" style="max-width: 100%; height: auto;"></a><br>
    We hope you've enjoyed this sample chapter of the Smashing Book #4! We would sincerely appreciate your support with an occasional <a href="https://twitter.com/intent/tweet?source=webclient&amp;text=Have%20you%20read%20@smashingmag's%20sample%20chapter%20of%20the%20upcoming%20Smashing%20Book%20%234?%20Well,%20I%20have!%20http://www.smashingmagazine.com/2013/07/23/how-to-fix-the-web/%20%23smbook4" rel="nofollow external" class="bo">tweet</a>, Facebook post or Google+ update, or just a word to your friends and colleagues! You can also learn more about the <a href="http://www.smashingmagazine.com/2013/07/10/add-twitter-avatar-smashing-book-4/" rel="nofollow external" class="bo">Smashing Book #4</a> first. Again, thank you for all your support!</p>
    <p>(og) (il) (vf) (ea) (cm)</p>
    <hr>
    <p><small>© The Smashing Editorial for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        Just a little reminder before you start: In part 1 we explored the infrastructure of the Internet and the make-up of a Web server. We left off at the stage where our Web server software is...</Summary>
<Website>http://www.smashingmagazine.com/2013/07/30/how-to-fix-the-web-obscure-back-end-techniques-and-terminal-secrets-part-2/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33317/guest@my.umbc.edu/5ed915b2d85c40d9e357fd45e2c20a7f/api/pixel</TrackingUrl>
<Tag>coding</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</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>Tue, 30 Jul 2013 08:09:45 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33302" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33302">
<Title>Create an indie game</Title>
<Body>
<![CDATA[
    <div class="html-content">If you can make websites you have all the skills needed to create an indie game, says Richard Shepherd. Push start to play!<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fcreate-indie-game&amp;t=Create+an+indie+game" 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.netmagazine.com%2Ffeatures%2Fcreate-indie-game&amp;t=Create+an+indie+game" 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.netmagazine.com%2Ffeatures%2Fcreate-indie-game&amp;t=Create+an+indie+game" 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.netmagazine.com%2Ffeatures%2Fcreate-indie-game&amp;t=Create+an+indie+game" 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.netmagazine.com%2Ffeatures%2Fcreate-indie-game&amp;t=Create+an+indie+game" 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/172487545836/u/49/f/502346/c/32632/s/2f54f0f9/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487545836/u/49/f/502346/c/32632/s/2f54f0f9/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>If you can make websites you have all the skills needed to create an indie game, says Richard Shepherd. Push start to play!      </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/ad6ttFlVW0M/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33302/guest@my.umbc.edu/39f80849998da141af51ccdd5e71c948/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>net</Tag>
<Tag>php</Tag>
<Tag>sql</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>Tue, 30 Jul 2013 06:00:00 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 06:00:00 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33299" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33299">
<Title>Buy and sell design services at Microlancer.com</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/07/thumbnail33.jpg" width="200" height="160" style="max-width: 100%; height: auto;"><a href="http://www.microlancer.com/" rel="nofollow external" class="bo">Microlancer</a> is a brand new site from the <a href="http://www.envato.com/" rel="nofollow external" class="bo">Envato network,</a> designed to simplify outsourcing small design jobs. Everything from websites to logos can be ordered from professional suppliers worldwide.</p> <p>Freelancers who would like to offer services can sign up and start offering services immediately.</p> <p>Microlancer is designed to speed up the process of outsourcing design projects and currently features more than 80 categories in which you can buy and sell services, with more categories to be added on an on-demand basis. Each service is offered at a fixed up-front price, includes clear parameters and an anticipated timeframe.</p> <h1>How Microlancer works</h1> <h2>For buyers</h2> <p>To buy a service through Microlancer, just look up the service you need — it might be logo design, photo retouching, or 3D modelling — then browse through the providers who offer that service; once you’ve picked one you’re interested in send them a full brief. Once the job is accepted and underway you’ll have a set number of revisions before receiving the final files.</p> <p>It’s the simplest way to outsource design jobs because you know exactly what you’re buying, how much you have to pay and how long it will take, all up-front.</p> <h2>For sellers</h2> <p>If you’re selling a service through Microlancer, first you need to register, then post the service (or services) you’d like to offer. The Microlancer team will review the service. When someone buys your offering you’ll receive the specifics of their brief and have the option to accept, or decline the job. Once you proceed you’ll deliver inside the timeframe that you specified for the service, they’ll have the option to make the number of revisions that you specified, then you’ll complete the job and get paid.</p> <p>It’s a great solution for providers because you’re in control; you set a price for your service and that’s what the buyer pays, no negotiation, no scope creep; simple supply and demand.</p> <p></p>
    <div class="embed-container"><iframe src="//www.youtube.com/embed/CUof7kKrjEY" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div> <p> </p> <h1>How Microlancer delivers on quality</h1> <h2>For buyers</h2> <p>There are hundreds of job boards, freelance listings and outsource companies online; so many in fact that it’s hard to pick who to work with, let alone guarantee quality. Microlancer handles this problem by reviewing every service posted to the site before it’s available to buy. This way, buyers know that the service they’re paying for is a professional standard.</p> <p>Once you’ve purchased a service and the job is complete you’ll be asked to give the designer feedback; a thumbs up, or down and a brief description of your experience. Use feedback from other users to ensure you choose the best provider for the job.</p> <h2>For sellers</h2> <p>Microlancer reviews all services that you offer for sale, once your service is on the site buyers know that it’s been quality checked by Microlancer professionals and received their seal of approval.</p> <p>As you complete jobs you’ll receive feedback from buyers, letting everyone know that you made good on your promises. As your reputation grows and positive feedback continues to come in you’ll become more and more attractive to buyers, ensuring that the more you put into Microlancer, the more you’ll get out of it.</p> <p> </p> <h1>How Microlancer safeguards your money</h1> <h2>For buyers</h2> <p>When a buyer decides to go ahead and purchase a service, they pay the full cost of the service they’ve selected up-front. Never fear though, it doesn’t go straight into the seller’s pocket; the money is held in an escrow account. It will sit there until the job is completed, when it will be released to the seller.</p> <p>Buyers no longer have to worry about unscrupulous designers taking a large deposit and vanishing.</p> <h2>For sellers</h2> <p>Microlancer’s escrow system works both ways: with full payment up front, provided you deliver the service you promise, the money will be yours at the end of the job.</p> <p>Never having to chase up clients, pursue unpaid invoices, or wade through tonnes of administrative paperwork means you’ll be free to do what you do best: design.</p> <p> </p> <h1>How Microlancer handles disputes</h1> <h2>For buyers</h2> <p>It would be naïve to think that nothing ever goes wrong. Sometimes, despite the very best feedback by other buyers, despite the project progressing satisfactorily, despite the seller’s reassurances, things go wrong.</p> <p>Most of the time you’ll be able to resolve problems with a quick message to the seller, but for times that you do need assistance, rest assured that Microlancer has a team of fully trained dispute staff who’ll impartially judge what has been delivered and determine whether the seller should be paid.</p> <p>If things go awry, you’ll get your money back.</p> <h2>For sellers</h2> <p>Of course, it’s not just buyers who can rely on the Microlancer dispute team. If you deliver what you promised, but the buyer doesn’t want to pay, Microlancer’s dispute specialists will investigate and then release the funds to you. All you have to do, to guarantee being paid, is meet your promises.</p> <p>Most sellers, and most buyers will never need the dispute team, but it’s reassuring to know that they’re there if ever you do need them.</p> <p>Microlancer is all about honest professionals doing business together in a simple and transparent manner.</p> <p> </p> <h1>What can I find on Microlancer?</h1> <p>With over 80 categories and plans to add more, there’s plenty to be found on Microlancer. Checkout some of the services that are already available on the site, would you like to purchase any of these? Perhaps you could do better?</p> <p><a href="https://www.microlancer.com/explore/ribbons-badges/2084-retro-vintage-badges" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/001_buttons_sztufi.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/character-design/33-vectorised-character-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/002_character_flatlinero.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/flyer-design/1525-party-club-flyer-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/003_flyer_cruzine.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/app-icon-design/80-ios-icon-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/004_icons_graphicure.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/vector-illustration/565-hand-drawn-vectorized-and-colored-illustration" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/005_illustration_nonabase.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/app-icon-design/440-3d-realistic-ios-app-icon" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/006_icons_saltshaker911.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/business-card-design/1173-vintage-business-card" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/007_cards_saostudio.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/website-header-image-design/344-clean-minimalist-website-header-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/008_header_tinthumb.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/ribbons-badges/1489-professional-badges-4-badges" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/009_badges_fidaktk.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/one-page-web-design/150-responsive-one-page-web-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/010_1page_oliverlong.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/business-card-design/588-creative-profession-business-card-designs" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/011_cards_shermanjackson.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/logo-design/1870-professional-modern-logo-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/012_logo_charlieedmiston.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/digital-painting/1647-realistic-children-s-picture-book-illustrations" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/013_illustration_cmillustration.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p><a href="https://www.microlancer.com/explore/logo-design/2042-vintage-wordmark-design" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/014_logo_dapperdesignco.jpg" width="650" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Help Microlancer grow</h1> <p>Microlancer is already fully functional, but it is currently in beta. The team are working hard to improve every aspect of it, but they need your help. How would you like to see the site grow?</p> <p>Ultimately, Microlancer is for <em>your</em> community so now is a great time to sign up and send the team some feedback. Is there a category that needs to be added? Could the process be sped up? What would make buying and selling on the site easier? Now is the best time to help shape the site into a service that you’ll use for years to come.</p> <p><a href="http://www.microlancer.com" rel="nofollow external" class="bo">Visit Microlancer.com</a></p> <p> </p> <p><em><strong>Have you bought or sold services through Microlancer? How did you find the experience? L</strong><strong>et us know in the comments.</strong></em></p> <p><em>[Disclaimer] This is a sponsored review for Microlancer. The opinions expressed here are the author’s only.</em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/logo-templates-bundle.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Logo Bundle: 50 Customizable Logo Templates – only $29!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="Buy and sell design services at Microlancer.com" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/07/buy-and-sell-design-services-at-microlancer-com/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F07%2Fbuy-and-sell-design-services-at-microlancer-com%2F&amp;t=Buy+and+sell+design+services+at+Microlancer.com" 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.webdesignerdepot.com%2F2013%2F07%2Fbuy-and-sell-design-services-at-microlancer-com%2F&amp;t=Buy+and+sell+design+services+at+Microlancer.com" 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.webdesignerdepot.com%2F2013%2F07%2Fbuy-and-sell-design-services-at-microlancer-com%2F&amp;t=Buy+and+sell+design+services+at+Microlancer.com" 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.webdesignerdepot.com%2F2013%2F07%2Fbuy-and-sell-design-services-at-microlancer-com%2F&amp;t=Buy+and+sell+design+services+at+Microlancer.com" 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.webdesignerdepot.com%2F2013%2F07%2Fbuy-and-sell-design-services-at-microlancer-com%2F&amp;t=Buy+and+sell+design+services+at+Microlancer.com" 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/172487496006/u/49/f/661066/c/35285/s/2f54b027/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487496006/u/49/f/661066/c/35285/s/2f54b027/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Microlancer is a brand new site from the Envato network, designed to simplify outsourcing small design jobs. Everything from websites to logos can be ordered from professional suppliers worldwide....</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2f54b027/sc/4/l/0L0Swebdesignerdepot0N0C20A130C0A70Cbuy0Eand0Esell0Edesign0Eservices0Eat0Emicrolancer0Ecom0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33299/guest@my.umbc.edu/b00595ff3b3b3e22e0613bd03fa35b9a/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>find-a-freelancer</Tag>
<Tag>freelance-boards</Tag>
<Tag>freelance-opportunities</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>microlancer</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>outsourcing</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>resources</Tag>
<Tag>sql</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 30 Jul 2013 05:15:19 -0400</PostedAt>
<EditAt>Tue, 30 Jul 2013 05:15:19 -0400</EditAt>
</NewsItem>

</News>
