Showing posts with label UNM. Show all posts
Showing posts with label UNM. Show all posts

Friday, May 9, 2014

Russian Extra Credit - THE BLINDING LIGHT OF HISTORY

My past few posts have been in Russian, or about Russian things. As people close to me know, I have been studying Russian for about five years. Presently, I'm finishing up a class at UNM called "Russian 202" which is a second year, second semester, Russian course. I'm conversational, but definitely not fluent. I prefer to turn in assignments on my blog, which makes to polish them to a point where they are more than disposable artifacts of some academic discipline, but rather a way to communicate with people that care about me what I'm up to in my life.

This can be difficult when those people don't speak Russian. So here's one in English!

For an extra credit in my Russian class, our professor said we could check out "THE BLINDING LIGHT OF HISTORY" which is a collection of Russian paintings and drawings at UNM. I decided to check it out, and write a quick blog post about it for extra credit.

In order to see the exhibit, I needed to take an elevator from the lobby of the art museum inside Pope Joy Hall up to the second floor. As soon as I got out of the elevator, I saw the mad Russian monk, greeting me.

Rasputin. I read a biography about him, and I'm pretty certain this guy had supernatural powers. He also had Charles Manson eyes.



I also liked this one. It reminds me of Salvador Dali, my favorite painter after my sister.



I liked this one, since the camping guys remind me of my (Russian) ex-girlfriend's dad. He always likes to chill out by a fire. I see him maybe every six months, and half the time there is a fire burning outside, and all the time there is so much good food and good alcohol.

These were the three paintings I liked. Many of the other paintings seemed kind of depressing, which may have been the intention the (Soviet) artists were going for. Overall, I'm glad I quickly checked out the exhibit. I'm sort of culturally retarded, and culturally insensitive, and this kind of stuff is good for me to do every once in a while to try and grow.

Monday, November 19, 2012

Short Term Kitchen Rental


Today a woman called me about renting my kitchen from 11:00 a.m. - 4:00 p.m. on Saturday. Her number was from the 732 area code. My buddy Efrain and I have been working towards putting my apartment up as a short term vacation rental, but we never discussed posting the advertisement yet. Additionally, I just woke up when she called.

The entire discussion was extremely confusing, but I was pretty sure I sold her on the rental concept by combining jokes and pleasant descriptions about my place. This is interesting, since I did not even know I should/could/am rent(ing) out my kitchen and place for five hour blocks. While we were discussing how far away my apartment is from "the university" she mentioned that she did some graduate work in an obscure humanities department. This, combined with her eastern seaboard accent and out of state phone number, prompted me to ask "Just to make sure, since I am somewhat confused by this entire conversation, that you are interested in renting my place in Albuquerque, New Mexico, on Princeton street?" She laughed, and said "No, I'm interested in renting someplace close by Princeton University." That sort of ended our discussion, but she did mention "But I'm coming to Albuquerque later this year, and your place sounds great! I'll rent it when I'm in town then."

She got my information by Google'ing "Princeton Kitchen Rental" and watching my YouTube video describing the kitchen in one of my rental units. This comes up on page two of the Google results for that phrase. I posted this video on June 13, 2009 and included my phone number in the video description.

Everything is in order to put my apartment up for short term rentals. I was waiting on two things, and both of those have been addressed. The first thing I was waiting on was the jets on my hot tub were messed up. My hot tub has since been repaired. The second is that I was concerned that my home owners insurance policy would not cover short term rentals, and (after confirming, in writing) my insurance will cover them. My buddy Efrain is ready to go on helping with the labor for a portion of the profits. An interior decorator minded medical doctor named Maggie gave me some suggestions on quick improvements to make (especially with regard to my bathroom) and I'm going to quickly address the easiest / biggest of her suggestions.

Coming soon: short term vacation rentals by Brian, on Princeton STREET (not Princeton, N.J.) in Albuquerque, New Mexico, U.S.A.

Saturday, June 19, 2010

AI For Video Games - Final Project

It has been almost two years since I took my "Artificial Intelligence for Video Games" course, but the topic still comes up quite frequently. I find myself using my blog as a resource for when I am talking with people about different concepts and programs. As a result of this, I decided to include a post where I actually show what the final game came out to be like.

I realize this kind of messes up my blog's layout. Since I am mostly interested in showing people the game, as opposed to my layout, I'm OK with this.





Click here for a full screen version.


It's been a while since I worked on my sheep herding game, and Jon Bradley is responsible for the code as much as I am (entirely for the sheep behavior). Please leave me a comment if you would like to talk about this.

Saturday, November 15, 2008

AI for Video Games Project Update

Today I spent about 5 hours at Starbucks working on getting the dog I jacked from this dude to follow a path in ActionScript. Right now, I solved the problem related to applying the points on the incorrect place and getting the dog to follow the points on the path. I still want to clear the path after the dog has finished following it, make the sheep run away from the dog and work on the dog's animation a bit. I think once I get the sheep running from the dog and the path cleared though, I am going to setup SVN and work on the splash screen and some other non-AI components of the game. My partner Jon has done an awesome job creating the AI framework, and we agreed to have him do a bit more AI and I would focus on the other structural points of the game. Our professors wanted to make sure all group members did AI related stuff, so path following seemed like a good place for me to work.





Click here for a full screen version.


Code is available here in case you want to see how I did path following in ActionScript. If you have any questions / suggestions, let me know. I see that a lot of people have been searching for algorithms and data structures related to ActionScript, but I never receive any feedback from you guys. Leave me a comment if this is useful.

Monday, November 10, 2008

AI for Video Games Final Project

For my final project, Jon Bradley and I decided to work together on a video game he has an idea for. The game is all about herding sheep. So far, Jon has done a huge amount of work. Today I made some progress on implementing path following in the ActionScript framework Jon developed. I still need to make something actually follow the path, as well as figure out why my path adding is getting messed up with regards to clicking on a sheep or the shepherd whenever you are trying to add a path.

Anyways, here is a sample of what we have coming. I'm going to hold off on posting any code until the assignment has been turned in. My path algorithm is the same one that Bill Klein implemented in Processing, which is probably the same one from "Artificial Intelligence for Computer Games" by Ian Millington.





Click here for a full screen version.


Number one is getting the points to be correctly placed when you click on the shepherd or sheep. After that, comes getting something that looks like a dog to following the path, then setting up SVN so we don't have to email our code back and forth. After that, I am going to work on an intro screen, a level loader, a sound track (hopefully just finding one) and the other animation sequences, probably in that order. Jon has already finished the brunt of the AI, I he's going to add some obstacles, make a pen for the sheep to go into, add a little bit of state information and make it so flocks can be broken up. As long as I can get my pieces done, there isn't a ton more to do, since Jon has been working so hard!!

Sunday, November 9, 2008

Finished A* Finally

Hello,

I finally implemented an OK heuristic (Manhattan distance / Taxicab geometry from the current node to the end node). Everything looks the same, but the code is a bit different.

My full implementation of A* in ActionScript is available here.

Wednesday, November 5, 2008

A* for ActionScript, with an incomplete heuristic function

I have finished my (first completely working) implementation of A* for ActionScript. However, the heuristic function is a constant function and thus not implemented, so 'A*' is just breadth first search. Technically, I believe it is correct to still call it A*, but I'm not certain since I'm not keeping track of my path cost, and my heuristic is more of an artful description of something that always returns the same value but has not been implemented... I suppose I am feeling a bit discouraged since the assignment is due tomorrow at 5 p.m. and it is 3:21 a.m. and I still have a bit to do in order to make it perfect. However, I think choosing which path to recurse down first based on a heuristic shouldn't be too big of an addition now that everything else is working well.

I feel very happy that I choose to implement this in ActionScript. I like being able to share my programs with people online and notice the Google search terms that bring others to my site. I gain satisfaction when I see that someone from China, Spain, or some other distant place, spent 20 minutes reading about some technical issue on my site.



Press space bar to switch between blocking off nodes, selecting a start position and selecting an ending position.

Click HERE to view this in it's own web page.


My sister would be proud of my photoshopping skills on the waving hand. I also have to give a shout-out to Michael Baczynski for the cool data structures library (I didn't have to write my own FIFO thanks to him.)

As always, my complete source code is available. Please don't hesitate to contact me if you have any questions. I plan on making it more of an actual A* implementation, and if time permitting, possible using Michael Baczynski's graph data structure and implementing A* in his (very well designed) framework. I did not plan on doing that from the beginning, even though I'm sure it would have saved me time, since I did not see him code until after I already made my own graph, and adjacency list, management routines.

Thanks for Laurie Phillips for finding a bug in my code.

Monday, November 3, 2008

A* for ActionScript

For my class titled "Artificial Intelligence for Video Games" I have been working on an implementation of the algorithm A* in ActionScript. I've been pretty happy that the professors allow us to use ActionScript, instead of Processing, because it makes sharing my work on the Internet much easier. In addition, I think having substantial ActionScript skills is a marketable quality, as opposed to skills in the programming language "Processing." Hopefully I also will develop skills in artificial intelligence, to transcend any of the language-specific focuses I may have in mind.

As of this post, I have no actually implemented A* in ActionScript. What I have done is to implement a mechanism to draw and manipulate a relatively straighforward graph. This graph has the edges layed out in a regular, rectangular, pattern.

Here is a SWF of what I have so far:





Click to block/unblock a node, and press space bar to alternate between different modes of selecting a node. Eventually, the blue square will be for the starting position, and the green square will be for the ending position. Once I finish implementing A*, the path between start and end will be drawn in red squares.

Most likely if you are reading about my implementation of A* in ActionScript, you are interested in seeing my code. At this point, the most interesting thing will be how I keep track of adjacency lists for each node.

I will make another post when I finish everything, but I like making things available as I work so I can view my own progress. Here is a .zip of all the files for my project so far. I ask that if you use them, please somewhere link to my blog and email me so I can get some satisfaction.

Friday, October 3, 2008

Ceramic Tile Update

For the past few months, I have been slowly working on ceramic tile at the UNM craft studio. I try and make it in for a few hours (2-5) a week but lately I have been so busy with everything it's been tough. One of the goals I made for myself at my birthday was to learn how to make ceramic tile.

First I grabbed a lump of clay from the "pug" clay. This is a giant, clean, garbage can filled up with mixed together and processed clay left over from other projects. The clay is still totally malleable, since it hasn't been bisque (first) fired. I use pug clay because I don't know enough about ceramics to be able to tell what kind of properties in the different clays (red, brown, white, porcelain..?) I am looking for yet. The pug machine is pretty cool, imagine a carrot juicer that takes a clay mixture, takes out just enough water, mixes it, and squirts out recycled clay ready for use. I think it's great that we can just throw our unfired pieces into water and they will be turned back into usable clay so easily. The process makes you totally fine if you mess up and have to start again, since nothing was wasted.

After kneading the clay a bit, the next step is to roll it out with giant rollers that have height adjusters on each side. For me, 3/8 of an inch thick works well. After they are bisque fired, they shrink down a bit to maybe 1/4 of an inch thick. I then sliced the tile to the dimensions I wanted (mainly 4 inches x 4 inches, with a couple 6x6 and bigger) and let it dry until leather hard. Not bone hard, as I learned and the director Zane mentioned. After it hardened, I trimmed it up with a straight edge tool to make the tiles more uniform. Then bisque firing, glazing and glaze firing. For the firing, we put our work on shelves for Zane (the director) or Randy (the ceramics technician) to load and unload the kilns. It's really easy to tell which shelves to use, and everyone is nice about telling you if you have something on the incorrect shelf.

These tiles will go on top of a decorative stainless steel table my parents gave to me. The glass on top of the table cracked with a much too heavy (and under supported) fish tank many years ago, and I finally threw away the cracked glass. My plan is to cut a piece of tile board to fit into where the glass used to go, and then either mortar or mastic the tile to the tile board after I read up on tiling and determine the proper adhesive. Choosing a great grout to complement the colors will be important as well.



I am very proud of how this last batch came out.



I realize that now I love New Mexico.

The Zia symbols will go on the corners of the table, with the same size tiles proving a border between Zias. Inside that outline, I plan on arranging other sized square tiles in some sort of interesting geometric pattern. I may create some triangle tiles to make it look cool. I need to either buy and cut the tile board, or draw out the outline on my plastic table or a big piece of paper. If these tiles don't get laid out exactly how they need to go, there will be a surplus of some sizes and a shortage of the other sizes needed to fill in gaps. I have a lot of fun going into the craft studio, working on this project and talking with friendly people from much different backgrounds.

When I dipped the tiles in "blue purple" glaze, let them dry for 15 minutes, dipped them again in blue purple, let them dry at least a day, then dipped them in "clear bright" they came out great. Whenever I brushed on any of the glaze, they didn't look quite so hot. Between my father and myself, we will be able to find an interesting place for the tile seconds.

There are enough tiles in terms of square feet, but I really need to make sure the dimensions are correct. More posts will be coming soon as the project progresses!

Wednesday, September 17, 2008

Artificial Intelligence for Video Games - Assignment 1

This semester I am taking a course titled "Artificial Intelligence for Video Games" for my masters degree here at UNM. Our first assignment is to implement seek, flee and arrive in a programming language called "Processing" (basically Java). For this assignment, I started off with simple geometric shapes, but after finishing a few days early I decided to try and make something a little more funny.

What would be an interesting scene involving one object chasing another? One of the first things that came to my mind would be Michael Jackson chasing a child. Hopefully everyone finds this humorous and not in (too) bad taste.

Click this image to view the video in Flash



Click here for the movie in .AVI.
For you Mac fans, I've got it here in .MOV.

If anyone has experience with Processing/Java, I was having some trouble getting the sounds to work. I thought it would be funny to have a sound when Michael "catches" the boy, and possibly when the program starts. I also have a few ideas for future expansion of this concept, but I want to keep things a surprise until I see future assignments. One thing I REALLY want to do is to implement this stuff in ActionScript instead of Processing. I'm not sure if my professors will be OK with that and for this assignment I didn't have the time to write two versions.

This is a video of my "arrive" code - thanks youtube for the hosting


Shout outs go to my sister Autumn for doing the photoshop on Michael and the boy, Jeremy Pepper for general support and Oleg Semenov for help talking about the geometry I was messing up.

I'll post the code after I turn in the assignment tomorrow. If you want it, and I forget to upload it, please leave me a comment.

Sunday, September 7, 2008

Oleg in Church

After seeing the true life documentary "Borat - Cultural Learnings of America for Make Benefit Glorious Nation of Kazakhstan" and the truly inspirational scene in which Borat learns about Protestant Christianity, I decided to bring my favorite Kazakh friend to church with me.


I'm really happy with the way the stained glass illuminated Oleg, especially from my cell phone camera.

Tuesday, September 2, 2008

Programming Languages - Lecture Three

During this lecture, we continued our discussion of the Haskell language. Some of the things we covered were types, curried functions and overloaded functions.

Click the above image for an embedded Flash version of the movie.

Or, if you prefer, download the movies in Quicktime or .AVI.

Thursday, August 28, 2008

Programming Languages - Lecture Two

This lecture really covered some fundamental material about Haskell, and functional languages in general. Dr. Stefanovic covered a number of currently available functions in Haskell and ways to build our own functions. We also were introduced to the Hugs 98 environment for writing our programs.

The videos are available for download in quicktime, and .avi.


Click the image for a Flash Version

Tuesday, August 26, 2008

Programming Languages - Lecture One

My adviser, Dr. Darko Stefanovic, is teaching a course I am enrolled in. The course is titled "Introduction to Advanced Topics in Programming Languages" and will cover the language Haskell. Dr. Stefanovic asked me to film the course, since I have experience with recording lectures, and make it available online.

Click the image to view the video in Flash. I also have the videos available for download in quicktime, and .avi.


Sunday, June 1, 2008

My Girlfriend Kate is going to be a pharmacist

My girlfriend Kate was just accepted into pharmacy school! She has been working very hard towards this goal since I met her two years ago, and she achieved it on her first try. Everyone is very proud of her, but not terribly surprised she made it.

I have been thinking about her tons today, and wanted to post some images of her.


Taken January 27, 2007 8:58 p.m.


Black and White by my Friend Chad Peyton


Another Peyton Classic


This was one we submitted to the movie we were in. After seeing this, the movie people wanted us to be in a make out scene together.

I love my girlfriend a lot!

Saturday, May 10, 2008

Kate's final project for non verbal communication

My girlfriend has been taking an 8-week, Saturday, course on non-verbal communication. For her final project, she presented material on non verbal communication going on at the UNM duck pond. She was responsible for the presentation, while other members of her group focused on a written report. She created two cool looking poster boards and some snazzy name tags for her presentation.


Kate's Boards


Name Tags

It sounds like her presentation went really well!

Thursday, April 24, 2008

Oleg + Brian Strength Training

For about two months, my friend Oleg Semanov and I have been lifting weights at the gym. We bring his PDA to record the weights that we lift, in order to keep track of our improvement and our goals. We both have been improving, but Oleg has improved on sit-ups extremely fast. He went from completing 3 sets of 25 sit-ups on the ground to 3 sets of 25 on a major incline. Next time we do sit-ups, we are going to move him up another bar. This will bring him to about a 40 degree incline.

Currently, Oleg and I are tied on leg press and calf extensions. This is another area that Oleg improved on very quickly. When we started, I was at 4 weights @ 45 lbs (20.411 kg) each + the bar at 45 lbs. I think the bar weighs 45, so this totals to 5 x 45 = 225 lbs (102 kg) and Oleg was at 3 x 45 = 135 lbs (61 kg). Now, we both are at 6 x 45 + bar = 7 * 45 = 315 lbs (142 kg). That's a 232 % gain for Oleg and a 139% gain for me.



Oleg doing Sit-Ups so fast he is blurry


On the way down...


and the way up
Lately, I've been consciously trying to stay positive in a lot of different ways. If I feel discouraged with my ray tracer, or something else, I try and play handball with a friend, go to the gym, or a yoga class, or read something inspirational and then work hard at whatever has been bothering me. Maintaining a positive outlook is something I need to focus on, and improve on, but things like this always help me smile. The University of New Mexico ALWAYS has interesting characters sitting on the border between UNM-land and Central Avenue.


Fashion Conscious Protester




I believe he is equating President Bush with the Anti-Christ. Unfortunately, I did not have time to ask him the specifics of his political platform.

Sunday, April 13, 2008

Kate Walking Her Dog at the UNM Duck Pond

Today my girlfriend Kate decided to take her families dog for a walk at the UNM duck pond. She sent me two photos of the duck pond from here camera phone. I was surprised by how nice the photos turned out.







Other than a massive amount of ray tracing and going to church, my cousin and I created a temporary burrito factory in my apartment to make 20 burritos for the upcoming week. I don't think I'll start selling burritos on the corner of Central & Stanford, but if the whole computer science thing doesn't work out it's always an option. I'll probably hit the UNM gym for about an hour, do some molecular visualization / ActionScript research and then go to sleep. That doesn't sound too bad for a Sunday.