summaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2015-03-30 02:46:14 -0400
committerBen Burwell <ben@benburwell.com>2015-03-30 02:46:14 -0400
commit2b59a0f8355ae8b4bf71cf5c2a365de91f5ebe1b (patch)
treebaaeeeccef58a402b328b1abbdd667dca7e6b5f7 /projects
parent475275e0bb1d7e494ff3579595bf0e8dcda8474a (diff)
redesign
Diffstat (limited to 'projects')
-rw-r--r--projects/forest-printer-management/index.markdown28
-rw-r--r--projects/helvetica/index.markdown28
-rw-r--r--projects/index.html25
-rw-r--r--projects/mdengine/index.markdown10
-rw-r--r--projects/unified-show-control/index.markdown12
-rw-r--r--projects/viewtime/index.html95
6 files changed, 14 insertions, 184 deletions
diff --git a/projects/forest-printer-management/index.markdown b/projects/forest-printer-management/index.markdown
deleted file mode 100644
index 45faf05..0000000
--- a/projects/forest-printer-management/index.markdown
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Forest™ Printer Management System
-description: For my Software Engineering class, we built a printer management infrastructure.
-date: 2014-04-28 00:00:00
----
-
-In the Fall 2013 semester, I took a Software Engineering class. After a few weeks studying about development lifecycles, scheduling techniques, and such, we split the class into groups to propose and develop large software projects. I joined the team that was building a system that would track printer usage, display status, and collect statistics. Having previously created [a printer status project](http://mathcs.muhlenberg.edu/~bb246500/printers/), I found the idea intriguing.
-
-Several of the team members had experience using GitHub, so we decided to [create an organization](https://github.com/printerSystemCSI210) to store documents and provide version control. We had the school Math/CS department web server running Apache available for web hosting. Additionally, I had experience with [Node.js](http://nodejs.org) running on [Heroku](https://www.heroku.com/), so we had that technology in our arsenal as well.
-
-One of the first challenges we encountered that would have an impact on our architecture was the fact that most printers do not have public IP addresses and thus would need to be queried from inside the local network, while we wanted the public-facing site to be accessible regardless of physical location. This led us to developing the concept of an API which would enable a master database to be queried and updated by various components. In developing an API-central infrastructure, we were also looking down th line towards supporting client-developed applications and native applications for various platforms (iOS, Android, Windows, OS X).
-
-<p style="text-align:center">
- <a href="/assets/images/forest_interaction_diagram.png">
- <img src="/assets/images/forest_interaction_diagram.png" alt="Forest Interaction Diagram">
- </a>
-</p>
-
-Our first task was to develop a data format and database schema. As we intended to use [actionhero](http://actionherojs.com) for the API server, we created a [schema for MongoDB](https://github.com/printerSystemCSI210/api-server/blob/master/initializers/_project.js) and a base [set of API commands](https://github.com/printerSystemCSI210/api-server/tree/master/actions) we would need to implement in order to get a framework of the service up and running. We [deployed this on Heroku](https://forest-api.herokuapp.com).
-
-Simultaneously, we began work on a [web frontend](https://github.com/printerSystemCSI210/frontend) [hosted on the Math/CS server](http://mathcs.muhlenberg.edu/~mb247142/forest/frontend/home.php) that would communicate with the API to display graphs using [chart.js](http://www.chartjs.org). You can make an account here and add printers, though the interface is probably still a bit buggy.
-
-Additionally, we created a [Ruby program](https://github.com/printerSystemCSI210/query-agent) that would be running on the local network and would pull printer addresses from the API and query their status and properties via SNMP and push this information back to the API at a specified interval. We began working on bundling the gem as a standalone application using [Omnibus](https://github.com/opscode/omnibus-ruby), but due to lack of time at the end of the semester, this was never completed.
-
-At the end of the semester, we had built three interacting components, each using a different technology (Node.js/Mongoose, PHP/Apache, Ruby). You can [read our final Venture Proposal (pdf)](/assets/pdf/forest_venture_proposal.pdf). While all of our components communicated over HTTP using JSON, it’s worth noting that actionhero supports socket connections over TCP/TLS, which would have been a better choice for some of our infrastructure in production. We decided to use HTTP since it was easier to deploy on Heroku’s free tier and easier to interact with without writing additional components in Ruby and PHP.
-
-We’ve talked about continuing to develop the project beyond the class, but no progress has really been made. It’s probably possible to get a working monitoring system up and running based off our code (which is [all on GitHub](https://github.com/printerSystemCSI210)), but it would require quite a bit of legwork as it currently stands.
diff --git a/projects/helvetica/index.markdown b/projects/helvetica/index.markdown
deleted file mode 100644
index 3b3454c..0000000
--- a/projects/helvetica/index.markdown
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Helvetica for Safari and Chrome
-description: Those who believe the web should be made more beautiful will appreciate this extension for Safari and Google Chrome that makes all text display in Helvetica Neue (with regular old Helvetica as a backup).
-date: 2013-12-13 00:00:00
----
-
-Those who believe the web should be made more beautiful will appreciate this extension for Safari and Google Chrome that makes all text display in Helvetica Neue (with regular old Helvetica as a backup).
-
-Installing Helvetica in Safari
-------------------------------
-
-* [Download Helvetica](http://updates.benburwell.com/safari/helvetica/latest.safariextz) to your computer.
-* Click on the Downloads icon in the toolbar.
-* Double-click on `helvetica.safariextz` to install.
-
-Installing Helvetica in Google Chrome
--------------------------------------
-
-* [Download Helvetica](http://updates.benburwell.com/chrome/helvetica/latest.crx) to your computer.
-* Click the ![triple bar](/assets/images/icons/settings-icon.png) icon on the Chrome toolbar
-* Select Tools > Extensions.
-* Locate the extension file on your computer and drag the file onto the Extensions page.
-* Review the list of permissions in the dialog that appears. If you would like to proceed, click Install.
-
-It’s not perfect; there will be some text that is not Helvetica since this is simply the application of a stylesheet. If a site is using significant amounts of JavaScript, some text may not be transformed. This will be corrected in later versions.
-
-For the most part, fonts will be replaced on sites that don’t have very specific typography. In general, you’ll find that sites that have put care into their typeface choices will have those choices preserved.
diff --git a/projects/index.html b/projects/index.html
index 7c7202d..2c3b837 100644
--- a/projects/index.html
+++ b/projects/index.html
@@ -4,14 +4,17 @@ title: Ben Burwell’s Projects
description: Projects I’ve done.
---
-<section>
- <h2><a class="project" href="/projects/viewtime/">ViewTime, a Browser Extension for YouTube&trade;</a></h2>
-
- <h2><a class="project" href="/projects/forest-printer-management/">Forest&trade; Printer Management System</a></h2>
-
- <h2><a class="project" href="/projects/mdengine/">MDEngine</a></h2>
-
- <h2><a class="project" href="/projects/helvetica/">Helvetica for Safari and Chrome</a></h2>
-
- <h2><a class="project" href="/projects/unified-show-control/">Unified Show Control</a></h2>
-</section>
+{% for project in site.data.projects %}
+{% if project.live %}
+<h1><a href="{{ project.live }}">{{ project.name }}</a></h1>
+{% else %}
+<h1>{{ project.name }}</h1>
+{% endif %}
+<ul class="compressed-list">
+ <li>{{ project.description }}</li>
+ <li>{{ project.tech }}</li>
+ {% if project.github %}
+ <li><a href="https://github.com/{{ project.github }}"><i class="fa fa-github"></i> {{ project.github }}</a></li>
+ {% endif %}
+</ul>
+{% endfor %}
diff --git a/projects/mdengine/index.markdown b/projects/mdengine/index.markdown
deleted file mode 100644
index 57433d2..0000000
--- a/projects/mdengine/index.markdown
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-title: MDEngine
-description: A drag-and-drop PHP script enabling simple serving of rendered Markdown files.
-date: 2013-12-13 00:00:00
----
-
-MDEngine was born of my need to serve static Markdown files simply and beautifully. I accomplished this by creating MDEngine, the PHP Markdown Engine.
-
-It’s extremely lightweight and takes the form of a small collection of files you can drop into any web directory served with Apache which will then serve all `.md` files as beautiful HTML. MDEngine is [available on GitHub](https://github.com/bburwell/mdengine).
diff --git a/projects/unified-show-control/index.markdown b/projects/unified-show-control/index.markdown
deleted file mode 100644
index cbbaa74..0000000
--- a/projects/unified-show-control/index.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-title: Unified Show Control
-description: A paper on unifying all aspects of theatrical show control.
-date: 2013-01-13 00:00:00
----
-
-For my freshman writing seminar at Muhlenberg, I wrote a paper on a system I devised for controlling many different theatrical cueing consoles from one master console using MIDI Show Control (MSC). I called my system [Unified Show Control (pdf)](/assets/pdf/Unified_Show_Control.pdf).
-
-Shortly after finishing this project, I discovered that [QLab][] from Figure 53 already has MSC built into it. Though it was slightly disappointing, I was thrilled that my idea already exists, albeit in a slightly different form.
-
-[QLab]: http://figure53.com/qlab/
diff --git a/projects/viewtime/index.html b/projects/viewtime/index.html
deleted file mode 100644
index ee6c866..0000000
--- a/projects/viewtime/index.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<html>
- <head>
- <title>ViewTime, a YouTube Extension for Google Chrome and Safari</title>
-
- <!-- Encoding -->
- <meta charset="UTF-8">
-
- <!-- Stylesheets -->
- <link rel="stylesheet" href="/assets/stylesheets/viewtime.css">
- <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
-
- <!-- Scripts -->
- <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
-
- <!-- Icons -->
- <link rel="shortcut icon" href="/assets/images/viewtime-icon.png" sizes="128x128">
- <link rel="apple-touch-icon" href="/assets/images/viewtime-icon.png">
-
- <!-- Generic Meta -->
- <meta name="author" content="Ben Burwell">
- <meta name="description" content="ViewTime is an extension for Safari and Google Chrome that inserts the total amount of time a YouTube video has been watched just below the view count.">
- <meta name="keywords" content="extension, youtube, video, chrome, safari">
-
- <!-- OpenGraph Meta -->
- <meta property="og:title" content="ViewTime, A YouTube Extension for Google Chrome and Safari">
- <meta property="og:site_name" content="ViewTime">
- <meta property="og:description" content="ViewTime is an extension for Safari and Google Chrome that inserts the total amount of time a YouTube video has been watched just below the view count.">
- <meta property="og:image" content="https://www.benburwell.com/assets/images/viewtime-icon.png">
- <meta property="og:type" content="website">
- <meta property="fb:admins" content="1439777397">
-
- <!-- Twitter Meta -->
- <meta name="twitter:card" content="summary">
- <meta name="twitter:site" content="@bburwell">
- <meta name="twitter:title" content="ViewTime, A YouTube Extension for Google Chrome and Safari">
- <meta name="twitter:creator" content="@bburwell">
- <meta property="twitter:description" content="ViewTime is an extension for Safari and Google Chrome that inserts the total amount of time a YouTube video has been watched just below the view count.">
- <meta name="twitter:image:src" content="https://www.benburwell.com/assets/images/viewtime-icon.png">
- <meta name="twitter:domain" content="BenBurwell.com">
-
- <!-- Chrome Extension -->
- <link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/jcplgieacjacdjabiiedcdfcpbgohbpp">
-
- <script type="text/javascript">
- $(function() {
- if (window.chrome && window.chrome.webstore) {
- $('#install_button').attr('href', 'javascript:chrome.webstore.install();');
- $('#install_button').on('click', function() {
- chrome.webstore.install();
- return false;
- });
-
- $('#chrome_text').show();
- $('#error_text').hide();
- $('#install_button').removeClass('inactive');
- $('#install_button').addClass('active');
- } else if (window.safari) {
- $('#install_button').attr('href', 'http://updates.benburwell.com/safari/viewtime/latest.safariextz');
-
- $('#safari_text').show();
- $('#error_text').hide();
- $('#install_button').removeClass('inactive');
- $('#install_button').addClass('active');
- }
- });
- </script>
- </head>
- <body>
- <div class="container">
- <h1>ViewTime</h1>
- <p>ViewTime is an extension for Safari and Google Chrome that inserts the total amount of time a YouTube video has been watched just below the view count.</p>
- <p><img src="/assets/images/viewtime-example.png" alt="ViewTime screenshot"></p>
- <p><a id="install_button" class="inactive">Install</a></p>
- <p class="install_tagline" id="safari_text">download and double-click to install in Safari</p>
- <p class="install_tagline" id="chrome_text">click to install from the Chrome Web Store</p>
- <p class="install_tagline" id="error_text">Uh oh! Looks like you’re not using a supported browser.<br>ViewTime works in Safari and Google Chrome.</p>
- <p>
- <!-- Twitter -->
- <a href="https://twitter.com/intent/tweet?url=http%3A%2F%2Fwww.benburwell.com%2Fprojects%2Fviewtime%2F&amp;text=ViewTime,%20an%20extension%20for%20YouTube" onclick="javascript:window.open(this.href,
- '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img src="/assets/images/icons/social/twitter_large.png" alt="Tweet"></a>
-
- <!-- Facebook -->
- <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.benburwell.com%2Fprojects%2Fviewtime%2F" onclick="javascript:window.open(this.href,
- '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img src="/assets/images/icons/social/facebook_large.png" alt="Share on Facebook"></a>
-
- <!-- Google Plus -->
- <a href="https://plus.google.com/share?url=http%3A%2F%2Fwww.benburwell.com%2Fprojects%2Fviewtime%2F" onclick="javascript:window.open(this.href,
- '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img src="/assets/images/icons/social/gplus_large.png" alt="Share on Google+"></a>
- </p>
- <p>
- <a class="home_link" href="https://www.benburwell.com/">www.benburwell.com</a>
- </p>
- </div>
- </body>
-</html>