<?xml version="1.0"?>
<News hasArchived="true" page="8724" pageCount="10719" pageSize="10" timestamp="Wed, 08 Jul 2026 04:01:33 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8724">
<NewsItem contentIssues="false" id="110160" important="false" status="posted" url="https://my3.my.umbc.edu/posts/110160">
<Title>Larry DeWitt, Public Policy, Publishes &#8220;The Other Welfare&#8221;</Title>
<Body>
<![CDATA[
    <div class="html-content">Larry DeWitt, public policy Ph.D. student and former public historian for the U.S. Social Security Administration, has published the new book The Other Welfare: Supplemental Security Income and U.S. Social Policy (Cornell University Press 2013) written with co-author Edward D. Berkowitz. The book offers a comprehensive history of Supplemental Security Income (SSI), from its origins in 1972 as part of President Nixon’s social reform efforts to its pivotal role in the politics of the Clinton administration. Reviewer Christopher D. Howard (College of William &amp; Mary) writes, “Calling The Other Welfare one of the best histories of a U.S. social program …</div>
]]>
</Body>
<Summary>Larry DeWitt, public policy Ph.D. student and former public historian for the U.S. Social Security Administration, has published the new book The Other Welfare: Supplemental Security Income and...</Summary>
<Website>https://news.umbc.edu/larry-dewitt-public-policy-publishes-the-other-welfare/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/110160/guest@my.umbc.edu/9f15d6038cefb90772e502194b2bdc9b/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Tag>publicpolicy</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 16:44:19 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="110161" important="false" status="posted" url="https://my3.my.umbc.edu/posts/110161">
<Title>John Rennie Short, Public Policy, Publishes &#8220;Stress Testing the USA&#8221;</Title>
<Body>
<![CDATA[
    <div class="html-content">Stress Testing the USA: Public Policy and Reaction to Disaster Events, a new book by professor of public policy John Rennie Short, arrives in stores tomorrow! [youtube <a href="http://www.youtube.com/watch?v=DcUEyXn28hI">http://www.youtube.com/watch?v=DcUEyXn28hI</a>] Stress testing is a procedure, common to fields from medicine to engineering, that is used to reveal a system’s weaknesses. In his new book, Short applies this concept to analyzing four serious traumas the United States experienced at the start of the 21st century: the invasion of Iraq, Hurricane Katrina, the financial meltdown, and the BP oil spill. In Stress Testing the USA (Palgrave MacMillan), Short identifies specific structural flaws with the …</div>
]]>
</Body>
<Summary>Stress Testing the USA: Public Policy and Reaction to Disaster Events, a new book by professor of public policy John Rennie Short, arrives in stores tomorrow! [youtube...</Summary>
<Website>https://news.umbc.edu/john-rennie-short-publishes-stress-testing-the-usa/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/110161/guest@my.umbc.edu/8d33b35f5bd6229be576e8aa9109d1b2/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Tag>publicpolicy</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 16:23:25 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29456" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29456">
<Title>Learn What&#8217;s New With Adobe Illustrator Creative Cloud</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="Adobe Illustrator Creative Cloud" src="http://blog.teamtreehouse.com/wp-content/uploads/2013/05/AdobeIllustratorCC.jpg" width="1920" height="1000" style="max-width: 100%; height: auto;"></p>
    <blockquote><p>Every year Adobe puts on an event called <a href="http://max.adobe.com/" rel="nofollow external" class="bo">MAX</a>. At the event Adobe unveils all their latest and greatest software feature upgrades and products. This year they announced that all their past software applications like Adobe Photoshop, Illustrator, etc… will no longer be sold in tangible boxes and downloadable disk. Also you won’t be able to buy the products out right for a one time fee, everything will be subscription based. With this new payment plan came new applications and some really amazing new features. I was most intrigued by <a href="http://www.adobe.com/products/illustrator.html" rel="nofollow external" class="bo">Adobe Illustrators</a> new features. Here are the new features Adobe Illustrator CC will offer on its release this June.</p></blockquote>
    <h4>Touch Type Tool</h4>
    <p><img alt="Touch Type Tool" src="http://blog.teamtreehouse.com/wp-content/uploads/2013/05/TouchTypeTool.jpg" width="1920" height="845" style="max-width: 100%; height: auto;"></p>
    <p>The Touch Type Tools allows you to manipulate individual characters within the text area.  You are also able to use the Characters panel as well.  Things like kerning, leading, line-height, etc… can still be controlled.  Also you are still able to edit the text in real time as well.  This tool will definitely speed up your workflow when it comes to type heavy designs.</p>
    <h4>Images and Brushes</h4>
    <p><img alt="Images In Brushes" src="http://blog.teamtreehouse.com/wp-content/uploads/2013/05/ImagesInBrushes.jpg" width="1920" height="845" style="max-width: 100%; height: auto;"></p>
    <p>We’re now able to add raster images to our Art, Scatter and Pattern brushes.  Say if you wanted to use an image like this photographed stitch “X” pattern above and repeat it across a path. This all can be done in Adobe Illustrator CC.  This feature also increases workflow as we are able to edit the paths and reshape the raster images applied to the brush.  It almost feels like a little bit of Photoshop is being sprinkled into Illustrator.</p>
    <h4>Font Search</h4>
    <p>For an easier font viewing experience Illustrator now has a live type search feature in the Charecters Panel.  Simply start typing in the font you would like and Illustrator will narrow down your selections and preview the font for you.  You can also select “bold” or “italic” from the list as well.</p>
    <h4>Sync Fonts</h4>
    <p><img alt="typekit Syncs with Illustrator CC" src="http://blog.teamtreehouse.com/wp-content/uploads/2013/05/typekit-cc.jpg" width="1920" height="845" style="max-width: 100%; height: auto;"></p>
    <p>One of the biggest upgrades and part of Creative Cloud is the Sync Font feature.  Simply Navigate the font you’re looking for by going to Typekit.com.  Then sync the font to your system and you’re now ready to use the font on your desktop applications.</p>
    <h4>Multiple-file Placement</h4>
    <p>Illustrator CC has a new tool which allows you to import multiple files into your document.  I would imagine this is the same type of functionality that Adobe InDesign currently has.  This tool allows you to select the location of the placement as well as the size of the imported file.</p>
    <h4>CSS Extraction</h4>
    <p>Imagine being able to export CSS code directly from your web layouts in Illustrator.  This is exactly what the CSS Extraction feature let’s us do.  Not only does it create the CSS code for us but it also let’s us extract code from SVGs as well.  This tool will really save us time when it comes to static design to coded layouts in HTML and CSS.</p>
    <h4>Sync Colors</h4>
    <p>Have you ever been in nature or at the store and see a color combination that really catches your eye?  Have you ever wished you had save those colors so you could use them in your future designs?  You can now capture these colors and sync them to your designs nby using the Adobe Kuler app and Illustrator CC.  You’re able to capture the colors with your phone app then sync them to your colors panel in Illustrator CC, pretty impressive.</p>
    <h4>Area and Point Type Conversion</h4>
    <p>This type feature lets us switch between the Area Type option to the Point Type option.  Text object conversions are now happens instantly.  This also works with imported type as well, for a much faster workflow.</p>
    <h4>Auto corners for pattern brushes</h4>
    <p>When creating pattern brushes in the past we always had to create a special corner pattern to our custom brush as it would get skewed and distorted.  Not now,  Illustrator CC now has an auto corner pattern brush feature which creates an auto-generated stroke that matches and coincides with the rest of the design.</p>
    <h4>On Art Transform</h4>
    <p>The on art transform tool allows us to move, scale and rotate our designs using a touchscreen on a device.  This feature also works with the mouse on the Artboard for fast editing.</p>
    <h4>Faster Type Performance</h4>
    <p>In the past when rendering out text effects the processing speed used to lag a bit.  In Illustrator CC this all has been sped up for us.  We’re now able to work quickly and efficiently when it comes to test effects.</p>
    <h4>Sync Settings</h4>
    <p>Illustrator CC can now work cloud base and has the ability to sync multiple devices. We are now able to work on team projects not only for multiple people but from multiple locations as well.  Sync from your home computer to your work computer.  Pull it up on your device for client meetings. It’s all the same file, just accessed from multiple locations. This also goes from presets, brushes and custom workspaces. Set it up once and sync the rest.</p>
    <h4>File Packaging</h4>
    <p>No need to save fonts to an external folder as well as assets or color palettes. Illustrator CC now packages all of that for us. This makes sending files to print or even web layouts that are passed off to other developers easy and painless.  We don’t have to worry about our designs being printed or coded in correctly do to fonts missing or colors being incorrect.</p>
    <h4>Unembedded images</h4>
    <p>We can now un-embed images that are imbedded in Illustrator with ease.  Before we had to go to the Links Panel and single select all the assets and embed or un-embed them all.  With Illustrator CC we can execute this task much faster the the unembedded images feature.</p>
    <h4>Expanded Links panel options</h4>
    <p>The links panel is now hooked up with an image, text and graphic assets a gps system.  It now has more options allowing us to track down files with ease.  This is a much needed feature when working with large external asset heavy files, such as book layouts.</p>
    <h3>Conclusion</h3>
    <p>All in all I’m super excited about Adobe Creative Cloud and all the new features rolled out into Illustrator.  It almost feels like we have a little bit of Photoshop and inDesign sprinkled on top of Illustrator creating a more powerful software.  The new options create a faster workflow and a much happier user experience.</p>
    <h3>Moving Forward</h3>
    <p>I feel Adobe needs to consider three things for Adobe Illustrator.</p>
    <p>The first thing is something they made a massive improvement when rolling out Illustrator CS5 and that was the 64 bit processing speed.  I feel there is still more room for improvement.  I can still crash Illustrator pretty quickly when working with textures and an excessive amount of paths or effects.</p>
    <p>The next thing is adding an Animation Panel to the application like Photoshop.  Being able to create animations like rotoscoping right inside Illustrator would be amazing. Also being able to create animated gifs, Sprite Maps and javascript animations will become more popular with scalable web design when using scalable vector graphics.</p>
    <p>Finally the last consideration I think Adobe needs to make is a vector based stand alone web application like an Illustrator lite. If not I feel they will lose out tremendously in the market.  Yeah they are dominating it now with the desktop application but moving forward most illustrators or web designers only use about five to eight tools 90% of the time.  With that said someone or some company will essentially develop an extremely user friendly and minimal version of Illustrator. This will be a vector generating web app for cloud based devices like the Google Chromebook.  There are some out there now but they just aren’t developed correctly yet.  Moving forward though it’s gonna happen,  especially with the popularity of SVGs.  Will Adobe be the ones to capitalize on this type of application?</p>
    <h4>Resources</h4>
    <p>All Images were captured from <a href="http://www.adobe.com/products/illustrator.html" rel="nofollow external" class="bo">Adobe Illustrator CC</a> product page.</p>
    <hr>
    <h3>Interested in Learning Adobe Illustrator?</h3>
    <p>If you’d like to learn <a href="http://www.adobe.com/products/illustrator.html" rel="nofollow external" class="bo">Adobe Illustrator</a> as a whole to advance your illustration and graphic design skills check out Treehouse’s new course Illustrator Foundations.  The course covers all the tools and panels related to web design and print design.  By the end you will understand the complete functionality of Illustrator and how to use it in your future projects.</p>
    <p><a href="http://teamtreehouse.com/library/websites/illustrator-foundations" rel="nofollow external" class="bo">Get Started Now</a></p>
    <p>The post <a href="http://blog.teamtreehouse.com/learn-whats-new-with-adobe-illustrator-creative-cloud" rel="nofollow external" class="bo">Learn What’s New With Adobe Illustrator Creative Cloud</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>Every year Adobe puts on an event called MAX. At the event Adobe unveils all their latest and greatest software feature upgrades and products. This year they announced that all their past software...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/5Ud-KxWuUJc/learn-whats-new-with-adobe-illustrator-creative-cloud</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29456/guest@my.umbc.edu/f2e9d300315440dfb9ec7d3ca5f15103/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>art-and-the-web</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>responsive</Tag>
<Tag>treehouse</Tag>
<Tag>web</Tag>
<Tag>web-industry</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, 14 May 2013 16:14:04 -0400</PostedAt>
<EditAt>Tue, 14 May 2013 16:14:04 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="110162" important="false" status="posted" url="https://my3.my.umbc.edu/posts/110162">
<Title>Theodore Gonzalves, American Studies, Awarded Smithsonian Fellowship</Title>
<Body>
<![CDATA[
    <div class="html-content">Theodore Gonzalves, associate professor and chair of American Studies, has been named a Senior Postdoctoral Fellow at the Smithsonian Institution for 2013, where he will work with the Center for Folklife and Cultural Heritage. Gonzalves’ project, “Singing Truth to Power: The Story of Paredon Records,” traces the cultural history of a record label whose output of recorded music and speeches documented revolutionary movements throughout the globe. According to the collection’s finding aid, the label’s 50 record albums constitute a unique historical documentation of the political protest and revolutionary currents in the world over the course of three decades. Thirty-one of …</div>
]]>
</Body>
<Summary>Theodore Gonzalves, associate professor and chair of American Studies, has been named a Senior Postdoctoral Fellow at the Smithsonian Institution for 2013, where he will work with the Center for...</Summary>
<Website>https://news.umbc.edu/theodore-gonzalves-american-studies-awarded-smithsonian-fellowship/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/110162/guest@my.umbc.edu/7703a19e9bb9dd911084fce88af9a4df/api/pixel</TrackingUrl>
<Tag>americanstudies</Tag>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 15:46:48 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="29449" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29449">
<Title>Summer Internship Opportunities!</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <span><strong><span>Now Hiring Agents of Change and Social Entrepreneurs</span><span><br><br></span></strong></span><p></p>
    <p>
    
    
    
    </p>
    <p><span>greeNEWit’s Agents of Change Program recruits high school and college students with an entrepreneurial spirit and a passion for social change to assist with <strong>social media, marketing and development needs</strong>. Students can get hands on experience as social entrepreneurs by means of two of greeNEWit’s social projects: Cleats for Bare Feet and the OUR Schools program.</span></p>
    
    <p><span>Through the program, greeNEWit provides students with important career skills and instills a passion in them for entrepreneurship and sustainable living<a href="http://www.greenewit.com/home/careers/apply-now-summer-interns" title="Click to Continue &gt; by I Want This" rel="nofollow external" class="bo"></a>. The goal is to create a collaborative working environment that fosters the generation and sharing of ideas.</span></p>
    <p><span>Go to <a href="http://www.greenewit.com/home/careers/apply-now-summer-interns">http://www.greenewit.com/home/careers/apply-now-summer-interns</a> to read more about the various opportunities!<br></span></p>
    </div>
]]>
</Body>
<Summary>Now Hiring Agents of Change and Social Entrepreneurs          greeNEWit’s Agents of Change Program recruits high school and college students with an entrepreneurial spirit and a passion for social...</Summary>
<Website>http://www.greenewit.com/home/careers/apply-now-summer-interns</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29449/guest@my.umbc.edu/f4e55a870961f0d3d0208457c4328367/api/pixel</TrackingUrl>
<Group token="inds">Individualized Study </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/inds</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/original.png?1775678457</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/large.png?1775678457</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/medium.png?1775678457</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/small.png?1775678457</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxsmall.png?1775678457</AvatarUrl>
<Sponsor>Interdisciplinary Studies</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 15:45:39 -0400</PostedAt>
<EditAt>Tue, 14 May 2013 15:47:38 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="29445" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29445">
<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!<br><br>9258226 - Assistant Director - Kumon of Elkridge<br>9258211 - Fitness Center Instructor I - YMCA of Central Maryland (Parkville)<br>9258206 - Proposal Coordinator - NewWave Telecom and Technologies<br>9258191 - Development Fellow (Paid) - Cultural Tourism DC<br>9258156 - Employment Consultant - EBP - Humanim<br>9258144 - Lab Engineer - STX LLC<br><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/29445/guest@my.umbc.edu/dd34dfb2922399a75fbbd60ac6c92deb/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>2</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 14:23:05 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="29442" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29442">
<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>9258210 - Lifeguard - YMCA of Central Maryland (Randallstown)<br>9258181 - Upper School Science Teacher - The Park School of Baltimore<br>9258185 - ABA Therapist - Private Centreville Home<br>9258178 - Chess Coach or Aide - Silver Knights Chess<br>9258155 - AutoCAD Drafting Position - Roomtag, LLC</p>
    <p><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/29442/guest@my.umbc.edu/2243e2a3d02a4982911b5b70729cc956/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>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 14:17:05 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="29441" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29441">
<Title>On-Campus Jobs</Title>
<Body>
<![CDATA[
    <div class="html-content">The following On-Campus 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!<div><br></div>
    <div>
    <div><span>9258231 - Office Assistant - Student Support Services</span></div>
    <div>9258158 - Office Assistant/Courier - Office of Residential Life</div>
    <div><span>9258120 - Summer Research Assistant in Urban Hydrology/Biogeochemistry - UMBC Center for Urban Environmental Research and Education (CUERE)</span></div>
    <div><br></div>
    <div><div><div>
    <br><div><div><div><div><br></div></div></div></div>
    </div></div></div>
    </div>
    </div>
]]>
</Body>
<Summary>The following On-Campus 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/29441/guest@my.umbc.edu/225475bc25ff0cbbf4c25f8c8dc828f4/api/pixel</TrackingUrl>
<Tag>featured-jobs</Tag>
<Tag>jobs</Tag>
<Tag>on-campus</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, 14 May 2013 14:13:15 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="29444" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29444">
<Title>Real Time Chat With NodeJS, Socket.io and ExpressJS</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31708&amp;c=1266172607" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31708&amp;c=1266172607" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://nodejs.org/" rel="nofollow external" class="bo">NodeJS</a> gives me the ability to write back-end code in one of my favorite languages: JavaScript. It's the perfect technology for building real time applications. In this tutorial, I'll show you how to build a web chat application, using ExpressJS and <a href="http://socket.io/" rel="nofollow external" class="bo">Socket.io</a>.</p>
    <p></p>
    <hr>
    <h2>Setup Environment</h2>
    <p>Of course, the first thing to do is get <a href="http://nodejs.org/" rel="nofollow external" class="bo">NodeJS</a> installed on your system. If you are a Windows or Mac user, you can visit <a href="http://nodejs.org/download/" rel="nofollow external" class="bo">nodejs.org</a> and download the installer. If you instead prefer Linux, I'd suggest that you refer to this <a href="https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager" rel="nofollow external" class="bo">link</a>. Although I won’t go into further details on this, if you encounter any installation issues, I’m happy to help; just leave a comment below this post.</p>
    <p>Once you have NodeJS installed, you’re ready to setup the needed instruments.</p>
    <ol>
    <li>
    <a href="http://expressjs.com/" rel="nofollow external" class="bo">ExpressJS</a> – this will manage the server and the response to the user</li>
    <li>
    <a href="http://jade-lang.com/" rel="nofollow external" class="bo">Jade</a> – template engine</li>
    <li>
    <a href="http://socket.io/" rel="nofollow external" class="bo">Socket.io</a> – allows for real time communication between the front-end and back-end</li>
    </ol>
    <p>Continuing on, within an empty directory, create a <em>package.json</em> file with the following content.</p>
    <pre>{&#x000A;        "name": "RealTimeWebChat",&#x000A;        "version": "0.0.0",&#x000A;        "description": "Real time web chat",&#x000A;        "dependencies": {&#x000A;            "socket.io": "latest",&#x000A;            "express": "latest",&#x000A;            "jade": "latest"&#x000A;        },&#x000A;        "author": "developer"&#x000A;    }&#x000A;    </pre>
    <p>By using the console (under Windows – command prompt), navigate to your folder and execute:</p>
    <pre>npm install&#x000A;    </pre>
    <p>Within a few seconds, you’ll have all the necessary dependencies downloaded to the <em>node_modules</em> directory.</p>
    <hr>
    <h2>Developing the Backend</h2>
    <p>Let’s begin with a simple server, which will deliver the application's HTML page, and then continue with the more interesting bits: the real time communication. Create an <em>index.js</em> file with the following core <a href="http://expressjs.com/" rel="nofollow external" class="bo">expressjs</a> code:</p>
    <pre>var express = require("express");&#x000A;    var app = express();&#x000A;    var port = 3700;&#x000A;    &#x000A;    app.get("/", function(req, res){&#x000A;        res.send("It works!");&#x000A;    });&#x000A;    &#x000A;    app.listen(port);&#x000A;    console.log("Listening on port " + port);&#x000A;    </pre>
    <p>Above, we’ve created an application and defined its port. Next, we registered a route, which, in this case, is a simple GET request without any parameters. For now, the route’s handler simply sends some text to the client. Finally, of course, at the bottom, we run the server. To initialize the application, from the console, execute:</p>
    <pre>node index.js&#x000A;    </pre>
    <p>The server is running, so you should be able to open <em><a href="http://127.0.0.1:3700/">http://127.0.0.1:3700/</a></em> and see:</p>
    <pre>It works!&#x000A;    </pre>
    <p>Now, instead of <em>"It works"</em> we should serve HTML. Instead of pure HTML, it can be beneficial  to use a template engine. <a href="http://jade-lang.com/" rel="nofollow external" class="bo">Jade</a> is an excellent choice, which has good integration with ExpressJS. This is what I typically use in my own projects. Create a directory, called <em>tpl</em>, and put the following <em>page.jade</em> file within it:</p>
    <pre>!!!&#x000A;    html&#x000A;        head&#x000A;            title= "Real time web chat"&#x000A;        body&#x000A;            #content(style='width: 500px; height: 300px; margin: 0 0 20px 0; border: solid 1px #999; overflow-y: scroll;')&#x000A;            .controls&#x000A;                input.field(style='width:350px;')&#x000A;                input.send(type='button', value='send')&#x000A;    </pre>
    <p>The Jade's syntax is not so complex, but, for a full guide, I suggest that you refer to <a href="http://jade-lang.com/" rel="nofollow external" class="bo">jade-lang.com</a>. In order to use Jade with ExpressJS, we require the following settings.</p>
    <pre>app.set('views', __dirname + '/tpl');&#x000A;    app.set('view engine', "jade");&#x000A;    app.engine('jade', require('jade').__express);&#x000A;    app.get("/", function(req, res){&#x000A;        res.render("page");&#x000A;    });&#x000A;    </pre>
    <p>This code informs Express where your template files are, and which template engine to use. It all specifies the function that will process the template's code. Once everything is setup, we can use the <code>.render</code> method of the <code>response</code> object, and simply send our Jade code to the user.</p>
    <p> The output isn’t special at this point; nothing more than a <code>div</code> element (the one with id <code>content</code>), which will be used as a holder for the chat messages and two controls (input field and button), which we will use to send the message.</p>
    <p>Because we will use an external JavaScript file that will hold the front-end logic, we need to inform ExpressJS where to look for such resources. Create an empty directory, <code>public</code>, and add the following line before the call to the <code>.listen</code> method.</p>
    <pre>app.use(express.static(__dirname + '/public'));&#x000A;    </pre>
    <p>So far so good; we have a server that successfully responds to GET requests. Now, it’s time to add <em>Socket.io</em> integration. Change this line:</p>
    <pre>app.listen(port);&#x000A;    </pre>
    <p>to:</p>
    <pre>var io = require('socket.io').listen(app.listen(port));&#x000A;    </pre>
    <p>Above, we passed the ExpressJS server to Socket.io. In effect, our real time communication will still happen on the same port.</p>
    <p>Moving forward, we need to write the code that will receive a message from the client, and send it to all the others. Every Socket.io application begins with a <code>connection</code> handler. We should have one:</p>
    <pre>io.sockets.on('connection', function (socket) {&#x000A;        socket.emit('message', { message: 'welcome to the chat' });&#x000A;        socket.on('send', function (data) {&#x000A;            io.sockets.emit('message', data);&#x000A;        });&#x000A;    });&#x000A;    </pre>
    <p>The object, <code>socket</code>, which is passed to your handler, is actually the socket of the client. Think about it as a junction between your server and the user's browser. Upon a successful connection, we send a <code>welcome</code> type of message, and, of course, bind another handler that will be used as a receiver. As a result, the client should emit a message with the name, <code>send</code>, which we will catch. Following that, we  simply forward the data sent by the user to all other sockets with <code>io.sockets.emit</code>.</p>
    <p>With the code above, our back-end is ready to receive and send messages to the clients. Let's add some front-end code.</p>
    <hr>
    <h2>Developing the Front-end</h2>
    <p>Create <code>chat.js</code>, and place it within the <code>public</code> directory of your application. Paste the following code:</p>
    <pre>window.onload = function() {&#x000A;    &#x000A;        var messages = [];&#x000A;        var socket = io.connect('<a href="http://localhost:3700">http://localhost:3700</a>');&#x000A;        var field = document.getElementById("field");&#x000A;        var sendButton = document.getElementById("send");&#x000A;        var content = document.getElementById("content");&#x000A;    &#x000A;        socket.on('message', function (data) {&#x000A;            if(data.message) {&#x000A;                messages.push(data.message);&#x000A;                var html = '';&#x000A;                for(var i=0; i&lt;messages.length; i++) {&#x000A;                    html += messages[i] + '&lt;br /&gt;';&#x000A;                }&#x000A;                content.innerHTML = html;&#x000A;            } else {&#x000A;                console.log("There is a problem:", data);&#x000A;            }&#x000A;        });&#x000A;    &#x000A;        sendButton.onclick = function() {&#x000A;            var text = field.value;&#x000A;            socket.emit('send', { message: text });&#x000A;        };&#x000A;    &#x000A;    }&#x000A;    </pre>
    <p>Our logic is wrapped in a <code>.onload</code> handler just to ensure that all the markup and external JavaScript is fully loaded. In the next few lines, we create an array, which will store all the messages, a <code>socket</code> object, and few shortcuts to our DOM elements. Again, similar to the back-end, we bind a function, which will react to the socket's activity. In our case, this is an event, named <code>message</code>. When such an event occurs, we expect to receive an object, <em>data</em>, with the property, <code>message</code>. Add that message to our storage and update the <code>content</code> <code>div</code>. We’ve also included the logic for sending the message. It’s quite simple, simply emitting a message with the name, <em>send</em>.</p>
    <p>If you open <em><a href="http://localhost:3700">http://localhost:3700</a></em>, you will encounter some errors popup. That's because we need to update <code>page.jade</code> to contain the necessary JavaScript files.</p>
    <pre>head&#x000A;        title= "Real time web chat"&#x000A;        script(src='/chat.js')&#x000A;        script(src='/socket.io/socket.io.js')&#x000A;    </pre>
    <p>Notice that Socket.io manages the delivery of <em>socket.io.js</em>. You don't have to worry about manually downloading this file.</p>
    <p>We can again run our server with <code>node index.js</code> in the console and open <em><a href="http://localhost:3700">http://localhost:3700</a></em>. You should see the welcome message. Of course, if you send something, it should be shown in the content's <code>div</code>. If you want to be sure that it works, open a new tab (or, better, a new browser) and load the application. The great thing about Socket.io is that it works even if you stop the NodeJS server. The front-end will continue to work. Once the server is booted up again, your chat will be fine too.</p>
    <p>In its current state, our chat is not perfect, and requires some improvements.</p>
    <hr>
    <h2>Improvements</h2>
    <p>The first change that we need to make is to the identity of the messages. Currently, it's not clear which messages is sent by whom. The good thing is that we don't have to update our NodeJS code to achieve this. That's because the server simply forwards the <code>data</code> object. So, we need to add a new property there, and read it later. Before making corrections to <code>chat.js</code>, let’s add a new <code>input</code> field, where the user may add his/her name. Within <code>page.jade</code>, change the <code>controls</code> <code>div</code>:</p>
    <pre>.controls&#x000A;        | Name: &#x000A;        input#name(style='width:350px;')&#x000A;        br&#x000A;        input#field(style='width:350px;')&#x000A;        input#send(type='button', value='send')&#x000A;    </pre>
    <p>Next, in <em>code.js</em>:</p>
    <pre>window.onload = function() {&#x000A;    &#x000A;        var messages = [];&#x000A;        var socket = io.connect('<a href="http://localhost:3700">http://localhost:3700</a>');&#x000A;        var field = document.getElementById("field");&#x000A;        var sendButton = document.getElementById("send");&#x000A;        var content = document.getElementById("content");&#x000A;        var name = document.getElementById("name");&#x000A;    &#x000A;        socket.on('message', function (data) {&#x000A;            if(data.message) {&#x000A;                messages.push(data);&#x000A;                var html = '';&#x000A;                for(var i=0; i&lt;messages.length; i++) {&#x000A;                    html += '&lt;b&gt;' + (messages[i].username ? messages[i].username : 'Server') + ': &lt;/b&gt;';&#x000A;                    html += messages[i].message + '&lt;br /&gt;';&#x000A;                }&#x000A;                content.innerHTML = html;&#x000A;            } else {&#x000A;                console.log("There is a problem:", data);&#x000A;            }&#x000A;        });&#x000A;    &#x000A;        sendButton.onclick = function() {&#x000A;            if(name.value == "") {&#x000A;                alert("Please type your name!");&#x000A;            } else {&#x000A;                var text = field.value;&#x000A;                socket.emit('send', { message: text, username: name.value });&#x000A;            }&#x000A;        };&#x000A;    &#x000A;    }&#x000A;    </pre>
    <p>To summarize the changes, we’ve:</p>
    <ol>
    <li>Added a new shortcut for the username's <code>input</code> field</li>
    <li>Updated the presentation of the messages a bit</li>
    <li>Appended a new <code>username</code> property to the object, which is sent to the server</li>
    </ol>
    <p>If the the number of messages becomes too high, the user will need to scroll the <code>div</code>:</p>
    <pre>content.innerHTML = html;&#x000A;    content.scrollTop = content.scrollHeight;&#x000A;    </pre>
    <p>Keep in mind that the above solution will likely not work in IE7 and below, but that’s okay: it’s time for IE7 to fade away. However, if you want to ensure support, feel free to use jQuery:</p>
    <pre>$("#content").scrollTop($("#content")[0].scrollHeight);&#x000A;    </pre>
    <p>It would also be nice if the input field is cleared after sending the message:</p>
    <pre>socket.emit('send', { message: text, username: name.value });&#x000A;    field.value = "";&#x000A;    </pre>
    <p>The final boring problem is the clicking of the <em>send</em> button each time. With a touch of jQuery, we can listen for when the user presses the <code>Enter</code> key.</p>
    <pre>$(document).ready(function() {&#x000A;        $("#field").keyup(function(e) {&#x000A;            if(e.keyCode == 13) {&#x000A;                sendMessage();&#x000A;            }&#x000A;        });&#x000A;    });&#x000A;    </pre>
    <p>The function, <code>sendMessage</code>, could be registered, like so:</p>
    <pre>sendButton.onclick = sendMessage = function() {&#x000A;        ...&#x000A;    };&#x000A;    </pre>
    <p>Please note that this isn’t a best practice, as it is registered as a global function. But, for our little test here, it’ll be fine.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>NodeJS is an extremely useful technology, and provides us with a great deal of power and joy, especially when considering the fact that we can write pure JavaScript. As you can see, with only a few lines of code, we managed to write a fully functional real time chat application. Pretty neat!</p>
    <blockquote><p> Want to learn more about building web apps with ExpressJS? <a href="https://tutsplus.com/course/building-web-apps-in-node-and-express/" rel="nofollow external" class="bo">We’ve got you covered!</a></p></blockquote>
    </div>
]]>
</Body>
<Summary>NodeJS gives me the ability to write back-end code in one of my favorite languages: JavaScript. It's the perfect technology for building real time applications. In this tutorial, I'll show you how...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/eOVTqZbxzsA/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29444/guest@my.umbc.edu/6108ecff80b50889b7b7456c963443ab/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>expressjs</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>javascript-and-ajax</Tag>
<Tag>mysql</Tag>
<Tag>nodejs</Tag>
<Tag>php</Tag>
<Tag>socket-io</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>Tue, 14 May 2013 13:57:14 -0400</PostedAt>
<EditAt>Tue, 14 May 2013 13:57:14 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="29440" important="false" status="posted" url="https://my3.my.umbc.edu/posts/29440">
<Title>Information Systems Well Represented at Chi 2013</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <div><span>UMBC Information Systems' Participation in Chi 2013</span></div>
    <span>Saturday, April 27th</span><br><span>        11:00-12:30 - RepliCHI Workshop</span><br><span>                Challenges of Replicating Empirical Studies with Children in HCI</span><br><span>                Quincy Brown, Lisa Anthony, Robin Brewer, Germaine Irwin, Jaye Nias, Berthel Tate</span><br><br><span>Monday, April 29th</span><br><span>        14:00-15:20 - Technologies for Life (Room 242AB)</span><br><span>                Access Lens: A Gesture-Based Screen Reader for Real-World Documents</span><br><span>                S. Kane (Univ. of Maryland, Baltimore County, USA), B. Frey, J. Wobbrock</span><br><span>        16:00-17:20 - Exploring Games (Room 251)</span><br><span>                Playing with Leadership and Expertise: Military Tropes and Teamwork in an ARG</span><br><span>                T. Peyton (The Pennsylvania State Univ., USA), A. Young, W. Lutters</span><br><span>        Poster Session (Monday + Tuesday) - Accessibility</span><br><span>                Button Blender: Remixing Input to Improve Video Game Accessibility</span><br><span>                K. Said (UMBC, USA), S. Kane</span><br><span>        Poster Session (Monday + Tuesday) - Evaluation + Design Methods</span><br><span>                Using an Intelligent Interviewer to Perform Cognitive Assessments</span><br><span>                K. Weaver (Univ. of Maryland, Baltimore County, USA), A. Komlodi, B. Duffy</span><br><br><span>Tuesday, April 30th</span><br><span>        11:00-12:20 - Impairment + Rehabilitation (Room 242AB)</span><br><span>                *** BEST PAPER AWARD WINNER ***</span><br><span>                Analyzing User-Generated YouTube Videos to Understand Touchscreen Use by People with Motor Impairments</span><br><span>                L. Anthony (Univ. of Maryland, Baltimore County, USA), Y. Kim, L. Findlater</span><br><span>        16:00-17:20 - SIG: NVI (Non-Visual Interaction) (Room 362/363)</span><br><span>                A. Brock (Univ. Toulouse 3 &amp; CNRS, FR), S. Kammoun, H. Nicolau, T. Guerreiro, S. Kane, C. Jouffrais</span><br><br><span>Wednesday, May 1st</span><br><span>        Poster Session (Wednesday + Thursday) - Sustainability</span><br><span>                Designing a System for Land Change Science Meta-Study</span><br><span>                A. Young (Univ. of Maryland, Baltimore County, USA), W. Lutters, N. Magliocca, E. Ellis</span><br><span>        Poster Session (Wednesday + Thursday) - Tactile</span><br><span>                Tactile Notifications for Ambulatory Users</span><br><span>                H. Qian (Univ. of Maryland, Baltimore County, USA), R. Kuber, A. Sears</span>
    </div>
]]>
</Body>
<Summary>UMBC Information Systems' Participation in Chi 2013 Saturday, April 27th         11:00-12:30 - RepliCHI Workshop                 Challenges of Replicating Empirical Studies with Children in HCI  ...</Summary>
<Website>http://chi2013.acm.org</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/29440/guest@my.umbc.edu/e1d56022f6102fc554b9e216061ddb72/api/pixel</TrackingUrl>
<Group token="retired-544">Department of Information Systems</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-544</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/xsmall.png?1374520652</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/original.jpg?1374520652</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/xxlarge.png?1374520652</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/xlarge.png?1374520652</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/large.png?1374520652</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/medium.png?1374520652</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/small.png?1374520652</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/xsmall.png?1374520652</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/544/67aa32a1a83b0ac24b4a944f48c6af77/xxsmall.png?1374520652</AvatarUrl>
<Sponsor>Department of Information Systems</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/xxlarge.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/xlarge.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/large.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/medium.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/small.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/xsmall.jpg?1368551504</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/029/440/5da4215028c3f94fbb1c42dab58ab173/xxsmall.jpg?1368551504</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 14 May 2013 13:12:16 -0400</PostedAt>
</NewsItem>

</News>
