<?xml version="1.0"?>
<News hasArchived="true" page="7643" pageCount="10790" pageSize="10" timestamp="Fri, 04 Sep 2026 09:40:01 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=7643&amp;range=2">
<NewsItem contentIssues="false" id="43293" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43293">
<Title>Photo contest- Win $ for your student organization</Title>
<Body>
<![CDATA[
    <div class="html-content"><div>
    <div><strong><u><span><div><strong><u><span>PHOTO CONTEST!!!</span></u></strong></div></span></u></strong></div>
    <div><span>Send us the best photo of your student org in action this year! Winning photographs will be framed &amp; displayed in the student org space for all to see and will be revealed at our end of year event, CelebratingOrgs. Winners get a cash prize for their org. </span></div>
    <div><span><br></span></div>
    <div>
    <span>Email your photos to: <a href="mailto:jasonp1@umbc.edu">jasonp1@umbc.edu</a> by April 24th!</span><br><div><br></div>
    <div><strong><u>CelebratingOrgs (Thurs May 8th 7-9pm, Student Org Space)</u></strong></div>
    <div>Don't forget to RSVP to attend CelebratingOrgs (an end of the year event for student organizations sponsored by Student Life &amp; SGA! Celebrate all you've done and enjoy a dinner buffet!)<br>
    </div>
    <div><br></div>
    <div>RSVP here: <a href="https://docs.google.com/a/umbc.edu/forms/d/160hg6gRlOM4v06pjJAdQhx-mqL_8qlwyHkO0HAWUf8I/viewform">https://docs.google.com/a/umbc.edu/forms/d/160hg6gRlOM4v06pjJAdQhx-mqL_8qlwyHkO0HAWUf8I/viewform</a><br>
    </div>
    <div><br></div>
    <div><br></div>
    <div>Hope to see you there! </div>
    <div><br></div>
    <div>Sara</div>
    </div>
    </div></div>
]]>
</Body>
<Summary>PHOTO CONTEST!!!   Send us the best photo of your student org in action this year! Winning photographs will be framed &amp; displayed in the student org space for all to see and will be revealed...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43293/guest@my.umbc.edu/2b46573fe2e002bcd45a1f52e5b323d9/api/pixel</TrackingUrl>
<Group token="retired-769">UMBC Student Organizations </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-769</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/xsmall.png?1383677072</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/original.jpg?1383677072</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/xxlarge.png?1383677072</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/xlarge.png?1383677072</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/large.png?1383677072</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/medium.png?1383677072</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/small.png?1383677072</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/xsmall.png?1383677072</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/769/c1de2111b16e6b21b794451fe54ef86f/xxsmall.png?1383677072</AvatarUrl>
<Sponsor>UMBC Student Organizations</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 11:21:01 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43288" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43288">
<Title>Project Mah Jongg featured on CBS Sunday Morning and Sun</Title>
<Tagline>Touring exhibit on Mah Jongg continues to draw attention</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p><span><a href="http://www.cbsnews.com/videos/mah-jongg-madness/" rel="nofollow external" class="bo">CBS Sunday Morning</a>, <a href="http://articles.baltimoresun.com/2014-04-04/entertainment/bs-ae-mah-jongg-20140404_1_jewish-museum-mah-jongg-exhibit" rel="nofollow external" class="bo">The Baltimore Sun</a>, and the <a href="http://jewishtimes.com/21343/americas-other-pastime/#.U0K0p9xqtFw" rel="nofollow external" class="bo">Baltimore Jewish Times</a> have run</span><span> <a href="http://jewishtimes.com/21343/americas-other-pastime/#.U0K0p9xqtFw" rel="nofollow external" class="bo">features</a></span><span> on </span><a href="http://www.projectmahjongg.com/" rel="nofollow external" class="bo">Project Mah Jongg</a><span>, now appearing at the Jewish Museum of Maryland </span><span>and is on view in Baltimore through June 29, 2014.</span><span>. </span></p>
    <p><span><a href="http://www.projectmahjongg.com/about.html" rel="nofollow external" class="bo">The show</a>, which originated at the Museum of Jewish Heritage, NYC has also garnered notice in the New Yorker, The Wall Street Journal, The New York Times and The LA Times. The show has travelled to Portland, Cleveland, LA, Miami Beach, Atlanta, and will continue on to </span><a href="http://www.thecjm.org/on-view/upcoming/project-mah-jongg/about" rel="nofollow external" class="bo">San Francisco</a><span> this summer.</span></p>
    <p><span>CIRCA Director Timothy Nohe produced sound designs for three "Muji" players, documenting games in Chinatown and the Upper East Side. The sound work was invited by curator Melissa Martens Yaverbaum. Abbot Miller, a partner at Pentagram Design, designed the exhibit to highlight the intriguing objects and imagery surrounding the game. Original works by fashion icon Isaac Mizrahi, and renowned illustrators Maira Kalman, Christoph Niemann, and Bruce McCall pay homage to the influence mah jongg has had on design and contemporary artists. The exhibition's sumptuous companion publication "</span><a href="http://www.newyorker.com/online/blogs/books/2010/05/crak-bam-dot.html" rel="nofollow external" class="bo">Mah Jongg: Crak, Bam, Dot,</a><span>" was edited by Abbott Miller and Patsy Tarr, and published by twice books.</span></p>
    </div>
]]>
</Body>
<Summary>CBS Sunday Morning, The Baltimore Sun, and the Baltimore Jewish Times have run features on Project Mah Jongg, now appearing at the Jewish Museum of Maryland and is on view in Baltimore through...</Summary>
<Website>http://www.projectmahjongg.com</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43288/guest@my.umbc.edu/e13f3449c726cb9f6f2c91386d799ecc/api/pixel</TrackingUrl>
<Tag>baltimore</Tag>
<Tag>cbs</Tag>
<Tag>design</Tag>
<Tag>jewish</Tag>
<Tag>jongg</Tag>
<Tag>mah</Tag>
<Tag>maryland</Tag>
<Tag>museum</Tag>
<Tag>nohe</Tag>
<Tag>of</Tag>
<Tag>sound</Tag>
<Tag>sun</Tag>
<Tag>the</Tag>
<Tag>times</Tag>
<Tag>timothy</Tag>
<Group token="circa">CIRCA</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/circa</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xsmall.png?1762367739</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/original.jpg?1762367739</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xxlarge.png?1762367739</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xlarge.png?1762367739</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/large.png?1762367739</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/medium.png?1762367739</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/small.png?1762367739</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xsmall.png?1762367739</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/746/c82b5d452621302114ac215d91fcf846/xxsmall.png?1762367739</AvatarUrl>
<Sponsor>CIRCA</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 10:30:16 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43289" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43289">
<Title>Componentizing the Web</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>This is the story about a project of mine. A big one. A mixture between <a href="http://php.net/" rel="nofollow external" class="bo">PHP</a> and <a href="http://nodejs.org/" rel="nofollow external" class="bo">Node.js</a>. It's a single page application from one point of view and an SEO optimized website from another. Tons of JavaScript, CSS and HTML was written. In a single word, a spaghetti nightmare for any developer. There were falls and rises. Producing and solving bugs. Fighting with the latest technologies and ending up with a wonderfully simple library, which is the topic of this article.<br></p>
    
    <h2>The Beginning</h2>
    
    <p>As it normally happens, the project was considered not so big. The brief came in, we discussed how the development would be handled, what technologies would be used and how we will use them. We made a plan and got to work. In the beginning we had a few pages, which were controlled by a CMS. There wasn't so much JavaScript code at first because our system delivered most of the content.</p>
    
    <p>Here is a rough structure of the project:</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20602/image/img1.png" style="max-width: 100%; height: auto;">
    
    <p>We put our client side code into different directories. The server side code was only PHP at the moment, so it went in to the <code>php</code> directory. We wrap everything into around 30 files and everything was OK. </p>
    
    <h2>The Journey</h2>
    
    <p>During the period of a few months, we were trying different concepts and changed the project's code several times. From the current point of view, I could spot four big issues which we met.</p>
    
    <h3>Problem #1 - Too Many Badly Structured Files</h3>
    
    <p>It looks like the client was happy with the result and decided to invest more in his Internet appearance. We were asked to build a few new features. Some of them were just new content places, others were additions to already existing pages. We started adding more and more files in all of the folders above. It started to get a little bit messy, so we decided to create subdirectories for the different pages and save the necessary code there.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20602/image/img2.png" style="max-width: 100%; height: auto;">
    
    <p>For example, the CSS styles for the <em>about</em> page were in <code>css/about/styles.css</code>. The JavaScript in <code>js/about/scripts.js</code> and so on. We used a PHP script which concatenates the files. There were, of course, parts of the site that were on several pages and we put them in <code>common</code> directories. This was good for a while, but it did not work well for long because when the directories became full, it was slow to modify something. You had to search for three different directories to find what you needed. The site was still mainly written in PHP.</p>
    
    <h3>Problem #2 - The Big Turning Point or How We Messed Things Up</h3>
    
    <p>At that time, mobile applications became popular. The client wanted to have his site available for mobile devices and this is the big turning point in the project. We had to convert the site to a single page application. And not only that, it had to have tons of real-time features. Of course, not all the content of the site had to be loaded dynamically. The SEO was still an important part of the client's vision. We chose the <a href="http://www.mean.io/" rel="nofollow external" class="bo">MEAN stack</a> for the upcoming parts. The problem was with the old pages. Their content had to be served by PHP, but the pages' logic changed and it was completely made with JavaScript. For several weeks, we felt like the passengers of Titanic. We were in a hurry to release something, but there was hole after hole and very soon, our ship was full of water (bugs).  </p>
    
    <h3>Problem #3 - A Tough Working Process</h3>
    
    <p>We used <a href="http://gruntjs.com/" rel="nofollow external" class="bo">GruntJS</a> for a while, but migrated to <a href="http://gulpjs.com/" rel="nofollow external" class="bo">Gulp</a>. It helped a lot because we increased our development speed. However, it was still too annoying to add or edit existing components. The solid architecture that we had in the beginning was transformed to a complex mixture of files. Yes, there was strict conventions for naming and placing these files, but it was still too messy. We then banged our heads together and came up with the following format:</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20602/image/img3.png" style="max-width: 100%; height: auto;">
    
    <p>We split the site in to different components, that were like black boxes. They live in their own folder. Everything related to the component was saved inside its directory. We designed carefully, the APIs of the classes. They were testable and communicative. We found that a structure such as this worked better for us because we had tons of independent modules. Yes, we are mixing the JavaScript files with CSS styles and HTML templates, but it was just easier to work on a unit basis, instead of digging deeply into several directories.</p>
    
    <h3>Problem #4  - Angular vs. Custom Code</h3>
    
    <p>Those pages which were old and which we had to deliver via PHP, were also full of JavaScript logic. However in some cases, Angular did not work very well. We had to make small hacks to make the things run smoothly. We ended up with a mixture between Angular controllers and custom code. The good news was that the budget of the project was expanded and we decided to use our own framework. At that time, I was developing my own <a href="http://code.tutsplus.com/tutorials/absurdjs-or-why-i-wrote-my-own-css-preprocessor--net-36003" rel="nofollow external" class="bo">CSS preprocessor</a>. The project goes really, really fast. Very soon I ported my library for client side usage. Line by line, it was transformed to a small framework, which we started integrating into the project.</p>
    <h4>Why Create a New Framework?</h4>
    
    <p>This is probably what you're asking. Well, there is a dozen of others that provide a wide range of capabilities. Yes, that's true, but ... we did not need a wide range of capabilities. We needed specific things and nothing more. We were ready to accept the fact that by using a popular framework, we may add a few kilobytes to the overall page load. That wasn't a big problem. </p>
    <p>The status of our code-base was the issue. We were focused on building good architecture and we all agree that sometimes the custom solution fits better. The usage of Angular, Ember, Knockout or Backbone comes with its benefits, but the truth is that there is no universal framework. </p>
    <p>I like the words of <a href="http://adactio.com/" rel="nofollow external" class="bo">Jeremy Keith</a>, in his talk <a href="http://krasimirtsonev.com/blog/article/The-Power-Of-Simplicity-by-Jeremy-Keith" rel="nofollow external" class="bo">The power of Simplicity</a>, he said that the most important thing while choosing your tool is the philosophy of the person who made the tool and if that philosophy aligns with yours. If the ideas of the framework do not align with yours, very soon, you will go against them. The same thing happened to us. We tried using Angular and there were too many difficulties. Problems that we were able to solve, but we used hacks and complex workarounds. </p>
    <p>We also tried Ember, but it did not work, because it is heavily based on its routing mechanisms. Backbone was a nice choice and it was the closest thing to our vision. However, when I introduced <a href="http://absurdjs.com/" rel="nofollow external" class="bo">AbsurdJS</a> we decided to use it.</p>
    
    <h2>What AbsurdJS Did For Us</h2>
    
    <p><a href="http://absurdjs.com/" rel="nofollow external" class="bo">AbsurdJS</a> was originally started as a <a href="http://absurdjs.com/pages/css-preprocessing/" rel="nofollow external" class="bo">CSS preprocessor</a>, expanded to an <a href="http://absurdjs.com/pages/html-preprocessing/" rel="nofollow external" class="bo">HTML preprocessor</a> and it was successfully ported for client side usage. So, in the beginning we use it for compiling JavaScript to HTML or CSS. Yes, you heard me right; we started writing our styles and markup in JavaScript (probably sounds strange, but please keep reading). I pushed the library forward and a dozen of functionalities were added.</p>
    
    <h3>Divide and Rule</h3>
    
    <p>When you have a complex system, with many pages, you really don't want to solve big problems. It is much better to split everything into smaller tasks and solve them one by one. We did the same thing. We decided that our application will be built of smaller components, like so:</p>
    
    <pre>var absurd = Absurd();&#x000A;    var MyComp = absurd.component('MyComp', {&#x000A;        constructor: function() {&#x000A;            // ...&#x000A;        }&#x000A;    });&#x000A;    var instance = MyComp();&#x000A;    </pre>
    
    <p><code>absurd.component</code> defines a class. Calling the <code>MyComp()</code> method creates a new instance.</p>
    
    <h3>Let's Talk to Each Other</h3>
    
    <p>Having all these small components, we needed a channel for communication. The observer pattern was perfect for this case. So, every component is an event dispatcher.</p>
    
    <pre>var MyComp = absurd.component('MyComp', {&#x000A;        doSomething: function() {&#x000A;            this.dispatch('something-happen');&#x000A;        }&#x000A;    });&#x000A;    var instance = MyComp();&#x000A;    instance.on('something-happen', function() {&#x000A;        console.log('Hello!');&#x000A;    });&#x000A;    instance.doSomething();&#x000A;    </pre>
    
    <p>We are also able to pass data along with the message. The definition of the components and their "listen-dispatch" nature is pretty trivial. I adopted this concept from the other popular frameworks, because it looks natural. It was also much easier for my colleagues to start using AbsurdJS.</p>
    
    <h3>Controlling the DOM</h3>
    
    <p>Along with the PHP served markup, we had dynamically created DOM elements. This means that we needed access to the existing DOM elements or new ones, that will be later added to the page. For example, let's say that we have the following HTML:</p>
    
    <pre>&lt;div class="content"&gt;&#x000A;        &lt;h1&gt;Page title&lt;/h1&gt;&#x000A;        &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/p&gt;&#x000A;    &lt;/div&gt;</pre>
    
    <p>Here is a component which retrieves the heading:</p>
    
    <pre>absurd.component('MyComp', {&#x000A;        html: '.content h1',&#x000A;        constructor: function() {&#x000A;            this.populate();&#x000A;            console.log(this.el.innerHTML); // Page title&#x000A;        }&#x000A;    })();&#x000A;    </pre>
    
    <p>The <code>populate</code> method is the only <em>magic</em> method in the whole library. It does several things like compiling CSS or HTML, it binds events and such things. In the example above, it sees that there is an <code>html</code> property and initializes the <code>el</code> variable which points to the DOM element. This works pretty good for us because once we got that reference, we were able to work with the elements and its children. For those components that needed dynamically created elements, the <code>html</code> property accepts an object.</p>
    
    <pre>absurd.component('MyComp', {&#x000A;        html: {&#x000A;            'div.content': {&#x000A;                h1: 'Page title',&#x000A;                p: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'&#x000A;            }&#x000A;        },&#x000A;        constructor: function() {&#x000A;            this.populate();&#x000A;            document.querySelector('body').appendChild(this.el);&#x000A;        }&#x000A;    })();&#x000A;    </pre>
    
    <p>The JSON above is translated to the same HTML markup. I chose JSON because from a JavaScript point of view, it is much more flexible. We are able to merge objects, replace or delete only parts of it. In most of the popular frameworks, the templates are just plain text that makes them difficult for manipulating. AbsurdJS also has its own <a href="http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line" rel="nofollow external" class="bo">templating engine</a>.</p>
    
    <pre>absurd.component('MyComp', {&#x000A;        html: {&#x000A;            'div.content': {&#x000A;                h1: '&lt;% this.title %&gt;',&#x000A;                ul: [&#x000A;                    '&lt;% for(var i=0; i',&#x000A;                    { li: '&lt;% this.availableFor[i] %&gt;' },&#x000A;                    '&lt;% } %&gt;'&#x000A;                ]&#x000A;            }&#x000A;        },&#x000A;        title: 'That\'s awesome',&#x000A;        availableFor: ['all browsers', 'Node.js'],&#x000A;        constructor: function() {&#x000A;            this.populate();&#x000A;            document.querySelector('body').appendChild(this.el);&#x000A;        }&#x000A;    })();&#x000A;    </pre>
    
    <p>The result is:</p>
    
    <pre>&lt;div class="content"&gt;&#x000A;        &lt;h1&gt;That's awesome&lt;/h1&gt;&#x000A;        &lt;ul&gt;&#x000A;            &lt;li&gt;all browsers&lt;/li&gt;&#x000A;            &lt;li&gt;Node.js&lt;/li&gt;&#x000A;        &lt;/ul&gt;&#x000A;    &lt;/div&gt;</pre>
    
    <p>The <code>this</code> keyword in the expressions above, points to the component itself. The code between <code>&lt;%</code> and <code>%&gt;</code> is valid JavaScript. So, features like computed properties could be easily developed directly into the template's definition. Of course, we are able to use the same template engine with already existing markup. For example:</p>
    
    <pre>&lt;div class="content"&gt;&#x000A;        &lt;h1&gt;&lt;% this.title %&gt;&lt;/h1&gt;&#x000A;        &lt;ul&gt;&#x000A;            &lt;% for(var i=0; i&amp;amp;lt;this.availableFor.length; i++) { %&gt;&#x000A;            &lt;li&gt;&lt;% this.availableFor[i] %&gt;&lt;/li&gt;&#x000A;            &lt;% } %&gt;&#x000A;        &lt;/ul&gt;&#x000A;    &lt;/div&gt;</pre>
    
    <p>... could be controlled with the following component (the result is the same):</p>
    
    <pre>absurd.component('MyComp', {&#x000A;        html: '.content',&#x000A;        title: 'That\'s awesome',&#x000A;        availableFor: ['all browsers', 'Node.js'],&#x000A;        constructor: function() {&#x000A;            this.populate();&#x000A;        }&#x000A;    })();&#x000A;    </pre>
    
    <p>Anyway, the point is that we were able to define templates or create such from scratch. We are also able to control the data that is injected in an easy and natural way. Everything is just properties of the good old JavaScript object. </p>
    
    <h3>What About the Styling?</h3>
    
    <p>We successfully split the whole system in to small modules. The parts that were before Angular controllers, became AbsurdJS components. We realized that their HTML was tightly attached to their definition, that completely changed the management of the markup in the application. We stopped thinking about the concatenation, conventions or anything like that. We did not have to create HTML files at all. When I look back, I could see this exact moment in our commit history. It is easily visible because many files were removed from the code-base. </p>
    
    <p>Then I thought, what will happen if we do the same thing with the CSS. It was of course possible because AbsurdJS was a CSS preprocessor and could produce CSS. We just got the compiled string, create a new <code>style</code> tag in the <code>head</code> of the current page and inject it there.</p>
    
    <pre>absurd.component('MyComp', {&#x000A;        css: {&#x000A;            '.content': {&#x000A;                h1: {&#x000A;                    color: '#99FF00',&#x000A;                    padding: 0,&#x000A;                    margin: 0&#x000A;                },&#x000A;                p: {&#x000A;                    fontSize: '20px'&#x000A;                }&#x000A;            }&#x000A;        },&#x000A;        html: '.content',&#x000A;        constructor: function() {&#x000A;            this.populate();&#x000A;        }&#x000A;    })();&#x000A;    </pre>
    
    <p>Here is the <code>style</code> tag which is produced:</p>
    
    <pre>&lt;style id="MyComp-css" type="text/css"&gt;&#x000A;        .content h1 {&#x000A;          color: #99FF00;&#x000A;          padding: 0;&#x000A;          margin: 0;&#x000A;        }&#x000A;        .content p {&#x000A;          font-size: 20px;&#x000A;        }&#x000A;    &lt;/style&gt;</pre>
    
    <p>And day by day we transferred the CSS styles from the SASS files (because, at some point, we chose SASS as a CSS preprocessor) to the AbsurdJS components. To be honest, it was pretty easy because all the mixins and variables which we have, were defined as JavaScript functions and variables. The sharing of the styles was even easier because everything was JavasSript. </p>
    
    <h3>That Awkward Moment</h3>
    
    <p>... when everything works perfectly but you feel that something is wrong</p>
    
    <p>We were looking at the code. It worked. AbsurdJS drove even the old parts. The new stuff uses the same library. The HTML and the CSS were nicely separated and placed directly into the components' definition. However, I felt that there was something wrong. I stopped for a while and asked myself: "What is the Web made from?".</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20602/image/img4.png" style="max-width: 100%; height: auto;">
    
    <p>And what we did, is a little bit different. It looks more like the picture below.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20602/image/img5.png" style="max-width: 100%; height: auto;">
    
    <p>I've been building websites for more than ten years and I remember the times when we all fought for the big separation of these three building materials. And what I did in this project is exactly the opposite. There was no CSS and HTML files (almost) at all. Everything was JavaScript. </p>
    <p>Many people will say that this is ridiculous and we should give the client's money back. Yes, this could be true, but this concept worked perfectly in our case. We did not write an application. In fact, we wrote a bunch of independent components. I believe that the Web will be a combination of ready-to-use components. </p>
    <p>We, as developers, will have to develop such components and probably connect with and use such components written by others. Projects like <a href="http://absurdjs.com/" rel="nofollow external" class="bo">AbsurdJS</a> or <a href="http://www.polymer-project.org/" rel="nofollow external" class="bo">Polymer</a> are showing that this is possible and I encourage you to experiment in this direction. </p>
    
    <h2>Back to Reality</h2>
    
    <p>So in the end the client's business went well. It was so good that he decided to launch a new service. And guess what. He wanted some parts of the existing application transferred into the new project. I can't tell you how happy we were to move components from one place to another. We did not have to setup something, copy HTML markup or CSS files. We just got the JavaScript file of the component, placed it somewhere and created an instance of it. It just worked because there were no dependencies. I'd not be surprised if some of these components are put up for sale very soon. They are pretty light and provide nice functionality connected with the client's product.</p>
    
    <p>Yes, we broke some rules. Rules that I personally agree with. Rules that I followed for many years. However, the reality is that we all want quality and sometimes that quality is reachable by breaking the rules. We want to produce good, well structured code which is easily maintainable, flexible and extendable. We do not want to look back and say, "Oh my gosh ... was that written by me!?". When I look back now, I know why the code looks the way it does. It looks like that because it was written for that project specifically.</p>
    
    <h2>Conclusion</h2>
    
    <p>If you found this tutorial interesting, check out the official page of <a href="http://absurdjs.com/" rel="nofollow external" class="bo">AbsurdJS</a>. There are guides, documentation, and articles. You can even try the <a href="http://absurdjs.com/pages/try-it/" rel="nofollow external" class="bo">library online</a>. Like every other tool, AbsurdJS is designed for specific usage. It fit well for our project and may fit for yours. I don't even call it a framework, because I don't like this definition. It's more like a toolbox rather then a full stack framework. Feel free to experiment with it, make pull requests or submit issues. It's completely open source and <a href="https://github.com/krasimir/absurd" rel="nofollow external" class="bo">available at GitHub</a>.</p>
    </div>
]]>
</Body>
<Summary>This is the story about a project of mine. A big one. A mixture between PHP and Node.js. It's a single page application from one point of view and an SEO optimized website from another. Tons of...</Summary>
<Website>http://code.tutsplus.com/tutorials/componentizing-the-web--cms-20602</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43289/guest@my.umbc.edu/7873da6d0acd43b0f550643883344def/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>wed</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 10:00:09 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43297" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43297">
<Title>Internet Choice Will Be Crucial Battlefield in Big Cable Merger</Title>
<Body>
<![CDATA[
    <div class="html-content">Comcast’s position that there will be no diminution of cable TV competition in its proposed takeover of Time Warner may be beside the point as Wednesday’s Senate hearing approaches.<br>
    </div>
]]>
</Body>
<Summary>Comcast’s position that there will be no diminution of cable TV competition in its proposed takeover of Time Warner may be beside the point as Wednesday’s Senate hearing approaches.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/3916158d/sc/1/l/0L0Snytimes0N0C20A140C0A40C0A80Cbusiness0Cin0Escrutiny0Eof0Ecable0Emerger0Einternet0Echoice0Ewill0Ebe0Ecrucial0Ebattlefield0Bhtml0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43297/guest@my.umbc.edu/ab23e7706b7397f206aa7afe6834246f/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>at-and-t-inc-t-nyse</Tag>
<Tag>comcast-corporation-cmcsa-nasdaq</Tag>
<Tag>mergers-acquisitions-and-divestitures</Tag>
<Tag>netflix-inc-nflx-nasdaq</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>time-warner-cable-inc-twc-nyse</Tag>
<Tag>verizon-communications-inc-vz-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>Mon, 07 Apr 2014 09:56:57 -0400</PostedAt>
<EditAt>Mon, 07 Apr 2014 09:56:57 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="43287" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43287">
<Title>Andreas Seas is Real People Profile of the Week!</Title>
<Body>
<![CDATA[
    <div class="html-content">Meet Honors College freshman, Andreas Seas<div><br></div>
    </div>
]]>
</Body>
<Summary>Meet Honors College freshman, Andreas Seas</Summary>
<Website>https://ur.umbc.edu/home/our-researchers/research-profiles/andreas-seas/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43287/guest@my.umbc.edu/e751b6565f290051c216225c5b49e842/api/pixel</TrackingUrl>
<Group token="honorscollege">Honors College</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/honorscollege</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/xsmall.png?1339897259</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/original.jpg?1339897259</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/xxlarge.png?1339897259</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/xlarge.png?1339897259</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/large.png?1339897259</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/medium.png?1339897259</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/small.png?1339897259</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/xsmall.png?1339897259</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/413/cd2018beeece5fb0a71a96308e567bde/xxsmall.png?1339897259</AvatarUrl>
<Sponsor>Honors College</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 09:28:20 -0400</PostedAt>
<EditAt>Tue, 20 Aug 2024 15:24:43 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43286" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43286">
<Title>Mo&#8217; Money, No Corruption?</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://usdemocrazy.net/wp-content/uploads/2014/04/1381308332174.cached.jpg" rel="nofollow external" class="bo"><img alt="" src="http://usdemocrazy.net/wp-content/uploads/2014/04/1381308332174.cached.jpg" width="720" height="450" style="max-width: 100%; height: auto;"></a></p>
    <p>Do you think that Congress represents your interests?</p>
    <p>How you answer that question is probably going to depend on your outlook, ideology, and social position.</p>
    <p>But as Congress is <a href="http://www.npr.org/blogs/itsallpolitics/2014/01/10/261398205/majority-in-congress-are-millionaires" rel="nofollow external" class="bo">increasingly dominated by the wealthiest Americans</a>, and <a href="http://onpolitics.usatoday.com/2014/04/04/jim-moran-congress-underpaid/" rel="nofollow external" class="bo">out-of-touch ones at that</a>, Americans are rapidly losing faith in our political system.</p>
    <p>Then add to the recipe, the Supreme Court’s 2010 decision in the <em>Citizens United</em> case that opened the floodgates for unlimited corporate and union Super PAC spending.</p>
    <p>Now the Supremes are are at it again.</p>
    <p>On Wednesday the Supreme Court ruled on a campaign finance case called <em>McCutcheon v. FEC. </em>Here an Alabama businessman and political activist was challenging a federal law that limits the aggregate individual donations of a citizen during an election cycle. His claim was that this was a violation of his First Amendment’s free speech protections.</p>
    <p>Before the ruling, federal law barred any individual from contributing more than $123,200 to candidates and party committees during an election cycle.</p>
    <p>That limit has been thrown out by the court, although there is still a limit ($2600) on what an individual can give to a single candidate.</p>
    <p>The <a href="http://apps.washingtonpost.com/g/page/politics/supreme-court-decision-striking-down-overall-limits-on-federal-campaign-contributions/909/" rel="nofollow external" class="bo">decision</a>, penned by Chief Justice John Roberts, depended on the idea that removing limits for wealthy donors doesn’t create “quid pro quo corruption” or its appearance.</p>
    <p>In Chief Justice Roberts’ words:</p>
    <blockquote>
    <p>Spending large sums of money in connection with elections, but not in connection with an effort to control the exercise of an officeholder’s official duties, does not give rise to such quid pro quo corruption. Nor does the possibility that an individual who spends large sums may garner “influence over or access to” elected officials or political parties.</p>
    </blockquote>
    <p>Do you agree? Do members of Congress favor the interests of their wealthy donors, and is that corrupt?</p>
    <p>Should the government regulate political contributions at all? </p>
    <p>Feel free to leave a comment about your thoughts on the issue. But remember, since money is speech, the richest commenter wins.</p>
    </div>
]]>
</Body>
<Summary>Do you think that Congress represents your interests?   How you answer that question is probably going to depend on your outlook, ideology, and social position.   But as Congress is increasingly...</Summary>
<Website>http://usdemocrazy.net/mo-money-no-corruption/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43286/guest@my.umbc.edu/80d467e20c892ba85cd7f00754c15a2c/api/pixel</TrackingUrl>
<Tag>campaign-finance</Tag>
<Tag>citizens-united</Tag>
<Tag>congress</Tag>
<Tag>corruption</Tag>
<Tag>current</Tag>
<Tag>democracy</Tag>
<Tag>mccutcheon</Tag>
<Tag>news</Tag>
<Tag>politics</Tag>
<Tag>scotus</Tag>
<Tag>us</Tag>
<Tag>usdemocrazy</Tag>
<Tag>wealthy</Tag>
<Group token="retired-12">USDemocrazy</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-12</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/original.jpg?1279120129</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/large.png?1279120129</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/medium.png?1279120129</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/small.png?1279120129</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxsmall.png?1279120129</AvatarUrl>
<Sponsor>USDemocrazy</Sponsor>
<PawCount>15</PawCount>
<CommentCount>12</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 08:46:53 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43285" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43285">
<Title>March to College Day-Volunteers Needed!!</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <span>March to College Day will be held at UMBC on Friday, April 11th from 9:15 am to 12:45 pm. Sign up </span><a href="https://docs.google.com/spreadsheet/ccc?key=0AlGEJzBnHvs3dHJzYWIzUHlCWlZvS3d4OWpOR2UzRkE&amp;usp=sharing" rel="nofollow external" class="bo">https://docs.google.com/spreadsheet/ccc?key=0AlGEJzBnHvs3dHJzYWIzUHlCWlZvS3d4OWpOR2UzRkE&amp;usp=sharing</a><span> to volunteer for the event!</span>
    </div>
]]>
</Body>
<Summary>March to College Day will be held at UMBC on Friday, April 11th from 9:15 am to 12:45 pm. Sign...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43285/guest@my.umbc.edu/de59c3e3c030b10590615a68bd11ba2d/api/pixel</TrackingUrl>
<Group token="retired-211">The National Society of Collegiate Scholars</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-211</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/xsmall.png?1302061717</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/original.jpg?1302061717</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/xxlarge.png?1302061717</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/xlarge.png?1302061717</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/large.png?1302061717</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/medium.png?1302061717</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/small.png?1302061717</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/xsmall.png?1302061717</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/211/99e4ff886ade110350981edaec84553c/xxsmall.png?1302061717</AvatarUrl>
<Sponsor>The National Society of Collegiate Scholars</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 08:42:40 -0400</PostedAt>
<EditAt>Mon, 07 Apr 2014 08:43:23 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43281" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43281">
<Title>Dr. Craig Saper workshop on Multimodal Scholarship</Title>
<Tagline>St. Mary's College</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Dr. Saper recently gave a workshop at St. Mary’s College on Multimodal Scholarship titled Media's Impact on Scholarship, Creative Activity, and New Forms of Knowledge: From Folkvines to Readies in Multiple Modes on Monday, March 31st. This presentation was part of St. Mary’s College’s Spring Digital Culture Series in their Art and Art history Department. For more information about this program and its events, click <a href="http://www.smcm.edu/art/events/" rel="nofollow external" class="bo">here</a>. <br><br>In addition to being a Professor and the Director of the LLC program here at UMBC in Baltimore, Maryland, Dr. Saper is the author of Intimate Bureaucracies (2012), Networked Art (2001), Artificial Mythologies (1997), among other titles. He has published widely on Fluxus (art movement which included Yoko Ono) and visual poetry. He also serves as the Reviews Editor and "Blog Report" columnist for Rhizomes. More information about Dr. Saper and his research can be found on our <a href="http://llc.umbc.edu/about-llc/language-literacy-and-culture-doctoral-program-faculty/saper/" rel="nofollow external" class="bo">LLC website</a>. <br><br>
    </div>
]]>
</Body>
<Summary>Dr. Saper recently gave a workshop at St. Mary’s College on Multimodal Scholarship titled Media's Impact on Scholarship, Creative Activity, and New Forms of Knowledge: From Folkvines to Readies in...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43281/guest@my.umbc.edu/f6cad920cff10e93e76a0b21f7fdca37/api/pixel</TrackingUrl>
<Group token="llc">Language, Literacy and Culture Doctoral Program</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/llc</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/original.jpg?1375383725</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xlarge.png?1375383725</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/large.png?1375383725</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/medium.png?1375383725</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/small.png?1375383725</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xsmall.png?1375383725</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/537/e594b22cf15b445f7476775aa508e9c3/xxsmall.png?1375383725</AvatarUrl>
<Sponsor>Language, Literacy and Culture Doctoral Program</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/xxlarge.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/xlarge.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/large.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/medium.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/small.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/xsmall.jpg?1396872921</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/281/a00ffcaff1ed3a0803a8d48d7b4bde91/xxsmall.jpg?1396872921</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 08:16:09 -0400</PostedAt>
<EditAt>Tue, 08 Apr 2014 08:28:50 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43291" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43291">
<Title>DealBook: Gravity Hits Highflying Tech Stocks</Title>
<Body>
<![CDATA[
    <div class="html-content">A turnaround for highflying tech and biotech stocks like Tesla, NXP Semiconductor and Alexion signals a potential shift that the time to chase eye-popping growth may be over.<br><br><br><a href="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/194479843763/u/0/f/640387/c/34625/s/3914f598/sc/30/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>A turnaround for highflying tech and biotech stocks like Tesla, NXP Semiconductor and Alexion signals a potential shift that the time to chase eye-popping growth may be over.</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/3914f598/sc/30/l/0Ldealbook0Bnytimes0N0C20A140C0A40C0A60Cgravity0Ehits0Ehighflying0Etech0Estocks0C0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43291/guest@my.umbc.edu/14c11e44c130937ff77237db747b8449/api/pixel</TrackingUrl>
<Tag>dow-jones-stock-average</Tag>
<Tag>i-p-o-offerings</Tag>
<Tag>initial-public-offerings</Tag>
<Tag>markets</Tag>
<Tag>nasdaq-composite-index</Tag>
<Tag>new</Tag>
<Tag>standard-and-poors-500-stock-index</Tag>
<Tag>technology</Tag>
<Tag>top-headline-2</Tag>
<Tag>wall-street</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 08:07:13 -0400</PostedAt>
<EditAt>Mon, 07 Apr 2014 15:37:17 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="43280" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43280">
<Title>Andy Gotsch (ChemEng '12) helps Fiberight win award</Title>
<Tagline>Waste-to-Energy Company Wins Autodesk Small Business Award</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Andy Gotsch (Chemical Biochemical Engineering, '12) helps waste-to-energy company <a href="http://fiberight.com/about/" rel="nofollow external" class="bo">Fiberight</a> win  <a href="http://forums.autodesk.com/t5/Design-Differently/Autodesk-Small-Business-Success-Award-Contest/ba-p/4708259/" rel="nofollow external" class="bo"><u> Autodesk Small Business Success Award</u></a>  and is featured in video describing his work at Fiberight - turning trash into energy.  Click <a href="http://www.viewstream-media.com/autodesk/small-business-awards/fiberight/" rel="nofollow external" class="bo">here</a> to see video.</div>
]]>
</Body>
<Summary>Andy Gotsch (Chemical Biochemical Engineering, '12) helps waste-to-energy company Fiberight win   Autodesk Small Business Success Award  and is featured in video describing his work at Fiberight -...</Summary>
<Website>http://www.umbc.edu/blogs/cbe/2014/04/congratulations_to_alum_andy_g.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43280/guest@my.umbc.edu/dc084b8eb79aab1da0eb70a77c40fe37/api/pixel</TrackingUrl>
<Group token="retired-95">College of Engineering and Information Technology</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-95</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/xsmall.png?1496851664</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/original.jpg?1496851664</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/xxlarge.png?1496851664</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/xlarge.png?1496851664</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/large.png?1496851664</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/medium.png?1496851664</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/small.png?1496851664</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/xsmall.png?1496851664</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/095/c2a784a6cda726ef5f845e9192adb64b/xxsmall.png?1496851664</AvatarUrl>
<Sponsor>College of Engineering and Information Technology</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 07 Apr 2014 07:58:40 -0400</PostedAt>
<EditAt>Mon, 07 Apr 2014 08:01:59 -0400</EditAt>
</NewsItem>

</News>
