<?xml version="1.0"?>
<News hasArchived="true" page="8009" pageCount="10850" pageSize="10" timestamp="Sun, 04 Oct 2026 13:20:56 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8009&amp;range=30">
<NewsItem contentIssues="true" id="40130" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40130">
<Title>Building a Customer Management App Using AngularJS and Laravel</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=36444&amp;c=1689997053" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=36444&amp;c=1689997053" alt="" style="max-width: 100%; height: auto;"></a><p>When creating a single-page app we should use some kind of framework to do some of the job for us, so we can focus on the actual functionality. <a href="http://angularjs.org" rel="nofollow external" class="bo">AngularJS</a> fits here perfectly, because features like dynamic dependency injection and bi-directional data binding are just great. Sometimes we also require some kind of server. If you’ve chosen PHP then <a href="http://laravel.com" rel="nofollow external" class="bo">Laravel</a> may be your best option, as it’s easy to work with and pretty powerful.</p>
    <p></p>
    <hr>
    <h2>Introduction</h2>
    <p>In this tutorial you will create a simple customer/transaction management system with the ability to add and remove both transactions and customers. This is probably not the kind of thing you make very often, but it shows how to use features of both frameworks.</p>
    <p>Before we start you should setup a MySQL database which we will use (Laravel supports many more of them, but this is still the most popular one). You don’t need any web server since we will be using PHP’s <a href="http://php.net/manual/en/features.commandline.webserver.php" rel="nofollow external" class="bo">built-in one</a> (but please keep in mind, that <em>this solution is only for the development and should never be used in production</em> – it lacks many features that are required for your app to work properly in public). For that, we will need at least PHP version 5.4.0.</p>
    <hr>
    <h2>Preparation</h2>
    <p>The first thing we have to do is to install Laravel. The full process is described on <a href="http://laravel.com/docs/installation" rel="nofollow external" class="bo">Laravel’s website</a>. After that, you should have your project directory created with all of Laravel’s files in there. Navigate to that directory in your command line and run this command there:</p>
    <pre>php artisan serve&#x000A;    </pre>
    <p>If all goes OK, you should see that the local development server was started on <code>locahost:8000</code>. Open your browser and <a href="http://localhost:8000" rel="nofollow external" class="bo">navigate there</a>, you should see Laravel’s welcome page:</p>  <img src="http://cdn.tutsplus.com/net/uploads/2014/01/first_run.png" alt="first_run" width="600" height="271" style="max-width: 100%; height: auto;"><br> <p>Now we can proceed to the actual application.</p>
    <hr>
    <h2>Migrations and Models</h2>
    <p>Models in Laravel are just like in any other MVC framework. It’s using the <a href="http://four.laravel.com/docs/eloquent" rel="nofollow external" class="bo">Eloquent ORM</a> to ease the work for you – you will probably never need to write an SQL query again (unless you’ll want something that Eloquent does not support). Using migrations you can modify the database structure with the ability to rollback changes if something goes wrong. You can read more about migrations <a href="http://four.laravel.com/docs/migrations" rel="nofollow external" class="bo">in the documentation</a>.</p>
    <p>In our app we will use two models:</p>
    <ul>
    <li>
    <code>Customer</code> – will hold the customer data</li>
    <li>
    <code>Transaction</code> – will hold the information about a transaction</li>
    </ul>
    <p>Let’s start by creating migrations for them. If you have not done so already, shut down the server we started earlier (<strong>Ctrl + C</strong>).</p>
    <h3>Customers</h3>
    <p>First, invoke this command:</p>
    <pre>php artisan migrate:make create_customers_table&#x000A;    </pre>
    <p>This will create a migration file with a basic structure for you. Now navigate to <code>app/database/migrations</code>. There should be a file with its name starting with a timestamp and ending with “<strong>create_customers_table</strong>“. Laravel automatically created this basic structure for you. The <code>up()</code> method is called when the migration is applied, and <code>down()</code> when it’s rolled back.</p>
    <p>First call the <code>Schema::create()</code> method. It takes two arguments – the schema’s name and a callback function:</p>
    <pre>Schema::create('customers', function ($table) {&#x000A;    </pre>
    <p>The callback is executed when the table is created. The table object is passed as the <code>$table</code> variable and we manipulate the table’s structure using it. Let’s add an auto-incrementing <code>id</code> field:</p>
    <pre>	$table-&gt;increments('id');&#x000A;    </pre>
    <p>Next there will be three string fields for the customer’s first name, surname and email:</p>
    <pre>	$table-&gt;string('first_name');&#x000A;    	$table-&gt;string('last_name');&#x000A;    	$table-&gt;string('email')-&gt;unique();&#x000A;    </pre>
    <p>We make the <code>email</code> field unique by calling the <code>unique()</code> method on it.</p>
    <p>The last method is for the timestamps:</p>
    <pre>	$table-&gt;timestamps();&#x000A;    });&#x000A;    </pre>
    <p>This will create two date fields in the schema: <code>created_at</code> and <code>updated_at</code>. These will be used by Eloquent to store the time when the item was created and updated.</p>
    <p>Finally, the code should look like this:</p>
    <pre>public function up() {&#x000A;    	Schema::create('customers', function ($table) {&#x000A;    		$table-&gt;increments('id');&#x000A;    		$table-&gt;string('first_name');&#x000A;    		$table-&gt;string('last_name');&#x000A;    		$table-&gt;string('email')-&gt;unique();&#x000A;    		$table-&gt;timestamps();&#x000A;    	});&#x000A;    }&#x000A;    </pre>
    <p>The <code>down()</code> method is much simpler – it just deletes the schema:</p>
    <pre>public function down() {&#x000A;    	Schema::drop('customers');&#x000A;    }&#x000A;    </pre>
    <h3>Transactions</h3>
    <p>The code here will be similar to the customers’ one. First invoke this command:</p>
    <pre>php artisan migrate:make create_transactions_table&#x000A;    </pre>
    <p>Now locate the appropriate file in the <code>app/database/migrations</code> and open it. Like earlier, start by creating the schema:</p>
    <pre>Schema::create('transactions', function ($table) {&#x000A;    </pre>
    <p>Now add the fields for the id, transaction’s name, its cost and the id of the customer that it belongs to:</p>
    <pre>	$table-&gt;increments('id');&#x000A;    	$table-&gt;string('name');&#x000A;    	$table-&gt;float('amount');&#x000A;    	$table-&gt;integer('customer_id');&#x000A;    </pre>
    <p>And of course the timestamps:</p>
    <pre>	$table-&gt;timestamps();&#x000A;    });&#x000A;    </pre>
    <p>The final code should look like this:</p>
    <pre>public function up() {&#x000A;    	Schema::create('transactions', function ($table) {&#x000A;    		$table-&gt;increments('id');&#x000A;    		$table-&gt;string('name');&#x000A;    		$table-&gt;float('amount');&#x000A;    		$table-&gt;integer('customer_id');&#x000A;    		$table-&gt;timestamps();&#x000A;    	});&#x000A;    }&#x000A;    </pre>
    <p>And now the <code>down()</code> method:</p>
    <pre>public function down() {&#x000A;    	Schema::drop('transactions');&#x000A;    }&#x000A;    </pre>
    <h3>Database Configuration</h3>
    <p>Now before you apply the migrations you’ll have to configure the connection to your database. Open the <code>app/config/database.php</code> file and go to line <strong>55</strong>. Here is the configuration data for MySQL (there are few others in there, for example you could use SQLite or Postgres):</p>
    <pre>'mysql' =&gt; array(&#x000A;    	'driver'    =&gt; 'mysql',                 // database driver, don't touch&#x000A;    	'host'      =&gt; 'localhost',             // host of the database, usually localhost unless you have your db on some server&#x000A;    	'database'  =&gt; 'database',              // name of the database you will be using, it must be created earlier&#x000A;    	'username'  =&gt; 'root',                  // username that the script will use to connect, I strongly advice against using root user for this&#x000A;    	'password'  =&gt; '',                      // password for the user above, it's better not to use a blank one&#x000A;    	'charset'   =&gt; 'utf8',                  // encoding of the db&#x000A;    	'collation' =&gt; 'utf8_unicode_ci',       // db's collation setting&#x000A;    	'prefix'    =&gt; '',                      // prefix of the database tables, useful if you have multiple scripts using the same database&#x000A;    ),&#x000A;    </pre>
    <p>After you have filled that in, you are good to go. Make sure you saved the file and invoke this command from your app’s main directory (the one with the <code>artisan</code> file in it):</p>
    <pre>php artisan migrate&#x000A;    </pre>
    <p>And thats it. If there were no errors, that means that the tables were created successfully. You can connect to your db using, for example, phpMyAdmin to check manually if you want.</p>
    <h3>Models</h3>
    <p>In Laravel, creating a model after you’ve configured your database using migrations is really quick. Navigate to <code>app/models</code> and delete the example <code>User.php</code> file that is there. Now create two files named <code>Customer.php</code> and <code>Transaction.php</code>.</p>
    <p>Let’s start with <code>Customer.php</code>. Every model in Laravel has to extend the <code>Eloquent</code> class:</p>
    <pre>class Customer extends Eloquent {&#x000A;    </pre>
    <p>Now we will define a relationship between the customer and their transactions. This is done by defining a public method in the model with the name of the property we would like to have in it (in this case <code>transactions</code>):</p>
    <pre>	public function transactions() {&#x000A;    </pre>
    <p>Now in the body of the function there will be only one line:</p>
    <pre>		return $this-&gt;hasMany('Transaction');&#x000A;    	}&#x000A;    }&#x000A;    </pre>
    <p>This tells Eloquent that it should provide all transactions with <code>customer_id</code> of the customer under a property named <code>transactions</code>.</p>
    <p>Now we will do pretty much the same for the transactions, but we will reverse the relationship to make the transaction’s owner accessible via the <code>customer</code> property:</p>
    <pre>class Transaction extends Eloquent {&#x000A;    	public function customer() {&#x000A;    		return $this-&gt;belongsTo('Customer');&#x000A;    	}&#x000A;    }&#x000A;    </pre>
    <p>This is done using the <code>$this-&gt;belongsTo()</code> method of the model.</p>
    <hr>
    <h2>Controllers</h2>
    <p>Now to actually use the models we have to create controllers for them. Head to the <code>app/controllers</code> directory, delete the <code>HomeController.php</code> only – <code>BaseController.php</code> is important as our controllers will extend it. Now create two files: <code>CustomerController.php</code> and <code>TransactionController.php</code>.</p>
    <h3>CustomerController</h3>
    <p>This controller will handle everything related to the customers – adding, removing and showing a list of them. Start by defining the class:</p>
    <pre>class CustomerController extends BaseController {&#x000A;    </pre>
    <p>We will be using Laravel’s feature named RESTful controllers. It makes creating routes easier because we only have to define the base URI and Laravel will handle everything for us. This requires you to start your function names with the appropriate HTTP verb and then continue with the subroute name (using camelCase). So for example, if we would have a method named <code>getNames</code> and the base URI would be <code>/customers</code>, then the method will be accessible at <code>/customers/names</code>.</p>
    <p>The <code>getIndex()</code>, <code>postIndex()</code>, <code>deleteIndex()</code> etc. methods will be mapped to the default route (in this case <code>/customers</code>).</p>
    <p>Now let’s define our first route – getting the customer by their id:</p>
    <pre>	public function getIndex() {&#x000A;    </pre>
    <p>Let’s get the id from the query parameters (Laravel provides a nice <code>Input</code> class to deal with that, so you don’t have to use <code>$_GET</code>, <code>$_POST</code> and <code>$_FILES</code>):</p>
    <pre>		$id = Input::get('id');&#x000A;    </pre>
    <p>And search for the user in the database using that id:</p>
    <pre>		return Customer::find($id);&#x000A;    	}&#x000A;    </pre>
    <p>Every method of the controller has to return a value that is a string or has a <code>__toString()</code> method. In this case the <code>Customer</code> model that is returned will be converted to JSON before sending.</p>
    <p>Now lets return a list of all users (this will be accessible under <code>/customers/all</code>):</p>
    <pre>	public function getAll() {&#x000A;    		return Customer::all();&#x000A;    	}&#x000A;    </pre>
    <p>As you can see, we can get all customers using the model’s <code>all()</code> method.</p>
    <p>Now the longest part, adding a new customer:</p>
    <pre>	public function postIndex() {&#x000A;    </pre>
    <p>First let’s check if all information needed was provided. We can do this using the <code>Input::has()</code> method:</p>
    <pre>		if (Input::has('first_name', 'last_name', 'email')) {&#x000A;    </pre>
    <p>Let’s put all of the input fields in the <code>$input</code> variable to avoid calling <code>Input::get()</code> over and over. This can be done using <code>Input::all()</code>:</p>
    <pre>			$input = Input::all();&#x000A;    </pre>
    <p>Next we will check if any of the inputs are empty. If so, we will return a HTTP 400 Bad Request error with a more verbose message:</p>
    <pre>			if ($input['first_name'] == '' || $input['last_name'] == '' || $input['email'] == '') {&#x000A;    				return Response::make('You need to fill all of the input fields', 400);&#x000A;    			}&#x000A;    </pre>
    <p>Since we wanted to return a status code other than 200 instead of just returning the message as a string, we used <code>Response::make()</code>, which takes the data to send as the first parameter and the status code as the second. Take a look <a href="http://laravel.com/docs/responses" rel="nofollow external" class="bo">at the docs</a> if you want to know more about responses.</p>
    <p>Now we finally create a new <code>Customer</code> model and feed it with the data provided:</p>
    <pre>			$customer = new Customer;&#x000A;    			$customer-&gt;first_name = $input['first_name'];&#x000A;    			$customer-&gt;last_name = $input['last_name'];&#x000A;    			$customer-&gt;email = $input['email'];&#x000A;    </pre>
    <p>After that we can save the newly created model and respond to the request with it:</p>
    <pre>			$customer-&gt;save();&#x000A;    			&#x000A;    			return $customer;&#x000A;    </pre>
    <p>Here we handle the case if not all of the inputs were provided:</p>
    <pre>		} else {&#x000A;    			return Response::make('You need to fill all of the input fields', 400);&#x000A;    		}&#x000A;    	}&#x000A;    </pre>
    <p>Finally, we also need the ability to remove the customers. This one is really short:</p>
    <pre>	public function deleteIndex() {&#x000A;    </pre>
    <p>We start by getting the id of the customer to delete:</p>
    <pre>		$id = Input::get('id');&#x000A;    </pre>
    <p>Next, we search for and delete the customer:</p>
    <pre>		$customer = Customer::find($id);&#x000A;    		$customer-&gt;delete();&#x000A;    </pre>
    <p>After that, we respond to the request with the id provided:</p>
    <pre>		&#x000A;    		return $id;&#x000A;    	}&#x000A;    }&#x000A;    </pre>
    <p>Now before the routes can be accessed, we have to hook them. Open the <code>app/routes.php</code> file, delete everything but the comment and add this line at the end of the file:</p>
    <pre>Route::controller('/customers', 'CustomerController');&#x000A;    </pre>
    <p>This will tell Laravel to route all requests at <code>/customers</code> to our <code>CustomerController</code>. Now you can use CURL to play with it. First start the server with <code>php artisan serve</code> and then you can, for example, create a customer:</p>
    <pre>curl -X POST -d "first_name=Jane&amp;last_name=Doe&amp;email=<a href="mailto:jdoe@gmail.com">jdoe@gmail.com</a>" <a href="http://localhost:8000/customers">http://localhost:8000/customers</a>&#x000A;    </pre>
    <p>Then you can get the list of all customers:</p>
    <pre>curl <a href="http://localhost:8000/customers/all">http://localhost:8000/customers/all</a>&#x000A;    </pre>
    <h3>TransactionController</h3>
    <p>This, like the model is very similar to the <code>CustomerController</code>. First create the class:</p>
    <pre>class TransactionController extends BaseController {&#x000A;    </pre>
    <p>Then let’s define the method to get all transactions for a user:</p>
    <pre>	public function getIndex() {&#x000A;    		$id = Input::get('id');&#x000A;    		return User::find($id)-&gt;transactions;&#x000A;    	}&#x000A;    </pre>
    <p>As you can see we are using the relationship defined earlier to get the transactions (now recall the query you had to write to achieve the same thing using plain PHP and SQL).</p>
    <p>The next thing will be the creation of transactions:</p>
    <pre>	public function postIndex() {&#x000A;    </pre>
    <p>Like earlier, we are checking if all of the required information is provided:</p>
    <pre>		if (Input::has('name', 'amount')) {&#x000A;    </pre>
    <p>If so, assign it to an <code>$input</code> variable:</p>
    <pre>			$input = Input::all();&#x000A;    </pre>
    <p>Check if any of the values provided are empty and if so return an error:</p>
    <pre>			if ($input['name'] == '' || $input['amount'] == '') {&#x000A;    				return Response::make('You need to fill all of the input fields', 400);&#x000A;    			}&#x000A;    </pre>
    <p>Now create the transaction and supply it with all of the info provided:</p>
    <pre>			$transaction = new Transaction;&#x000A;    			$transaction-&gt;name = $input['name'];&#x000A;    			$transaction-&gt;amount = $input['amount'];&#x000A;    </pre>
    <p>Now we need to add it to the appropriate customer. Let’s find them by the id provided and add the <code>$transaction</code> to their transactions list:</p>
    <pre>			$id = $input['customer_id'];&#x000A;    			User::find($id)-&gt;transactions-&gt;save($transaction);&#x000A;    </pre>
    <p>This is done using the <code>transactions-&gt;save()</code> method provided by Laravel. Now we can respond with the transaction created:</p>
    <pre>			return $transaction;&#x000A;    </pre>
    <p>And handle the case where none or not all of the data was provided:</p>
    <pre>		} else {&#x000A;    			return Response::make('You need to fill all of the input fields', 400);&#x000A;    		}&#x000A;    	}&#x000A;    </pre>
    <p>After that there is also a method to delete the transaction in the same way that we deleted the customer:</p>
    <pre>	public function deleteIndex() {&#x000A;    		$id = Input::get('id');&#x000A;    		$transaction = Transaction::find($id);&#x000A;    		$transaction-&gt;delete();&#x000A;    		&#x000A;    		return $id;&#x000A;    	}&#x000A;    }&#x000A;    </pre>
    <p>Now just add the route and you can test the controller using CURL:</p>
    <pre>Route::controller('/transactions', 'TransactionController');&#x000A;    </pre>
    <hr>
    <h2>Conclusion</h2>
    <p>Alright, this is the end of the first part – in the second part of this tutorial, we will create the front-end using AngularJS. Feel free to add more features to your app (like editing customers or sorting), in case you did not find the information you were looking for, take a look at <a href="http://laravel.com/docs" rel="nofollow external" class="bo">Laravel’s documentation</a>.</p>
    </div>
]]>
</Body>
<Summary>When creating a single-page app we should use some kind of framework to do some of the job for us, so we can focus on the actual functionality. AngularJS fits here perfectly, because features like...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/XmVkW2XNRMI/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40130/guest@my.umbc.edu/4d7e7bf26733d66a0f52e6ac69112bbf/api/pixel</TrackingUrl>
<Tag>angularjs</Tag>
<Tag>css</Tag>
<Tag>customer-management-app</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>laravel</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tutorials</Tag>
<Tag>wed</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 10 Jan 2014 16:22:24 -0500</PostedAt>
<EditAt>Fri, 10 Jan 2014 16:22:24 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="40129" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40129">
<Title>Maryland cyber security industry poised for boost during General Assembly (via B...</Title>
<Body>
<![CDATA[
    <div class="html-content">Maryland cyber security industry poised for boost during General Assembly (via Baltimore Business Journal) <a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FstiKi&amp;h=bAQHYyQhA&amp;s=1" rel="nofollow external" class="bo">http://ow.ly/stiKi</a><br><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FstiKi&amp;h=yAQGlri2G&amp;s=1" title="" rel="nofollow external" class="bo"><img src="https://fbexternal-a.akamaihd.net/safe_image.php?d=AQAVxUHZeeXW093-&amp;w=154&amp;h=154&amp;url=http%3A%2F%2Fmedia.bizj.us%2Fview%2Fimg%2F1722361%2Fmichael-busch-3%2A309.jpg" alt="" style="max-width: 100%; height: auto;"></a><br><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fow.ly%2FstiKi&amp;h=PAQGqICLX&amp;s=1" rel="nofollow external" class="bo">Maryland cyber security industry poised for boost during General...</a><br><a href="http://www.bizjournals.com">www.bizjournals.com</a><br>If Wednesday’s opening of the General Assembly is any indication, this could be...</div>
]]>
</Body>
<Summary>Maryland cyber security industry poised for boost during General Assembly (via Baltimore Business Journal) http://ow.ly/stiKi   Maryland cyber security industry poised for boost during General......</Summary>
<Website>http://www.facebook.com/umbctraining/posts/10100556957040573</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40129/guest@my.umbc.edu/ccdecfc06804e67d29c072853122ef60/api/pixel</TrackingUrl>
<Tag>ccna</Tag>
<Tag>ceh</Tag>
<Tag>centers</Tag>
<Tag>cisco</Tag>
<Tag>cyber</Tag>
<Tag>cybersecurity</Tag>
<Tag>information</Tag>
<Tag>it</Tag>
<Tag>leadership</Tag>
<Tag>management</Tag>
<Tag>microsoft</Tag>
<Tag>project</Tag>
<Tag>security</Tag>
<Tag>technology</Tag>
<Tag>training</Tag>
<Tag>umbc</Tag>
<Group token="retired-575">UMBC Training Centers</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-575</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/original.jpg?1361981335</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xlarge.png?1361981335</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/large.png?1361981335</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/medium.png?1361981335</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/small.png?1361981335</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xsmall.png?1361981335</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/575/83756b985266168d0d29c6c9a146db50/xxsmall.png?1361981335</AvatarUrl>
<Sponsor>UMBC Training Centers</Sponsor>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 10 Jan 2014 16:21:06 -0500</PostedAt>
<EditAt>Fri, 10 Jan 2014 16:21:06 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="40126" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40126">
<Title>Deadline for security workshop is approaching</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A reminder for people interested in the joint W3C/IAB “STRINT” workshop: The deadline for submitting position papers is <strong>Wednesday 15 January 2014</strong>. <a href="https://www.w3.org/2014/strint/" rel="nofollow external" class="bo">The workshop pages</a> explain how to submit.</p>
    <p>The main theme of the workshop is pervasive monitoring and how (future) Internet protocols can be protected against it. See the workshop pages for additional topics and details.</p>
    <p>The STRINT (Strengthening the Internet Against Pervasive Monitoring) workshop will be held in central London, just before <a href="https://www.ietf.org/meeting/89/index.html" rel="nofollow external" class="bo">IETF-89,</a> on  Saturday March 1, and, if necessary, on the afternoon of Friday February 28. The workshop is organized by the <a href="http://www.strews.eu/" rel="nofollow external" class="bo">STREWS</a> project, with financial support 
    from the European Union.</p>
    </div>
]]>
</Body>
<Summary>A reminder for people interested in the joint W3C/IAB “STRINT” workshop: The deadline for submitting position papers is Wednesday 15 January 2014. The workshop pages explain how to submit.   The...</Summary>
<Website>http://www.w3.org/blog/news/archives/3584</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40126/guest@my.umbc.edu/43b85cedc8eeab15c37f32df13b5f2ca/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>home-page-stories</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>sql</Tag>
<Tag>w3</Tag>
<Tag>web</Tag>
<Tag>web-of-services</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, 10 Jan 2014 16:14:03 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="40127" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40127">
<Title>Bits Blog: BlackBerry Chief Drops &#8216;Interim&#8217; Label</Title>
<Body>
<![CDATA[
    <div class="html-content">John S. Chen became the company’s temporary chief executive and executive chairman of BlackBerry in November.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2014%2F01%2F10%2Fblackberry-chief-drops-interim-label%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+BlackBerry+Chief+Drops+%E2%80%98Interim%E2%80%99+Label" 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%2F2014%2F01%2F10%2Fblackberry-chief-drops-interim-label%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+BlackBerry+Chief+Drops+%E2%80%98Interim%E2%80%99+Label" 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%2F2014%2F01%2F10%2Fblackberry-chief-drops-interim-label%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+BlackBerry+Chief+Drops+%E2%80%98Interim%E2%80%99+Label" 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%2F2014%2F01%2F10%2Fblackberry-chief-drops-interim-label%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+BlackBerry+Chief+Drops+%E2%80%98Interim%E2%80%99+Label" 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%2F2014%2F01%2F10%2Fblackberry-chief-drops-interim-label%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+BlackBerry+Chief+Drops+%E2%80%98Interim%E2%80%99+Label" 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/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/sc/46/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594570/u/0/f/640387/c/34625/s/35c19eb3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>John S. Chen became the company’s temporary chief executive and executive chairman of BlackBerry in November.      </Summary>
<Website>http://bits.blogs.nytimes.com/2014/01/10/blackberry-chief-drops-interim-label/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40127/guest@my.umbc.edu/4deaaf5b88ab68aaaed1174e539dc9b7/api/pixel</TrackingUrl>
<Tag>appointments-and-executive-changes</Tag>
<Tag>blackberry</Tag>
<Tag>blackberry-bbry-nasdaq</Tag>
<Tag>chen-john-s</Tag>
<Tag>new</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>Fri, 10 Jan 2014 15:59:57 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="40125" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40125">
<Title>The Syntax vs The Spirit</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Sometimes I literally can't remember how to write a <code>for</code> loop. Not like funny ha-ha I can't remember how to spell "psychology" but really I can figure it out in a few seconds. Like, go to Google, type in "for loop PHP", click on a promising result, copy and paste, then alter it. </p>
    <p>I'm mostly a front-end guy, but I'm essentially a professional programmer. Isn't that ridiculous and embarrassing? Meh.</p>
    <p></p>
    <p>I'm in and out of a lot of different languages in any given day. A for loop is different in all of them. Here they are:</p>
    <pre><code>for i in 1..5&#x000A;      puts i&#x000A;    end</code></pre>
    <pre><code>for (i = 0; i &lt; 5; i++) {&#x000A;      console.log(i);&#x000A;    }</code></pre>
    <pre><code>for ($i = 1; $i &lt; 5; $i++) {&#x000A;      echo $i;&#x000A;    }</code></pre>
    <pre><code>@for $i from 1 through 5 {&#x000A;      .n-#{$i} { color: red; }&#x000A;    }</code></pre>
    <pre><code>- (1..16).each do |i|&#x000A;      %div #{i}</code></pre>
    <pre><code>for i in [1...16]&#x000A;      console.log(i)</code></pre>
    <p>They are all different. None are very difficult to understand, but the <code>for</code> loop is probably the simplest construct you'll need to write in a language, so you can imagine it gets worse.</p>
    <p>So what. </p>
    <p>All those languages have perfectly good reasons for why they do that the way they do. It is a minor inconvenience to maneuver the correct characters into place to get them to do the job.</p>
    <p>What matters is:</p>
    <ul>
    <li>I know what a for loop is</li>
    <li>I know when to reach for a for loop</li>
    <li>I know the difference between a for loop and other loops</li>
    <li>I know the potential dangers of a for loop</li>
    </ul>
    <p>Nevermind the syntax, it's the spirit that counts.</p>
    <hr>
    
    <p><small><a href="http://css-tricks.com/syntax-vs-spirit/" rel="nofollow external" class="bo">The Syntax vs The Spirit</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>Sometimes I literally can't remember how to write a for loop. Not like funny ha-ha I can't remember how to spell "psychology" but really I can figure it out in a few seconds. Like, go to Google,...</Summary>
<Website>http://css-tricks.com/syntax-vs-spirit/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40125/guest@my.umbc.edu/f5c27e76745c95790fce38559f4df397/api/pixel</TrackingUrl>
<Tag>article</Tag>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 10 Jan 2014 15:43:51 -0500</PostedAt>
<EditAt>Fri, 10 Jan 2014 15:43:51 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="40123" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40123">
<Title>Justices Take Case on Free TV Streaming</Title>
<Body>
<![CDATA[
    <div class="html-content">Broadcasters contend Aereo’s service violates copyright laws. The company says it is not covered by the relevant provisions of those laws.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2014%2F01%2F11%2Fbusiness%2Fmedia%2Fsupreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Justices+Take+Case+on+Free+TV+Streaming" 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%2F2014%2F01%2F11%2Fbusiness%2Fmedia%2Fsupreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Justices+Take+Case+on+Free+TV+Streaming" 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%2F2014%2F01%2F11%2Fbusiness%2Fmedia%2Fsupreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Justices+Take+Case+on+Free+TV+Streaming" 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%2F2014%2F01%2F11%2Fbusiness%2Fmedia%2Fsupreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Justices+Take+Case+on+Free+TV+Streaming" 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%2F2014%2F01%2F11%2Fbusiness%2Fmedia%2Fsupreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Justices+Take+Case+on+Free+TV+Streaming" 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/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/sc/1/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528594569/u/0/f/640387/c/34625/s/35c1db4d/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Broadcasters contend Aereo’s service violates copyright laws. The company says it is not covered by the relevant provisions of those laws.      </Summary>
<Website>http://www.nytimes.com/2014/01/11/business/media/supreme-court-to-hear-case-on-retransmission-of-tv-signals-by-aereo.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40123/guest@my.umbc.edu/645a007f7f7d08506a8ff3745a76cfb3/api/pixel</TrackingUrl>
<Tag>aereo-inc</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>new</Tag>
<Tag>supreme-court-us</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>Fri, 10 Jan 2014 15:14:44 -0500</PostedAt>
<EditAt>Fri, 10 Jan 2014 20:53:19 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="40119" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40119">
<Title>Riff: From Tweet to Ad to Mini Modern Scandal</Title>
<Body>
<![CDATA[
    <div class="html-content">A descent into the wormhole created by the collision of movie-awards campaigning and paracritical chirping.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2014%2F01%2F19%2Fmagazine%2Ffrom-tweet-to-ad-to-mini-modern-scandal.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+From+Tweet+to+Ad+to+Mini+Modern+Scandal" 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%2F2014%2F01%2F19%2Fmagazine%2Ffrom-tweet-to-ad-to-mini-modern-scandal.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+From+Tweet+to+Ad+to+Mini+Modern+Scandal" 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%2F2014%2F01%2F19%2Fmagazine%2Ffrom-tweet-to-ad-to-mini-modern-scandal.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+From+Tweet+to+Ad+to+Mini+Modern+Scandal" 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%2F2014%2F01%2F19%2Fmagazine%2Ffrom-tweet-to-ad-to-mini-modern-scandal.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+From+Tweet+to+Ad+to+Mini+Modern+Scandal" 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%2F2014%2F01%2F19%2Fmagazine%2Ffrom-tweet-to-ad-to-mini-modern-scandal.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Riff%3A+From+Tweet+to+Ad+to+Mini+Modern+Scandal" 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/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/sc/38/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186528583126/u/0/f/640387/c/34625/s/35c13682/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>A descent into the wormhole created by the collision of movie-awards campaigning and paracritical chirping.      </Summary>
<Website>http://www.nytimes.com/2014/01/19/magazine/from-tweet-to-ad-to-mini-modern-scandal.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40119/guest@my.umbc.edu/68194bfd9cb7c18eecb8694d621761b3/api/pixel</TrackingUrl>
<Tag>advertising-and-marketing</Tag>
<Tag>inside-llewyn-davis-movie</Tag>
<Tag>movies</Tag>
<Tag>new</Tag>
<Tag>social-media</Tag>
<Tag>technology</Tag>
<Tag>twitter-twtr-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>Fri, 10 Jan 2014 14:48:39 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="40122" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40122">
<Title>Recommended from Around the Web (Week Ending January 10, 2014)</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://www.slate.com/articles/technology/future_tense/2014/01/euonia_by_lisa_park_uses_eeg_technology_to_create_performance_art.html" rel="nofollow external" class="bo">Reading the Artist’s Mind</a><br>Artist Lisa Park uses the technology of electroencephalography to perform her own silence of mind. <br>—J. Juniper Friedman, editorial assistant</p>
    </div>
]]>
</Body>
<Summary>A roundup of the most interesting stories from other sites, collected by the staff at MIT Technology Review.  Reading the Artist’s Mind Artist Lisa Park uses the technology of...</Summary>
<Website>http://www.technologyreview.com/view/523321/recommended-from-around-the-web-week-ending-january-10-2014/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40122/guest@my.umbc.edu/08ab29282981216a2734206851b7cd0f/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, 10 Jan 2014 14:00:00 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="40121" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40121">
<Title>What's the Jelly App For? Shopping May Be One Answer</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A new smartphone app from a Twitter cofounder makes it easy and fun to get your friends’ advice on everything from shopping to Chopin.</p>
    <p>There are plenty of places to seek answers to questions, including search engines like Google and Q&amp;A sites like <a href="http://www.quora.com" rel="nofollow external" class="bo">Quora</a>. Most recently, Jelly, a new startup created by Twitter cofounder Biz Stone, is squishing its way into the fray with a free smartphone app that lets you ask questions appended with images, and give answers to people in your extended social network.</p>
    </div>
]]>
</Body>
<Summary>A new smartphone app from a Twitter cofounder makes it easy and fun to get your friends’ advice on everything from shopping to Chopin.  There are plenty of places to seek answers to questions,...</Summary>
<Website>http://www.technologyreview.com/news/523381/whats-the-jelly-app-for-shopping-may-be-one-answer/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40121/guest@my.umbc.edu/63bd0ac270b466e7f4e8feb748542f74/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, 10 Jan 2014 14:00:00 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="40117" important="false" status="posted" url="https://my3.my.umbc.edu/posts/40117">
<Title>Seven Must-Read Stories (Week Ending January 10, 2014)</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Another chance to catch the most interesting, and important, articles from the previous week on <em>MIT Technology Review</em>.</p></div>
]]>
</Body>
<Summary>Another chance to catch the most interesting, and important, articles from the previous week on MIT Technology Review.</Summary>
<Website>http://www.technologyreview.com/view/523316/seven-must-read-stories-week-ending-january-10-2014/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/40117/guest@my.umbc.edu/6069b4073c0299570e51af6f707c6d08/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, 10 Jan 2014 13:25:00 -0500</PostedAt>
</NewsItem>

</News>
