<?xml version="1.0"?>
<News hasArchived="true" page="8137" pageCount="10744" pageSize="10" timestamp="Sat, 08 Aug 2026 04:38:34 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8137">
<NewsItem contentIssues="true" id="37634" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37634">
<Title>Get Up And Running With Grunt</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <table width="650">
    <tbody>
    <tr>
    <td>
    <div>
    <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" style="max-width: 100%; height: auto;"><br><a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=1" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=1" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=2" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=2" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=3" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=3" alt="" style="max-width: 100%; height: auto;"></a>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    <p>In this article, we’ll explore how to use <a href="http://gruntjs.com/" rel="nofollow external" class="bo">Grunt</a> in a project to speed up and change the way you develop websites. We’ll look briefly at what Grunt can do, before jumping into how to set up and use its various plugins to do all of the heavy lifting in a project.</p>
    <p>We’ll then look at how to build a simple input validator, using <a href="http://sass-lang.com/" rel="nofollow external" class="bo">Sass</a> as a preprocessor, how to use grunt-cssc and CssMin to combine and minify our CSS, how to use <a href="http://htmlhint.com/" rel="nofollow external" class="bo">HTMLHint</a> to make sure our HTML is written correctly, and how to build our compressed assets on the fly. Lastly, we’ll look at using <a href="https://github.com/mishoo/UglifyJS" rel="nofollow external" class="bo">UglifyJS</a> to reduce the size of our JavaScript and ensure that our website uses as little bandwidth as possible.</p>
    <p><a href="http://gruntjs.com/" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/10/grunt-js-opt.jpg" width="500" height="273" alt="Grunt.js" style="max-width: 100%; height: auto;"></a><br><em><a href="http://gruntjs.com/" rel="nofollow external" class="bo">Grunt.js</a> is a JavaScript task runner that helps you perform repetitive tasks such as minification, compilation, unit testing or linting.</em></p>
    <h3>Getting Started With Grunt</h3>
    <p>Most developers would agree that the speed and pace of JavaScript development over the last few years has been pretty astounding. Whether with frameworks such as <a href="http://backbonejs.org/" rel="nofollow external" class="bo">Backbone.js</a> and <a href="http://emberjs.com/" rel="nofollow external" class="bo">Ember.js</a> or with communities such as <a href="http://jsbin.com/welcome/1/edit" rel="nofollow external" class="bo">JS Bin</a>, the development of this language is changing not only the way we experience websites as users but also the way we build them.</p>
    <p>When you are working with JavaScript, you will likely need to execute multiple tasks regularly. While this is pretty much a given in most projects, it’s a time-consuming and repetitive way to work. Being in such an active community, you would assume that tools are available to automate and speed up this process. This is where Grunt comes in.</p>
    <h4>What Is Grunt?</h4>
    <p>Built on top of Node.js, Grunt is a task-based command-line tool that speeds up workflows by reducing the effort required to prepare assets for production. It does this by wrapping up jobs into tasks that are compiled automatically as you go along. Basically, you can use Grunt on most tasks that you consider to be grunt work and would normally have to manually configure and run yourself.</p>
    <p>While earlier versions came bundled with plugins like JSHint and Uglyify, the most recent release (version 0.4) relies on plugins for everything.</p>
    <p>What kind of tasks? Well, the list is exhaustive. Suffice it to say, Grunt can handle most things you throw at it, from <a href="https://npmjs.org/package/grunt-minified" rel="nofollow external" class="bo">minifying</a> to <a href="https://github.com/gruntjs/grunt-contrib-concat" rel="nofollow external" class="bo">concatenating</a> JavaScript. It can also be used for a range of tasks unrelated to JavaScript, such as compiling CSS from LESS and Sass. We’ve even used it with <a href="http://thingm.com/products/blink-1.html" rel="nofollow external" class="bo">blink(1)</a> to notify us when a build fails.</p>
    <h4>Why Use Grunt?</h4>
    <p>One of the best things about Grunt is the consistency it brings to teams. If you work collaboratively, you’ll know how frustrating inconsistency in the code can be. Grunt enables teams to work with a unified set of commands, thus ensuring that everyone on the team is writing code to the same standard. After all, nothing is more frustrating than a build that fails because of little inconsistencies in how a team of developers writes code.</p>
    <p>Grunt also has an incredibly active community of developers, with new plugins being released regularly. The barrier to entry is relatively low because a vast range of tools and automated tasks are already available to use.</p>
    <h3>Setting Up</h3>
    <p>The first thing to do in order to use Grunt is to set up Node.js. (If you know nothing about Node.js, don’t worry — it merely needs to be installed in order for Grunt to be able to run.)</p>
    <p>Once Node.js is installed, run this command:</p>
    <pre><code>&#x000A;    $ npm install -g grunt-cli&#x000A;    </code></pre>
    <p>To make sure Grunt has been properly installed, you can run the following command:</p>
    <pre><code>&#x000A;    $ grunt --version&#x000A;    </code></pre>
    <p>The next step is to create a <code>package.json</code> and a <code>gruntfile.js</code> file in the root directory of your project.</p>
    <h4>Creating the package.json File</h4>
    <p>The JSON file enables us to track and install all of our development dependencies. Then, anyone who works on the project will have the most current dependencies, which ultimately helps to keep the development environments in sync.</p>
    <p>Create a file in the root of your project that contains the following:</p>
    <pre><code>&#x000A;    {&#x000A;        "name" : "SampleGrunt",&#x000A;        "version" : "0.1.0",&#x000A;        "author" : "Brandon Random",&#x000A;        "private" : true,&#x000A;    &#x000A;        "devDependencies" : {&#x000A;            "grunt" :                   "~0.4.0"&#x000A;        } &#x000A;    }&#x000A;    </code></pre>
    <p>Once you have done this, run the following command:</p>
    <pre><code>&#x000A;    $ npm install&#x000A;    </code></pre>
    <p>This tells npm which dependencies to install and places them in a <code>node_modules</code> folder.</p>
    <h4>Creating the gruntfile.js File</h4>
    <p><code>Gruntfile.js</code> is essentially made up of a wrapper function that takes <code>grunt</code> as an argument.</p>
    <pre><code>&#x000A;    module.exports = function(grunt){&#x000A;    &#x000A;        grunt.initConfig({&#x000A;            pkg: grunt.file.readJSON('package.json')&#x000A;        });&#x000A;    &#x000A;        grunt.registerTask('default', []);&#x000A;    &#x000A;    };&#x000A;    </code></pre>
    <p>You are now set up to run Grunt from the command line at the root of your project. But if you do so at this stage, you will get the following warning:</p>
    <pre><code>&#x000A;    $ grunt&#x000A;    &gt; Task "default" not found. Use --force to continue. &#x000A;    </code></pre>
    <p>We’d get this because we haven’t specified any tasks or dependencies yet other than Grunt. So, let’s do that. But first, let’s look at how to extend the <code>package.json</code> file.</p>
    <h4>Extending the package.json File</h4>
    <p>The best thing about working with Node.js is that it can find packages and install them in one go, simply based on the contents of the package file. To install all of the new dependencies, just add this to the file:</p>
    <pre><code>&#x000A;    {&#x000A;        "name" : "SampleGrunt",&#x000A;        "version" : "0.1.0",&#x000A;        "author" : "Mike Cunsolo",&#x000A;        "private" : true,&#x000A;    &#x000A;        "devDependencies" : {&#x000A;            "grunt" :                       "~0.4.0",&#x000A;            "grunt-contrib-cssmin":         "*",&#x000A;            "grunt-contrib-sass":           "*",&#x000A;            "grunt-contrib-uglify":         "*",&#x000A;            "grunt-contrib-watch":          "*",&#x000A;            "grunt-cssc":                   "*",&#x000A;            "grunt-htmlhint":               "*",&#x000A;            "matchdep":                     "*"&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>And to complete the process? You guessed it:</p>
    <pre><code>&#x000A;    $ npm install&#x000A;    </code></pre>
    <h3>Loading npm Tasks In Grunt</h3>
    <p>Now that the packages have been installed, they have to be loaded in Grunt before we can do anything with them. We can load all of the tasks automatically with a single line of code, using the <code>matchdep</code> dependency. This is a boon for development because now the dependency list will be included only in the package file.</p>
    <p>At the top of <code>gruntfile.js</code>, above <code>grunt.initConfig</code>, paste this:</p>
    <pre><code>&#x000A;    require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);&#x000A;    </code></pre>
    <p>Without <code>matchdep</code>, we would have to write <code>grunt.loadNpmTasks("grunt-task-name");</code> for each dependency, which would quickly add up as we find and install other plugins.</p>
    <p>Because the plugins are loaded into Grunt, we may start specifying options. First off is the HTML file (<code>index.html</code>), which contains the following:</p>
    <pre><code>&#x000A;    &lt;!DOCTYPE html&gt;&#x000A;    &lt;html lang="en"&gt;&#x000A;    &#x000A;        &lt;head&gt;&#x000A;    &#x000A;            &lt;meta charset="utf-8"&gt;&#x000A;            &lt;meta name="viewport"   content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"&gt;&#x000A;    &#x000A;            &lt;title&gt;Enter your first name&lt;/title&gt;&#x000A;    &#x000A;            &lt;link rel="stylesheet"  href="build/css/master.css"&gt;&#x000A;    &#x000A;        &lt;/head&gt;&#x000A;    &#x000A;        &lt;body&gt;&#x000A;    &#x000A;            &lt;label for="firstname"&gt;Enter your first name&lt;/label&gt;&#x000A;            &lt;input id="firstname" name="firstname" type="text"&gt;&#x000A;            &lt;p id="namevalidation" class="validation"&gt;&lt;/p&gt;&#x000A;    &#x000A;            &lt;script type="text/javascript" src="build/js/base.min.js"&gt;&lt;/script&gt;&#x000A;    &#x000A;        &lt;/body&gt;&#x000A;    &#x000A;    &lt;/html&gt;&#x000A;    </code></pre>
    <h3>Validating With HTMLHint</h3>
    <p>Add this configuration to <code>grunt.initConfig</code>:</p>
    <pre><code>&#x000A;    htmlhint: {&#x000A;        build: {&#x000A;            options: {&#x000A;                'tag-pair': true,&#x000A;                'tagname-lowercase': true,&#x000A;                'attr-lowercase': true,&#x000A;                'attr-value-double-quotes': true,&#x000A;                'doctype-first': true,&#x000A;                'spec-char-escape': true,&#x000A;                'id-unique': true,&#x000A;                'head-script-disabled': true,&#x000A;                'style-disabled': true&#x000A;            },&#x000A;            src: ['index.html']&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>A plugin is typically configured like this: the plugin’s name (without the <code>grunt-contrib-/grunt-</code> prefix), then one or more targets of your choosing (which can be used to create custom options for the plugin for different files), an <code>options</code> object, and the files it affects. Now, when we run <code>grunt htmlhint</code> from the terminal, it will check through the source file and make sure that our HTML has no errors! However, manually typing this command several times an hour would get tedious pretty quickly.</p>
    <h3>Automate Tasks That Run Every Time A File Is Saved</h3>
    <p>The <code>watch</code> task can run a unique set of tasks according to the file being saved, using targets. Add this configuration to <code>grunt.initConfig</code>:</p>
    <pre><code>&#x000A;    watch: {&#x000A;        html: {&#x000A;            files: ['index.html'],&#x000A;            tasks: ['htmlhint']&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>Then, run <code>grunt watch</code> in the terminal. Now, try adding a comment to <code>index.html</code>. You’ll notice that when the file is saved, validation is automatic! This is a boon for development because it means that <code>watch</code> will silently validate as you write code, and it will fail if the code hasn’t passed the relevant tests (and it will tell you what the problem is).</p>
    <p>Note that <code>grunt watch</code> will keep running until the terminal is closed or until it is stopped (<code>Control + C</code> on a Mac).</p>
    <h3>Keeping The JavaScript As Lean As Possible</h3>
    <p>Let’s set up a JavaScript file to validate a user’s name. To keep this as simple as possible, we’ll check only for non-alphabetical characters. We’ll also use the <code>strict</code> mode of JavaScript, which prevents us from writing valid but poor-quality JavaScript. Paste the following into <code>assets/js/base.js</code>:</p>
    <pre><code>&#x000A;    function Validator()&#x000A;    {&#x000A;        "use strict";&#x000A;    }&#x000A;    &#x000A;    Validator.prototype.checkName = function(name)&#x000A;    {&#x000A;        "use strict";&#x000A;        return (/[^a-z]/i.test(name) === false);&#x000A;    };&#x000A;    &#x000A;    window.addEventListener('load', function(){&#x000A;        "use strict";&#x000A;        document.getElementById('firstname').addEventListener('blur', function(){&#x000A;            var _this = this;&#x000A;            var validator = new Validator();&#x000A;            var validation = document.getElementById('namevalidation');&#x000A;            if (validator.checkName(_this.value) === true) {&#x000A;                validation.innerHTML = 'Looks good! :)';&#x000A;                validation.className = "validation yep";&#x000A;                _this.className = "yep";&#x000A;            }&#x000A;            else {&#x000A;                validation.innerHTML = 'Looks bad! :(';&#x000A;                validation.className = "validation nope";&#x000A;                _this.className = "nope";&#x000A;            }&#x000A;    &#x000A;        });&#x000A;    });&#x000A;    </code></pre>
    <p>Let’s use UglifyJS to minify this source file. Add this to <code>grunt.initConfig</code>:
    </p>
    <pre><code>&#x000A;    uglify: {&#x000A;        build: {&#x000A;            files: {&#x000A;                'build/js/base.min.js': ['assets/js/base.js']&#x000A;            }&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>UglifyJS compresses all of the variable and function names in our source file to take up as little space as possible, and then trims out white space and comments — extremely useful for production JavaScript. Again, we have to set up a <code>watch</code> task to build our Uglify’ed JavaScript. Add this to the <code>watch</code> configuration:
    </p>
    <pre><code>&#x000A;    watch: {    &#x000A;        js: {&#x000A;            files: ['assets/js/base.js'],&#x000A;            tasks: ['uglify']&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <h3>Building CSS From Sass Source Files</h3>
    <p>Sass is incredibly useful for working with CSS, especially on a team. Less code is usually written in the source file because Sass can generate large CSS code blocks with such things as functions and variables. Walking through Sass itself is a little beyond the scope of this article; so, if you are not comfortable with learning a preprocessor at this stage, you can skip this section. But we will cover a very simple use case, using variables, one mixin and the Sassy CSS (SCSS) syntax, which is very similar to CSS!</p>
    <p>Grunt’s Sass plugin requires the Sass gem. You will need to install Ruby on your system (it comes preloaded in OS X). You can check whether Ruby is installed with this terminal command:</p>
    <pre><code>&#x000A;    ruby -v&#x000A;    </code></pre>
    <p>Install Sass by running the following:</p>
    <pre><code>&#x000A;    gem install sass&#x000A;    </code></pre>
    <p>Depending on your configuration, you might need to run this command via sudo — i.e. <code>sudo gem install sass:</code> — at which point you will be asked for your password. When Sass is installed, create a new directory named <code>assets</code> and, inside that, another named <code>sass</code>. Create a new file named <code>master.scss</code> in this directory, and paste the following in it:</p>
    <pre><code>&#x000A;    @mixin prefix($property, $value, $prefixes: webkit moz ms o spec) {&#x000A;        @each $p in $prefixes {&#x000A;            @if $p == spec {&#x000A;                #{$property}: $value;&#x000A;            }&#x000A;            @else {&#x000A;                -#{$p}-#{$property}: $value;&#x000A;            }&#x000A;        }&#x000A;    }&#x000A;    $input_field:            #999;&#x000A;    $input_focus:           #559ab9;&#x000A;    $validation_passed:     #8aba56;&#x000A;    $validation_failed:     #ba5656;&#x000A;    $bg_colour:             #f4f4f4;&#x000A;    $box_colour:            #fff;&#x000A;    $border_style:          1px solid;&#x000A;    $border_radius:         4px;&#x000A;    &#x000A;    html {&#x000A;        background:         $bg_colour;&#x000A;    }&#x000A;    &#x000A;    body {&#x000A;        width:              720px;&#x000A;        padding:            40px;&#x000A;        margin:             80px auto;&#x000A;        background:         $box_colour;&#x000A;        box-shadow:         0 1px 3px rgba(0, 0, 0, .1);&#x000A;        border-radius:      $border_radius;&#x000A;        font-family:        sans-serif;&#x000A;    }&#x000A;    &#x000A;    input[type="text"] {&#x000A;        @include            prefix(appearance, none, webkit moz);&#x000A;        @include            prefix(transition, border .3s ease);&#x000A;        border-radius:      $border_radius;&#x000A;        border:             $border_style $input_field;&#x000A;        width:              220px;&#x000A;    }&#x000A;    &#x000A;    input[type="text"]:focus {&#x000A;        border-color:       $input_focus;&#x000A;        outline:            0;&#x000A;    }&#x000A;    &#x000A;    label,&#x000A;    input[type="text"],&#x000A;    .validation {&#x000A;        line-height:        1;&#x000A;        font-size:          1em;&#x000A;        padding:            10px;&#x000A;        display:            inline;&#x000A;        margin-right:       20px;&#x000A;    }&#x000A;    &#x000A;    input.yep {&#x000A;        border-color:       $validation_passed;&#x000A;    }&#x000A;    &#x000A;    input.nope {&#x000A;        border-color:       $validation_failed;&#x000A;    }&#x000A;    &#x000A;    p.yep {&#x000A;        color:              $validation_passed;            &#x000A;    }&#x000A;    &#x000A;    p.nope {&#x000A;        color:              $validation_failed;&#x000A;    }&#x000A;    </code></pre>
    <p>You will notice that the SCSS extension looks a lot more like CSS than conventional Sass. This style sheet makes use of two Sass features: mixins and variables. A mixin constructs a block of CSS based on some parameters passed to it, much like a function would, and variables allow common fragments of CSS to be defined once and then reused.</p>
    <p>Variables are especially useful for hex colours; we can build a palette that can be changed in one place, which makes tweaking aspects of a design very fast. The mixin is used to prefix rules such as for appearance and transitions, and it reduces bulk in the file itself.</p>
    <p>When working with a large style sheet, anything that can be done to reduce the number of lines will make the file easier to read when a team member other than you wants to update a style.</p>
    <p>In addition to Sass, grunt-cssc combines CSS rules together, ensuring that the generated CSS has minimal repetition. This can be very useful in medium- to large-scale projects in which a lot of styles are repeated. However, the outputted file is not always the smallest possible. This is where the <code>cssmin</code> task comes in. It not only trims out white space, but transforms colors to their shortest possible values (so, <code>white</code> would become <code>#fff</code>). Add these tasks to <code>gruntfile.js</code>:</p>
    <pre><code>&#x000A;    cssc: {&#x000A;        build: {&#x000A;            options: {&#x000A;                consolidateViaDeclarations: true,&#x000A;                consolidateViaSelectors:    true,&#x000A;                consolidateMediaQueries:    true&#x000A;            },&#x000A;            files: {&#x000A;                'build/css/master.css': 'build/css/master.css'&#x000A;            }&#x000A;        }&#x000A;    },&#x000A;    &#x000A;    cssmin: {&#x000A;        build: {&#x000A;            src: 'build/css/master.css',&#x000A;            dest: 'build/css/master.css'&#x000A;        }&#x000A;    },&#x000A;    &#x000A;    sass: {&#x000A;        build: {&#x000A;            files: {&#x000A;                'build/css/master.css': 'assets/sass/master.scss'&#x000A;            }&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>Now that we have something in place to handle style sheets, these tasks should also be run automatically. The <code>build</code> directory is created automatically by Grunt to house all of the production scripts, CSS and (if this were a full website) compressed images. This means that the contents of the <code>assets</code> directory may be heavily commented and may contain more documentation files for development purposes; then, the <code>build</code> directory would strip all of that out, leaving the assets as optimized as possible.</p>
    <p>We’re going to define a new set of tasks for working with CSS. Add this line to <code>gruntfile.js</code>, below the default <code>task</code>:</p>
    <pre><code>&#x000A;    grunt.registerTask('buildcss',  ['sass', 'cssc', 'cssmin']);&#x000A;    </code></pre>
    <p>Now, when <code>grunt buildcss</code> is run, all of the CSS-related tasks will be executed one after another. This is much tidier than running <code>grunt sass</code>, then <code>grunt cssc</code>, then <code>grunt cssmin</code>. All we have to do now is update the <code>watch</code> configuration so that this gets run automatically.</p>
    <pre><code>&#x000A;    watch: {&#x000A;        css: {&#x000A;            files: ['assets/sass/**/*.scss'],&#x000A;            tasks: ['buildcss']&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>This path might look a little strange to you. Basically, it recursively checks any directory in our <code>assets/sass</code> directory for <code>.scss</code> files, which allows us to create as many Sass source files as we want, without having to add the paths to <code>gruntfile.js</code>. After adding this, <code>gruntfile.js</code> should look like this:</p>
    <pre><code>&#x000A;    module.exports = function(grunt){&#x000A;    &#x000A;        "use strict";&#x000A;       require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);&#x000A;    &#x000A;        grunt.initConfig({&#x000A;    &#x000A;            pkg: grunt.file.readJSON('package.json'),&#x000A;    &#x000A;            cssc: {&#x000A;                build: {&#x000A;                    options: {&#x000A;                        consolidateViaDeclarations: true,&#x000A;                        consolidateViaSelectors:    true,&#x000A;                        consolidateMediaQueries:    true&#x000A;                    },&#x000A;                    files: {&#x000A;                        'build/css/master.css': 'build/css/master.css'&#x000A;                    }&#x000A;                }&#x000A;            },&#x000A;    &#x000A;            cssmin: {&#x000A;                build: {&#x000A;                    src: 'build/css/master.css',&#x000A;                    dest: 'build/css/master.css'&#x000A;                }&#x000A;            },&#x000A;    &#x000A;            sass: {&#x000A;                build: {&#x000A;                    files: {&#x000A;                        'build/css/master.css': 'assets/sass/master.scss'&#x000A;                    }&#x000A;                }&#x000A;            },&#x000A;    &#x000A;            watch: {&#x000A;                html: {&#x000A;                    files: ['index.html'],&#x000A;                    tasks: ['htmlhint']&#x000A;                },&#x000A;                js: {&#x000A;                    files: ['assets/js/base.js'],&#x000A;                    tasks: ['uglify']&#x000A;                },&#x000A;                css: {&#x000A;                    files: ['assets/sass/**/*.scss'],&#x000A;                    tasks: ['buildcss']&#x000A;                }&#x000A;            },&#x000A;    &#x000A;            htmlhint: {&#x000A;                build: {&#x000A;                    options: {&#x000A;                        'tag-pair': true,                      &#x000A;    // Force tags to have a closing pair&#x000A;                        'tagname-lowercase': true,             &#x000A;    // Force tags to be lowercase&#x000A;                        'attr-lowercase': true,                &#x000A;    // Force attribute names to be lowercase e.g. &lt;div id="header"&gt; is invalid&#x000A;                        'attr-value-double-quotes': true,      &#x000A;    // Force attributes to have double quotes rather than single&#x000A;                        'doctype-first': true,                 &#x000A;    // Force the DOCTYPE declaration to come first in the document&#x000A;                        'spec-char-escape': true,              &#x000A;    // Force special characters to be escaped&#x000A;                        'id-unique': true,                     &#x000A;    // Prevent using the same ID multiple times in a document&#x000A;                        'head-script-disabled': true,          &#x000A;    // Prevent script tags being loaded in the  for performance reasons&#x000A;                        'style-disabled': true                 &#x000A;    // Prevent style tags. CSS should be loaded through &#x000A;                    },&#x000A;                    src: ['index.html']&#x000A;                }&#x000A;            },&#x000A;    &#x000A;            uglify: {&#x000A;                build: {&#x000A;                    files: {&#x000A;                        'build/js/base.min.js': ['assets/js/base.js']&#x000A;                    }&#x000A;                }&#x000A;            }&#x000A;    &#x000A;        });&#x000A;    &#x000A;        grunt.registerTask('default',   []);&#x000A;        grunt.registerTask('buildcss',  ['sass', 'cssc', 'cssmin']);&#x000A;    &#x000A;    };&#x000A;    </code></pre>
    <p>We should now have a static HTML page, along with an <code>assets</code> directory with the Sass and JavaScript source, and a <code>build</code> directory with the optimized CSS and JavaScript inside, along with the <code>package.json</code> and <code>gruntfile.js</code> files.</p>
    <p>By now, you should have a pretty solid foundation for exploring Grunt further. As mentioned, an incredibly active community of developers is building front-end plugins. My advice is to head on over to the <a href="http://gruntjs.com/plugins" rel="nofollow external" class="bo">plugin library</a> and explore the more than 300 plugins.</p>
    <p><em>(al)</em></p>
    
    <hr>
    <p><small>© Mike Cunsolo for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        In this article, we’ll explore how to use Grunt in a project to speed up and change the way you develop websites. We’ll look briefly at what Grunt can do, before jumping into how to set up...</Summary>
<Website>http://www.smashingmagazine.com/2013/10/29/get-up-and-running-with-grunt/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37634/guest@my.umbc.edu/b9719433fb3eb1a8198867ec1f8bf317/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>developers-toolbox</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</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>Tue, 29 Oct 2013 08:26:29 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="37639" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37639">
<Title>Review: Get the hottest tech news from Techi.com</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/10/thumbnail36.jpg" width="200" height="160" style="max-width: 100%; height: auto;">The Web is constantly growing and its easy to forget that all of those pixels sit on top of hardware. That tech is only going to become more and more important with the rise of the mobile web and the impending wearable-tech revolution.</p> <p>Any web designer worth their salt knows that to stay on top of their game, they have to keep up with tech news; and the best way to do that, without spending your day scouring the Web for yourself, is to get tuned in to <a href="http://www.techi.com/?ref=wddreview" rel="nofollow external" class="bo">Techi.com</a>.</p> <p>Techi.com, brought to you by the makers of, amongst others WebdesignerDepot and MightyDeals.com, is a site dedicated to all things tech. From updates on Sony’s PS4, to reports on Google’s latest acquisition; whether you’re looking for the latest Apple product, or looking for views on mobile web; Techi is the site to visit.</p> <p>Techi’s news are sourced from thousands of sites from across the Internet, then curated by an editorial team with their finger constantly on the pulse of the industry’s most vital developments. You also get a quick summary of the news so you save time and read only what interests you most.</p> <p>On top of the best news curated from across the Web, Techi also offers exclusive original articles; with past stories featured in the Drudge Report, Reddit, NYTimes, Google news, and many more.</p> <p>You don’t even have to visit daily, just sign up for the daily newsletter and get the latest tech news direct to your inbox — with no fuss whatsoever — in time for that commute, or mid-day coffee.</p> <p>Don’t spend your morning sifting through RSS feeds looking for the hot news, go for the instant solution, get it all from <a href="http://www.techi.com/?ref=wddreview" rel="nofollow external" class="bo">Techi.com</a> in less time than it takes to make your coffee.</p> <p> </p> <p><em><strong>Do you subscribe to Techi.com? What do you think are the hottest trends in tech for 2014? Let us know in the comments.</strong></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/hotel-icons.html?ref=inwidget" rel="nofollow external" class="bo"><strong>100 Professional Hotel Icons + 58 Scribble Social Icons – only $5!</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="Review: Get the hottest tech news from Techi.com" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/10/review-get-the-hottest-tech-news-from-techi-com/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F10%2Freview-get-the-hottest-tech-news-from-techi-com%2F&amp;t=Review%3A+Get+the+hottest+tech+news+from+Techi.com" 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.webdesignerdepot.com%2F2013%2F10%2Freview-get-the-hottest-tech-news-from-techi-com%2F&amp;t=Review%3A+Get+the+hottest+tech+news+from+Techi.com" 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.webdesignerdepot.com%2F2013%2F10%2Freview-get-the-hottest-tech-news-from-techi-com%2F&amp;t=Review%3A+Get+the+hottest+tech+news+from+Techi.com" 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.webdesignerdepot.com%2F2013%2F10%2Freview-get-the-hottest-tech-news-from-techi-com%2F&amp;t=Review%3A+Get+the+hottest+tech+news+from+Techi.com" 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.webdesignerdepot.com%2F2013%2F10%2Freview-get-the-hottest-tech-news-from-techi-com%2F&amp;t=Review%3A+Get+the+hottest+tech+news+from+Techi.com" 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/180263151419/u/49/f/661066/c/35285/s/330c73b9/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263151419/u/49/f/661066/c/35285/s/330c73b9/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Web is constantly growing and its easy to forget that all of those pixels sit on top of hardware. That tech is only going to become more and more important with the rise of the mobile web and...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/330c73b9/sc/15/l/0L0Swebdesignerdepot0N0C20A130C10A0Creview0Eget0Ethe0Ehottest0Etech0Enews0Efrom0Etechi0Ecom0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37639/guest@my.umbc.edu/dd8ee6ef794aaaf80fbe7f9f4bc638ec/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>cool-tech</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>news-for-developers</Tag>
<Tag>news-sites-for-designers</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>resources</Tag>
<Tag>sql</Tag>
<Tag>tech-news</Tag>
<Tag>techi</Tag>
<Tag>techi-com</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 29 Oct 2013 08:15:01 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 08:15:01 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="37638" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37638">
<Title>Nokia Gives Upbeat Forecast for Telecom Equipment Unit</Title>
<Body>
<![CDATA[
    <div class="html-content">The forecast for Nokia Solutions and Networks offers hope for a pickup in what will be the Finnish company’s main business after the sale of its phones division to Microsoft.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2Freuters%2F2013%2F10%2F29%2Ftechnology%2F29reuters-nokia-results.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Nokia+Gives+Upbeat+Forecast+for+Telecom+Equipment+Unit" 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%2Freuters%2F2013%2F10%2F29%2Ftechnology%2F29reuters-nokia-results.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Nokia+Gives+Upbeat+Forecast+for+Telecom+Equipment+Unit" 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%2Freuters%2F2013%2F10%2F29%2Ftechnology%2F29reuters-nokia-results.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Nokia+Gives+Upbeat+Forecast+for+Telecom+Equipment+Unit" 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%2Freuters%2F2013%2F10%2F29%2Ftechnology%2F29reuters-nokia-results.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Nokia+Gives+Upbeat+Forecast+for+Telecom+Equipment+Unit" 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%2Freuters%2F2013%2F10%2F29%2Ftechnology%2F29reuters-nokia-results.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Nokia+Gives+Upbeat+Forecast+for+Telecom+Equipment+Unit" 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/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/sc/15/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263123302/u/0/f/640387/c/34625/s/330cbdc2/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The forecast for Nokia Solutions and Networks offers hope for a pickup in what will be the Finnish company’s main business after the sale of its phones division to Microsoft.      </Summary>
<Website>http://www.nytimes.com/reuters/2013/10/29/technology/29reuters-nokia-results.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37638/guest@my.umbc.edu/75179a092fc3410ac392620a259c9614/api/pixel</TrackingUrl>
<Tag>microsoft-corporation-msft-nasdaq</Tag>
<Tag>new</Tag>
<Tag>nokia-oyj-nok-nyse</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>Tue, 29 Oct 2013 07:53:39 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 09:59:30 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="37630" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37630">
<Title>Bits Blog: New Vulnerability Found in Apps Using Wi-Fi</Title>
<Body>
<![CDATA[
    <div class="html-content">A mobile security company, Skycure, said that the vulnerability was present in hundreds of iOS apps they tested, including stock management and news apps.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F10%2F29%2Fnew-vulnerability-found-in-apps-using-wi-fi%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+New+Vulnerability+Found+in+Apps+Using+Wi-Fi" 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%2F10%2F29%2Fnew-vulnerability-found-in-apps-using-wi-fi%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+New+Vulnerability+Found+in+Apps+Using+Wi-Fi" 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%2F10%2F29%2Fnew-vulnerability-found-in-apps-using-wi-fi%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+New+Vulnerability+Found+in+Apps+Using+Wi-Fi" 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%2F10%2F29%2Fnew-vulnerability-found-in-apps-using-wi-fi%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+New+Vulnerability+Found+in+Apps+Using+Wi-Fi" 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%2F10%2F29%2Fnew-vulnerability-found-in-apps-using-wi-fi%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+New+Vulnerability+Found+in+Apps+Using+Wi-Fi" 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/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/sc/5/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263150187/u/0/f/640387/c/34625/s/330c30aa/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>A mobile security company, Skycure, said that the vulnerability was present in hundreds of iOS apps they tested, including stock management and news apps.      </Summary>
<Website>http://bits.blogs.nytimes.com/2013/10/29/new-vulnerability-found-in-apps-using-wi-fi/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37630/guest@my.umbc.edu/0cd12c1204306b707edab8425e796775/api/pixel</TrackingUrl>
<Tag>mobile</Tag>
<Tag>mobile-applications</Tag>
<Tag>new</Tag>
<Tag>security</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>Tue, 29 Oct 2013 07:30:07 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 10:37:48 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="37631" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37631">
<Title>You&#8217;re the Boss Blog: Business Owners Weigh Their (Often Frustrating) Software Options</Title>
<Body>
<![CDATA[
    <div class="html-content">While Google offers some solutions, one owner said, she sees drawbacks: “Google keeps changing things and their privacy stuff really concerns me.”<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fboss.blogs.nytimes.com%2F2013%2F10%2F29%2Fbusiness-owners-weigh-their-often-frustrating-software-options%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=You%E2%80%99re+the+Boss+Blog%3A+Business+Owners+Weigh+Their+%28Often+Frustrating%29+Software+Options" 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%2Fboss.blogs.nytimes.com%2F2013%2F10%2F29%2Fbusiness-owners-weigh-their-often-frustrating-software-options%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=You%E2%80%99re+the+Boss+Blog%3A+Business+Owners+Weigh+Their+%28Often+Frustrating%29+Software+Options" 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%2Fboss.blogs.nytimes.com%2F2013%2F10%2F29%2Fbusiness-owners-weigh-their-often-frustrating-software-options%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=You%E2%80%99re+the+Boss+Blog%3A+Business+Owners+Weigh+Their+%28Often+Frustrating%29+Software+Options" 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%2Fboss.blogs.nytimes.com%2F2013%2F10%2F29%2Fbusiness-owners-weigh-their-often-frustrating-software-options%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=You%E2%80%99re+the+Boss+Blog%3A+Business+Owners+Weigh+Their+%28Often+Frustrating%29+Software+Options" 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%2Fboss.blogs.nytimes.com%2F2013%2F10%2F29%2Fbusiness-owners-weigh-their-often-frustrating-software-options%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=You%E2%80%99re+the+Boss+Blog%3A+Business+Owners+Weigh+Their+%28Often+Frustrating%29+Software+Options" 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>
    </div>
]]>
</Body>
<Summary>While Google offers some solutions, one owner said, she sees drawbacks: “Google keeps changing things and their privacy stuff really concerns me.”      </Summary>
<Website>http://boss.blogs.nytimes.com/2013/10/29/business-owners-weigh-their-often-frustrating-software-options/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37631/guest@my.umbc.edu/259632981c09ce1d678742d7ebe0b641/api/pixel</TrackingUrl>
<Tag>google-inc</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>johnson-jessica</Tag>
<Tag>new</Tag>
<Tag>she-owns-it</Tag>
<Tag>small-business</Tag>
<Tag>software</Tag>
<Tag>technology</Tag>
<Tag>yogafit-inc</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>Tue, 29 Oct 2013 07:00:23 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="37632" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37632">
<Title>It&#8217;s the Economy: Cracking the Apple Trap</Title>
<Body>
<![CDATA[
    <div class="html-content">Is it a coincidence when your iPhone stops working just as the new models come out?<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F11%2F03%2Fmagazine%2Fwhy-apple-wants-to-bust-your-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=It%E2%80%99s+the+Economy%3A+Cracking+the+Apple+Trap" 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%2F11%2F03%2Fmagazine%2Fwhy-apple-wants-to-bust-your-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=It%E2%80%99s+the+Economy%3A+Cracking+the+Apple+Trap" 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%2F11%2F03%2Fmagazine%2Fwhy-apple-wants-to-bust-your-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=It%E2%80%99s+the+Economy%3A+Cracking+the+Apple+Trap" 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%2F11%2F03%2Fmagazine%2Fwhy-apple-wants-to-bust-your-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=It%E2%80%99s+the+Economy%3A+Cracking+the+Apple+Trap" 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%2F11%2F03%2Fmagazine%2Fwhy-apple-wants-to-bust-your-iphone.html%3Fpartner%3Drss%26emc%3Drss&amp;t=It%E2%80%99s+the+Economy%3A+Cracking+the+Apple+Trap" 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>
    </div>
]]>
</Body>
<Summary>Is it a coincidence when your iPhone stops working just as the new models come out?      </Summary>
<Website>http://www.nytimes.com/2013/11/03/magazine/why-apple-wants-to-bust-your-iphone.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37632/guest@my.umbc.edu/c0b68266beae33156e0da61ab228012b/api/pixel</TrackingUrl>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>iphone</Tag>
<Tag>new</Tag>
<Tag>new-models-design-and-products</Tag>
<Tag>smartphones</Tag>
<Tag>software</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>Tue, 29 Oct 2013 05:00:01 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 05:00:01 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="37629" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37629">
<Title>The 4 pillars of successful content</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/10/thumbnail41.jpg" width="200" height="160" style="max-width: 100%; height: auto;">Great content connects. It speaks to visitors, makes them want to share it, and motivates them to buy.</p> <p>In a world that spews unending streams of promotional diarrhea, these often overlooked pillars are essential to build relevant and valued content that establishes trust, credibility and authority in any industry.</p> <h1>1. Answer the right questions</h1> <p>If your content strategy is merely ‘build it and they will come’, you’re already missing the mark. When writing content, be sure to identify your desired audiences and what they want. Only then will you be able to answer the right questions.</p> <p>To determine what your visitors want or need:</p> <ul> <li>monitor or ask for feedback in blogs and social media;</li> <li>send surveys using small gifts for incentives;</li> <li>check out networking events or conferences they attend.</li> </ul> <p><a href="http://www.freshbooks.com/" rel="nofollow external" class="bo">FreshBooks</a> does a superb job answering questions because they know their audience’s fundamental concern: to make billing painless. So they touch on these pain points with valuable information about <em>ease of use,</em> <em>work anywhere</em> and <em>save time billing.</em></p> <p><a href="http://www.freshbooks.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/10/freshbooks.jpg" width="650" alt="The 4 pillars of successful content" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>2. Help visitors complete tasks</h1> <p>People go online to accomplish specific goals, not to mindlessly gaze at pretty designs while engaging in naval-picking activities. To help visitors complete desired tasks efficiently and effectively your site has to be organized and communicate clearly.</p> <p>Organizing, writing and labeling information in a customer-centric manner helps visitors:</p> <ol> <li>
    <strong>Find what they’re looking for.</strong> Less is more. So remove irrelevant and distracting information, including unnecessary menus and links, and out-of-date web copy.</li> <li>
    <strong>Know what their options are.</strong> Be sure to include useful sidebars and links, like ‘see also’ and ‘related products’.</li> </ol> <p><a href="http://www.cj.com/" rel="nofollow external" class="bo">Commission Junction</a> serves up tidy, streamlined content. No mess, no noise. Just a clean intro, two bold call-outs and a ‘What is affiliate marketing’ button for newbies who arrive at their site.</p> <p><a href="http://www.cj.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/10/commission.jpg" width="650" alt="The 4 pillars of successful content" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>3. Ask for the sale</h1> <p>Here’s a excerpt from a 1944 Sales and Salesmanship guide our content writers have tucked away in our library:</p> <blockquote> <p>“Impelling to action: You may make a prospect understand and take an interest in your goods or services; you may even make him feel that he needs the goods or services, but unless you urge him to act, the sale is not made.”</p> </blockquote> <p>We might be working with mind-bending technologies, but the good, old-fashioned ‘ask for the sale’ still applies. Online, the ‘sales close’ is known as a call to action or CTA, which is designed to prompt visitors to call, email, request a quote, subscribe, download a report, or any other desired action.</p> <p>Amazingly, many websites fail to include a CTA — they rely on visitors to take the initiative to go to the top menu and click ‘Contact Us’. This is a major oversight that slaughters conversions.</p> <p><a href="http://www.eventbrite.com/" rel="nofollow external" class="bo">Eventbrite</a> does a nice job avoiding bland and generally unhelpful ‘click here’ or ‘learn more’ buttons with a crisp, alluring offer to instantly create a free event. Regrettably, this website drops the ball by not providing prospects helpful content once they click the button (Eventbrite, please refer to point #2).</p> <p><a href="http://www.eventbrite.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/10/eventbrite.jpg" width="650" alt="The 4 pillars of successful content" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>4. Promote visibility and community</h1> <p>As consumers increasingly research and buy products and services online, SEO and social media are amongst the <a href="http://socialmediatoday.com/steve-rayson/1699816/survey-finds-social-media-seo-drive-inbound-marketing" rel="nofollow external" class="bo">most important factors</a> in successful marketing and lead generation campaigns.</p> <p>When you synchronize your content and social marketing with your most important keywords, your prospects will use those words to research your offerings and find you on the top of search engines. They’ll then observe forms of ‘social proof’ via PR articles, social media posts, ratings and more. As they gain familiarity and comfort with your brand, you’ll start to build credibility and trust.</p> <p><a href="http://clearhrconsulting.com/" rel="nofollow external" class="bo">Clear HR Consulting</a> provides an excellent example of how a small business can cleverly compete with much larger players in the HR realm. Building on their optimized website, they tactfully use keywords in their press releases, blog posts and other marketing content. It’s resulted in rankings any business would desire, which generates leads and sales — not to mention national media coverage. When editors and roving reporters turn to Google and search terms like HR experts Vancouver, guess whom they find?</p> <p><a href="http://clearhrconsulting.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/10/clear.jpg" width="650" alt="The 4 pillars of successful content" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Creating great content is a choice</h1> <p>Once prospects find you, they have the power to explore and stay on your site. On the other hand, if they run out of time, get bored or frustrated, they can shut things down instantly with a single click. Content is often the deciding factor.</p> <p>Investing the necessary time and resources to produce relevant and valued content goes a long way in building highly prosperous brands.</p> <p> </p> <p><em><strong>Do you focus resources on good content generation? Is content still king? Let us know your thoughts in the comments.</strong></em></p> <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-154934651/stock-vector-hand-holding-a-megaphone-promotion-marketing-concept.html" rel="nofollow external" class="bo">promotion image</a> via Shutterstock.</em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/hotel-icons.html?ref=inwidget" rel="nofollow external" class="bo"><strong>100 Professional Hotel Icons + 58 Scribble Social Icons – only $5!</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="The 4 pillars of successful content" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/10/the-4-pillars-of-successful-content/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F10%2Fthe-4-pillars-of-successful-content%2F&amp;t=The+4+pillars+of+successful+content" 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.webdesignerdepot.com%2F2013%2F10%2Fthe-4-pillars-of-successful-content%2F&amp;t=The+4+pillars+of+successful+content" 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.webdesignerdepot.com%2F2013%2F10%2Fthe-4-pillars-of-successful-content%2F&amp;t=The+4+pillars+of+successful+content" 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.webdesignerdepot.com%2F2013%2F10%2Fthe-4-pillars-of-successful-content%2F&amp;t=The+4+pillars+of+successful+content" 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.webdesignerdepot.com%2F2013%2F10%2Fthe-4-pillars-of-successful-content%2F&amp;t=The+4+pillars+of+successful+content" 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/180263085752/u/49/f/661066/c/35285/s/3309a509/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/180263085752/u/49/f/661066/c/35285/s/3309a509/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Great content connects. It speaks to visitors, makes them want to share it, and motivates them to buy.   In a world that spews unending streams of promotional diarrhea, these often overlooked...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/3309a509/sc/4/l/0L0Swebdesignerdepot0N0C20A130C10A0Cthe0E40Epillars0Eof0Esuccessful0Econtent0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37629/guest@my.umbc.edu/960718be90c910c2d7462687335ee158/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>content-writing</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>good-content</Tag>
<Tag>good-web-content</Tag>
<Tag>great-content</Tag>
<Tag>how-to-write-for-the-web</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>marketing</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 29 Oct 2013 04:15:02 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 04:15:02 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="37671" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37671">
<Title>Alexa Quaranta Voted AEC Women's Soccer Fans' Choice Player of the Year; UMBC Ranked Regionally by NSCAA; Brown and Hummel Honored with Weekly Awards</Title>
<Body>
<![CDATA[
    <div class="html-content">UMBC women's soccer's sophomore forward Alexa Quaranta garnered 2,076 of 6,338 total votes through the league's social media sites to become the 2013 America East Women's Soccer Fans' Choice Player of the Year. The Retrievers added a No. 10-ranking in the NSCAA/Continental Tire NCAA Division I Women's Northeast Poll.</div>
]]>
</Body>
<Summary>UMBC women's soccer's sophomore forward Alexa Quaranta garnered 2,076 of 6,338 total votes through the league's social media sites to become the 2013 America East Women's Soccer Fans' Choice...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8268</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37671/guest@my.umbc.edu/abb82f830b0d358ff1b5eb1794e17d3d/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>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 29 Oct 2013 01:00:00 -0400</PostedAt>
<EditAt>Tue, 29 Oct 2013 01:00:00 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="37628" important="false" status="posted" url="https://my3.my.umbc.edu/posts/37628">
<Title>Weekend hackathon for better energy creation and consumption, $5K prizes</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://betamore.com/power-the-future/" rel="nofollow external" class="bo"><img src="http://www.csee.umbc.edu/wp-content/uploads/2013/10/powerthefuture.png" width="700" height="378" style="max-width: 100%; height: auto;"></a></p>
    <p> </p>
    <div><img alt="Betamore" src="http://www.csee.umbc.edu/wp-content/uploads/2013/10/logo.png" width="123" height="60" style="max-width: 100%; height: auto;"></div>
    <p>This coming weekend, dozens of developers, designers, makers, students and creative problem solvers will gather in Baltimore’s <a href="http://betamore.com/" rel="nofollow external" class="bo">Betamore</a> for <a href="http://betamore.com/power-the-future/" rel="nofollow external" class="bo">Power the Future</a>, a 36-hour hackathon focused on building apps and tools to better all forms of energy creation and consumption. There is $5,000 in cash and other prizes up for grabs.</p>
    <p>It’s a great opportunity for students to engage in Baltimore’s hackathon and startup community. To make it even more attractive, Betamore CEO and co-founder Mike Brenner has set up a discount code that UMBC students can use to register for free. Send email from your umbc address to Sorry, you need javascript to view this email address.  to get the code.</p>
    <p>The event, sponsored by Constellation Energy, will be held from 9:00am Saturday November 2 to 6:00pm Sunday November 3 at the Betamore campus in the Federal Hill neighborhood of downtown Baltimore at 1111 Light Street. Breakfast, lunch, and dinner on both Saturday and Sunday will be provided.</p>
    <p>Get more information and register <a href="http://betamore.com/power-the-future/" rel="nofollow external" class="bo">here</a>.</p>
    <p>The hackathon’s agenda includes concept pitches, team formation, around the clock working, and finally product demos on Sunday to a panel of judges that will be doling out more than $5,000 in cash and other energy-related prizes like Nest thermostats, Philips Hue light bulbs, and even free membership at Betamore to help usher a potential team’s weekend idea into a newly formed company. Designed to spotlight the creation of apps and tools that better all forms of energy creation and consumption, the hackathon will give a voice to those who want to see change and are willing to roll up their sleeves to contribute.</p>
    <p>See more at <a href="http://betamore.com/power-the-future/" rel="nofollow external" class="bo">http://betamore.com/power-the-future/</a>.</p>
    </div>
]]>
</Body>
<Summary>       This coming weekend, dozens of developers, designers, makers, students and creative problem solvers will gather in Baltimore’s Betamore for Power the Future, a 36-hour hackathon focused on...</Summary>
<Website>http://www.csee.umbc.edu/2013/10/weekend-hackathon-for-better-energy-creation-and-consumption-5k-prizes/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/37628/guest@my.umbc.edu/8dafd76c34f3eade3d71bbdbd7627242/api/pixel</TrackingUrl>
<Tag>baltimore</Tag>
<Tag>news</Tag>
<Tag>students</Tag>
<Group token="csee">Computer Science and Electrical Engineering</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/csee</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/original.png?1314043393</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/large.png?1314043393</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/medium.png?1314043393</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/small.png?1314043393</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxsmall.png?1314043393</AvatarUrl>
<Sponsor>Computer Science and Electrical Engineering</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 28 Oct 2013 23:53:56 -0400</PostedAt>
<EditAt>Mon, 28 Oct 2013 23:53:56 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="123004" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123004">
<Title>David Mitch, Economics, to be awarded honorary doctorate by Uppsala University</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>The Faculty of Educational Sciences at the University of Uppsala, Sweden, recently announced that David Mitch, Professor of Economics at UMBC, as been selected to <a href="http://www.uu.se/en/research/grants-awards/article/?id=2892&amp;area=2,12,16&amp;typ=artikel&amp;na=&amp;lang=en" rel="nofollow external" class="bo">receive an honorary doctorate</a> in recognition of his scholarship on the economic history of education. The conferment ceremony will occur in January of 2014.</p></div>
]]>
</Body>
<Summary>The Faculty of Educational Sciences at the University of Uppsala, Sweden, recently announced that David Mitch, Professor of Economics at UMBC, as been selected to receive an honorary doctorate in...</Summary>
<Website>https://umbc.edu/stories/david-mitch-economics-to-be-awarded-honorary-doctorate-by-uppsala-university/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123004/guest@my.umbc.edu/a6d1b1b61e25dd1f1cdf2088fa409943/api/pixel</TrackingUrl>
<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, 28 Oct 2013 20:45:56 -0400</PostedAt>
</NewsItem>

</News>
