<?xml version="1.0"?>
<News hasArchived="true" page="8662" pageCount="10720" pageSize="10" timestamp="Fri, 10 Jul 2026 02:22:35 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8662">
<NewsItem contentIssues="false" id="30763" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30763">
<Title>CSS Exchange Launches Improved Online Exhibit Art Gallery</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>CSS exchange has just undergone its own extensive redesign to make the user experience more intuitive while still displaying the best use of the cascading style sheet.</p></div>
]]>
</Body>
<Summary>CSS exchange has just undergone its own extensive redesign to make the user experience more intuitive while still displaying the best use of the cascading style sheet.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/css-exchange-launches-improved-online-exhibit-art-gallery.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30763/guest@my.umbc.edu/0b33956f8c9de216f139a13bb42c4cdd/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</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>Mon, 03 Jun 2013 22:48:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30758" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30758">
<Title>Data Collection in Sociolinguistics: Methods &amp; Applications</Title>
<Tagline>published by Dr. Christine Mallinson</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Christine Mallinson, associate professor in the Language, Literacy 
    &amp; Culture Program, is co-editor, with Becky Childs and Gerard Van 
    Herk, of the new book, <a href="http://sociolinguisticdatacollection.com/" rel="nofollow external" class="bo">Data Collection in Sociolinguistics: Methods and Applications (Routledge, 2013)</a>.</p>
    <p>The book website notes, “This edited volume provides up-to-date, 
    succinct, relevant, and informative discussion about methods of data 
    collection in sociolinguistic research. It covers the main areas of 
    research design, conducting research, and sharing data findings with 
    longer chapters and shorter vignettes written by a range of top 
    sociolinguists, both veteran and emerging scholars. Here is the 
    one-stop, go-to guide for the numerous quantitative, qualitative, and 
    mixed methods that are used in sociolinguistic research, ensuring that 
    Data Collection in Sociolinguistics will be not only useful in the 
    classroom but also as a reference tool for active researchers.”</p>
    <p>Professor J.K. Chambers of the University of Toronto writes in the 
    foreword to the volume, “This collection provides a balanced, judicious,
     forward-looking summation of the ways in which we collect, access and 
    process the data that is the foundation of our enterprise. In its format
     and its tone, it has the feeling of a symposium involving a select 
    group of sociolinguists sharing their personal experiences as well as 
    their collective wisdom. It is an invaluable sourcebook for researchers 
    and students and also for veteran fieldworkers in the diverse situations
     we face on entering the community.”</p>
    </div>
]]>
</Body>
<Summary>Christine Mallinson, associate professor in the Language, Literacy  &amp; Culture Program, is co-editor, with Becky Childs and Gerard Van  Herk, of the new book, Data Collection in...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30758/guest@my.umbc.edu/099e1255daa8e1d08cd2c3a4d3f0789b/api/pixel</TrackingUrl>
<Group token="llc">Language, Literacy and Culture Doctoral Program</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/llc</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/original.jpg?1375383725</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/large.png?1375383725</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/medium.png?1375383725</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/small.png?1375383725</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxsmall.png?1375383725</AvatarUrl>
<Sponsor>Language, Literacy and Culture doctoral program</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 03 Jun 2013 22:44:04 -0400</PostedAt>
<EditAt>Mon, 03 Jun 2013 22:44:21 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30760" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30760">
<Title>Bits Blog: Continuing to Reduce Costs, Zynga Lays Off 520 Employees</Title>
<Body>
<![CDATA[
    <div class="html-content">Social gamers are moving to mobile devices, but Zynga is having a hard time following. To reduce costs, it has decided to become much leaner.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F06%2F03%2Fzynga-takes-another-hit%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Continuing+to+Reduce+Costs%2C+Zynga+Lays+Off+520+Employees" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F06%2F03%2Fzynga-takes-another-hit%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Continuing+to+Reduce+Costs%2C+Zynga+Lays+Off+520+Employees" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F06%2F03%2Fzynga-takes-another-hit%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Continuing+to+Reduce+Costs%2C+Zynga+Lays+Off+520+Employees" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F06%2F03%2Fzynga-takes-another-hit%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Continuing+to+Reduce+Costs%2C+Zynga+Lays+Off+520+Employees" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F06%2F03%2Fzynga-takes-another-hit%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Continuing+to+Reduce+Costs%2C+Zynga+Lays+Off+520+Employees" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165664718832/u/0/f/640387/c/34625/s/2ccd24f6/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664718832/u/0/f/640387/c/34625/s/2ccd24f6/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Social gamers are moving to mobile devices, but Zynga is having a hard time following. To reduce costs, it has decided to become much leaner.     </Summary>
<Website>http://bits.blogs.nytimes.com/2013/06/03/zynga-takes-another-hit/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30760/guest@my.umbc.edu/21ebf8fc67b734b69f3c36f99deed7ff/api/pixel</TrackingUrl>
<Tag>computer-and-video-games</Tag>
<Tag>layoffs-and-job-reductions</Tag>
<Tag>mobile</Tag>
<Tag>new</Tag>
<Tag>pincus-mark</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Tag>zynga-inc</Tag>
<Tag>zynga-inc-znga-nasdaq</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>Mon, 03 Jun 2013 21:09:58 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30761" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30761">
<Title>F.C.C. Spectrum Auction Brings Fight Over Rules</Title>
<Body>
<![CDATA[
    <div class="html-content">The suggestion that some auction participants could get favored treatment in a spectrum auction has spawned a dispute.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Fbusiness%2Fmedia%2Ffcc-spectrum-auction-brings-fight-over-rules.html%3Fpartner%3Drss%26emc%3Drss&amp;t=F.C.C.+Spectrum+Auction+Brings+Fight+Over+Rules" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Fbusiness%2Fmedia%2Ffcc-spectrum-auction-brings-fight-over-rules.html%3Fpartner%3Drss%26emc%3Drss&amp;t=F.C.C.+Spectrum+Auction+Brings+Fight+Over+Rules" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Fbusiness%2Fmedia%2Ffcc-spectrum-auction-brings-fight-over-rules.html%3Fpartner%3Drss%26emc%3Drss&amp;t=F.C.C.+Spectrum+Auction+Brings+Fight+Over+Rules" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Fbusiness%2Fmedia%2Ffcc-spectrum-auction-brings-fight-over-rules.html%3Fpartner%3Drss%26emc%3Drss&amp;t=F.C.C.+Spectrum+Auction+Brings+Fight+Over+Rules" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Fbusiness%2Fmedia%2Ffcc-spectrum-auction-brings-fight-over-rules.html%3Fpartner%3Drss%26emc%3Drss&amp;t=F.C.C.+Spectrum+Auction+Brings+Fight+Over+Rules" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165664718831/u/0/f/640387/c/34625/s/2ccd24f5/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664718831/u/0/f/640387/c/34625/s/2ccd24f5/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The suggestion that some auction participants could get favored treatment in a spectrum auction has spawned a dispute.     </Summary>
<Website>http://www.nytimes.com/2013/06/04/business/media/fcc-spectrum-auction-brings-fight-over-rules.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30761/guest@my.umbc.edu/b376f763199dbdcc1f58ad57e47ef902/api/pixel</TrackingUrl>
<Tag>at-and-t-inc-t-nyse</Tag>
<Tag>federal-communications-commission</Tag>
<Tag>new</Tag>
<Tag>radio-spectrum</Tag>
<Tag>sprint-nextel-corporation-s-nyse</Tag>
<Tag>technology</Tag>
<Tag>verizon-communications-inc-vz-nyse</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>Mon, 03 Jun 2013 20:26:09 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="123273" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123273">
<Title>Kate Drabinski, Gender and Women&#8217;s Studies, in the Indypendent Reader</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Maryland – and Baltimore in particular – remains a place with a troubled relationship to the Civil War, Kate Drabinski, lecturer in Gender and Women’s Studies, points out in a recent piece for the “Indypendent Reader.”</p>
    <p>“Maryland never seceded from the Union, but its citizens leaned strongly toward the Confederacy,” she writes. “All the contradictions of this past that is still very much present are engraved in the infrastructure of the place, from street and park names to its more obvious public memorials and monuments that remind us of this war.”</p>
    <p>Drabinski focuses her piece on Baltimore’s monuments to the Civil War (three in honor of the Confederacy and one in honor of the Union), and especially on the memorial to Stonewall Jackson and Robert E. Lee that sits at the corner of Wyman Park near the Baltimore Art Museum.</p>
    <p>“The struggle over the meaning of these memorials continues, and the sense of a glorious Confederate past continues to radiate from this memorial, the memory of slavery and bondage past and present, about which this war was fought, surely ghosting the place,” she writes.</p>
    <p>The full piece, “<a href="http://indyreader.org/content/they-were-great-generals-and-christian-soldiers-remembering-robert-e-lee-and-stonewall?nopaging=1#.UayGd3jzgxk.facebook" rel="nofollow external" class="bo">They Were Great Generals and Christian Soldiers: Remembering Robert E. Lee and Stonewall Jackson,”</a> appeared online on June 3.</p>
    </div>
]]>
</Body>
<Summary>Maryland – and Baltimore in particular – remains a place with a troubled relationship to the Civil War, Kate Drabinski, lecturer in Gender and Women’s Studies, points out in a recent piece for the...</Summary>
<Website>https://umbc.edu/stories/kate-drabinski-gender-and-womens-studies-in-the-indypendent-reader/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123273/guest@my.umbc.edu/25744000193dab9661fd468717261e93/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>gwst</Tag>
<Tag>policy-and-society</Tag>
<Group token="umbc-news-magazine">UMBC News &amp;amp; Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news-magazine</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/original.png?1748556657</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/large.png?1748556657</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/medium.png?1748556657</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/small.png?1748556657</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxsmall.png?1748556657</AvatarUrl>
<Sponsor>UMBC News &amp; Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 03 Jun 2013 19:20:30 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30757" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30757">
<Title>U.S. Cites Phone Calls in Apple Pricing Case</Title>
<Body>
<![CDATA[
    <div class="html-content">The government presented evidence that executives of big book publishing companies discussed raising e-book prices at Apple’s behest before the introduction of the iPad.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Ftechnology%2Fus-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html%3Fpartner%3Drss%26emc%3Drss&amp;t=U.S.+Cites+Phone+Calls+in+Apple+Pricing+Case" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Ftechnology%2Fus-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html%3Fpartner%3Drss%26emc%3Drss&amp;t=U.S.+Cites+Phone+Calls+in+Apple+Pricing+Case" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Ftechnology%2Fus-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html%3Fpartner%3Drss%26emc%3Drss&amp;t=U.S.+Cites+Phone+Calls+in+Apple+Pricing+Case" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Ftechnology%2Fus-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html%3Fpartner%3Drss%26emc%3Drss&amp;t=U.S.+Cites+Phone+Calls+in+Apple+Pricing+Case" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F06%2F04%2Ftechnology%2Fus-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html%3Fpartner%3Drss%26emc%3Drss&amp;t=U.S.+Cites+Phone+Calls+in+Apple+Pricing+Case" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165664712261/u/0/f/640387/c/34625/s/2ccac715/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664712261/u/0/f/640387/c/34625/s/2ccac715/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The government presented evidence that executives of big book publishing companies discussed raising e-book prices at Apple’s behest before the introduction of the iPad.     </Summary>
<Website>http://www.nytimes.com/2013/06/04/technology/us-cites-book-publishers-phone-calls-in-apple-price-fixing-case.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30757/guest@my.umbc.edu/884e5833fceeb41d0dfeb90a99b31d44/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>antitrust-laws-and-competition-issues</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>e-books-and-readers</Tag>
<Tag>new</Tag>
<Tag>news-corporation-nwsa-nasdaq</Tag>
<Tag>prices-fares-fees-and-rates</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 03 Jun 2013 17:54:15 -0400</PostedAt>
<EditAt>Mon, 03 Jun 2013 17:54:15 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="123274" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123274">
<Title>Roy Meyers, Political Science, on PolitiFact</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="/wp-content/uploads/2012/09/roy-meyers-umbc.jpg" rel="nofollow external" class="bo"><img alt="Roy Meyers (UMBC)" src="/wp-content/uploads/2012/09/roy-meyers-umbc.jpg" width="216" height="144" style="max-width: 100%; height: auto;"></a>Rep. Alan Grayson, D-Fla., recently took an unusual approach to opposing the Keystone XL oil pipeline: arguing that it’s an earmark and thus not in line with current House rules. The fact-checking site <a href="http://www.politifact.com/truth-o-meter/statements/2013/may/31/alan-grayson/alan-grayson-says-bill-clearing-way-keystone-xl-pi/" rel="nofollow external" class="bo">PoliFact </a>asked UMBC political science professor Roy T. Meyers to weigh in on the accuracy of that statement.</p>
    <p>Meyers told PolitiFact, “Earmarks have been criticized, often justifiably, for not being subject to sufficient scrutiny on their policy merits.” He continued, “Unlike most research grants that are subject to demanding peer reviews, or many contracts that must undergo extensive agency review and competitive bidding, earmarks are awarded only after cursory reviews, typically by committee staff. Congress substitutes its judgment on a particular case, cutting agencies and other experts out of the loop.”</p>
    <p>However, in this case Meyers was “astonished to see how [Grayson] selectively and misleadingly edited the definition of earmark, then compounded the fault by drawing a bizarre inference regarding the bill’s effective approval of a permit. This bill is about administrative regulation, or more accurately, the lack of it.”</p>
    <p>Meyers argued,  “Grayson would be smarter to argue that the bill violates the spirit, not the letter, of the earmark moratorium and the philosophy that supposedly backs it.”</p>
    </div>
]]>
</Body>
<Summary>Rep. Alan Grayson, D-Fla., recently took an unusual approach to opposing the Keystone XL oil pipeline: arguing that it’s an earmark and thus not in line with current House rules. The fact-checking...</Summary>
<Website>https://umbc.edu/stories/roy-meyers-political-science-on-politifact-4/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123274/guest@my.umbc.edu/a406ee520ae85725d3cd0193f7467176/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Tag>politicalscience</Tag>
<Group token="umbc-news-magazine">UMBC News &amp;amp; Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news-magazine</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/original.png?1748556657</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/large.png?1748556657</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/medium.png?1748556657</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/small.png?1748556657</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxsmall.png?1748556657</AvatarUrl>
<Sponsor>UMBC News &amp; Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 03 Jun 2013 17:46:30 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30753" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30753">
<Title>From Zero to Hello World in Scala</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31894&amp;c=1428464518" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31894&amp;c=1428464518" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://www.scala-lang.org/" rel="nofollow external" class="bo">Scala</a> is one of the most attractive programming languages out right now. There is a lot of hype around it and programmers world-wide are publicly recognizing it as the possible next big thing in programming. Here’s why. Scala is all about functional programming in an object oriented context. It tries to take the best of both worlds and combine them into a highly efficient, intelligent, and relatively easy to understand language. Right now it is the leader in today’s renaissance of functional programming languages.</p>
    <p></p>
    <p>I recently finished Martin Odersky’s Scala course and I found it very difficult to figure out how to get started. You know, that first step when you want to start coding, but you don’t know what tools are at your disposal, what IDE to use, or which unit testing framework to choose. This tutorial will be about you, the newcomer to Scala, preparing your development environment so you can get started more easily.</p>
    <hr>
    <h2>The Pieces of the Puzzle</h2>
    <p>Here are the puzzle pieces we’ll talk about in this lesson, feel free to skip over the ones you already know:</p>
    <ul>
    <li>
    <strong>Simple Build Tools (SBT)</strong> – this is the tool that generates projects, dependencies, etc. for Scala</li>
    <li>
    <strong>NetBeans with Scala Plugins</strong> – how to integrate Scala with NetBeans</li>
    <li>
    <strong>Hello World</strong> – we’ll create our first Scala source file</li>
    <li>
    <strong>Scalatest</strong> – the recommended unit testing framework for Scala</li>
    </ul>
    <p>We’ll take each topic on the list and discuss it at a beginner level and finally we’ll see how all of these pieces work together.</p>
    <hr>
    <h2>Software Requirements</h2>
    <p>Before you begin, ensure that you have the latest Java SDK installed on your computer. Since Scala runs on the Java Virtual Machine (JVM), the SDK is required. The rest of the topics on our list may require the Java SDK, either directly or indirectly, so it’s good to have.</p>
    <p>You <strong>do not need</strong> to have Scala itself installed. We’ll talk about this in the next chapter.</p>
    <hr>
    <h2>Scala’s Simple Build Tools (SBT)</h2>
    <p>If you’re a PHP developer, then you are probably familiar with Composer. If you’re a Ruby guru, you know and love Bundler. If you program in some other language, I am sure there is a package manager for that, too.</p>
    <p>SBT is similar to the above package managers, but, while Composer requires you to have PHP preinstalled in the same way as Bundler needs Ruby, Scala does not need to be installed on the system before you can use SBT. In fact, the specific Scala version you want to use for your project can simply be specified as a dependency in SBT. You may wonder how this is possible. As I mentioned before, Scala runs on the JVM; basically, it’s just a Java library. The packages for Scala may also be simple .jar files. So, SBT, itself, is just a Java program. You only need Java, which you probably already have anyway.</p>
    <p>There are many different ways you can approach installing SBT. For cross-platform reasons between Linux, Mac, and Windows, my preferred way to install SBT is just to take the archive, put it in a directory, extract it into my home directory, and add its path to the system.</p>
    <h3>A Platform Independent Way to Install SBT</h3>
    <p>Download the latest stable SBT from <a href="http://scalasbt.artifactoryonline.com/scalasbt/sbt-native-packages/org/scala-sbt/sbt/" rel="nofollow external" class="bo"> the official repository</a>. Look for a folder without a <strong>“Beta”</strong> or <strong>“R”</strong> or <strong>“M”</strong> at the end. That will be the stable version. At the moment of writing this tutorial the <a href="http://scalasbt.artifactoryonline.com/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.12.3/sbt.tgz" rel="nofollow external" class="bo">latest stable version is 0.12.3</a>.</p>
    <p>The archive contains an <code>sbt</code> directory inside of it. Just extract this into your favorite location. I prefer it to be somewhere in my home directory like <code>/home/csaba/Programming/Scala/sbt</code></p>
    <p>Next, add the path to your SBT bin directory, to your PATH variable. On UNIX-like systems, if you use Bash, add a line like this to your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file:</p>
    <pre>PATH=$PATH:$HOME/Programming/Scala/sbt/bin&#x000A;    export PATH</pre>
    <p>The <code>$HOME</code> variable usually points to your home directory. You can reuse it in your configuration files. Windows users may have a different variable for this. Don’t forget the <code>export</code> command on the second line, otherwise your <code>PATH</code> variable will only be available inside the configuration file.</p>
    <p>Now, test that your SBT installation was successful. Open a console or command line tool and type:</p>
    <pre>$ sbt --version&#x000A;    sbt launcher version 0.12.2</pre>
    <p>The <code>$</code> sign is the Bash prompt, the rest is the command that you’ll enter. As you can see, I have version 0.12.2 installed.</p>
    <p>For other ways to install SBT, you can check the <a href="http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html" rel="nofollow external" class="bo">official setup documentation</a>.</p>
    <h3>Creating a New Project</h3>
    <p>Create a folder where you want your future code to be, open a console, change into the newly created directory, and simply run the command <code>sbt</code>.</p>
    <pre>csaba@csaba ~/Personal/Programming/NetTuts/From Zero to Hello World in Scala/Sources $ sbt&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Updating {file:/home/csaba/.sbt/plugins/}default-e430ed...&#x000A;    [info] Resolving org.scala-sbt#precompiled-2_10_0;0.12.2 ...&#x000A;    [info] downloading <a href="http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.12.2/jars/actions.jar">http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.12.2/jars/actions.jar</a> ...&#x000A;    [info]  [SUCCESSFUL ] org.scala-sbt#actions;0.12.2!actions.jar (3648ms)&#x000A;    &#x000A;    [...] Many more download here&#x000A;    &#x000A;    [info]  [SUCCESSFUL ] org.scala-tools.testing#test-interface;0.5!test-interface.jar (239ms)&#x000A;    [info] Done updating.&#x000A;    [info] Set current project to default-f502c6 (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    &gt; </pre>
    <p>Note that the current project was set to the folder you are in and that your console has changed. You are now inside the SBT console. You can leave this console by pressing CTRL+d or CTRL+c or by issuing the command <code>exit</code>.</p>
    <p>In this console, you can tell SBT to do a lot of things. Just press TAB twice and confirm with <code>y</code> to see the complete list of available commands.</p>
    <h3>Project Based Build Configuration</h3>
    <p>Using the system wide or user wide settings for all of your projects may not be the best option. Each project is different, it needs different dependencies, has a different name and so on. To tell SBT about information like this we have to create a file called <code>build.sbt</code>. It must be placed into the project’s root folder, which you can find on the last line, in the previous example.</p>
    <p>The language used in these files is a DSL resembling Scala’s syntax, but much less complex. To keep it simple, you’ll usually just define some values like your project’s name and version or dependencies, such as which Scala or SBT versions to use. The names of these values are called “keys”. We’ll work with only a few of them. Check out the <a href="http://www.scala-sbt.org/release/sxr/Keys.scala.html" rel="nofollow external" class="bo">Keys.scala page for a complete list of keys</a>.</p>
    <p>For our project we’ll specify only four keys. Their names make them fairly self explanatory:</p>
    <pre>name := "Hellow World"&#x000A;    &#x000A;    version := "1.0" &#x000A;    &#x000A;    scalaVersion := "2.10.1" &#x000A;    &#x000A;    sbtVersion := "0.12.3"&#x000A;    &#x000A;    </pre>
    <p>Be very careful with empty lines in the configuration file. Each key-value definition must be separated by an empty line. Now run <code>sbt update</code> in your project’s directory.</p>
    <pre>$ sbt update&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Set current project to Hellow World (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    [info] Updating {file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/}default-f502c6...&#x000A;    [info] Resolving org.scala-lang#scala-library;2.10.1 ...&#x000A;    [info] Done updating.&#x000A;    [success] Total time: 1 s, completed May 13, 2013 8:17:54 PM&#x000A;    &#x000A;    $ sbt&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Set current project to Hellow World (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    &gt; sbt-version&#x000A;    [info] 0.12.3&#x000A;    &gt; scala-version&#x000A;    [info] 2.10.1&#x000A;    &gt; exit&#x000A;    </pre>
    <p>As you can see, Scala 2.10.1 was automatically selected and downloaded if necessary. We also updated SBT to 0.12.3 on-the-fly. Finally, you’ll notice that it calls our project by name when loading: “Set current project to Hellow World”.</p>
    <h3>Directory Structure Conventions in SBT</h3>
    <p>Even though you can simply put all of your source files into the project’s root directory, SBT recommends and uses, by convention, a directory structure similar to Maven. Let’s update our directories so that they look like the tree below. You should create only the <code>src</code> directory and its children, the rest were generated when we played with the SBT commands. If they weren’t, don’t worry, you are only interested in the <code>src</code> directory.</p>
    <pre>├── project&#x000A;    │   └── target&#x000A;    │       └── config-classes&#x000A;    ├── src&#x000A;    │   ├── main&#x000A;    │   │   ├── resources&#x000A;    │   │   └── scala&#x000A;    │   └── test&#x000A;    │       ├── resources&#x000A;    │       └── scala&#x000A;    └── target&#x000A;    </pre>
    <hr>
    <h2>Integrating Scala, SBT, and NetBeans</h2>
    <p>Now that we’ve learned the basics of SBT, we need an IDE to write our code. If you prefer to use simple editors, like Sublime Text, you can do so and skip this step.</p>
    <p>NetBeans has had support for Scala long before SBT. There’s a plugin called “nbscala” that can create Scala projects for NetBeans and use the Scala language installed on the system. At the moment, this plugin is transitioning towards SBT and will eventually have the ability to create and manage SBT projects.</p>
    <p>Currently, SBT and NetBeans integrate quite well. The only thing that you have to create manually at the time of writing this article is the initial SBT project. Afterwards, NetBeans can then integrate with it nicely.</p>
    <h3>Installing Scala Support in NetBeans</h3>
    <p>Let’s open NetBeans, go to <strong>Tools/Plugins</strong>, select the <strong>Available Plugins</strong> tab and scroll down to the letter <strong>S</strong>. Check all of the plugins related to Scala, click <strong>Install</strong> and let it install the plugins with all of the needed dependencies.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_plugins1.png" alt="Netbeans Scala Plugin" width="600" height="390" style="max-width: 100%; height: auto;"><br> <p>If you are curious about how this plugin is written, you can check <a href="https://github.com/dcaoyuan/nbscala" rel="nofollow external" class="bo">its Github repository</a>.</p>
    <h3>Installing NetBeans Support in SBT</h3>
    <p>Yep, you’ve read it right, SBT has its own plugin system which can generate NetBeans projects for you. You just have to check out a git repository and publish it locally. Change into a directory where you’d like your plugin to be checked out and installed, then run the following commands:</p>
    <pre>git clone <a href="mailto:git@github.com">git@github.com</a>:dcaoyuan/nbsbt.git&#x000A;    cd nbsbt&#x000A;    sbt clean compile publish-local</pre>
    <p>Ok, we’re almost done. We have the plugin, now we need to tell SBT to use it. You can do this per project if you wish, but I recommend that you add it to your user’s SBT settings: <code>~/.sbt/plugins/plugins.sbt</code></p>
    <p>The <code>~</code> refers to your home directory, you should already have a directory called <code>.sbt</code> in it (note the dot as the first character). You may or may not have a <code>plugins</code> directory, if you don’t, just create it and then create the <code>plugins.sbt</code> file. Now add the following to it:</p>
    <pre>addSbtPlugin("org.netbeans.nbsbt" % "nbsbt-plugin" % "1.0.2")</pre>
    <p>That’s it, now your SBT can generate NetBeans projects for you when you run the <code>netbeans</code> command in the SBT console. Alternatively, in NetBeans, you can simply open (not new project, but open) any SBT project and it will automatically generate the NetBeans stuff for you.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_open_sbt_project.png" alt="NetBeans Open SBT Project" width="600" height="354" style="max-width: 100%; height: auto;"><br> <p>Then all of the project dependencies will be updated and the <code>netbeans</code> command will be run in an SBT console, inside of NetBeans.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_sbt_generate_project.png" alt="NetBeans SBT Console" width="578" height="259" style="max-width: 100%; height: auto;"><br> <p>Now you may see more text scrolling on the screen depending on the dependencies needed to be installed, and you should be able to see that the <code>netbeans</code> command was automatically ran for us.</p>
    <p>In the left pane, on the <strong>project browser</strong> tab, you can even run basic SBT commands by simply right clicking the project and run <code>Reload</code>, <code>Clean</code>, <code>Compile</code> and so on.</p>
    <hr>
    <h2>Hello World in Scala</h2>
    <p>Now, this is not a tutorial to learn Scala. We’ll only write some very basic code, a classic Hello World. So, you can go ahead and expand your Scala project and in the “Scala Packages” entry, right click on <strong>&lt;default package&gt;</strong> and select <strong>New -&gt; Scala Object</strong>. Give it a name, something like “HelloWorld” will do just fine. Then inside of it, enter in the following code:</p>
    <pre>object HelloWorld {&#x000A;    	def main(args: Array[String]) =&#x000A;    		println("Hello World!")&#x000A;    }</pre>
    <p>If you are totally unfamiliar with Scala, an object will automatically run and a method called <code>main</code> will be looked up. The method’s definition is just a simple print line of <code>Hello World</code>.</p>
    <p>Go to your SBT console for this project – if you closed it by mistake, just right click on the Scala project in the left pane and select <strong>Open sbt console</strong>. Now, type <code>run</code> in the console, to run the program.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/code_and_run.png" alt="Code and Run Results" width="600" height="148" style="max-width: 100%; height: auto;"><br> <hr>
    <h2>Adding Tests</h2>
    <p>The first step is to install Scalatest so that we have a testing framework. The easiest way to do this is to edit our <code>build.sbt</code> file and add the following line; remember you have to leave an empty line between each line.</p>
    <pre>libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.1" % "test"</pre>
    <p>Now, in your SBT console you can issue an update (optional) and run the <code>test</code> command. We don’t have any tests yet, so the command shouldn’t fail.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/test_empty.png" alt="Test Empty" width="519" height="140" style="max-width: 100%; height: auto;"><br> <p>Creating our first test will be quite easy. The only thing you have to know is that it must be in the <code>src/test/scala</code> folder. Or, if you expand <strong>Scala Test Packages</strong> in your project viewer and right click on <strong>&lt;default package&gt;</strong>, you can select <strong>New -&gt; Scala Class</strong> and create one with the name “ExampleSuite” and add in the code below:</p>
    <pre>import org.scalatest.FunSuite&#x000A;    &#x000A;    class ExampleSuite extends FunSuite {&#x000A;    &#x000A;      test("test 2 expected values are equal") {&#x000A;        assert(2 === 2)&#x000A;      }&#x000A;    &#x000A;      test("test 2 values are different and fail") {&#x000A;        assert(2 === 3)&#x000A;      }&#x000A;    }</pre>
    <p>Please note that NetBeans may have a few issues with running your tests, as the Scala plugin is not complete yet. But don’t panic, you can still run the tests from the SBT console.</p>
    <p>The test just imports the Scalatest test suite <code>FunSuite</code> (where “Fun” comes from functional) and runs two tests. As you might figure out from the code, the first one will pass, the second one will fail.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/tests_in_action.png" alt="Tests In Action" width="600" height="343" style="max-width: 100%; height: auto;"><br> <p>If, for some reason, SBT refuses to compile your tests, just close the console in NetBeans, right click your project and select <strong>Reload sbt Project</strong>. This will fix the issue and your tests will run as expected.</p>
    <hr>
    <h2>Final Thoughts</h2>
    <p>There you go! You’ve just completed your first steps toward learning Scala. I hope this tutorial has helped you to better understand how to get started. If, instead of using Netbeans, which is my preferred IDE, you could also do a Google search to find fairly complete online documentation about how to use SBT &amp; Scala with Eclipse, if that’s what you prefer.</p>
    <p>Thanks for reading.</p>
    </div>
]]>
</Body>
<Summary>Scala is one of the most attractive programming languages out right now. There is a lot of hype around it and programmers world-wide are publicly recognizing it as the possible next big thing in...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/OsWfl6ApEtE/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30753/guest@my.umbc.edu/36429783ead2d15f19758f162bd9f683/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>other</Tag>
<Tag>php</Tag>
<Tag>scala</Tag>
<Tag>sql</Tag>
<Tag>tutorials</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>Mon, 03 Jun 2013 16:24:52 -0400</PostedAt>
<EditAt>Mon, 03 Jun 2013 16:24:52 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30756" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30756">
<Title>From Zero to Hello World in Scala</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31894&amp;c=1307422231" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=31894&amp;c=1307422231" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://www.scala-lang.org/" rel="nofollow external" class="bo">Scala</a> is one of the most attractive programming languages out right now. There is a lot of hype around it and programmers world-wide are publicly recognizing it as the possible next big thing in programming. Here’s why. Scala is all about functional programming in an object oriented context. It tries to take the best of both worlds and combine them into a highly efficient, intelligent, and relatively easy to understand language. Right now it is the leader in today’s renaissance of functional programming languages.</p>
    <p></p>
    <p>I recently finished Martin Odersky’s Scala course and I found it very difficult to figure out how to get started. You know, that first step when you want to start coding, but you don’t know what tools are at your disposal, what IDE to use, or which unit testing framework to choose. This tutorial will be about you, the newcomer to Scala, preparing your development environment so you can get started more easily.</p>
    <hr>
    <h2>The Pieces of the Puzzle</h2>
    <p>Here are the puzzle pieces we’ll talk about in this lesson, feel free to skip over the ones you already know:</p>
    <ul>
    <li>
    <strong>Simple Build Tools (SBT)</strong> – this is the tool that generates projects, dependencies, etc. for Scala</li>
    <li>
    <strong>NetBeans with Scala Plugins</strong> – how to integrate Scala with NetBeans</li>
    <li>
    <strong>Hello World</strong> – we’ll create our first Scala source file</li>
    <li>
    <strong>Scalatest</strong> – the recommended unit testing framework for Scala</li>
    </ul>
    <p>We’ll take each topic on the list and discuss it at a beginner level and finally we’ll see how all of these pieces work together.</p>
    <hr>
    <h2>Software Requirements</h2>
    <p>Before you begin, ensure that you have the latest Java SDK installed on your computer. Since Scala runs on the Java Virtual Machine (JVM), the SDK is required. The rest of the topics on our list may require the Java SDK, either directly or indirectly, so it’s good to have.</p>
    <p>You <strong>do not need</strong> to have Scala itself installed. We’ll talk about this in the next chapter.</p>
    <hr>
    <h2>Scala’s Simple Build Tools (SBT)</h2>
    <p>If you’re a PHP developer, then you are probably familiar with Composer. If you’re a Ruby guru, you know and love Bundler. If you program in some other language, I am sure there is a package manager for that, too.</p>
    <p>SBT is similar to the above package managers, but, while Composer requires you to have PHP preinstalled in the same way as Bundler needs Ruby, Scala does not need to be installed on the system before you can use SBT. In fact, the specific Scala version you want to use for your project can simply be specified as a dependency in SBT. You may wonder how this is possible. As I mentioned before, Scala runs on the JVM; basically, it’s just a Java library. The packages for Scala may also be simple .jar files. So, SBT, itself, is just a Java program. You only need Java, which you probably already have anyway.</p>
    <p>There are many different ways you can approach installing SBT. For cross-platform reasons between Linux, Mac, and Windows, my preferred way to install SBT is just to take the archive, put it in a directory, extract it into my home directory, and add its path to the system.</p>
    <h3>A Platform Independent Way to Install SBT</h3>
    <p>Download the latest stable SBT from <a href="http://scalasbt.artifactoryonline.com/scalasbt/sbt-native-packages/org/scala-sbt/sbt/" rel="nofollow external" class="bo"> the official repository</a>. Look for a folder without a <strong>“Beta”</strong> or <strong>“R”</strong> or <strong>“M”</strong> at the end. That will be the stable version. At the moment of writing this tutorial the <a href="http://scalasbt.artifactoryonline.com/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.12.3/sbt.tgz" rel="nofollow external" class="bo">latest stable version is 0.12.3</a>.</p>
    <p>The archive contains an <code>sbt</code> directory inside of it. Just extract this into your favorite location. I prefer it to be somewhere in my home directory like <code>/home/csaba/Programming/Scala/sbt</code></p>
    <p>Next, add the path to your SBT bin directory, to your PATH variable. On UNIX-like systems, if you use Bash, add a line like this to your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file:</p>
    <pre>PATH=$PATH:$HOME/Programming/Scala/sbt/bin&#x000A;    export PATH</pre>
    <p>The <code>$HOME</code> variable usually points to your home directory. You can reuse it in your configuration files. Windows users may have a different variable for this. Don’t forget the <code>export</code> command on the second line, otherwise your <code>PATH</code> variable will only be available inside the configuration file.</p>
    <p>Now, test that your SBT installation was successful. Open a console or command line tool and type:</p>
    <pre>$ sbt --version&#x000A;    sbt launcher version 0.12.2</pre>
    <p>The <code>$</code> sign is the Bash prompt, the rest is the command that you’ll enter. As you can see, I have version 0.12.2 installed.</p>
    <p>For other ways to install SBT, you can check the <a href="http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html" rel="nofollow external" class="bo">official setup documentation</a>.</p>
    <h3>Creating a New Project</h3>
    <p>Create a folder where you want your future code to be, open a console, change into the newly created directory, and simply run the command <code>sbt</code>.</p>
    <pre>csaba@csaba ~/Personal/Programming/NetTuts/From Zero to Hello World in Scala/Sources $ sbt&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Updating {file:/home/csaba/.sbt/plugins/}default-e430ed...&#x000A;    [info] Resolving org.scala-sbt#precompiled-2_10_0;0.12.2 ...&#x000A;    [info] downloading <a href="http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.12.2/jars/actions.jar">http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.12.2/jars/actions.jar</a> ...&#x000A;    [info]  [SUCCESSFUL ] org.scala-sbt#actions;0.12.2!actions.jar (3648ms)&#x000A;    &#x000A;    [...] Many more download here&#x000A;    &#x000A;    [info]  [SUCCESSFUL ] org.scala-tools.testing#test-interface;0.5!test-interface.jar (239ms)&#x000A;    [info] Done updating.&#x000A;    [info] Set current project to default-f502c6 (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    &gt; </pre>
    <p>Note that the current project was set to the folder you are in and that your console has changed. You are now inside the SBT console. You can leave this console by pressing CTRL+d or CTRL+c or by issuing the command <code>exit</code>.</p>
    <p>In this console, you can tell SBT to do a lot of things. Just press TAB twice and confirm with <code>y</code> to see the complete list of available commands.</p>
    <h3>Project Based Build Configuration</h3>
    <p>Using the system wide or user wide settings for all of your projects may not be the best option. Each project is different, it needs different dependencies, has a different name and so on. To tell SBT about information like this we have to create a file called <code>build.sbt</code>. It must be placed into the project’s root folder, which you can find on the last line, in the previous example.</p>
    <p>The language used in these files is a DSL resembling Scala’s syntax, but much less complex. To keep it simple, you’ll usually just define some values like your project’s name and version or dependencies, such as which Scala or SBT versions to use. The names of these values are called “keys”. We’ll work with only a few of them. Check out the <a href="http://www.scala-sbt.org/release/sxr/Keys.scala.html" rel="nofollow external" class="bo">Keys.scala page for a complete list of keys</a>.</p>
    <p>For our project we’ll specify only four keys. Their names make them fairly self explanatory:</p>
    <pre>name := "Hellow World"&#x000A;    &#x000A;    version := "1.0" &#x000A;    &#x000A;    scalaVersion := "2.10.1" &#x000A;    &#x000A;    sbtVersion := "0.12.3"&#x000A;    &#x000A;    </pre>
    <p>Be very careful with empty lines in the configuration file. Each key-value definition must be separated by an empty line. Now run <code>sbt update</code> in your project’s directory.</p>
    <pre>$ sbt update&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Set current project to Hellow World (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    [info] Updating {file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/}default-f502c6...&#x000A;    [info] Resolving org.scala-lang#scala-library;2.10.1 ...&#x000A;    [info] Done updating.&#x000A;    [success] Total time: 1 s, completed May 13, 2013 8:17:54 PM&#x000A;    &#x000A;    $ sbt&#x000A;    [info] Loading global plugins from /home/csaba/.sbt/plugins&#x000A;    [info] Set current project to Hellow World (in build file:/home/csaba/Personal/Programming/NetTuts/From%20Zero%20to%20Hello%20World%20in%20Scala/Sources/)&#x000A;    &gt; sbt-version&#x000A;    [info] 0.12.3&#x000A;    &gt; scala-version&#x000A;    [info] 2.10.1&#x000A;    &gt; exit&#x000A;    </pre>
    <p>As you can see, Scala 2.10.1 was automatically selected and downloaded if necessary. We also updated SBT to 0.12.3 on-the-fly. Finally, you’ll notice that it calls our project by name when loading: “Set current project to Hellow World”.</p>
    <h3>Directory Structure Conventions in SBT</h3>
    <p>Even though you can simply put all of your source files into the project’s root directory, SBT recommends and uses, by convention, a directory structure similar to Maven. Let’s update our directories so that they look like the tree below. You should create only the <code>src</code> directory and its children, the rest were generated when we played with the SBT commands. If they weren’t, don’t worry, you are only interested in the <code>src</code> directory.</p>
    <pre>├── project&#x000A;    │   └── target&#x000A;    │       └── config-classes&#x000A;    ├── src&#x000A;    │   ├── main&#x000A;    │   │   ├── resources&#x000A;    │   │   └── scala&#x000A;    │   └── test&#x000A;    │       ├── resources&#x000A;    │       └── scala&#x000A;    └── target&#x000A;    </pre>
    <hr>
    <h2>Integrating Scala, SBT, and NetBeans</h2>
    <p>Now that we’ve learned the basics of SBT, we need an IDE to write our code. If you prefer to use simple editors, like Sublime Text, you can do so and skip this step.</p>
    <p>NetBeans has had support for Scala long before SBT. There’s a plugin called “nbscala” that can create Scala projects for NetBeans and use the Scala language installed on the system. At the moment, this plugin is transitioning towards SBT and will eventually have the ability to create and manage SBT projects.</p>
    <p>Currently, SBT and NetBeans integrate quite well. The only thing that you have to create manually at the time of writing this article is the initial SBT project. Afterwards, NetBeans can then integrate with it nicely.</p>
    <h3>Installing Scala Support in NetBeans</h3>
    <p>Let’s open NetBeans, go to <strong>Tools/Plugins</strong>, select the <strong>Available Plugins</strong> tab and scroll down to the letter <strong>S</strong>. Check all of the plugins related to Scala, click <strong>Install</strong> and let it install the plugins with all of the needed dependencies.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_plugins1.png" alt="Netbeans Scala Plugin" width="600" height="390" style="max-width: 100%; height: auto;"><br> <p>If you are curious about how this plugin is written, you can check <a href="https://github.com/dcaoyuan/nbscala" rel="nofollow external" class="bo">its Github repository</a>.</p>
    <h3>Installing NetBeans Support in SBT</h3>
    <p>Yep, you’ve read it right, SBT has its own plugin system which can generate NetBeans projects for you. You just have to check out a git repository and publish it locally. Change into a directory where you’d like your plugin to be checked out and installed, then run the following commands:</p>
    <pre>git clone <a href="mailto:git@github.com">git@github.com</a>:dcaoyuan/nbsbt.git&#x000A;    cd nbsbt&#x000A;    sbt clean compile publish-local</pre>
    <p>Ok, we’re almost done. We have the plugin, now we need to tell SBT to use it. You can do this per project if you wish, but I recommend that you add it to your user’s SBT settings: <code>~/.sbt/plugins/plugins.sbt</code></p>
    <p>The <code>~</code> refers to your home directory, you should already have a directory called <code>.sbt</code> in it (note the dot as the first character). You may or may not have a <code>plugins</code> directory, if you don’t, just create it and then create the <code>plugins.sbt</code> file. Now add the following to it:</p>
    <pre>addSbtPlugin("org.netbeans.nbsbt" % "nbsbt-plugin" % "1.0.2")</pre>
    <p>That’s it, now your SBT can generate NetBeans projects for you when you run the <code>netbeans</code> command in the SBT console. Alternatively, in NetBeans, you can simply open (not new project, but open) any SBT project and it will automatically generate the NetBeans stuff for you.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_open_sbt_project.png" alt="NetBeans Open SBT Project" width="600" height="354" style="max-width: 100%; height: auto;"><br> <p>Then all of the project dependencies will be updated and the <code>netbeans</code> command will be run in an SBT console, inside of NetBeans.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/netbeans_sbt_generate_project.png" alt="NetBeans SBT Console" width="578" height="259" style="max-width: 100%; height: auto;"><br> <p>Now you may see more text scrolling on the screen depending on the dependencies needed to be installed, and you should be able to see that the <code>netbeans</code> command was automatically ran for us.</p>
    <p>In the left pane, on the <strong>project browser</strong> tab, you can even run basic SBT commands by simply right clicking the project and run <code>Reload</code>, <code>Clean</code>, <code>Compile</code> and so on.</p>
    <hr>
    <h2>Hello World in Scala</h2>
    <p>Now, this is not a tutorial to learn Scala. We’ll only write some very basic code, a classic Hello World. So, you can go ahead and expand your Scala project and in the “Scala Packages” entry, right click on <strong>&lt;default package&gt;</strong> and select <strong>New -&gt; Scala Object</strong>. Give it a name, something like “HelloWorld” will do just fine. Then inside of it, enter in the following code:</p>
    <pre>object HelloWorld {&#x000A;    	def main(args: Array[String]) =&#x000A;    		println("Hello World!")&#x000A;    }</pre>
    <p>If you are totally unfamiliar with Scala, an object will automatically run and a method called <code>main</code> will be looked up. The method’s definition is just a simple print line of <code>Hello World</code>.</p>
    <p>Go to your SBT console for this project – if you closed it by mistake, just right click on the Scala project in the left pane and select <strong>Open sbt console</strong>. Now, type <code>run</code> in the console, to run the program.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/code_and_run.png" alt="Code and Run Results" width="600" height="148" style="max-width: 100%; height: auto;"><br> <hr>
    <h2>Adding Tests</h2>
    <p>The first step is to install Scalatest so that we have a testing framework. The easiest way to do this is to edit our <code>build.sbt</code> file and add the following line; remember you have to leave an empty line between each line.</p>
    <pre>libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.1" % "test"</pre>
    <p>Now, in your SBT console you can issue an update (optional) and run the <code>test</code> command. We don’t have any tests yet, so the command shouldn’t fail.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/test_empty.png" alt="Test Empty" width="519" height="140" style="max-width: 100%; height: auto;"><br> <p>Creating our first test will be quite easy. The only thing you have to know is that it must be in the <code>src/test/scala</code> folder. Or, if you expand <strong>Scala Test Packages</strong> in your project viewer and right click on <strong>&lt;default package&gt;</strong>, you can select <strong>New -&gt; Scala Class</strong> and create one with the name “ExampleSuite” and add in the code below:</p>
    <pre>import org.scalatest.FunSuite&#x000A;    &#x000A;    class ExampleSuite extends FunSuite {&#x000A;    &#x000A;      test("test 2 expected values are equal") {&#x000A;        assert(2 === 2)&#x000A;      }&#x000A;    &#x000A;      test("test 2 values are different and fail") {&#x000A;        assert(2 === 3)&#x000A;      }&#x000A;    }</pre>
    <p>Please note that NetBeans may have a few issues with running your tests, as the Scala plugin is not complete yet. But don’t panic, you can still run the tests from the SBT console.</p>
    <p>The test just imports the Scalatest test suite <code>FunSuite</code> (where “Fun” comes from functional) and runs two tests. As you might figure out from the code, the first one will pass, the second one will fail.</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/05/tests_in_action.png" alt="Tests In Action" width="600" height="343" style="max-width: 100%; height: auto;"><br> <p>If, for some reason, SBT refuses to compile your tests, just close the console in NetBeans, right click your project and select <strong>Reload sbt Project</strong>. This will fix the issue and your tests will run as expected.</p>
    <hr>
    <h2>Final Thoughts</h2>
    <p>There you go! You’ve just completed your first steps toward learning Scala. I hope this tutorial has helped you to better understand how to get started. If, instead of using Netbeans, which is my preferred IDE, you could also do a Google search to find fairly complete online documentation about how to use SBT &amp; Scala with Eclipse, if that’s what you prefer.</p>
    <p>Thanks for reading.</p>
    </div>
]]>
</Body>
<Summary>Scala is one of the most attractive programming languages out right now. There is a lot of hype around it and programmers world-wide are publicly recognizing it as the possible next big thing in...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/fu2lH-rmBhg/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30756/guest@my.umbc.edu/6f54d32d70f2b03c01c299aa0027a0ba/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>scala</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>Mon, 03 Jun 2013 16:24:52 -0400</PostedAt>
<EditAt>Mon, 03 Jun 2013 16:24:52 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="30752" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30752">
<Title>MCS Faculty Office Hours- Summer 2013</Title>
<Body>
<![CDATA[
    <div class="html-content">Dr. Loviglio will be hosting the following office hours over the summer of 2013 in ACIV 215A:<br><br>Tuesday, June 11: 1pm-2:30pm<br>Tuesday, June 25: 1pm-2:30pm<br>Tuesday, July 16: 1pm-2:30pm<br><br>Students are welcome to stop by during those times. <br><div>
    <br><br>
    </div>
    <div><br></div>
    <br>
    </div>
]]>
</Body>
<Summary>Dr. Loviglio will be hosting the following office hours over the summer of 2013 in ACIV 215A:  Tuesday, June 11: 1pm-2:30pm Tuesday, June 25: 1pm-2:30pm Tuesday, July 16: 1pm-2:30pm  Students are...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30752/guest@my.umbc.edu/aa2743775732827026986495bd61e215/api/pixel</TrackingUrl>
<Group token="mcs">Media &amp;amp; Communication Studies</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/mcs</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/xsmall.png?1639004057</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/original.png?1639004057</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/xxlarge.png?1639004057</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/xlarge.png?1639004057</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/large.png?1639004057</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/medium.png?1639004057</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/small.png?1639004057</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/xsmall.png?1639004057</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/491/e2e495edc31bdc4fe9517af2ddcb3202/xxsmall.png?1639004057</AvatarUrl>
<Sponsor>Media &amp; Communication Studies</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 03 Jun 2013 16:21:19 -0400</PostedAt>
</NewsItem>

</News>
