Tuesday, December 23, 2008

A white man in tokyo

Some perspective...

[Beast] you will not be the first honky the residents of tokyo have seen.
[Beast] i promise you

Friday, December 12, 2008

Overachievement

Despite my natural tendency to procrastinate, I made a commitment to myself for the current project on which I am working.

"I will work consistently hard on my schedule so I am not crunched at the end."

I did this and I finished 4 weeks ahead of schedule. This is great. I overachieved. My managers love the fact that I am ahead of schedule. I worked hard and met all of the quality criteria for the features to which I was assigned.

However, there's a problem. I am now assigned other people's work. This isn't such a bad thing. It makes me look good in that I come off as strong contributor to the team. The problem I am having with this new assignment relates to accountability. I am getting bombarded with requests for information and messages relating to the schedule regarding this final task since we are close to the end of the schedule.

Now, this makes sense. We are close to the end of the project, so many people are curious about a feature that aren't yet complete. The problem is that the feature is entirely new to me, so I need time to ramp up. I did not design the feature. I know little about the feature.

And, oh wait, the main point - I AM DOING SOMEONE ELSE'S WORK FOR THEM. I am afraid that I will have to work long hours and/or weekends at the end of the project to compensate for a task that a co-worked failed to accomplish.

This breaks my strict internal sense of justice. This is unfair. This really pisses me off. However, this hasn't happened yet, so I take deep breaths. The fact that it is in the back of my mind is still aggravating though.

Tuesday, November 25, 2008

Crap code

I am not the most senior, nor experienced coder in the industry, but I am motivated to improve my coding skill by implementing good coding design via strong typing, interfaces, and proper code placement in response to high-level requirements.

That being said, I consider myself a decent coder. I look back on old projects, thinking about what would I have done differently if given the opportunity again. I have received compliments from colleagues and peers (that I both respect and don't respect in regards to their development skill) in regards to my coding style and coding decision making process.

I have taken over an old code base for the new project on which I have begun work. This code base sucks. It easily meets the definition of cruft.

Cruft - Computing jargon for code, data, or software of poor quality.

Poor technical managers often do not realize the importance of good developers. This statement is slightly self-serving, but there's a popular misconception among managers that anyone can do. Why do some managers think this train of thought? They think this train of thought because very few challenge the idea (managers, developers, and customers alike). Software projects get complete, one way or the other and code quality gets put on the back burner. Now, if projects are being completed and they are being sold and accepted by customers, then why should a manager care about code quality?

The reason to care about code quality is productivity. As a developer who has taken over various code bases of shit code, I have run into the following problems (as a note for nomenclature, I refer to Java):

* Improper package usage - Packages, just like file system directories exist for a reason. They offer an internal structure for organizing relating code. Packages, just like databases, can be normalized, to organize code in a more specific and intuitive fashion.

Example: In a recent web development project, there was a single package for all servlets/action classes: com.project.action. There were nearly 100 servlets in the same class. No, these were not all related. They could have been organized more neatly into additional sub-packages. This doesn't even address the issue of having 100 servlets. I'll get to that later.

* Convenience methods - Convenience methods can be used for great advantage. Most of time, they are completely unnecessary. Code each class as an individual interface. An API, if you will. If a single generic method can be created to meet the interface requirements, then create a single method.

Example: getDevice(), getDevice(String), getDevice(String[]). getDevice calls getDevice(String[]) internally passing an empty array of strings. getDevice(String) calls getDevice(String[]) internally passing a array of strings with length 1. getDevice(String[]) has the actual implementation. To not confuse the calling interface, it may be simpler to just stick with one method: getDevice(String[]). This covers all cases. Again, this doesn't cover the issue of passing a String. I'll get to that later.

* Code duplication - function() { { /* code block to do one thing */ } { /* code block to do second thing */ }; The two internal code blocks are reused in this method along with 100 others. Imagine if another method needs to also use the two code blocks. Yes, then that method will also have the two code blocks. Ok, maybe that's not so bad. How about if a bug occurs in one of the code blocks and it needs to be fixed? Yes, then all 101 methods will need to be revised to fix the bug. That's bad. REFACTOR. Move the code blocks into their own methods so if a bug is to occur, then it can be fixed in one place, rather than 101 places.

Example: The previous web project I mentioned has 100+ action classes/servlets. There are groups of them that have very similar functionality. Refactor! Refactoring duplicate code will allow for easier maintainance of existing code, plus making the lives of future developers more easy when they have to add new similar features! Now, fixing code duplication doesn't always have to be resolved with code factoring. There's another possibility - object oriented programming. Use it. Love it.

* Strong typing - Java has an object oriented structure to provide custom-crafting data types. A developer can roll their own from scratch or extend from an existing code base, either the core APIs that Sun provides, their own previous code base, or third-party APIs. On top of that, Java 1.5 (Java 5.0 - I hate marketing) introduced enums. Enums are short for enumerations. They are fantastic and should be used much more often than they are in practice. Yes, but why can't a developer use some of the standard APIs that I just mentioned above. For example, it is common to pass parameters as Strings or Integers.

The reason this is bad coding practice is that, rarely, a complex parameter can be most strictly defined as a String or Integer. A String or Integer is an object wrapper for internal primitive types that more procedural C programmers would be familiar with (char[] - an array of characters otherwise known as a string and int - a primitive integer). There are additional primitive wrappers (Long, Double, Float, Short, etc.) available as well. It sometimes makes good sense to use these simple wrappers. For example, if a parameter can only be most strictly defined as an arbitrary array of characters, then perhaps it makes sense to use String.

What if the arbitrary array of characters needs to be modified? Then it may not be as good of a choice since the primitive wrapper objects are immutable (they can't be modified after constructed). This may be an added benefit if you don't want to allow object mutability. It's considered good practice in many ways to restrict the mutability of your own custom-made classes.

Now, what if the string isn't arbitrary? For example, consider the method assignTransmissionType(String type). This works, but isn't as strict as it could be. It would make sense to make an enumeration of supported transmission types (Automatic, Manual) and more strongly type the parameter -> assignTransmissionType(TransmissionType transmissionType). This makes calling interfaces more intuitive, allows for easier extensibility, and has the great benefit of not allowing calling interfaces to utilize your API in ways that you do not support.

I have more, but I've run out of steam.



Friday, November 21, 2008

Thought of the day

A thought for the day and it was not offered by me:

"good luck wrangling with shitty coders' shitty code"

Sunday, November 9, 2008

Work perceptions

I had a long post about work perceptions in response to a work meeting that occurred in the past week. Some good things are just a little too good. I'll keep working on the pithy phrases.

Monday, November 3, 2008

Questions

Tomorrow is election day.

The Massachusetts state election is following the usual standard. Present a ballot to a voter. The voter then selects a candidate or candidate grouping that he or she feels best represents their interests, thoughts, or beliefs.

I am always interested in the ballot questions. This is where the state offers questions of public policy which possibly or eventually leads to reform or lack of reform.

With that, the questions...

1. State income tax

A YES VOTE would reduce the state personal income tax rate to 2.65% for the tax year beginning on January 1, 2009, and would eliminate the tax for all tax years beginning on or after January 1, 2010.

A NO VOTE would make no change in state income tax laws.

In favor argument: "41% waste in Massachusetts state government," reveals survey. Eliminating government waste is one reason to vote "Yes."
Your "Yes" vote cuts your state income taxes 50% starting this January 1st - and eliminates the last 50% next January 1st. For you and for 3,400,000 Massachusetts workers and taxpayers.
Your "Yes" vote gives back $3,700 each to 3,400,000 Massachusetts workers and taxpayers - including you - on average when we end the state income tax. $3,700. Each worker. Every year. [Me: Receiving more money is good, but the true question is how would removal of the State income tax affect government spending on crucial vital works as well as inappropriate spending on non-vital works? I'm willing to pay taxes if it means supporting these vital areas, but I don't like paying taxes to support excess or misappropriation of public funding. Another question to ask is that if the State were given a proper spanking as punishment for misspending, would bad habits improve or be eliminated in turn? What's realistic here?]

Your "Yes" vote will create hundreds of thousands of new Massachusetts jobs. [Me: Debatable.]

Your "Yes" vote will NOT raise your property taxes NOR any other taxes. [Me: Response to fear-mongering.]

Your "Yes" vote will NOT cut, NOR require cuts, of any essential government services. [Me: I realize there is a word-limit on these supplied responses, but it is unclear as to what government services are essential and non-essential.]

Your "Yes" vote rolls back state government spending 27% - $47.3 billion to $34.7 billion - more than state government spending in 1999.

3,400,000 Massachusetts workers, taxpayers and their families need your help. Please vote "Yes." [Me: Will someone please think of the ever-present middle class??? Will someone think of the children??? I need to do more reading about this topic.]

Against argument: This legally binding initiative would slash state revenues by more than $12 billion a year - nearly 40 percent of the state budget.

It would force dramatic cuts in state aid to cities and towns, driving up property taxes and reducing funding for vital local services. [Me: Define vital local services. This seems like possibility, but the argument is more made with fear-mongering in mind. I'm curious what non-vital services and spending waste would be reduced if there was no state income tax.]

It would mean a drastic reduction in state funding for local public schools - leading to teacher layoffs, school closings and other cutbacks that would harm our children's education. [Me: We already harm out children's education through improper emphasis on rewarding teachers with proper compensation. This, again, is possibility, but also reeks of fear-mongering.]

It would threaten public safety by cutting funds for police, fire protection and emergency medical services. [Me: Again, possibility, but how much would this threaten public safety depending on the cuts?]

It would prevent us from making badly needed repairs to the state's aging roads and bridges, or making other investments needed to attract businesses and create jobs.

And it could force the state to raise other taxes and fees that would hit moderate-income families hardest.

Times are tough enough. Let's not make them worse. Vote NO. [Me: This argument, overall, is pure fear-mongering. The argument points to the main works which I agree government should take part in (city/town aid, education, public safety, and infrastructure). However, how exactly would removal of the State income tax affect these areas, and, more importantly, affect true non-vital areas?]

2. Possession of marijuana

A YES VOTE would replace the criminal penalties for possession of one ounce or less of marijuana with a new system of civil penalties.

A NO VOTE would make no change in state criminal laws concerning possession of marijuana.

In favor argument: A YES vote removes the threat of arrest, jail, loss of student loans, loss of driver's licenses, and other sanctions for possession of an ounce or less of marijuana. Instead, a $100 fine, similar to a speeding ticket, would be imposed. Question 2 would end the creation of a permanent record (CORI) and barriers to housing and employment. Police would be freed up to focus on serious crimes, rather than arresting 7,500 people annually for marijuana possession. Taxpayers would save $30 million a year in arrest costs. All other marijuana-related crimes, like sales or DUIs, remain untouched. Stricter than current law, juveniles would have their parent(s) notified and must complete a drug awareness program and community service. Question 2 would not increase marijuana use. Eleven other states have similar laws and have shown no increase in marijuana use. Let the punishment fit the crime. Vote "YES" on Question 2. [Me: Despite my lack of support for marijuana usage in general, this argument, for the most part, makes sense to me. I don't have comments.]

Against argument: Marijuana decriminalization is an endorsement of substance abuse and dangerous criminal activity, and sends the wrong message to young people. Massachusetts law already requires our judges to dismiss charges and seal records of first-time offenders. Decriminalization emboldens and enables drug dealers and poses a threat to public health and safety. One ounce of marijuana - street value $600 - equates to approximately 56 individual sales. Marijuana contains nine times the mind-altering THC as 30 years ago, is twice as carcinogenic as tobacco, is a primary factor in juvenile hospital admissions, and its users are 10 times more likely to be involved in automobile crashes. It is more strongly associated with juvenile crime than alcohol. A large percentage of criminal arrestees (approximately 40%) test positive for marijuana. Decriminalization is opposed by law enforcement, educators, health care, business and community leaders. Massachusetts District Attorneys, Sheriffs and Police Chiefs urge your NO vote. [Me: Decriminalization is indeed an endorsement of substance abuse. However, we do this already for another chemical substance -- alcohol. Calling decriminalization an impetus for dangerous criminal activity is a backwards argument since selling marijuana is an act of criminal intent because selling marijuana is illegal. I am a human being because I am a human being. Citing the increased chemical consistency, carcinogenic effects, and safety effects is good, but don't we already have these problems with cigarettes and alcohol? I'm curious how much of a percentage of arrestees would test positive for marijuana if marijuana was decriminalized, much less legalized. My guess it would go up or remain about the same. I'm not a fan of marijuana usage, but I don't like the government stepping into areas of recreational usage. This doesn't make marijuana legal, but does reduce the penalties involved with recreation usage.]

3. Dog racing

A YES VOTE would prohibit dog races on which betting or wagering occurs, effective January 1, 2010.

A NO VOTE would make no change in the laws governing dog racing.

In favor argument: Dog racing is cruel and inhumane. Would you treat your dog this way?

  • Thousands of Massachusetts greyhounds endure lives of confinement, kept for 20 or more hours each day in cages barely large enough to stand up or turn around in. [Me: Out of the thousands of dogs that live in confinement, how many total racing dogs are licensed overall? This argument is slightly misleading, but a confined dog is a confined dog. Point taken.]

  • According to state records more than 800 Massachusetts racing greyhounds have been injured since 2002, including dogs who suffered broken legs, paralysis and even death from cardiac arrest. [Me: More than 800 racing dogs have been injured out of how many dogs in how many races? This argument is fair as an injured dog due to racing is the fault of owners racing the dogs, of which the dogs have no choice in doing. I am curious in the comparison of racing injury vs. normal domestication injury.]

  • According to the Massachusetts State Racing Commission greyhounds have recently died from a mysterious illness and tested positive for cocaine, an illegal stimulant. [Me: This statement is misleading as it is not stated that the racing commission reported the dogs were given stimulants to increase their performance, although this can be guessed at. The question is if a higher percentage of dogs who are raced are abused in comparison to domesticated dogs. I am also curious as to what would happen to all these racing dogs if the law was to pass. With no betting allowed, dog racing would, for all intents and purposes, be eliminated. Would the fate of a lot of these dogs be euthenasia or domestication?]

Against argument: Parimutuel dog racing has taken place in Massachusetts for over 70 years, now only at Wonderland dog track in Revere, and Raynham/Taunton in Raynham. The greyhounds are owned by caring dog owners, not tracks. There is no mistreatment of the dogs as claimed by animal activists. The State Racing Commission fully regulates the industry, has veterinarians on duty at each track, and maintains numerous programs for the welfare of the dogs during their racing careers, and for adoption when their careers are over. About 1,000 people will lose badly needed jobs if the proposal is enacted. The Commonwealth, Revere and Raynham will lose badly needed revenue. From 2000 to 2007, these tracks paid over $40 million to the Commonwealth in commissions and fees, as well as other taxes related to their racing activities. Finally enactment will likely subject the Commonwealth to suits by the tracks for taking their property. [Me: Despite the fact that racing is popular or has been around for a long time does not an argument make. Slavery was legal for a long time in the United States. That does not make it a moral act. Losing revenue is not a legitimate argument for acting immorally. The argument that no mistreatment is claimed by animal activists is weak, although no source or statistic is claimed nor cited.]

Friday, October 24, 2008

The tally

I run every day. If I miss a day, I usually feel the jitters, and, worse, when I get back to running the following day, it's never as good of a run. I don't run as far as I would like, but I clip in at an adequate pace, sweat several gallons, and push my heartrate to higher levels.

Running is a grind. It is repetitive, and, in turn, can be boring. You run, usually in the same gait, moving one foot in front of the other and repeat several thousand times. Despite the boredom that can occur due to repetition, running offers something that is not boring - a mental challenge.

Here are the various things I think of when I get into a good running rhythm...
* I am starting to slouch. Focus on my posture to run more efficiently.
* My arms are moving in a crossing pattern. Try to get more parallel angles with them.
* My body is starting to rotate with each gait pattern. Focus on my posture.
* I have sweat dripping into my eyes. This itches or will get into my eyes, which is something I don't want. Wipe it away.
* My breathing is starting to get strained. Focus on breathing while my body involuntary keeps up the gait. Make sure I'm not missing breaths so I don't tire early.
* My legs are starting to get tired. Are they really tired or can I go further? Mind over matter.

To me, running is more about my mind overcoming itself, not just my body.

I weigh myself every Friday morning after I wake up for a benchmark. I lost three more pounds today. The tally keeps adding up and I have to keep up with it. Focus.

Wednesday, October 15, 2008

H-1B Visa Fraud

There was a good post on the technology web log, Slashdot, about a government report released earlier this month that details that 20.7% of H-1B visa petitions to the United States were submitted with fraudulent information or technical violations, thereby supporting a policy for increased auditing procedures for H-1B visa applications.

There was a more interesting aspect to this of which I was not aware. Apparently, many companies on a week-by-week basis supply job advertisements in various publications (magazines, newspapers, online job postings) in which the company has no desire to actually accept local U.S. workers for consideration of the job itself. Some companies attempt to make their job postings contain job requirements that most, if not all local workers, could fulfill. For example, a software development consulting firm could post a job posting that required a senior software developer with 20+ years of programming language experience in a language that hasn't even existed for that amount of time.

Why do companies do this?

1 - By showing that a job posting was made and was unable to be filled by local U.S. candidates, it becomes easier to obtain H-1B visas to hire an non-citizen applicant. The applicant can be hired for a cheaper rate, thereby saving the company money.

2 - By showing that a job posting was made and was unable to be filled by local U.S. candidates, it becomes easier to obtain H-1B visas to hire a pre-selected non-citizen applicant. If a company has an international applicant in mind even before the job posting is made, the company can make a bogus job posting in order to make a stronger case for the pre-chosen international applicant to obtain work status or permanent residency. The only simple way for many international workers to get residence in the United States is to marry a United States citizen. By making a bogus job posting, this creates a loophole to ease the residency application process.

This entire process is shameful, for the companies that skirt the process for minor gains and, more importantly, for the counterproductive process created by the U.S. immigration office. It's not just local workers who are taking it from behind here. Unscrupulous companies can lure international workers with the idea of naturalization only to see it not take shape when the worker demands more compensation, benefits, or more firm ground to stand on for permanent residency. If the worker is fired for someone more agreeable, then they simply get deported back with little rights of their own.

Despite the tangential problem of declining interest by U.S. students in the study of math and science, and thereby a reduction in the amount of talent present in the U.S., there is an advantage to brain draining top talent from other countries to the United States.

The problem to me is when a company hires a H-1B worker when a equivalently skilled local worker is available. The advantage for this use case is plain - it helps the hiring company save money and I don't blame them. I do blame our government and U.S. immigration office for not properly auditing and analyzing their policies in order to bring parity to this situation. If an internation worker is more skilled and available for the position, then, by all means, hire them. If there is a qualified local candidate whose only disqualification is being a local resident, then that seems ass-backwards to me.

Tuesday, October 14, 2008

Anger

Over the past 10-15 years, I have had a lot of anger in my life. I'm not big into spirituality, but I think there is something to be said from an emotional standpoint for observing life with a sense of positive energy. This isn't to say that I would be comfortable with being a tree-hugger, hippie or straying completely away from my cynical realism. It's important to doubt and question. It allows me to think. It allows me to question to change what I think.

I spend a lot of time being angry with myself, or better stated disappointed with myself over what I have yet to accomplish. I think this anger stems from both internal and external sources. I get angry when I think other people break my internal code of morality - violating a worldview that exists in my mind which contains a policy of justice and fairness. The conflict arises when other people do not share this worldview. That isn't to say I get furious at others who disagree with my ideas, but when the conflict stretches to a point of being offensive, it makes my blood boil. The irrationality of anger is powerful, affecting myself and those around me in both positive and negative ways. Yes, anger can be a force for positive change. The problem is when anger is a force for negative change. That type of anger should be more controlled, but I am unable to do so sometimes and I get most disappointed with myself as a result.

I do not have much positive energy in me although I am trying to change that. This is not an easy task.

Monday, October 13, 2008

Hate crimes

There is another interesting post on my favorite community web log, Metafilter.

The story: Remembering Matthew Sheppard - How has the town of Laramie changed since the attack?

The background: Matthew Shepard was a gay student that studied at the University of Wyoming located in Laramie, Wyoming. Shepard was attacked on October 7, 1998 by Russell Henderson and Aaron McKinney. After meeting at a bar, Henderson and McKinney offered Shepard a ride in their car. Henderson and McKinney proceeded to rob, pistol-whip (beat a person with the stock of a gun), and beat Shepard, finally leaving him tied to a fence in a remote rural area. Shepard's skull was fractured during the attack and eventually died on October 12, 1998 while receiving hospital care.

Following arrest by police, Henderson and McKinney argued they were driven into temporary insanity by by Shepard's alleged homosexual flirtatious advances towards them. Girlfriends of the two alleged attackers told prosecution that Henderson and McKinney had planned premeditated robbery of the gay Sheppard. Henderson eventually plead guilty to charges and was sentenced to two consecutive life sentences in prison. McKinney was found guilty by jury of the charge of murder and was sentenced to two consecutive life sentences in prison without the possibility of parole.

The Shepard family pushed for support of the Matthew Shepard Act which would expand the realm of the 1969 United States Federal Hate Crime Law to include crimes motivated by gender, sexual orientation, gender identity, and disability rather. The act did not pass legislation due to conservative lobbyist pushback and a threat of veto by President Bush.

The argument: There are two main arguments for support or opposition of the Matthew Shepard Act and any of its future derivatives.

Support - The argument to support hate crime laws relates to the indirect effect on society as a whole. By murdering Matthew Shepard in hate-crime related activity, the entire gay population of the town and area is placed into a state of fear for being who they simply are (in this case, homosexual). A hate crime should be sentenced more harshly because it is not only an offense to the victim, but also an indirect threat towards all who share the same state of being.

Opposition - The argument to oppose hate crime laws whether it be the United States Federal Hate Crime Law or the suggested expansion by the Matthew Shepard Act is that by punishing a crime against certain people more, then it means that the same crime is punished less for other people. In question, why should a murder be less horrid for a victim and his or her families because the victim is straight rather than gay, white rather than black, healthy rather than disabled? It is also argued that by punishing a criminal more strictly because a crime was inspired by hate, it thereby is punishing a person for thoughtcrime rather than their actual illegal actions.

Sunday, October 12, 2008

A decrease in quality

My web log is a source for me to excrete my mental diarrhea. Normally, I stay away from quizzes and other MySpace created "dicktrash". However, while shooting the shit with friends online, I saw this quiz and for no notable reason, I am filling it out. I realize this may pain the few viewers I do have for this web log, but consider the fact that a quiz, even a dicktrash one, allows myself to consider questions I don't normally consider. It offers new perspective, so it's not entirely a bad thing.

Anyhow, let us proceed...

Could you see yourself with someone forever?
Yes. Someone being the operative word and, at this point, I don't know who that someone is.

What is your birthstone?
I had to look this up. Apparently, my birthstone is an Emerald or Chrysoprase. An emerald sounds more extravagant so I'm sticking with that. When you see me next in person, don't be surprised by my emerald-encrusted grill.

Have you ever been to Hooters?
Once... and it was on the recommendation of a friend who raved about their buffalo hot wings, not to observe waitress tits. I swear! I didn't even like the wings.

Do you get along with your close friend's boyfriend/girlfriend?
I did when they were together. She was quiet in most interactions. I think she was amused by my witty reparte (i.e. - nerdness). I don't know if that's equivalent to someone laughing at me rather than laughing with me, but fuck it, I am who I am.

Do you know anyone who is having a baby?
Yes, my cousin. She's having twins. I'm sure they will be a handful.

Have you ever been called heartless?
Yes. I tend to get cold and rational sometimes when it comes to the greater good, at least in my mind. The problem is that I'm not sure if I stay as rational as I truly think I am.

When is the last time you did something you said you wouldn't do?
I usually don't make promises or claims to never do things. Life changes and so do I. My word is my bond yo.

Have you ever missed someone,and re-connected with them?
Yes, but only friends, never ex-girlfriends. Bros before hos dude. Apologies to all my friends who happen to be girls, but I had to say it.

Looking back, did you ever think you'd be where you're at in life now?
Yes and no. This is way too complex of a question to answer in full in a single quiz. I am superhuman in many regards and regressively childlike in others. I guess I'm like most of everyone else and that still strangely gives me pause.

Do you curse a lot?
Never at work. Rarely at acquaintances. Probably often around true friends, but I don't pay attention to it. I don't analyze my words constantly around true friends because I am in a state of true comfort.

Do you think you have made a difference in anyone's life?
Yes, the question is whether that difference was overwhelmingly positive or negative from person to person.

What was the last thing you cried about?
It was a long time ago (long time as in years). I hold emotions in as a defense mechanism. Yes, I realize it's not healthy. The more interesting question is why I hold emotions in rather than the single emotion itself. To answer the question, the tears came after an emotional breakup.

What are the last spoken words you heard?
"I just want to say that I love you." by a special needs friend on online voice communication. He amuses me.

Who is the last person you talked on the phone with?
My mom.

Did you have plans today?
I woke up, went out for a good breakfast with my mom and sister. Drove 200 miles back home. Ran for 30 minutes, feeling both amazed and like shit at the same time. Ate food. Shot the shit with friends online. I guess the only plans part of that would be driving home.

How many months are there until your birthday?
7 months.

Name something you are doing tomorrow?
Working.

Do you prefer regular or chocolate milk?
I prefer chocolate milk although I haven't had chocolate since 2001. Why have I not had chocolate since 2001? This is a longer story.

When was the last time you had Starbucks?
Earlier this year, I had a chai tea. I took some new hires for coffee in order to welcome them into the company.

Do you sleep on your stomach?
Never. I have partial to little feeling in my stomach so touching it or sleeping on it would be extremely uncomfortable.

What are you listening to?
The Usual Suspects

Are you ticklish?
No. I tend to get chills or irritated when tickled.

Are you missing someone?
Yes

Do you crack your knuckles?
Yes, but not often.

Are you named after anyone?
My mom named me after a person in the Old Testament.

Anything you want to tell someone?
No.

What's on your bed?
Some papers, several blankets, 1 thin pillow, and some laundry I still have yet to fold and put away.

Are you someone's best friend?
Yes. I have many acquaintances and friends throughout my life but only two people in the world I consider best friends (I am excluding family members from this list). A true friend, to me, is someone I feel completely at ease with which is not an easy thing for me.

What do you think of when you think of Australia?
Dingos, shrimp on the bar-b, Wallabees, Kangaroos, Koala Bears. In general, my initial thoughts lump me in with other American who share dumb, stereotypical thoughts.

Who was the last person to give you a hug?
My mom.

Where were you last night at midnight?
Sleeping on a fairly uncomfortable futon.

Do you like anyone right now?
This question gives me cancer.

Did you speak to your mother today?
Yes.

How was last night?
I attended a wedding. I made a strong attempt at small talk and found that many people are even less capable of smalltalk than myself. I took those observations as a small victory for myself.

Who was the last person you gave your number to?
I honestly can't remember.

When was the last time you cleaned your room?
Several weeks ago. I need to give it another go.

How did you wake up this morning?:
In discomfort on a small futon.

What's the last bone you broke?
I've never broken a bone. I drank milk growing up providing me with adamantium-strengthened bones.

How many letters are in your last name?
7

What are you excited about?
Ending this quiz. I am realizing, at this point, it is entirely too fucking long.

Do you drink bottled water?
All the time, but I recently ordered a water filter so I can help SAVE THE WORLD.

When was the last time you talked to one of your siblings?
This morning.

Have you lost friends in the past year?
No.

Do you think relationships are ever really worth it?
Each relationship helps me understand what I like and don't like, what I can tolerate and not tolerate. It is a learning process, so they are always worth it.

Do you prefer to take showers at night or in the morning?
Once in the morning to wake up. Once in the early evening after working out.

Could you go the rest of your life without smoking a cigarette?
I have one cigarette in my entire life which was provided to me by my father when I was 7-8 years old. How's that for a blue-collar military life lesson. Suck it up you hippies.

Who was the last person you were under the covers with?
I am growing increasingly belligerent.

Were you happy when you woke up today?
I was a bundle of joyous sunshine.

If you're being extremely quiet what's it mean?
It means I am uncomfortable, most likely observing other people, with my mind moving at uncontrollable speed.

Whats your relationship status?
Single and strangely content with that fact.

Last time you were confused?
Right now when I tried to remember when the last time I was confused. This is a daily event.

Do you hate when people smoke around you?
No. If I stand around people who are smoking, even if I dislike it, then it would be my choice to do so.
Being bitter about that fact is just dumb. I would only dislike it if I wanted to get away from smokers and was unable to do so.

How old do you want to be when you have kids?
This question is an abomination.

Would you tattoo someone's name on your body?
Never.

Last movie you watched?
I honestly can't remember.

Have you ever thought about getting your lip pierced?
No.

How many pairs of pants do you own?:
No idea.

What color do you wear most?:
Black like my heart. In reality, I like the color blue and red because they bring out the precious beauty of my eyes.

What's for dinner tonight?:
I cooked stir-fry and it was delicious and healthy.

Are you happy with your life right now?
No, but I am satisfied with the direction my life is headed, which will hopefully offer me some happiness.

Last thing you bought over 50 dollars?:
An order of tons of randomness from an online retailer.

Last thing you bought under 50 dollars?:
Gas. Really, it was under 50 dollars.

Have you kissed your boyfriend/girlfriend lately?:
CANCER.
CANCER. CANCER.

What are you going to do now?:
Shoot the shit with friends and reflect on my uncanny ability to grind out the completion of this quiz.

Tuesday, October 7, 2008

Discipline

I have a good amount of vices in my life. I tend to overeat when feeling stressed. I tend to procrastinate because it's more satisfying gaining enjoyment now than later. I tend to avoid uncomfortable situations even though it may prove to add more long-term benefit by choosing confrontation instead.

One thing I am exceptionally good at is work ethic via inertia.

Some contextual definitions first...

Work - exertion or effort directed to produce or accomplish something; labor; toil.
Ethic - a complex of moral precepts held or rules of conduct followed by an individual
Inertia - the property of matter by which it retains its state of rest or its velocity along a straight line so long as it is not acted upon by an external force.

Again, I am a procrastinator. I tend to put things off until some external force, well, forces my hand. Once I start something, I am brutally focused at seeing it through. I had been getting lazy with my diet and exercise plan ever since I went back to school. I gained weight. I got disgusted with myself. In turn, I started dieting and exercise.

Now, I'm not into any of the random diets (Atkin's, Vegetarianism, South Beach, High Protein). I keep things simple. I eat tasty, health food (this is difficult) portioned moderately. I exercise daily in order to raise my heartbeat and perspire. The end result of this is the most basic diet in the world which works for me. I haven't tried any of the idiomatic diets, but I wager my diet regimen is better. Why?

1. I have discipline to keep the diet. Once I start something, I am exceptionally good at maintaining. My focus and inertia keeps me on a steady path.
2. Eating healthy foods in overall small portions means my calorie intake is smaller than when I ate bad foods in large portions. The amount of calories I eat per day is less than the amount of calories I burn per day. Calorie watching makes me lose weight.
3. Exercising makes me burn additional calories per day making weight loss easier. It also helps me sleep more comfortably which is nice. Finally, it slowly increases my overall metabolism which means I can have bad eating days and still gain no weight. I break even.

I have restarted my regimen and am approaching close to 3 months on my diet. I get my new scale in the mail next week so I will be tracking metrics for motivation.

Speaking of motivation, I asked a co-worker, a fellow runner, how she continues to run when her mind is telling her to stop. She responded that she tells herself internally to push on for only 5 more minutes, or 5 more miles depending on the run.

It got me thinking about the discipline I have when I run. When my mind is telling me to stop, I usually don't go into bargaining (Just go 5 more miles). My mind usually goes into anger and belittlement (Run for another mile you puss). Whatever works I suppose.

Monday, October 6, 2008

The U.S. financial crisis - simplified

Discovered a great link via Metafilter that describes the financial crisis in a neatly organized fashion. A good read...

http://www.themoneymeltdown.com/

For a brief time-based synopsis of the subprime mortgage crisis, a good write-up is available on Wikipedia:

http://en.wikipedia.org/wiki/Subprime_crisis_impact_timeline

Friday, October 3, 2008

Brand loyalty

I'm not the most fashionable person in the world. My wardrobe ranges from borderline metrosexual attire to trailer trash t-shirts and jogging shorts. In general, I purchase new clothes for the following reasons:

1. I receive a suggestion from someone else (usually a companion who shows pity for my lack of shopping knowledge and skill).
2. I purchase an article of clothing by means of chance. This doesn't mean that I flip a coin (although I'm willing to try that some day in the future), but rather I find a shirt, pants, or a pair of shoes and buy them on a whim, not necessarily looking for the articles in the first place.
3. Comfort.
4. My old clothes are too small or too big causing me to buy new ones in order to not look ridiculous (big clothes) or naked (small clothes) in public. I'm come to terms with my narcissism.

I usually don't care what brand name is on the clothes unlike other consumer outlets. For example, I tend to have brand loyalty to certain foods or brands at the grocery store because I like the taste of their food. I also may have brand loyalty to certain electronics companies over others because I know they are, at the minimum, an established company that will distribute a television or stereo that won't break instantly.

None of these examples are guarantees. If I taste something good from a different company's food product, I'm a convert. If I read enough positive user reviews about an electronics product, I'm more likely to take the risk and make a purchase.

With clothing, it similar. Certain brands have a reputation for higher quality craftsmanship or high public reputation. In general, I don't care as much about this other than offering my taste on a look -- do I like the style (god help me for saying it, but the silhouette), do I like the color, is the texture comfortable on my skin, does it meet my fashion needs (work vs. casual vs. special occasion), is there ugly seam-work, does it match?

In general, these are the criteria I go by rather than the name on the tag. However, there is one main exception...

BEHOLD MORTALS...

The Adidas Shelltop. Comfort. Retro freshness. Other shoemakers try to copy the simplicity and style, but they fail miserably.

Thursday, October 2, 2008

On-call

I am the primary employee on-call this week. What does this mean? This means I am responsible for replying to the following avenues of inquiry from our business customers and parters:

1. E-mail list.
2. Legacy web forum.
3. New web forum.
4. Business support inquiries.
5. Support engineer inquiries.
6. My personal favorite, escalated phone call inquiries.

I get paid for being on-call. This is the benefit to being on call.

What is the downside?

1. Being responsible for support on systems with which I am unfamiliar. The support model is the blind leading the blind from a certain perspective.
2. Being the last line of defense for support. The majority of support engineers day-to-day responsibilities involve understanding the entire solution or at least trying to reach that goal. My day-to-day goal involves being an expert on a small handful of subcomponents within one product of the solution. The support engineers are better suited and knowledgable about the product as a whole. Blame this on my responsibilities or lack of training but this is the awful truth. In fairness, I can bend the idea of being on-call to support to being on-call to manage support. I am just a middleman to find the correct people who do know.
3. Blurring of work-life boundaries. This is a big issue for me and one of the most important things I look for in terms of job satisfaction. When the lines are blurred between work time and personal time, the term job blurs into indentured servitude.

From an reasoned perspective, I understand the idea for being on-call (to support customers and also so other employees don't have to do it more frequently). From an emotional standpoint, it pains me.

Monday, September 22, 2008

State of emergency

I realize the following quotation doesn't inspire great political commentary. Quoting it seems more emotional and reactionary, but there is a point. Several days ago, the White House released a press statement stating we would be in a national state of emergency for another year. The national state of emergency has been in place since 2001, the year of the terrorist attacks. I'm not amazingly surprised by the general idea, despite some flaws in its merits, but I'm more interested in why has the U.S. been in this state for this long?

For Immediate Release
Office of the Press Secretary
September 18, 2008

Notice: Continuation Of The National Emergency With Respect To Persons Who Commit, Threaten To Commit, Or Support Terrorism

RSS Feed White House News

On September 23, 2001, by Executive Order 13224, I declared a national emergency with respect to persons who commit, threaten to commit, or support terrorism, pursuant to the International Emergency Economic Powers Act (50 U.S.C. 1701-1706). I took this action to deal with the unusual and extraordinary threat to the national security, foreign policy, and economy of the United States constituted by the grave acts of terrorism and threats of terrorism committed by foreign terrorists, including the terrorist attacks in New York, in Pennsylvania, and against the Pentagon committed on September 11, 2001, and the continuing and immediate threat of further attacks against United States nationals or the United States. Because the actions of these persons who commit, threaten to commit, or support terrorism continue to pose an unusual and extraordinary threat to the United States, the national emergency declared on September 23, 2001, and the measures adopted on that date to deal with that emergency, must continue in effect beyond September 23, 2008. Therefore, in accordance with section 202(d) of the National Emergencies Act (50 U.S.C. 1622(d)), I am continuing for 1 year the national emergency with respect to persons who commit, threaten to commit, or support terrorism.

This notice shall be published in the Federal Register and transmitted to the Congress.

GEORGE W. BUSH

THE WHITE HOUSE,

September 18, 2008.

Friday, September 19, 2008

Interesting

Here's a random, interesting site to check out when you have some time to kill. It's a web site that gives short anecdotes to honest questions. It wasn't harsh enough where it seemed like I was a voyeur, peaking in on a confessional. It wasn't so tame where I thought I was reading a one-page sectional in a Reader's Digest.

http://commonties.com

Monday, September 15, 2008

Presidential race

I tend to read small bits or news, here and there, regarding the upcoming U.S. presidential election. Like past presidential election years, I tend to remain undecided until approximately 1 months before the actual election. Again, like in past years, I have a bad taste in my mouth as the candidates are excreting their talking points and, in some cases, informational entertainment spots.

Despite the campaign system being mostly broken:
1. Campaign finance corruption.
2. Campaign lobbyist corruption.
3. Emphasis on pointing fingers rather than solving issues or accepting responsibility (see: economy).
4. Emphasis on polarizing issues (abortion, Iraq, death penalty, stem cell research) since the candidates are so close to each other on almost every other issue.

That being said, I like to usually watch the presidential debates. It's an opportunity for, at least, a little straighttalk regarding the meat of the campaigns...

How will each candidate tackle foreign policy (see: Iraq)?
How will each candidate tackle the economy (see: Housing market, weak dollar)?

So here is the tentative schedule:

September 26, 2008: Presidential debate with domestic policy focus, University of Mississippi, Oxford, MS
October 2, 2008: Vice Presidential debate, Washington University, St. Louis, MO
October 7, 2008: Presidential debate in a town hall format, Belmont University, Nashville, TN
October 15, 2008:Presidential debate with foreign policy focus, Hofstra University, Hempstead, NY

I'm interested to see how the candidates discuss the recent real-estate mortgage crisis (Fannie Mae, Freddie Mac) and financial sector problems (Merril Lynch, Lehman Brothers, AIG) and how it impacts the economy. I, hope, for the sake of the U.S. economy, they discuss more about their plans to strengthen the economy rather than pointing party-line fingers. This is a bi-partisan issue and should be treated as such.

Saturday, September 13, 2008

Hip-hop

Hip-hop, it rocks. It's not just the basic idea that I love. It's the entire foundation.

Creating music? DJ'ing.
Creating lyrics? MC'ing.
Creating dance? BBoying
Create art? Graffiti

Now, graffiti isn't as interesting to me, but I respect the art and style of it. The music is just contagiously good when created by the right mind.

Here's what I don't get. I notice there's a huge contigent of hip-hop artists who are labeled by the industry and consumer public as "alternative" hip-hop: Jurassic 5, Del the Funky Homosapien, Kool Keith, and hundred of others.

Why are they called "alternative"? Some of these artists are doing some new, innovative music, while others are just showcasing hip-hop at its roots which is fantastic.

Commercially marketed hip-hop has strayed so far from its roots. We have MCs who, if you notice, don't even call themselves MCs. Many popular hip-hop artists aren't even rhyming. They are yelling or singing. It's close to a rhythm and blues derivative than anything else.

Hiphop is about culture, but more specifically the art that springs from that culture. If the foundation of that art is considered alternative, than I guess I'm a fan of the outcast.

Wednesday, September 10, 2008

Critical thinking

One of the things which tends to annoy me in critical discussion is a lack of long-term thinking. In general, we are a "what can you do for me now?" society. We see this general line of thinking in a number of areas, both specific and generalized.

Take the idea of self-destructive behavior - People, often, exhibit signs of self-destructive behavior in lieu of working to create something. Why? Because creating something takes effort. It's hard work. For a simple example, it's easier to tear down a house than it is to build one. Gravity can manage most of the work for you. It also takes less time.

I sympathize. I truly do. I'm both a destroyer and creator.

However, the problem I want to make note of isn't about how people choose to self-destruct. It's about the people who choose to self-destruct and refuse to acknowledge the positive rewards from doing hard work. Hard work is a long-term solution. Hard work is undergoing some pain now to reap the rewards in the future for yourself, others, or future generations.

The CERN Large Hadron Collider (LHC) turned on today. I knew there was a general public hubbub that this machine could mean the end of the world. How did that hubbub spread wildly? The answer is ignorance and fear. The societal spread of information in this case is interesting to me in the sense that it doesn't matter whether or not the CERN Large Hadron Collider will destroy the world (with astronomically high probability, it won't), the issue is how people, both in the media and also general public, sensationalized the idea it could and the outcry that resulted.

Why did the media sensationalize the risks (or non-risks depending on your viewpoint) of the LHC? They did it for the same reason most media outlets sensationalize. It's a more exciting read. More excitingreads cause a higher emotional response. Marketing shows that a higher emotional response from information outlets result in higher circulation and, in turn, a higher bottom line.

Why did the general public respond to the sensationalist media reporting in a sensational way? They did it for the same reason most people respond sensationally. It's easier to understand "the world is going to vanish from existence" than it is to understand the physics behind the LHC. The amount of energy slammed against the Earth on a daily basis from space is astronomically higher in amount than any energy that could be generated by the LHC.

I started reading on CNN about user comments regarding the LHC project. The majority of comments expressed moral outrage stemming from religious beliefs. Other comments revolved around the large amount of money that was spended on the project, that it would be better suited to spend on other endeavors (usually world hunger and our precious children). Those issues are important (especially our precious children), but it still shows lack of understanding. Scientific research isn't about instant gratification. It's about making best-effort observations given previous knowledge, and then altering existing knowledge or creating new knowledge based on these observations. That's it. Scientific research usually has no practical output, except when you wait many years if not decades for innovators to apply that research in a useful way. It got me thinking about how many useful things I use on a day-to-day basis that was the result of scientific research - a computer, my water bottle, the internet, a light-emitting diode, glasses, a cellphone. I'm pretty sure none of these devices, even at their most primitive idea level, whether it be a CPU, a piece of plastic, a chemical reaction, a sound wave were discovered in a day. The research takes time. It takes work.

Anyhow, the following are some choice bits...

First, some strawman arguments:

"A 9 billion waste! Same as America another waste of taxpayers dollars spent on "what is on Mars" the French no different. The people of this planet Earth need medical research on Better Health Conditions and a cure for Cancer..to have and enjoy a better quality of life!!"

"I am all for learning more about the universe. BUT, I think there are more important things in this life than finding out how the universe came to be. There are starving children, homeless people that cant even get back on their feet beacuse of Hurricanes and other weather tragedies we are faced with in these times. Maybe we should put more into helping people, than researching things that the only benefit would be... "Oh, so thats how that happened!" I mean think about what $9 Billion could do for your fellow man!?!?!?"


"How many hungry people could have been fed? How many destitue people could have gotten needed medicine. Bunch of self-centered, oblivious scientists with a big shiny toy."

"What a waste of money, we have so many problems and worries on earth. As mentioned in another email, starving children, helpless and starving animals! Just to push their own ego to find what in the end?!"

Next, how about massive conspiracy theories:

"makes you wonder why governments have poured so much money and are showing so much interest in this. Manipulating and controlling mankind with the current inventions of destruction is not enough......."

Finally, sensationalist responses based on misinformation:

"So we are now creating black holes right here on earth. When will we learn that we don't need scientists to create a new type of nuclear bomb?"

My blood started to boil after reading these comments, but then I went back to a state of calm, rebuking myself internally. I responded emotionally and sensationally in the same way and I got annoyed with myself as a result. The one comfort I responded with, in turn, was that I was critical enough to realize that.

Television

It has been a long time since I watched a large amount of television. So, I surprised myself by watching an enormous amount of it last night. I don't have a hatred of television. I just find that talking to friends or playing on the Internet to be more rewarding for me. That being said, while switching between cuts from Generation Kill, a recent series produced for HBO, I watched an hour long show on the CERN Large Hadron Collider. Yes, that Large Hadron Collider. The basic idea about the Large Hadron Collider is that it will speed up an enormous amount of molecules in multiple directions (close to the speed of light), and then let the molecules smash into each other to see what occurs. I recognized the show was dumbed down for your average viewer (me), but it gave an interesting introduction to some of the general research that will be occurring - discovery of new matter (smaller particles and dark matter) being the most interesting aspect.

There is some fear and panic in the world regarding the Large Hadron Collider. The fear being that some of the experiments could result in the creation of a tiny black hole. When the word black hole is mentioned, panic ensued and some public groups were not pleased with the possible idea of a black hole consuming the Earth. The vast majority of scientists discounted these claims stating that the odds of creating a black hole were miniscule and even if one were to be created, it would be so small that it wouldn't have the energy to maintain its structure and would dissipate.

It was a good show. It surprised me. The industry use of television doesn't interest me as much as poking around on the Internet. I think it comes down to two reasons:

1. Interactivity

There is little to none in television. I can't talk to other people using the same medium like I can do on the Internet (via VoIP). The counter to this argument is that you can watch television in the same room as friends and family. That's true and that can make the experience more personal, but there's more to it than just communicating about your sensory experience. I can experience participation within Internet activities. I can talk in a chat session. I can play a multiplayer game. I can write a blog. I am contributing the actual content.

2. Choice

I have to offer some sort of prayer that what I want to watch will be available as I sit down on my couch in front of the television. This isn't as true as it used to be though. First with VCRs, and more recently with DVRs (digital video recorders) and on-demand content, I now have more control over what I can watch which is fantastic. The ability to choose television programming will, hopefully, continue to be more prevalent in the coming years.

Food for thought, probably just my own though.

Impressively enough, after reading some news sites this morning, the Large Hadron Collider is scheduled to be turned on today.

Friday, September 5, 2008

Across the street

A long time ago, my Mom sternly told me since I was too young that I was not to cross the main street several blocks away unless I was led across the street by a trusted adult. As a rule of thumb, I took my mother's warnings seriously.

One day, I really wanted to visit the small arcade at the nearby bowling alley. The trouble with this thought is that it was across the main street. I decided to make a break for it one day. I rode my bike down my residential avenue, then approached the busy road. I waited for the light to changed, sprinted across the main broadway on my bike, then continued double-time to the confines of the bowling alley and arcade.

I sprinted not only for my safety, but because I was terrified. I was terrified of being alone across the street and also of disobeying my mother's orders. I had a feeling of extreme paranoia that someone was watching me. I envisioned someone I knew, even an acquaintance of my mother would come up to me and find me out. That never happened though.

My anxiety got to be too much and I didn't stay long -- not more than 20 minutes. I got on my bicycle and rode back to my house as quickly as I made my original way. I was relieved to come home, but also had a feeling of shame.

I am wound too tight.

Wednesday, August 27, 2008

Aim vs. tactics

The skill-level of the higher echelon of a given game player base increases as one or more of the following occurs:

1. The quantity of the player base increases.
2. The maturity in terms of number of played man-hours increases per player.

In regards to 1v1 gameplay, aim and tactics are always important, but which is more important? Let's define the terms first, using my favorite FPS series Quake as the benchmark. The same definitions can be shifted slightly to apply to other popular FPS benchmarks like Counterstrike.

Aim - To direct a weapon towards an intended target.

I, as a player, have to manage my hand-eye coordination in order to move my mouse precisely to the proper pixel space on the screen, taking additional care based on whether I am using a projectile weapon (plasma gun, rocket launcher, grenade launcher) or a hitscan weapon (machinegun, shotgun, lightning gun, railgun). For projectile weapons, there are additional variables on how to manage hand-eye coordination based on the speed or trajectory of the projectile.

Plasma fire spam is extremely quick and straight. Rockets are moderately fast and straight, but also do splash damage so the best risk-to-reward is to hit a player directly on their feet. Hitting a player directly on their feet will often be rewarded with a direct hit and, therefore, maximize the amount of damage inflicted. If the shot is slightly off, the rocket still hits on the ground near the target's feet to inflict splash damage - the closer the shot to the target, the higher the amount of splash damage done. Grenades have an arcing trajectory and are best, like any other weapon, when the shot directly hits the target. Due to the arcing trajectory, they are slightly more awkward to aim and, as a result, are often spammed (shot in great quantity) in order to create higher quantity of risk for the opponent.

Players can respond to projectile weapons by dodging the fire. Different dodging patterns work better on certain player styles over others, but there are generic dodging patterns that tend to work advantageously overall.

For hitscan weapons, the only limitation to hitting your opponent is the requirement to be in line of sight of the opponent. If you can see your opponent, you can hit them.

Conversely, dodging hitscan weapon, on a technical level, is not possible. However, certain dodging patterns play on standard human hand-eye reaction models to trick a player into aiming improperly and missing their shot. Players who have control over their mental game and are never tricked will never miss because of opponent dodging techniques. There's no current player like this though (although some players impressively come close sometimes).

Tactics - A procedure or set of maneuvers engaged in to achieve an end, an aim, or a goal.

In our benchmark case, the goal is to maintain level control or achieve a point by fragging (scoring a gaming kill) your opponent. Tactics are managed for the following reasons:

1. To maintain level control positionally - The player who controls more advantageous positioning has an advantage (in general). This usually means the player with higher ground or better angles has the positional advantage when initiating a player confrontation (a fight).
2. To main level control via item control - The player who controls the more desired item resources (armor, health, weapons, and sometimes ammo) has an advantage.

Tactical advantages can change quickly if item control changes. Additionally, tactical advantages change quickly based on the positional risks taken and positional changes by each player. There's a lot of subtlety involved in tactics.

As games mature the following occurs:
1. Tactics increase exponentially and then flatten out in growth towards maturity.
2. Aim steadily increases for the overall player base.

This allows for more tactical risk to occur as a game matures since players with increasingly good aim can manage more risk. However, an equal opponent can manage the same. So both factors (aim and tactics) are still equally important.

The issue that arises is when aim increases, the power of projectile weaponry gets reduced. This is unavoidable. Aim being equal, it makes sense to use a weapon (in the majority of cases) that cannot be dodged.

This leads to aim being a stronger factor than tactics, if and only if, the damage done by hitscan weapons is greater than or equal to the damage done by projectile weaponry. This is the current state of things in Quake. Rockets and grenades still have their place, but are not as powerful as they used to be. Why?

Again, if a player can manage more damage without caring about dodging techniques, then it makes sense to do so. In turn, when dodging becomes less relevant and hitscan weaponry become overused, tactical intelligence gets put to the wayside, which, in turn, dumbs down the game.

This is part of the reason why I never got hugely into Counterstrike. Everything is hitscan. The saving grace that Counterstrike has is that it is a team game so tactical positioning and timing is still important because you can work with teammates to move opponents into tactically disadvantageous positioning.

So it comes down to how does a game designer balance hitscan against projectile weaponry. I'm not certain entirely, but I think a good start is to never design a hitscan weapon to be as powerful (damage-wise) as a projectile weapon based on common fight patterns. As a disclaimer, I am comparing the common competiting weapons (rocket launcher vs. railgun / plasma gun vs. lightning gun).

I realize I am showing some bias, but I do truly think that tactics make for more tense and interesting games. Otherwise, base competition becomes reduced into a hand-eye coordination competition, which isn't in the spirit of any competitive 1v1 game.

Tuesday, August 26, 2008

Elevator etiquette

I have a fascination with various quirky social norms. One of these social norms being the standard etiquette present when riding an elevator. Before I move further, I want to disclaim that my elevator etiquette perspective is limited to standard observation of behavioral social norms in the United States.

First, one can observe the body position.
1. Elevator patron #1 enters the elevator, moving to the back left corner position.
2. Elevator patron #2 enters the elevator, moving to the back right corner position.
3. Elevator patron #3 enters the elevator, moving to the front left corner position.
4. Elevator patron #4 enters the elevator, moving to the front right corner position.
5. Elevator patron #5 enters the elevator, moving to the back center position.
6. Elevator patron #6 enters the elevator, moving to the front center position.

The following pattern is observed:
1 5 2
3 6 4

The positioning is not a guarantee, but it is very common. For example, the order and precise positioning of each patron may vary slightly depending on their right or left-centric brain patterns. It can also vary if the patron feels more comfortable in the rear of the elevator to unconsciously shed less attention upon themselves or if the patron feels more comfortable in the front of the elevator, perhaps feeling the need for a more speedy exit. Additionally, I have observed short-lived awkward chaos when the first person who enters the elevator stays in the front-left position to manage the floor-selection buttons.

Why do people do this? I think it's done as a courtesy. An elevator is a compact space designed for quick and, most often, vertical transportation. Due to the cramped space, people unconsciously try to keep as much space from other patrons, maintaining their sense of comfort and personal space.

A given elevator can also host more or less patrons depending upon the size of the elevator. Even when the elevator is crowded, patrons still attempt to position in an ordered manner to maintain as much personal space as possible.

Once positioning is complete, the elevator starts to move. Conversation tends to die down. Again, this isn't a certainty, but it is generally done as a courtesy. A conversation on an elevator is rarely designed for broadcast and, as such, elevator conversation can make any patron who is an outsider to the conversation uncomfortable.

Also due to the close proximity, rarely is direct eye contact managed. Patrons look at the floor number, waiting to exit. Patrons look at the floor, the walls, posters on the elevator walls. They look at anything but each other, again looking to preserve comfort level.

Finally, exiting the elevator is a ritual in itself. Patrons who know they want to exit sooner than other patrons tend to position closer to the door. If not, that patron needs to move through other passengers in order to exit. The repositioning is done almost mechanically, allowing the respective passenger to exit while maintaining and maximizing space between patrons who remain.

If a number of patrons exit the elevator at the same floor, often position will determine the order of exit. Additionally, traditional cultural norms may show where an adult male will defer to other women and children to exit before them as a courtesy.

The entire ritual is really fascinatingly bizarre.

Wednesday, August 13, 2008

How do you measure?

So, apparently, being a citizen of the United States, I am counter to the times by being a standard user of the Imperial system. You know the Imperial system?

Measurements: teaspoon, tablespoon, stick, inch, foot, yard, furlong, fathom, mile, nautical mile, acre.
Liquid volume: ounce, cup, pint, quart, gallon, and my personal favorite, hogshead (63 gallons)
Dry volume: pint, quart, gallon, peck, bushel
Weight: ounce, pound, stone, ton

I realize I am about to voice a dated opinion, but I will voice it nonetheless. The Imperial system uses a ridiculous amount of terms to describe measurement. The metric system uses basic math prefixes (milli, centi, kilo, etc.) and three main roots (liters, meters, and grams). The Imperial system is a fucked up mess.

The Imperial system was created by the British Weights and Measures Act of 1824. There is also a pseudo-Imperial system of measurement used in the United States. This measurement system is called U.S. Customary and shares many names and measurements with the Imperial system, but not everything. There was a later refinement in 1959 to the original British Weights and Measures Act in order to get more equivalency between the two similar systems.

Here's the thing though. The United Kingdom transitioned to standard metric units via the Unit of Measurement Regulations in 1995. Measuring devices commonly have both metric and Imperial units on them now. A beer is still sold in the pub by the pint. A number of signs are still in Imperial. However, the region is transitioning to metric.

Many probably know metric, but have used it more commonly in the chemistry lab - meters, liters, and grams... oh my.

A number of countries jumped on the Imperial bandwagon because Britain was pretty good at colonizing or exerting its influence back in the day - United States, Canada, Australia, India, Malaysia, New Zealand, Ireland, Antigua, Belize, Burma (Myanmar), Grenada, Guyana, Sierra Leone, United Arab Emirates, and Liberia.

In the past 40-50 years, there has been a push to standardize the world on a system of measurements. This system is known as the metric system. A number of countries have switched or are in the process of switching from the Imperial system to the metric system.

Some countries have not - the United States, Liberia, and Burma (Myanmar). Yes, 3 countries in the entire world have not yet adopted the International System of Units (the metric system) as their primary system of measurement.

A picture is worth 1000 worlds. How about 3 words?

It's time to suck it up and change. I realize it's a pain in the ass, but there is already infrastructure in place to support this on a number of levels. Your measuring cup at home probably has notches for both liters and cups already. Your car's speedometer probably already has measurements for both miles per hour and kilometers per hour.

The main things I will have to get use on a day-to-day basis are noting my weight in kilograms and having a more intuitive knowledge of the Celsius temperature scale. Let's capture the dream.

Wednesday, July 30, 2008

Domain name

So I'm looking to acquire a domain name and then get a web hosting provider in order to give the personal web site thing a try again. The goal is to use the site to host some basic info about myself, possibly this blog, my resume, along with some pet project.

Here are some things I would like to do:
1. Create a content aggregator page. This page would include content from sites, formatted as I choose. It would allow me to aggregate the majority content that I read into a single page.

2. Create the web site using newer technologies I haven't had a chance to play with as much.

3. Host some streaming audio and videos as I see fit.

I know I can get a lot of this for free or even use iGoogle for a hunk of the content. However, that's not the point. The point is to gain knowledge by doing it myself and also to have greater ownership over the project.

The first problem is finding a domain name. I've had several domain names in the past that have expired due to me not caring anymore. I may feel the same way again, but I'm willing to give it another shot. Both of those domains are now off the market due to domain squatters. Bastards. This leaves me with the opportunity to choose a new name that is available in the .com, .org, or .net top-level domains (tld). I'm not willing to take a good name even though it might be available in Malaysia or have a .tv suffix. I need a good name that fits the standard tlds.

The list of available names has disappeared slowly over time due to legitimate ownership and also squatters (bastards). I need a name that I think is cool, but also that is available.

This is proving difficult.

Monday, July 28, 2008

Design flaws

So this weekend I cleaned for the upcoming parental visit. In between shifts as apartment janitor, I played a little Team Fortress 2 (TF2). It's a fun game, but with some frustrating problems.

I was playing one of the converted old-school maps included with the game, 2Fort. It's a symmetrical map where the blue team and red team battle it out to play a more modern, violent game of capture the flag.

I was rocking the shit as I usually do except periodically I would die. Dying is inevitable in TF2. However, the frustrating aspect was not that I died, but rather the manner in which I did. I scored approximately 65 legit kills (not assists) and had about 23 deaths. Approximately 16 of those deaths were the result of cloaked spy players.

The spy is a rather unique class in the game. For killing other players, he is armed with a pistol and knife. For destroying enemy buildings (turrets, health and ammo dispensers, and teleporters), the spy is armed with a 'sapper' which drains the strength of a building until it explodes. The final weapon a spy possesses is a disguise kit. A spy can disguise himself in the form of an enemy class. I lied about the final part. The spy also has a cloaking device to turn completely invisible. This sounds pretty fun and good, doesn't it? The downside to being a spy is they have a very low amount of health and can be killed easily.

It can be observed that the game design intention for the spy was to disguise and cloak deep into enemy territory, sapping enemy buildings and knifing enemy snipers in the back. However, there's a flaw in this game design idea. Very few players actually do this. Most players either play defense, cloak to about mid-level or the more brave go barely to front of the enemy territory, cloak, knife an enemy player, retreat, and repeat. It is efficient and amazingly unbalanced. A spy breaks one of my cardinal sins of good game design in a very horrid way. A spy can not only get a guaranteed first hit on an enemy player, but that first hit is a guaranteed one-shot kill on that player. It's an unavoidable death. Unavoidably horrible.

Now, I understand in more advanced play, teams will be spy checking more often with pyro burst (another class which shoots fire). This still isn't a constant even with good play. Again, here is the winning formula to consistent guaranteed kills.

1. Disguise.
2. Cloak.
3. Uncloak to quickly knife in back for kill.
4. Redisguise and cloak quickly, running away.

No other class in the game has the capability for guaranteed kills. This is horrible game design. Every other class must rely aim or positioning. The only other class in the game that doesn't rely on aim or positioning is the engineer who relies on upkeeping static buildings to do his dirty work. An engineer can never reliably get kills in mid-field or on the front enemy lines because it will be near-impossible to maintain good upkeep on those buildings against good players.

There's a number of other problem areas in the game. Here is what I would do to balance out a few of the weaker classes.

* Soldier
Increase the number of rockets available by 4 to reduce dispenser runs.
Increase the number of rockets loadable by 1 or 2 (to go up to 5 or 6) to equalize demoman grenade spam.
Increase rocket damage due to the risk of playing a more mid-range/close-range class.

* Demoman
Decrease number of loadable sticky grenades to 6. There's no reason a class with high action management should have such a high payload.
Decrease sticky grenade damage slightly. The damage is too high for a class with a blatant action management advantage.

* Spy
Replace the ability for spys to go invisible with the ability to become semi-invulnerable while disguised. Players can still shoot spys to do damage (although significantly reduced while semi-invulnerable), but will not be able to be set on fire during this semi-invulnerability time period thus removing the most obvious sign of being a spy. This means that aware players can still kill disguised spys and also see them coming. However, unaware players will still get a knife in the back.

* Engineer
Buildings are fragile already due to uber rushes and range limitations. Reduce the costs of all buildings so they can be made and upgraded more quickly. The most fun games are when two teams are playing a tug-of-war game to gain positional advantages. Making buildings easier to build will enhance this factor.

* Scout
I wouldn't change much about the Scout. The double-jump with improved speed is very cool and deadly at the hands of a good player.

* Sniper
Reduce all randomness in sniper damage. A headshot is an instant kill. A non-headshot hits for a set amount based on the sliding sniper power scale regardless of where you hit an enemy on their body.

* Heavy
Decrease the scatter shot of heavy fire which will slightly increase damage at further ranges.

* Medic
Increase movement speed slightly to give medics a touch more survivability.

* Pyro
Reduce the length of the pyro fire damage over time effect. There's no reason for a class with higher than average action management to have a DoT effect that lasts as long as it does.

* Game changes
Remove critical strikes entirely with the exception of Kritzkrieg charges and headshots. Random critical strikes add artificial game flavor, but is a detriment to fair play. Randomness sucks hard when it comes to FPS play.

Friday, July 25, 2008

Sugar

I am a fairly intense person when it comes to passionate interests in my life. An interest can be a hobby, a lifestyle change, or a routine. When it comes to food, I am not particularly good at moderation. If I like something I eat it. If I do not like something, I do not eat it again. If I need to lose weight, I am unable to eat poor foods in moderation. I have to cut things out of my diet completely to be successful, else I will inevitably fail at the diet. This is particularly self-evident when observing the amount of sugar in my diet.

I try excessively hard to not eat sugar. Yes, I realize this is impossible. Fruits turn into byproducts of sugar. So do starches, grains, and probably a number of other foods of which I am unaware. I haven't had a candy bar, dessert, or soda since 2002. That's approximately 6 years now. I rarely drink juice, more rarely drink tea (always unsweetened), and never drink coffee. I drink water and a whole lot of it. I try hard to not eat foods with aspartame (e.g. - Equal), saccharine (e.g. - Sweet & Low), or sucralose (e.g. - Splenda) in them. This is near impossible to manage completely, but I try fairly hard to manage.

I do this because I am incapable of eating these foods in moderation and it helps my health. I rarely have cravings for extreme sweetness in my food anymore. If I am dying for something sweet, I'll usually have a banana, an apple, or maybe grapes or raisins.

Out of all the sugar-laden foodstuffs, the food I miss most is ice cream. It is amazingly versatile. I love milkshakes and all varieties of ice cream desserts and, yes, delicious girl-drinks like Mudslides.

I love sweets, but I simply choose not to indulge. I sometimes think about having ice cream some day in the future, and it leaves me wistful for a moment, remembering the texture and taste. It fades just as quickly though. I made a choice and the discipline needed to back that choice is needed. It can be painful, but it also can be empowering.

Thursday, July 24, 2008

The human factor

I am not one of the leading examples of emotional sensitivity in the world today. I definitely could learn a thing or two about getting in touch with ones own emotions and also better understanding the emotions of others. I do understand, on a basic level, standard human emotional instincts.

Globalization has resulted in many U.S. and European corporations going multi-national. This is done to expand their marketplace and also get a step ahead of competitors upon observing or predicting market transitions. The two countries in which countries are expanded to most frequently are China and India. Why China and India? They have enormous populations which means they are a huge marketplace and also a solid target for good local talent. This is most true in China. India is similar with an additional bonus in that they have strong laws and policies in place to protect intellectual property.

In order to meet these marketplaces head on, outsourcing occurs. Jobs that would normally be created in the original host country where the corporation headquarters are stationed are moved elsewhere. It makes business sense in many ways. I will use myself as an example. I know much about the customs and culture of the United States in order to drive development of a product. Development can be defined as requirements, functionality, usability, testing, and marketing research to best fit a particular product to a particular market. The problem is that I can't fill all of these roles when developing a product for India. I don't know the language. I don't know the culture. I can't effectively fill all of these roles, but local talent certainly can.

The problem occurs in the human factor. When jobs are being migrated or opened in outsourced locales, the existing employees get restless. On an intellectual level, many professionals understand the business loyalty is no longer present in the modern workplace. It is rare for an employee to hold the same job for 30+ years, gathering his or her pension, and then move to a condo in Florida. Companies are more fickle. They are more concerned for the inhuman corporation rather than the individual employee. They are more concerned with the shareholders rather than the shareholder. This isn't a diatribe on big brother, but it is a reasonable utilitarian perspective on earning money and developing business success.

Individuals on a non-intellectual level want to feel secure. They want some sort of job security. When that job security is threatened, it causes distrust and low morale. This may seem nonsensical to the non-emotional player. However, it has very real business consequences. It results in lowered productivity and also attrition. The question that businesses need to ask is that how much outsourcing can I manage without tipping the scales overwhelmingly?

I struggle with this issue ethically. I asked my father several times over the years, "Do you ever feel bad firing someone?" He responded, "I don't feel bad because that person always gave me a valid reason to fire them." What exactly defines a valid, ethical reason though?

I understand business reason and I sympathize with the emotional reason of the employee. However, both sides appear so far apart from where they used to be. Globalization indeed. This reason shows more in the form of absolutism and that truly worries me.

Tuesday, July 22, 2008

Getting my house in order

I have decided I need to get my house in order. One of the problems I've faced in the past year is falling into old habits and not being as rigid in my discipline as I have in the past. Well, no longer!

I have reverted back to an old routine (is it regression or progression to move back to old, yet positive patterns?) last week. I started to run again. Or rather, I started to walk rigorously, then start running again. For me, running is that caustic friend who busts your balls regularly, but you cherish that friend because they are just keeping you honest.

I want to get to the point where I run a comfortable 8-10 minute mile. An 8-10 minute mile isn't outrageous from an Olympian perspective, but it's decent for me. I run at a good jog, building up my heart rate while disgustingly sweating several gallons of water weight.

Now, what is the goal of running? I want to run for the following reasons:
1. Lose weight. I know there are more low-impact aerobic exercises available to lose weight such as biking or various sporting activities, but I like the solitary pain of running. Although it is more jarring on my joints and bones in the long run, I can accept that due to my enjoyment of the mind over matter aspect of running.
2. Run a 5k race. I'm not looking to break any records or compete to win. It's one of those bucket list events (yes, I said it and I apologize) that I want to complete in my life. I want to finish at a decent time for myself and go from there.

The other activity I am working on is generating lists. My mom didn't suggest this, but she is very sharp when it comes to planning details; so I am trying to channel some of her chi into my day-to-day life by writing down things I need to get done. Simple, but effective.

Monday, July 21, 2008

Gameplay speed

Yes, we all need to do a better job at multitasking to make our lives more efficient and productive. However, that's not the multitasking to which I am referring.

I am referring to the number of tasks a player can do at once while playing a game. On a related note, how many actions can a player do per second, averaged over time. It's an often overlooked aspect of game design. Multitasking and action management are one of my major frustrations while playing multiplayer games.

I will use two games as an example of how poor game design affects the aspect of action management in a game.

World of Warcraft
This is most easily seen in the aspect of player vs. player gameplay. In PvP combat, whether in battlegrounds (a PvP match involving groups of 10 players or more battling against each other) or arena play (2 vs. 2, 3 vs. 3, or 5 vs. 5 combat where players only have a single life and cannot respawn), players win by most effectively using their gear, racial, and class talents/abilities to their advantage.

A game designer can effectively balance players with equivalent, but different gear by making their gear scale in a balanced manner. The WoW game designers attempt to balance racial skills around timing (how long does a racial ability last for and how long is it on cooldown or rather how long until the player can use the racial ability again). Many players are advocating the elimination of racial abilities from PvP play due to their inherent inbalance. Certain racial abilities are seen as more advantageous for PvP play since they allow for more first strikes and earlier crowd control (Human Perception) or because they can counter crowd control (Gnome Escape Artist, Undead Will of the Forsaken, or Dwarf Stoneform).

Class talents and abilities are, by far, the most difficult problem to tackle. Class talents define gameplay. Gear changes; talents (for the most part) do not. In order to balance class talents, major overhauls need to be done for a class in order to balance that class with all of the other classes in the game. WoW talents and abilities show as most unbalanced when it comes to gameplay action management.

If one class can manage two things at once, while another class can only manage one thing at a time, the multitasking class has a significant advantage. If one class can manage 1 action per second, while another class can manage 0.33 actions per second, the class that can manage more actions per second has a significant advantage. The only way to balance this situation is to do the following:
a) Overhaul the class, adding multitasking talents.
b) Overhaul the class, nerfing multitasking talents.

Now, it's important to use the term 'overhaul' here. The required changes may affect only one talent or ability, or it may affect many abilities. The reason the change is an overhaul is because it would require core gameplay changes to the class.

In WoW, every class can multitask to a degree. For this analysis, I will only look at the core PvP specs for each class. Mages, for example, can multitask via slowing their opponent via a frost attack (which lasts a number of seconds after the initial hit) and continue to output damage or switch to crowd control while that target is slowed. A mage can also output damage or crowd control while their pet, a water elemental, does damage without active management from the mage player.

1. The player tells his or her water elemental pet to attack this target and the pet begins attacking.
2. The player begins to output damage or crowd control on their own while the pet continues attacking (multitasking).

The problem is that each class has various degrees of uptime when it comes to multitasking and actions per second. This is where the major imbalance occurs in the game.

Druids - Can lay down heal over time effects (HoTs) and continue to do additional heals or crowd control while that is occurring.
Warlocks - Can lay down damage over time effects (DoTs) and continue to do additional damage or crowd control while that is occurring.
Priests - Can lay down heal over time or damage effects (HoTs or Prayer of Mending) and continue to do additional heals, crowd control, or mana burns while that is occurring.
Rogues - Opening stealth attack with instant attacks.
Warriors - Undispellable snares with instant attacks.

Rogues and warriors are an interesting case to observe. Barring stealth prevention or detection (which is amazingly useful but not omnipresent for all classes or arena makeups), rogues have a guaranteed opening attack or crowd control. They have an immediate advantage in terms of action management. Both rogues and warriors also can manage instant attacks, which is not common amongst the damage dealing classes in PvP play. They can attack more often, which gives them more gameplay flexibility. The only other class with a major amount of instant attacks is the Warlock, who deals instant damage of time abilities.

Classes that do not have high action management or high uptime multitasking abilities tend to either be much more difficult to play or underpowered. These classes are either under-represented in PvP arena play (the most seriously analyzed form of WoW PvP) or rely on high action management classes to cover for their weaknesses, thus forming a PvP metagame of managing class composition to strengthen ones arena team or countering other popular team compositions.

Some players claim the game is balanced via metagame, but this is a poor argument. The metagame can change based on Blizzard (the gaming company who develops WoW) releasing a patch which only changes one ability. Since gear changes frequently, the only solution to this game imbalance is to overhaul class abilities and talents.

Since WoW has been imbalanced so long, why hasn't this been done yet? I think for two reasons:
1. Overhauling the gameplay of a class is a monstrously difficult task. Despite the fact that many talented professionals work at Blizzard, it also implies culpability of game designers. People are, in fact, only human.
2. WoW has no competition. If WoW has no strong competition, Blizzard has no strong need to work heavily on game balance. If a player dislikes how a class plays, they can choose to create a new character that more matches up with their gameplay likes (whether it's for fun, competition, or balance concerns).

Team Fortress 2
The problem of action management is also found in Team Fortress 2 (TF2). One of the great aspects of first-person shooter game design history is that everyone starts out equal (this has changed with some popular games, but the core FPS game design examples agree with this game design philosophy [Doom, Quake, Unreal Tournament, Counterstrike]). All players spawn as the same type of player. They all have the capability to act and move at the same speed and manage actions at the same rate. The major difference between players is observed based on what weapons they are utilizing and the experience of the player. WoW should be striving towards this where the only balance considerations to make during a play session would be how much gear does a player have and how much experience does a player have.

Team Fortress 2 fails on this front a bit. TF2 has the same problem as WoW in that there are multiple classes with different abilities, thereby making game balance an uphill battle. However, there are core action management differences which show game design failure.

The two classes which strike me as the most imbalanced are the pyro and demoman. The pyro can damage or reposition while fire damage of time effects are occurring. The demoman can fire and forget grenades while firing or repositioning. These two classes have the ability for increased action management in comparison to other classes.

It is fun to see people die in fire. It is fun to also blow people up with a grenade trap. The problem is that it's not as fun to be on the receiving end. I grant that it is usually more fun to be on the winning side of things. Game balance is something to be strived for, not because it is more technically adept to do so, but because it provides a more equal platform for players to get what they want most out of a game, whether it's respawning after a death or tallying another frag -- a fair chance at having fun.