Hi! I finally decided to make my work public today (May 21, 2009), and I’m pretty excited about it. If you’re checking this out for the first time, which is most likely the case, here’s the most important stuff:

Now that that’s over with, here’s an overview of the work I have on here right now:

  • Two fairly small JavaScript games (Mars is the most recent/involving). By an absolute standard, neither is anything special, but as far as JavaScript goes, they’re pretty intense.
  • Two math applications that I made during high school, one dealing with systems of equations and one with prime numbers, radicals, quadratics, etc.
  • A few other miscellaneous items of interest.

I’m also going to be adding some of my more recent work with C++ and C# soon, including a nice little program that can play Eye of the Tiger, Crazy Train, and a piece by Rachmaninoff… in system beeps.

Anyway, feel free to check stuff out. There aren’t any viruses or anything in the downloads, and I’m fairly certain that anyone interested in web development could learn something from them, teach me something relevant to them, or both. So enjoy!


Leave a Comment

Integrating sec(x) – a complex approach

Perhaps the most vexing thing for me in all of Calculus was this single proof. It’s not that it’s wrong or anything; it just basically requires that you know the answer to the question before you go about answering it. Here’s how most (if not all) Calculus textbooks would go about solving this integral…
The standard approach to integrating the secant.

I always found that very unsatisfying, and continue to believe that somebody for some reason had to differentiate ln(sec x + tan x), and the integral was originally figured out as that in reverse. Of course, it’s easy to see the forward process when you know the substitution, but it just wasn’t enough for me.

So… the secant is the reciprocal of the cosine. The cosine has an alternate definition, due to some half-magical things that happen with Taylor series, that involves exponentials and complex numbers. So, wouldn’t integrating the reciprocal of that alternate definition give the same result as integrating the secant?

It does, although not without a battle:
A different way of integrating the secant

My guess is, most people would prefer to stick to the first one.

Leave a Comment

AutoHotKey Script – VPN Connection

I’d heard about AutoHotKey before, but I didn’t realize its full power until today. As I was looking for applications of this tool, I thought of the most annoying simple task that I often go through – connecting to my college’s VPN. I need to do this if I want to check my e-mail using Outlook, and not the ugly, limited webmail setup. I figured that there had to be some way to do this from AutoHotKey, and after a little poking around on MSDN, I came up with the following on my train ride today:

InputBox, pass, Password Required, Enter your password, HIDE
Run rasdial [VPN Name] [Username] %pass%
Run C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE

#d::Run rasdial [VPN Name] /DISCONNECT

The first command displays an input box for the password, and hides the characters password-style, and replaces 9 clicks with the press of two keys. The second command disconnects, replacing 6 clicks with the press of two keys. I think it’s a good deal!

AutoHotKey: www.autohotkey.com

Leave a Comment

Software Development

Right now, I’m on a train, returning home from my first day of an internship with a software company, enjoying Amtrak’s spotty internet service. Today, I was barraged with all sorts of information – company products, philopsophy, history, and internal tools. Several things from this experience particularly struck me.

First, I was surprised to see that some companies are still doing fairly well in this economy. When I visited the company over my winter break, they had under 800 employees; now, they have almost 900, and they’ve had to purchase more office space. I’d known that the company was still fairly successful, but it wasn’t until today that I understood why. This company has a presence in 188 countries, I think the number was. And they have physical offices in 19 – not bad, for a company of such a size. They also have a completely awesome product, that blows all the competition out of the water by taking a completely different approach to the problem at hand. So I guess it makes sense that they’d be doing well.

The other thing that struck me was the level of documentation necessary. I knew that it would probably be beyond what I had seen and experienced in my two programming courses (so far) at college, but this is pretty crazy. As an intern in their support division, I’ll probably end up researching problems that customers have encountered. The customers could be using one of very many versions, on one of very many platforms, in one of many languages. And the same people deal with all of it, so they need really smart systems to keep track of everything. It didn’t feel odd walking past a wall of thick books and manuals, until I realized that they were all for different versions of the same product.

I find it pretty intimidating, but exciting at the same time. It should be a really rewarding experience if I can handle it.

Leave a Comment

Fractal Terrain in XNA

Here are some screenshots from a project I’ve been working on in Microsoft’s XNA Game Studio. I started out by generating fractal terrain using the “diamond-square algorithm”, and today I added smoothing to it. Here’s some results, as wireframes (because it seems like it’s easier to see the terrain curves that way).

Leave a Comment

Changes to Game of Life HTA

I’ve made a few changes to the Game of Life HTA to make it run a little bit faster – if a square doesn’t change, it doesn’t redraw it. The idea is that the drawing takes some time, and seeing if it has changed takes less time, so it helps overall. It does seem like it makes it slightly faster, but it doesn’t have the blazing performance I was hoping for.

[Download Project]

Leave a Comment

A Brief Update

Starting up this blog had been a dream of mine several years ago, but because I’m generally a busy person, it didn’t ever really materialize. This summer, I intend to put some more stuff up here.

When I first started out with this, my intent was to showcase some work I’ve done with JavaScript. Having taken two classes in C++ as a freshman in college, I’ve come to realize how limiting JavaScript really is. That doesn’t mean that I’m going to abandon my original purpose. But it does mean that I’ll be dealing with some other fun stuff too. In addition to learning C++ in college, I’ve also been playing around with C# a lot recently, specifically with Microsoft’s XNA Game Studio.

So I should be getting this back into operation soon. Worst case, I get to show off some of my work and a few people see it. Best case, people can end up learning from the stuff I’ve done (especially with JavaScript), and maybe I’ll make a little money to help me pay for college and stuff.

Leave a Comment

Older Posts »