<?xml version="1.0"?>
<News hasArchived="true" page="8741" pageCount="10790" pageSize="10" timestamp="Thu, 03 Sep 2026 23:02:56 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=recent&amp;page=8741">
<NewsItem contentIssues="true" id="31129" important="false" status="posted" url="https://my3.my.umbc.edu/posts/31129">
<Title>14 key WordPress functions to jump-start theme development</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail24.jpg" width="200" height="160" style="max-width: 100%; height: auto;">After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down into a “starter theme or kit”. This helps get the development process started and moving along apace.</p> <p>The best first step in doing this, I’ve found, is to nail down most of the common functions and include them in the <code>functions.php</code>. This <code>functions.php</code> file will need to be extended to meet the particular theme’s needs as new projects arise, but it will provide a more than awesome starting point for development.</p> <p>There are about 13 key functions that I like to start out with and will add to them as needed…</p> <h1>1. Custom menu support</h1> <p>The navigation menu feature, introduced in WordPress 3.0, allows for the intuitive creation and maintaining of navigation menus in themes.</p> <p>At the very least, a standard theme will need a main navigation menu, perhaps in the header and a secondary navigation menu in the footer. To do this, we will register those two menus “Main Menu” and “Secondary Menu”</p> <p>While this isn’t a particularly new feature, its still nice to wrap it in an <code>if function_exists()</code> just in case the user is stuck in a pre 3.0 installation:</p> <p>In the <code>functions.php</code> file, include the following:</p> <pre>if ( function_exists( 'register_nav_menus' ) ) { register_nav_menus( array( 'main_menu' =&gt; __( 'Main Menu', 'cake' ), 'secondary_menu' =&gt; __( 'Secondary Menu', 'cake' ), ) ); }</pre> <p>Now that the Menus are registered, we need to tell the theme where to output them. We’d like the Main Menu to appear in our header. So, in our <code>header.php</code> file, we include the following code:</p> <pre>&lt;?php if ( has_nav_menu( 'main_menu' ) ) { ?&gt; &lt;?php $defaults = array( 'theme_location' =&gt; 'main_menu', 'menu' =&gt; '', 'container' =&gt; false, 'echo' =&gt; true, 'fallback_cb' =&gt; false, 'items_wrap' =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;', 'depth' =&gt; 0 ); wp_nav_menu( $defaults ); ?&gt; &lt;?php } else { ?&gt; &lt;ul&gt; &lt;?php wp_list_pages('title_li='); ?&gt; &lt;/ul&gt; &lt;?php } ?&gt;</pre> <p>First, we check to see if we have a menu called ‘main_menu’ defined and if we do, we insert its contents here, otherwise we fallback to the default <code>wp_list_pages()</code> which we can further customize to display the links as we need.</p> <p>If you’d like even further customization of the menu, see the <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu" rel="nofollow external" class="bo">WordPress codex page on <code>wp_nav_menu()</code></a> function.</p> <p>We want the secondary menu to appear in the footer, so we open up the <code>footer.php</code> and include the following code:</p> <pre>&lt;?php if ( has_nav_menu( 'secondary_menu' ) ) { ?&gt; &lt;?php $defaults = array( 'theme_location' =&gt; 'secondary_menu', 'menu' =&gt; '', 'container' =&gt; false, 'echo' =&gt; true, 'fallback_cb' =&gt; false, 'items_wrap' =&gt; '&lt;ul id="%1$s"&gt; %3$s&lt;/ul&gt;', 'depth' =&gt; 0 ); wp_nav_menu( $defaults ); ?&gt; &lt;?php } else { ?&gt; &lt;ul&gt; &lt;?php wp_list_pages('title_li='); ?&gt; &lt;/ul&gt; &lt;?php } ?&gt;</pre> <p> </p> <h1>2. Style the visual editor</h1> <p>This function allows you to use custom CSS to style the WordPress TinyMCE visual editor.</p> <p>Create a CSS file named <code>editor-style.css</code> and paste your styles inside. As a placeholder, I like to start with styles in the <code>editor-style.css</code> file of the Twenty Twelve theme.</p> <p>In the <code>functions.php</code> add the following:</p> <pre>add_editor_style();</pre> <p>If you don’t want to use the name “editor-style” for your CSS file and also want to move the file elsewhere, e.g. in within a css directory, then modify the function.</p> <p>For example, I want to name my file <code>tiny-mce-styles.css</code> and I want it within my CSS directory; so my function will look like this:</p> <pre>add_editor_style('/css/editor-style.css');</pre> <p>While we’re at it, we might as well style the editor for right-to-left languages. In the theme directory, create a CSS file called <code>editor-style-rtl.css</code> and, at the very least, include the following:</p> <pre>html .mceContentBody { direction: rtl; unicode-bidi: embed; } li { margin: 0 24px 0 0; margin: 0 1.714285714rem 0 0; } dl { margin: 0 24px; margin: 0 1.714285714rem; } tr th { text-align: right; } td { padding: 6px 0 6px 10px; text-align: right; } .wp-caption { text-align: right; }</pre> <p>Again, as a placeholder, the above styles are from the Twenty Twelve theme. Restyle and extend as needed.</p> <p> </p> <h1>3. Custom avatar support</h1> <p>Most people commenting on blogs online have an avatar associated with them. If, however, they don’t and you don’t particularly like the WordPress default avatar options, you can define your own.</p> <p>To do so, include the following code in your <code>functions.php</code>:</p> <pre>if ( !function_exists('cake_addgravatar') ) { function cake_addgravatar( $avatar_defaults ) { $myavatar = get_template_directory_uri() . '/images/avatar.png'; $avatar_defaults[$myavatar] = 'avatar'; return $avatar_defaults; } add_filter( 'avatar_defaults', 'cake_addgravatar' ); }</pre> <p>What we’re doing here first, is checking to see if the function exists. If it does, we add a filter that tells WordPress to use our custom defined avatar as the default.</p> <p>We are telling WordPress to find this avatar in our “images” directory inside the theme directory. Next step, obviously, is to create the image itself and upload it to the “images” folder.</p> <p> </p> <h1>4. Post formats</h1> <p>The post formats feature allows you to customize the style and presentation of posts. As of this writing, there are 9 standardized post formats that users can choose from: aside, gallery, link, image, quote, status, video, audio, and chat. In addition to these, the default “Standard” post format indicates that no post format is specified for the particular post.</p> <p>To add this functionality to your theme, include the following code in your <code>functions.php</code>, specifying the post formats you’ll be taking advantage of. e.g. If you only want the aside, image, link, quote, and status Post Formats, your code should look like this:</p> <pre>add_theme_support( 'post-formats', array( 'aside', 'image', 'link', 'quote', 'status' ) );</pre> <p> </p> <h1>5. Featured image function</h1> <p>The featured image function, as <a href="http://codex.wordpress.org/Post_Thumbnails" rel="nofollow external" class="bo">the codex</a> explains, allows the author to choose a representative image for Posts, Pages or Custom Post Types.</p> <p>To enable this functionality, include the following code in your <code>functions.php</code>:</p> <pre>add_theme_support( 'post-thumbnails' );</pre> <p>We could stop there and leave it up to WordPress to define the thumbnail sizes or we could take control and define them ourselves. We’ll do the latter, obviously!</p> <p>Let’s say we’re running a magazine site where the featured image will appear in at least 3 different sizes. Maybe one large image if the post is featured or is the newest, a medium sized image if its just a post among the rest and a regular size perhaps to appear elsewhere.</p> <p>We take advantage of the <code>add_image_size()</code> function that instructs WordPress to make a copy of our featured image in our defined sizes.</p> <p>To do this, we add the following to the <code>functions.php</code>:</p> <pre>// regular size add_image_size( 'regular', 400, 350, true ); // medium size add_image_size( 'medium', 650, 500, true ); // large thumbnails add_image_size( 'large', 960, '' );</pre> <p>See how to work with the <code>add_image_size()</code> function to either soft crop or hard crop your images on the <a href="http://codex.wordpress.org/Function_Reference/add_image_size#Crop_Mode" rel="nofollow external" class="bo">WordPress codex page.</a></p> <p> </p> <h1>6. Attachment display settings</h1> <p>Once we’ve defined the above image sizes (regular, medium and large) — and since by default WordPress doesn’t do it for us — we’ll add the ability to select our those image sizes from the <em>Attachment Display Settings</em> interface.</p> <p>It would be nice if you could, when writing a post, insert the desired size image by selecting it from the dropdown as you normally would for the WordPress default sizes.</p> <p>To do this, we add the following to our <code>functions.php</code>:</p> <pre>// show custom image sizes on when inserting media function cake_show_image_sizes($sizes) { $sizes['regular'] = __( 'Our Regular Size', 'cake' ); $sizes['medium'] = __( 'Our Medium Size', 'cake' ); $sizes['large'] = __( 'Our Large Size', 'cake' ); return $sizes; } add_filter('image_size_names_choose', 'cake_show_image_sizes');</pre> <p>With that in place, we can select our image sizes.</p> <p> </p> <h1>7. Add feed links (instead of old RSS code in head)</h1> <p>This one is simple. If you’ve been building WordPress themes for a while, you’ll remember the days when you had to manually include code to output the RSS feed right in the header.php. This approach is cleaner and relies on the <code>wp_head()</code> action hook to output the necessary code.</p> <p>In the <code>functions.php</code> file, include the following:</p> <pre>// Adds RSS feed links to for posts and comments. add_theme_support( 'automatic-feed-links' );</pre> <p>Make sure that you have<code></code> it in the <code>header.php</code>, right before end of <code>&amp;rgt;/head&amp;lgt;</code></p> <p> </p> <h1>8. Load text domain</h1> <p>With this function you take the first step towards making your theme available for translation.</p> <p>Its best to call this function from within the <code>after_setup_theme()</code> action hook i.e. after the setup, registration, and initialization actions of your theme have run.</p> <pre>add_action('after_setup_theme', 'my_theme_setup'); function my_theme_setup(){ load_theme_textdomain('my_theme', get_template_directory() . '/languages'); }</pre> <p>Now add a directory named ‘<code>languages</code>‘ in your theme directory.</p> <p>You can learn more about load_theme_textdomain() function on the <a href="http://codex.wordpress.org/Function_Reference/load_theme_textdomain" rel="nofollow external" class="bo">WordPress codex page</a>.</p> <p> </p> <h1>9. Define content width</h1> <p>Content width is a feature in themes that allows you to set the maximum allowed width for videos, images, and other oEmbed content in a theme.</p> <p>That means, when you paste that YouTube URL in the editor and WordPress automatically displays the actual video on the front end, that video will not exceed the width you set using the <code>$content_width</code> variable.</p> <pre>if ( ! isset( $content_width ) ) $content_width = 600;</pre> <p>WordPress also recommends the addition of the following CSS:</p> <pre>.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail { max-width: 100%; height: auto; }</pre> <p>While this is useful, its a bit heavy handed. It defines the content width for <strong>all</strong> content. What if you wanted videos of a larger width on pages than in posts and an even larger size in a custom post type? Currently, there is no way to define this. There is however a <a href="http://core.trac.wordpress.org/ticket/21256" rel="nofollow external" class="bo">feature request</a> proposing the inclusion of the <code>$content_width</code> variable into the built-in <code>add_theme_support()</code>.</p> <p> </p> <h1>10. Dynamic sidebar</h1> <p>Your typical theme will have at least one sidebar. The code to define the sidebar is pretty straightforward.</p> <p>Add the following to your <code>functions.php</code>:</p> <pre>if(function_exists('register_sidebar')){ register_sidebar(array( 'name' =&gt; 'Main Sidebar', 'before_widget' =&gt; '&lt;aside id="%1$s" class="widget %2$s"&gt;', 'after_widget' =&gt; '&lt;/aside&gt;', 'before_title' =&gt; '&lt;h3&gt;', 'after_title' =&gt; '&lt;/h3&gt;', )); }</pre> <p>This registers and defines a sidebar named “Main Sidebar” and its HTML markup.</p> <p>You can learn more about the <code>register_sidebar()</code> function on the <a href="http://codex.wordpress.org/Function_Reference/register_sidebar" rel="nofollow external" class="bo">WordPress codex page.</a></p> <p>You’ll routinely find the need to have more than that one sidebar so you can just copy/paste the above code and change the name.</p> <p>There is also a <code>register_sidebars()</code> function that will allow you to register and define multiple sidebars all at once but it doesn’t give you the flexibility of giving each new sidebar a unique name.</p> <p> </p> <h1>11. Custom “more” link format</h1> <p>If you’re displaying excerpts of your posts on a blog index page, by default WordPress will show <code>[...]</code> to indicate there’s more “after the jump”.</p> <p>You will most likely want to add a “more link” and define how that looks.</p> <p>To do this we need to add the following code to our <code>functions.php</code>:</p> <pre>function new_excerpt_more($more) { global $post; return '...&lt;br /&gt;&lt;br /&gt;&lt;a href="'. get_permalink($post-&gt;ID) . '" class="read_more"&gt;read more →&lt;/a&gt;'; } add_filter('excerpt_more', 'new_excerpt_more');</pre> <p>This adds an ellipses ‘<strong>…</strong>‘ right after the excerpt and includes a read more link after two break tags. You can rename and style the <code>read_more</code> CSS class for the link as desired.</p> <p> </p> <h1>12. Basic pagination</h1> <p>Each theme might have different pagination needs but it’s always safest to start with a nice default functions: <code>previous_posts_link()</code> and <code>next_posts_link()</code>.</p> <pre>function cake_content_nav( $nav_id ) { global $wp_query; if ( $wp_query-&gt;max_num_pages &gt; 1 ) : ?&gt; &lt;nav id="&lt;?php echo $nav_id; ?&gt;" class="content_nav clearfix"&gt; &lt;ul&gt; &lt;li class="nextPost"&gt;&lt;?php previous_posts_link( __( '← newer ', 'cake' ) ); ?&gt;&lt;/li&gt; &lt;li class="prevPost"&gt;&lt;?php next_posts_link( __( 'older →', 'cake' ) ); ?&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/nav&gt; &lt;?php endif; }?&gt;</pre> <p> </p> <h1>13. Redirect after theme activation</h1> <p>If you have special instructions in your theme eg. in your theme options page that you’d like the user to see when they first activate the theme, you can use the following function to redirect them there:</p> <pre>if (is_admin() &amp;&amp; isset($_GET['activated']) &amp;&amp; $pagenow == "themes.php") wp_redirect('themes.php?page=themeoptions');</pre> <p>Pay special attention to the <code>wp_redirect()</code> function. Make sure to replace the ‘<code>themes.php?page=themeoptions</code>‘ with the URL of your page.</p> <p> </p> <h1>14. Hide admin bar (during development)</h1> <p>During development, I sometimes find the WordPress admin (tool) bar to be quite distracting.</p> <p>It’s in a fixed position at the top of the window and depending on my layout can cover some elements of the header.</p> <p>While still designing and developing, I like to hide the admin bar with this handy function.</p> <pre>show_admin_bar( false );</pre> <p> </p> <p><em><strong>Do you have any favourite functions for jump starting WordPress template development? What functions would you like to see? Let us know in the comments.</strong></em></p> <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-114706162/stock-photo-close-up-of-a-multi-tool-penknife.html" rel="nofollow external" class="bo">multi-tool image</a> via Shutterstock.</em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/dxthemes-bundle-50.html?ref=inwidget" rel="nofollow external" class="bo"><strong>DXThemes: 50+ WP Themes and Responsive Templates – only $27!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="14 key WordPress functions to jump start theme development" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/05/1-key-wordpress-functions-to-jump-start-theme-development/" rel="nofollow external" class="bo">Source</a> <br><br><a href="http://da.feedsportal.com/r/165665625368/u/49/f/661066/c/35285/s/2ca89ae3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665625368/u/49/f/661066/c/35285/s/2ca89ae3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>After a few years (or even months) of designing and developing WordPress themes, especially for clients, you start to realize that a lot of the functionality can be standardized or distilled down...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2ca89ae3/l/0L0Swebdesignerdepot0N0C20A130C0A50C10Ekey0Ewordpress0Efunctions0Eto0Ejump0Estart0Etheme0Edevelopment0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/31129/guest@my.umbc.edu/e7d30546fbc51f1ccd070983736dc68e/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>cool-wordpress-functions</Tag>
<Tag>css</Tag>
<Tag>custom-menu-in-wordpress</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>modifying-wordpress</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>style-wordpress</Tag>
<Tag>tips</Tag>
<Tag>wordpress</Tag>
<Tag>wordpress-functions</Tag>
<Tag>wordpress-themes</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>Fri, 31 May 2013 05:15:01 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="32767" important="false" status="posted" url="https://my3.my.umbc.edu/posts/32767">
<Title>APA's Bersoff and Anderson to Participate in White House National Conference on Mental Health June 3</Title>
<Body>
<![CDATA[
    <div class="html-content">President to launch national dialogue to reduce stigma, increase access to mental health care</div>
]]>
</Body>
<Summary>President to launch national dialogue to reduce stigma, increase access to mental health care</Summary>
<Website>http://www.apa.org/news/press/releases/2013/05/mental-health-conference.aspx</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/32767/guest@my.umbc.edu/0cc052ec0d8c4f602178f608048622ab/api/pixel</TrackingUrl>
<Group token="retired-230">Psychology Student Association @ USG</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-230</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/original.jpg?1359246046</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/large.png?1359246046</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/medium.png?1359246046</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/small.png?1359246046</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxsmall.png?1359246046</AvatarUrl>
<Sponsor>Psychology Student Association @ USG</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30640" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30640">
<Title>UMBC Men's Lacrosse Journeys to Japan For Third Time in Nine Years</Title>
<Body>
<![CDATA[
    <div class="html-content">For the third time in the past nine years, the UMBC men's lacrosse program has travelled to Japan and will compete, participate in clinics and enjoy the wonders of the nation. The travelling party departed Baltimore on May 29 and will spend nine days in the Land of the Rising Sun. One of the many highlights of the journey occurs on Sunday, June 2, when UMBC will compete against the Japanese National Team in the International Friendship game.</div>
]]>
</Body>
<Summary>For the third time in the past nine years, the UMBC men's lacrosse program has travelled to Japan and will compete, participate in clinics and enjoy the wonders of the nation. The travelling party...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8035</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30640/guest@my.umbc.edu/7ba96c08861ea6576e16b3673910bca9/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>3</PawCount>
<CommentCount>4</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30625" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30625">
<Title>Stories from Around the Web (Week Ending May 31, 2013)</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A roundup of the most interesting stories from other sites, collected by the staff at <em>MIT Technology Review</em>.</p>
    <p><a href="http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/" rel="nofollow external" class="bo">Anatomy of a Hack: How Crackers Ransack Passwords<br></a>This is exceptionally geeky but smartly done, because it shows in a memorable way how passwords get cracked.<span> <br></span><span>—Brian Bergstein, deputy editor</span></p>
    </div>
]]>
</Body>
<Summary>A roundup of the most interesting stories from other sites, collected by the staff at MIT Technology Review.  Anatomy of a Hack: How Crackers Ransack Passwords This is exceptionally geeky but...</Summary>
<Website>http://www.technologyreview.com/view/515541/stories-from-around-the-web-week-ending-may-31-2013/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30625/guest@my.umbc.edu/eb0fa9a3ec4d6b220b0bc83bc736abe0/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 31 May 2013 00:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30620" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30620">
<Title>Self-Driving Cars for Testing Are Supported by U.S.</Title>
<Body>
<![CDATA[
    <div class="html-content">The Transportation Department said that driverless cars should not yet be allowed, except for testing, but noted that some safety features could save lives.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." 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%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." 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%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." 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%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." 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%2F05%2F31%2Ftechnology%2Fself-driving-cars-for-testing-are-supported-by-us.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Self-Driving+Cars+for+Testing+Are+Supported+by+U.S." 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/165664507741/u/0/f/640387/c/34625/s/2ca3fef9/kg/342-358-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664507741/u/0/f/640387/c/34625/s/2ca3fef9/kg/342-358-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Transportation Department said that driverless cars should not yet be allowed, except for testing, but noted that some safety features could save lives.     </Summary>
<Website>http://www.nytimes.com/2013/05/31/technology/self-driving-cars-for-testing-are-supported-by-us.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30620/guest@my.umbc.edu/9bfa97b583e21fa36bfd79c2c2eff1dd/api/pixel</TrackingUrl>
<Tag>automobile-safety-features-and-defects</Tag>
<Tag>automobiles</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>ford-motor-co-f-nyse</Tag>
<Tag>general-motors-gm-nyse</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>national-highway-traffic-safety-administration</Tag>
<Tag>new</Tag>
<Tag>new-models-design-and-products</Tag>
<Tag>roads-and-traffic</Tag>
<Tag>technology</Tag>
<Tag>toyota-motor-corporation-tm-nyse</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>Thu, 30 May 2013 20:52:21 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30621" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30621">
<Title>Mobile Labs and Northway Solutions Group Announce Partnership to Provide Turnkey Mobile App Testing Solution</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Partnership brings together Northway's industry-leading implementation and training services with Mobile Labs' leading-edge mobile app testing software.</p></div>
]]>
</Body>
<Summary>Partnership brings together Northway's industry-leading implementation and training services with Mobile Labs' leading-edge mobile app testing software.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/mobile-labs-and-northway-solutions-group-announce-partnership-to-provide-turnkey-mobile-app-testing-solution.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30621/guest@my.umbc.edu/e0b71aeec0106c6054eb6bd516355b28/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>Thu, 30 May 2013 19:53:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30622" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30622">
<Title>Typemock Introduces Isolator V7.4 &#8211; Enhanced Visual Coverage Makes Bug Detection Easier than Ever</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Upgrade enables developers to view the coverage of their tested code within Visual Studio, and view where tests fail.</p></div>
]]>
</Body>
<Summary>Upgrade enables developers to view the coverage of their tested code within Visual Studio, and view where tests fail.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/typemock-introduces-isolator-v7.4-enhanced-visual-coverage-makes-bug-detection-easier-than-ever.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30622/guest@my.umbc.edu/dbec57805e527da917a47a9f99d56d89/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>Thu, 30 May 2013 19:43:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30617" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30617">
<Title>Corner Office: A Good Manager Is Much More Than a Messenger</Title>
<Body>
<![CDATA[
    <div class="html-content">Roman Stanek has started more than five companies and says he has the ability to see where technology is going.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F31%2Fbusiness%2Froman-stanek-of-good-data-on-being-a-good-manager.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Corner+Office%3A+A+Good+Manager+Is+Much+More+Than+a+Messenger" 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%2F05%2F31%2Fbusiness%2Froman-stanek-of-good-data-on-being-a-good-manager.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Corner+Office%3A+A+Good+Manager+Is+Much+More+Than+a+Messenger" 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%2F05%2F31%2Fbusiness%2Froman-stanek-of-good-data-on-being-a-good-manager.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Corner+Office%3A+A+Good+Manager+Is+Much+More+Than+a+Messenger" 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%2F05%2F31%2Fbusiness%2Froman-stanek-of-good-data-on-being-a-good-manager.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Corner+Office%3A+A+Good+Manager+Is+Much+More+Than+a+Messenger" 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%2F05%2F31%2Fbusiness%2Froman-stanek-of-good-data-on-being-a-good-manager.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Corner+Office%3A+A+Good+Manager+Is+Much+More+Than+a+Messenger" 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/165664506404/u/0/f/640387/c/34625/s/2ca3f280/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664506404/u/0/f/640387/c/34625/s/2ca3f280/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Roman Stanek has started more than five companies and says he has the ability to see where technology is going.     </Summary>
<Website>http://www.nytimes.com/2013/05/31/business/roman-stanek-of-good-data-on-being-a-good-manager.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30617/guest@my.umbc.edu/0fbede12c76f8e2beddf50f1faf1c323/api/pixel</TrackingUrl>
<Tag>executives-and-management-theory</Tag>
<Tag>gooddata-corp</Tag>
<Tag>new</Tag>
<Tag>stanek-roman</Tag>
<Tag>start-ups</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>Thu, 30 May 2013 19:38:43 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30623" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30623">
<Title>Mobilizing Atari Arcade in HTML5</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>The Atari Arcade: a true game portal showcasing what's possible with web standards like HTML5, CSS3, and JavaScript. Slick graphics, fast, multi-player gameplay, and platform agnostic. Initially only targeting desktop and tablet-based browsers, we've now endeavored to bring the arcade to mobile.</p></div>
]]>
</Body>
<Summary>The Atari Arcade: a true game portal showcasing what's possible with web standards like HTML5, CSS3, and JavaScript. Slick graphics, fast, multi-player gameplay, and platform agnostic. Initially...</Summary>
<Website>http://www.htmlgoodies.com/HTML5/client/mobilizing-atari-arcade-in-html5.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30623/guest@my.umbc.edu/72dde376b4e687c14c0cd851b23d45fa/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>Thu, 30 May 2013 19:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30616" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30616">
<Title>Say Hello to PowerShell</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=32056&amp;c=199333607" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=32056&amp;c=199333607" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://technet.microsoft.com/en-US/scriptcenter/dd742419.aspx" rel="nofollow external" class="bo">PowerShell</a> has been in development for over ten years. Microsoft continues to invest in its development and adoption. These investments have transformed the ease and robustness with which developers and admins can automate Windows tasks.</p>
    <p></p>
    <hr>
    <h2>What is PowerShell?</h2>
    <blockquote><p> PowerShell solves administration and adaptability challenges by seamlessly integrating the .NET Framework.</p></blockquote>
    <p><a href="http://technet.microsoft.com/en-US/scriptcenter/dd742419.aspx" rel="nofollow external" class="bo">PowerShell</a> is Microsoft’s task automation framework, consisting of a command-line shell, an integrated scripting environment (ISE), a scripting language built on .NET Framework, an API allowing you to host PowerShell in your .NET applications, and it is a distributed automation platform. PowerShell provides full access to COM and WMI, enabling you to perform tasks on both local and remote Windows systems.</p>
    <p>PowerShell is a new breed platform for automation, in that it solves administration and adaptability challenges by seamlessly integrating the .NET Framework.  It’s good for developers, administrators, testers and more. Based on .NET, the tool drives down costs, while providing developers and administrators a simple and enterprise-ready way to automate, measure and improve all of their processes.</p>
    <hr>
    <h2>Follow Along</h2>
    <p>In this intro, I’ll highlight some of the depth and breadth PowerShell brings to the table. Things like the game changing object pipeline, the REPL (read, eval, print loop), .NET integration and more.</p>
    <p>If you’re running Windows 7 or 8, PowerShell is already installed. <a href="http://www.microsoft.com/en-us/download/details.aspx?id=34595" rel="nofollow external" class="bo">Download PowerShell v3 for Windows 7 here.</a> You need Windows 7 SP1 and the download     also works for Windows 2008 R2 SP1 and Windows 2008 SP2. If you’re running Vista, XP or Windows 2003, you’ll need to settle for <a href="http://support.microsoft.com/kb/968929" rel="nofollow external" class="bo">PowerShell v2 here</a>.</p>
    <hr>
    <h2>What is it Good For? Absolutely Everything!</h2>
    <p>From deploying multiple resources to Azure, to handling your software builds for continuous integration, accessing web services or REST endpoints. PowerShell has you covered and provides so much more.</p>
    <ul>
    <li>Slice and dice text, XML, CSV, and JSON with ease</li>
    <li>Embed PowerShell to provide scripting capabilities for your C# apps</li>
    <li>Create GUI applications five to ten times faster with less code</li>
    <li>Leverage PowerShell’s capabilities to work with the Internet</li>
    <li>Interact with DLLs and create objects, automatically display properties, and call methods in live interactive sessions</li>
    <li>Build domain-specific languages (DSLs) and vocabularies to express solutions more clearly</li>
    <li>Work with Microsoft Office via the Component Object Model (COM)</li>
    <li>PowerShell v3 features</li>
    </ul>
    <hr>
    <h2>Bootstrapping PowerShell</h2>
    <p>What is a cmdlet? A cmdlet is the fundamental building block in PowerShell and is expressed as a verb-noun pair, helping to make them self-descriptive. For example:</p>
    <pre>PS C:\&gt; Get-Date&#x000A;    &#x000A;    Sunday, May 26, 2013 8:46:16 AM&#x000A;    </pre>
    <p>PowerShell includes hundreds of core cmdlets and you can write your own.</p>
    <h3>Memorize Two Cmdlets</h3>
    <p>PowerShell makes discoverability easy. Whenever you walk up to the blue screen of PowerShell and are not sure what to do, use <code><em>Get-Command</em></code>.</p>
    <blockquote><p>The <code><em>Get-Command</em></code> cmdlet gets all commands that are installed on the computer, including cmdlets, aliases, functions, workflows, filters, scripts, and applications.</p></blockquote>
    <p>In essence, <code><em>Get-Command</em></code> shows you all the things you can do in the current PowerShell session.</p>
    <h3>Get-Command</h3>
    <p><code><em>Get-Command</em></code> supports wildcards. Let’s say I want to see all the cmdlets that have the verb, <code>Invoke</code>?</p>
    <pre>Get-Command Invoke*&#x000A;    </pre>
    <p>Here is what I get after pressing <code>enter</code>.</p>
    <pre>CommandType Name                       ModuleName&#x000A;    ----------- ----                       ----------&#x000A;    Function    Invoke-AsWorkflow          PSWorkflowUtility&#x000A;    Function    Invoke-Background          ShowUI&#x000A;    Function    Invoke-BrowserControl      AutoBrowse&#x000A;    Function    Invoke-Line                isepack&#x000A;    Function    Invoke-Line                PowerShellPack&#x000A;    Function    Invoke-Office365           Pipeworks&#x000A;    Function    Invoke-Pester              Pester&#x000A;    Function    Invoke-WebCommand          Pipeworks&#x000A;    Cmdlet      Invoke-CimMethod           CimCmdlets&#x000A;    Cmdlet      Invoke-Command             Microsoft.PowerShell.Core&#x000A;    Cmdlet      Invoke-Expression          Microsoft.PowerShell.Utility&#x000A;    Cmdlet      Invoke-History             Microsoft.PowerShell.Core&#x000A;    Cmdlet      Invoke-Item                Microsoft.PowerShell.Management&#x000A;    Cmdlet      Invoke-RestMethod          Microsoft.PowerShell.Utility&#x000A;    Cmdlet      Invoke-TroubleshootingPack TroubleshootingPack&#x000A;    Cmdlet      Invoke-WebRequest          Microsoft.PowerShell.Utility&#x000A;    Cmdlet      Invoke-WmiMethod           Microsoft.PowerShell.Management&#x000A;    Cmdlet      Invoke-WSManAction         Microsoft.WSMan.Management&#x000A;    </pre>
    <p>What are the cmdlets ending in the noun Item?</p>
    <pre>Get-Command *-Item&#x000A;    </pre>
    <p>Note that you start to see other verbs, like Clear, New, Remove and Set.</p>
    <pre>CommandType Name        ModuleName&#x000A;    ----------- ----        ----------&#x000A;    Cmdlet      Clear-Item  Microsoft.PowerShell.Management&#x000A;    Cmdlet      Copy-Item   Microsoft.PowerShell.Management&#x000A;    Cmdlet      Get-Item    Microsoft.PowerShell.Management&#x000A;    Cmdlet      Invoke-Item Microsoft.PowerShell.Management&#x000A;    Cmdlet      Move-Item   Microsoft.PowerShell.Management&#x000A;    Cmdlet      New-Item    Microsoft.PowerShell.Management&#x000A;    Cmdlet      Remove-Item Microsoft.PowerShell.Management&#x000A;    Cmdlet      Rename-Item Microsoft.PowerShell.Management&#x000A;    Cmdlet      Set-Item    Microsoft.PowerShell.Management&#x000A;    </pre>
    <p>Next I’ll use a few cmdlets to summarize what is available in my session on one of my boxes when I launch the PowerShell console.</p>
    <pre>Get-Command | Group CommandType -NoElement | Sort Count -Descending&#x000A;    </pre>
    <p>I call <code><em>Get-Command</em></code>, group it, and sort it. Here, I can see that I have 1000+ Cmdlets to work with. I’m running PowerShell v3 with additional modules installed, so your mileage may vary.</p>
    <pre>Count Name&#x000A;    ----- ----&#x000A;     2487 Function&#x000A;     1184 Cmdlet&#x000A;       38 Alias&#x000A;        1 Filter&#x000A;    </pre>
    <p>What modules do these cmdlets come from? We can answer that question this way:</p>
    <pre>Get-Command -CommandType Cmdlet | Group ModuleName -NoElement | Sort Count -Descending&#x000A;    </pre>
    <p>There is a lot I can get accomplished with PowerShell.</p>
    <pre>Count Name&#x000A;    ----- ----&#x000A;      379 ShowUI&#x000A;      164 Hyper-V&#x000A;      157 Azure&#x000A;       92 Microsoft.PowerShell.Utility&#x000A;       82 Microsoft.PowerShell.Management&#x000A;       78 WebAdministration&#x000A;       55 Microsoft.PowerShell.Core&#x000A;       22 Dism&#x000A;       18 International&#x000A;       17 PKI&#x000A;       16 PSScheduledJob&#x000A;       13 Microsoft.WSMan.Management&#x000A;       12 CimCmdlets&#x000A;       10 Microsoft.PowerShell.Security&#x000A;        9 TrustedPlatformModule&#x000A;        8 BitsTransfer&#x000A;        8 MsDtc&#x000A;        6 Pipeworks&#x000A;        6 Kds&#x000A;        5 AppLocker&#x000A;        5 SecureBoot&#x000A;        5 Microsoft.PowerShell.Diagnostics&#x000A;        4 NetSecurity&#x000A;        4 Appx&#x000A;        3 WindowsErrorReporting&#x000A;        2 Microsoft.PowerShell.Host&#x000A;        2 TroubleshootingPack&#x000A;        1 PSWorkflow&#x000A;        1 DnsClient&#x000A;    </pre>
    <h3>Get-Help</h3>
    <p><code><em>Get-Help</em></code> does exactly that, it displays help for the cmdlet you are what to know more about. Not only is it easy to get help, it is easy to create/include help for the cmdlets/advanced functions you develop, a topic for another article. Having help at your fingertips is a huge time saver.</p>
    <pre>Get-Help Invoke-Command&#x000A;    </pre>
    <p>Here is a Shortened version of the output.</p>
    <pre>NAME&#x000A;        Get-Process&#x000A;    &#x000A;    SYNOPSIS&#x000A;        Gets the processes that are running on the local computer or a remote computer.&#x000A;    &#x000A;    SYNTAX&#x000A;        Get-Process [[-Name] &lt;String[]&gt;] [-ComputerName &lt;String[]&gt;] [-FileVersionInfo [&lt;SwitchParameter&gt;]] [-Module&#x000A;        [&lt;SwitchParameter&gt;]] [&lt;CommonParameters&gt;]&#x000A;    &#x000A;        Get-Process [-ComputerName &lt;String[]&gt;] [-FileVersionInfo [&lt;SwitchParameter&gt;]] [-Module [&lt;SwitchParameter&gt;]] -Id&#x000A;        &lt;Int32[]&gt; [&lt;CommonParameters&gt;]&#x000A;    &#x000A;        Get-Process [-ComputerName &lt;String[]&gt;] [-FileVersionInfo [&lt;SwitchParameter&gt;]] [-Module [&lt;SwitchParameter&gt;]]&#x000A;        -InputObject &lt;Process[]&gt; [&lt;CommonParameters&gt;]&#x000A;    &#x000A;    DESCRIPTION&#x000A;        The Get-Process cmdlet gets the processes on a local or remote computer.&#x000A;    .&#x000A;    .&#x000A;    .&#x000A;    .&#x000A;    </pre>
    <p>Easier still; there is a switch for this on the Get-Help cmdlet that takes you <a href="http://technet.microsoft.com/library/hh849832.aspx" rel="nofollow external" class="bo">here</a>.</p>
    <pre>Get-Help Get-Process -Online&#x000A;    </pre>
    <p>Want to just see examples how to use the cmdlet? Use the <code><em>-Examples</em></code> switch. Plus, you can copy and paste example directly into the console and run it.</p>
    <pre>Get-Help Get-Process -Examples&#x000A;    </pre>
    <p>It’s that easy and quick.</p>
    <pre>NAME&#x000A;        Get-Process&#x000A;    &#x000A;    SYNOPSIS&#x000A;        Gets the processes that are running on the local computer or a remote computer.&#x000A;    &#x000A;        -------------------------- EXAMPLE 1 --------------------------&#x000A;    &#x000A;        PS C:\&gt; Get-Process&#x000A;    &#x000A;        This command gets a list of all of the running processes running on the local computer. For a definition of each column, see the "Additional Notes" section of the Help topic for Get-Help.&#x000A;    &#x000A;        -------------------------- EXAMPLE 2 --------------------------&#x000A;    &#x000A;        PS C:\&gt; Get-Process winword, explorer | format-list *&#x000A;    </pre>
    <hr>
    <h2>PowerShell Easily Works with Web Services</h2>
    <p>The W3C defines a “Web service” as:</p>
    <blockquote><p> [...] a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically <a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language" rel="nofollow external" class="bo">WSDL</a>). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.</p></blockquote>
    <p>PowerShell makes quick work of Webservices, using the <code><em>New-WebServiceProxy</em></code> cmdlet. Change the <code>$zipcode</code>, run it and get the latest weather info.</p>
    <pre>$zipCode = "96826"&#x000A;    &#x000A;    $svc = New-WebServiceProxy <a href="http://wsf.cdyne.com/WeatherWS/Weather.asmx">http://wsf.cdyne.com/WeatherWS/Weather.asmx</a>&#x000A;    $result = $svc.GetCityForecastByZIP($zipCode)&#x000A;    &#x000A;    # Transform the results&#x000A;    $result.ForecastResult |&#x000A;        ForEach {&#x000A;            [PSCustomObject]@{&#x000A;                City        = $result.City&#x000A;                State       = $result.State&#x000A;                Date        = $_.Date.ToString("d")&#x000A;                Description = $_.Desciption&#x000A;                DaytimeHigh = $_.Temperatures.DaytimeHigh&#x000A;            }&#x000A;        }&#x000A;    </pre>
    <h4>Result</h4>
    <p>I store the proxy object in <code><em>$svc</em></code> and then call the <code><em>GetCityForecastByZIP</em></code> method, capturing the results in <code><em>$result</em></code>. Looping through the ForecastResult array, I transform the record on the data. Note that the <em>City</em> and <em>DaytimeHigh</em> are at different levels in the hierarchy.</p>
    <p>The technique I am using is creating key/value pairs for the hashtable. <code><em>@{}</em></code> is PowerShell syntax for a new hashtable. Using <code><em>[PSCustomObject]</em></code> is a PowerShell <em>accelerator</em>, which allows me, for one thing, to create a custom object from a hashtable.</p>
    <p>The <code>Weather.asmx</code> web service returned hierarchical XML. In a handful of PowerShell commands, I re-shaped the data and formatted it (the Date) to my liking. For this example, I chose to let PowerShell print it out. Once I have the data in my PowerShell session, I am now connected to the PowerShell ecosystem and can easily pipe this array of custom objects to other cmdlets to push it to another web service, generate HTML, save it to a file, create a CSV file or export it to a SQL database.</p>
    <pre>City     State Date      Description   DaytimeHigh&#x000A;    ----     ----- ----      -----------   -----------&#x000A;    Honolulu HI    5/22/2013 Showers       76&#x000A;    Honolulu HI    5/23/2013 Partly Cloudy 76&#x000A;    Honolulu HI    5/24/2013 Partly Cloudy 77&#x000A;    Honolulu HI    5/25/2013 Partly Cloudy 77&#x000A;    Honolulu HI    5/26/2013 Partly Cloudy 77&#x000A;    Honolulu HI    5/27/2013 Partly Cloudy 77&#x000A;    Honolulu HI    5/28/2013 Partly Cloudy 77&#x000A;    </pre>
    <h3>Working with CSV, JSON and XML</h3>
    <p>Slicing and dicing text formats is a PowerShell sweet spot. Here, I’ll convert three common formats to a PowerShell object. For the CSV and JSON, I’ll use the correct <code><em>ConvertFrom-*</em></code> cmdlets, and for the XML, I’ll use the <code></code> accelerator which takes XML and creates an XMLDocument.</p>
    <pre># Use CSV&#x000A;    $csv = "Name,Age`r`nJohn,10" | ConvertFrom-Csv&#x000A;    $csv&#x000A;    &#x000A;    Name Age&#x000A;    ---- ---&#x000A;    John 10&#x000A;    &#x000A;    # Use JSON&#x000A;    $json = "{Name:'Tom', Age:20}" | ConvertFrom-Json&#x000A;    $json&#x000A;    &#x000A;    Name Age&#x000A;    ---- ---&#x000A;    Tom   20&#x000A;    &#x000A;    # Use XML&#x000A;    $xml = (1"&lt;data&gt;&lt;record&gt;&lt;Name&gt;Harry&lt;/Name&gt;&lt;Age&gt;30&lt;/Age&gt;&lt;/record&gt;&lt;/data&gt;").data.record&#x000A;    $xml&#x000A;    &#x000A;    Name  Age&#x000A;    ----  ---&#x000A;    Harry 30&#x000A;    &#x000A;    # Combine all three&#x000A;    $csv,$json,$xml&#x000A;    &#x000A;    Name  Age&#x000A;    ----  ---&#x000A;    John  10&#x000A;    Tom   20&#x000A;    Harry 30&#x000A;    &#x000A;    # Add up the ages&#x000A;    $csv,$json,$xml | % {$sum=0} {$sum+=$_.age} {$sum}&#x000A;    &#x000A;    60&#x000A;    </pre>
    <p>So, we took three heterogeneous formats, and at the end, performed an aggregation over one of the fields. I could have retrieved each of these data feeds from various places, the CSV from a network share, the JSON for an REST query and the XML from a Web Service. Like I said, this is a PowerShell sweet spot.</p>
    <hr>
    <h2>Twitter Search</h2>
    <p>Let’s use Twitter’s search REST API at the command line. I construct the Url, which you could use in your browser, and then I use the PowerShell cmdlet <code><em>Invoke-RestMethod</em></code>. It sends a request to the REST service and determines if the response is XML or JSON. Here I’m requesting a JSON response so, <code><em>Invoke-RestMethod</em></code> converts the results to an array of PowerShell objects. I pipe them to the <code><em>Select</em></code> cmdlet (an alias of the verb-noun <code><em>Select-Object</em></code>) choosing to only three fields. Think of this as a projection, similar to LINQ or SQL.</p>
    <pre>$query = "PowerShell"&#x000A;    $url = "<a href="http://search.twitter.com/search.json?q=%24query">http://search.twitter.com/search.json?q=$query</a>"&#x000A;    &#x000A;    (Invoke-RestMethod $url).results |&#x000A;        Select created_at, from_user_name, text&#x000A;    </pre>
    <h4>Result</h4>
    <p>It’s that easy. Check out a video I did for version 2: <a href="http://vimeo.com/25626751" rel="nofollow external" class="bo">“PowerShell, ShowUI and the Twitter API”</a>. A mini WPF Twitter app in handful of PowerShell.</p>
    <pre>created_at       from_user_name       text&#x000A;    ----------       --------------       ----&#x000A;    Sat, 25 May 2013 vitor pombeiro       @brunomlopes a falar sobre Powershell "Ã  minha maneira"&#x000A;    Sat, 25 May 2013 Jeffery Hicks        Did you know the #PowerShell ISE has startup options? In&#x000A;    Sat, 25 May 2013 Pat Richard          @mwjcomputing Yeah - had always used $MyInvocation.MyCom&#x000A;    Sat, 25 May 2013 Rob Fairman          "#PowerShell Script for Clearing #Windows Event Logs" ht&#x000A;    Sat, 25 May 2013 Jim Priestley        Automating SharePoint Deployments in Windows #Azure usin&#x000A;    Sat, 25 May 2013 VT Technology        RT @jangwoo_park: â€œ@VTTechnology: Export Multiple Virtua&#x000A;    Sat, 25 May 2013 Aryan Nava           Using PowerShell to view Site created on the previous da&#x000A;    Sat, 25 May 2013 Aryan Nava           PowerShell Tips for SQL Server <a href="http://t.co/lVW2AY5BYZ">http://t.co/lVW2AY5BYZ</a>&#x000A;    Sat, 25 May 2013 Private Cloud Tech   The Journey to the Private Cloud Part 3 â€“ The Infrastruc&#x000A;    Sat, 25 May 2013 Dr Tom Shinder       The Journey to the Private Cloud Part 3 â€“ The Infrastruc&#x000A;    Sat, 25 May 2013 Jacob Daniels        RT @tech_faq: Windows Server Manager is based on Windows&#x000A;    Sat, 25 May 2013 CodeCruiser          10 Tips for the SQL Server PowerShell Scripter <a href="http://t">http://t</a>.&#x000A;    </pre>
    <hr>
    <h2>Compiling C# on the Fly in PowerShell</h2>
    <p>PowerShell is an interpreted language. So, there will be a penalty. It is not a major concern, but, sometimes, you’ll need the speed of a compiled language. PowerShell lets you compile C# on the fly in memory in your PowerShell session, by using the <code><em>-TypeDefinition</em></code> parameter on the <code><em>Add-Type</em></code> cmdlet. Note the <code><em>here-string</em></code> identified by the <code><em>@" "@</em></code>. They are super useful when quoting text. I encourage you to explore more with <code><em>Add-Type</em></code> and PowerShell’s quoting rules.</p>
    <pre>Add-Type -TypeDefinition @"&#x000A;    public class TestInline&#x000A;    {&#x000A;        public long Fibonacci(long n)&#x000A;        {&#x000A;            long a = 0;&#x000A;            long b = 1;&#x000A;    &#x000A;            for (long idx = 0; idx &lt; n; idx+=1)&#x000A;            {&#x000A;                long temp = a;&#x000A;                a = b;&#x000A;                b = temp + b;&#x000A;            }&#x000A;                return a;&#x000A;            }&#x000A;    }&#x000A;    "@&#x000A;    &#x000A;    $obj = New-Object TestInline&#x000A;    &#x000A;    1..10 | ForEach { $obj.Fibonacci($_) }&#x000A;    </pre>
    <h3>Interacting with DLLS</h3>
    <p>Now, let’s say I didn’t give you the source code – just the compiled DLL. No problem: <code><em>Add-Type</em></code> has a <code><em>-Path</em></code> parameter.</p>
    <pre>Add-Type -Path .\FibLib.dll&#x000A;    &#x000A;    $obj = New-Object TestInline&#x000A;    1..10 | ForEach { $obj.Fibonacci($_) }&#x000A;    </pre>
    <p>Pay particular attention to this. Using <code><em>Add-Type</em></code> this way is how you easily wrap any .NET DLL coming from anybody, if they haven’t already provided a PowerShell interface. This is true whether the DLL  is from Microsoft, DELL, Citrix or another developer.</p>
    <hr>
    <h2>In Closing</h2>
    <p>So that does it for now. Would you like to see more Powershell-specific content on Nettuts+? Let us know below!</p>
    </div>
]]>
</Body>
<Summary>PowerShell has been in development for over ten years. Microsoft continues to invest in its development and adoption. These investments have transformed the ease and robustness with which...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/Ry9jRlRO94Q/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30616/guest@my.umbc.edu/69e979e7c4e73a2ed52a7a3f2a32159f/api/pixel</TrackingUrl>
<Tag>asp-net</Tag>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>powershell</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>Thu, 30 May 2013 17:48:21 -0400</PostedAt>
<EditAt>Thu, 30 May 2013 17:48:21 -0400</EditAt>
</NewsItem>

</News>
