Apr 14 2009

Just a Tad Busy

Not that it wasn’t expected.

So this is my fourth week with IMD.  I’ve had my hands on all kinds of things, from the build system to an array of tools and systems.  I’ve written some integration testing scripts, learned all kinds of linux tricks, read a lot of information, sat through a few classes, messed around with some broken C++ and Python code, fixed some Python code, watched pieces of the movie, and… The list goes on and on.  They’ve kept me relatively busy.

The clips that I’ve seen look phenomenal.  But I guess I hold a bias now?  Bleh. It’s sweet.

Working from 8:30 A.M to 6:30 P.M sure doesn’t give me a lot of time to tinker with any hobby projects. I normally crash out at 10:00 P.M, so I’m sure I could wake up 5:30 or so to work on something.

This past weekend I put PyQt on my system and began writing a pathfinding application.   That happens to be a weakness at the moment that I need to tackle (PyQt).  Hopefully I can get some work done on it and post my results/source.

I also spent some time brushing up on some linear algebra.  In college I only took Calculus and another math class that gave me a slight introduction to linear algebra.  If I have any hope to get over to help the R&D side of IMD, this is a critical element.  Luckily I work with a bunch of geeks now, so I can’t imagine that one of them wouldn’t like to share some knowledge.

I’ve been wanting to watch some of MIT’s opencourseware videos since last year, but things were understandably busy.  Now I actually have weekends and nights to focus on these things.

This also brings up another point of interest… I’ve been thinking about what university I could possibly attend for my masters degree and what kind of topic I would like to research here in NorCal.  Both are at a stand-still.  I just don’t know.  Berkeley would be sexy but I doubt that I have a chance there.

But that brings up another issue that I’m still debating.  Do I want to go the MSE route or MS route?  My mind is all around a MS.  I have a year until I gain my California residency, so I have some time.  Hopefully I can spend some time exposing myself to some of the 3D technology.  I’m sure there are a ton of problems revolving graphics.  This school dilemma could be a post in itself.


Feb 12 2009

I’m going to miss Manhattan

I was just poking around on the athletics website and noticed that we brought in our 13th university president.  Our prior president, John Wefald, spent 23 years in his position, which is the second longest KSU presidency tenure.  The first spent 25 years there as president.

Anyway, it just got me thinking about missing that place.  For being at the top of my game as a Marine, I was released from active duty 3 months early to attend Kansas State University.   When I got to the campus, I immediately had a rush of excitement which I don’t typically get very often.  I was eager to learn and to accomplish a feat that I had my eye on for a long, long time.

The time ended up flying incredibly fast.  I’m still eager to learn, and I’m definitely not done with the university scene.

I think I would attribute the passion for education from having a really bad educational upbringing, surprisingly.  It was not something stressed in my household due to how much my mom had to work just to support myself and my brother/sister.  A lot of what I did back then was all on self-initiative, which wasn’t very high.  Kid’s need guidence in school or it’s only a matter of time before they fall back.  Sure enough, I fell back.  I struggled finding a purpose of everything because I didn’t have anybody to turn to.  Nobody in my family finished high school.

That’s just a glimpse of my struggle coming up in the educational bracket.

My next goal is to get into USC’s Masters program. It’s a very, very high bar, but I feel like I can do it.  Why USC?  It’s one of the best universities and I like their specialization options.

Eventually, I would like to return to Manhattan to teach.  This is far later in life when I have years of experience to bring to the table.  I spent time in the Marines teaching and trying to help/mentor younger Marines.  There is just something about teaching that I enjoy.  And if I could teach anywhere, Manhattan would definitely be the place. The place has an outstanding atmosphere and extremely friendly people.

I wonder how much of that is going to change in ~20 years?

I wonder how I will feel in ~20 years?

I guess that’s why I blog and backup my database. Time will tell.


Dec 13 2008

Conquer Your Goals, and Never Give Up – Graduation 2008

Things in life require unrelenting dedication and drive.  Things test each and every one of us in a unique way that makes us all stand out from the crowd.  We each have our own story to tell.  The key to everything we do in life is how we decide to utilize our mind to push us to the next level, and not letting those who tell you that it can’t be done, win.  If you stay true to yourself and push through the obstacles the rewards are endless.  You know you’ve done well and those around you see it.

Today, I will graduate with a Bachelors of Science in Information Systems! Many have said I couldn’t do it, but giving in isn’t in my bloodline. I’ve pushed through the difficult moments, and I feel that I’ve done myself well. I am the first in my family to graduate from college and hopefully not the last.

Graduation 2008


Dec 11 2008

Senior Project(s) Win! Graduation Saturday.

We had our final presentation yesterday and ended up impressing the professor.   He awarded us extra credit (rare) for our effort and the success of the project.  I’m incredibly happy and proud of the other guys for their commitment.  It has to be one of the best team-work experiences that I’ve dealt with while I’ve been here at Kansas State.  Each of us averaged 70 hours of work, ranging from design, implementation, and testing and close to 400 LOC delivered from each of us.  I came in at 75 hours and 487 LOC.

Good stuff.

I still have more time to work on my next project, so this none of this is final.  But I thought I’d share.

I have one more presentation on Monday which is for my game programming class.  I’ll be presenting my map toolset that is based on the relatively new .NET 3.5.  This project has been very interesting.  While I’m not where I thought I would be (bzzt. shock), I’ve got the pipeline in and functioning on an event-driven basis.  I wanted to implement a plug-in that actually adds something to the toolset, but I just don’t have the time to do something extensive.  So I have plug-ins that actually show off the architecture.

A user can open a window which loads all of the discovered plug-ins into a list.  From there, the user can click on the plug-in to find out a little more detail.   The user can choose to activate the plug-in, which will give the user a visual indication that it’s good to go.

So, for now, this activates a plug-in for the tileset domain. You can divide your application up into different domains, so you can focus your plug-ins, and sandboxing.  An event handler is set for this plug-in, and simply gets what tile was selected, and returns it.  I could be doing work on the other side, and returning the work.

Another feature that I implemented is an XML validator.  I’ve created an XSD (schema), and when an XML map is loaded, I check it against the schema.  If it fails, I produce an error for the user so they can fix it.

 And some other functionality that I have working is zooming, moving around the map (wasd, arrows), drawing tiles.

 

Inspiration for this editor came from several places (Thanks a lot!): XnaFantasy, XNA RPG Development, RPG Maker

Clearly, my core belief is extensibility (and to learn: xna, xsd, plug-in architecture), not just to make “another” editor.  Software needs to adapt, and it shouldn’t be solely on the main developers shoulders.  If I can provide a toolset that other developers can expand, that is much more powerful. It’s a challenge that I’m willing to at least try to accommodate.

But for now, I’d say I’m definitely testing the waters.  A lot of this is still confusing due to the complexity of how to handle all of the elements.


Dec 10 2008

A short story… “The Midnight Dilemma”

Which could be a much larger story, but I’ll stop where it’s at.  If you like short stories, this comes in just over 4,000 words.  I like action, so it should be easy to read due to keeping you busy.

Download “The Midnight Dilemma” (*.pdf)

Download “The Midnight Dilemma” (*.docx)

The reader follows Ethaneal as he faces a situation with equally undesirable alternatives. Eradaan has just unleashed a deadly bow which is cursed and given to Ethaneal. Ethaneal doesn’t know and finds himself to blame for something he had little control over. Set to redeem himself, he is faced with the choice of saving a life to give a life. Read as you follow these elves through their journey to bring to light the true face to this crisis.


Nov 25 2008

Lynx 6 Robotic Arm Senior Project

The team that I am on is kicking some major ass with this particular project.  I thought I’d share some progress.

The red ring on the can denotes that it is the top end of the can. Taking multiple shots of the field-of-view was beyond the requirements of this particular project. Since our team was the first to mess with this robotic arm, we didn’t have any prior code base to work from.

This first video is our simple case. Simple in that we don’t need to do any manipulation to set the can upright.

Here, the top of the can is facing the arm. Since the arm can only rotate it’s gripper 180 degrees, it needs to do an initial move so that it can proceed with setting the can upright.

I really wish I had more time to devote to this project, but I have so many other things that need my time. I’m not happy with the vision processing. I’m happy that it works, but I want it to be faster. While there are a few ways, I don’t have the time to devote to implementing a new strategy. We finished up the C0 testing today, and have a few more things to do before our final presentation. Oh, and we get to give another presentation on Test Driven Development. :) They have me to thank for that one, but I’m sure they’ll like it.

Note: In respect to the other members on my team,  I will not pass over the source code to this project or release it as open source.  There are code samples on the companies website that you will find helpful.


Oct 22 2008

Computer Vision Project

Computer Vision

Another project that I am working on is a computer vision problem for my software engineering class. Our goal is to use a robotic arm to find and pick up a fallen soda can to set it upright.

My position on the project is dealing with the computer vision.  I’ve basically written all of the code for this rather large piece of the puzzle making good use of Intel’s OpenCV library.  This library helps to connect to the webcam, capture a frame, conduct an edge detection algorithm, and to draw some pretty circles for me.

As far as the algorithm for detecting the corners, it’s rather expensive.  It’s close to o(n²) 4 times, but it doesn’t really search the entire image. For each corner, I move in on the object. A picture would do better justice.  Imagine each line moving along the image until it gets to the object.  So the top left scans right, and moves down.  The top right scans down, moving left…

Scanline Algo

It gets the job done for this project, but I can’t quite figure out how I could improve it (not that I’ve had a lot of time to think about it).  The arm of the bot needs the center point of the object  (x,y) and the angle of the object. The angle is computed with point B and the line intersection.

The project isn’t done.  The next big step is figuring out what side of the can is the TOP.  But I’m ahead of the curve and thought I’d share what I’ve been doing.


Sep 3 2008

The Semester Notes

Aside from the money issues i’ve been having due to some financial aid not hitting my account, things are rolling along well.

In one of my classes I have the requirement of building either a game prototype, engine, tool, or building a thorough design document for the final project.  I’m leaning toward building a tool suite of some sort, but I’m having a mental block on what sort of tools are needed for game development — beyond the obvious, a 2D/3D map editor.

If you have some ideas of tools are needed for game development, feel free to reply so I can debate on if I should pursue it.

Besides this class, I have another CIS course that is dishing out a pretty serious test tomorrow.  It’s not a good feeling when your instructors are even confused by the material that they are reviewing. We’ll have to see how it goes.

My creative writing class is going really well.  Learning about all kinds of things and the professor is doing a pretty good job so far.  I need to write 2 stories for this class, which I’ve already done.  They are a bit long, so I’ll either need to consider cutting them down or writing something completely different.


Aug 26 2008

New Semester. CSSBuilder V.1.Console Release

We started up a new semester, and my final, here at Kansas State University.  I love this school. Awesome atmosphere, people, faculty.  It’s hard to believe I’m nearly done.

My final semester.

  • Creative Writing: Fiction
  • Independent Project
  • Game Programming Project
  • Software Engineering Project

I debated on if I should stick with the game programming project, or to take a course in internet security.  Or even just adding it to my schedule.  But I decided to wait until graduate school.

And, finally, here is the CSS Builder.

Download Version 1 with Source

View a compiled output file

I included the source in the case you wanted to modify something. And you can view an example of what the output will look like. You can flag whether or not the header shows, or any of the comments. Some day I’ll wrap this thing up with a GUI, but until then I just wanted to get it out for those that wanted it.

Steps:

  • Put the CSS files you want to merge inside the \DATA folder.
  • EDIT project.csb
    • If you don’t want the header: set ‘headercomment’ to false
    • If you don’t want file comments: set ‘filecomments’ to false
    • Edit ‘buildfile’ if you want the output file somewhere else other than the default data folder
    • For each file, add the path and description
  • Run Builder.exe, or set your development environment, to run with the parameter of the project file
    • Example: c:\builder.exe project.csb

Aug 24 2008

Tuition Paid!

I just noticed I ended up getting a scholorship, again, for the 2008 school year.  One word… Awesome. This will help tremendously.