Skip to main content

The Cause and Effect of Google's h.264 Decision

· 6 min read
Justin Beckwith
Director of Engineering @ Discord

The Cause and Effect of Google's H.264 Decision

How do the internal workings of a browser that was released only two years ago have an enormous ripple effect on the future of streaming media on the internet? Last week Google announced on their chromium blog that they're dropping support for the h.264 codec, in favor of the open source Ogg Theora and WebM/VP8 codecs. This is yet another snag in the messy attempt to unify the playback of video in HTML 5, as we now find the #2 and #3 most popular browsers lacking support for what currently is likely the most ubiquitous encoding format. So how did we get here?

The browser wars are back

Bootstrapping image based bookmarklets

· 8 min read
Justin Beckwith
Director of Engineering @ Discord

Bookmarklets

Over this holiday break I had the interesting opportunity to write a bookmarklet for a friend who runs a comic based website.   Instead of just manipulating the currently loaded page, the bookmarklet needed to send a list of images to another site.  Often when writing bookmarklets, we tend to only think of loading our code in the context of a HTML content page.  How often do you test your bookmarklets when the browser is viewing an image?  In this article I am going to go through the code I used to bootstrap my bookmarklet script, and discuss some of the interesting challenges I experienced along the way.

To get started with this code, I used a fantastic article by Tommy Saylor of Smashing Magazine. It gave me a good start, but certainly left a lot of details out, and in my case, caused a lot of bugs.

Virtual Labs

· 4 min read
Justin Beckwith
Director of Engineering @ Discord

Lab Header

When a student takes a course in chemistry, it is often accompanied by a hands on lab. After sitting through a lecture, and performing homework, students need to reinforce the learned concepts by doing. Why should technology education be any different? VTE Virtual Labs provide a sand-boxed environment for students to practice interacting with simple or complex ephemeral computing environments. These environments may be designed by a course instructor or instructional designer to promote learning by interacting with a real (as real as it needs to be) system. Especially useful for security research, these systems may contain full environments including domain controllers, mail servers, web servers running various versions of Windows or Linux. You can even configure internal routing and switching between virtual hosts. Students can install malware, viruses, bots, hacking tools, anything they want - and when they're finished, the environment is completely disposed, with no harm done.

Designed at the Software Engineering Institute of Carnegie Mellon University, students and interact with the system entirely over the web, in the browser. It combines an ASP.NET MVC back end with client elements including JQuery and Adobe Flex. The back end infrastructure includes a BigIP F5, NetApp SAN, Cisco ASA, and vSphere cluster.

Using Ant with Adobe Flex - Part 1

· 5 min read
Justin Beckwith
Director of Engineering @ Discord

ant build

Welcome to the first part in a multi-part series on building Adobe Flex projects using The Apache Ant Project.

So why would we want to use ant to build our flex projects?  Flash Builder does a great job of building our actionscript and mxml.  But it does not do a great job of integrating into our existing automated build frameworks.  For those of us who have been writing Java in an enterprise environment, Ant is common knowledge.  If you've spent any time working with the Microsoft .NET platform, you may have been exposed to NAnt or MSBuild The idea is that we need to have a reliable, repeatable build process that can execute outside of the context of our development environment.  For my team, this means an independent build server (in my case, a virtual machine).  An independent build server means nightly builds, and software that can run without the user at the keys.

RECast

· 4 min read
Justin Beckwith
Director of Engineering @ Discord

RECast- video for online education

RECast is a video playback system designed at the Software Engineering Institute of Carnegie Mellon University.  This system focuses on providing students with a with an experience as close as possible to sitting in the actual classroom. Let's face it - training is a hassle. On site classes are expensive, require travel, and require everyone to learn at the same time. RECast aims to fix this problem by providing the same material online with a unique learning experience. RECast combines an ASP.NET MVC back end with client elements including JQuery and Adobe Flex.

The Student Perspective