Musings from an east coast software developer, writer and reader.

From the Blog

I am a product of a sub-par New Jersey education system. The New Jersey State Education system is in shambles, barely having enough money to keep teachers on the payroll and nowhere near enough money to adequately fund the extracurricular activities that are actually interesting children enough to go out and learn on their own. Most of my days of high school I slept through, my memories of Spanish class included a milk chug contest and a phone call resulting in a mad rush to steal the exam questions off the teacher’s desk. The good memories usually involve my friends, skipping school to go hang out at the mall once I had a driver’s license, or skipping class to work on computers inside of the school’s computer science lab. When it came to education I was able to perfect the art of bullshit, but I did not learn the skills necessary to get myself into a good college.

I am also lucky, because I knew at a very young age what I wanted to do with the rest of my life. I have been writing software since before I remember, tinkering with web pages and writing scripts since well before high school. I was crimping network cable to construct a make shift LAN-party to scrimmage before Counter-Strike (and later, Day of Defeat) tournaments. My final year of high school I went into vocational school for computer science, spending most of the time writing code for my Half-Life modification and extending some Quake code to gain an illegal advantage over some of the other guys that were in the technology class with me. Those were some good memories. But now, eight years later, after spending six years working towards a bachelor’s degree I can look back and say that I wish the K-12 education system had their shit together. I would have spent much less time re-learning trigonometry, college algebra, physics and chemistry.

What is the point of this rather long anecdotal account of my education history? I read every day about how “Governor Christie is destroying the education system by slashing education funds,” and each day I laugh, because the education system was already destroyed long before Christie made the attempt to balance their budgets. Teachers are pissed off, parents are pissed off and their kids are sitting around oblivious to it all. So the school goes and blames the governor for their budget problems, goes and balks at the union cutting the newbie teachers that actually give a shit about the students they are teaching. I have worked with education professionals, met some amazing teachers, been taught by a few of them, but those are far and few between. The sad fact is the vast majority of teachers are collecting a pay check, tired of their job, but do not have any other career to fall back on.

Unfortunately teachers are amongst the lowest paid professionals when they should be on the opposite end of the spectrum. These are the people molding (or at least put in charge of) the workers, thinkers, tinkerers, great minds, of the future, and we pay them pennies? As I said earlier I believe that the whole education system in New Jersey (and from what I can tell, most of the United States) is broken. We attempt to teach the masses the same exact way, not focusing on the kids’ skills where they excel the most at. A student’s education should be well rounded, but if they are better at mathematics (or a field which involves mathematics) make sure to focus their plan on math.

For those that are not interested in mathematics, literature or the sciences, we have carpentry, automotive, and other mechanical trades that can easily be taught at a young age. One thing that I credit my high school for making available the superb-focused (and amazing instructors) of automotive, carpentry and beautician programs at the choice of the student as an elective. I was lucky that the computer repair and general information technology programs were budding at the time that I went through. But this is exactly my point – we need to go back to the times where we have targeted programs for the interests of students, including apprenticeships, and certifications that actually mean something in the work place. I did not need to go to college, I was more than ready to take a full-time job working as a programmer at the age of eighteen, but in my industry a bachelors degree is a litmus test.

New Jersey, please make a real attempt to clean up your education system, and stop placing your budgetary blames solely on the shoulders of a man just attempting to balance the books. Because the last time I checked not only are we in debt, but we have the highest property taxes, the most toll roads, in the nation. Where is all the money going?

May
30

I have finally begun my five-years-in-a-making web project and I decided to throw a simple countdown splash screen to give myself a little motivation to get it finished. Something that has always ticked me off about the Internet is the fact that despite all the standardization that we attempt to put forth with the W3C, Acid, and the HTML 5 movement it is still fucking impossible to pick a decent font that you can guarantee will be on (most) platforms. As a programmer, I absolutely loathe web design, in fact that is usually the barrier to entry for most of my web projects – I can not figure out the damn design – but through trial and error I generally am able to produce something which is at least a little pleasurable to look at.

This brings me to the topic at hand. The Google Font API (and the Google Font Directory) was announced at the Google I/O conference and detailed in this Google code blog post. What Google has basically done is created a repository that makes fonts freely available to web designers (and programmers) with a simple HTML stylesheet include. Before I even finished their blog post I was immediately cursing Microsoft because Internet Explorer 6 is usually the reason why technologies such as this do not get adopted quicker, but I was amazed even more, Internet Explorer 6.0 and up are supported!

As you can see on typealoud.com it is really as simple as these two lines of HTML/CSS.

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Reenie+Beanie"> 
<style>
h1 { font-family:'Reenie Beanie', serif; }
</style>
<h1>123 days until launch.</h1>

Go take a look at Google’s blog post on the matter and start using the Font API in your own projects. Happy coding!

For as long as I can remember writing has always been an intimate experience for me. There is not a single day that goes by where my mind does not wander, painting a story in my head involving the strangers in my morning commute, an intricate plot that I sometimes get a little carried away with. My weekly commute lets my brain get back to a place where I feel like a child again, kick-starting my imagination and providing more than enough to keep me awake throughout the day. I find that not enough people in the world express themselves with words. Some of us go through our lives and have never put a pen to paper since high school. Those same people are the ones that have never enjoyed a poem, let alone written one, and are the least likely to walk into a book store for leisure.

The Internet has really given us a free outlet to express our feelings. Be it reading news, typing a few quips to followers or sharing your life with long lost high school friends, we have taken our life and digitized it. With “smart” phones that are now connected to the Internet wherever we roam there is no longer a digital divide – we live our lives with computers, no longer amongst them. We can embrace this technology to become a better writer, poet and reader. You can start by creating a free blog over at Tumblr, like I have done for myself, which has an application that downloads right to (most) mobile devices.

I believe that one of the solutions to this growing problem is to identify yourself. If you are on your way into work on the train, riding shotgun on a road trip, or sitting in a boring lecture, scribble your thoughts down on a piece of paper and when you have a free couple of minutes post them up on your blog. Make use of these two hash tags, #iamwriter and #iampoet, to let the world know that you have not forgotten the imagination of your youth. Take your words and post them up for all to see. When you are bored go take a gander at some of the other writers all over the Internet and do what Krista Finch, and so many others are doing. Maybe a little inspiration is all that they’ll need as well.

This is for all of you guys out there that bust your ass and are pissed off for those meat heads out in San Francisco getting all of the press.

After attending the Yahoo Open Hack event last October, meeting some amazing individuals, I have decided that the fun needs to happen more often. For those of you that do not know exactly what Yahoo Open Hack was about, essentially you stick a bunch of geeks with computers in a room for twenty-four hours, supply pizza and booze, and see what they produce in the end. I have spoken with some of my local hombres, but I need some more people to make this thing happen. I can provide some networking equipment, a few Unix servers, but I am going to need someone access to some awesome hacking space in New York City for an overnight weekend shindig.

If you are interested, know someone who is willing to provide the space or merely want to weigh in on the subject matter drop a comment. I am looking to hold this event during the summer, with a follow up one right before the Web 2.0 Expo in September. As of right now there is no cost associated with this project other than what it will cost you to live in New York City for a night (which, depending on your lifestyle may be a hell of a lot).

Let’s get this ball rolling people.

On my way home from work I started to put some mind power towards figuring out a solution to the issue of adequate class loading in C++. A quick Google search for “Classloading C++” brings up a few pages that are of quite an interest. You see for awhile now I have been trying to grasp why I have not found any model view controller frameworks written in C++ running on top of FastCGI, and one of the reasons that I have been stuck on is the fact that people do not want to modify, compile, start, execute in order to get through one series of tests for Internet projects. Of course, there are many ways to divide your project up appropriately to limit the compile time of certain small pieces, but in the end, there is still that dependency on the fact that we’re still shit slow compared to Ruby development.

One of the features I love about Ruby on Rails is the fact that there are long periods of time that I really never need to restart Mongrel while developing. I have my Emacs buffer pointed to a couple of files, save out my changes and click the refresh button on Chrome. That’s how easy it is. Could we achieve that development speed with a C++ framework? My my rain soaked walk home I went through it all in my head, and I firmly believe that speedy Web development with a proper C++ framework is achievable. But something core to this, at least as I see it, would be a structured dynamic class loading architecture which would allow on-the-fly loading and unloading of linked objects. In “development” mode (which could merely be controlled by an environment variable) we could even execute g++ each and every time we have a web request as long as the dependencies for these plugins were small enough to minimize compile/link time. A class loader could be pointed to a directory similar to class path environment variables, setup to look for a specific string through a regular expression, and dynamically load object files based upon the timestamp of the file. The core framework would need to be a shared library – so your classes to handle the variety of software patterns you decide to use (Observer, Singleton, MVC, etc) would be something that you’d need to take down the whole server if updated. But once a framework is to a certain point you rarely make changes to the core.

After I worked through these thoughts on the PATH ride into Harrison I got to thinking: because we have access to literally all the low level libraries for Ruby, Python, PHP, what is stopping us from building a framework that will allow simultaneous development in any language that we can plug in easily? Of course, I do not see why anyone would want to do this inside of a real development environment when you could just as quickly (and easily) stick to a single language, but the thought still piqued my interest.

Just something on my mind.