<?xml version="1.0"?>
<News hasArchived="true" page="8430" pageCount="10727" pageSize="10" timestamp="Fri, 17 Jul 2026 18:47:28 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8430">
<NewsItem contentIssues="true" id="33899" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33899">
<Title>Comics of the week #195</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://netdna.webdesignerdepot.com/uploads/2013/07/thumb5.jpg" rel="nofollow external" class="bo"><img alt="thumb5" src="http://netdna.webdesignerdepot.com/uploads/2013/07/thumb5.jpg" width="200" height="160" style="max-width: 100%; height: auto;"></a>Every week we feature a set of comics created exclusively for WDD.</p> <p>The content revolves around web design, blogging and funny situations that we encounter in our daily lives as designers.</p> <p>These great cartoons are created by Jerry King, an award-winning cartoonist who’s one of the most published, prolific and versatile cartoonists in the world today.</p> <p>So for a few moments, take a break from your daily routine, have a laugh and enjoy these funny cartoons.</p> <p>Feel free to leave your comments and suggestions below as well as any related stories of your own…</p> <h1>Multi-purpose phone</h1> <p><a href="http://netdna.webdesignerdepot.com/uploads/2013/07/4.jpg" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/4.jpg" width="650" alt="Comics of the week #195" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Unfriended boss</h1> <p><a href="http://netdna.webdesignerdepot.com/uploads/2013/07/5.jpg" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/5.jpg" width="650" alt="Comics of the week #195" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Latest technology, maybe in the 80′s</h1> <p><a href="http://netdna.webdesignerdepot.com/uploads/2013/07/6.jpg" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/07/6.jpg" width="650" alt="Comics of the week #195" style="max-width: 100%; height: auto;"></a></p> <p><em><strong>Can you relate to these situations</strong><strong>? Please share your funny stories and comments below…</strong></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/inventicons-design-bundle.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Mega Design Bundle from Inventicons – only $49! </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="Comics of the week #195" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/08/comics-of-the-week-195/" 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%2F08%2Fcomics-of-the-week-195%2F&amp;t=Comics+of+the+week+%23195" 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%2F08%2Fcomics-of-the-week-195%2F&amp;t=Comics+of+the+week+%23195" 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%2F08%2Fcomics-of-the-week-195%2F&amp;t=Comics+of+the+week+%23195" 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%2F08%2Fcomics-of-the-week-195%2F&amp;t=Comics+of+the+week+%23195" 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%2F08%2Fcomics-of-the-week-195%2F&amp;t=Comics+of+the+week+%23195" 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/173607750421/u/49/f/661066/c/35285/s/2fc9b332/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607750421/u/49/f/661066/c/35285/s/2fc9b332/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Every week we feature a set of comics created exclusively for WDD.   The content revolves around web design, blogging and funny situations that we encounter in our daily lives as designers....</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2fc9b332/sc/4/l/0L0Swebdesignerdepot0N0C20A130C0A80Ccomics0Eof0Ethe0Eweek0E1950C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33899/guest@my.umbc.edu/fd5ac8b671cf0188ec0b1826049fd27a/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>cartoons</Tag>
<Tag>comics</Tag>
<Tag>comics-for-designers</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>funny</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>humor</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>jerry-king</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Sat, 10 Aug 2013 05:38:54 -0400</PostedAt>
<EditAt>Sat, 10 Aug 2013 05:38:54 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33898" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33898">
<Title>Absolute Horizontal And Vertical Centering In CSS</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>We’ve all seen <code>margin: 0 auto;</code> for horizontal centering, but <code>margin: auto;</code> has refused to work for vertical centering… <em>until now!</em> But actually (spoiler alert!) absolute centering <strong>only requires a declared (variable) height and these styles</strong>:</p>
    <pre><code>.Absolute-Center {&#x000A;      margin: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }</code></pre>
    
    <p>I’m not the pioneer of this method (yet I have dared to name it <em>Absolute Centering</em>), and it may even be a common technique, however, most vertical centering articles never mention it and I had never seen it until I dug through the comments section of a <a href="http://designshack.net/articles/css/how-to-center-anything-with-css" rel="nofollow external" class="bo">particular article</a>.</p>
    <p>There, <a href="http://designshack.net/articles/css/how-to-center-anything-with-css/#comment-684580538" rel="nofollow external" class="bo">Simon</a> linked to this <a href="http://jsfiddle.net/mBBJM/1/" rel="nofollow external" class="bo">jsFiddle</a> that blew every other method out of the water (the same method was also mentioned by <a href="http://designshack.net/articles/css/how-to-center-anything-with-css/#comment-684580409" rel="nofollow external" class="bo">Priit</a> in the comments). Researching further, I had to use very specific keywords to find <a href="http://www.vanseodesign.com/css/vertical-centering/" rel="nofollow external" class="bo">some</a> <a href="http://www.student.oulu.fi/~laurirai/www/css/middle/" rel="nofollow external" class="bo">other</a> <a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/" rel="nofollow external" class="bo">sources</a> for this method.</p>
    <p>Having never used this technique before, I put it to the test and discovered how incredible Absolute Centering really is.</p>
    <div>
    <h4>Advantages:</h4>
    <ul>
    <li>Cross-browser (including IE8-10 without hacks!)</li>
    <li>No special markup, minimal styles</li>
    <li>Responsive with percentages and min-/max-</li>
    <li>Centered regardless of padding (without <code>box-sizing</code>!)</li>
    <li>Works great on images</li>
    </ul>
    </div>
    <div>
    <h4>Caveats:</h4>
    <ul>
    <li>Height must be declared (see <a href="#Height" rel="nofollow external" class="bo">Variable Height</a>)</li>
    <li>Recommend setting <code>overflow: auto</code> to prevent content spillover (see <a href="#Overflow" rel="nofollow external" class="bo">Overflow</a>)</li>
    <li>Doesn’t work on Windows Phone</li>
    </ul>
    </div>
    <h4>Browser Compatibility:</h4>
    <p>Absolute Centering was tested and works flawlessly in the latest versions of Chrome, Firefox, Safari, Mobile Safari, and even IE8-10. One user reported that the content is not vertically centered in Windows Phone’s browser, but otherwise this technique works as expected.</p>
    <p><em>If you find any additional features or issues, please <a href="http://codepen.io/shshaw/details/gEiDt" rel="nofollow external" class="bo">leave a comment on CodePen</a>.</em></p>
    
     
    <h3>Within Container</h3>
    <p>Place your content block inside of a <code>position: relative</code> container to perfectly center your content within the container!</p>
    <pre><code>.Absolute-Center {&#x000A;      width: 50%;&#x000A;      height: 50%;&#x000A;      overflow: auto;&#x000A;      margin: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }</code></pre>
    
    <div>
    <div>
    <h1>Absolute Center,<br>Within Container.</h1>
    <p>This box is absolutely centered, horizontally and vertically, within its container using <br><code>position: relative</code></p>
    </div>
    </div>
     
     
    <h3>Within Viewport</h3>
    <p>Set your content block to <code>position: fixed</code> and give it a <code>z-index</code> to keep it centered in the viewport.</p>
    <ul>
    <li>
    <strong>Mobile Safari:</strong> The content block will be centered vertically in the whole document, not the viewport, if it is not within a <code>position: relative</code> container.</li>
    </ul>
    <pre><code>.Absolute-Center.is-Fixed {&#x000A;      width: 50%;&#x000A;      height: 50%;&#x000A;      overflow: auto;&#x000A;      margin: auto;&#x000A;      position: fixed;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;      z-index: 999;&#x000A;    }</code></pre>
    
    <p><a href="http://s.codepen.io/shshaw/fulldetails/gEiDt#Fixed" rel="nofollow external" class="bo">See the Modal Demo page.</a></p> 
     
    <h3>Responsive</h3>
    <p>Perhaps the best benefit of Absolute Centering is that percentage-based width/heights work perfectly! Even <code>min-width/max-width</code> and <code>min-height/max-height</code> styles behave as expected for responsive boxes.</p>
    <p>Go ahead, add padding to the element; Absolute Centering doesn’t mind!</p>
    <pre><code>&#x000A;    .Absolute-Center.is-Responsive {&#x000A;      width: 60%; &#x000A;      height: 60%;&#x000A;      min-width: 400px;&#x000A;      max-width: 500px;&#x000A;      padding: 40px;&#x000A;      overflow: auto;&#x000A;      margin: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }&#x000A;    </code></pre>
    
    <div>
    <div>
    <h1>Absolute Center,<br>Percentage Based.</h1>
    <p>This box is absolutely centered, horizontally and vertically, even with percentage based widths &amp; height, min-/max-, and padding!</p>
    </div>
    </div>
     
     
    <h3>Offsets</h3>
    <p>If you have a fixed header or need to add other offsets, simply add it in your content block's styles like <code>top: 70px;</code>. As long as <code>margin: auto;</code> is declared, the content block will be vertically centered within the bounds you declare with <code>top</code> <code>left</code> <code>bottom</code> and <code>right</code>. </p>
    <p>You can also stick your content block to the right or left while keeping it vertically centered, using <code>right: 0; left: auto;</code> to stick to the right or <code>left: 0; right: auto;</code> to stick to the left.</p>
    <pre><code>.Absolute-Center.is-Right {&#x000A;      width: 50%;&#x000A;      height: 50%;&#x000A;      margin: auto;&#x000A;      overflow: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: auto; bottom: 0; right: 20px;&#x000A;      text-align: right;&#x000A;    }</code></pre>
    
    <div>
    <div>
    <h1>Vertical Center,<br> Align Right.</h1>
    <p>This box is absolutely centered vertically within its container, but stuck to the right with <code>right: 0; left: auto;</code></p>
    </div>
    </div>
     
     
    <h3>Overflow</h3>
    <p>Content taller than the block or container (viewport or a <code>position: relative</code> container) will overflow and may spill outside the content block and container or even be cut off. Simply adding <code>overflow: auto</code> will allow the content to scroll within the block as long as the content block itself isn't taller than its container (perhaps by adding <code>max-height: 100%;</code> if you don't have any padding on the content block itself).</p>
    <pre><code>.Absolute-Center.is-Overflow {&#x000A;      width: 50%;&#x000A;      height: 300px;&#x000A;      max-height: 100%;&#x000A;      margin: auto;&#x000A;      overflow: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }</code></pre>
    
    <div>
    <div>
    <h1>Absolute Center,<br> With Overflow.</h1>
    <p>This box is absolutely centered within its container, with content set to overflow.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent bibendum, lorem vel tincidunt imperdiet, nibh elit laoreet felis, a bibendum nisl tortor non orci. Donec pretium fermentum felis, quis aliquet est rutrum ut. Integer quis massa ut lacus viverra pharetra in eu lacus. Aliquam tempus odio adipiscing diam pellentesque rhoncus. Curabitur a bibendum est. Mauris vehicula cursus risus id luctus. Curabitur accumsan venenatis nibh, non egestas ipsum vulputate ac. Vivamus consectetur dolor sit amet enim aliquet eu scelerisque ipsum hendrerit. Donec lobortis suscipit vestibulum. Nullam luctus pellentesque risus in ullamcorper. Nam neque nunc, mattis vitae ornare ut, feugiat a erat. Ut tempus iaculis augue vel pellentesque.</p>
    <p>Vestibulum nunc massa, gravida quis porta nec, feugiat id metus. Nunc ac arcu dolor, quis vestibulum leo. Cras viverra mollis ipsum, non rhoncus lectus aliquam et. Morbi faucibus purus sit amet lacus aliquet elementum. Donec sit amet posuere enim. Cras in eros id tortor fringilla ultricies. Mauris faucibus ullamcorper velit, pulvinar varius odio eleifend eu. Quisque id odio metus. Morbi adipiscing ultricies posuere. Pellentesque elementum porttitor eros in molestie. Maecenas ut leo quis nisi tempor tincidunt.</p>
    </div>
    </div>
     
     
    <h3>Images</h3>
    <p>Images work too! Apply the class/style to the image itself and set <code>height: auto;</code> like you would with a responsively-sized image to let it resize with the container.</p>
    <p>Note that <code>height: auto;</code> works for images, but causes a regular content block to stretch to fill the container unless you use the <a href="#Height" rel="nofollow external" class="bo">variable height technique</a>. It's likely that browsers have to calculate the height for the rendered image, so <code>margin: auto;</code> ends up working as if you'd declared the height, in all tested browsers.</p>
    <pre><code>.Absolute-Center.is-Image {&#x000A;      width: 50%;&#x000A;      height: auto;&#x000A;      margin: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }</code></pre>
    
    <div>
          <img alt="" src="http://placekitten.com/g/500/200" style="max-width: 100%; height: auto;">
        </div>
     
     
    <h3>Variable Height</h3>
    <p>Absolute Centering does require a declared height, however the height can be percentage-based and controlled by <code>max-height</code>. This makes it ideal for responsive scenarios, just make sure you set an appropriate <a href="#Overflow" rel="nofollow external" class="bo">overflow</a>.</p>
    <p>One way around the declared height is adding <code>display: table</code>, centering the content block regardless of content length.</p>
    <h4>Caveats:</h4>
    <p>This will break cross-browser compatibility. You may want to consider the <a href="#Table-Cell" rel="nofollow external" class="bo">Table-Cell</a> method in this case.</p>
    <ul>
    <li>
    <strong>Firefox/IE8:</strong> Using <code>display: table</code> aligns the content block to the top, but is still centered horizontally.</li>
    <li>
    <strong>IE9/10:</strong> Using <code>display: table</code> aligns the content block to the top left.</li>
    <li>
    <strong>Mobile Safari:</strong> The content block is centered vertically, but becomes slightly off-center horizontally when using percentage based widths.</li>
    </ul>
    <pre><code>&#x000A;    .Absolute-Center.is-Variable {&#x000A;      display: table;&#x000A;      width: 50%;&#x000A;      overflow: auto;&#x000A;      margin: auto;&#x000A;      position: absolute;&#x000A;      top: 0; left: 0; bottom: 0; right: 0;&#x000A;    }&#x000A;    </code></pre>
    
    <div>
    <div>
    <h1>Absolute Center,<br> Variable Height.</h1>
    <p>This box is absolutely centered vertically within its container, regardless of content height.</p>
    </div>
    </div>
     
     
    <h3>Other Techniques</h3>
    <p>Absolute Centering works really well for many cases, but there are other methods that may fit more specific needs. The most commonly recommended methods are <a href="#Negative-Margins" rel="nofollow external" class="bo">Negative Margins</a>, <a href="#Transforms" rel="nofollow external" class="bo">Transforms</a>, <a href="#Table-Cell" rel="nofollow external" class="bo">Table-Cell</a>, and now <a href="#Flexbox" rel="nofollow external" class="bo">Flexbox</a>. These techniques are covered more in depth in other articles, so I'll only go over the basics here.</p>
    <div>
    <h4>Negative Margins</h4>
    <p>Perhaps the most common technique. If exact dimensions are known, setting a negative margin equal to half the width/height (plus padding, if not using <code>box-sizing: border-box</code>) along with <code>top: 50%; left: 50%;</code> will center the block within a container.</p>
    <pre><code>.is-Negative {&#x000A;            width: 300px;&#x000A;            height: 200px;&#x000A;            padding: 20px;&#x000A;            position: absolute;&#x000A;            top: 50%; left: 50%;&#x000A;            margin-left: -170px; /* (width + padding)/2 */&#x000A;            margin-top: -120px; /* (height + padding)/2 */&#x000A;    }&#x000A;          </code></pre>
    <p><strong>Advantages:</strong></p>
    <ul>
    <li>Works well cross-browser</li>
    <li>Requires minimal code</li>
    </ul>
    <p>	    	<strong>Caveats:</strong> </p>
    <ul>
    <li>Not responsive. Doesn't work for percentage based dimensions and can't set min-/max-</li>
    <li>Content can overflow the container</li>
    <li>Have to compensate for <code>padding</code> or use <code>box-sizing: border-box</code>
    </li>
    </ul>
    <div>
    <div>
    <h1>Absolute Center,<br> Negative Margins.</h1>
    <p>This box is absolutely centered vertically within its container using negative margins.</p>
    </div>
    </div>
    </div>
    <div>
    <h4>Transforms</h4>
    <p>One of the simplest techniques with about the same benefits as Absolute Centering, but supports variable height. Give the content block <code>transform: translate(-50%,-50%)</code> with the required vendor prefixes along with <code>top: 50%; left: 50%;</code> to get it centered.</p>
    <pre><code>.is-Transformed { &#x000A;    	width: 50%;&#x000A;    	margin: auto;&#x000A;    	position: absolute;&#x000A;    	top: 50%; left: 50%;&#x000A;    	-webkit-transform: translate(-50%,-50%);&#x000A;        -ms-transform: translate(-50%,-50%);&#x000A;            transform: translate(-50%,-50%);&#x000A;    }&#x000A;          </code></pre>
    <p>      	<strong>Advantages:</strong></p>
    <ul>
    <li>Variable height content</li>
    <li>Requires minimal code</li>
    </ul>
    <p>      	<strong>Caveats:</strong> </p>
    <ul>
    <li>Won't work in IE8</li>
    <li>Need vendor prefixes</li>
    <li>Can interfere with other <code>transform</code> effects</li>
    <li>Results in blurry rendering of edges and text in some cases</li>
    </ul>
    <p>      <strong>Futher Resources</strong></p>
    <p>Read more about Transform Centering in Chris Coyier's article <a href="http://css-tricks.com/centering-percentage-widthheight-elements/" rel="nofollow external" class="bo">"Centering Percentage Width/Height Elements"</a> on <em>CSS-Tricks</em>.</p>
    <div>
    <div>
    <h1>Absolute Center,<br> Translate(-50%,-50%).</h1>
    <p>This box is absolutely centered vertically within its container using <code>translate(-50%,-50%)</code>.</p>
    </div>
    </div>
    </div>
    <div>
    <h4>Table-Cell</h4>
    <p>This may be the best technique overall, simply because the height can vary with the content and browser support is great. The main disadvantage is the extra markup, requiring a total of three elements to get the final one centered.</p>
    <p>      Markup:</p>
    <pre><code>&#x000A;    &lt;div class="Pos-Container is-Table"&gt;&#x000A;      &lt;div class="Table-Cell"&gt;&#x000A;        &lt;div class="Center-Block"&gt;&#x000A;        &amp;lt!-- CONTENT --&gt;&#x000A;        &lt;/div&gt;&#x000A;      &lt;/div&gt;&#x000A;    &lt;/div&gt;&#x000A;          </code></pre>
    <p>      Styles:</p>
    <pre><code>.Pos-Container.is-Table { display: table; }&#x000A;    .is-Table .Table-Cell {&#x000A;      display: table-cell;&#x000A;      vertical-align: middle;&#x000A;    }&#x000A;    .is-Table .Center-Block {&#x000A;      width: 50%;&#x000A;      margin: 0 auto;&#x000A;    }&#x000A;          </code></pre>
    <p>      	<strong>Advantages:</strong></p>
    <ul>
    <li>Variable height content</li>
    <li>Content overflows appropriately</li>
    <li>Works well cross-browser</li>
    </ul>
    <p>      	<strong>Caveats:</strong></p>
    <ul>
    <li>Requires extra markup</li>
    </ul>
    <p>      <strong>Futher Resources</strong></p>
    <p>Read more about Table-Cell Centering in Roger Johansson's article <a href="http://www.456bereastreet.com/archive/201103/flexible_height_vertical_centering_with_css_beyond_ie7/" rel="nofollow external" class="bo">"Flexible height vertical centering with CSS, beyond IE7"</a> on <em>456bereastreet</em>.</p>
    <div>
    <div>
    <div>
    <h1>Absolute Center,<br> Table/Table-Cell.</h1>
    <p>This box is absolutely centered vertically within its <code>display: table-cell</code> parent, which is within a <code>display: table</code> container.</p>
    </div>
    </div>
    </div>
    </div>
    <div>
    <h4>Flexbox</h4>
    <p>The future of layout in CSS, Flexbox is the latest CSS spec designed to solve common layout problems such as vertical centering. Smashing Magazine already has an article on <a href="http://coding.smashingmagazine.com/2013/05/22/centering-elements-with-flexbox/" rel="nofollow external" class="bo">Centering Elements with Flexbox</a> that you should read for a more complete overview. Keep in mind that Flexbox is more than just a way to center, it can be used for columns and all sorts of crazy layout problems.</p>
    <pre><code>.Pos-Container.is-Flexbox {&#x000A;      display: -webkit-box;&#x000A;      display: -moz-box;&#x000A;      display: -ms-flexbox;&#x000A;      display: -webkit-flex;&#x000A;      display: flex;&#x000A;      -webkit-box-align: center;&#x000A;         -moz-box-align: center;&#x000A;         -ms-flex-align: center;&#x000A;      -webkit-align-items: center;&#x000A;              align-items: center;&#x000A;      -webkit-box-pack: center;&#x000A;         -moz-box-pack: center;&#x000A;         -ms-flex-pack: center;&#x000A;      -webkit-justify-content: center;&#x000A;              justify-content: center;&#x000A;    }&#x000A;          </code></pre>
    <p>      	<strong>Advantages:</strong></p>
    <ul>
    <li>Content can be any width or height, even overflows gracefully</li>
    <li>Can be used for more advanced layout techniques.</li>
    </ul>
    <p>    		<strong>Caveats:</strong> </p>
    <ul>
    <li>No IE8-9 support</li>
    <li>Requires a container or styles on the body</li>
    <li>Requires <a href="http://css-tricks.com/using-flexbox/" rel="nofollow external" class="bo">many vendor prefixes with different syntaxes</a> to work on modern browsers</li>
    <li>Possible <a href="http://css-tricks.com/does-flexbox-have-a-performance-problem/" rel="nofollow external" class="bo">performance issues</a>
    </li>
    </ul>
    <p>      <strong>Futher Resources</strong></p>
    <p>Read more about Flexbox Centering in David Storey's article <a href="http://coding.smashingmagazine.com/2013/05/22/centering-elements-with-flexbox/" rel="nofollow external" class="bo">"Designing CSS Layouts With Flexbox Is As Easy As Pie"</a> on <em>Smashing Magazine</em>.</p>
    <div>
    <div>
    <h1>Absolute Center,<br> Flexbox.</h1>
    <p>This Flexbox box is absolutely centered vertically within its container.</p>
    </div>
    </div>
    </div>
    <h3>Summary</h3>
    <p>Each technique has its advantages and disadvantages. Which one you choose mainly boils down to which browsers you support and what your existing structure looks like.</p>
    <p><strong>Absolute Centering</strong> works great as a simple drop-in solution with no-fuss. Anywhere you used <a href="#Negative-Margins" rel="nofollow external" class="bo">Negative Margins</a> before, use <strong>Absolute Centering</strong> instead. You won't have to deal with pesky math for the margins or extra markup, and you'll be able to size your boxes responsively.</p>
    <p>If you need variable height content cross-browser, try out the <a href="#Table-Cell" rel="nofollow external" class="bo">Table-Cell</a> or <a href="#Flexbox" rel="nofollow external" class="bo">Flexbox</a> techniques to see what works best for your site.</p>
    <p><em>(vf)</em></p>
     
    
    <hr>
    <p><small>© Stephen Shaw for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        We’ve all seen margin: 0 auto; for horizontal centering, but margin: auto; has refused to work for vertical centering… until now! But actually (spoiler alert!) absolute centering only...</Summary>
<Website>http://www.smashingmagazine.com/2013/08/10/absolute-horizontal-vertical-centering-css/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33898/guest@my.umbc.edu/ea9b39f3b047cadf4b3713215bd67c64/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>Sat, 10 Aug 2013 03:21:36 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33900" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33900">
<Title>Bits Blog: Sheryl Sandberg Sells $91 Million of Facebook Stock</Title>
<Body>
<![CDATA[
    <div class="html-content">The No. 2 executive at the social network made her largest stock sale since the company’s initial public offering, although she still holds shares worth more than $1 billion.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fsheryl-sandberg-sells-91-million-of-facebook-stock%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Sheryl+Sandberg+Sells+%2491+Million+of+Facebook+Stock" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fsheryl-sandberg-sells-91-million-of-facebook-stock%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Sheryl+Sandberg+Sells+%2491+Million+of+Facebook+Stock" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fsheryl-sandberg-sells-91-million-of-facebook-stock%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Sheryl+Sandberg+Sells+%2491+Million+of+Facebook+Stock" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fsheryl-sandberg-sells-91-million-of-facebook-stock%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Sheryl+Sandberg+Sells+%2491+Million+of+Facebook+Stock" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fsheryl-sandberg-sells-91-million-of-facebook-stock%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Sheryl+Sandberg+Sells+%2491+Million+of+Facebook+Stock" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>The No. 2 executive at the social network made her largest stock sale since the company’s initial public offering, although she still holds shares worth more than $1 billion.      </Summary>
<Website>http://bits.blogs.nytimes.com/2013/08/09/sheryl-sandberg-sells-91-million-of-facebook-stock/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33900/guest@my.umbc.edu/02b306d48f87fb6e8b4699114edea44d/api/pixel</TrackingUrl>
<Tag>facebook-inc</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>new</Tag>
<Tag>sandberg-sheryl-k</Tag>
<Tag>social</Tag>
<Tag>stocks-and-bonds</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>Sat, 10 Aug 2013 02:52:12 -0400</PostedAt>
<EditAt>Mon, 12 Aug 2013 07:50:53 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33901" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33901">
<Title>Booker&#8217;s Web Company, Struggling, Sought Buyer as Senate Drive Began</Title>
<Body>
<![CDATA[
    <div class="html-content">Mayor Cory A. Booker’s Internet start-up stalled, and it feared that his election to the Senate this fall would deprive it of its main asset: him.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Fnyregion%2Fbookers-web-company-struggling-sought-buyer-as-senate-drive-began.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Booker%E2%80%99s+Web+Company%2C+Struggling%2C+Sought+Buyer+as+Senate+Drive+Began" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Fnyregion%2Fbookers-web-company-struggling-sought-buyer-as-senate-drive-began.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Booker%E2%80%99s+Web+Company%2C+Struggling%2C+Sought+Buyer+as+Senate+Drive+Began" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Fnyregion%2Fbookers-web-company-struggling-sought-buyer-as-senate-drive-began.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Booker%E2%80%99s+Web+Company%2C+Struggling%2C+Sought+Buyer+as+Senate+Drive+Began" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Fnyregion%2Fbookers-web-company-struggling-sought-buyer-as-senate-drive-began.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Booker%E2%80%99s+Web+Company%2C+Struggling%2C+Sought+Buyer+as+Senate+Drive+Began" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Fnyregion%2Fbookers-web-company-struggling-sought-buyer-as-senate-drive-began.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Booker%E2%80%99s+Web+Company%2C+Struggling%2C+Sought+Buyer+as+Senate+Drive+Began" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>Mayor Cory A. Booker’s Internet start-up stalled, and it feared that his election to the Senate this fall would deprive it of its main asset: him.      </Summary>
<Website>http://www.nytimes.com/2013/08/10/nyregion/bookers-web-company-struggling-sought-buyer-as-senate-drive-began.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33901/guest@my.umbc.edu/f7efb009b8db7c8a19a53bfba2df5d84/api/pixel</TrackingUrl>
<Tag>booker-cory-a</Tag>
<Tag>elections-senate</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>linkedin-corporation-lnkd-nyse</Tag>
<Tag>new</Tag>
<Tag>new-jersey</Tag>
<Tag>start-ups</Tag>
<Tag>technology</Tag>
<Tag>waywire</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 09 Aug 2013 21:01:53 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33897" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33897">
<Title>Judge Considers Limits on Apple&#8217;s Future E-Book Deals</Title>
<Body>
<![CDATA[
    <div class="html-content">A proposal that would force Apple to negotiate with publishers one at a time is an attempt to prevent the company and big publishers from collusion.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Ftechnology%2Fjudge-considers-limits-on-apples-future-e-book-deals.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Judge+Considers+Limits+on+Apple%E2%80%99s+Future+E-Book+Deals" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Ftechnology%2Fjudge-considers-limits-on-apples-future-e-book-deals.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Judge+Considers+Limits+on+Apple%E2%80%99s+Future+E-Book+Deals" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Ftechnology%2Fjudge-considers-limits-on-apples-future-e-book-deals.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Judge+Considers+Limits+on+Apple%E2%80%99s+Future+E-Book+Deals" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Ftechnology%2Fjudge-considers-limits-on-apples-future-e-book-deals.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Judge+Considers+Limits+on+Apple%E2%80%99s+Future+E-Book+Deals" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F10%2Ftechnology%2Fjudge-considers-limits-on-apples-future-e-book-deals.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Judge+Considers+Limits+on+Apple%E2%80%99s+Future+E-Book+Deals" 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/173607665817/u/0/f/640387/c/34625/s/2fc7306c/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607665817/u/0/f/640387/c/34625/s/2fc7306c/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>A proposal that would force Apple to negotiate with publishers one at a time is an attempt to prevent the company and big publishers from collusion.      </Summary>
<Website>http://www.nytimes.com/2013/08/10/technology/judge-considers-limits-on-apples-future-e-book-deals.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33897/guest@my.umbc.edu/b33411305a329d927571be943e9bb300/api/pixel</TrackingUrl>
<Tag>antitrust-laws-and-competition-issues</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>cote-denise</Tag>
<Tag>e-books-and-readers</Tag>
<Tag>hachette-book-group</Tag>
<Tag>harpercollins-publishers</Tag>
<Tag>justice-department</Tag>
<Tag>new</Tag>
<Tag>penguin-group</Tag>
<Tag>random-house</Tag>
<Tag>simon-and-schuster-inc</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>Fri, 09 Aug 2013 20:27:57 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33902" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33902">
<Title>Seeking to Be Both N.F.L. and ESPN of Video Gaming</Title>
<Body>
<![CDATA[
    <div class="html-content">Fueled by venture capital and the vision of its New York City founders, Major League Gaming has taken video games to the level of big-time sports.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F11%2Fnyregion%2Fseeking-to-be-both-nfl-and-espn-of-video-gaming.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeking+to+Be+Both+N.F.L.+and+ESPN+of+Video+Gaming" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F11%2Fnyregion%2Fseeking-to-be-both-nfl-and-espn-of-video-gaming.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeking+to+Be+Both+N.F.L.+and+ESPN+of+Video+Gaming" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F11%2Fnyregion%2Fseeking-to-be-both-nfl-and-espn-of-video-gaming.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeking+to+Be+Both+N.F.L.+and+ESPN+of+Video+Gaming" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F11%2Fnyregion%2Fseeking-to-be-both-nfl-and-espn-of-video-gaming.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeking+to+Be+Both+N.F.L.+and+ESPN+of+Video+Gaming" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F11%2Fnyregion%2Fseeking-to-be-both-nfl-and-espn-of-video-gaming.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeking+to+Be+Both+N.F.L.+and+ESPN+of+Video+Gaming" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>Fueled by venture capital and the vision of its New York City founders, Major League Gaming has taken video games to the level of big-time sports.      </Summary>
<Website>http://www.nytimes.com/2013/08/11/nyregion/seeking-to-be-both-nfl-and-espn-of-video-gaming.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33902/guest@my.umbc.edu/f6428db7ef054c09b219c133c9d7abe3/api/pixel</TrackingUrl>
<Tag>athletics-and-sports</Tag>
<Tag>computer-and-video-games</Tag>
<Tag>intel-corporation-intc-nasdaq</Tag>
<Tag>major-league-gaming</Tag>
<Tag>manhattan-nyc</Tag>
<Tag>new</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>Fri, 09 Aug 2013 19:38:04 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33896" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33896">
<Title>Bits Blog: Trade Commission Orders Ban on Some Samsung Products</Title>
<Body>
<![CDATA[
    <div class="html-content">The International Trade Commission upheld a preliminary finding that Samsung’s mobile products had violated two Apple patents. The decision, unless vetoed by President Obama, will result in an import ban on some devices.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Ftrade-commission-orders-ban-on-some-samsung-products%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Trade+Commission+Orders+Ban+on+Some+Samsung+Products" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Ftrade-commission-orders-ban-on-some-samsung-products%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Trade+Commission+Orders+Ban+on+Some+Samsung+Products" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Ftrade-commission-orders-ban-on-some-samsung-products%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Trade+Commission+Orders+Ban+on+Some+Samsung+Products" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Ftrade-commission-orders-ban-on-some-samsung-products%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Trade+Commission+Orders+Ban+on+Some+Samsung+Products" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Ftrade-commission-orders-ban-on-some-samsung-products%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Trade+Commission+Orders+Ban+on+Some+Samsung+Products" 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/173607735549/u/0/f/640387/c/34625/s/2fc6baa1/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607735549/u/0/f/640387/c/34625/s/2fc6baa1/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The International Trade Commission upheld a preliminary finding that Samsung’s mobile products had violated two Apple patents. The decision, unless vetoed by President Obama, will result in an...</Summary>
<Website>http://bits.blogs.nytimes.com/2013/08/09/trade-commission-orders-ban-on-some-samsung-products/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33896/guest@my.umbc.edu/0e4efd793349752f8d9ea458ea81f25a/api/pixel</TrackingUrl>
<Tag>apple-inc</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>international-trade-and-world-market</Tag>
<Tag>new</Tag>
<Tag>obama-barack</Tag>
<Tag>samsung-electronics-co</Tag>
<Tag>samsung-group</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>Fri, 09 Aug 2013 17:38:44 -0400</PostedAt>
<EditAt>Fri, 09 Aug 2013 23:08:25 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33895" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33895">
<Title>Bits Blog: A Lesson Learned About the Intensity of Camera Enthusiasts</Title>
<Body>
<![CDATA[
    <div class="html-content">While the tech community can become passionate about the companies they admire, the photography community can take things to an entirely different level.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fthe-camera-community-defends-their-cameras%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+A+Lesson+Learned+About+the+Intensity+of+Camera+Enthusiasts" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fthe-camera-community-defends-their-cameras%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+A+Lesson+Learned+About+the+Intensity+of+Camera+Enthusiasts" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fthe-camera-community-defends-their-cameras%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+A+Lesson+Learned+About+the+Intensity+of+Camera+Enthusiasts" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fthe-camera-community-defends-their-cameras%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+A+Lesson+Learned+About+the+Intensity+of+Camera+Enthusiasts" 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%2Fbits.blogs.nytimes.com%2F2013%2F08%2F09%2Fthe-camera-community-defends-their-cameras%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+A+Lesson+Learned+About+the+Intensity+of+Camera+Enthusiasts" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>While the tech community can become passionate about the companies they admire, the photography community can take things to an entirely different level.      </Summary>
<Website>http://bits.blogs.nytimes.com/2013/08/09/the-camera-community-defends-their-cameras/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33895/guest@my.umbc.edu/8c7c0fee19134748959670176d4eedb4/api/pixel</TrackingUrl>
<Tag>cameras</Tag>
<Tag>canon-usa-inc</Tag>
<Tag>devices</Tag>
<Tag>leica-camera-ag</Tag>
<Tag>new</Tag>
<Tag>nikon-corp</Tag>
<Tag>nikon-corp-ninoy-other-otc</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>Fri, 09 Aug 2013 15:59:10 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="33894" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33894">
<Title>Recommended From Around the Web (Week Ending August 9, 2013)</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A roundup of the most interesting stories from other sites, collected by the staff at <em>MIT Technology Review</em>.</p>
    <p><a href="http://www.nytimes.com/2013/08/07/nyregion/tech-magnates-bet-on-booker-in-web-venture.html" rel="nofollow external" class="bo">Tech Magnates Bet on Booker and His Future</a><br>All industries try to cozy up to rising political stars; this story illuminates the particular way that Silicon Valley does it.</p>
    </div>
]]>
</Body>
<Summary>A roundup of the most interesting stories from other sites, collected by the staff at MIT Technology Review.  Tech Magnates Bet on Booker and His Future All industries try to cozy up to rising...</Summary>
<Website>http://www.technologyreview.com/view/518021/recommended-from-around-the-web-week-ending-august-9-2013/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33894/guest@my.umbc.edu/080ce00287b815da94818ea4816efd28/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 09 Aug 2013 15:15:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33891" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33891">
<Title>Real-World Off-Line Data Storage</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=34063&amp;c=1872544918" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=34063&amp;c=1872544918" alt="" style="max-width: 100%; height: auto;"></a><p>In many projects there comes a time when you’ll need to store some data off-line. It may be a requirement or just an improvement for your users, but you have to decide which of the available storage options you will use in your application. This article will help you choose the best one, for your app.</p>
    <p></p>
    <hr>
    <h2>Introduction</h2>
    <p>HTML5 introduced a few off-line storage options. AppCache, localStorage, sessionStorage and IndexedDB. Every one of them is suitable for a specific use. For example, AppCache can boost your application or let some parts of it work without an Internet connection. Below, I will describe all of these options and show a few code snippets with example usage.</p>
    <hr>
    <h2>AppCache</h2>
    <p>If a part of your application (or the whole app) can be used without access to the server, you can use AppCache to enable your users to do some things off-line. All you need to do is to create a manifest file where you would specify what should be cached and what shouldn’t be. You can also specify replacements for the files that require on-line access.</p>
    <p>An AppCache manifest is just a text file with a <code>.appcache</code> (recommended) extension. It starts with <code>CACHE MANIFEST</code> and is divided in to three parts:</p>
    <ul>
    <li>
    <strong>CACHE</strong> – files you specify here will be downloaded and cached the first time the user accesses your site</li>
    <li>
    <strong>NETWORK</strong> – here you list the files that require an Internet connection to work properly, they will never be cached</li>
    <li>
    <strong>FALLBACK</strong> – these files will be used when an on-line resource is accessed without a connection</li>
    </ul>
    <h3>Example</h3>
    <p>First, you have to define the manifest file on your page:</p>
    <pre>&lt;!DOCTYPE html&gt;&#x000A;    &lt;html manifest="manifest.appcache"&gt;&#x000A;    ...&#x000A;    &lt;/html&gt;&#x000A;    </pre>
    <p>You need to remember that the manifest file must be served with a <code>text/cache-manifest</code> MIME-type, otherwise it will not be parsed by the browser. Next, you need to create the file you defined earlier. For the purpose of this example, let’s imagine that you have an informational website with the ability to contact you and write comments. You can let users access the static parts of the site and replace the contact form and comments with other information so that the form and comments are inaccessible while off-line.</p>
    <p>First, let’s define some static content:</p>
    <pre>CACHE MANIFEST&#x000A;    &#x000A;    CACHE:&#x000A;    /about.html&#x000A;    /portfolio.html&#x000A;    /portfolio_gallery/image_1.jpg&#x000A;    /portfolio_gallery/image_2.jpg&#x000A;    /info.html&#x000A;    /style.css&#x000A;    /main.js&#x000A;    /jquery.min.js&#x000A;    </pre>
    <blockquote><p> Side Note: one bad thing about the manifest is that you can’t use a wildcard sign to indicate that, for example, a whole folder should be cached, you can only use a wildcard under the NETWORK section to indicate that all resources not listed in the manifest should not be cached.</p></blockquote>
    <p>You don’t need to cache the page on which the manifest is defined, it will be cached automatically. Now we will define fallbacks for the contact and comments sections:</p>
    <pre>FALLBACK:&#x000A;    /contact.html /offline.html&#x000A;    /comments.html /offline.html&#x000A;    </pre>
    <p>Finally, we can use an <code>*</code> to stop all other resources from being cached:</p>
    <pre>NETWORK:&#x000A;    *&#x000A;    </pre>
    <p>The final result should look like this:</p>
    <pre>CACHE MANIFEST&#x000A;    &#x000A;    CACHE:&#x000A;    /about.html&#x000A;    /portfolio.html&#x000A;    /portfolio_gallery/image_1.jpg&#x000A;    /portfolio_gallery/image_2.jpg&#x000A;    /info.html&#x000A;    /style.css&#x000A;    /main.js&#x000A;    /jquery.min.js&#x000A;    &#x000A;    FALLBACK:&#x000A;    /contact.html /offline.html&#x000A;    /comments.html /offline.html&#x000A;    &#x000A;    NETWORK:&#x000A;    *&#x000A;    </pre>
    <p>An important thing to remember is that your resources will only be cached once. They will not get cached when you update them, only when you change the manifest. A good practice is to enter in a comment with a version number and increase it every time you update the file:</p>
    <pre>CACHE MANIFEST&#x000A;    &#x000A;    # version 1&#x000A;    &#x000A;    CACHE:&#x000A;    ...&#x000A;    </pre>
    <hr>
    <h2>LocalStorage &amp; SessionStorage</h2>
    <p>These two storage options will be useful if you want to preserve something in your JavaScript code. The first one lets you save a value without an expiration date. This value will be accessible for any page with the same domain and protocol. For example, you may want to save the user’s application settings on his/her computer so he/she can adjust them to the computer they currently use. The second one will hold the values until the user closes the browser window (or tab). Also, the data is not shared between windows, even if the user opens a few pages of your application.</p>
    <blockquote><p> Something worth remembering is that you can store only basic types in <code>localStorage</code>/<code>sessionStorage</code>. So only strings and numbers will work. Everything else will be stored using it’s <code>toString()</code> method. If you need to save an object, you should do it using <code>JSON.stringify</code> (if this object is a class, you can just override the default <code>toString()</code> method to do it for you automatically).</p></blockquote>
    <h3>Example</h3>
    <p>Let’s consider the previous example. In the comments and contact sections of the site, we can save what the user typed in, so if he/she accidentally closes the window, the values will still be there for him/her to continue later on. This will be a really simple piece of code using jQuery (since we will be using a field’s id to identify it later, each of the form fields will need to have an id attribute)</p>
    <pre>$('#comments-input, .contact-field').on('keyup', function () {&#x000A;    	// let's check if localStorage is supported&#x000A;    	if (window.localStorage) {&#x000A;    		localStorage.setItem($(this).attr('id'), $(this).val());&#x000A;    	}&#x000A;    });&#x000A;    </pre>
    <p>When the comment/contact form is sent, we have to clear the value. Let’s do this by handling a submit event (here’s the most basic example):</p>
    <pre>$('#comments-form, #contact-form').on('submit', function () {&#x000A;    	// get all of the fields we saved&#x000A;    	$('#comments-input, .contact-field').each(function () {&#x000A;    		// get field's id and remove it from local storage&#x000A;    		localStorage.removeItem($(this).attr('id'));&#x000A;    	});&#x000A;    });&#x000A;    </pre>
    <p>And finally, on page load, we will restore the values:</p>
    <pre>// get all of the fields we saved&#x000A;    $('#comments-input, .contact-field').each(function () {&#x000A;    	// get field's id and get it's value from local storage&#x000A;    	var val = localStorage.getItem($(this).attr('id'));&#x000A;    	// if the value exists, set it&#x000A;    	if (val) {&#x000A;    		$(this).val(val);&#x000A;    	}&#x000A;    });&#x000A;    </pre>
    <hr>
    <h2>IndexedDB</h2>
    <p>This is the most interesting storage option in my opinion. It allows you to store rather large amounts of indexed data into the user’s browser. This way, you can save complex objects, large documents, etc. and have your user access them without an Internet connection. This feature is useful for all kinds of applications – if you are making an email client, you can save the user’s emails so he/she can access them later, a photo album could save photos for off-line use, or GPS navigation can save a particular route and the list goes on.</p>
    <p>IndexedDB is an object-oriented database. This means that there are no tables and no SQL. You store key-value pairs of data, where keys are strings, numbers, dates or arrays and values can be complex objects. The database itself is composed from stores. A store is similar to a table in a relational database. Each value must have it’s own key. A key can be generated automatically, you can specify it when you add the value, or it can be some field in the value (which can also be generated automatically). If you decide to use a field as a key, you will only be able to add JavaScript objects to the store (because simple numbers or strings can’t have any properties like objects can).</p>
    <h3>Example</h3>
    <p>For this example, let’s imagine that we have a music album. Now, I’m not going to cover building the entire music album app here. I will only be covering the IndexedDB part of the app, but the music album app itself is included with this article for you to download, so you can look at the complete source code there. First, we have to open the database and create the store:</p>
    <pre>// check if the indexedDB is supported&#x000A;    if (!window.indexedDB) {&#x000A;    	throw 'IndexedDB is not supported!'; // of course replace that with some user-friendly notification&#x000A;    }&#x000A;    &#x000A;    // variable which will hold the database connection&#x000A;    var db;&#x000A;    &#x000A;    // open the database&#x000A;    // first argument is database's name, second is it's version (I will talk about versions in a while)&#x000A;    var request = indexedDB.open('album', 1);&#x000A;    &#x000A;    request.onerror = function (e) {&#x000A;    	console.log(e);&#x000A;    };&#x000A;    &#x000A;    // this will fire when the version of the database changes&#x000A;    request.onupgradeneeded = function (e) {&#x000A;    	// e.target.result holds the connection to database&#x000A;    	db = e.target.result;&#x000A;    	&#x000A;    	// create a store to hold the data&#x000A;    	// first argument is the store's name, second is for options&#x000A;    	// here we specify the field that will serve as the key and also enable the automatic generation of keys with autoIncrement&#x000A;    	var objectStore = db.createObjectStore('cds', { keyPath: 'id', autoIncrement: true });&#x000A;    	&#x000A;    	// create an index to search cds by title&#x000A;    	// first argument is the index's name, second is the field in the value&#x000A;    	// in the last argument we specify other options, here we only state that the index is unique, because there can be only one album with specific title&#x000A;    	objectStore.createIndex('title', 'title', { unique: true });&#x000A;    	&#x000A;    	// create an index to search cds by band&#x000A;    	// this one is not unique, since one band can have several albums&#x000A;    	objectStore.createIndex('band', 'band', { unique: false });&#x000A;    };&#x000A;    &#x000A;    </pre>
    <p>The above code is pretty simple. You probably noticed the version and the <code>onupgradeneeded</code> event. This event is fired when the database is opened with a new version. Since the database didn’t exist yet, the event fires and we can create the store we need. Later we add two indexes, one to search by title and one to search by band. Now let’s see the process of adding and removing albums:</p>
    <pre>// adding&#x000A;    $('#add-album').on('click', function () {&#x000A;    	// create the transaction&#x000A;    	// first argument is a list of stores that will be used, second specifies the flag&#x000A;    	// since we want to add something we need write access, so we use readwrite flag&#x000A;    	var transaction = db.transaction([ 'cds' ], 'readwrite');&#x000A;    	transaction.onerror = function (e) {&#x000A;    		console.log(e);&#x000A;    	};&#x000A;    	var value = { ... }; // read from DOM&#x000A;    	// add the album to the store&#x000A;    	var request = transaction.objectStore('cds').add(value);&#x000A;    	request.onsuccess = function (e) {&#x000A;    		// add the album to the UI, e.target.result is a key of the item that was added&#x000A;    	};&#x000A;    });&#x000A;    &#x000A;    // removing&#x000A;    $('.remove-album').on('click', function () {&#x000A;    	var transaction = db.transaction([ 'cds' ], 'readwrite');&#x000A;    	var request = transaction.objectStore('cds').delete(/* some id got from DOM, converted to integer */);&#x000A;    	request.onsuccess = function () {&#x000A;    		// remove the album from UI&#x000A;    	}&#x000A;    });&#x000A;    </pre>
    <p>Pretty straightforward. You need to remember that all operations on the database are based on transactions to preserve consistency of data. Now the only thing left to do is to display the albums:</p>
    <pre>request.onsuccess = function (e) {&#x000A;    	if (!db) db = e.target.result;&#x000A;    	&#x000A;    	var transaction = db.transaction([ 'cds' ]); // no flag since we are only reading&#x000A;    	var store = transaction.objectStore('cds');&#x000A;    	// open a cursor, which will get all the items from database&#x000A;    	store.openCursor().onsuccess = function (e) {&#x000A;    		var cursor = e.target.result;&#x000A;    		if (cursor) {&#x000A;    			var value = cursor.value;&#x000A;    			$('#albums-list tbody').append('&lt;tr&gt;&lt;td&gt;'+ value.title +'&lt;/td&gt;&lt;td&gt;'+ value.band +'&lt;/td&gt;&lt;td&gt;'+ value.genre +'&lt;/td&gt;&lt;td&gt;'+ value.year +'&lt;/td&gt;&lt;/tr&gt;');&#x000A;    &#x000A;    			// move to the next item in the cursor&#x000A;    			cursor.continue();&#x000A;    		}&#x000A;    	};&#x000A;    }&#x000A;    </pre>
    <p>This is also not very complicated. As you can see, using IndexedDB you can store complex values really easily. You can also search for values by index, like this:</p>
    <pre>function getAlbumByBand(band) {&#x000A;    	var transaction = db.transaction([ 'cds' ]);&#x000A;    	var store = transaction.objectStore('cds');&#x000A;    	var index = store.index('band');&#x000A;    	// open a cursor to get only albums with specified band&#x000A;    	// notice the argument passed to openCursor()&#x000A;    	index.openCursor(IDBKeyRange.only(band)).onsuccess = function (e) {&#x000A;    		var cursor = e.target.result;&#x000A;    		if (cursor) {&#x000A;    			// render the album&#x000A;    			// move to the next item in the cursor&#x000A;    			cursor.continue();&#x000A;    		}&#x000A;    	});&#x000A;    }&#x000A;    </pre>
    <p>You can use the cursor with the index just like how we did with the store. Since there may be a few entries with the same index value (if it’s not unique) we need to use <code>IDBKeyRange</code>. This will filter the results depending on what function you use. Here, we want to only get items by the provided band, so we used the <code>only()</code> method. You can also use <code>lowerBound()</code>, <code>upperBound()</code> and <code>bound</code>. The method names are pretty self explanatory.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>So enabling off-line access for your users is not as complicated as it may seem. I hope that after reading this article you will make your applications more user-friendly by allowing them to access some parts (or maybe even all) of it without an Internet connection. You can download the sample app and experiment with it, adding more options or including some parts of it into your website.</p>
    </div>
]]>
</Body>
<Summary>In many projects there comes a time when you’ll need to store some data off-line. It may be a requirement or just an improvement for your users, but you have to decide which of the available...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/27vbNETyKHc/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33891/guest@my.umbc.edu/6e2997d744da5314524599ae48660095/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html-and-css</Tag>
<Tag>javascript</Tag>
<Tag>javascript-and-ajax</Tag>
<Tag>mysql</Tag>
<Tag>offline-data-storage</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tutorials</Tag>
<Tag>wed</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 09 Aug 2013 14:54:58 -0400</PostedAt>
<EditAt>Fri, 09 Aug 2013 14:54:58 -0400</EditAt>
</NewsItem>

</News>
