<?xml version="1.0"?>
<News hasArchived="true" page="7715" pageCount="10929" pageSize="10" timestamp="Fri, 06 Nov 2026 12:01:34 -0500" url="https://my3.my.umbc.edu/posts.xml?page=7715">
<NewsItem contentIssues="true" id="44112" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44112">
<Title>State of the Art: Alibaba I.P.O. May Unleash Global Fight Over Users</Title>
<Body>
<![CDATA[
    <div class="html-content">While the Silicon Valley elite may not seem to care about the coming stock offering, it could signal the start of a global fight for users.<br><br><br><a href="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505423278/u/0/f/640387/c/34625/s/39eee148/sc/21/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>While the Silicon Valley elite may not seem to care about the coming stock offering, it could signal the start of a global fight for users.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/39eee148/sc/21/l/0L0Snytimes0N0C20A140C0A50C0A10Ctechnology0Cafter0Ealibaba0Eipo0Eus0Eweb0Egiants0Emay0Estop0Eignoring0Echinese0Erivals0Bhtml0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44112/guest@my.umbc.edu/2406fcda443a298c9bc9a37f06b73dc9/api/pixel</TrackingUrl>
<Tag>alibaba-com</Tag>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>aol-inc-aol-nyse</Tag>
<Tag>baidu-inc-bidu-nasdaq</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>e-commerce</Tag>
<Tag>ebay-inc-ebay-nasdaq</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>google-inc-googl-nasdaq</Tag>
<Tag>initial-public-offerings</Tag>
<Tag>ma-jack</Tag>
<Tag>new</Tag>
<Tag>silicon-valley-calif</Tag>
<Tag>taobao</Tag>
<Tag>technology</Tag>
<Tag>twitter-twtr-nyse</Tag>
<Tag>yahoo-inc-yhoo-nasdaq</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 14:39:26 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="44024" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44024">
<Title>WARNING: These Pictures May Shock you</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>We in the USA are lucky.</p>
    <p>Over two centuries we have developed a rule of law that values the civil rights and liberties of our citizens.</p>
    <p>True, there’s room for improvement…</p>
    <p>We have yet to pass the Equal Rights Amendment, remove social and political barriers associated with gender transgression, resolve de facto racial discrimination, and detach ourselves from patriarchal norms.</p>
    <p>But there is a continued progress around the country to address these hanging social inequalities.</p>
    <p>Other countries are not as fortunate.</p>
    <p>While we have a judicial system to protect and defend our rights…these women do not…</p>
    <p> </p>
    
    <a href="http://usdemocrazy.net/warning-these-pictures-may-shock-you/woman1/" rel="nofollow external" class="bo"><img width="150" height="150" src="http://usdemocrazy.net/wp-content/uploads/2014/04/woman1-150x150.png" alt="woman1" style="max-width: 100%; height: auto;"></a>
    <a href="http://usdemocrazy.net/warning-these-pictures-may-shock-you/woman2/" rel="nofollow external" class="bo"><img width="150" height="150" src="http://usdemocrazy.net/wp-content/uploads/2014/04/woman2-150x150.png" alt="woman2" style="max-width: 100%; height: auto;"></a>
    <a href="http://usdemocrazy.net/warning-these-pictures-may-shock-you/woman3/" rel="nofollow external" class="bo"><img width="150" height="150" src="http://usdemocrazy.net/wp-content/uploads/2014/04/woman3-150x150.png" alt="woman3" style="max-width: 100%; height: auto;"></a>
    
    <p> </p>
    <p>The shocking images before you are of three women who were <a href="http://www.ryot.org/photos-these-women-were-doused-in-acid-for-turning-down-marriage-proposals/559641" rel="nofollow external" class="bo">doused in acid</a> as punishment for turning down proposals and undesired arranged marriages.</p>
    <p>In Western cultures, there is a consensus that arranged marriages are not natural and that couples should elope for emotionally driven reasons, such as love and passion.</p>
    <p>Unfortunately, these women are long past worrying about matters of the heart.</p>
    <p>To some of them, marriage is another burden and societal pressure.  Defying this deeply ingrained tradition could mean life or death.</p>
    <p>The practice seems to western eyes primitive and unjust. But what are we to do?</p>
    <p>It is hard to convince other societies to change their ways when there are large cultural differences to factor.</p>
    <p>What is to some people a barbaric offence (the attacks above, or the death penalty in the US) is to others a proper form of punishment.</p>
    <p>There are good non-governmental organizations trying to draw attention to these and other human rights abuses around the globe. But what should our government role in fighting for human rights?</p>
    <p>The US has, at times put human rights at the center of its foreign policy. Unfortunately, with the detention center at Quantanamo Bay, accusations of torture and the atrocites at Abu Ghraib prison in Iraq, our human rights’ reputation around the globe has taken a hit.</p>
    <p>Being good buddies with questionable human rights regimes in Saudi Arabia and Egypt also doesn’t help the resumé.</p>
    <p>Still… we would like to hope that our government would continue to work hard toward stopping the kind of abuse witnessed above.  </p>
    <p>By continuing to fight for human rights here and abroad we can, over time, help inspire, educate, and finally instill faith into cultures where abuses often go unpunished.</p>
    <p>What do you think we and our government should be doing in the fight for human rights?</p>
    <p> </p>
    <p> </p>
    <p> </p>
    <p> </p>
    </div>
]]>
</Body>
<Summary>We in the USA are lucky.   Over two centuries we have developed a rule of law that values the civil rights and liberties of our citizens.   True, there’s room for improvement…   We have yet to...</Summary>
<Website>http://usdemocrazy.net/warning-these-pictures-may-shock-you/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44024/guest@my.umbc.edu/b2b8effdf01788c6f48cd77087b6d0a1/api/pixel</TrackingUrl>
<Tag>current</Tag>
<Tag>democracy</Tag>
<Tag>equality</Tag>
<Tag>human-rights</Tag>
<Tag>news</Tag>
<Tag>politics</Tag>
<Tag>poverty</Tag>
<Tag>us</Tag>
<Tag>usdemocrazy</Tag>
<Group token="retired-12">USDemocrazy</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-12</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/original.jpg?1279120129</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/large.png?1279120129</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/medium.png?1279120129</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/small.png?1279120129</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxsmall.png?1279120129</AvatarUrl>
<Sponsor>USDemocrazy</Sponsor>
<PawCount>46</PawCount>
<CommentCount>32</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 13:58:49 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42825" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42825">
<Title>Library Staff Highlight: Heather Moss</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <strong>Name:</strong> Heather Moss<h6>
    <strong>Hometown:</strong> Baltimore, Maryland, USA</h6>
    <h6>
    <strong>Alma Mater:</strong>  University of Baltimore</h6>
    <br><strong>1. Where do you work in the library and how long have you worked there? </strong><br>I work as a copy-cataloger in technical services. I’ve been at AOK since July 2002, so almost 12 years.<br><br><strong>2. What would you like the campus community to know about your job? </strong><br>I like having a low-key, behind-the-scenes job and seeing all the new books. <br><br><strong>3. What’s your favorite aspect of working at UMBC? </strong><br>It’s a tie between my friend Chrisie Cowden (who works in Circulation) and the Canada geese that hang out on campus. <br><br><strong>4. Do you have a favorite project, event, or memory from your time working in the library?</strong><br>I gave a presentation at the Internet Librarian conference in Monterey, California in 2007. That was an amazing experience.<br><br><strong>5. If you were a UMBC student, what library services would you use/appreciate the most? </strong><br>The Leisure Reading collection is a lot of fun.<br><br><strong>6. If you had to survive on a desert island with only one book, movie, or TV show, what would it be and why?</strong><br><em>Lolita</em>, because I’ve read it 15 times and never get tired of Nabokov’s word play and cleverness.<br><strong><br>7. A wizard has turned you into your favorite animal. What are you?</strong><br>That’s a tough one, because I have a lot of favorite animals. Sharks are my very favorite, but I think I’d rather be a cat, because sharks don’t sleep and cats sleep perpetually.<br><br><strong>8. Anything else you’d like to add?</strong><br>UMBC undergrads never fail to impress me with their dedication to academics. It gives me a lot of joy to see them studying together in the library’s RLC, even on a Friday afternoon!<br><br><br><em>[Tune in every 2 weeks for a spotlight on the AOK Library &amp; Gallery staff!]</em><br>
    </div>
]]>
</Body>
<Summary>Name: Heather Moss Hometown: Baltimore, Maryland, USA  Alma Mater:  University of Baltimore  1. Where do you work in the library and how long have you worked there?  I work as a copy-cataloger in...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42825/guest@my.umbc.edu/07cac9324582f016ac87ebad04a47b6d/api/pixel</TrackingUrl>
<Tag>active</Tag>
<Tag>library-staff-highlights</Tag>
<Group token="library">Albin O. Kuhn Library &amp;amp; Gallery</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/library</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/xsmall.png?1279120404</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/original.png?1279120404</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/xxlarge.png?1279120404</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/xlarge.png?1279120404</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/large.png?1279120404</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/medium.png?1279120404</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/small.png?1279120404</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/xsmall.png?1279120404</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/016/854d6fae5ee42911677c739ee1734486/xxsmall.png?1279120404</AvatarUrl>
<Sponsor>Albin O. Kuhn Library &amp; Gallery</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/xxlarge.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/xlarge.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/large.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/medium.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/small.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/xsmall.jpg?1398878644</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/825/60e592a5e2c587d823db52392ff1591f/xxsmall.jpg?1398878644</ThumbnailUrl>
<PawCount>30</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 13:24:27 -0400</PostedAt>
<EditAt>Wed, 30 Apr 2014 13:25:22 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="44023" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44023">
<Title>Gulp as a Development Web Server</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>The task runner <a href="http://gulpjs.com" rel="nofollow external" class="bo">Gulp.js</a> is getting more and more popular lately. It can be used for many things, like concatenating JavaScript files or minifying images. If you are new to Gulp.js, I recommend you to start off with <a href="http://code.tutsplus.com/tutorials/managing-your-build-tasks-with-gulpjs--net-36910" rel="nofollow external" class="bo">Managing Your Build Tasks With Gulp.js</a>. </p>
    <p>In this tutorial, you will learn how to use Gulp.js, in order to run a local web server with built-in, <code>livereload</code> support.</p>
    
    <h2>The Old Way</h2>
    
    <p>Let's assume we want to develop a single page application. The entry point for this app is a simple <code>index.html</code> file. Our goal is to access this file through the browser, by going to <code>localhost</code>. In the past, perhaps you <em>setup an Apache or Nginx server</em>. Well, that's not needed anymore.</p>
    
    <h2>A Better Way</h2>
    
    <p>Today, an implementation in JavaScript exists for almost everything, even for a web server. The most popular one is called <a href="https://github.com/senchalabs/connect" rel="nofollow external" class="bo">Connect</a>. We will be using it, by utilizing a Gulp.js plugin called <a href="https://github.com/AveVlad/gulp-connect" rel="nofollow external" class="bo">gulp-connect</a>. </p>
    <p>In the following sections, we will setup a local web server for a single page application, so I'll assume you have already setup the basic files, like the <code>gulpfile.js</code> file.</p>
    
    <h2>Initial Setup</h2>
    
    <p>We start off by installing the Connect plugin with the command below. Everything we need will be installed with this single command.</p>
    <pre>npm install --save-dev gulp-connect</pre>
    
    <p><em>Tip</em>: <code>npm install --save-dev</code> can be abbreviated with <code>npm i -D</code>.<br></p>
    
    <p>Now, let's define a task for the web server. Our <code>gulpfile.js</code> should then look like this:</p>
    <pre>var gulp = require('gulp'),&#x000A;      connect = require('gulp-connect');&#x000A;    &#x000A;    gulp.task('webserver', function() {&#x000A;      connect.server();&#x000A;    });&#x000A;    &#x000A;    gulp.task('default', ['webserver']);</pre>
    
    <p>We can now start the web server by simply running <code>gulp</code> in the terminal. We can open up <code>localhost:8080</code> in our browser, where we should see <code>index.html</code>. The web server mounts the file structure of the folder, where the <code>gulpfile.js</code> lives in, to the root of <code>localhost:8080</code>. The server will run until you stop the task by pressing <strong>Ctrl + c</strong> on your keyboard. Great!</p>
    
    <p>You can find the source code for this and all following examples on <a href="https://github.com/schickling/gulp-webserver-article" rel="nofollow external" class="bo">Github</a>. Each example contains all necessary files to reproduce a working setup. You just need to run <code>npm install</code> in the respective directory.</p>
    
    <h3>Adding <code>livereload</code> Support</h3>
    
    <p>Setting up the basic web server was easy, right? So let's continue to get <code>livereload</code> running. We need to do two things: first tell the web server to start with <code>livereload</code> support and secondly, we tell <code>livereload</code> when to refresh the page with new content.</p>
    
    <p>The first step is simple. Just set the <code>livereload</code> property to <code>true</code>. The <code>webserver</code> task then looks like this:</p>
    <pre>gulp.task('webserver', function() {&#x000A;      connect.server({&#x000A;        livereload: true&#x000A;      });&#x000A;    });</pre>
    <p>The second step depends on your use case. In this example, we will setup automatic compilation of LESS files to a CSS stylesheet and inject it into the browser. Let's break down this example into its parts. We need a "watcher", which checks if some LESS files got changed. This watcher should then trigger the LESS compiler, which outputs a CSS file. This CSS file should then be injected via <code>livereload</code>.<br></p>
    
    <p>For this example, we will use the <a href="https://github.com/plus3network/gulp-less" rel="nofollow external" class="bo">gulp-less</a> plugin. You can install it by running <code>npm install --save-dev gulp-less</code>. The watcher comes already shipped with Gulp.js. Our app file structure should roughly look like this:</p>
    <pre>.&#x000A;    ├── node_modules&#x000A;    │   └── ...&#x000A;    ├── styles&#x000A;    │   └── main.less&#x000A;    ├── gulpfile.js&#x000A;    ├── index.html&#x000A;    └── package.json</pre>
    <p>In the <code>watch</code> task, Gulp.js listens for changes in all <code>*.less</code> files in the <code>styles</code> folder and triggers the <code>less</code> task. Here, the <code>main.less</code> file is the entry point for LESS. After each compile step, the result will be automatically injected into the browser. The code for the <code>gulpfile.js</code> looks like the following, feel free to <em>copy and paste</em> it, to your project.</p>
    <pre>var gulp = require('gulp'),&#x000A;      connect = require('gulp-connect'),&#x000A;      less = require('gulp-less');&#x000A;    &#x000A;    gulp.task('webserver', function() {&#x000A;      connect.server({&#x000A;        livereload: true&#x000A;      });&#x000A;    });&#x000A;    &#x000A;    gulp.task('less', function() {&#x000A;      gulp.src('styles/main.less')&#x000A;        .pipe(less())&#x000A;        .pipe(gulp.dest('styles'))&#x000A;        .pipe(connect.reload());&#x000A;    });&#x000A;    &#x000A;    gulp.task('watch', function() {&#x000A;        gulp.watch('styles/*.less', ['less']);&#x000A;    })&#x000A;    &#x000A;    gulp.task('default', ['less', 'webserver', 'watch']);</pre>
    
    <p>Let's rerun <code>gulp</code> in the terminal and open up again <code>localhost:8080</code> in the browser. We can now make some changes to a LESS file in the <code>styles</code> folder. It will be instantly compiled and refreshed in the browser. Note that <em>you don't need any browser extensions</em>. <code>livereload</code> works out of the box.</p>
    
    <h3>A Few Adjustments</h3>
    
    <p>Please keep in mind that the previous <code>gulpfile.js</code> is just a minimal demonstration of how to use Gulp.js as a web server with <code>livereload</code>. I highly recommend playing around with some other plugins. You should also try to rearrange the task structure and use the non-builtin <a href="https://github.com/floatdrop/gulp-watch" rel="nofollow external" class="bo">gulp-watch</a> plugin, which allows you to process just the changed files. This becomes important if you're working with a bigger code base. Later in this tutorial, we will see what an alternative task structure might look like. </p>
    
    <h4>Changing the Hostname &amp; Port</h4>
    
    <p>The <code>gulp-connect</code> plugin itself has many configuration options. For example, you can modify the web server port or hostname. You can even use a custom hostname with port <code>80</code> (default is <code>localhost:8080</code>).</p>
    <pre>connect.server({&#x000A;      port: 80,&#x000A;      host: 'gulp.dev'&#x000A;    });</pre>
    
    <p>To get this working, we need to have <code>gulp.dev</code> in our hosts file and run the command <code>sudo gulp</code>. Administrator rights are needed in order to use port <code>80</code>. </p>
    
    <h3>Some Advanced Features</h3>
    
    <p>You can go even further using the connect plugin for spawning multiple web servers at the same time. This becomes useful, for example, if you want to run a development web server and run integration tests, <em>simultaneously</em>.</p>
    
    <p><code>gulp-connect</code> also provides the possibility to use several directories as a root folder. For example, when you're using CoffeeScript and you want to save the compiled JavaScript files in a temporary folder, you can then mount this folder without polluting your source folder.</p>
    
    <p>For more examples, please checkout the <a href="https://github.com/AveVlad/gulp-connect" rel="nofollow external" class="bo">GitHub repository</a>.</p>
    
    <h2>Refactoring Our Code</h2>
    
    <p>In the previous example we setup a minimal <code>gulpfile.js</code> to compile LESS files to CSS and inject them immediately into the browser. It worked, but we can do better. It might be problematic that we mixed the <em>compile</em> and <em><code>livereload</code></em> steps into one task. So, let's split them up and watch for changes in the generated files. For that, we will be using the previously mentioned <code>gulp-watch</code> plugin.</p>
    
    <p>Let's go even a step further and add a CoffeeScript compile step. With this additional step, the new structure should be more clear. We install the new plugins in one batch via:</p>
    <pre>npm install --save-dev gulp-watch gulp-coffee </pre>
    <p>And <code>require</code> them in the top of our <code>gulpfile.js</code>. In the following setup, I assume you already have some <code>.coffee</code> files in a directory called <code>scripts</code>. For an example setup, please checkout <a href="https://github.com/schickling/gulp-webserver-article/tree/master/03-livereload-refactored" rel="nofollow external" class="bo">this repo</a>. The refactored <code>gulpfile.js</code> could look like the following. We'll go through the changes, step by step.</p>
    <pre>var gulp = require('gulp'),&#x000A;      connect = require('gulp-connect'),&#x000A;      watch = require('gulp-watch'),&#x000A;      less = require('gulp-less'),&#x000A;      coffee = require('gulp-coffee');&#x000A;    &#x000A;    gulp.task('webserver', function() {&#x000A;      connect.server({&#x000A;        livereload: true,&#x000A;        root: ['.', '.tmp']&#x000A;      });&#x000A;    });&#x000A;    &#x000A;    gulp.task('livereload', function() {&#x000A;      gulp.src(['.tmp/styles/*.css', '.tmp/scripts/*.js'])&#x000A;        .pipe(watch())&#x000A;        .pipe(connect.reload());&#x000A;    });&#x000A;    &#x000A;    gulp.task('less', function() {&#x000A;      gulp.src('styles/main.less')&#x000A;        .pipe(less())&#x000A;        .pipe(gulp.dest('.tmp/styles'));&#x000A;    });&#x000A;    &#x000A;    gulp.task('coffee', function() {&#x000A;      gulp.src('scripts/*.coffee')&#x000A;        .pipe(coffee())&#x000A;        .pipe(gulp.dest('.tmp/scripts'));&#x000A;    });&#x000A;    &#x000A;    gulp.task('watch', function() {&#x000A;      gulp.watch('styles/*.less', ['less']);&#x000A;      gulp.watch('scripts/*.coffee', ['coffee']);&#x000A;    })&#x000A;    &#x000A;    gulp.task('default', ['less', 'coffee', 'webserver', 'livereload', 'watch']);</pre>
    
    <p>The biggest change we see is the additional <code>livereload</code> task. This task just watches (via the <code>gulp-watch</code> plugin) for changes in the compiled files and refreshes them in the browser. The custom <code>watch()</code> function allows us to just reload the changed files, whereas the built-in <code>gulp.watch()</code> command would reload all files and not just the changed ones.</p>
    
    <p>Because of this single additional task, we don't need a <code>.pipe(connect.reload())</code> command after each compile step. So we separated the tasks by their concerns, which is always a good idea in software development.</p>
    
    <p>We also noticed that the compiled files aren't saved in their respective source folder any more. They are now stored in a temporary folder named <code>.tmp</code>. The contents of this folder are just generated files and won't pollute the <code>styles</code> or <code>scripts</code> directories any longer. It's also recommended to exclude this folder from your revision control system. All we have to do to get this working, is to also mount  <code>.tmp</code> as a root folder, which is done by</p>
    <pre>root: ['.', '.tmp']</pre>
    
    <p>This refactored setup should work just like the one before. But it's way cleaner and easier to extend.</p>
    
    <h2>Conclusion</h2>
    
    <p>You've just learned how to use Gulp.js as a web server. </p>
    <p>You can combine this technique with many other use cases, like testing or building your single page application. Note that this web server is just meant for local development. For production purposes, you should use a more performant solution like Nginx or a CDN. </p>
    <p>Notice that all the presented features are also possible with Grunt or similar projects. Gulp.js just provides a <em>very simple and elegant</em> way of doing things.</p>
    </div>
]]>
</Body>
<Summary>The task runner Gulp.js is getting more and more popular lately. It can be used for many things, like concatenating JavaScript files or minifying images. If you are new to Gulp.js, I recommend you...</Summary>
<Website>http://code.tutsplus.com/tutorials/gulp-as-a-development-web-server--cms-20903</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44023/guest@my.umbc.edu/c2725fc854a2fb6cf61dabdbe99d4a96/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>wed</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 12:30:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="44004" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44004">
<Title>Laura Blevins: Sustainability Champion '14</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><em>We are conducting interviews with graduating leaders to share their stories and inspire UMBC students for years to come. We can inspire others to enact and lead progress towards a more sustainable society.<br></em></p>
    
    <h5>1. In what ways were you involved in Sustainability efforts on campus during your time as a student?</h5>
    <p>
    
    I first heard about the Biodiesel club during the spring semester of my second year at UMBC. I was inspired by the club’s mission to generate energy from waste and took over the initiative that following summer. In order to teach myself and others more about biodiesel, I constructed a lab-scale reactor designed to produce a small quantity of biodiesel from waste vegetable oil. 
    
    </p>
    <p>The following semester, I was honored to be one of four students to receive an SGA sustainability intern position. This work experience helped me make connections with like-minded faculty and staff at UMBC and beyond. Throughout the academic year, the other interns and I worked together to bring about sustainable change, including single stream recycling, composting, and most importantly, heightened awareness from the UMBC community.
    
    </p>
    <h5>2. What compelled you be involved? What did you get out of the experiences? </h5>
    <p>
    
    Prior to engaging in sustainable efforts at UMBC, I had an eye-opening experience in the chemical industry. The summer after my first year at UMBC, I accepted a sustainability intern position at global chemical company. The main objective of this position was to quantify waste generated by a number of chemical plants, and the results were quite shocking. In comparison to other countries, the United States consistently generated more waste! From the beginning of my undergraduate chemical engineering career, I vowed to work toward achieving more sustainable practices. It was not long after this experience that I became more involved in sustainable efforts at UMBC.
    
    </p>
    <h5>3. What changes have you seen take place during your time at UMBC?</h5>
    <p>
    
    Recycling has improved drastically since my beginnings with UMBC sustainability. It is much more available throughout campus compared to in the past. The composting initiative was also brought to fruition soon after my gig as a sustainability intern ended. Overall, the UMBC community has become much more aware and compliant with sustainable efforts, thanks to the students’ collective voice and faculty support. Organizations like SGA and SEA in conjunction with the Climate Change Task Force have pushed forward more sustainable efforts in record time.
    
    </p>
    <h5>4. What is your vision for the state of sustainability at UMBC 5 years from now?</h5>
    <p>
    
    I am impressed with the UMBC community’s response thus far to calls for more sustainable practices. It is my hope that the community not only maintains, but increases its level of awareness and sustainable practice for years to come. It is encouraging to see new sustainable ideas and approaches capturing the attention of the community as my final days at UMBC draw near.
    
    </p>
    <h5>5. What are the most important lessons you’ve learned through your work and efforts that you wish to share with UMBC students?</h5>
    <p>
    
    Persistence is the key. There were many times that I was forced to reevaluate my sustainable goals. I was very discouraged the first few times this happened, but then I realized that each and every change in plans added a new level of resilience and “sustainability” to my original goal.
    
    </p>
    <p>Don’t be afraid to voice your opinion – to anybody. In my early days as an SGA intern, I was terrified to truly state my opinion to faculty, staff, and advisors. However, as I watched fellow interns speak boldly, I noticed that their opinions were truly received. Over time, I gained the confidence to speak firmly and with respect. My words took me to places that I never dreamed I could go. <br></p>
    <p><em>Laura is graduating with a major in Biochemical Engineering. She is also part of the Honors College and UMBC Cross Country/Track and Field. Thank you, Laura.</em></p>
    <p><a href="http://youtu.be/GO4kcO2JUXE?t=5m51s" rel="nofollow external" class="bo">Video clip</a> of Laura in the Biodiesel Club<br></p>
    </div>
]]>
</Body>
<Summary>We are conducting interviews with graduating leaders to share their stories and inspire UMBC students for years to come. We can inspire others to enact and lead progress towards a more sustainable...</Summary>
<Website>http://sustainability.umbc.edu/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44004/guest@my.umbc.edu/047b7a7a5dd30c48d50d4d67b6050fd7/api/pixel</TrackingUrl>
<Tag>sustainability-champions</Tag>
<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>Sustainability Matters at UMBC</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/xxlarge.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/xlarge.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/large.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/medium.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/small.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/xsmall.jpg?1398809030</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/044/004/f3945e1de291464abf90ae242e534786/xxsmall.jpg?1398809030</ThumbnailUrl>
<PawCount>70</PawCount>
<CommentCount>10</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 12:17:04 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="44113" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44113">
<Title>Building Blocks: The 21st Century Is Calling, With Wi-Fi Hot Spots</Title>
<Body>
<![CDATA[
    <div class="html-content">Where pay phones stand, New York City envisions thousands of “public communications structures” with free Wi-Fi service and enough telephone service for calls to 911 or 311.<br><br><br><a href="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505440723/u/0/f/640387/c/34625/s/39ee2619/sc/5/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Where pay phones stand, New York City envisions thousands of “public communications structures” with free Wi-Fi service and enough telephone service for calls to 911 or 311.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/39ee2619/sc/5/l/0L0Snytimes0N0C20A140C0A50C0A10Cnyregion0Cthe0E21st0Ecentury0Eis0Ecalling0Ewith0Ewi0Efi0Ehot0Espots0Bhtml0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44113/guest@my.umbc.edu/30313915ac44f5c4dd0e7e895d657126/api/pixel</TrackingUrl>
<Tag>computers-and-the-internet</Tag>
<Tag>de-blasio-bill</Tag>
<Tag>department-of-information-technology-and-telecommunications-nyc</Tag>
<Tag>new</Tag>
<Tag>new-york-city</Tag>
<Tag>technology</Tag>
<Tag>telephones-and-telecommunications</Tag>
<Tag>wireless-communications</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 12:15:59 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="44019" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44019">
<Title>Digital fabrication company brings advanced manufacturing to</Title>
<Tagline>The Baltimore Sun</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <h4>Digital fabrication company brings advanced manufacturing to UMBC </h4>
    <h6>Company is the third digital fabrication lab in Baltimore County</h6>
    <p></p>
    <div>
                                            
                                                 
    
                                                 
                                                <span>By Lauren Loricchio, <a href="mailto:lloricchio@tribune.com">lloricchio@tribune.com</a></span><span><br>9:16 a.m. EDT</span><span>, </span><span>April 29, 2014</span><br><br>It's Tuesday morning and the 
    whir of machinery fills the room at the newest company to join the south
     campus of BWTech Research and Technology Park at <span>UMBC</span>.<br><br>Technician Steven Turrentine, 50, of <span>Catonsville</span>,
     has just programmed an infrared laser machining system to create holes a
     fraction of the size of a human hair, in a ring made of a plastic 
    polymer. The rings are for an oxygen tank, but the system can also 
    create polymer tubes and other shapes for use in medical devices.<br><br>Potomac Photonics, which makes the tiny objects, also manufactures 
    small microfluidic chips that can detect concussions for a contract with
     the U.S. Army.<br><br>Potomac is the first advanced manufacturing company to join BWTech at UMBC.</div>
    <br>Read more: <a href="http://www.baltimoresun.com/news/maryland/baltimore-county/arbutus-lansdowne/ph-ca-at-umbc-tech-0430-20140430,0,1314313.story#ixzz30O1VBpH6" rel="nofollow external" class="bo">http://www.baltimoresun.com/news/maryland/baltimore-county/arbutus-lansdowne/ph-ca-at-umbc-tech-0430-20140430,0,1314313.story#ixzz30O1VBpH6</a><br><br>
    </div>
]]>
</Body>
<Summary>Digital fabrication company brings advanced manufacturing to UMBC   Company is the third digital fabrication lab in Baltimore County...</Summary>
<Website>http://www.baltimoresun.com/news/maryland/baltimore-county/arbutus-lansdowne/ph-ca-at-umbc-tech-0430-20140430,0,1314313.story</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44019/guest@my.umbc.edu/90e93b072cc816d8504fb16d0dc0008a/api/pixel</TrackingUrl>
<Group token="bwtech">bwtech@UMBC Research and Technology Park</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bwtech</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xsmall.png?1760034935</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/original.png?1760034935</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xxlarge.png?1760034935</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xlarge.png?1760034935</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/large.png?1760034935</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/medium.png?1760034935</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/small.png?1760034935</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xsmall.png?1760034935</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/410/afff9420ec03574fa84c6bb85b54a3e3/xxsmall.png?1760034935</AvatarUrl>
<Sponsor>bwtech@UMBC</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 12:08:49 -0400</PostedAt>
<EditAt>Wed, 30 Apr 2014 12:09:41 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="44018" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44018">
<Title>Intramurals Cancelled for 4/30</Title>
<Body>
<![CDATA[
    <div class="html-content"><span>Due to severe rain/thunderstorms all intramural games/challenges that were scheduled for today will be postponed and rescheduled to a later date. If you have questions please e-mail, Erica Lloyd (<a href="mailto:erical@umbc.edu">erical@umbc.edu</a>). Thanks!</span></div>
]]>
</Body>
<Summary>Due to severe rain/thunderstorms all intramural games/challenges that were scheduled for today will be postponed and rescheduled to a later date. If you have questions please e-mail, Erica Lloyd...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44018/guest@my.umbc.edu/0c4fe69dd6110b99f61ff1109624a6ec/api/pixel</TrackingUrl>
<Group token="intramurals">Intramural Sports</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/intramurals</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/xsmall.png?1661190263</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/original.png?1661190263</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/xxlarge.png?1661190263</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/xlarge.png?1661190263</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/large.png?1661190263</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/medium.png?1661190263</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/small.png?1661190263</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/xsmall.png?1661190263</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/258/3db030c902a393b5e8603c64d88e40a8/xxsmall.png?1661190263</AvatarUrl>
<Sponsor>UMBC Intramurals</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/xxlarge.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/xlarge.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/large.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/medium.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/small.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/xsmall.jpg?1398873623</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/044/018/d9df3db22799323877cbc3d6baadb0f7/xxsmall.jpg?1398873623</ThumbnailUrl>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 12:00:47 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="44020" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44020">
<Title>Improving UI Animation Workflow with Velocity.js</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><em>The following is a guest post by <a href="http://julian.com/" rel="nofollow external" class="bo">Julian Shapiro</a>. Julian recently released Velocity.js, a more performant jQuery replacement for <code>.animate()</code>. He recently <a href="http://davidwalsh.name/css-js-animation" rel="nofollow external" class="bo">wrote about</a> <strong>how</strong> JavaScript animations can be so fast over on David Walsh's blog, a topic we've <a href="http://css-tricks.com/myth-busting-css-animations-vs-javascript/" rel="nofollow external" class="bo">covered here</a> as well. In this article, Julian introduces Velocity.js itself.</em></p>
    <p></p>
    <p><a href="http://julian.com/research/velocity/" rel="nofollow external" class="bo">Velocity.js</a> is a jQuery plugin that re-implements jQuery's <code>$.animate()</code> function to produce significantly higher performance (making Velocity also faster than CSS transitions in many cases) while including several new features to improve animation workflow.</p>
    <p>In 7Kb (zipped), Velocity includes all of <code>$.animate()</code>'s features while also packing in transform animation, looping, class animation, and scrolling. In short, Velocity is designed to be the best of jQuery, jQuery UI, and CSS transitions.</p>
    <p>Velocity works everywhere — back to IE8 and Android 2.3. Further, since Velocity's syntax is identical to <code>$.animate()</code>'s, none of your page's code needs to change.</p>
    <p>The goal of Velocity is to be a leader in DOM animation performance and convenience. This article focuses on the latter. To learn more about the former, refer to Velocity's performance comparisons over at <a href="http://VelocityJS.org" rel="nofollow external" class="bo">VelocityJS.org</a>. In particular, this article demonstrates how to use Velocity to improve your UI animation workflow. In a concise showdown, eight of Velocity's features are compared against their jQuery counterparts.</p>
    <p>If you feel that your current UI workflow is messy, poorly segregated, or too reliant upon jQuery’s broad array of style functions, then this walkthrough is for you.</p>
    <h3>Brief Overview</h3>
    <p>Before we dive into Velocity, let's quickly cover the bases: It should be pointed out that both <code>$.animate()</code> and <code>$.velocity()</code> support a malleable options syntax. You can either pass in options as comma-separated values, or you can pass in a standalone options object.</p>
    <p>Here's an example of the comma-separated syntax, in which an integer is treated as the animation's duration, a string is treated as the easing type, and a function is treated as a callback (which is triggered upon the animation's completion):</p>
    <pre><code>$div.animate(&#x000A;      { &#x000A;        opacity: 1 &#x000A;      }, &#x000A;      1000, &#x000A;      "linear", &#x000A;      function() { &#x000A;        alert("Done animating."); &#x000A;      }&#x000A;    );</code></pre>
    <p>Next, here's an example of the object syntax:</p>
    <pre><code>$div.animate(&#x000A;      { &#x000A;        opacity: 1 &#x000A;      }, &#x000A;      { &#x000A;        duration: 1000, &#x000A;        easing: "linear", &#x000A;        complete: function() { &#x000A;          alert("Done animating!") &#x000A;        }, &#x000A;        queue: "myQueue" &#x000A;      }&#x000A;    );</code></pre>
    <p>Beyond producing cleaner-looking code, using the options object provides access to additional animation parameters that are otherwise not able to be specified via the comma-separated syntax.</p>
    <p>An example of one such option provided by jQuery is "queue". Velocity also provides the queue option, and multiple animation calls chained onto a single element automatically queue onto one another.</p>
    <p>Here, a div's opacity will be animated to 1 for 1000ms then back down to 0 for the next 1000ms:</p>
    <pre><code>$div&#x000A;      .animate({ opacity: 1 }, 1000)&#x000A;      .animate({ opacity: 0 }, 1000);</code></pre>
    <p>Now, with the bases out of the way, let's start comparing Velocity to jQuery.</p>
    <h3>Reversing</h3>
    <p>In place of a properties map, Velocity also accepts <code>"reverse"</code> as its first parameter. Reverse animates the target element toward its values prior to its previous Velocity call.</p>
    <p>In jQuery, that would be like:</p>
    <pre><code>$div&#x000A;      /* Fade an element in while sliding it into view. */&#x000A;      .animate({ opacity: 1, top: "50%" })&#x000A;      /* The values below are what we originally set the element to in our stylesheet. Animate back to them. */ &#x000A;      .animate({ opacity: 0, top: "-25%" });</code></pre>
    <p>In Velocity, it's easier as it is not only less code, but you don't have to repeat values from your stylesheet:</p>
    <pre><code>$div&#x000A;      .velocity({ opacity: 1, top: "50%" })&#x000A;      .velocity("reverse");</code></pre>
    <p>By default, Velocity's reverse command uses the same options that were passed into the previous Velocity call. These options can be extended by passing new options into the "reverse" call. For example:</p>
    <pre><code>$div&#x000A;      .velocity({ opacity: 1, top: "50%" }, 1000)&#x000A;      /* Animate back to the prior visual state at half the duration of the previous animation. */&#x000A;      .velocity("reverse", 500);</code></pre>
    <h3>Scrolling</h3>
    <p>A popular UI technique is to scroll the browser so that it's aligned with an element further down the page, then to animate that element with attention-grabbing flourishes. Pulling this off with jQuery involves messy, non-performant code:</p>
    <p>In jQuery, animating the <code>scrollTop</code> property requires you to target both the <code>html</code> element and the <code>body</code> element in order for the animation to work in older versions of Internet Explorer.</p>
    <pre><code>$("html, body").animate(&#x000A;      { &#x000A;        scrollTop: $div.offset().top &#x000A;      }, &#x000A;      1000, &#x000A;      function() {&#x000A;        /* We use a callback to fade in the div once the browser has completed scrolling. */&#x000A;        $div.animate({ opacity: 1 });&#x000A;      }&#x000A;    );</code></pre>
    <p>In Velocity, you target the element you want to scroll to:</p>
    <pre><code>$div&#x000A;      .velocity("scroll", 1000)&#x000A;      .velocity({ opacity: 1 });</code></pre>
    <p>Just as with Velocity's "reverse" command, "scroll" can be passed in as Velocity's first parameter in place of a properties map. Also like the reverse command, the scroll command accepts animation options and can be chained onto other calls.</p>
    <p>The scroll command's behavior is straightforward: Scroll the browser to the top of the element targeted by the Velocity call.</p>
    <h3>Looping</h3>
    <p>Oftentimes, an element's animation needs to be looped. Examples include shaking a dialog box to indicate invalid user input or bouncing a notification icon to grab the user's attention.</p>
    <p>In jQuery, looping an animation entails messing your animation logic by breaking part of it out into a for statement:</p>
    <pre><code>for (var i = 0; i &lt; 5; i++) {&#x000A;      $div&#x000A;        /* Slide the element up by 100px. */&#x000A;        .animate({ top: -100 })&#x000A;        /* Then animate back to the original value. */&#x000A;        .animate({ top: 0 });&#x000A;    }</code></pre>
    <p>In Velocity, simply set the loop option to an integer equal to the desired number of loop cycles. A single loop cycle consists of animating toward the values in the property map followed by reversing back to the original values.</p>
    <pre><code>$div.velocity(&#x000A;      { top: -100 }, &#x000A;      { loop: 5 }&#x000A;    );</code></pre>
    <h3>Fading Elements</h3>
    <p>You'll often find yourself fading in an element whose display property was initially set to <code>none</code>, so that the element wasn't immediately visible upon page load. Subsequently fading in these elements requires several lines of jQuery:</p>
    <pre><code>$div&#x000A;      /* Use jQuery's $.show() function to make the element visible by switching its display property to "block"/"inline" as appropriate. */&#x000A;      .show()&#x000A;      /* Set the element's starting opacity to 0 so that it can be gradually faded in by the subsequent animation call. */&#x000A;      .css("opacity", 0)&#x000A;      /* Fade in and slide into view. */&#x000A;      .animate({ &#x000A;        opacity: 1, &#x000A;        top: "50%" &#x000A;      });</code></pre>
    <p>In Velocity, you simply pass in display as an option. The display option accepts the same set of values that its CSS property counterpart does (e.g. "block", "inline", and "none").</p>
    <pre><code>$div.velocity(&#x000A;      { &#x000A;        opacity: 1, &#x000A;        top: "50%" &#x000A;      },&#x000A;      { &#x000A;        display: "block" &#x000A;      }&#x000A;    );</code></pre>
    <p>When the <code>display</code> option is set to a value other than <code>none</code>, the element's <code>display</code> property is set to the provided value at the <em>start</em> of the animation. Conversely, when display is passed a value of <code>none</code>, the display property is set upon the animation's <em>completion</em>.</p>
    <pre><code>$div&#x000A;      /* Fade out and slide out of view. */&#x000A;      .animate({ opacity: 0, top: "-50%" })&#x000A;      /* Then set the display property to "none" via a queued $.fadeOut() call. */&#x000A;      .fadeOut(1);</code></pre>
    <pre><code>$div.velocity(&#x000A;      { &#x000A;        opacity: 0,&#x000A;        top: "-50%" &#x000A;      }, &#x000A;      { &#x000A;        display: "none" &#x000A;      }&#x000A;    );</code></pre>
    <p>Further, if an element's <code>opacity</code> is being animated to a non-zero value while its <code>display</code> option is being set to a value other than <code>none</code>, Velocity conveniently defaults <code>opacity</code>'s start value to 0.</p>
    <h3>Delaying</h3>
    <p>Velocity accepts a delay option that replaces having to sprinkle <code>$.delay()</code> calls throughout your animation code:</p>
    <pre><code>$div&#x000A;      .delay(1000)&#x000A;      .animate({ &#x000A;        opacity: 1 &#x000A;      });</code></pre>
    <pre><code>$div.velocity(&#x000A;      { &#x000A;        opacity: 1 &#x000A;      }, &#x000A;      { &#x000A;        delay: 1000 &#x000A;      }&#x000A;    );</code></pre>
    <p>Beyond consolidating animation logic into a single call, using Velocity's built-in delay option allows Velocity to optimize chained animations by caching values between them.</p>
    <h3><del>Class Animation</del></h3>
    <p>This article used to have a bit about class animations (e.g. animating the properties from one class, as defined in CSS, to another). It has been removed, at the request of Julian, as it has been replaced in the library with the more powerful <a href="http://julian.com/research/velocity/#sequences" rel="nofollow external" class="bo">Sequences</a> feature.</p>
    <h3>Forced Hardware Acceleration</h3>
    <p>Forcing hardware acceleration (HA) on an element is an easy to way to dramatically increase animation performance on mobile devices. Enabling HA is traditionally achieved by setting an element's transform property to <code>translateZ(0)</code>.</p>
    <pre><code>$div&#x000A;      .css("transform", "translateZ(0)")&#x000A;      .animate({ opacity: 1 })&#x000A;      .css("transform", "none");</code></pre>
    <p>In Velocity, HA is automatically applied on mobile devices (there's no performance boost to be gained on the desktop). Velocity's control over HA is highly optimized. </p>
    <pre><code>$div.velocity({ opacity: 1 });</code></pre>
    <h3>Wrapping Up</h3>
    <p>The purpose of this walkthrough has been to demonstrate Velocity's consolidation of animation logic within your code. In short, Velocity is an expressive and efficient tool for crafting UI animations.</p>
    <p>While jQuery is tremendously powerful, it was never jQuery's design goal to function as an optimized animation engine, and it suffers accordingly from less-than-ideal performance and workflows. At just 7Kb zipped, Velocity packs in enough features and speed gains for you to consider making it your animation engine of choice.</p>
    <p>To explore the remainder of Velocity's features, including color and transform animation, check out Velocity's documentation at VelocityJS.org.</p>
    <p>Before we conclude, here are some extreme examples of web animation that are made possible through the expressiveness and speed of Velocity:</p>
    <ul>
    <li><a href="http://julian.com/research/velocity/demo.html" rel="nofollow external" class="bo">3D demo</a></li>
    <li><a href="http://danielraftery.com/read/Animating-Awesomeness-with-Velocityjs" rel="nofollow external" class="bo">Virtual world demo</a></li>
    <li><a href="http://zachsaucier.com/fp.html" rel="nofollow external" class="bo">HUD demo</a></li>
    <li><a href="http://julian.com/research/velocity/playground.html" rel="nofollow external" class="bo">Multimedia demo</a></li>
    </ul>
    <hr>
    <p><small><a href="http://css-tricks.com/improving-ui-animation-workflow-velocity-js/" rel="nofollow external" class="bo">Improving UI Animation Workflow with Velocity.js</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 Julian Shapiro. Julian recently released Velocity.js, a more performant jQuery replacement for .animate(). He recently wrote about how JavaScript animations can be...</Summary>
<Website>http://css-tricks.com/improving-ui-animation-workflow-velocity-js/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44020/guest@my.umbc.edu/f5df0448a55bd1d031ea7fdb0b1a607c/api/pixel</TrackingUrl>
<Tag>article</Tag>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 11:54:26 -0400</PostedAt>
<EditAt>Wed, 30 Apr 2014 11:54:26 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="44917" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44917">
<Title>Meeting the President</Title>
<Body>
<![CDATA[
    <div class="html-content">In less than one hour, I’m going to meet the President! Not Barack Obama, which would be awesome, but the President of UMBC, Dr. Freeman Hrabowski. In some ways, this is even more special than meeting Obama, because I’ve seen … <a href="http://umbcretrievers.wordpress.com/2014/04/30/meeting-the-president/" rel="nofollow external" class="bo">Continue reading <span>→</span></a>
    </div>
]]>
</Body>
<Summary>In less than one hour, I’m going to meet the President! Not Barack Obama, which would be awesome, but the President of UMBC, Dr. Freeman Hrabowski. In some ways, this is even more special than...</Summary>
<Website>http://umbcretrievers.wordpress.com/2014/04/30/meeting-the-president/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44917/guest@my.umbc.edu/90ddf471ad5ab0972b874fc4dfbd518c/api/pixel</TrackingUrl>
<Tag>johns-posts</Tag>
<Group token="retired-907">Undergraduate Admissions News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-907</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/images/avatars/group/3/xsmall.png?1793799445</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/images/avatars/group/3/original.png?1793799445</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/images/avatars/group/3/xxlarge.png?1793799445</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/images/avatars/group/3/xlarge.png?1793799445</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/images/avatars/group/3/large.png?1793799445</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/images/avatars/group/3/medium.png?1793799445</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/images/avatars/group/3/small.png?1793799445</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/images/avatars/group/3/xsmall.png?1793799445</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/images/avatars/group/3/xxsmall.png?1793799445</AvatarUrl>
<Sponsor>Undergraduate Admissions News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Wed, 30 Apr 2014 11:13:36 -0400</PostedAt>
<EditAt>Wed, 30 Apr 2014 11:13:36 -0400</EditAt>
</NewsItem>

</News>
