<?xml version="1.0"?>
<News hasArchived="true" page="8655" pageCount="10721" pageSize="10" timestamp="Fri, 10 Jul 2026 10:34:09 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8655">
<NewsItem contentIssues="true" id="30856" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30856">
<Title>A Couple of Use Cases for Calc()</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><code>calc()</code> is a native CSS way to do simple math right in CSS as a replacement for any <a href="http://css-tricks.com/the-lengths-of-css/" rel="nofollow external" class="bo">length value</a> (or pretty much any number value). It has four simple math operators: add (+), subtract (-), multiply (*), and divide (/). Being able to do math in code is nice and a welcome addition to a language that is fairly number heavy. </p>
    <p>But is it useful? I've strained my brain in the past trying to think of obviously useful cases. There definitely are some though.</p>
    <p></p>
    <h3>Can't Preprocessors Do Our Math?</h3>
    <p>All CSS Preprocessors do have math functions and they are pretty useful. But they aren't quite as powerful as native math. <strong>The most useful ability of <code>calc()</code> is it's ability to mix units</strong>, like percentages and pixels. No Preprocessor will ever be able to do that. It is something that has to happen at render time.</p>
    <h3>Syntax</h3>
    <pre><code>.thing {&#x000A;      width: 90%; /* fallback if needed */&#x000A;      width: calc(100% - 3em);&#x000A;    }</code></pre>
    <p>There must be spaces surrounding the math operator. You can nest.</p>
    <h3>Browser Support</h3>
    <p>It is surprisingly good. <a href="http://caniuse.com/#feat=calc" rel="nofollow external" class="bo">Can I use...</a> is always great for checking out the details there. On desktop the concerns would be it's IE 9+, Safari 6+, and won't be in Opera until it is on Blink in 15+. On mobile, Android and Opera Mini don't support it at all yet and iOS just on 6.0+. </p>
    <p>You'll have to make the call there. I've been able to actually use it in production in certain scenarios already.</p>
    <h3>Use Case #1: (All The Height - Header)</h3>
    <p>A block level child element with <code>height: 100%</code> will be as tall as it's block level parent element. It can be nice to make a colored module as tall as the parent element in some cases. </p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/06/module-as-tall.png" alt="" style="max-width: 100%; height: auto;">
    <p>But now let's say the parent element becomes too small to contain all the content in the module. You want the content to scroll, but you want <em>just</em> the content to scroll, not the entire module. Just set <code>overflow-y: auto;</code> right? Not quite, because overflow-y is only useful if the content element itself has a set height that can be overflowed. We can't make the content element 100% high because with the header there, that will be too high. We need 100% <em>minus</em> the height of the header. If we know that header height, it's doable!</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/06/scroll-content.png" alt="" style="max-width: 100%; height: auto;">
    <pre><code>* {&#x000A;      /* So 100% means 100% */&#x000A;      box-sizing: border-box;&#x000A;    }&#x000A;    html, body {&#x000A;      /* Make the body to be as tall as browser window */&#x000A;      height: 100%;&#x000A;      background: #ccc;&#x000A;      padding: 20px;&#x000A;    }&#x000A;    body {&#x000A;      padding: 20px;&#x000A;      background: white;  &#x000A;    }&#x000A;    .area-one {&#x000A;      /* With the body as tall as the browser window&#x000A;         this will be too */&#x000A;      height: 100%;&#x000A;    }&#x000A;    .area-one h2 {&#x000A;      height: 50px;&#x000A;      line-height: 50px;&#x000A;    }&#x000A;    .content {&#x000A;      /* Subtract the header size */&#x000A;      height: calc(100% - 50px);&#x000A;      overflow: auto;&#x000A;    }</code></pre>
    <p>You might gripe that the header shouldn't have a fixed size. Might be cool someday if <code>calc()</code> could subtract measured sizes of elements, but that's not possible yet. You could set the header to overflow <a href="http://css-tricks.com/snippets/css/truncate-string-with-ellipsis/" rel="nofollow external" class="bo">with ellipsis</a>.</p>
    <pre><a href="http://codepen.io/chriscoyier/pen/dayBJ" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <h3>Use Case #2: X Pixels From Bottom Right Corner</h3>
    <p>We can position background-image X pixels from the top-left corner easily.</p>
    <pre><code>background-image: url(dog.png);&#x000A;    background-position: 50px 20px;</code></pre>
    <p>That would put the dog 50px from the left and 20px from the top of the elements box. But what if you want it 50px from the right and 20px from the bottom? Not possible with just straight length values. But <code>calc()</code> makes it possible!</p>
    <pre><code>background-image: url(dog.png);&#x000A;    background-position: calc(100% - 50px) calc(100% - 20px);</code></pre>
    <pre><a href="http://codepen.io/chriscoyier/pen/cqzmD" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <h3>Use Case #3: Fixed Gutters Without Parents</h3>
    <p>Let's say you want two columns next to each other. The first 40% wide, the second 60%, but with a fixed 1em gap between the columns. <a href="http://css-tricks.com/dont-overthink-it-grids/" rel="nofollow external" class="bo">Don't Overthink It Grids</a> have fixed gutters, but they aren't true gutters in a sense. The columns themselves bump right into each other and the columns are made by internal padding inside those columns. </p>
    <p>Using <code>calc()</code>, we can make the first column 40% wide with a right margin of 1em, then make the second column 60% wide minus that 1em. </p>
    <pre><code>.area-one {&#x000A;      width: 40%;&#x000A;      float: left;&#x000A;      margin-right: 1em;&#x000A;    }&#x000A;    &#x000A;    .area-two {&#x000A;      width: calc(60% - 1em);&#x000A;      float: right;&#x000A;    }</code></pre>
    <p>You could remove half the gutter from both if you wanted to keep the proportion more accurate. Now you have two true columns separated by fixed space without needing parent elements or using the internal padding.</p>
    <pre><a href="http://codepen.io/chriscoyier/pen/fsGIm" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <h3>Use Case #4: Showing Math Is Easier To Understand</h3>
    <p>Speaking of columns, sometimes division math gets messy. Let's say you wanted a 7-column grid, you might have classes like:</p>
    <pre><code>.column-1-7 {&#x000A;       width: 14.2857%&#x000A;    }&#x000A;    .column-2-7 {&#x000A;       width: 28.5714%&#x000A;    }&#x000A;    .column-3-7 {&#x000A;       width: 42.8571%&#x000A;    }</code></pre>
    <p>Not exactly <a href="http://css-tricks.com/magic-numbers-in-css/" rel="nofollow external" class="bo">magic numbers</a>, but difficult to understand at a glance.</p>
    <pre><code>.column-1-7 {&#x000A;       width: calc(100% / 7);&#x000A;    }&#x000A;    .column-2-7 {&#x000A;       width: calc(100% / 7 * 2);&#x000A;    }&#x000A;    .column-3-7 {&#x000A;       width: calc(100% / 7 * 3);&#x000A;    }</code></pre>
    <pre><a href="http://codepen.io/chriscoyier/pen/uoxqs" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <h3>Use Case #5: Kinda Crappy box-sizing Replacement</h3>
    <p>I'm a fan of <a href="http://css-tricks.com/things-it-might-be-funuseful-to-try-the-universal-selector-on/" rel="nofollow external" class="bo">universal</a> <code>box-sizing: border-box;</code> because it means you don't have to do much math to figure out how big an element actually is, our adjust that math when things like border and padding change.</p>
    <p>If you want to replicate what box-sizing does, you could use <code>calc()</code> to subtract the values as needed.</p>
    <pre><code>.module {&#x000A;      padding: 10px;&#x000A;    &#x000A;      /* Same as box-sizing: padding-box */&#x000A;      width: calc(40% - 20px);&#x000A;    &#x000A;      border: 2px solid black;&#x000A;    &#x000A;      /* Same as box-sizing: border-box */&#x000A;      width: calc(40% - 20px - 4px);&#x000A;    }</code></pre>
    <p><a href="http://css-tricks.com/almanac/properties/b/box-sizing/" rel="nofollow external" class="bo">box-sizing</a> has far better browser support than <code>calc()</code> though, so this would be rarely used.</p>
    <h3>The Future?</h3>
    <p>I think it will be interesting when we can use the <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/attr" rel="nofollow external" class="bo">attr()</a> function in places other than the <a href="http://css-tricks.com/almanac/properties/c/content/" rel="nofollow external" class="bo">content</a> property. With that, we could yank the value from HTML elements, run calculations on them, and use the new numbers to do design-y things. Like colorize inputs based on the numbers they contain.</p>
    <p>Perhaps we could even use it to do fancy things with the <code>&lt;progress&gt;</code> elements like turn it into a speedometer like <a href="http://valdez42.github.io/industrial-js/" rel="nofollow external" class="bo">on this page</a>. Perhaps something like:</p>
    <pre><code>/* Not real */&#x000A;    progress::progress-bar {&#x000A;      transform: rotate(calc(!parent(attr(value))*18)) + deg);&#x000A;    }</code></pre>
    <hr>
    
    <p><strong>Need a new look for your portfolio? Check out the <a href="http://thethemefoundry.com/wordpress/snap/?utm_campaign=css_tricks_snap" rel="nofollow external" class="bo">Snap WordPress theme</a> from The Theme Foundry. Sass files and Compass config are included!</strong></p>
    
    <hr>
    
    <p><small><a href="http://css-tricks.com/a-couple-of-use-cases-for-calc/" rel="nofollow external" class="bo">A Couple of Use Cases for Calc()</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>calc() is a native CSS way to do simple math right in CSS as a replacement for any length value (or pretty much any number value). It has four simple math operators: add (+), subtract (-),...</Summary>
<Website>http://css-tricks.com/a-couple-of-use-cases-for-calc/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30856/guest@my.umbc.edu/c7cc896cc6f2a8baf29beabd8b583dec/api/pixel</TrackingUrl>
<Tag>article</Tag>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 05 Jun 2013 11:05:12 -0400</PostedAt>
<EditAt>Wed, 05 Jun 2013 11:05:12 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30849" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30849">
<Title>Biosciences Opportunities (BOPs) Preview Weekend</Title>
<Tagline>University of Wisconsin-Madison: September 26-29</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <span>Fall 2010 was the first annual </span><strong>Biosciences Opportunities (BOPs) </strong><span>preview weekend at the University of Wisconsin-Madison.  The event was a huge success and BOPS has now become an annual event to be held each fall. For 2013, BOPs will be held September 26 - 29. The BOPs preview weekend introduces </span><a href="http://www.biopreview.wisc.edu/apply" rel="nofollow external" class="bo">highly qualified prospective graduate students</a><span> to bioscience PhD programs offered at the UW-Madison and the breadth of research opportunities available on campus. </span>
    </div>
]]>
</Body>
<Summary>Fall 2010 was the first annual Biosciences Opportunities (BOPs) preview weekend at the University of Wisconsin-Madison.  The event was a huge success and BOPS has now become an annual event to be...</Summary>
<Website>http://www.biopreview.wisc.edu/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30849/guest@my.umbc.edu/f3c94b2e60846c5f027ea1dde7d017de/api/pixel</TrackingUrl>
<Tag>biosciences</Tag>
<Tag>research</Tag>
<Group token="undergradresearch">Undergraduate Research</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/undergradresearch</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/original.jpg?1600355057</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/large.png?1600355057</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/medium.png?1600355057</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/small.png?1600355057</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxsmall.png?1600355057</AvatarUrl>
<Sponsor>Undergraduate Research</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/xxlarge.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/xlarge.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/large.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/medium.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/small.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/xsmall.jpg?1370444490</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/030/849/6a6b9ab46b610b6bf661a9c766f195eb/xxsmall.jpg?1370444490</ThumbnailUrl>
<PawCount>2</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 05 Jun 2013 11:02:08 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30851" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30851">
<Title>Whoops! PHP Errors for Cool Kids</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=32344&amp;c=1692123733" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=32344&amp;c=1692123733" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://filp.github.io/whoops/" rel="nofollow external" class="bo">Whoops</a> is a small library, available as a <a href="https://packagist.org/packages/filp/whoops" rel="nofollow external" class="bo">Composer package</a>, that helps you handle errors and exceptions across your PHP projects.</p>
    <p></p>
    <p>Out of the box, you get a sleek, intuitive and informative error page each time something goes pants-up in your application. Even better, under all that is a very straight-forward, but flexible, toolset for dealing with errors in a way that makes sense for whatever it is that you’re doing.</p>
    <p>The library’s main features are:</p>
    <ul>
    <li>Detailed and intuitive page for errors and exceptions</li>
    <li>Code view for all frames</li>
    <li>Focus on error/exception analysis through the use of custom, simple middle-ware/handlers</li>
    <li>Support for JSON and AJAX requests</li>
    <li>Included providers for Silex and Zend projects through the bundled providers, and included as part of the Laravel 4 core</li>
    <li>Clean, compact, and tested code-base, with no extra dependencies</li>
    </ul> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-demo.png" alt="image" style="max-width: 100%; height: auto;"><p>Whoops achieves this through a system of stacked handlers. You tell Whoops which handlers you want to use (you can choose from the included handlers or make your own), and if something happens, all the handlers are given, in order, a chance do to something – this can be anything from analyzing the error (Whoops makes it easier to extract meaningful information from an error or exception), to displaying helpful error screens (like the built-in <code>PrettyPageHandler</code>, which gives you the cool looking page pictured above).</p>
    <p>Let’s give it a try, first, by looking at the basics, and then by having a go at building our own handler with Whoops and the Laravel framework. For this short guide, I’ll assume that  you’re moderately comfortable with PHP, and that you’ve heard of Composer. If this is not the case, read-up on it <a href="http://net.tutsplus.com/tutorials/php/easy-package-management-with-composer." rel="nofollow external" class="bo">here at Nettuts+</a>.</p>
    <hr>
    <h2>Installing Whoops</h2>
    <p>Create a directory for your project, change into it, create a <code>composer.json</code> file with the Whoops requirement, and install it. Whoops (as of version 1.0.5) has no dependencies, so this will only take a second.</p>
    <pre>$ cd /path/to/your/project&#x000A;    $ composer require filp/whoops 1.*&#x000A;    $ composer install&#x000A;    </pre>
    <hr>
    <h2>Using Whoops: The Basics</h2>
    <p>To see that sleek error page in action, let’s setup Whoops and ensure that something breaks by throwing an exception within our code. Create a file within your project’s directory; for this guide, let’s say that it’s called, <code>index.php</code>.</p>
    <pre>$ cd /path/to/your/project&#x000A;    $ your-favorite-editor index.php&#x000A;    </pre>
    <p>Because we installed Whoops with Composer, and it is PSR-0 compliant, all we need to do is require the Composer autoloader and we’re ready to start using the library within our own code!</p>
    <pre>&lt;?php&#x000A;    # index.php&#x000A;    require __DIR__ . "/vendor/autoload.php";&#x000A;    &#x000A;    $whoops = new Whoops\Run();&#x000A;    $whoops-&gt;pushHandler(new Whoops\Handler\PrettyPageHandler());&#x000A;    &#x000A;    // Set Whoops as the default error and exception handler used by PHP:&#x000A;    $whoops-&gt;register();  &#x000A;    &#x000A;    throw new RuntimeException("Oopsie!");&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p>If you already have a web-server running, go ahead and access the file that you just created. Don’t forget: if you’re using PHP 5.4, you can leverage the built-in development server, like so:</p>
    <pre>$ cd /path/to/your/project&#x000A;    $ php -S localhost:8080&#x000A;    </pre>
    <p>This is what you’ll get:</p> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-basic.png" alt="image" style="max-width: 100%; height: auto;"><p>Pretty neat, right? Handlers, themselves, can expose options to modify or augment their behavior. For example, among other things, you can set the title of the default error page, and even insert extra information:</p>
    <pre>&lt;?php&#x000A;    # index.php&#x000A;    $whoops = new Whoops\Run();&#x000A;    &#x000A;    // Configure the PrettyPageHandler:&#x000A;    $errorPage = new Whoops\Handler\PrettyPageHandler();&#x000A;    &#x000A;    $errorPage-&gt;setPageTitle("It's broken!"); // Set the page's title&#x000A;    $errorPage-&gt;setEditor("sublime");         // Set the editor used for the "Open" link&#x000A;    $errorPage-&gt;addDataTable("Extra Info", array(&#x000A;          "stuff"     =&gt; 123,&#x000A;          "foo"       =&gt; "bar",&#x000A;          "useful-id" =&gt; "baloney"&#x000A;    ));&#x000A;    &#x000A;    $whoops-&gt;pushHandler($errorPage);&#x000A;    $whoops-&gt;register();&#x000A;    &#x000A;    throw new RuntimeException("Oopsie!");&#x000A;    ?&gt;&#x000A;    </pre>
    <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-extra-info.png" alt="image" style="max-width: 100%; height: auto;"><p>Also, since this is simply a regular Whoops handler, we can mix-and-match with other handlers to achieve more dynamic results. Let’s imagine that you’re working on an AJAX+JSON-driven website. Right now, if your application were to fail somehow, you would get a bunch of nasty HTML coming down the pipe, when you were expecting JSON. No big deal:</p>
    <pre>&lt;?php&#x000A;    # index.php&#x000A;    $whoops-&gt;pushHandler(new Whoops\Handler\PrettyPageHandler());&#x000A;    $whoops-&gt;pushHandler(new Whoops\Handler\JsonResponseHandler());&#x000A;    &#x000A;    $whoops-&gt;register();&#x000A;    &#x000A;    throw new RuntimeException("Oopsie!");&#x000A;    </pre>
    <p>That’s it. Now, if something fails during an AJAX request, Whoops will respond with a JSON response detailing the error. If it’s NOT an AJAX request, you will continue to see the regular error page. If an error ocurrs, Whoops will filter through each of the registered handlers (starting at the last handler to be registered), and give them a chance to analyze, modify and respond to the request.</p>
    <p>Now that you have a general idea of how Whoops works, let’s have a go at building our own handler with Whoops and the <a href="http://laravel.com" rel="nofollow external" class="bo">Laravel 4</a> framework.</p>
    <hr>
    <h2>Whoops and Laravel 4</h2>
    <p>Laravel 4 bundles Whoops as a core exception handler, enabled by default in development mode, including a custom color-scheme by <a href="http://twitter.com/daylerees" rel="nofollow external" class="bo">Dayle Rees</a>:</p> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-laravel.png" alt="image" style="max-width: 100%; height: auto;"><p>If you haven’t installed Laravel yet, <a href="http://laravel.com" rel="nofollow external" class="bo">head on over</a> and follow the installation steps. Laravel is covered extensively on <a href="http://net.tutsplus.com/?s=laravel" rel="nofollow external" class="bo">Nettuts+</a> and <a href="https://tutsplus.com/course/whats-new-in-laravel-4/" rel="nofollow external" class="bo">Tuts+ Premium</a>, so you’ll find plenty of training here, if you’d like to dig in further.</p>
    <p>For the next steps, I’ll assume that you are somewhat comfortable with the basics of Laravel 4. However, even if you aren’t, it should still be easy to follow.</p>
    <p>If you’re in development (debug) mode, Whoops is available through the IoC container as <code>whoops</code>, and pre-set with one of two handlers: <code>PrettyPageHandler</code> or <code>JsonResponseHandler</code>, as <code>whoops.handler</code> (the same two we just talked about). Both of these handlers expose useful additional methods, as you’ve seen above with the <code>PrettyPageHandler</code>. By accessing these services, we can start customizing our Whoops experience within the framework.</p>
    <p>For simplicity’s sake, in your <code>app/routes.php</code> file, let’s hook into the Whoops service and set a custom page title for our error pages:</p>
    <pre>&lt;?php&#x000A;    #app/routes.php&#x000A;    &#x000A;    /*&#x000A;    |--------------------------------------------------------------------------&#x000A;    | Application Routes&#x000A;    |--------------------------------------------------------------------------&#x000A;    */&#x000A;    &#x000A;    use Whoops\Handler\PrettyPageHandler;&#x000A;    &#x000A;    // Use the Laravel IoC container to get the Whoops\Run instance, if whoops&#x000A;    // is available (which will be the case, by default, in the dev&#x000A;    // environment)&#x000A;    if(App::bound("whoops")) {&#x000A;        // Retrieve the whoops handler in charge of displaying exceptions:&#x000A;        $whoopsDisplayHandler = App::make("whoops.handler");&#x000A;    &#x000A;        // Laravel will use the PrettyPageHandler by default, unless this&#x000A;        // is an AJAX request, in which case it'll use the JsonResponseHandler:&#x000A;        if($whoopsDisplayHandler instanceof PrettyPageHandler) {&#x000A;    &#x000A;            // Set a custom page title for our error page:&#x000A;            $whoopsDisplayHandler-&gt;setPageTitle("Houston, we've got a problem!");&#x000A;    &#x000A;            // Set the "open:" link for files to our editor of choice:&#x000A;            $whoopsDisplayHandler-&gt;setEditor("sublime");&#x000A;        }&#x000A;    }&#x000A;    &#x000A;    Route::get('/', function()&#x000A;    {&#x000A;        // Force the execution to fail by throwing an exception:&#x000A;        throw new RuntimeException("Oopsie!");&#x000A;    });&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p><strong>Tip:</strong> Whoops supports a few editors by default, and allows you to implement support for your own as you wish. <a href="https://github.com/filp/whoops#opening-referenced-files-with-your-favorite-editor-or-ide" rel="nofollow external" class="bo">Read more about it here.</a></p>
    <p>If you now access your Laravel application, you’ll be greeted with an error message with your custom page title. If you click the file path above the code box, it should open the referenced file right in your editor or IDE of choice. How cool is that? Also, since we can reach the handler already setup by the Laravel core, we can put to use the other features we’ve learned about above. For example, we can add custom tables (with <code>PrettyPageHandler::addDataTable</code>) with useful information about our application.</p>
    <p>Let’s have a go at one more example. This will be our first attempt at writing our own custom handler. We want to get all the stack frames for an exception, and remove anything that’s not part of our application code. Sounds simple enough, right?</p>
    <pre>&lt;?php&#x000A;    #app/routes.php&#x000A;    &#x000A;    /*&#x000A;    |--------------------------------------------------------------------------&#x000A;    | Application Routes&#x000A;    |--------------------------------------------------------------------------&#x000A;    */&#x000A;    &#x000A;    use Whoops\Handler\Handler;&#x000A;    &#x000A;    // Use the Laravel IoC to get the Whoops\Run instance, if whoops&#x000A;    // is available (which will be the case, by default, in the dev&#x000A;    // environment)&#x000A;    if(App::bound("whoops")) {&#x000A;        $whoops = App::make("whoops");&#x000A;    &#x000A;        $whoops-&gt;pushHandler(function($exception, $exceptionInspector, $runInstance) {&#x000A;            // Get the collection of stack frames for the current exception:&#x000A;            $frames = $exceptionInspector-&gt;getFrames();&#x000A;    &#x000A;            // Filter existing frames so we only keep the ones inside the app/ folder&#x000A;            $frames-&gt;filter(function($frame) {&#x000A;                $filePath = $frame-&gt;getFile();&#x000A;    &#x000A;                // Match any file path containing /app/...&#x000A;                return preg_match("/\/app\/.+/i", $filePath);&#x000A;            });&#x000A;    &#x000A;            return Handler::DONE;&#x000A;        });&#x000A;    }&#x000A;    &#x000A;    Route::get('/', function()&#x000A;    {&#x000A;        // Force the execution to fail by throwing an exception:&#x000A;        throw new RuntimeException("Oopsie!");&#x000A;    });&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p><strong>Tip:</strong> You don’t actually have to return <code>Handler::DONE</code> – this serves only a semantic purpose. If you want Whoops to stop running any extra handlers after yours, write <code>return Handler::LAST_HANDLER</code>. If you want Whoops to exit the script execution after your handler, <code>return Handler::QUIT</code>.</p>
    <p>You can see that it’s remarkably concise. <code>Whoops\Run</code>‘s <code>pushHandler</code> method accepts a closure that receives up to three arguments: the exception object, an exception inspector, which exposes some utility methods to, you guessed it, inspect exceptions, and the <code>Whoops\Run</code> instance that captured the exception. Through this handler, we use the exception inspector to extract the stack frames, all within a neat <code>FrameCollection</code> object:</p>
    <pre>&lt;?php&#x000A;    $frames = $exceptionInspector-&gt;getFrames(); // #=&gt; Whoops\Exception\FrameCollection;&#x000A;    count($frames); #=&gt; int&#x000A;    &#x000A;    foreach($frames as $frame) {&#x000A;        get_class($frame); // #=&gt; Whoops\Exception\Frame&#x000A;    &#x000A;        print $frame-&gt;getFile() . ":" . $frame-&gt;getLine() . "\n";&#x000A;            #=&gt; "/path/to/file.php:123"&#x000A;    }&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p><strong>Tip:</strong> Whoops internally converts closures to a special handler: <code>Whoops\Handler\CallbackHandler</code>.</p>
    <p>You can count, iterate, map and filter the contents of this class, with the interesting but important aspect that the map and filter operations mutate the object in-place. This means that both of these operations modify the original instance directly, instead of creating a new collection. How is this important? It means handlers can more easily perform changes that propagate downwards to all the other handlers in the stack. This is exactly what we did with our simple handler above. If you now run the script again, you’ll see that we get a shorter list of stack frames, only concerning the code living within our application directory.</p> <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-short-stack.png" alt="image" style="max-width: 100%; height: auto;"><p>As for the Frame object, itself (<code>Whoops\Exception\Frame</code>), it exposes a set of methods to gather information about the frame contents (the file path, line number, the method or function call, class name, etc,), and methods that allow you to attach comments to individual stack frames. A Frame comment is a useful feature in Whoops that allows handlers to provide additional information that they gather from an exception by attaching notes directly to individual frames in the stack. Handlers like the <code>PrettyPageHandler</code>, for example, can then gather those comments and display them along with the frame’s file path and line number.</p>
    <pre>&lt;?php&#x000A;    $whoops-&gt;pushHandler(function($exception, $exceptionInspector, $runInstance) {&#x000A;        foreach($exceptionInspector-&gt;getFrames() as $i =&gt; $frame) {&#x000A;            $frame-&gt;addComment("This is frame number {$i}");&#x000A;        }&#x000A;    &#x000A;        return Handler::DONE;&#x000A;    });&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-frame-comment.png" alt="image" style="max-width: 100%; height: auto;"><p>Frame comments may also receive a second <code>scope</code> argument. If you have multiple custom handlers, you can, for example, filter frame comments by this argument to gather only the information that you care about.</p>
    <pre>&lt;?php&#x000A;    $frames = $exceptionInspector-&gt;getFrames();&#x000A;    foreach($frames as $frame) {&#x000A;        // Was this frame within a controller class? (ends in Controller)&#x000A;        $className = $frame-&gt;getClass();&#x000A;        if(substr($className, -10) == "Controller") {&#x000A;            $frame-&gt;addComment("This frame is inside a controller: $className", "controller-error");&#x000A;        }&#x000A;    &#x000A;        // Later, in another handler, get all comments within the 'controller-errors' scope:&#x000A;        $controllerErrors = $frame-&gt;getComments("controller-errors"); // #=&gt; array&#x000A;    }&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p>Also of interest, the <code>PrettyPageHandler</code> naturally HTML-escapes the frame comments before displaying them, but will intelligently capture URIs in the comment’s body and convert them to clickable anchor elements. Want to link frames to documentation, or to GitHub repositories? It’s easy enough; let’s create our own handler class for this example.</p>
    <p><strong>Tip:</strong> Using your own class instead of a closure provides you with some extra control over your handler – not to mention making it easier to cover with automated tests. Your custom handler classes must implement the <code>Whoops\Handler\HandlerInterface</code> interface, but you may instead simply extend the <code>Whoops\Handler\Handler</code> class, and implement the missing <code>handle</code> method, as shown in the example below.</p>
    <pre>&lt;?php&#x000A;    # LaravelGithubLinkHandler.php&#x000A;    &#x000A;    use Whoops\Handler\Handler as BaseHandler;&#x000A;    &#x000A;    /**&#x000A;     * When possible, link laravel source files to their location&#x000A;     * on the laravel/framework repo @ github.com&#x000A;     */&#x000A;    class LaravelGithubLinkHandler extends BaseHandler&#x000A;    {&#x000A;        private $repoBase = "<a href="https://github.com/laravel/framework/blob/master">https://github.com/laravel/framework/blob/master</a>";&#x000A;    &#x000A;        /**&#x000A;         * @return int&#x000A;         */&#x000A;        public function handle()&#x000A;        {&#x000A;            $frames = $this-&gt;getInspector()-&gt;getFrames();&#x000A;    &#x000A;            foreach($frames as $frame) {&#x000A;                $file = $frame-&gt;getFile();&#x000A;                $line = $frame-&gt;getLine();&#x000A;    &#x000A;                // Some frames may not have a file path, for example, if it ocurred within&#x000A;                // a Closure, so we'll need to check for that:&#x000A;                if(!$file) continue;&#x000A;    &#x000A;                // Check if the file path for this frame was within the laravel/framework&#x000A;                // directory, inside the Composer vendor/ directory, and use a regex capture&#x000A;                // to extract just the parts we want:&#x000A;                if(preg_match("/\/vendor\/laravel\/framework\/(.+)$/", $file, $matches)) {&#x000A;                    $path = $matches[1]; // First match is whole path, second is our capture&#x000A;                    $url  = "{$this-&gt;repoBase}/$path";&#x000A;    &#x000A;                    // We can also link directly to a line number, if we have it. Github&#x000A;                    // supports this by appending #L&lt;line number&gt; to the end of the URL:&#x000A;                    if($line !== null) {&#x000A;                        $url .= "#L{$line}";&#x000A;                    }&#x000A;    &#x000A;                    $frame-&gt;addComment($url, "github-linker");&#x000A;                }&#x000A;            }&#x000A;    &#x000A;            return Handler::DONE;&#x000A;        }&#x000A;    }&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <p>That’s it, as far as our handler goes. Put that class somewhere in your project, and all that’s left to do is enable and try it out:</p>
    <pre>&lt;?php&#x000A;    # app/routes.php&#x000A;    // ...&#x000A;    $whoops-&gt;pushHandler(new LaravelGithubLinkHandler());&#x000A;    // ...&#x000A;    ?&gt;&#x000A;    &#x000A;    </pre>
    <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/whoops-comment-link.png" alt="image" style="max-width: 100%; height: auto;"><p>With only a handful of lines of code, we’ve added an extra layer of (possibly useless, but hey, it’s an example) functionality to our error pages. Here are a few extra ideas, if you’re looking for a challenge:</p>
    <ul>
    <li>Package your custom error handler as a <a href="http://laravel.com/docs/ioc#service-providers" rel="nofollow external" class="bo">Laravel service provider.</a>
    </li>
    <li>Are you using Git to manage your project? Build a custom handler that hooks into <code>git-blame</code> to determine who the last person to touch that file that keeps throwing an exception (and yell at them) was, directly from the error page.</li>
    <li>If you’re feeling brave, use nikic’s <a href="https://github.com/nikic/PHP-Parser" rel="nofollow external" class="bo">PHP-Parser</a> to analyze the troublesome code, and provide suggestions for fixes (I promise it’s not as complicated as it sounds).</li>
    </ul>
    <hr>
    <h2>Final Thoughts</h2>
    <p>I hope that this short guide has helped you gain an understanding of the sort of possibilities that this library enables in your every-day projects. For more information, refer to the <a href="https://github.com/filp/whoops/wiki/API-Documentation" rel="nofollow external" class="bo">complete API documentation.</a></p>
    <p>Whoops is framework-agnostic, light-weight and, I believe, quite powerful in its simplicity and focus on mix-and-matching small tools. It’s also open-source and open to suggestions and improvements. If you’d like to contribute or report a bug, head to the <a href="https://github.com/filp/whoops" rel="nofollow external" class="bo">official repository</a>!</p>
    </div>
]]>
</Body>
<Summary>Whoops is a small library, available as a Composer package, that helps you handle errors and exceptions across your PHP projects.   Out of the box, you get a sleek, intuitive and informative error...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/xRKk1iql0T8/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30851/guest@my.umbc.edu/c67b7d9404fd6cf20147a6d83ee73b3b/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>wed</Tag>
<Tag>whoops</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>Wed, 05 Jun 2013 10:56:14 -0400</PostedAt>
<EditAt>Wed, 05 Jun 2013 10:56:14 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30855" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30855">
<Title>Giveaway: The New Treehouse iOS 6 Foundations Book Launches!</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Wiley and Treehouse are pleased to announced the release of the third book in the Treehouse series: <a href="http://www.amazon.com/gp/product/1118356578/ref=s9_cskin_gw_p351_d0_i1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=1HYYZNGG6HQ6HXHEW2BG&amp;pf_rd_t=101&amp;pf_rd_p=1389517282&amp;pf_rd_i=507846" title="iOS 6 Foundations on Amazon" rel="nofollow external" class="bo">iOS 6 Foundations</a>. iOS Foundations is a practical introduction for using iOS 6 to create universal apps. Use it as a companion to <a href="http://teamtreehouse.com/library/ios-development" title="iOS Development Course on Treehouse" rel="nofollow external" class="bo">Treehouse’s iOS courses</a>, and you’ll have everything you need to build apps for iPhone and iPad.</p>
    <p>If you have prior experience programming in an object-oriented language and are eager to start building universal apps for iPad and iPhone (including the iPod touch), then this is the book for you! Using the latest version of iOS (iOS 6) along with the latest version of Xcode (Xcode 4.5), this book is a practical introduction rather than just a catalog of components. Full-color and packed with groundbreaking, innovative designs, this book teaches you how to create eye-catching, unique apps.</p>
    <p><a href="http://www.amazon.com/gp/product/1118356578/ref=s9_cskin_gw_p351_d0_i1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=1HYYZNGG6HQ6HXHEW2BG&amp;pf_rd_t=101&amp;pf_rd_p=1389517282&amp;pf_rd_i=507846" title="iOS 6 Foundations on Amazon" rel="nofollow external" class="bo">iOS 6 Foundations</a> teaches you the various aspects of iOS development beginning with getting started with iOS 6, getting up to speed with Xcode, and learning the tools for developing with Objective-C. It reviews building the user interface with Xcode and Interface Builder, details how to set up your app in iTunes connect and distribute it through the app store, walks you through adding features like geo-location and twitter sharing, and helps you avoid common pitfalls and design decisions related to user experience and iOS programming.</p>
    <h2>What’s Inside the Book?</h2>
    <p>iOS 6 Foundations is organized so that each chapter builds on the previous, providing you with a blueprint for completely building an app by the end of the book. To give you a better idea of what you’ll learn, here’s a breakdown of the chapters:</p>
    <h3>Introduction</h3>
    <ul>
    <li>Who Should Read This Book?  1</li>
    <li>What You Will Learn   2</li>
    <li>How to Use This Book   3</li>
    <li>Using This Book with Treehouse  4</li>
    </ul>
    <h3>Part 1: Introducing iOS</h3>
    <ul>
    <li>Chapter 1: Getting Started with iOS 6 7</li>
    <li>Chapter 2: Getting Up to Speed with Xcode 25</li>
    <li>Chapter 3: Looking Ahead—Planning Your App 53</li>
    <li>Chapter 4: Designing the Party Planner App 63</li>
    </ul>
    <h3>Part 2: Storyboards: The Building Blocks of iOS Apps</h3>
    <ul>
    <li>Chapter 5: Walking Through the iPhone Storyboard  81</li>
    <li>Chapter 6: Working with Storyboard Inspectors 101</li>
    <li>Chapter 7: Laying Out Your Scenes and Views 119</li>
    </ul>
    <h3>Part 3: Building the Party Planner App</h3>
    <ul>
    <li>Chapter 8: Building on the Data Model 131</li>
    <li>Chapter 9: Building the Detail Data View 153</li>
    <li>Chapter 10: Saving and Restoring Data 183</li>
    <li>Chapter 11: Testing the App with the Debugger 201</li>
    </ul>
    <h3>Part 4: Using Table and Collection Views</h3>
    <ul>
    <li>Chapter 12: Exploring the Table View in the Template 219</li>
    <li>Chapter 13: Formatting Table Cells 245</li>
    <li>Chapter 14: Editing Table Views 275</li>
    </ul>
    <h3>Part 5: Interacting with Users</h3>
    <ul>
    <li>Chapter 15: Telling Users the News: Alerts and NSError 297</li>
    <li>Chapter 16: Getting Input from Users: Alerts and Action Sheets 309</li>
    <li>Chapter 17: Back to the Storyboard: Enhancing the Interface 319</li>
    </ul>
    <h2>The Giveaway</h2>
    <p>To celebrate the launch of iOS 6 Foundations, we’re going to give away 3 copies of this awesome book to the three individuals that can dream up the best ideas for an iPhone or iPad app. Just let your imagination run wild and tell us about your idea in the comments. We’ll pick our favorite three based on creativity, simplicity, and unique problem-solving.</p>
    <p>Good luck with your ideas and we hope you win! If you absolutely can’t wait to get your hands on a copy, be sure to grab <a href="http://www.amazon.com/gp/product/1118356578/ref=s9_cskin_gw_p351_d0_i1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=1FXYBPKGYMRVD4X2P6QW&amp;pf_rd_t=101&amp;pf_rd_p=1389517282&amp;pf_rd_i=507846" title="iOS6 Foundations on Amazon" rel="nofollow external" class="bo">iOS 6 Foundations</a> on Amazon today!</p>
    <p>The post <a href="http://blog.teamtreehouse.com/giveaway-the-new-treehouse-ios-6-foundations-book-launches" rel="nofollow external" class="bo">Giveaway: The New Treehouse iOS 6 Foundations Book Launches!</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>Wiley and Treehouse are pleased to announced the release of the third book in the Treehouse series: iOS 6 Foundations. iOS Foundations is a practical introduction for using iOS 6 to create...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/kGXlbq5MTus/giveaway-the-new-treehouse-ios-6-foundations-book-launches</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30855/guest@my.umbc.edu/024826c5b7789f129fcd8f6f241e765c/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>ios-6-foundations</Tag>
<Tag>javascript</Tag>
<Tag>make-an-iphone-app</Tag>
<Tag>mobile</Tag>
<Tag>responsive</Tag>
<Tag>treehouse</Tag>
<Tag>treehouse-books</Tag>
<Tag>web</Tag>
<Tag>wiley</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>Wed, 05 Jun 2013 10:53:54 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30862" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30862">
<Title>Notism launches, offering visual design collaboration</Title>
<Body>
<![CDATA[
    <div class="html-content">New real-time feedback system for colleagues and clients<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fnotism-launches-offering-visual-design-collaboration-132794&amp;t=Notism+launches%2C+offering+visual+design+collaboration" 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%2Fnotism-launches-offering-visual-design-collaboration-132794&amp;t=Notism+launches%2C+offering+visual+design+collaboration" 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%2Fnotism-launches-offering-visual-design-collaboration-132794&amp;t=Notism+launches%2C+offering+visual+design+collaboration" 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%2Fnotism-launches-offering-visual-design-collaboration-132794&amp;t=Notism+launches%2C+offering+visual+design+collaboration" 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%2Fnotism-launches-offering-visual-design-collaboration-132794&amp;t=Notism+launches%2C+offering+visual+design+collaboration" 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/165664694216/u/49/f/502346/c/32632/s/2ce28fd9/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664694216/u/49/f/502346/c/32632/s/2ce28fd9/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>New real-time feedback system for colleagues and clients     </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/JorhTuaCra0/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30862/guest@my.umbc.edu/c6dfe594e2dfd511f7403f2c14d75357/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>Wed, 05 Jun 2013 10:51:29 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30848" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30848">
<Title>NetAbstraction and Light Point Security signed a partnership</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <strong>NetAbstraction and Light Point Security have signed a partnership 
    agreement to offer virtualization and cloud technologies to protect 
    customer's online activity.</strong><br><br>CHANTILLY, Va., May 23, 2013 /PRNewswire-iReach/ -- NetAbstraction 
    today announces that Light Point Security has been selected as their 
    secured web browsing provider. Light Point Security's signature product 
    is Light Point Web, a secure cloud-based web browsing solution that 
    allows clients to search and browse the Internet through a virtual 
    machine. Combining Light Point Security's cloud-based web browsing 
    solution with NetAbstraction introduces to clients an additional layer 
    of online protection from malware, while at the same time offering 
    Secure Sockets Layer (SSL) encryption which protects the transmission of
     online information.<br><br>Read more at: <a href="http://online.wsj.com/article/PR-CO-20130523-910652.html?mod=googlenews_wsj">http://online.wsj.com/article/PR-CO-20130523-910652.html?mod=googlenews_wsj</a><br>
    </div>
]]>
</Body>
<Summary>NetAbstraction and Light Point Security have signed a partnership  agreement to offer virtualization and cloud technologies to protect  customer's online activity.  CHANTILLY, Va., May 23, 2013...</Summary>
<Website>http://online.wsj.com/article/PR-CO-20130523-910652.html?mod=googlenews_wsj</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30848/guest@my.umbc.edu/308b544fdb6341758ba1ff8f65b000f6/api/pixel</TrackingUrl>
<Group token="bwtech">bwtech@UMBC Research and Technology Park</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bwtech</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xsmall.png?1760034935</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/original.png?1760034935</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xxlarge.png?1760034935</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xlarge.png?1760034935</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/large.png?1760034935</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/medium.png?1760034935</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/small.png?1760034935</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xsmall.png?1760034935</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xxsmall.png?1760034935</AvatarUrl>
<Sponsor>bwtech@UMBC</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 05 Jun 2013 10:33:32 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30854" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30854">
<Title>Gadgetwise Blog: Three Noteworthy Apps for Kids</Title>
<Body>
<![CDATA[
    <div class="html-content">Music and math for children in three noteworthy apps.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fgadgetwise.blogs.nytimes.com%2F2013%2F06%2F05%2Fthree-noteworthy-apps-for-kids%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Three+Noteworthy+Apps+for+Kids" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F06%2F05%2Fthree-noteworthy-apps-for-kids%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Three+Noteworthy+Apps+for+Kids" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F06%2F05%2Fthree-noteworthy-apps-for-kids%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Three+Noteworthy+Apps+for+Kids" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F06%2F05%2Fthree-noteworthy-apps-for-kids%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Three+Noteworthy+Apps+for+Kids" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F06%2F05%2Fthree-noteworthy-apps-for-kids%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Three+Noteworthy+Apps+for+Kids" 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>Music and math for children in three noteworthy apps.     </Summary>
<Website>http://gadgetwise.blogs.nytimes.com/2013/06/05/three-noteworthy-apps-for-kids/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30854/guest@my.umbc.edu/00bb6e26eb3b21ee8d878de631fad24d/api/pixel</TrackingUrl>
<Tag>apps</Tag>
<Tag>children-and-childhood</Tag>
<Tag>games</Tag>
<Tag>ipad</Tag>
<Tag>kid-tech</Tag>
<Tag>mobile</Tag>
<Tag>mobile-applications</Tag>
<Tag>mobile-tech</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>Wed, 05 Jun 2013 10:32:26 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30846" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30846">
<Title>Side project: The Wander Postcard Project</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="The Wander Postcard Project" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail27.jpg" width="200" height="160" style="max-width: 100%; height: auto;"></p>
    <p><a title="The Wander Postcard Project" href="http://blog.onwander.com/" rel="nofollow external" class="bo">The Wander Postcard Project</a> is the brainchild of the team at social media start-up <a title="Wander" href="http://onwander.com/" rel="nofollow external" class="bo">Wander</a>. They asked some of their favourite designers and illustrators to imagine a postcard from everywhere and nowhere at once. There were 58 contributors in total including the likes of Dan Cassaro, Fuzzco, Tim Boelaars and Matt Chase, to name a few. With such a talented group of contributors it’s no wonder that the results were pretty special.</p>
    <p>An added bonus for fans of the project is that each postcard can be downloaded as a hi-res iPad or iPhone wallpaper.</p>
    <p>Check out some of our favourite postcard designs below:</p>
    <p><a href="http://blog.onwander.com/post/20544147642/explore-strange-worlds-fuzzco-girl" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_11.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/21381736371/life-is-a-journey-mike-mcquade" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_21.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/21913105896/there-are-no-foreign-lands-matt-chase" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_3.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/22839786204/leave-a-trail-timothy-reynolds" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_4.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/22137766408/just-you-and-the-world-victor-mathieux" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_5.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/24405771845/life-is-a-journey-tad-carpenter" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_61.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/22659905395/i-am-on-my-way-eric-mortensen" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_71.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p><a href="http://blog.onwander.com/post/27339428834/leaving-on-a-jetplane-nick-agin" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_8.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p>
    <p> </p>
    <p><em><strong>Which of these postcards is your favourite? Do you have a similar side project? Let us know in the comments.</strong></em></p>
    <p><br><br>
    </p>
    <table width="100%">
    <tbody>
    <tr>
    <td>
          <a href="http://www.mightydeals.com/deal/micropersonas.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Improve Designer Communication with MicroPersonas – only $17!</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="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"><br>
          </a>
        </td>
    </tr>
    </tbody>
    </table>
    <p><br> </p>
    <a href="http://www.webdesignerdepot.com/2013/06/side-project-the-wander-postcard-project/" rel="nofollow external" class="bo">Source</a>
    </div>
]]>
</Body>
<Summary>The Wander Postcard Project is the brainchild of the team at social media start-up Wander. They asked some of their favourite designers and illustrators to imagine a postcard from everywhere and...</Summary>
<Website>http://www.webdesignerdepot.com/2013/06/side-project-the-wander-postcard-project/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30846/guest@my.umbc.edu/73fbc421fe93adfef62431df535fb9e9/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrations</Tag>
<Tag>illustrator</Tag>
<Tag>ipad-wallpapers</Tag>
<Tag>iphone-wallpapers</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>postcards</Tag>
<Tag>posters</Tag>
<Tag>sql</Tag>
<Tag>wander-postcard-project</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>Wed, 05 Jun 2013 10:15:49 -0400</PostedAt>
<EditAt>Wed, 05 Jun 2013 10:15:49 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="31120" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31120">
<Title>Side project: The Wander Postcard Project</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="The Wander Postcard Project" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail27.jpg" width="200" height="160" style="max-width: 100%; height: auto;"></p> <p><a title="The Wander Postcard Project" href="http://blog.onwander.com/" rel="nofollow external" class="bo">The Wander Postcard Project</a> is the brainchild of the team at social media start-up <a title="Wander" href="http://onwander.com/" rel="nofollow external" class="bo">Wander</a>. They asked some of their favourite designers and illustrators to imagine a postcard from everywhere and nowhere at once. There were 58 contributors in total including the likes of Dan Cassaro, Fuzzco, Tim Boelaars and Matt Chase, to name a few. With such a talented group of contributors it’s no wonder that the results were pretty special.</p> <p>An added bonus for fans of the project is that each postcard can be downloaded as a hi-res iPad or iPhone wallpaper.</p> <p>Check out some of our favourite postcard designs below:</p> <p><a href="http://blog.onwander.com/post/20544147642/explore-strange-worlds-fuzzco-girl" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_11.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/21381736371/life-is-a-journey-mike-mcquade" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_21.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/21913105896/there-are-no-foreign-lands-matt-chase" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_3.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/22839786204/leave-a-trail-timothy-reynolds" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_4.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/22137766408/just-you-and-the-world-victor-mathieux" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_5.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/24405771845/life-is-a-journey-tad-carpenter" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_61.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/22659905395/i-am-on-my-way-eric-mortensen" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_71.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://blog.onwander.com/post/27339428834/leaving-on-a-jetplane-nick-agin" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/wander_8.jpg" width="650" alt="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"></a></p> <p> </p> <p><em><strong>Which of these postcards is your favourite? Do you have a similar side project? Let us know in the comments.</strong></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/micropersonas.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Improve Designer Communication with MicroPersonas – only $17!</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="Side project: The Wander Postcard Project" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/06/side-project-the-wander-postcard-project/" rel="nofollow external" class="bo">Source</a> <br><br><a href="http://da.feedsportal.com/r/165664689558/u/49/f/661066/c/35285/s/2ce11717/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664689558/u/49/f/661066/c/35285/s/2ce11717/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Wander Postcard Project is the brainchild of the team at social media start-up Wander. They asked some of their favourite designers and illustrators to imagine a postcard from everywhere and...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2ce11717/l/0L0Swebdesignerdepot0N0C20A130C0A60Cside0Eproject0Ethe0Ewander0Epostcard0Eproject0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31120/guest@my.umbc.edu/23da11be4e12f0195dbfcbb55a6f2dfe/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrations</Tag>
<Tag>illustrator</Tag>
<Tag>ipad-wallpapers</Tag>
<Tag>iphone-wallpapers</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>postcards</Tag>
<Tag>posters</Tag>
<Tag>sql</Tag>
<Tag>wander-postcard-project</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>Wed, 05 Jun 2013 10:15:49 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30847" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30847">
<Title>Tool Kit: Building Your Own Web Site, Free</Title>
<Body>
<![CDATA[
    <div class="html-content">Internet users have many free, feature-rich services to choose from — no coding skills required.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F06%2Ftechnology%2Fpersonaltech%2Fbuilding-your-own-web-site-free.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Tool+Kit%3A+Building+Your+Own+Web+Site%2C+Free" 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%2F06%2F06%2Ftechnology%2Fpersonaltech%2Fbuilding-your-own-web-site-free.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Tool+Kit%3A+Building+Your+Own+Web+Site%2C+Free" 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%2F06%2F06%2Ftechnology%2Fpersonaltech%2Fbuilding-your-own-web-site-free.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Tool+Kit%3A+Building+Your+Own+Web+Site%2C+Free" 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%2F06%2F06%2Ftechnology%2Fpersonaltech%2Fbuilding-your-own-web-site-free.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Tool+Kit%3A+Building+Your+Own+Web+Site%2C+Free" 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%2F06%2F06%2Ftechnology%2Fpersonaltech%2Fbuilding-your-own-web-site-free.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Tool+Kit%3A+Building+Your+Own+Web+Site%2C+Free" 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/165664869888/u/0/f/640387/c/34625/s/2ce14c7a/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664869888/u/0/f/640387/c/34625/s/2ce14c7a/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Internet users have many free, feature-rich services to choose from — no coding skills required.     </Summary>
<Website>http://www.nytimes.com/2013/06/06/technology/personaltech/building-your-own-web-site-free.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30847/guest@my.umbc.edu/6f36013abf726314c2a48f7476ec348f/api/pixel</TrackingUrl>
<Tag>aol-inc-aol-nyse</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>gartner-inc-it-nyse</Tag>
<Tag>linkedin-corporation-lnkd-nyse</Tag>
<Tag>new</Tag>
<Tag>social-networking-internet</Tag>
<Tag>technology</Tag>
<Tag>weebly-inc</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>Wed, 05 Jun 2013 10:09:12 -0400</PostedAt>
</NewsItem>

</News>
