Sunday August 31 2008

I've been doing some data visualization stuff with Processing, a cool open source sketching tool that, when combined with OpenGL, can be a nice way to do some complex graphics. So you won't be writing the next Crysis engine in it, but you can at least do some 3d visuals without too much trouble, and it lets you export everything to a Java applet. To mess around with it, I've been trying to write one of my favorite arcade classics, Asteroids. I like Asteroids because it's graphically simple; no textures, fills, or even colors. Just wireframe 2-d graphics. It does, however, require a bit of trig and calculus to get just right (the spaceship has an angle of rotation and there's some rate of change for the ship's movement). I don't really have to show yet. Here is my applet thus far.

This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.

The left and right arrow keys change your angle, and the up key thrusts (giggity).


Posted by austin   ::   Permanent Link  



Sunday August 24 2008

Classes start up again tomorrow, but OH WAIT I GRADUATED and so now I'm in the real world and for the first time I don't have to show up in class. I do have a job where a supervisor comes around and checks up on me every few hours or so, but that's beside the point. This is the first time ever where I'm not going to class in the Fall.

I guess I could do graduate school. That was my original plan because the real world scared the shit out of me when I was an undergrad. So for the last two semesters I frantically filled out grad school applications and studied for the GRE exam and basically laid awake at night thinking about how if I don't get into the University of X program of Y Studies, I'll never receive the recognition of my peers. As a backup plan, I went to a career fair and passed out copies of my resume. You know, just in case every graduate school I applied to rejected me. Just in case.

Yeah, that's what happened. I actually accepted a job offer before I got the last rejection letter anyway. In fact, the last one came a few weeks ago, about a month after I started my job. So basically I'm still bitter about it. My current employer will pay for my masters degree as long as I'm doing science or engineering (which is too bad because GWU has a masters program in "Landscape Design".


Posted by austin   ::   Permanent Link  



Sunday August 10 2008

Every Sunday I buy a copy of the Washington Post, a cup of coffee, and a bagel. I don't have time to read the newspaper everyday, so I buy a Sunday edition and read it the rest of the week. The Post is pretty good about putting interesting international articles on the front page. It mostly puts life into perspective. Two weeks ago I was bemoaning the fact that my new computer wasn't going to ship out until after the weekend since my bank couldn't confirm my new billing address for 2 business days. Life was over. I was doomed to continue running on a single core 32-bit processor for an extra 2 days. The Post ran a story that Sunday about women in some African country (can't recall which one) who make about $1.50 US per week sweeping the streets at 4 am every morning. Meanwhile, I get to work at 8 o'clock, churn out some lines of code, sit in a meeting or two, eat a 9 dollar lunch and then write some more code before calling it a day. Oh and I suppose I had a (mildly outdated) computer to use when I got home. So basically I'm a prick and the newspaper points this out to me so I don't forget it.


Posted by austin   ::   Permanent Link  



Wednesday August 06 2008

It's been about 3 weeks at the new assignment. I can't really say too much about the nature of what I'm doing because of proprietary information and some of my code has potential to be put into government networks. It's been fun and not too difficult. I've been learning a lot of stuff and trying to figure out how the defense industry works.


Posted by austin   ::   Permanent Link  



Sunday July 27 2008

One of my favorite 80's movies was WarGames. It's probably one of the better computer-genre movies to be released thanks to both a decent plot and respectable amounts of nerd credibility for not being too fake. Matthew Broderick plays a high school computer geek who dials into a DARPA computer while searching for pirated computer games. The government computer is actually W.O.P.R, a military battlefield simulator designed to strategically play out the last war with the Soviet Union. Broderick's character almost sparks World War III when he launches a simulated thermonuclear war, which W.O.P.R thinks is a real Soviet offensive attack. Broderick's character spends the rest of the movie trying to convince the government that the war isn't happening and a very expensive government computer learns that launching ICBMs will only result in mutually assured destruction. It's still a good movie because it explores some advanced concepts like Cold War-era mentality and the faith we place in computers. Of course, this film was released in 1983 and now, in 2008, computers are a much bigger part of our lives. I actually studied the film's themes in my computer ethics class back in college.



This month, for the 25th anniversary of WarGames, MGM released a sequel, WarGames: The Dead Code. Since it's straight to video, you can safely assume it's awful. But in case you're skeptical, I watched it and here's the plot. In the post 9/11 era, the Department of Information and Intelligence, a fictional U.S. intel agency, creates a computer, named R.I.P.L.E.Y. to track down terrorist cells. It does this by (I'm not making this up) setting up an online computer game with themes that only terrorists would be good at (like blowing up buildings and killing civilians, etc.). If you manage to get too good at this game, then clearly you are a terrorist and R.I.P.L.E.Y. sends a predator drone to bomb your house. R.I.P.L.E.Y. entices would-be terrorists using fabulous cash prizes and animated boobs. Your tax dollars at work.





The main character, Will, is a throwback to Matthew Broderick's original character. While doing tech support on his neighbors computer (who just happens to be Arab), Will decides to play R.I.P.L.E.Y.'s terrorist online game to win some money so he can go on a trip to Canada with the high school chess team. No wait, just kidding. He's winning money so he can get some tang while on on the class chess team trip.





R.I.P.L.E.Y. perceives Will to be a bio-chemical terrorism threat and uses the trip to Canada as an excuse to send agents to imprison his Mom and lower his Ebay rating or some retarded shit. There's a chase scene, and apparently this computer was so expensive, government agents are now forced to drive Chevy Cobalts. Throughout all this silliness, Will is accompanied by his stereotypical-future-girlfriend-by-the-end-of-this-movie (who is played by 27 year old Amanda Walsh, which seems a little old to be cast as a jailbait high school student). Anyhow, they manage to evade the $300 million computer and several federal agents long enough to try to hack into it while at an Internet cafe.





When this doesn't work, they decide to go with plan B: get into the back of a pickup truck with a creepy old man. This is surprisingly more effective since the old man turns out to be one of the characters from WarGames 1: Not the Movie You're Watching. He takes them to a secluded hideaway where he shows them W.O.P.R., 1983's technology at it's finest, which at this point in time is slightly more powerful than a solar calculator.





In the past 25 years, no one thought to change the password on W.O.P.R., so they log in and try to use it to stop R.I.P.L.E.Y. W.O.P.R. and R.I.P.L.E.Y. starting fighting which turns out to be absolutely R.E.T.A.R.D.E.D.. The W.O.P.R. tries to defeat the rogue supercomputer by opening up a bunch of FreeCell windows or something, and R.I.P.L.E.Y. responds by dropping a bomb from a predator drone.

Back in Washington DC, Will and jailbait girlfriend are brought into the Department of Information and Intelligence headquarters. You see, R.I.P.L.E.Y. is now being a dick and is trying to kill everyone it perceives to be a terrorist, but in goofy ways like changing the traffic signal while they are crossing the street.





To stop R.I.P.L.E.Y.'s shenanigans, they launch a distributed denial-of-service attack using a list of IP addresses. Normally, my nerd rage would be off the charts at something this stupid, but I was pretty drunk at this point and didn't really care. Hell, he could try to stop R.I.P.L.E.Y. by poking its Facebook profile enough times to overheat the mainframe CPU and I wouldn't care.

This doesn't work, so one of the government agents tries shooting the computer with a gun. This is the most effective thing that has happened in the entire movie, as shooting a computer with bullets gives you a root prompt (just like in real life). They try to overload R.I.P.L.E.Y. by upping the prize money to $100 million and (presumably) making R.I.P.L.E.Y.'s boobs bigger. Millions of horny basement dwelling teenagers log on and attempt to play the game. Like every other plot thread in this movie, this also fails.





With time running out (I forgot to mention that. There's a big cliche countdown timer to when R.I.P.L.E.Y. decides to blow up Philadelphia or something), Will brings W.O.P.R. back to life and has it run war simulations against R.I.P.L.E.Y.S. simulations in order to show the computer that all war brings is mutually assured destruction. R.I.P.L.E.Y. sees the light and accepts Jesus Christ as lord and savior. Or something like that. If any of that sounds vaguely familiar, it's because that's the exact same ending from the first WarGames movie. Ah well, at least the movie's almost over. Some other stuff happens and everyone is pretty much happy to not be at the receiving end of a predator drone bomb. I guess I should have gotten some better screenshots of this movie, like maybe more of the characters, but it's not worth it to go back through it again and find good scenes.





Thank God it's all over. Seriously, MGM. How could you do this to me? I loved WarGames. I probably even go out and buy the DVD to replace my VHS version. Maybe I'll find a copy of Pirates of Silicon Valley to make me forget about all this


Posted by austin   ::   Permanent Link  



Friday July 25 2008

Web Services seem to be pretty hot right now. I took a class in SOA design and architecture this week and a good chunk of the class talked about web services as a way of doing network programming (much to the pain of the non-technical people in the classroom).

I interned for a company that did a lot of .NET web services and business workflow. I didn't understand any of it at the time, and being a Java guy in a room full of Microsoft .NET developers didn't help me out. After the internship ended, I tried to push the whole web services thing away but they just keep popping up.

I'd like to write a Java web services tutorial one day. There's some good ones already out there, but they seem to suffer from two things 1.) Java web service standards are constantly re-organizing themselves and changing names and techniques. The official Sun Web Service tutorial even references out of date stuff. Case in point: The library for support of web services used to be called JAX-RPC, but now it's JAX-WS. Probably 75% of the material on the net still refers to it as JAX-RPC. Sun's own web application container used to be called (generically enough) Sun System Application server, but now it's Project Glassfish. I think it's even been re-branded into Metro now, or some confusing naming scheme. 2.) There are many different ways of writing and deploying a Java web service. Here is one place where I think .NET has a serious advantage. You basically write your .NET code, put it behind an ASP.NET page, and then deploy your ASP.NET page as an endpoint on your IIS server. Java on the other hand, is not the same. It really depends on how you want to deploy your service. Glassfish is pretty easy because it lets you just drop the class file on the server and it handles everything else. Tomcat requires you to write some XML files to establish the end point. Then there's Apache Axis, which I haven't even tried out yet. Oh, and lots of stuff I've read mention using the built in JVM web server, which isn't a viable option in real life.

So until I write this amazing tutorial on Java Web Services and how they will change your life, I found some good ones I like and use.
Web Service Tutorial for Glassfish
Web Service Tutorial for Tomcat


Posted by austin   ::   Permanent Link  



Wednesday July 23 2008

I finally bit the bullet and bought a new PC. Something has to replace this old Windows 2000 machine I'm currently using (I am not kidding). I picked it up second hand when I was doing cyber defense exercises and needed a win2k box to try exploits on. After the Spring games, I discovered that the Windows 2000 machine had some better hardware than my (even older) Windows Server 2003 machine, so I swapped it out to use as my everyday computer. There is nothing about the previous story that isn't depressing.

But this new computer should be nasty. I opted for the Intel Core 2 Quad Q6600 processor. Although it's at the lower-end of the quad core spectrum, it should be noticeably better than my current Celeron. Also 2 gigs of RAM versus my current 256 megabytes. No OS, so I'm going to try out a few different versions of Linux that I never got the chance to play with (openSUSE and Gentoo were always on my list). Plus maybe some OpenSolaris and FreeBSD.


Posted by austin   ::   Permanent Link  



Thursday July 17 2008

I got a transfer to a new assignment at work. It's an unclassified one, so I can at least talk about it (although, I still have to respect proprietary information, so I can't say too much). It's really hard to describe anyway; even I don't know 100% what I'm getting into. Here's what I managed to get out of the orientation:

In the past 5 years, we've seen a huge movement on the Internet toward sharing information. Think about it. You can share videos with YouTube. You can share pictures with Flickr. You can share raw information on Wikipedia. You can share Google Maps with your web app mash up. You can share embarrassing drunken college moments on Facebook. In addition, it's all very inclusive sharing; anyone can contribute. This all makes up the Web 2.0 paradigm (yes it pains me to admit that Web 2.0 is an actual paradigm and not some marketing buzz speak).

So contrast this with the intelligence community that has had a long history of non-sharing. Basically each intelligence agency has a blob of information that it refuses to share with the other agencies. Even if one agency does decide to share it's precious intel, you certainly won't find out how they acquired that intelligence. And don't even think about tainting our database with your (perhaps bad) intelligence! No sharing!

And then September 11th happened.

Is it a stretch to say that the US Government knew about the attack before it happened? Probably. But they did know the bits and pieces about it. However those intel fragments are pretty much useless unless they can be assembled into the big picture; a daunting task if every three-lettered-agency in Washington doesn't want to share its fragments. Bottom line: an 18 year old college freshman can use Facebook to figure out complex social networks and make new connections without writing a single line of custom source code; she has outrageous access to data within her domain. The government agencies, on the other hand, are using Cold War era tactics and Web 1.0 (at best) mentality to fight the new adversary. Something is wrong here.

So that's kinda where I come in. I'm part of a young R&D group that's looking for ways to combine intelligence and produce real results. We've got access to some cool hardware and some fresh talent. That's really about all I can say. Oh, and we're hiring.


Posted by austin   ::   Permanent Link  



«« Earlier Entries