<?xml version="1.0"?>
<News hasArchived="true" page="8981" pageCount="10708" pageSize="10" timestamp="Sun, 28 Jun 2026 09:30:35 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8981">
<NewsItem contentIssues="true" id="25269" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25269">
<Title>Highly recommended Summer Environmental Leadership Program</Title>
<Tagline>Students are encouraged to apply, gain key skills &amp; support</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <h5>Highly recommended Summer Environmental Leadership Program for students: <br>
    </h5>
    <h5><span></span></h5>
    <h5><span><span>Do
     you want to learn how to make change through organizing? Sprog is a 
    program run across the country that will give you the skills and the 
    confidence to make the change you want to see in the world. Apply at <a href="http://ssc.wearepowershift.org/sprog" rel="nofollow external" class="bo"><span>http://</span>ssc.wearepowershift.org/sprog</a>!</span></span></h5>
    </div>
]]>
</Body>
<Summary>Highly recommended Summer Environmental Leadership Program for students:       Do  you want to learn how to make change through organizing? Sprog is a  program run across the country that will...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25269/guest@my.umbc.edu/1a04e0cb544d979627555aa362957bb9/api/pixel</TrackingUrl>
<Group token="sustainability">Sustainability Matters at UMBC</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/sustainability</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/original.png?1586269437</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/large.png?1586269437</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/medium.png?1586269437</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/small.png?1586269437</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxsmall.png?1586269437</AvatarUrl>
<Sponsor>UMBC SUSTAINABILITY</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/xxlarge.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/xlarge.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/large.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/medium.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/small.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/xsmall.jpg?1362521386</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/025/269/5a3f14123cb2123e5a861d42dfa7e14c/xxsmall.jpg?1362521386</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 18:06:39 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="25800" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25800">
<Title>Using SVG</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>SVG is an image format for vector graphics. It literally means <strong>Scalable Vector Graphics</strong>. Basically, what you work with in Adobe Illustrator. You can use SVG on the web pretty easily, but there is plenty you should know.</p>
    <p></p>
    <h3>Why use SVG at all?</h3>
    <ul>
    <li>Small file sizes that compress well</li>
    <li>Scales to any size without losing clarity (except very tiny)</li>
    <li>Looks great on retina displays</li>
    <li>Design control like interactivity and filters</li>
    </ul>
    <h3>Getting some SVG to work with</h3>
    <p>Design something in Adobe Illustrator. Here's a Kiwi bird standing on an oval.</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/kiwi.png" alt="" style="max-width: 100%; height: auto;">
    <p>Notice the artboard is cropped up right agains the edges of the design. Canvas matters in SVG just like it would in PNG or JPG.</p>
    <p>You can save the file directly from Adobe Illustrator as an SVG file.</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/save-as-svg.png" alt="" style="max-width: 100%; height: auto;">
    <p>As you save it, you'll get another dialog for SVG Options. I honestly don't know much about all this. There is a whole spec for <a href="http://www.w3.org/TR/SVGMobile/" rel="nofollow external" class="bo">SVG Profiles</a>. I find SVG 1.1 works fine.</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/svg-options.png" alt="" style="max-width: 100%; height: auto;">
    <p>The interesting part here is that you can either press OK and save the file, or press "SVG Code..." and it will open TextEdit (on a Mac anyway) with the SVG code in it. </p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/svg-code.png" alt="" style="max-width: 100%; height: auto;">
    <p>Both can be useful.</p>
    <h3>Using SVG as an &lt;img&gt;</h3>
    <p>If I save the SVG to a file, I can use it directly in an <code>&lt;img&gt;</code> tag.</p>
    <pre><code>&lt;img src="kiwi.svg" alt="Kiwi standing on oval"&gt;</code></pre>
    <p>In Illustrator, our artboard was 612px ✕ 502px.</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/artboard.png" alt="" style="max-width: 100%; height: auto;">
    <p>That's exactly how big the image will on the page, left to itself. You can change the size of it though just by selecting the <code>img</code> and changing its <code>width</code> or <code>height</code>, again like you could a PNG or JPG. Here's <a href="http://codepen.io/chriscoyier/pen/evcBu" rel="nofollow external" class="bo">an example</a> of that:</p>
    <pre><a href="http://codepen.io/chriscoyier/pen/lCEux" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <h4>Browser support</h4>
    <p>Using it this way has its own set of specific <a href="http://caniuse.com/#feat=svg-img" rel="nofollow external" class="bo">browser support</a>. Essentially: it works everywhere except IE 8 and down and Android 2.3 and down. </p>
    <p>If you'd like to use SVG, but also neeed to support these browsers that don't support using SVG in this way, you have options. I've covered different techniques in <a href="http://css-tricks.com/workshop-notes-webstock-13/" rel="nofollow external" class="bo">different</a> <a href="http://css-tricks.com/workshop-notes-from-incontrol-hawaii/" rel="nofollow external" class="bo">workshops</a> <a href="http://css-tricks.com/deseret-digital-workshop/" rel="nofollow external" class="bo">I've done</a>. </p>
    <p>One way is to test for support with Modernizr and swap out the <code>src</code> of the image:</p>
    <pre><code>if (!Modernizr.svg) {&#x000A;      $(".logo img").attr("src", "images/logo.png");&#x000A;    }</code></pre>
    <p>David Bushell has a really <a href="http://dbushell.com/2013/02/04/a-primer-to-front-end-svg-hacking/" rel="nofollow external" class="bo">simple alternative</a>, if you're OK with JavaScript in the markup:</p>
    <pre><code>&lt;img src="image.svg" onerror="this.onerror=null; this.src='image.png'"&gt;</code></pre>
    <p><a href="http://benhowdle.im/svgeezy/" rel="nofollow external" class="bo">SVGeezy</a> can also help. We'll cover more fallback techniques as this article progresses.</p>
    <h3>Using SVG as a background-image</h3>
    <p>Similarly easy to using SVG as an img, you can use it in CSS as a <code>background-image</code>.</p>
    <pre><code>&lt;a href="/" class="logo"&gt;&#x000A;      Kiwi Corp&#x000A;    &lt;/a&gt;</code></pre>
    <pre><code>.logo {&#x000A;      display: block;&#x000A;      text-indent: -9999px;&#x000A;      width: 100px;&#x000A;      height: 82px;&#x000A;      background: url(kiwi.svg);&#x000A;      background-size: 100px 82px;&#x000A;    }</code></pre>
    <p>Notice we set the background-size to the size of the logo element. We have to do that otherwise we'll just see a bit of the upper left of our much larger original SVG image. These numbers are aspect-ratio aware of the original size. But you could use a <code>background-size</code> keywords like <code>contain</code> if you want to make sure the image will fit and can't know the parent image will be of the exact right size.</p>
    <h4>Browser support</h4>
    <p>Using SVG as background-image has its own special set of <a href="http://caniuse.com/#feat=svg-css" rel="nofollow external" class="bo">browser support</a>, but it's essentially the same as using SVG as img. The only problem browsers are IE 8 and down and Android 2.3 and down.</p>
    <p>Modernizr can help us here, and in a more efficient way than using img. If we replace the background-image with a supported format, only one HTTP request will be made instead of two. Modernizr adds a class name of "no-svg" to the html element if it doesn't support SVG, so we use that:</p>
    <pre><code>.main-header {&#x000A;      background: url(logo.svg) no-repeat top left;&#x000A;      background-size: contain;&#x000A;    }&#x000A;    &#x000A;    .no-svg .main-header {&#x000A;      background-image: url(logo.png);&#x000A;    }</code></pre>
    <h3>The problem with both &lt;img&gt; and background-image...</h3>
    <p>Is that you don't get to control the innards of the SVG with CSS like you can with the following two ways. Read on!</p>
    <h3>Using "inline" SVG</h3>
    <p>Remember how you can grab the SVG code right from Illustrator while saving if you want? (You can also just open the SVG file in a text editor and grab that code.) You can drop that code right into an HTML document and the SVG image will show up just the same as if you put it in an img.</p>
    <pre><code>&lt;body&gt;&#x000A;    &#x000A;       &lt;!-- paste in SVG code, image shows up!  --&gt;&#x000A;    &#x000A;    &lt;/body&gt;</code></pre>
    <p>This can be nice because the image comes over right in the document and doesn't need to make an additional HTTP request. In other words, it has the same advantages as using a <a href="http://css-tricks.com/data-uris/" rel="nofollow external" class="bo">Data URI</a>. It has the same disadvantages too. A potentially "bloated" document, a big chunk of crap right in the document you're trying to author, and inability to cache.</p>
    <p>If you're using a back end language that can go fetch the file and insert it, at least you can clean up the authoring experience. Like:</p>
    <pre><code>&lt;?php include("kiwi.svg"); ?&gt;</code></pre>
    <h4>Optimize it first</h4>
    <p>Likely not a huge shocker, but the SVG that Adobe Illustrator gives you isn't particularly optimized. It has a DOCTYPE and generator notes and all that junk. SVG is already pretty small, but why not do all we can?  Peter Collingridge has an online <a href="http://petercollingridge.appspot.com/svg_optimiser" rel="nofollow external" class="bo">SVG Optimiser</a> tool. Upload the old, download the new. In <a href="http://www.youtube.com/watch?v=iVzW3XuOm7E&amp;feature=youtu.be" rel="nofollow external" class="bo">Kyle Foster's video</a>, he even takes it the extra mile and removes line breaks after this optimization. </p>
    <p>If you're even more hardcore, here is a <a href="https://github.com/svg/svgo" rel="nofollow external" class="bo">Node JS tool</a> for doing it yourself.</p>
    <h4>Now you can control with CSS!</h4>
    <p>See how the SVG looks a lot like HTML? That's because they are both essentially XML (named tags with angle brackets with stuff inside). In our design, we have two elements that make up the design, an <code>&lt;ellipse&gt;</code> and an <code>&lt;path&gt;</code>. We can jump into the code and give them class names, just like any other HTML element can have.</p>
    <pre><code>&lt;svg ...&gt;&#x000A;      &lt;ellipse class="ground" .../&gt;&#x000A;      &lt;path class="kiwi" .../&gt;&#x000A;    &lt;/svg&gt;</code></pre>
    <p>Now in any CSS on this page we can control those individual elements with special SVG CSS. This doesn't have to be CSS embedded in the SVG itself, it can be anywhere, even in our global stylesheet <code>&lt;link&gt;</code>ed up. Note that SVG elements have a special set of CSS properties that work on them. For instance, it's not <code>background-color</code>, it's <code>fill</code>. You can use normal stuff like :hover though.</p>
    <pre><code>.kiwi {&#x000A;      fill: #94d31b; &#x000A;    }&#x000A;    .kiwi:hover {&#x000A;      fill: #ace63c; &#x000A;    }</code></pre>
    <p>Even cooler, SVG has all these fancy filters. For instance blurring. Chuck a filter in your <code>&lt;svg&gt;</code>:</p>
    <pre><code>&lt;svg ...&gt;&#x000A;      ...&#x000A;      &lt;filter id="pictureFilter" &gt;&#x000A;        &lt;feGaussianBlur stdDeviation="5" /&gt;&#x000A;      &lt;/filter&gt; &#x000A;    &lt;/svg&gt;</code></pre>
    <p>Then you can apply that in your CSS as needed:</p>
    <pre><code>.ground:hover {&#x000A;      filter: url(#pictureFilter);&#x000A;    }</code></pre>
    <p>Here's <a href="http://codepen.io/chriscoyier/pen/evcBu" rel="nofollow external" class="bo">an example</a> of all that:</p>
    <pre><a href="http://codepen.io/chriscoyier/pen/evcBu" rel="nofollow external" class="bo">Check out this Pen!</a></pre>
    <ul>
    <li><a href="https://developer.mozilla.org/en-US/docs/Applying_SVG_effects_to_HTML_content" rel="nofollow external" class="bo">More on applying filters to SVG</a></li>
    <li>
    <a href="http://www.opera.com/docs/specs/presto25/svg/cssproperties/" rel="nofollow external" class="bo">The best list I could find on SVG-specific CSS properties</a> (specific to Opera)</li>
    <li>
    <a href="http://ie.microsoft.com/testdrive/graphics/hands-on-css3/hands-on_svg-filter-effects.htm" rel="nofollow external" class="bo">SVG filter effects playground</a> (from Microsoft)</li>
    </ul>
    <h4>Browser support</h4>
    <p>Inline SVG has it's own <a href="http://caniuse.com/#feat=svg-html5" rel="nofollow external" class="bo">set of browser support</a>, but again, it's essentially only an issue in IE 8 and down and Android 2.3 and down<sup>1</sup>. </p>
    <p>One way to handle fallbacks for this type of SVG is:</p>
    <pre><code>&lt;svg&gt; ... &lt;/svg&gt;&#x000A;    &lt;div class="fallback"&gt;&lt;/div&gt;</code></pre>
    <p>Then use Modernizr again:</p>
    <pre><code>.logo-fallback { &#x000A;      display: none;&#x000A;      /* Make sure it's the same size as the SVG takes up */&#x000A;    }&#x000A;    .no-svg .logo-fallback { &#x000A;      background-image: url(logo.png); &#x000A;    }</code></pre>
    <h3>Using SVG as an &lt;object&gt;</h3>
    <p>If "inline" SVG just isn't your jam (remember it does have some legit drawbacks like being hard to cache), you can link to an SVG file and retain the ability to affect its parts with CSS by using <code>&lt;object&gt;</code>.</p>
    <pre><code>&lt;object type="image/svg+xml" data="kiwi.svg" class="logo"&gt;&#x000A;      Kiwi Logo &lt;!-- fallback image in CSS --&gt;&#x000A;    &lt;/object&gt;</code></pre>
    <p>For the fallback, Modernizr detection will work fine here:</p>
    <pre><code>.no-svg .logo {&#x000A;      width: 200px;&#x000A;      height: 164px;&#x000A;      background-image: url(kiwi.png);&#x000A;    }</code></pre>
    <p>This will work great with caching and actually has <em>deeper</em> support than using it any other way. But, if you want the CSS stuff to work, you can't use an external stylesheet or <code>&lt;style&gt;</code> on the document, you need to use a <code>&lt;style&gt;</code> element inside the SVG file itself.</p>
    <pre><code>&lt;svg ...&gt;&#x000A;      &lt;style&gt;&#x000A;        /* SVG specific fancy CSS styling here */&#x000A;      &lt;/style&gt;&#x000A;      ...&#x000A;    &lt;/svg&gt;</code></pre>
    <h4>External stylesheets for &lt;object&gt; SVG</h4>
    <p>SVG has a way to declare an external stylesheet, which can be nice for authoring and caching and whatnot. This only works with <code>&lt;object&gt;</code> embedding of SVG files as far as I've tested. You'll need to put this in the SVG file above the opening <code>&lt;svg&gt;</code> tag. </p>
    <pre><code>&lt;?xml-stylesheet type="text/css" href="svg.css" ?&gt;</code></pre>
    <p>If you put that in your HTML, the page will barf and not even try to render. If you link up an SVG file that has that in it as an <code>&lt;img&gt;</code> or <code>background-image</code>, it won't barf, but it won't work (the SVG will still render though). </p>
    <h3>Data URI's for SVG</h3>
    <p>A way to shrink SVG's even smaller is to convert them into Data URI's. Mobilefish.com has <a href="http://www.mobilefish.com/services/base64/base64.php" rel="nofollow external" class="bo">an online conversion tool</a> for that. Simply paste in the contents of your SVG file and fill out the form and it will display the results in a textarea for you to copy. Remember to remove line breaks in the data it gives you back. It looks like pure gibberish:</p>
    <img src="http://cdn.css-tricks.com/wp-content/uploads/2013/03/base64-data.png" alt="" style="max-width: 100%; height: auto;">
    <p>You can use that anywhere we've talked about so far (except inline <code>&lt;svg&gt;</code> because that just doesn't make sense) Just put the gibberish where it says [data] in these examples.</p>
    <h4>As &lt;img&gt;</h4>
    <pre><code>&lt;img src="data:image/svg+xml;base64,[data]&gt;</code></pre>
    <h4>As CSS</h4>
    <pre><code>.logo {&#x000A;      background: url(data:image/svg+xml;base64,[data]);&#x000A;    }</code></pre>
    <h4>As &lt;object&gt;</h4>
    <pre><code>&lt;object type="image/svg+xml" data="data:image/svg+xml;base64,[data]&gt;&#x000A;      fallback&#x000A;    &lt;/object&gt;</code></pre>
    <p>And yep, if you have an embedded <code>&lt;style&gt;</code> in your SVG before you base64 it, <a href="http://codepen.io/chriscoyier/pen/ioCjk" rel="nofollow external" class="bo">it will work</a> if you use it as an <code>&lt;object&gt;</code> still!</p>
    <p>For the hardcore, Filament group has <a href="https://github.com/filamentgroup/grunticon" rel="nofollow external" class="bo">grunticon</a> for automating the process.</p>
    <p>Command line thingy for base64ing SVG:</p>
    <blockquote>
    <p>@<a href="https://twitter.com/chriscoyier" rel="nofollow external" class="bo">chriscoyier</a> @<a href="https://twitter.com/hkfoster" rel="nofollow external" class="bo">hkfoster</a> maybe you could take a shortcut with &gt;&gt;&gt; echo -n `cat logo.svg` | base64 | pbcopy</p>
    <p>— Benny Schudel (@bennyschudel) <a href="https://twitter.com/bennyschudel/status/307963605998006273" rel="nofollow external" class="bo">March 2, 2013</a></p>
    </blockquote>
    <p></p>
    <p>Or alternatively <a href="http://superuser.com/questions/120796/os-x-base64-encode-via-command-line#comment280484_120815" rel="nofollow external" class="bo">Mathias Bynens has some techniques</a>:</p>
    <blockquote><p>Use <code>openssl base64 &lt; path/to/file.png | tr -d '\n' | pbcopy</code> or <code>cat path/to/file.png | openssl base64 | tr -d '\n' | pbcopy</code> to skip writing to a file and just copy the base64-encoded output to the clipboard without the line breaks.</p></blockquote>
    <h3>Related Stuff!</h3>
    <ul>
    <li>David Bushell: <a href="http://dbushell.com/2013/02/04/a-primer-to-front-end-svg-hacking/" rel="nofollow external" class="bo">A Primer to Front-end SVG Hacking</a>
    </li>
    <li>David Bushell: <a href="http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/" rel="nofollow external" class="bo">Resolution Independence With SVG</a>
    </li>
    <li><a href="https://developer.mozilla.org/en-US/docs/SVG" rel="nofollow external" class="bo">MDN on SVG</a></li>
    <li>Browser support for <a href="http://caniuse.com/#search=svg" rel="nofollow external" class="bo">a variety of different SVG related things</a>.</li>
    <li>Peter Gasston: <a href="http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-identifiers/" rel="nofollow external" class="bo">Better SVG Sprites With Fragment Identifiers</a>
    </li>
    <li>simuari: <a href="http://simurai.com/post/20251013889/svg-stacks" rel="nofollow external" class="bo">SVG Stacks</a>
    </li>
    <li>
    <a href="http://svgjs.com/" rel="nofollow external" class="bo">SVG.js</a> - "A lightweight library for manipulating and animating SVG."</li>
    <li>Emmet has <a href="http://docs.emmet.io/actions/base64/" rel="nofollow external" class="bo">an awesome way</a> to get a data URI from an SVG right from your code editor.</li>
    <li>Compass <a href="http://compass-style.org/reference/compass/helpers/inline-data/" rel="nofollow external" class="bo">has a helper</a> for data URIs too.</li>
    <li>Adobe: <a href="http://blogs.adobe.com/webplatform/2013/01/08/svg-styling/" rel="nofollow external" class="bo">Styling SVG</a>
    </li>
    <li>Andrew J. Baker: <a href="http://buildnewgames.com/taming-the-svg-beast/" rel="nofollow external" class="bo">Taming the SVG Beast</a>
    </li>
    <li>Illustrator alternatives: <a href="http://inkscape.org/" rel="nofollow external" class="bo">Inkscape</a>, <a href="http://www.bohemiancoding.com/sketch/#4" rel="nofollow external" class="bo">Sketch</a>
    </li>
    <li>Krister Kari: <a href="http://kristerkari.github.com/adventures-in-webkit-land/blog/2013/03/08/dealing-with-svg-images-in-mobile-browsers/" rel="nofollow external" class="bo">Dealing with SVG images in mobile browsers</a>
    </li>
    </ul>
    <p>Kyle Foster's <a href="http://www.youtube.com/watch?v=iVzW3XuOm7E&amp;feature=youtu.be" rel="nofollow external" class="bo">An Optimized SVG Workflow</a>, which is worth an embed:</p>
    <p></p>
    <div class="embed-container"><iframe src="http://www.youtube.com/embed/iVzW3XuOm7E?rel=0" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <p>... and the <a href="http://www.youtube.com/watch?v=1AdX8odLC8M&amp;feature=youtu.be" rel="nofollow external" class="bo">follow up</a> + <a href="http://kylefoster.me/svg-slides/" rel="nofollow external" class="bo">slides</a>.</p>
    <hr>
    <p><sup>1</sup> <small>And speaking of Android 2.3 browser, <a href="https://twitter.com/paul_irish/status/309037258638512129" rel="nofollow external" class="bo">this</a>. But if you absolutely have to support the native browser, <a href="http://www.kendoui.com/blogs/teamblog/posts/12-02-17/using_svg_on_android_2_x_and_kendo_ui_dataviz.aspx" rel="nofollow external" class="bo">this</a>.</small></p>
    <p><small><a href="http://css-tricks.com/using-svg/" rel="nofollow external" class="bo">Using SVG</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>SVG is an image format for vector graphics. It literally means Scalable Vector Graphics. Basically, what you work with in Adobe Illustrator. You can use SVG on the web pretty easily, but there is...</Summary>
<Website>http://css-tricks.com/using-svg/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25800/guest@my.umbc.edu/15fc5911d73285163f220362e9be88c3/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, 05 Mar 2013 17:58:55 -0500</PostedAt>
<EditAt>Tue, 05 Mar 2013 17:58:55 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="25267" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25267">
<Title>Employer Information Sessions - Spring 2013</Title>
<Body>
<![CDATA[
    <div class="html-content">Information sessions are a great opportunity to meet one-on one with company recruiters, to network, and to gather information on potential employers (and as a bonus, many employers offer food during their session).   Information sessions offer students the chance to make a great, in-person impression.  <br><br>The following employers will be at UMBC this semester to meet with students to discuss their organizations and employment opportunities. These sessions offer students the chance to network and really prepare for the application process and/or interviews with the hosting organizations. Please RSVP via the Events tab in your UMBCworks account (access myUMBC under the Jobs &amp; Internships topic in myUMBC). The complete employer information session schedule can be viewed here.<div><br></div>
    <div><br></div>
    <div>
    <div>** Software Engineering Institute of Carnegie Mellon University<br>        March 26 ~ 5:00 - 6:30 pm</div>
    <div>        Commons 331<br><br><span>** Peace Corps<br>        March 28 ~ 4:00 - 5:00 pm<br>Math/Psych 210<br><br>** Harris Corporation<br>        April 3 ~ 6:00 - 7:00 pm<br>        Commons 331<br><br>** U.S. Patent and Trademark Office<br>        April 4 ~ 5:00 - 6:00 pm<br>        Commons 331<br><br></span>** Peace Corps<br>        April 11 ~ 4:00 - 5:00 pm<br>Math/Psych 210<span>    </span><br><br>
    </div>
    <div><div>
    <span>For the full Information Session schedule visit our website.</span><br>
    </div></div>
    </div>
    </div>
]]>
</Body>
<Summary>Information sessions are a great opportunity to meet one-on one with company recruiters, to network, and to gather information on potential employers (and as a bonus, many employers offer food...</Summary>
<Website>http://www.careers.umbc.edu/news_events/calendar.php?event_type=Information%20Session</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25267/guest@my.umbc.edu/e17556e0971ded156b02d467484e8c8b/api/pixel</TrackingUrl>
<Tag>campus</Tag>
<Tag>career</Tag>
<Tag>center</Tag>
<Tag>fall</Tag>
<Tag>information</Tag>
<Tag>jobs</Tag>
<Tag>on</Tag>
<Tag>recruitment</Tag>
<Tag>services</Tag>
<Tag>sessions</Tag>
<Tag>showing</Tag>
<Group token="careers">Career Center</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/careers</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/original.jpg?1411655278</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/large.png?1411655278</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/medium.png?1411655278</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/small.png?1411655278</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxsmall.png?1411655278</AvatarUrl>
<Sponsor>Career Services Center</Sponsor>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:29:18 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="25266" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25266">
<Title>Corporate Visibility Days - Spring 2013</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><span>Each semester UMBC sets aside several days for partnering organizations to be showcased on campus. Through our Corporate Visibility Days program, organizations are given the opportunity to highlight themselves to the UMBC student body.  Traditional schedules include information sessions, career-related workshops,networking opportunities and lunch.</span></p>
    <p><span>Held from 11:00 am - 2:00 pm, <strong>you do not need to attend the entire event</strong>, please stop by when you are able and stay for as long as you can!</span></p>
    <p><span>** National Security Agency (NSA)<br>March 13 ~ 11:00 am - 2:00 pm<br></span><span>University Center 312<br><br>** Next Century Corporation<br>March 27 ~ </span><span>11:00 am - 2:00 pm<br>U</span><span>niversity Center 312</span></p>
    <p><span>** Kennedy Krieger Institute<br>April 4 ~ 11:00 am - 2:00 pm<br>Commons 331<br><br>** Mitre Corporation<br>April 10 ~ 11:00 am - 2:00 pm<br></span><span>University Center 312</span><span><br><br></span></p>
    <p><span><br></span></p>
    <p><span><br></span></p>
    </div>
]]>
</Body>
<Summary>Each semester UMBC sets aside several days for partnering organizations to be showcased on campus. Through our Corporate Visibility Days program, organizations are given the opportunity to...</Summary>
<Website>http://www.careers.umbc.edu/news_events/oci/calendar.php?event_type=OCI</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25266/guest@my.umbc.edu/38c2554e3c22f02aeaece47209bdc37b/api/pixel</TrackingUrl>
<Group token="careers">Career Center</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/careers</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/original.jpg?1411655278</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/large.png?1411655278</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/medium.png?1411655278</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/small.png?1411655278</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxsmall.png?1411655278</AvatarUrl>
<Sponsor>Career Services Center</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:24:09 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="25264" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25264">
<Title>Full-Time Entry-Level Jobs</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>The following full-time positions have been posted within the past week to UMBCworks. Login to your account (via the link in the Jobs &amp; Internships topic in myUMBC) and find details and application instructions as well as hundreds of other job postings! </p>
    <p>9256862 - Application Support Analyst - Brown Advisory<br>9256859 - Software Developer - RDA Corporation<br>9256860 - Product Support Representative - Brookes Publishing Company<br>9256840 - Financial Representative - Northwestern Mutual Financial Network<br>9256809 - Java Developer - i3 Analytics</p>
    <p><br></p>
    </div>
]]>
</Body>
<Summary>The following full-time positions have been posted within the past week to UMBCworks. Login to your account (via the link in the Jobs &amp; Internships topic in myUMBC) and find details and...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25264/guest@my.umbc.edu/1af8b0e7e6442040095c894bbea186e6/api/pixel</TrackingUrl>
<Tag>entry</Tag>
<Tag>featured-jobs</Tag>
<Tag>full</Tag>
<Tag>job</Tag>
<Tag>level</Tag>
<Tag>time</Tag>
<Group token="careers">Career Center</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/careers</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/original.jpg?1411655278</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/large.png?1411655278</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/medium.png?1411655278</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/small.png?1411655278</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxsmall.png?1411655278</AvatarUrl>
<Sponsor>Career Services Center</Sponsor>
<PawCount>3</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:20:33 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="25265" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25265">
<Title>Amethyst Ghana Limited Is Now Operating In Ghana</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><strong><span>FOR IMMEDIATE RELEASE:</span></strong></p>
    
    
    
    <p><strong><span>CONTACT:</span></strong><span><br></span></p>
    <p><span>Kimberly Brown PhD</span><span><br></span></p>
    <p><span>CEO Amethyst Ghana Limited</span></p>
    <p><span><a href="mailto:kabrown@amethysttech.com" rel="nofollow external" class="bo"><span>kabrown@amethysttech.com</span></a></span><span><a rel="nofollow external" class="bo"><span><br></span></a></span></p>
    <p><span><a rel="nofollow external" class="bo"><span>+233509679051</span></a> or
    001-443-543-5578</span></p>
    
    <p><span> </span></p>
    
    <p><span>March 5, 2013</span></p>
    
    <p><span> </span></p>
    
    <p><span>Amethyst Ghana Limited Is Now Operating
    In Ghana</span></p>
    
    <p><span> </span></p>
    
    <p><span>Amethyst Ghana Limited (AGL) is based
    in Accra, Ghana and provides technical services and ICT implementation for quality
    and compliance to international standards in critical sectors including
    healthcare, agriculture, and manufacturing.   AGL provides expert
    value added services to assist with a specific compliance issue or provides
    comprehensive services that include program development, training, ICT
    integration, equipment service, and management. We have a multi-disciplined
    team which includes professional engineers, scientists, software developers,
    and experienced technicians who have a track record of delivering for critical programs
    in Africa.  AGL is supported by the U.S. based parent company, Amethyst Technologies,
    LLC an ISO 9001 and 17025 registered company which has been supporting the U.S.
    Federal government with its Malaria Initiative, lab strengthening programs, and
    global initiatives in quality and compliance to international standards in East
    Africa for four years.</span></p>
    
    <p><span> </span></p>
    
    <p><span>AGL is a company with an unwavering
    focus on quality and specializes in integrating quality assurance innovatively
    into its client’s missions whether the end activity is improved patient treatment
    and safety to ISO standards, pharmaceutical manufacturing in accordance to GMP,
    research and development, safe and fresh food for rural communities, or
    implementation of ICT systems to support global health programs.  Comments
    from Amethyst’s partners in East Africa that attest to the quality of work and
    dedication to deliver include: “We value Amethyst’s capabilities in Tanzania
    and we intend to continue the relationship” , “ My opinion is that Amethyst
    Technologies provides an unique set of capabilities in Africa particularly in
    public health infrastructure development”.  </span></p>
    
    <p><span> </span></p>
    
    <p><span>For more information, contact us by
    email at </span><span><a href="mailto:info@amethysttech.com" rel="nofollow external" class="bo"><span>info@amethysttech.com</span></a></span><span> or
    by telephone in the U.S.:  001-443-543-5576, in Ghana:   <a rel="nofollow external" class="bo"><span>+233244573421</span></a>.</span></p>
    
    <p><span> </span></p>
    
    <p><span>Kimberly
    Brown, Ph.D.<br>
    CEO<br>
    Amethyst Technologies, LLC <em>an ISO 9001:2008 company</em><br>
    <em><span>"Changing the World One SOP, Software
    Application, Calibration, Validation, and Sustainable Lab at a time"</span></em><br>
    <br>
    1450 S. Rolling Road<br>
    Suite 4.001<br>
    Baltimore, MD 21227<br>
    p. <a rel="nofollow external" class="bo"><span>443.543.5576</span></a>
    f. <a rel="nofollow external" class="bo"><span>443.543.5574</span></a><br>
    <a href="http://www.amethysttech.com/" rel="nofollow external" class="bo"><span>www.amethysttech.com</span></a></span></p>
    
    <p><span><a href="http://www.globaloutcomes.org/" rel="nofollow external" class="bo"><span>www.globaloutcomes.org</span></a></span></p>
    
    </div>
]]>
</Body>
<Summary>FOR IMMEDIATE RELEASE:      CONTACT:   Kimberly Brown PhD   CEO Amethyst Ghana Limited  kabrown@amethysttech.com   +233509679051 or 001-443-543-5578         March 5, 2013         Amethyst Ghana...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25265/guest@my.umbc.edu/7ce9b57263dc50d1a64656eba0f0277d/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>Tue, 05 Mar 2013 16:17:42 -0500</PostedAt>
<EditAt>Tue, 05 Mar 2013 16:20:37 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="25263" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25263">
<Title>Part-Time Jobs</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>The following part-time positions have been posted within the past week to UMBCworks. Login to your account (via the link in the Jobs &amp; Internships topic in myUMBC) and find details and application instructions as well as hundreds of other job postings!</p>
    <p>9256822 - Line Cook - The Rumor Mill Fusion Bar &amp; Restaurant<br>9256821 - Receptionist/Data Entry - Bill's Music House, Inc<br>9256790 - Technical Assistant - Baltimore County Police Department<br>9256773 - Sales Associate - Shrerwin Williams (Arbutus)<br><br></p>
    <p><br></p>
    </div>
]]>
</Body>
<Summary>The following part-time positions have been posted within the past week to UMBCworks. Login to your account (via the link in the Jobs &amp; Internships topic in myUMBC) and find details and...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25263/guest@my.umbc.edu/f3771d32ac0d2d6dee1c04b74fe0fcf2/api/pixel</TrackingUrl>
<Tag>featured-jobs</Tag>
<Tag>jobs</Tag>
<Tag>part-time</Tag>
<Group token="careers">Career Center</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/careers</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/original.jpg?1411655278</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xlarge.png?1411655278</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/large.png?1411655278</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/medium.png?1411655278</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/small.png?1411655278</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xsmall.png?1411655278</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/018/729f2c7eeeab66f50f4ab3677539a585/xxsmall.png?1411655278</AvatarUrl>
<Sponsor>Career Services Center</Sponsor>
<PawCount>2</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:15:23 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="26021" important="false" status="posted" url="https://my3.my.umbc.edu/posts/26021">
<Title>Headless Functional Testing with Selenium and PhantomJS</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=30545&amp;c=820088560" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=30545&amp;c=820088560" alt="" style="max-width: 100%; height: auto;"></a><p>Let’s build a system for performing functional tests on web applications, using Selenium and PhantomJS. The resulting system will allow us to write easy test scenarios in JavaScript, and test those scenarios both in real browsers and a headless simulator.</p>
    <p></p>
    <hr>
    <h2>Choosing Components</h2>
    <blockquote><p> The obvious downside to Selenium is that it requires a full graphical desktop for any and all tests.</p></blockquote>
    <p>To begin, we have to choose a browser control or emulation engine to simulate an end-user. For a long time, the primary player in this field was <a href="http://seleniumhq.org/" rel="nofollow external" class="bo">Selenium</a>, and it still is. Selenium allows for automated control of real browsers on real operating systems, which is its primary advantage: you can be absolutely certain that the tests represent reality as closely as possible.</p>
    <p>The obvious downside to Selenium is that it requires a full graphical desktop for any and all tests. As a result, your tests can become slow. However, Selenium can be fantastic, if you have the necessary resources to set up virtual machines for different operating systems and connect it all together.</p>
    <p>On the opposite end of the spectrum is <a href="http://phantomjs.org/" rel="nofollow external" class="bo">PhantomJS</a>: A small, but excellent project, running a WebKit engine with full JavaScript access, but without the graphical portion. PhantomJS is a cinch to set up, runs on any machine, and is significantly faster.</p>
    <blockquote><p> Selenium can now control PhantomJS in the same way that it does any other browser.</p></blockquote>
    <p>PhantomJS, being a full WebKit, covers 90% of your functional testing needs. After all, if your application runs in WebKit correctly, it’s likely that it will run correctly in other browsers. <em>Obviously, this excludes Internet Explorer 6–8</em>.</p>
    <p>However, as your project becomes increasingly popular, that remaining 10% becomes a significant issue. If your functional testing suite is set up on PhantomJS directly, it would be a pain to rewrite the tests for Selenium.</p>
    <p>Luckily, recently, <a href="http://phantomjs.org/release-1.8.html" rel="nofollow external" class="bo">near the tail end of 2012</a>, we received a gift in the form of PhantomJS bindings to Selenium. In other words, Selenium can now control PhantomJS in the same way that it does any other browser.</p>
    <p>Given that Selenium, itself, does not need any complicated setup and can run anywhere, we can use Selenium bindings to control PhantomJS and cover 90% of our testing needs. If you later need more powerful testing, you can set up extra browser connections to Selenium without changing a single line in your code.</p>
    <p>Thus, our choice for browser engine are <a href="http://seleniumhq.org/" rel="nofollow external" class="bo">Selenium</a> with <a href="http://phantomjs.org/" rel="nofollow external" class="bo">PhantomJS</a>.</p>
    <h3>Describing Tests</h3>
    <p>Selenium offers bindings in most popular programming languages, so we can choose a language according to our needs. This is perhaps the most controversial piece of this article: I consider JavaScript to be the best choice for describing functional tests for websites and web applications.</p>
    <ul>
    <li>No matter which back-end technology you use, your front-end will always use JavaScript (<em>This applies even if you use a language that compiles down to vanilla JavaScript, like CoffeeScript or TypeScript.</em>). As such, JavaScript will always be an understood language by at least one person on your team.</li>
    <li>Next, consider the possibility for your functional tests to be written by non-programmers. The popularity of JavaScript on the front-end, combined with expressiveness in the ability to create clear domain-specific languages, clearly allows more people to write functional tests.</li>
    <li>Lastly, it’s only natural to control a test browser with JavaScript, given that it is highly asynchronous, and is what we control the browser with on a daily basis.</li>
    </ul>
    <p>Selenium bindings for JavaScript are called, <a href="https://github.com/Camme/webdriverjs/" rel="nofollow external" class="bo">webdriverjs</a>. Although the project is less mature than <a href="http://seleniumhq.org/download/#client-drivers" rel="nofollow external" class="bo">officially supported</a> drivers for Java, C#, Ruby and Python, it nevertheless already contains most of the functionality that we require.</p>
    <h3>Test running</h3>
    <blockquote><p> For the purposes of this article, <a href="http://visionmedia.github.com/mocha/" rel="nofollow external" class="bo">Mocha</a> with <a href="http://chaijs.com/" rel="nofollow external" class="bo">Chai</a> have been selected.</p></blockquote>
    <p>Finally, we need a test runner, or an application to run tests by name, and pretty-print the output, while noting how many tests succeeded or failed. This test runner should also offer an assertion library, which allows the coder to express if a test succeeds or fails.</p>
    <p>The choice is absolutely free here. There are plenty of JavaScript test runners, but for the purposes of this article, <a href="http://visionmedia.github.com/mocha/" rel="nofollow external" class="bo">Mocha</a> with <a href="http://chaijs.com/" rel="nofollow external" class="bo">Chai</a> have been selected. Mocha provides a considerable amount of flexibility, a wide variety of output formats, and the popular Jasmine-like syntax. Chai allows you to write descriptive BDD-like assertions.</p>
    <hr>
    <h2>Setup</h2>
    <p>Here’s the final stack that we’ll be using:</p>
    <ol>
    <li> <a href="http://visionmedia.github.com/mocha/" rel="nofollow external" class="bo">Mocha</a> – test runner</li>
    <li> <a href="http://chaijs.com/" rel="nofollow external" class="bo">Chai</a> – assertion library</li>
    <li> <a href="https://github.com/Camme/webdriverjs/" rel="nofollow external" class="bo">webdriverjs</a> – browser control bindings</li>
    <li> <a href="http://seleniumhq.org/" rel="nofollow external" class="bo">Selenium</a> – browser abstraction and running factory</li>
    <li> <a href="http://phantomjs.org/" rel="nofollow external" class="bo">PhantomJS</a> – fast headless browser</li>
    </ol>
    <h3>Node.js and npm</h3>
    <p>Because most of our stack is based on JavaScript, we need <a href="http://nodejs.org/" rel="nofollow external" class="bo">node.js</a> and <a href="https://npmjs.org/" rel="nofollow external" class="bo">npm</a>. Both of these are common tools in the community, and I’ll assume that you already have them set up. If you don’t, use the installer on the <a href="http://nodejs.org/" rel="nofollow external" class="bo">node.js website</a>. Don’t worry; if anything goes wrong, there are plenty of Node install guides available around the web.</p>
    <h3>Mocha, Chai and webdriverjs</h3>
    <p>All three of these can be installed, using <code>npm</code>:</p>
    <pre>sudo npm install -g mocha chai webdriverjs&#x000A;    </pre>
    <p>Alternatively, you can install them locally in the directory where your tests are located:</p>
    <pre>npm install mocha chai webdriverjs&#x000A;    </pre>
    <h3>Selenium</h3>
    <p><a href="http://seleniumhq.org/download/" rel="nofollow external" class="bo">Download Selenium Server</a>. It is distributed as a single <code>jar</code> file, which you run simply:</p>
    <pre>java -jar selenium-server-standalone-2.28.0.jar&#x000A;    </pre>
    <p>As soon as you execute this command, it boots up a server to which your testing code will connect later on. Please note that you will need to run Selenium Server every time that you run your tests.</p>
    <h3>PhantomJS</h3>
    <h4>Quick version</h4>
    <p>Use <code>npm</code> to install PhantomJS globally:</p>
    <pre>sudo npm install -g phantomjs&#x000A;    </pre>
    <h4>Other options</h4>
    <p>We require a fresh version of PhantomJS – at least 1.8. This means that packages provided by your package manager (<code>apt-get</code>, MacPorts, …) will most likely be outdated.</p>
    <p>You can install using npm without a global installation, or <a href="http://phantomjs.org/download.html" rel="nofollow external" class="bo">using other methods</a> manually. In this case, however, you will have to tell Selenium where you placed PhantomJS every time you run Selenium:</p>
    <pre>PATH="/path/to/node_modules/phantomjs/bin:$PATH" java -jar selenium-server-standalone-2.28.0.jar&#x000A;    </pre>
    <hr>
    <h2>Combining Everything</h2>
    <p>Now that we have all the pieces, we have to put everything together.</p>
    <p>Remember: before running any tests, you have to run Selenium Server:</p>
    <pre>java -jar selenium-server-standalone-2.28.0.jar&#x000A;    </pre>
    <p>Selenium will run PhantomJS internally; you don’t have to worry about that.</p>
    <p>Now, we need to connect to Selenium from our JavaScript. Here’s a sample snippet, which will initiate a connection to Selenium and have a ready object to control our Selenium instance:</p>
    <pre>// Use webdriverjs to create a Selenium Client&#x000A;    var client = require('webdriverjs').remote({&#x000A;        desiredCapabilities: {&#x000A;            // You may choose other browsers&#x000A;            // <a href="http://code.google.com/p/selenium/wiki/DesiredCapabilities">http://code.google.com/p/selenium/wiki/DesiredCapabilities</a>&#x000A;            browserName: 'phantomjs'&#x000A;        },&#x000A;        // webdriverjs has a lot of output which is generally useless&#x000A;        // However, if anything goes wrong, remove this to see more details&#x000A;        logLevel: 'silent'&#x000A;    });&#x000A;    &#x000A;    client.init();&#x000A;    </pre>
    <p>Now, we can describe our tests and use the <code>client</code> variable to control the browser. A full reference for the webdriverjs API is <a href="https://github.com/Camme/webdriverjs#list-of-current-helper-methods" rel="nofollow external" class="bo">available in the documentation</a>, but here’s a short example:</p>
    <pre>client.url('<a href="http://example.com/">http://example.com/</a>')&#x000A;    client.getTitle(function(title){&#x000A;        console.log('Title is', title);&#x000A;    });&#x000A;    client.setValue('#field', 'value');&#x000A;    client.submitForm();&#x000A;    client.end();&#x000A;    </pre>
    <p>Let’s use the Mocha and Chai syntax to describe a test; we’ll test some properties of the <code>example.com</code> web page:</p>
    <pre>describe('Test example.com', function(){&#x000A;        before(function(done) {&#x000A;            client.init().url('<a href="http://example.com">http://example.com</a>', done);&#x000A;        });&#x000A;    &#x000A;        describe('Check homepage', function(){&#x000A;            it('should see the correct title', function(done) {&#x000A;                client.getTitle(function(title){&#x000A;                    expect(title).to.have.string('Example Domain');&#x000A;                    done();&#x000A;                });&#x000A;            });&#x000A;    &#x000A;            it('should see the body', function(done) {&#x000A;                client.getText('p', function(p){&#x000A;                    expect(title).to.have.string(&#x000A;                        'for illustrative examples in documents.'&#x000A;                    );&#x000A;                    done();&#x000A;                })&#x000A;            });&#x000A;        });&#x000A;    &#x000A;        after(function(done) {&#x000A;            client.end();&#x000A;            done();&#x000A;        });&#x000A;    });&#x000A;    </pre>
    <p>You might want to share one <code>client</code> initialization over many test files. Create a small Node module to initialize and import it into every test file:</p>
    <p><code>client.js</code>:</p>
    <pre>exports.client = require('webdriverjs').remote({&#x000A;        // Settings&#x000A;    };&#x000A;    </pre>
    <p><code>test.js</code>:</p>
    <pre>var client = require('./client').client;&#x000A;    var expect = require('chai').expect;&#x000A;    &#x000A;    // Perform tests&#x000A;    </pre>
    <hr>
    <h2>Running</h2>
    <p>Mocha test suites are execute with the <code>mocha</code> binary. If you followed this guide and installed Mocha locally, then you should describe a full path to the binary yourself: <code>node_modules/mocha/bin/mocha</code>.</p>
    <p>By default, Mocha treats any test that takes longer than two seconds as failed. Given that we are actually initializing a web browser and making an HTTP request, we need to increase this timeout to 5 or 10 seconds:</p>
    <pre>node_modules/mocha/bin/mocha test.js -t 10000&#x000A;    </pre>
    <p>If everything went according to plan, you should see output like this:</p>
    <pre>  .&#x000A;    &#x000A;      ✔ 1 &lt;span class="nb"&gt;test complete&lt;/span&gt;&#x000A;    </pre>
    <hr>
    <h2>The Next Steps</h2>
    <p>Once you’ve achieved your desired functional testing results, you may want to consider improving your setup further.</p>
    <p>Two obvious directions are continuous integration and distributed Selenium testing.</p>
    <h3>Continuous integration</h3>
    <blockquote><p> Your goal should be to minimize the time that you spend running tests.</p></blockquote>
    <p>You might want to use a full automatic continuous integration server, which will run the tests whenever needed automatically, and inform you if anything goes wrong.</p>
    <p>In the world of open source, the role of such a server is covered by <a href="http://jenkins-ci.org/" rel="nofollow external" class="bo">Jenkins CI</a>: a convenient, powerful, easy to install service, which will run the tests whenever needed, execute them in any configuration that you provide, and possibly run many more build-related tasks, such as deploying your code to remote servers.</p>
    <p>Alternatively, if you feel adventurous, you might experiment with a new project, called <a href="https://github.com/gitlabhq/gitlab-ci/blob/master/README.md" rel="nofollow external" class="bo">GitLab CI</a>, which offers less features, but looks better and is integrated with <a href="http://gitlabhq.com/" rel="nofollow external" class="bo">GitLab</a>, a self hosted GitHub clone.</p>
    <p>In any case, your goal should be to minimize the time that you spend running tests. Instead, the tests should be run automatically and should only inform you if anything goes wrong.</p>
    <h3>Selenium Grid</h3>
    <p>Selenium has a number of implementation limitations. For example, you cannot run more than a few browsers on the same machine to be tested with Selenium.</p>
    <p>In addition, you will notice that, once you have many tests, running all of them can become a lengthy process. Although continuous integration partly alleviates this problem, you might still want to run some tests in parallel on different machines.</p>
    <p>Finally, you will soon notice that you want to test different browsers on different operating systems. And, while your testing code can, in theory, talk to different Selenium servers, once you grow a little, this setup needs centralization.</p>
    <p><a href="https://code.google.com/p/selenium/wiki/Grid2" rel="nofollow external" class="bo">Selenium Grid</a> setup tries to provide exactly that. Instead of having one Selenium server control a bunch of browsers on a machine, you have one Selenium server, which controls multiple Selenium nodes, each which controls only a few browsers on a single operating system.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>The resulting stack, although not trivial, in reality, is quite simple. The addition of PhantomJS to the Selenium end allows us to begin using Selenium without much initial investment, such as setting up graphical test servers.</p>
    <p>The usage of JavaScript as a testing engine ensures that our tests will be kept relevant in the context of web development for the foreseeable future.</p>
    </div>
]]>
</Body>
<Summary>Let’s build a system for performing functional tests on web applications, using Selenium and PhantomJS. The resulting system will allow us to write easy test scenarios in JavaScript, and test...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/8JPH6b0g1iM/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/26021/guest@my.umbc.edu/f66c679aed46948e8df43319740095fa/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>javascript-and-ajax</Tag>
<Tag>mysql</Tag>
<Tag>phantomjs</Tag>
<Tag>php</Tag>
<Tag>selenium</Tag>
<Tag>sql</Tag>
<Tag>testing</Tag>
<Tag>wed</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:05:49 -0500</PostedAt>
<EditAt>Tue, 05 Mar 2013 16:05:49 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="25268" important="false" status="posted" url="https://my3.my.umbc.edu/posts/25268">
<Title>Veterans Tackle the Challenges of Entrepreneurship</Title>
<Body>
<![CDATA[
    <div class="html-content">New programs help veterans harness their unique skills -- including determination, creative problem-solving and risk tolerance -- to overcome the challenges of starting a business.</div>
]]>
</Body>
<Summary>New programs help veterans harness their unique skills -- including determination, creative problem-solving and risk tolerance -- to overcome the challenges of starting a business.</Summary>
<Website>http://feedproxy.google.com/~r/YoungentrepreneurcomBlog/~3/toJ9LEHvkJY/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/25268/guest@my.umbc.edu/651e327d08da3154aa639ac988fdec7d/api/pixel</TrackingUrl>
<Tag>business-management</Tag>
<Tag>management-lessons</Tag>
<Tag>overcoming-obstacles</Tag>
<Tag>starting-a-business</Tag>
<Tag>startup-business-ideas</Tag>
<Tag>startup-financing</Tag>
<Group token="entrepreneurship">Alex. Brown Center for Entrepreneurship</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/entrepreneurship</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/original.jpg?1771000363</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/large.png?1771000363</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/medium.png?1771000363</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/small.png?1771000363</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxsmall.png?1771000363</AvatarUrl>
<Sponsor>The Alex. Brown Center for Entrepreneurship</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 16:00:18 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="123445" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123445">
<Title>Career Q&amp;A: Magician Peter Wood &#8217;06, Theatre</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <img width="150" height="150" src="https://umbc.edu/wp-content/uploads/2013/03/woodbrothers-150x150.jpg" alt="" style="max-width: 100%; height: auto;"><div>
    <a href="/wp-content/uploads/2013/02/woodbrothers.jpg" rel="nofollow external" class="bo"><img alt="Matt and Peter Wood, magicians" src="/wp-content/uploads/2013/02/woodbrothers.jpg?w=248" width="248" height="300" style="max-width: 100%; height: auto;"></a>Matt and Peter Wood, magicians
    <p><em>Every so often, we’ll chat with an alum about what they do and how they got there. Today, we’re talking with <strong>Peter Wood ’06, theatre</strong>, a magician whose new show, <a href="http://TimelessDeceptions.com/tickets" rel="nofollow external" class="bo">Timeless Deceptions</a>, opens next month in Columbia, MD. Read more about how he and his brother, Matt, a current UMBC student, are living out a dream that started on Peter’s fifth birthday…</em></p>
    </div>
    
    
    <div><span><strong>Name:</strong> Peter Wood ’06, theatre<br>
    </span></div>
    <div><span><strong>Job: </strong> Corporate Magician<br>
    <strong>Company:</strong>  Shazam Magic<br>
    <strong>Websites:</strong>  <a href="http://shazammagic.com" rel="nofollow external" class="bo">http://shazammagic.com</a> or <a href="http://TimelessDeceptions.com/tickets" rel="nofollow external" class="bo">http://TimelessDeceptions.com/tickets</a><br>
    </span></div>
    <div><span> </span></div>
    <div><span><strong>Q:</strong>  <em>In a few words, describe the type of magic you do. Would your work remind us of any particular magicians we’ve seen?</em></span></div>
    <div><span><strong>A: </strong> The magic I share is very interactive, because I really try to treat the audience as my co-stars in the show and not just “spectators” watching from afar.  I’m a fan of magicians from the turn of the 20th century, so the look and feel of my shows tends to be more Vaudeville and less Vegas.  I’m closer to the magicians you’ve seen in <em>The Prestige </em>and <em>The Illusionist</em> than guys you’ve seen on television.</span></div>
    <div><span> </span></div>
    <div><span><strong>Q: </strong> <em>Tell us a little about how you got into magic in the first place.</em></span></div>
    <div><span><strong>A:</strong>  As a fifth birthday present, my parents got me a Blackstone magic kit, with all sorts of little plastic and cardboard magic supplies.  We went to the library, and I’d just soak up all the books they had on magic.  Once I outgrew the sets they sold in toy stores, we started going to Barry’s Magic Shop, which had every kind of trick imaginable, beginner to professional.  I got paid to do my first show when I was 10, started “Shazam Magic” later that year, and haven’t stopped yet!</span></div>
    <div><span> </span></div>
    <div><span><strong>Q: </strong> <em>What’s it like performing magic for corporate groups? Would you approach a corporate job differently than, say, one for a room full of families?</em></span></div>
    <div><span><strong>A:</strong>  With a family crowd, I’m really performing two shows at once: one full of jokes and gags for the kids, and another whole layer of material just for the adults.  But with my corporate audiences, I get to share more “intellectual” magic, like card tricks and mind-reading feats.  Each group is rewarding in their own way, and the variety of entertaining different groups keeps it fun for me.</span></div>
    <div><span> </span></div>
    <div><span><strong>Q:</strong>  <em>What’s the craziest thing ever to happen to you onstage?</em></span></div>
    <div><span><strong>A: </strong> A few years ago, Matt and I were invited to the Nigerian Embassy in Washington, DC.  When we arrived, our contact gave us a huge list of restrictions: no magic wands, nothing with fire, and no speaking the word “magic.”  Matt says he was backstage cracking up as I tried to edit – on the fly – such an integral word out of my script.  I’m still not sure why they hired us, but thankfully the audience was very kind, and the show went remarkably well.</span></div>
    <div><span> </span></div>
    <div><span><strong>Q:</strong>  <em>How’s it feel to be using your theatre degree in this way? And to be working with your brother, a current UMBC student?</em></span></div>
    <div><span><strong>A: </strong> I love performing, but my degree is actually in the technical side of theatre.  So when I build my own equipment, or have to work with the sound or lighting at a venue, I’m tapping into skills honed at UMBC.  Working with Matt always makes the show better, both for me and the audience.  In addition to running sound and managing props (both of which he does masterfully), he’ll join me onstage for several partner routines.  It’s a great chance to tap into the kind of dynamic that The Marx Brothers and Penn &amp; Teller have built their careers on.</span></div>
    <div><span> </span></div>
    <div><span><strong>Q:</strong>  <em>What trick would you most like for people to remember about you and why?</em></span></div>
    <div><span><strong>A: </strong> Honestly, I hope my best “trick” is giving people a break from reality, if only for an hour or two.  If my enthusiasm is contagious, if they’re engaged and interacting, then they’ll unconsciously put aside whatever might have been troubling them before the show.  Ultimately, my goal isn’t for people to say “You should see what this guy can do,” but just simply “You should see this guy.”</span></div>
    </div>
]]>
</Body>
<Summary>Matt and Peter Wood, magicians  Every so often, we’ll chat with an alum about what they do and how they got there. Today, we’re talking with Peter Wood ’06, theatre, a magician whose new show,...</Summary>
<Website>https://umbc.edu/stories/career-qa-magician-peter-wood-06-theatre/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123445/guest@my.umbc.edu/a205364d93d95937bddfe1dd7bc58f0b/api/pixel</TrackingUrl>
<Tag>alumni</Tag>
<Group token="umbc-news-magazine">UMBC News &amp;amp; Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news-magazine</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/original.png?1748556657</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/large.png?1748556657</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/medium.png?1748556657</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/small.png?1748556657</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxsmall.png?1748556657</AvatarUrl>
<Sponsor>UMBC News &amp; Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 05 Mar 2013 14:41:35 -0500</PostedAt>
</NewsItem>

</News>
