<?xml version="1.0"?>
<News hasArchived="true" page="8713" pageCount="10851" pageSize="10" timestamp="Mon, 05 Oct 2026 07:50:00 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8713&amp;range=30">
<NewsItem contentIssues="true" id="31795" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31795">
<Title>Gadgetwise Blog: Q&amp;A: Recycling Responsibly at Any Time</Title>
<Body>
<![CDATA[
    <div class="html-content">Even if you miss the local e-waste recycling day, you can find other places to accept old computers and electronics gear for recycling, reuse or resale.<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%2F25%2Fqa-recycling-responsibly-at-any-time%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Q%26A%3A+Recycling+Responsibly+at+Any+Time" 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%2F25%2Fqa-recycling-responsibly-at-any-time%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Q%26A%3A+Recycling+Responsibly+at+Any+Time" 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%2F25%2Fqa-recycling-responsibly-at-any-time%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Q%26A%3A+Recycling+Responsibly+at+Any+Time" 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%2F25%2Fqa-recycling-responsibly-at-any-time%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Q%26A%3A+Recycling+Responsibly+at+Any+Time" 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%2F25%2Fqa-recycling-responsibly-at-any-time%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Q%26A%3A+Recycling+Responsibly+at+Any+Time" 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/165665527660/u/0/f/640387/c/34625/s/2dc41449/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665527660/u/0/f/640387/c/34625/s/2dc41449/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Even if you miss the local e-waste recycling day, you can find other places to accept old computers and electronics gear for recycling, reuse or resale.     </Summary>
<Website>http://gadgetwise.blogs.nytimes.com/2013/06/25/qa-recycling-responsibly-at-any-time/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31795/guest@my.umbc.edu/f918426432aa495df79b4af4bacf0fe0/api/pixel</TrackingUrl>
<Tag>best-buy-company-inc</Tag>
<Tag>best-buy-company-inc-bby-nyse</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>dell-inc</Tag>
<Tag>dell-inc-dell-nasdaq</Tag>
<Tag>electronics</Tag>
<Tag>environmental-protection-agency</Tag>
<Tag>gazelle-com</Tag>
<Tag>goodwill-industries</Tag>
<Tag>new</Tag>
<Tag>q-and-a</Tag>
<Tag>recycling-of-waste-materials</Tag>
<Tag>software</Tag>
<Tag>technology</Tag>
<Tag>waste-materials-and-disposal</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 09:00:35 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="31793" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31793">
<Title>30 Days/30 Scholarships: Q&amp;A with 2013 Valedictorian Asif Majid</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://umbcgiving.files.wordpress.com/2013/06/majidasif.jpg" rel="nofollow external" class="bo"><img alt="Majid,Asif" src="http://umbcgiving.files.wordpress.com/2013/06/majidasif.jpg?w=300&amp;h=142" width="300" height="142" style="max-width: 100%; height: auto;"></a>When students have the scholarship support they need, they can do AMAZING things. And during the month of June, we’re working hard to help students do just that — make the most of their time at UMBC, and change the world for the better, with the aid of scholarships. Our aim? To raise enough money to award 30 scholarships of $1,000. <a href="https://givecorps.com/en/umbc/projects/463-annual-giving-causes-30-days-30-scholarships" rel="nofollow external" class="bo">It’s a big goal, but you can help us reach it, and when you do, you’ll be helping students in need.</a></p>
    <p>Today we’re featuring 2013 valedictorian and scholarship recipient <strong>Asif Majid ’13, interdisciplinary studies,</strong> who this fall is bound for Georgetown University to study conflict resolution. While at UMBC, Asif (a Sondheim Public Affairs Scholar) not only wrote a play about Moroccan social justice issues while studying abroad in Morocco, he also participated in Model UN and served as a hand drummer in UMBC’s improvisational world music band and principal timpanist for the UMBC Symphony Orchestra.</p>
    <p><strong>Q:</strong> <em>What did it mean to you and your family to be able to rely on scholarship support during your time at UMBC?</em></p>
    <p><strong>A:</strong>  Coming out of high school, one of my main considerations in choosing a university to attend was financial.  Simultaneously, I was concerned with having a sense of community, as close-knit as possible, while at UMBC.  As a Sondheim Public Affairs Scholar, the financial support that I received from the program and the community support I received from my fellow scholars were essential parts of my UMBC experience.</p>
    <p><strong>Q:</strong>  <em>Why did you choose UMBC?</em></p>
    <p><strong>A:</strong>  Rather than me choosing UMBC, I think that UMBC chose me.  Before and during my high school years, my father taught in the Mechanical Engineering Department, my sister was a Meyerhoff Scholar and Interdisciplinary Studies major, and my mother volunteered with the Meyerhoff Parents’ Association.  UMBC has been a constant presence in my life, and it seemed a natural fit when it came time to choose an undergraduate institution.  Receiving financial support from the school only sweetened the deal.</p>
    <p><strong>Q:</strong>  <em>We know that students who receive the support they need can do amazing things at UMBC. What are you most proud of accomplishing in your time at UMBC?</em></p>
    <p><strong>A:</strong>  Though UMBC has afforded me many opportunities and given me support to be successful in many arenas, I would say that I am most humbled and honored to have achieved excellence within the Interdisciplinary Studies Department (INDS).  Designing my own major, conducting independent research through my capstone and social justice theatre project, integrating a study abroad experience into my undergraduate career, and making history as the first valedictorian from INDS are simply my way of saying thank you to the exceptional department that has been my home for the past four years.</p>
    <p><strong>Q: </strong> <em>How did it feel to be able to address your classmates as valedictorian?</em></p>
    <p><strong>A: </strong> It is an impossible task to speak for anyone else, let alone to represent the experiences of thousands of students at a university as diverse as UMBC.  Holding fast to the idea that any good valedictory address is not about the valedictorian but about the graduates as a whole, I chose to speak in terms of ideas and principles such as risk-taking and remembering our origins.  Each graduate has a unique experience that is theirs alone, and I wanted to acknowledge that journey.</p>
    <p><strong>Q: </strong><em> I understand you’re planning on studying conflict resolution at Georgetown. Where do you hope your studies take you?</em></p>
    <p><strong>A: </strong> I feel that my life lines up alongside the motto of The Honors College: “Learning for Living.”  Infused with such an idea after my time at UMBC, I aim for my studies to propel me in the direction of being a conflict transformation scholar-practitioner.  This will involve working in the intersections of the performing arts, experiential education, conflict transformation, and humanitarian emergencies while also thinking, teaching, and writing about how to improve the conditions of others in conflict zones.  For me, the convergence of learning and living is an exciting interstitial space that I believe will characterize my future.</p>
    <br>   </div>
]]>
</Body>
<Summary>When students have the scholarship support they need, they can do AMAZING things. And during the month of June, we’re working hard to help students do just that — make the most of their time at...</Summary>
<Website>http://umbcgiving.wordpress.com/2013/06/25/30-days30-scholarships-qa-with-2013-valedictorian-asif-majid/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31793/guest@my.umbc.edu/ac7801b5375e30902326b2a74b8051f1/api/pixel</TrackingUrl>
<Tag>uncategorized</Tag>
<Group token="retired-548">UMBC Giving</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-548</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/images/avatars/group/11/xsmall.png?1790700049</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/images/avatars/group/11/original.png?1790700049</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/images/avatars/group/11/xxlarge.png?1790700049</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/images/avatars/group/11/xlarge.png?1790700049</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/images/avatars/group/11/large.png?1790700049</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/images/avatars/group/11/medium.png?1790700049</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/images/avatars/group/11/small.png?1790700049</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/images/avatars/group/11/xsmall.png?1790700049</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/images/avatars/group/11/xxsmall.png?1790700049</AvatarUrl>
<Sponsor>UMBC Giving</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 08:52:35 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="106962" important="false" status="posted" url="https://my3.my.umbc.edu/posts/106962">
<Title>30 Days/30 Scholarships: Q&amp;A with 2013 Valedictorian Asif Majid</Title>
<Body>
<![CDATA[
    <div class="html-content">When students have the scholarship support they need, they can do AMAZING things. And during the month of June, we’re …</div>
]]>
</Body>
<Summary>When students have the scholarship support they need, they can do AMAZING things. And during the month of June, we’re …</Summary>
<Website>https://magazine.umbc.edu/30-days30-scholarships-qa-with-2013-valedictorian-asif-majid/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/106962/guest@my.umbc.edu/80ace3ddb9f19cee6181abf66ca1500e/api/pixel</TrackingUrl>
<Tag>impact</Tag>
<Group token="retired-1945">UMBC Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-1945</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/images/avatars/group/8/xsmall.png?1790700049</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/images/avatars/group/8/original.png?1790700049</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/images/avatars/group/8/xxlarge.png?1790700049</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/images/avatars/group/8/xlarge.png?1790700049</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/images/avatars/group/8/large.png?1790700049</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/images/avatars/group/8/medium.png?1790700049</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/images/avatars/group/8/small.png?1790700049</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/images/avatars/group/8/xsmall.png?1790700049</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/images/avatars/group/8/xxsmall.png?1790700049</AvatarUrl>
<Sponsor>UMBC Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 08:52:35 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="31788" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31788">
<Title>Making Sass talk to JavaScript with JSON</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><em>The following is a guest post by <a href="http://lesjames.com/" rel="nofollow external" class="bo">Les James</a>. Like many of us, Les has been gunning for a solution to responsive images that works for him. In this article he shares a technique he found where he can pass "named" media queries from CSS over to the JavaScript, which uses those names to swap out the image for the appropriate one for that media query. And even automate the process with Sass. HTML purists may balk at the lack of true <code>src</code> on the image, but <a href="http://daverupert.com/2013/06/ughck-images/" rel="nofollow external" class="bo">at this point</a> we gotta do what we gotta do.</em></p>
    <p>Current <a href="http://responsiveimages.org/" rel="nofollow external" class="bo">proposed responsive image solutions</a> require that you inline media query values into HTML tags.</p>
    <pre><code>&lt;picture&gt;&#x000A;        &lt;source media="(min-width: 45em)" src="large.jpg"&gt;&#x000A;        &lt;source media="(min-width: 18em)" src="med.jpg"&gt;&#x000A;        &lt;source src="small.jpg"&gt;&#x000A;        &lt;img src="small.jpg" alt=""&gt;&#x000A;    &lt;/picture&gt;</code></pre>
    <p>This is a problem for me. I like my media queries in one spot, CSS. The above example doesn't feel maintainable to me, and part of that might be due to my approach to RWD. I use the <a href="http://framelessgrid.com/" rel="nofollow external" class="bo">Frameless grid</a> approach to creating layouts. I tell Sass how many columns I want in a layout and it generates a media query to fit it. What this means is that I only think in column counts and I actually have no idea what the actual values of my media queries are.</p>
    <p>When adapting this approach to responsive images, I needed a way to provide meta data around my breakpoints. So when I create a breakpoint, I give it a label. I've recently been a fan of labels like small, medium and large but the labels could be <a href="http://css-tricks.com/naming-media-queries/" rel="nofollow external" class="bo">anything you want</a>. The point is that you name your breakpoints with something meaningful. The goal is to pair those names to matching sources defined in my HTML. The first step is to format our label into something JavaScript can parse.</p>
    <h3>Sass to JSON</h3>
    <p>When I create a breakpoint I call upon a Sass mixin I created. The column count creates a <code>min-width</code> media query to fit that column count. The label gives a name to our media query. </p>
    <pre><code>@include breakpoint(8, $label: "medium") {&#x000A;        /* medium size layout styles go here */&#x000A;    }</code></pre>
    <p>The breakpoint mixin passes that label to a function which formats it into a string of JSON.</p>
    <pre><code>@function breakpoint-label($label) {&#x000A;        @return '{ "current" : "#{$label}" }';&#x000A;    }</code></pre>
    <h3>JSON to CSS</h3>
    <p>Now that we have our label converted to JSON, how do we get it into our CSS? The natural fit for a string is CSS generated content. I use <code>body::before</code> to hold my string because it's the least likely spot for me to actually use for display on the front end. Here is how the label finds its way into CSS from my breakpoint mixin.</p>
    <pre><code>@if($label) { body::before { content: breakpoint-label($label); } }</code></pre>
    <p>Unfortunatly I have to support older browsers and they will have trouble reading our CSS generated content with JavaScript. So we have to place our JSON in one more spot to gain further compatibility. For this I'm going to add our JSON as a font family to the head.</p>
    <pre><code>@if($label) {&#x000A;        body::before { content: breakpoint-label($label); }&#x000A;        .lt-ie9 head { font-family: breakpoint-label($label); }&#x000A;    }</code></pre>
    <h3>CSS to JS</h3>
    <p>Our layout label is now sitting in a JSON string in our CSS. To read it with JavaScript we turn to our friend <code>getComputedStyle</code>. Let's create a function that will grab our JSON and then parse it.</p>
    <pre><code>function getBreakpoint() {&#x000A;        var style = null;&#x000A;        if ( window.getComputedStyle &amp;&amp; window.getComputedStyle(document.body, '::before') ) {&#x000A;            style = window.getComputedStyle(document.body, '::before');&#x000A;            style = style.content;&#x000A;        }&#x000A;        return JSON.parse(style);&#x000A;    }</code></pre>
    <p>For browsers that don't support <code>getComputedStyle</code> we need to throw in a little polyfill and grab the head font family instead.</p>
    <pre><code>function getBreakpoint() {&#x000A;        var style = null;&#x000A;        if ( window.getComputedStyle &amp;&amp; window.getComputedStyle(document.body, '::before') ) {&#x000A;            style = window.getComputedStyle(document.body, '::before');&#x000A;            style = style.content;&#x000A;        } else {&#x000A;            window.getComputedStyle = function(el) {&#x000A;                this.el = el;&#x000A;                this.getPropertyValue = function(prop) {&#x000A;                    var re = /(\-([a-z]){1})/g;&#x000A;                    if (re.test(prop)) {&#x000A;                        prop = prop.replace(re, function () {&#x000A;                            return arguments[2].toUpperCase();&#x000A;                        });&#x000A;                    }&#x000A;                    return el.currentStyle[prop] ? el.currentStyle[prop] : null;&#x000A;                };&#x000A;                return this;&#x000A;            };&#x000A;            style = window.getComputedStyle(document.getElementsByTagName('head')[0]);&#x000A;            style = style.getPropertyValue('font-family');&#x000A;        }&#x000A;        return JSON.parse(style);&#x000A;    }</code></pre>
    <p>There is a major problem with our function right now. Our JSON is passed as a string which means that it is wrapped in quotes, but what kind of quote depends on which browser you are using. WebKit passes the string wrapped in single quotes. Firefox passes the string wrapped in double quotes which means that it escapes the double quotes inside of our JSON. IE8 does something really wierd and adds a <code>; }</code> to the end of our string. To account for these inconsistancies we need one more function to normalize our JSON before we parse it.</p>
    <pre><code>function removeQuotes(string) {&#x000A;        if (typeof string === 'string' || string instanceof String) {&#x000A;            string = string.replace(/^['"]+|\s+|\\|(;\s?})+|['"]$/g, '');&#x000A;        }&#x000A;        return string;&#x000A;    }</code></pre>
    <p>Now before parse the JSON in the return of our <code>getBreakpoint</code> function we just pass the string through our <code>removeQuotes</code> function.</p>
    <pre><code>return JSON.parse( removeQuotes(style) );</code></pre>
    <h3>Image Source Matching</h3>
    <p>JavaScript can now read the label that we defined for each breakpoint. It's trivial at this point to match that label to a responsive image source. Take the following image for example.</p>
    <pre><code>&lt;img data-small="small.jpg" data-large="large.jpg"&gt;</code></pre>
    <p>When the active media query is <code>small</code>, we can have JavaScript match that to <code>data-small</code> and set the source of our image to <code>small.jpg</code>. This works great if you've declaired a source for every breakpoint but as you can see in our example we don't have a source defined for <code>medium</code>. This is a very common scenario. The small image can typically work in larger layouts. Maybe the medium layout just added a sidebar and our image size didn't change. So how does JavaScript know to pull the small source when the layout is medium? For this we need ordering.</p>
    <h3>Sass List to JavaScript Array</h3>
    <p>Every time we create a breakpoint we can store that label in a Sass list. In our breakpoint mixin we can append the label to our list.</p>
    <pre><code>$label-list: append($label-list, $label, comma);</code></pre>
    <p>Assuming that our list defaults to a pre-populated mobile label of <code>small</code> the following breakpoints will create a list of <code>small, medium, large</code>.</p>
    <pre><code>@include breakpoint(8, $label: "medium");&#x000A;    @include breakpoint(12, $label: "large");</code></pre>
    <p>The order you declare your breakpoints in Sass will determine the order of your labels. Let's add this Sass list as an array to our JSON function.</p>
    <pre><code>@function breakpoint-label($label) {&#x000A;        $label-list: append($label-list, $label, comma);&#x000A;        @return '{ "current" : "#{$label}", "all": [#{$label-list}] }';&#x000A;    }</code></pre>
    <p>Now in addition to JavaScript knowing the current breakpoint label it can look at the array we passed and know their order. So if the layout is <code>medium</code> and no matching data attribute is found on our image, JavaScript can find <code>medium</code> in our label array and walk backwards through that array until a matching source is found.</p>
    <h3>In Summary</h3>
    <p>This responsive image solution does something really important for me. By tagging media query values with labels I create flexibility and simplicity. If I change the size of a breakpoint I only have to change it in one place, my Sass. My HTML image sources aren't dependent on the value of my media queries, just their name.</p>
    <p>Although I've accomplished this with Sass, it's actually not necessary. You can manually write your JSON string into your media queries, Sass just helps automate the process. Here is <a href="http://codepen.io/lesjames/pen/hmzwG" rel="nofollow external" class="bo">a simple Pen</a> that uses pure CSS. </p>
    <pre><a href="http://codepen.io/lesjames/pen/hmzwG" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <p>To see a more robust, production quality implementation of this technique check out the code behind my framework <a href="https://github.com/lesjames/breakpoint" rel="nofollow external" class="bo">Breakpoint</a>.</p>
    <p>Please note, if you want your image tags to be valid then stub them with a source like <code>src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D"</code> and please, make sure you provide a <code>&lt;noscript&gt;</code> fallback.</p>
    <p>My hope for sharing this is that it spurs further discussion and ideas around abstracting the complexities and maintainability of responsive images. I'm curious to hear your thoughts and if you have ways to improve this.</p>
    <p>We all stand on the shoulders of giants. Much credit and inspiration for this is due to Jeremy Keith's post <a href="http://adactio.com/journal/5429/" rel="nofollow external" class="bo">Conditional CSS</a> and Viljami Salminen's <a href="http://github.com/viljamis/detectMQ.js" rel="nofollow external" class="bo">detectMQ</a>.</p>
    <hr>
    
    <p><small><a href="http://css-tricks.com/making-sass-talk-to-javascript-with-json/" rel="nofollow external" class="bo">Making Sass talk to JavaScript with JSON</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>The following is a guest post by Les James. Like many of us, Les has been gunning for a solution to responsive images that works for him. In this article he shares a technique he found where he...</Summary>
<Website>http://css-tricks.com/making-sass-talk-to-javascript-with-json/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31788/guest@my.umbc.edu/fbc113725b592b00093be5974b4edeb2/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>Tue, 25 Jun 2013 08:30:10 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="31789" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31789">
<Title>Fact Finder to European Court Backs Google in a Spanish Privacy Battle</Title>
<Body>
<![CDATA[
    <div class="html-content">An expert opinion requested by the Court of Justice said that a wish to eliminate embarrassing information is not sufficient reason to make Google remove public records from search results.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F26%2Fbusiness%2Fglobal%2Feuropean-court-opinion-favors-google-in-privacy-battle.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Fact+Finder+to+European+Court+Backs+Google+in+a+Spanish+Privacy+Battle" 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%2F26%2Fbusiness%2Fglobal%2Feuropean-court-opinion-favors-google-in-privacy-battle.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Fact+Finder+to+European+Court+Backs+Google+in+a+Spanish+Privacy+Battle" 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%2F26%2Fbusiness%2Fglobal%2Feuropean-court-opinion-favors-google-in-privacy-battle.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Fact+Finder+to+European+Court+Backs+Google+in+a+Spanish+Privacy+Battle" 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%2F26%2Fbusiness%2Fglobal%2Feuropean-court-opinion-favors-google-in-privacy-battle.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Fact+Finder+to+European+Court+Backs+Google+in+a+Spanish+Privacy+Battle" 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%2F26%2Fbusiness%2Fglobal%2Feuropean-court-opinion-favors-google-in-privacy-battle.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Fact+Finder+to+European+Court+Backs+Google+in+a+Spanish+Privacy+Battle" 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/165665435491/u/0/f/640387/c/34625/s/2dc39bd0/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665435491/u/0/f/640387/c/34625/s/2dc39bd0/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>An expert opinion requested by the Court of Justice said that a wish to eliminate embarrassing information is not sufficient reason to make Google remove public records from search results.     </Summary>
<Website>http://www.nytimes.com/2013/06/26/business/global/european-court-opinion-favors-google-in-privacy-battle.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31789/guest@my.umbc.edu/39b6fa3df0729afda85fc724c14366fb/api/pixel</TrackingUrl>
<Tag>computers-and-the-internet</Tag>
<Tag>european-parliament</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>new</Tag>
<Tag>privacy</Tag>
<Tag>search-engines</Tag>
<Tag>spain</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 07:05:12 -0400</PostedAt>
<EditAt>Tue, 25 Jun 2013 07:05:12 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="31790" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31790">
<Title>Cyberattacks Disrupt Leading Korean Sites</Title>
<Body>
<![CDATA[
    <div class="html-content">The attacks shut down some of the most important sites in North Korea and also struck some South Korean sites on the anniversary of the start of the Korean War.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F26%2Fworld%2Fasia%2Fcyberattacks-shut-down-leading-korean-sites.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Cyberattacks+Disrupt+Leading+Korean+Sites" 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%2F26%2Fworld%2Fasia%2Fcyberattacks-shut-down-leading-korean-sites.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Cyberattacks+Disrupt+Leading+Korean+Sites" 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%2F26%2Fworld%2Fasia%2Fcyberattacks-shut-down-leading-korean-sites.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Cyberattacks+Disrupt+Leading+Korean+Sites" 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%2F26%2Fworld%2Fasia%2Fcyberattacks-shut-down-leading-korean-sites.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Cyberattacks+Disrupt+Leading+Korean+Sites" 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%2F26%2Fworld%2Fasia%2Fcyberattacks-shut-down-leading-korean-sites.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Cyberattacks+Disrupt+Leading+Korean+Sites" 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/165665435490/u/0/f/640387/c/34625/s/2dc39bcf/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665435490/u/0/f/640387/c/34625/s/2dc39bcf/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The attacks shut down some of the most important sites in North Korea and also struck some South Korean sites on the anniversary of the start of the Korean War.     </Summary>
<Website>http://www.nytimes.com/2013/06/26/world/asia/cyberattacks-shut-down-leading-korean-sites.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31790/guest@my.umbc.edu/444d6c4e5dba44471082c7fd1f901c2c/api/pixel</TrackingUrl>
<Tag>cyberattacks-and-hackers</Tag>
<Tag>korean-war</Tag>
<Tag>new</Tag>
<Tag>north-korea</Tag>
<Tag>south-korea</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 05:48:14 -0400</PostedAt>
<EditAt>Tue, 25 Jun 2013 05:48:14 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="31785" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31785">
<Title>How to design for non-profits</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/06/thumbnail7.jpg" width="200" height="160" style="max-width: 100%; height: auto;">I ought to know a lot about charities and non-profit organizations. My parents are career missionaries; and I grew up in an environment where everyone I knew was dedicated to improving the lives of others. My family moved around a bit, and I spent my childhood and teen years in several different missionary communities in Canada and Mexico, each of which organized their own charitable endeavors.</p> <p>In Ontario, it was a literacy program. In Sinaloa, we brought healthier, organic food and donated goods of all kinds to orphanages and daycares in low-income communities. In Jalisco, there’s a free kitchen for the children of a very poor neighborhood, where they can get at least one good meal per day. In Nuevo León, there are good people going to children’s hospitals to try and cheer up the patients and their relatives alike.</p> <p>As the resident nerd, it often fell to me to create promotional materials and websites for whomever I happened to be working with at the time. After all, these were low-budget operations staffed by few people. Who could afford to hire a professional?</p> <p>Well, the universe loves a joke: I became a professional.</p> <h1>How is design for non-profits different from commercial work?</h1> <p>It isn’t all that different, if you’re doing it right. The same basic principles of design still apply, and you’re still selling something to your users.</p> <p>That’s right, you’re selling something. All design is about selling. In this case, you’re selling a cause. You’re selling a reason for some people to send money to other people. Only it’s a bit harder sometimes, because most of the time, the people dropping the cash don’t reap any direct benefit. This is one reason why even most of the charitable campaigns on Kickstarter and IndieGoGo offer perks and rewards.</p> <p>Just like in any other transaction, you have to convince your users that parting with their money, time, or other resources is a good idea. This is never easy, but it’s not impossible either.</p> <p> </p> <h1>State your goals up-front</h1> <p>I think that every website should be doing this, but in the charity world, transparency is paramount. You want your users to understand, at their first glance at the website, both what it is that you do and what you need from them.</p> <p>You need to be able to describe — in a maximum of three sentences — who you’re helping, how you’re helping them, and how your users can help you. The rest of the content on the website is only there to support the veracity of your initial statements. </p> <p><a href="http://www.cfbnj.org/" rel="nofollow external" class="bo">The Community FoodBank of New Jersey</a> provides an excellent example of this principle. Who are they, and whom are they helping? How are they doing it? Your first clue is in the name. How can you help them? The calls to action are right there, including a “donate” button. (That’s important.)</p> <p>Simple, transparent, and most importantly, <em>obvious</em>.</p> <p><a href="http://www.cfbnj.org/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/foodbank.jpg" width="650" alt="How to design for non profits" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Tell a story</h1> <p>Out of all of the many, many communication tools we have developed over time, there is one that has never been equaled: the story. Most people see their own lives as one big story, somehow seeing themselves at the center of everything that goes on. We are all protagonists in our own minds.</p> <p>Because of this natural narrative — this first-person perspective — we connect with stories, and the characters in them, on a level that almost defies reason. Do you want your users to identify with the people you’re trying to help? Tell them a story that they can’t ignore. You have to bring them down into the dark places, through the pain, and then out on the other side. </p> <p>As a lover of stories myself, I often find myself going over them again and again in my head. I empathize with the pain the characters have gone through. I see the one little plot twist that, had it been explained to the right characters, could have saved them so much pain and heartache. Then, you can tell your users that they can, in fact, change the story. Wow. “Change the story” — somebody steal that from me.</p> <p>The most memorable website that I have ever seen employing this tactic is <a href="http://www.tooyoungtowed.org/" rel="nofollow external" class="bo">Too Young to Wed</a>. They don’t use too many words to tell the stories. Few people have the patience for that anymore. Instead, they use heart-wrenching, compelling imagery to tell the tale.</p> <p><a href="http://www.tooyoungtowed.org/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/tooyoung.jpg" width="650" alt="How to design for non profits" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Use photos of the actual people you’re helping</h1> <p>Don’t ever use stock photos of people. Really… don’t. They already look fake on regular commercial sites. On a charity site, it makes the organization look very scammy. Sadly, there are quite a few scams that claim to be charities, so it’s a valid concern.</p> <p>As a corollary, don’t use pictures of the volunteers or organization administrators in the design. Sure, you can have some on the “About Us” page, or something of the like — just don’t put them front and center. This isn’t about the volunteers. It’s about helping the people that they help.</p> <p>As far as imagery goes, you just can’t compete with pictures of real individuals who have real needs. Get a photographer, or go take the pictures yourself if you have to.</p> <p>Oh, you want examples? Scroll back up and check out Too Young to Wed again, or take a look at <a href="http://smokingtakeslives.org.au/" rel="nofollow external" class="bo">Smoking Takes Lives</a>. Right now, they’re going all out and focusing specifically on one individual, and his story, to great effect.</p> <p><a href="http://smokingtakeslives.org.au/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/06/smoking.jpg" width="650" alt="How to design for non profits" style="max-width: 100%; height: auto;"></a></p> <p>Almost worse than stock photos are staged photos. You know the ones. There’s a bunch of people standing uncomfortably close to fit as many as possible. They’re all wearing death-grins. They may be holding some donated goods aloft. Or maybe one person is passing some food to another person, but they’re both looking at the camera. Then, there was the guy that tried to do all of that <em>and</em> give me the thumbs up while I took the photo.</p> <p>Don’t let anyone pressure you into using those kinds of photos.</p> <p> </p> <h1>Charge money, and other notes on dealing with your charity clients</h1> <p>Dealing with charity and non-profit clients can be a bit different. They’re usually very nice people, with all the best of intentions. They’re also often very opinionated. This is especially true if they’re getting the website for free.</p> <p>Don’t ask me why, but nine times out of ten, people to whom you give free work are much more demanding than the clients who pay you a lot. Maybe they see your time, efforts, and expertise as less valuable, since they’re getting it all for free. Maybe there’s some other reason.</p> <p>This is not to say you shouldn’t try to help. A reasonable discount is often a good way to go, but try to avoid doing anything for free — even for charity.</p> <p>The one notable exception, in my experience, is a project I’m actually still working on. I probably can’t give out details just yet, but I’m working with a team. We’re all volunteers from different parts of the world, including our project manager, who does all of the talking with the clients. This has made the experience much smoother overall.</p> <p>Other than the money issue, you’re likely to run into other, more typical client quirks. In smaller organizations, your client may have done their own newsletters or other promotional materials for a long time. As a result, they might have a tendency to micromanage. </p> <p>One client actually criticized my work for being “too professional”. They thought having design that looked too good would give people the wrong impression about their organization. You know, the kind of stuff that makes for a good story when it’s all over.</p> <p>Heck, aside from helping people, a good story almost makes it worth the trouble.</p> <p> </p> <p><em><strong>Have you designed for non-profits? What tips would you add? 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/photobulk.html?ref=inwidget" rel="nofollow external" class="bo"><strong>PhotoBulk: Batch Photo Editing for Mac – only $4.97!</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="How to design for non profits" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/06/how-to-design-for-non-profits/" rel="nofollow external" class="bo">Source</a> <div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F06%2Fhow-to-design-for-non-profits%2F&amp;t=How+to+design+for+non-profits" 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%2F06%2Fhow-to-design-for-non-profits%2F&amp;t=How+to+design+for+non-profits" 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%2F06%2Fhow-to-design-for-non-profits%2F&amp;t=How+to+design+for+non-profits" 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%2F06%2Fhow-to-design-for-non-profits%2F&amp;t=How+to+design+for+non-profits" 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%2F06%2Fhow-to-design-for-non-profits%2F&amp;t=How+to+design+for+non-profits" 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/165665429350/u/49/f/661066/c/35285/s/2dc1401a/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665429350/u/49/f/661066/c/35285/s/2dc1401a/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>I ought to know a lot about charities and non-profit organizations. My parents are career missionaries; and I grew up in an environment where everyone I knew was dedicated to improving the lives...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2dc1401a/l/0L0Swebdesignerdepot0N0C20A130C0A60Chow0Eto0Edesign0Efor0Enon0Eprofits0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31785/guest@my.umbc.edu/b6bdf2e69a6ff292a0c94b0c1872bb80/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>business</Tag>
<Tag>charity-projects</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>designing-for-charity</Tag>
<Tag>designing-for-non-profits</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tell-a-story</Tag>
<Tag>using-images-for-charities</Tag>
<Tag>web-design</Tag>
<Tag>working-for-free</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 05:15:57 -0400</PostedAt>
<EditAt>Tue, 25 Jun 2013 05:15:57 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="31784" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31784">
<Title>Gadgetwise Blog: Razer&#8217;s Blade a Small, Powerful Gaming Laptop</Title>
<Body>
<![CDATA[
    <div class="html-content">Razer’s 14-inch Blade gaming computer, which at two-thirds of an inch, claims to be the thinnest available, delivers high performance graphics at a high price — $1,800 to $2,300, depending on the amount of memory.<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%2F25%2Frazers-blade-a-small-powerful-gaming-laptop%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Razer%E2%80%99s+Blade+a+Small%2C+Powerful+Gaming+Laptop" 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%2F25%2Frazers-blade-a-small-powerful-gaming-laptop%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Razer%E2%80%99s+Blade+a+Small%2C+Powerful+Gaming+Laptop" 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%2F25%2Frazers-blade-a-small-powerful-gaming-laptop%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Razer%E2%80%99s+Blade+a+Small%2C+Powerful+Gaming+Laptop" 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%2F25%2Frazers-blade-a-small-powerful-gaming-laptop%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Razer%E2%80%99s+Blade+a+Small%2C+Powerful+Gaming+Laptop" 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%2F25%2Frazers-blade-a-small-powerful-gaming-laptop%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Razer%E2%80%99s+Blade+a+Small%2C+Powerful+Gaming+Laptop" 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/165665519281/u/0/f/640387/c/34625/s/2dc1058c/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665519281/u/0/f/640387/c/34625/s/2dc1058c/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Razer’s 14-inch Blade gaming computer, which at two-thirds of an inch, claims to be the thinnest available, delivers high performance graphics at a high price — $1,800 to $2,300, depending on the...</Summary>
<Website>http://gadgetwise.blogs.nytimes.com/2013/06/25/razers-blade-a-small-powerful-gaming-laptop/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31784/guest@my.umbc.edu/061ab400b903cda55e6d369b11fe16f0/api/pixel</TrackingUrl>
<Tag>computer-and-video-games</Tag>
<Tag>new</Tag>
<Tag>razer-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>Tue, 25 Jun 2013 05:00:18 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="31783" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31783">
<Title>Media Queries Are Not The Answer: Element Query Polyfill</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>Responsive Web design has transformed how websites are designed and built. It has inspired us to think beyond device classifications and to use media queries to adapt a layout to the browser’s viewport size. This, however, deviates from the hierarchical structure of CSS and characterizes elements relative to the viewport, instead of to their container.</p>
    <p>Extensive use of media queries might be the answer for today, but it is <strong>not a viable long-term solution</strong>. Media queries do not allow for reusable modules that adapt based on their containers’ size.</p>
    <h3>What Is Responsive Web Design?</h3>
    <p>Responsive Web design is not limited to a set of technologies; rather, it is a different approach to designing and building websites. I, like many, took <a href="http://alistapart.com/article/responsive-web-design" rel="nofollow external" class="bo">Ethan’s words</a> about responsive Web design too literally and overlooked the essence of what was being said:</p>
    <blockquote><p>“Fluid grids, flexible images, and media queries are the three technical ingredients for responsive web design, but it also requires a different way of thinking.”</p></blockquote>
    <p>We have accomplished great things while embracing the stated “technical ingredients” for responsive Web design, but we have much room for growth when it comes to a “different way of thinking.” Thinking differently should affect not only how we design and build our websites, but also how we design and build the tools and technologies that our websites are founded on.</p>
    <h3>Modular Design</h3>
    <p>When I learned about how media queries could be used in responsive Web design, I was excited by the possibilities. However, it was not long before I learned of the limitations. Media queries are great for adapting layouts to various screen sizes, but terrible for creating <a href="http://daverupert.com/2013/04/responsive-deliverables/" rel="nofollow external" class="bo">modular designs</a>. Modular CSS is already hard enough, and media queries provide very little to no help. <strong>Truly modular layouts need to respond to the sizes of containers</strong>, not just to the viewport’s size. Media queries, however, are based on the viewport, rather than an element’s container. There is some hope for standard CSS on the horizon, in the form of a <a href="http://www.w3.org/TR/css3-cascade/#all" rel="nofollow external" class="bo">W3C working draft</a>, by allowing the cascade inheritance to be broken and resetting an element to its defaults. But what about media queries?</p>
    <h3>The @media Hack</h3>
    <p>Web developers are masters at taking something created for one purpose and using it to accomplish other things. The Web’s history is littered with examples of this, and media queries are no exception. Kudos to Ian Storm Taylor for writing down his thoughts in the article “<a href="http://ianstormtaylor.com/media-queries-are-a-hack/" rel="nofollow external" class="bo">Media Queries Are a Hack</a>.” Hacks are necessary on the Web to provide desired functionality until proper support is achieved, as well as to provide support to older browsers. The <a href="http://www.w3.org/TR/css3-mediaqueries/" rel="nofollow external" class="bo">W3C states</a>, “By using media queries, presentations can be tailored to a specific range of output devices <strong>without changing the content itself</strong>.” The key word here is “can,” but just because you <em>can</em> do something, doesn’t mean you <em>should</em>… But do we have any other choice?</p>
    <h3>The Element Query</h3>
    <p>Introducing the element query. An element query is similar to a media query in that, if a condition is met, some CSS will be applied. Element query conditions (such as <code>min-width</code>, <code>max-width</code>, <code>min-height</code> and <code>max-height</code>) are based on elements, instead of the browser. Unfortunately, CSS doesn’t yet support element queries, but that shouldn’t stop us from dreaming, hacking and pushing for new standards.</p>
    <h4>Conceptual Example</h4>
    <p>Consider the following example, in which the navigation menu should become visible when it reaches a minimum width of 500 pixels (representing one of many potential syntaxes):</p>
    <pre><code>nav (min-width: 500px) {&#x000A;    	display: block;&#x000A;    }&#x000A;    </code></pre>
    <p>Compare this to a media query in which the navigation menu’s visibility depends on the viewport’s width and needs to account for the padding and other declarations of parent elements:</p>
    <pre><code>@media all and (min-width: 520px) {&#x000A;    	nav {&#x000A;    		display: block;&#x000A;    	}&#x000A;    }&#x000A;    </code></pre>
    <p>Now imagine having to build a modular component that needs to be placed in containers of various sizes on a single page. One current approach is to provide different theme classes (like <code>.module--large</code>) to trigger CSS in media queries. This, however, adds a lot of complications and requires a module to know how its parent will react to various viewport widths.</p>
    <h4>Issues: Invalid and Looping Conditions</h4>
    <p>There are several cases in which the CSS of an element query would invalidate the element query itself or create recursion. Hopefully, the browser would be able to detect these conditions and respond appropriately.</p>
    <p>Consider the following examples.</p>
    <p>Once an element reaches 500 pixels wide, it’s resized to 200 pixels, at which point the rule would no longer apply:</p>
    <pre><code>.element (min-width: 500px) {&#x000A;    	width: 200px;&#x000A;    }&#x000A;    </code></pre>
    <p>Once an element’s width reaches 31.250 ems, its font size would be decreased, which changes the definition of the em unit:</p>
    <pre><code>.element (min-width: 31.250em) {&#x000A;    	font-size: 0.75em;&#x000A;    }&#x000A;    </code></pre>
    <p>Once a container’s width reaches 450 pixels, the size of its child changes to 400 pixels, which would shrink the size of the container:</p>
    <pre><code>.container { float: left; }&#x000A;    .child { width: 500px; }&#x000A;    .container (min-width: 450px) &gt; .child {&#x000A;    	width: 400px;&#x000A;    }&#x000A;    </code></pre>
    <p>There are many other such examples, but you get the point: Element queries are not as simple as we had hoped.</p>
    <h3>Element Query Polyfill</h3>
    <p>Element queries seem pretty awesome, but they also have some real issues. To help sort these out, I’ve written a proof-of-concept polyfill. The polyfill has enabled me to understand how a browser might react to various conditions. As I got further along, I realized that the polyfill could hold real value in the Web community’s debate on element queries, and that some developers could even start using element queries today.</p>
    <p>The elementQuery polyfill script is available <a href="https://github.com/tysonmatanich" rel="nofollow external" class="bo">on GitHub</a> for you to use, fork and contribute to.</p>
    <h4>Selector Syntax</h4>
    <p>The syntax used in the previous examples caused limitations, so I updated the polyfill to support an attribute selector syntax. The <a href="http://css-tricks.com/attribute-selectors/#rel-space" rel="nofollow external" class="bo"><code>~=</code> attribute selector</a> checks whether the value is contained in a space-delimited list (supported in modern browsers above Internet Explorer 6).</p>
    <p>The following examples show CSS rules using the syntax required for the elementQuery polyfill.</p>
    <p>This rule queries itself for a single condition:</p>
    <pre><code>header[min-width~="500px"] {&#x000A;    	background-color: #eee;&#x000A;    }&#x000A;    </code></pre>
    <p>This rule queries itself for multiple conditions:</p>
    <pre><code>header[min-width~="500px"][max-width~="800px"] {&#x000A;    	background-color: #eee;&#x000A;    }&#x000A;    </code></pre>
    <p>This rule queries a parent for a condition:</p>
    <pre><code>header[min-width~="31.250em"] nav {&#x000A;    	clear: both;&#x000A;    }&#x000A;    </code></pre>
    <h4>How It Works</h4>
    <p>Unfortunately, the elementQuery polyfill requires JavaScript and the <a href="http://sizzlejs.com/" rel="nofollow external" class="bo">Sizzle</a> selector engine (which is embedded in jQuery). When the document object model (DOM) is ready, elementQuery scans the <code>document.styleSheets</code> collection for any CSS rules that use elementQuery. When it finds a match, it extracts the following information:</p>
    <ul>
    <li>
    <strong>Selector</strong><br>
    Such as <code>header</code>, <code>ul &gt; li.class</code>
    </li>
    <li>
    <strong>Query type</strong><br>
    <code>min-width</code>, <code>max-width</code>, <code>min-height</code>, <code>max-height</code>
    </li>
    <li>
    <strong>Query value</strong><br>
    Such as <code>500px</code>, <code>31.250em</code>
    </li>
    </ul>
    <p>elementQuery then uses this information to add or remove attributes from elements that match the given selector and query condition.</p>
    <h4>Expanded Support</h4>
    <p>Most browsers, but not Internet Explorer, don’t provide access to the contents of cross-domain style sheets, which causes issues when CSS files are served from a content delivery network. Additionally, parsing style sheets takes time (not much, though). So, I created two branches for elementQuery: <a href="https://github.com/tysonmatanich/elementQuery" rel="nofollow external" class="bo">master</a> and <a href="https://github.com/tysonmatanich/elementQuery/tree/prod" rel="nofollow external" class="bo">prod</a>. The master branch includes the code for extracting the necessary elementQuery information (selector, query type, query value), and it also provides a <code>selectors()</code> function to export the information. The prod branch requires the information to be declared in JavaScript, which avoids the cross-domain file issue and the time required to parse the style sheets.</p>
    <p>Here is an example of how to export elementQuery information using the master branch:</p>
    <pre><code>console.log(JSON.stringify(elementQuery.selectors()));&#x000A;    </code></pre>
    <p>And here is an example of how to import elementQuery information using the prod branch:</p>
    <pre><code>elementQuery({"header":{"min-width":["500px","31.250em"],"max-width":["800px"]}});&#x000A;    </code></pre>
    <h4>Working Examples</h4>
    <p>I’ve put together a few working examples on CodePen (using the master branch) that you can experiment with or fork. I would love to see what other examples people create (which will probably be much cooler than mine). Just be sure to tag them with <a href="http://codepen.io/tag/elementquery" rel="nofollow external" class="bo">#elementquery</a> so that others can benefit.</p>
    <ul>
    <li>
    <a href="http://codepen.io/tysonmatanich/pen/johpn" rel="nofollow external" class="bo">Grid</a>: nested elements</li>
    <li>
    <a href="http://codepen.io/tysonmatanich/pen/wramd" rel="nofollow external" class="bo">Menu</a>: width-based elementQuery</li>
    <li>
    <a href="http://codepen.io/tysonmatanich/pen/jIBpJ" rel="nofollow external" class="bo">Blockquote</a>: height-based elementQuery</li>
    </ul>
    <h3>Be Creative</h3>
    <p>I didn’t write this just to get you to jump on the element query bandwagon, but rather to encourage people to think about how we can solve the problems that are limiting our medium. Let’s keep the discussion going and make the Web a better place. So, go wild and make cool stuff! </p>
    <ul>
    <li>View <a href="https://github.com/tysonmatanich/elementQuery" rel="nofollow external" class="bo">elementQuery</a> on GitHub.</li>
    </ul>
    <h4>Further Reading</h4>
    <ul>
    <li>“<a href="http://www.matanich.com/2013/06/24/em-values-javascript/" rel="nofollow external" class="bo">Em values in JavaScript</a>,” Tyson Matanich</li>
    <li>“<a href="http://filamentgroup.com/lab/element_query_workarounds/" rel="nofollow external" class="bo">Working Around a Lack of Element Queries</a>,” Filament Group</li>
    <li>“<a href="http://www.xanthir.com/b4PR0" rel="nofollow external" class="bo">Element Queries</a>,” Tab Atkins Jr.</li>
    </ul>
    <p><em>(Source of image on front page: <a href="http://mobile.smashingmagazine.com/2012/10/24/beyond-common-media-query-breakpoints/" rel="nofollow external" class="bo">Looking Beyond Common Media Query Breakpoints</a>)</em></p>
    <p><em>(al) (ea)</em></p>
    <hr>
    <p><small>© Tyson Matanich for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        Responsive Web design has transformed how websites are designed and built. It has inspired us to think beyond device classifications and to use media queries to adapt a layout to the...</Summary>
<Website>http://www.smashingmagazine.com/2013/06/25/media-queries-are-not-the-answer/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31783/guest@my.umbc.edu/f98dbeb8b972c885d7836a2f4f4521b5/api/pixel</TrackingUrl>
<Tag>coding</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 25 Jun 2013 04:28:12 -0400</PostedAt>
<EditAt>Tue, 25 Jun 2013 04:28:12 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="31781" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31781">
<Title>Study Shows Many iPhone Apps Defy Apple&#8217;s Privacy Advice</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Researchers say that over a third of iPhone apps still access a device’s unique identifier.</p>
    <p>In 2011, Apple advised that iPhone and iPad apps should stop logging the unique identifiers of users’ devices, a practice that can be exploited to build up profiles for ad-targeting purposes. But a new study by researchers at the University of California, San Diego, suggests that many apps still do so.</p>
    </div>
]]>
</Body>
<Summary>Researchers say that over a third of iPhone apps still access a device’s unique identifier.  In 2011, Apple advised that iPhone and iPad apps should stop logging the unique identifiers of users’...</Summary>
<Website>http://www.technologyreview.com/news/516416/study-shows-many-iphone-apps-defy-apples-privacy-advice/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31781/guest@my.umbc.edu/02b90899d5f55640340da3ae4671936b/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>Tue, 25 Jun 2013 00:00:00 -0400</PostedAt>
</NewsItem>

</News>
