June 7, 2006

  • Girlfriend Coming!

    Woohoo! My girlfriend, Meghan, is coming to NYC to visit this thursday. I'm very excited about it, and trying to come up with a list of activities. This will be her first time in the big apple, and I want to make sure it is enjoyable for her. It is important to me that she likes NYC, because..well let me just say we've been dating for 6 years.

    If anyone knows of some wicked cool things to do, or sites to see, post it in my comments! We are definately going to go see a movie, spend time in central park, and go to Little Italy for some good touristy food.

    Just a little blurb on my experience at Xanga so far. It rocks! There is so much cool stuff going on here. It is such an exciting place to work with some of the nicest people I could have hoped for.

    -Adam

May 19, 2006

  • NYC

    It has been a while since I last posted, and a lot has happened over that time. I moved out to NY for my job at xanga, and have been looking in this crazy city for a place to live. Today, I finally closed on an apartment, so the stress of being homeless has come and gone. I'm excited to relax and get to know this city. The people I'm working with are great, and it is also nice to have some people here that are from the <scarcasm>GREAT</sarcasm> state of Michigan.

April 27, 2006

  • Graduation

    Graduating from college certainly is exciting. I am officially done with all of my classes, and all of my exams. Grades have come back, and it turns out I passed everything. Now comes a new phase in my life: work.

April 7, 2006

  • Happenings

    Boy, life sure has been busy for me lately. I have been totally packed
    with homework and projects lately that I have had no free time
    whatsoever. Heck, I barely found enough time to post this entry, but I
    need to give my mind a break, and rest on all the information I've been
    throwing at it lately.

    I pulled an all-nighter last night, and from the looks of my schedule
    today, I probably won't be able to get home to sleep till 11 p.m. This
    is the kind of action that keeps my life interesting though...never a
    dull moment. On a brighter note, the presentation I was supposed to
    give this morning has been rescheduled for Monday morning, so I'll have
    time to perfect it.

    I'm going to spend some time posting pictures in the new picture blog
    system. You xanga programmers are doing a great job getting new
    features out. I'm really impressed with the two latest additions to the
    xanga site, and can't wait to get involved in the whole process.
    Speaking of that, I've been talking with a broker, and am looking
    online at certain areas in New York. I've also booked my flight for the
    evening of the 26th of April, so it looks like everything is on
    schedule up to this point. My parents are coming out to see the city,
    and give their input on the apartment I choose, so it should be fun.
    It'll be nice to spend some time with them before I move.

    I have lots of programming happenings going on too, but I'll post about
    that when my head is more in that game. For now, I'm going to mess with
    this picture blog system. Till the next post...

    -Adam

March 23, 2006

  • School, Fun, and Programming

    Today in class I was thinking about how much I can't wait for graduation. Everything being taught to me is starting to feel like regurgitated penguin meat! I got a real sense of de ja vu today, and this isn't the first time it's happened. It really feels like I have learned everything this school has to offer to an undergraduate computer science major in the areas I've decided to learn. I'm starting to think I should have taken the independent study this semester instead. All I can do now is try not to let the boredom of this semester get to me and look forward to my job waiting in NYC.

    One way I've been fighting the boredom from this semester is by going out with friends. My bank account is telling me that I've been going out too much though. Last weekend was definitely fun. Saint Patty's Day was an absolute blast. I went with some friends to a favorite bar here in Ann Arbor called Ashley's. With songs blasting on the juke box, drinks all around, it was just a plain good time. I'll post a couple of pictures from the night when I get home from the lab here. I also went bowling on saturday with some friends. I did absolutely atrocious, but I can't complain because it was a great time. There was four of us, and the one who never bowls ended up beating us all.

    On to programming news. I've been doing a bit of study of the boost library for C++ (http://www.boost.org). They have a LOT of really cool pieces of code in there, and I would like to use them in a project. I'm about to start on a project for adding remote procedure calls to the SQLite library (http://www.sqlite.org). Basically, this will turn SQLite into a client-server database. I need to come up with a name for it though, so any ideas are welcome!

    I have decided to code the server in C++ and use the boost threading library. This will give me cross-platform threading, which would be a complete pain to code up being threads in the windows world are about a 180 turn from threads in the unix world. I also plan on using those super cool smart pointers in boost. These are, in my opinion, one of the coolest features to be included in the next C++ standard. Any semi-competent C++ programmer will use these things, virtually eliminating all possible memory leaks, and eliminating the overhead of a garbage collector. Used correctly, these things are fast.

    I'll also code a client library to issue calls to the database server. I'll most likely due this in C due to this being the code other projects will link to. I don't want to rule languages out by using something else; C seems to be that standard language everything else can call to.

    One last thing I'm trying to do is find an Apple Airport router, so if anyone has one lying around and is willing to help me out, tell me. I would like to add NAT PMP support into LibNAT for all those Apple crazies out there. It is a very simple protocol, and should not be hard to code into the library. It helps that I designed it to be modular so it will be easy to add such features.

    -Adam

March 22, 2006

  • AFS Space Down!

    I was working on profiling some code for a class, when my AFS space goes down. Now I'm in a pickle. The reports are due at midnight, and all my documents are on my AFS space. I'm looking at the computer, a linux machine, with all my documents open, but I can't do anything with them. I can't save them, open a web browser and email them, just look at them. One of them hasn't been saved, so I'm worried about losing it. Ahhh, the beauty of remote file systems. I'm posting this from my laptop because I'm bored in this lab waiting for the systems to come back up. Good Times!

    -Adam

March 13, 2006

  • LibNAT Release 0.1

    I have released LibNAT 0.1 on sourceforge. Here
    is a link to the project page. Now that I have something out there for
    people to mess with, I can get back to concentrating on school. I have
    a project due in one of my classes in a little over a week, so it's
    about time I get that going. We are making a text based adventure game,
    or as my professor likes to call it, a medieval simulation. Even though
    I find the end result unrewarding (I've never liked coding such trivial
    programs), it will be nice to finally use some object-oriented design
    patterns. One gripe I have about this university is its lack of
    teaching more of these design paradigms. I feel I've more than made up
    for their lack of teaching these things by doing my own personal
    projects, but it would be nice to study these ideas in more than just
    my spare time.

    The last project we did was an interesting concept though. The idea was
    to get accustom to as much of the STL and its built in algorithms as
    possible, so we had to use the STL extensively throughout the project.
    By extensive, I mean not having a single explicit loop in the entire
    program except for the main loop for retrieving input from the user.
    Everything else had to be an algorithm. This was actually to the point
    of the STL being annoying, but it really taught us the strengths and
    weaknesses of these STL features. Never again will I wonder about the
    mystery of functors, binders, and adapters!

    -Adam

March 7, 2006

  • Back to the grind of school! One of my professors thought it would be funny to make a project due at midnight this wednesday, the day before our midterm. I still fail to see the humor in it. I don't have any big projects due for a while after this week though, so I'm looking forward to this weekend, and hanging out with some friends here at school.

    LibNAT went well over break. I reached all my deadlines, and have a working version of the library. There are some very small memory issues I was not able to resolve because I ran out of time. I'll spend a day in front of valgrind hacking them out, and that will be the end of it. I'm looking forward to uploading it to sourceforge.

    There is one project that is already waiting for the code to be released, so I'm hoping to have everything wrapped up by this weekend. I have to put it on hold till after my midterm on thursday unfortunately. The project is called Aleph One, a remake of a game called Marathon 2 developed by Bungie, the creators of Halo. Here is a link to their site:

    http://marathon.sourceforge.net/

    As soon as LibNAT is released, I'll throw a post up here with some download links.

    -Adam

February 27, 2006

  • Happy Monday

    Usually I wouldn't be so excited about a monday, but I'm on vacation this week, so monday means I have a while before I have to go back to school! I finished the very basic HTTP functionality for LibNAT. It is able to perform simple Get and Post requests, which is pretty cool. It is always fun calling a few functions and retrieving the contents of web pages. One thing I didn't implement, though I'm debating whether I should, is chunked encoding. For the purposes of performing UPnP requests over HTTP, encoding will never be chunked, but most dynamic web pages are served under chunked encoding. It wouldn't take much more code, and I would have a pretty cool, very small, very basic HTTP client. For now I think I'll move on to coding the SSDP client functionality.

    The road map for the rest of this project is pretty straightforward. After the SSDP client is complete, I will tackle the actual UPnP protocol. The protocol itself is composed of very basic xml requests over HTTP, so it shouldn't be too much longer before I have a working library. To make matters even better, I spent most of the past summer pulling my hair out over non standard conforming routers, so I'm already familiar with exactly how I should be formatting the messages to make everybody happy.

    I've been mulling over how I should be parsing the XML requests. It wouldn't be very secure to do it with standard string functions, so I've decided to use the expat xml parser. This library will work great because it has been tested extensively over the past few years and it is licensed under the MIT license, which won't limit the library to be used by a variety of other applications, proprietary or open source.

February 25, 2006

  • Daily LibNAT Update

    I'm in the process of working on a simple HTTP and SSDP client for the purposes of UPnP today. Should be pretty easy and straight-forward. Parsing messages off sockets always poses a security threat though, so I have my trusty security book by my side to make sure I'm not introducing any threats into code that will use my library. Anyone want to volunteer to do some code evaluation on what I write?

    -Adam