« May 2007 | Main | July 2007 »

June 30, 2007

Woot, Go Yuki Concert

Had a Go Yuki concert tonight. They where missing their bassist, but the show must go on. Even without one, they sounded great.

Here is a picture from the event:

Posted by binhqx at 9:12 PM | Comments (0) | TrackBack

June 28, 2007

AT&T messes up everything.

For some reason AT&T has decided that they can arbitrarily shutdown the T1 servicing our office. I do not really care that the office has no internet. I do care that I had to work all night to jury rig the phone services to make sure that the customers would have phones in the morning if the T1 did not come up aging.

To compound matters, when this happed, I was hang out with a friend from high school that i have not seen in seven years.

mood: downtrodden

Posted by binhqx at 11:44 PM | Comments (1) | TrackBack

June 27, 2007

Won my darts game

Today my darts team won their mach against the other team. I helped by winning my one on one match.


It is still too hot out to think.

Posted by binhqx at 10:39 PM | Comments (0) | TrackBack

June 26, 2007

It is HOT out

IT is really hot out today. It must have been over 90°F around noon time. I am going out to find someplace air conditioned till the sun goes down.

Posted by binhqx at 4:14 PM | Comments (0) | TrackBack

June 25, 2007

Quote: D. T. Suzuki

Not to be bound by rules, but to be creating one's own rules--this is the kind of life which Zen is trying to have us live." - D. T. Suzuki

Posted by binhqx at 1:23 AM | Comments (0) | TrackBack

June 24, 2007

CSI: Bissel

These week's Living Greyhawk game was fantastic. The scenario was a mysterious death of a high ranking nobel. The family of the deceased calmed the death was natural and refused to let the authorities investigate.

After being deputized by a local law official, my party aided in the investigation. This lead to a three way "who done it" with some of the most powerful families in the region.

The party did a fantastic job collecting clues and interrogating suspects. In the end we think we fingered the right person. I am not going to give away who it was.

Posted by binhqx at 1:48 PM | Comments (1) | TrackBack

June 23, 2007

Out drinking on a Saturday night

I took Matt out drinking tonight. He is not very good at it. He tends to drink too much to early and gets too drunk.

My other friends are better are drinking. They drink in moderation over a longer period of time. That works out a lot better.

In the end, I know when I take Matt out to the bar, I will definitely be the one walking him home.

Posted by binhqx at 9:44 PM | Comments (1) | TrackBack

June 22, 2007

Resident Evil 4: Wii Addition

We just got our hands on the remake of Resident Evil 4 for the Nintendo Wii. I found the new control system to work really well. Aiming using the Wii remote alows the player to shoot with a astounding accuracy. At lest compared to aiming using the analog stick of a game controller.

The graphics are pretty much the same as the game cube version.Still, over all it took better then most Wii games.

I have yet to see the new content added to the Wii addition that came from the PS 2 version. I will need to play through those. I hear that it reveals more about the story of what happened to Umbrella Corp after the Raccoon City incident.

Posted by binhqx at 5:34 PM | Comments (0) | TrackBack

June 21, 2007

Problems with Subversion with Xcode build directories and OS X apps

One of the few problems I have found with using Subversion under OS X has to do with automatic deleting and creating of folders. Subversion works by putting a invisible .svn file into all the directories that Subversion is managing. These files are created when the directory is added it imported into the repository. If the .svn file is deleted, Subversion will not have the information it needs to manage the contents of that directory. This will throw all kinds of errors when one goes to check in the code containing the rouge folder.

Unintentional deletion of .svn files can happen very easily if Xcode's build directories are inside the code repository. When Xcode rebuilds a project, it deletes the old build directories and creates new ones. OS X applications are in fact directories. When a new app is compiled, the old one must be deleted. This causes any .svn files in those directories to be deleted.

The easiest solution would be to not have the build or app directories in the repository. But I like having my entire development environment stored in the repository so I can move it from computer to computer.

So I have found that I can tell Subversion to ignore some directories that I know will be deleted each time I do a re-compile. this can be done by adding a 'svn:ignore' property to the directory you want subversion to ignore.

For example, I want subversion to ignore the build directory in my Xcode project directory. This can be done by going to the project directory in terminal and running:

svn propset svn:ignore build .

This tells subversion to set the property 'svn:ignore' on the directory called 'build' in my current directory (as indicated by the period). I can do the same for the directory where Xcode puts the finished compiled project.

One other item that may need to be taken care of before subversion will work is the ignored directories must empty in the repository.

Posted by binhqx at 4:01 PM | Comments (0) | TrackBack

June 20, 2007

Version Control with Subversion

So I have just started to get into multi-developer projects and the problems of concurrent version control. These happen when another developer and I make changes to the same file. When that happens, him or myself have to manually compare the changes to the file and make a final version. This is not a problem with one or two files, but once the project gets large, keeping track of these changes will become a nightmare.

That is where version control software comes in handy. It will automatically seek out modifications made to files and prompt the developer for any version merging that need to occur.

Additionally, it will allow a developer to rollback to a previous version of the code if undesirable changes are made.

Right now, everyone says that Subversion is the best solution. I have started playing with the client and using Freepository. At some point I will setup my own Subversion server.

Posted by binhqx at 6:20 PM | Comments (0) | TrackBack

June 19, 2007

Cooking with Les

Les, the chef at Mojitos has moved our cooking lessons to tuesdays. Now Cap can join us in the kitchen.

Today I learned how to flay sea bass. When the restaurant buys fish, it comes as an enter side of the fish, scales and all. So before I can cut it up, I must remove the outer skin. This involves cutting trough the meat at the tail end and running the knife edge between the meat and the skin. It was easy on the smaller fish they are only about a foot long. But the bigger ones take a bit more effort. The largest fish I had to flay was about 2 and a half feet long. That take some muscle to cut.

Once the fish is skinned, it is just chopped into eight ounce steaks. Those will be ready to cook if anyone wants fish.

After cutting the best parts into proper sized chunks there are little bits left over. The end pieces of good fish that just did not evenly fit into those 8 ounce steaks. Les had me cook then up with some chopped onions. Then he server them as fish tacos for all of us in the kitchen.

Unfortunately I do not like fish so he made a chicken taco just for me. :)

The funniest part of the afternoon had got to be Cap wearing his Mooby hat operating the fryilator. I wish I had a picture of that.

Posted by binhqx at 2:48 PM | Comments (1) | TrackBack

June 18, 2007

BBC TV: Hex

Hex is a BBC show about a girl named Cassie Hughes at a private school in England. She accident discovers a supernatural artifact that endows her with the power of a witch. It is like Harry Potter but with more sex, violence and lesbians.

There are only two sessions with a total of 19 episodes. Cap is going to down load them so we can check them out.

Posted by binhqx at 6:48 PM | Comments (0) | TrackBack

June 17, 2007

Father's Day

It is Father's Day, so here is a picture of me with my Dad.

Posted by binhqx at 2:06 PM | Comments (2) | TrackBack

June 16, 2007

Code Mode

I find that when I get into writing code my personality changes dramatically. I become unpleasant, irritable, and confrontational. I find any little distraction incredibly annoying.

The code becomes my number one priority. I will forsake other activities, exercise, friends, food, and even sleep just to keep coding.

Even when I stop it take a few hours before I get back to my happy old self.

Posted by binhqx at 3:59 PM | Comments (0) | TrackBack

June 15, 2007

New haircut from Scissor Hands

I was in desperate need of a haircut, I had not had one for about a month and a half. However, I do hot have a barber or stylist. I would usually just go down to Walmart or Supercuts and just have my hair shortened. This time I wanted something more. Lately I have been paying attention to my outward appearance. So I wanted to find someone who could cut my hair with attention to my personal style.

Luckily I had just happen to meet a stylist earlier this week. Her name is Stephanie and she works at Scissor Hands in Dover. Stephanie was very helpful with suggesting different options. I am very happy with the results.

Big props for Stephanie at Scissor Hands. I recommend her services to anyone who wants more then just another haircut.

Posted by binhqx at 5:06 PM | Comments (0) | TrackBack

June 14, 2007

libpng: do not forget to call png_read_update_info()

I was working with libpng some more today and was having trouble with Input transformations. Input transformations are ways to manipulate the image data as it is being loaded into memory. This could be things like changing the bit depth or removing the alpha channel.

The problem I was having is after applying the transformation, the image info structure would not return the updated image information. After banging my head on for a while I found a little function called
png_read_update_info(png_ptr, info_ptr);
This updates info_ptr with the new image parameters. This step is critical if you apply any transformation that changes the size of the image data.

Posted by binhqx at 8:53 PM | Comments (0) | TrackBack

June 13, 2007

right-aligned kitten pile

When I saw this I giggled like a little girl.

Anyone who has ever written html will get this.

Posted by binhqx at 2:42 AM | Comments (0) | TrackBack

June 12, 2007

setjmp()/longjmp()

I am not much of a C programer. All of my schooling has been in object oriented programing environments like C++, Java, or C#. So when I do start working on a C project I tend to lean a lot about the olden days of programing.

I was recently working with libpng to load some images into a program. Libpng uses strait C functions for everything. It works with image files that could be broken or corrupted so it does a lot of integrity checking. Any of these checks could produce a error on a broken file. To deal with sending error back to the calling program, libpng uses setjmp()/longjmp().

At first I just stared at these functions quizzically because they do not fit the idea of a structured programing language. At any point in the execution of a program, setjmp() can save the stack state and it can be restored later using longjmp().

So for the example, libpng had me setjmp() just before calling a series of functions that load the header data about the image. If a error is encountered during reading of the data, the library will call longjmp() and the program will backup to the place I set setjmp() and continue to execute down a different path.

This strategy for error handling make sense for libpng. It would be very complicated to unwind the stack within libpng on the event of a error. Instead it just jumps back to the code within the calling program and the programer can decide how to deal with it.

Posted by binhqx at 1:36 PM | Comments (0) | TrackBack

June 11, 2007

Gate gate paragate

Today I saw the words "Gate gate paragate" write some where.

When I go home a looked them up. Apparently they are the beginning of mantra that goes:
Gate gate paragate parasamgate bodhi svaha

It means: go, go, go beyond, go completely beyond to complete enlightenment.

Posted by binhqx at 3:58 PM | Comments (0) | TrackBack

June 10, 2007

DnD Sunday

We had another Living Greyhawk game day with Opa. This time we came in with a much better idea of what it is we are doing. We will be holding these Relentless Game Day
every other week.

These week it was just Cap, Pedro, Jesse and myself playing with Opa judging. Game ran a bit smoother then last time, but we still have more to learn. There is just so much freedom in this games. It can be difficult to figure out what I should be doing.

I wanted to show off my Living Greyhawk character. His name is Calsifer Frenson. A cleric for the deity Pelor. Here is his character sheet made using HeroForge.

Calsifer Frenson Character Sheet
Calsifer Frenson Spell Sheet

Posted by binhqx at 9:43 PM | Comments (0) | TrackBack

June 9, 2007

Moving Nicole

Nicole was changing roommates because her last one skipped out on her. This means moving her stuff from one apartment building to another 50 feet away. Jesse, Pedro, Cap and I formed a train of stuff just looping back and forth from one apartment to the other. We are real good at this moving activity since last year. Last summer we must have moved different people no fewer then five times. By contrast this is easy. Besides, we got a free meal out of it. You would be amazed to see what we will do for free food.

My the end of the evening one apartment was nearly empty while the other one was completely full. That is the problem when one completely furnished apartment is merged with another.

Posted by binhqx at 9:32 PM | Comments (1) | TrackBack

June 8, 2007

Aunty's Birthday.

I went to Aunty's birthday today. I got to play with Ari. By playing I mean pushed her around the yard in her big wheel. Someday she will learn to peddle own her own. Mom and my sister came down from Maine with the dogs. So I got to spend some time them them as well.

Then we all got chocolate cake.

After the party I went out to a fire with John at PJ's house.

That is a good friday.

Posted by binhqx at 9:26 PM | Comments (0) | TrackBack

June 7, 2007

Personal Drama Award

I made this little award to be given out at some future date.

Posted by binhqx at 5:07 PM | Comments (2) | TrackBack

June 6, 2007

HeroForge: make DnD characters with ease

One of the most intimidating parts of starting into any DnD is the creation of a character and making proper character sheets. There are so many rules and charts to follow. However, I found HeroForge. This lets you build a character using a structured excel spreadsheet. This will prevent mistakes is math and attribute rules.

Posted by binhqx at 2:22 AM | Comments (0) | TrackBack

June 5, 2007

Crazy weather here in NH

It was a odd weather today. These intense thunderstorms kept blowing though. They would drop rain and hail 3/4 inch in diameter.

I heard that there was a funnel cloud forming over Madbury/Durham/Dover area. So there were a few people running around claiming that the end of the world is coming or even worse, Al Gore was right.

We lost power at work for the last half of the day. So we did not not get too much work done. When we left work we found tons of leafs and branches down everywhere. Traffic light there out in Lee making the traffic a pain in the butt.

We got home before the last storm hit. This last one probably dump the most water. There was a river running down the driveway. The basement got real wet from this storm. We had to pull up the floor pads to dry the floor.

We survived just fine.

Posted by binhqx at 3:15 PM | Comments (0) | TrackBack

June 4, 2007

Funny stuff: loltrek

-> loltrek

Posted by binhqx at 3:52 PM | Comments (0) | TrackBack

June 3, 2007

A Medieval Feast at Mojitos

Mojito's had a medieval feast today. What is a medieval feast? It is a grand meal that harkens back to the days of knights and castles. When there was no need for silverware or napkins. One would just grab at there food and tear it apart with their hands. Gobble it down and finish it off with a tall mug of mead or ale.

Here are some pictures of us enjoying our medieval bounty:

Here we are at the beginning. Look how excited we are, if we only knew how much food was about to be served.


Jesse enjoys a chicken, a whole chicken.


Jesse and Nicole after the feast. Over eating is now just settling in.

See more photos here.

When it was over we had gorged ourselves with so much food we could hardly move. Les and Brian really outdid themselves with the cooking. If everything did not taste so good we never would haven eaten so much.

I was surprised by how few people signed up for the feast. There where only six of us there with enough food for twenty people. Luckily we took home everything we did not eat. So it will be medieval dinner for the rest of the week!

Posted by binhqx at 11:54 PM | Comments (2) | TrackBack

June 2, 2007

A different cat in a box.

So the kitten story was an allegory about how it feels to be lonely and hopeless. I was feeling blue and wanted a way to express it. I thought the story could be something everyone could connect with.

What is most interesting is how I got out of this latest mood. It was another picture of a cat in a box that snapped me out of it:



If you have a knowledge of quantum mechanics you would know that this joke is a reference to Schrödinger's cat. A thought experiment there a cat unobserved can be both alive and dead at the same time. It is not until the state of the cat is observed that the state of the cat is resolved.
It was that idea that brought me back to how a individual interprets reality. I forgot that reality has two parts, environment and observer. The environment is everything external. It is where we get all of our input via our physical senses. The color of the tree bark, or temperature of water. The observer takes these datums and constructs reality on top of framework of past knowledge. So the observer knows the tree bark is brown because he has identified brown in the past. The water is cold because the observer has experienced cold in the past.

Brown and cold are not in themselves facts, they are interpretations of facts. The tree bark reflects photons between the wavelengths of 500 to 800 nanometers I interpret this as brown. The water has thermal energy of 276.15° K and my skin has a thermal energy of 306.15° K, I interpret this energy differential as cold.

A different observer may see the tree bark as tan and feel the water is freezing. These differences in interpretations of the same data are the result of deference in past experiences. The past experiences create a framework that we use to make sense of all the data we receive from the environment.

This may have nothing to do with quantum mechanics, but it has a similar connotation. Reality is dependent on the person observing it. This idea can expend beyond simple small interpretation of the environment. It can also be used to define one's entire state of mind. For example, perhaps I have a "bad day": its raining, the car will not start, I get to work late, etc. This would put anyone into a depressed or confrontational mood. But the truth is these events only make a "bad day" when they are inserted into the mental framework that define a "bad day."

We only have limited influence over the environment, but we have complete control over our role as observer. We can reframe how we think and change our own perception of really.

Posted by binhqx at 4:57 PM | Comments (0) | TrackBack

June 1, 2007

Sake of Reason at Bourbons

Sake of Reason is a fairly new band, they have only been playing together for a few months. However, the band is made up of people that I know from past acquaintances or other bands I know.

So I had to show up and have a listen. I was very happy with how they sound. I was particularly surprised by Scott's vocals. I have only known him as a drum player, but he can really sing.

Over all it was a great performance.

Posted by binhqx at 11:22 PM | Comments (2) | TrackBack