tag:blogger.com,1999:blog-60102710465802905562024-02-19T07:28:23.439-05:00Web Development and ArchitectureI have spent the last decade creating applications using web technologies, from web sites to enterprise applications to front-end widgets to web services to audio/video transcoding and encoding to frameworks to socket applications. If it's run over IP chances are I've worked with it. Here I will not only share my code and my experience but walk through the code and talk about each piece and explain it in detail.Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-6010271046580290556.post-79296663388443904372008-10-07T12:41:00.003-04:002008-10-07T12:51:17.935-04:00WordleTom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com9tag:blogger.com,1999:blog-6010271046580290556.post-59961918311678433162008-09-19T10:15:00.002-04:002008-09-19T10:22:58.002-04:00Code Review Vol. 7 - Automated JS Loading, Reformatting and Injecting with ActionScript 3.0Based on my previous post I then abstracted a bit further. Instead of having the JavaScript embedded directly in the ActionScript I read it in, reformat it to fit my needs and then inject it into the page. I use the same instance for all file loadings so I don't store any of the values in class properties and I make my own asynchronous token pattern since it's pure AS3 and not Flex. I'll do a Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com1tag:blogger.com,1999:blog-6010271046580290556.post-13882452859968032242008-09-08T15:14:00.012-04:002008-09-09T07:51:02.425-04:00Code Review Vol. 6 - Injecting JavaScript from ActionScriptA project that I have been working on at my new company - which I will post about soon, I've just been waiting to take pictures so I can document how incredible the facilities are - is an ActionScript video player that allows us to play videos from multiple sources, including videos from vendors who require us to load in their player for the actual video playback. The external players, of Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com1tag:blogger.com,1999:blog-6010271046580290556.post-68157177180601321042008-09-03T12:41:00.005-04:002008-09-04T11:36:57.178-04:00New lesson plansOver the long weekend, in between visiting my grandparents and hitting the shore, I wrote a few new lesson plans. One of the classes I'm teaching this semester is the Scripting Languages class that I re-worked. Previously the class was a VBA class, but I determined that VBA was out of place with the rest of the curriculum. I re-wrote it to cover PHP and .Net. But lately I'd been feeling Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-43866200240395928522008-08-27T08:02:00.000-04:002008-08-27T08:03:24.584-04:00Code Review Vol. 5 - DRM Profile Generator in VB.NetHere is a follow up to the Windows Media Encoder and DRM script I posted previously. I mentioned in the article that I had to export a DRM profile from the DRM server, but I never really elaborated on that. Here is the script that I wrote that I ran on the server which generated the DRM profile.Imports WMEncoderLibImports WMRMOBJSLibImports System.IOImports System.XmlPublic Class Generate Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-21855331137215047752008-08-23T01:04:00.004-04:002008-08-25T11:06:57.552-04:00Code Review Vol. 4 - Perl Recursive Directory StepperHere is a recursive directory browser I wrote in Perl. I later decorated it a bit and used it for a project back at Toll Brothers. The goal was to create a shared directory for the IT Training department, where trainers for each department could store their respective white papers without the admin for IT Training having to manage those documents.So this script simply reads the contents of the Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-86315034043131829702008-08-22T08:50:00.004-04:002008-08-22T12:39:25.738-04:00Code Review Vol. 3.01 - WMEncode and DRM WalkthroughImports WMEncoderLibImports System.Windows.FormsImports System.IOModule Module1 Dim WithEvents Encoder As WMEncoder Dim glbQuitBool As Boolean = False Dim baseURL As String Dim DRMProfilePass As String = "XXX" Dim DRMProfile As String = "ExportProfile.drm" Sub Main() Init() SearchDir(baseURL) End Sub Sub Init() Dim sr As StreamReader = New StreamReader("Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-39576567701745898372008-08-20T22:41:00.011-04:002008-08-22T09:09:59.634-04:00Code Review Vol. 3 - Encode and DRM Audio and Video Content With Windows Media Encoder SDK and VB.NetHere is a snippet of code I wrote several years ago to encode and DRM content to WMV format. Back when I worked at Music Choice one of my initial tasks was to come up with a DRM solution for all videos on the web. My initial solution was clunky, basically following Microsoft's sample code - what little there actually was for the subject. But over time I revisited the solution and came up with Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-38418704207790258172008-08-12T13:15:00.008-04:002008-08-12T13:39:00.063-04:00Code Review Vol. 1.01 - Calendar Class Walkthrough import flash.display.*; import net.com.calendar.Day; public class AbstractCalendar extends Sprite { private static var _dayIDSequence:Number = 0; private var _dayHeight:Number = 50; private var _dayWidth:Number = 50; private var _startX:Number = 10; private var _startY:Number = 10; private const WEEKDAYCOUNT:Number = 7; private var _bgColor:uint = 0xCCCCCC; private var Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-73901126685548782972008-08-08T08:05:00.001-04:002008-08-11T07:55:54.273-04:00man me pt. 5After Toll I went to a small software firm right outside of Philadelphia. What I found there was a small team of really talented people who had formed this great bond and work dynamic, seemingly in-spite of an oppressively micromanaging and confused management team. The management team was comprised of three investors who each had a say and a stake, yet none of which had any understanding of Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-591764452907432012008-08-06T20:47:00.000-04:002008-08-07T08:34:56.390-04:00man me pt. 4I was originally hired by Toll Brothers to maintain and update an internal legacy application for the Land Development department. But after a couple weeks I found that task would realistically only take a fraction of my potential bandwidth. So I turned my attention to the state of the company's application infrastructure. I saw a young IT department still finding it's legs in a mature companyTom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-48679587224043087592008-08-06T07:54:00.001-04:002008-08-21T07:54:03.732-04:00Code Review Vol. 2 - Day Class, used with Calendar in ActionScript 3.0For the sake of completion, and because I'm too exhausted from teaching late last night and getting up at 5:30 this morning to really walk through yesterday's code review, here is the source for the Day class. Again, I pared it down from its actual implementation, took out the tweens, events and filters, as well as the custom business logic and the interface that it implements. The idea of the Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com1tag:blogger.com,1999:blog-6010271046580290556.post-21336160904183467332008-08-05T08:05:00.002-04:002008-08-27T08:05:58.442-04:00Code Review Vol. 1 - Calendar Class in ActionScript 3.0I'd like to do switch gears for a moment and focus on some code. I'll name these sections, for lack of a better term, Code Review and I'll number them in volumes for ease of reference. The template that I'll follow will be as follows: whole numbers are the full source code, dot releases will be a walk through of the code. So for example this is Code Review Vol. 1 and I will follow up this postTom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-11773043603369447292008-08-04T07:39:00.000-04:002008-08-04T08:18:11.366-04:00man me pt. 3Before I get in to my time at Toll Brothers, I should take a step back and talk about my other career. In the summer of 2003 I was approached by the owners of the advertising firm where I worked, one of the photographers that they used had a husband who was a director at Philadelphia University. He needed someone to fill in for an HTML and JavaScript class for the upcoming semester, and they Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-46654538614677202652008-08-03T21:32:00.000-04:002008-08-03T22:09:32.275-04:00man me pt. 2Music Choice was for me where my career became interesting. My role there was to architect a product that was to be a mirror of their full proposed television product for the web. This included, the live streaming audio channels, as well as the on-demand music videos and user customization features of creating play lists and run-time generated channels based on genre preferences. It was a Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0tag:blogger.com,1999:blog-6010271046580290556.post-51458303254870188862008-08-03T00:44:00.000-04:002008-08-03T01:21:58.927-04:00man meI'm setting this up mainly as a repository for my thoughts and ideas about what I do. If these are helpful to anyone else, that's great. If any feedback is helpful to me at all, even better.As for what I do, I've been a developer, engineer, architect, and technical lead for the last ten years. I mainly focus on web development, but the past five years or so has seen the web become so Tom Barkerhttp://www.blogger.com/profile/05192246070143094846noreply@blogger.com0