Saturday, December 29, 2012

The Wake

My martial arts teacher studied under his own master for more than thirty years. His master died on Christmas day, and I attended the wake three days later.

Apparently, when someone dies the Chinese purchase paper models for the deceased to use in the afterlife. I saw a paper house, big and palatial, too big to fit through the door. There were even paper vehicles. Inside, there were people busily stamping paper with a gold rectangle in the middle. I was told that this represented gold; here, it was paper but on the other side it was the real thing. It all struck me as not about saying goodbye; it was like the deceased decided to go to a faraway place to live a new life and everyone in the family was helping to make that new life as comfortable as possible.

We weren't supposed to say goodbye when it came time for us to leave; I was told by my teacher that if you needed to go, you didn't need to announce your intention. You just left. What a wonderful tradition, I thought. At any point, life consists of comings and goings - and even at the wake of family they do not forget this. Those who are here now, look twice and see that they are gone: those ghosts from a person's past, come together this one time to reminisce and to grieve.

It did not feel like how the wake of a great warrior should be. There were no dire portents. I passed so many people going on their own business and I remember thinking - Don't you know? A real martial artist just died. A wonder just left this earth, and you didn't even know. He was lucky to have had the opportunity to study the things he mastered. He was crazy enough to surpass his own teachers. Will we ever see anyone of his like again?

I saw a lot of authentic martial artists in the time I was there. They had strong handshakes and sturdy frames; even there they were still talking about martial arts. It's an honor to have been invited to join them.

Friday, December 28, 2012

Playing with Fullcalendar


The Fullcalendar jQuery plugin is great to work with, it has so many features and I became amazed at how much work must have been put into it. I've had occasion to use the plugin and encountered a particularly thorny issue about selectively getting the date to change color, like the example above. What made things difficult was that each individual cell of the calendar did not have a unique id. Furthermore, the calendar uses the same cells for each month, so each changed cell had to be returned to normal before new information could be rendered. The plugin was being used along with the viewmore code; it was really tough finding a way to make the effect happen but a solution was eventually found. For this, I really have to thank Mr. Vishal Jadhav for pointing me in the right direction (you can see his blogs here and here). The code though didn't work as is so some tinkering had to be done:


The properties of each event object were set and the whole list was passed through JSON from the Controller; the event title property was used to set the markup of the event. The script would search for calendar events with the holidayRemark class, then figure out which cell in the calendar the events fell on; after it did that the script would then add the holiday class, which would turn the calendar cell's date and text red. Mr. Jadhav actually does a better job of explaining how the solution works, and you can view that here.

Now, in order to remove the date colors when the user cycles between months a rather inelegant workaround was used: see, each cell has a class .fc-day#, where # is a number from 1 to 42. The date number is in a div with class .fc-day-number, the div in turn is a child element of the div that has .fc-day#. We just put a for loop in the section of the viewmore code handling cycling between months, removing the holiday class from the particular .fc-day-number div. The code is below:


As I recall, this was around line 74 of the plugin code. As a final reminder, please be informed that the calendar renders incorrectly in Chrome because the browser orders the events based on the start and end properties of each event. Events which have the same start and end time get rendered in the proper cell, but in what appears like random order (more information here). My workaround was to add the index of the event from the list that came from the database to the minutes of the start and end date of the event; if additional entries need to be added that have to be below that specific event, one can add an arbitrary number of seconds to the start and end properties.

Lastly, here are the holiday and holidayRemark classes used:

.holiday
{
    font-weight: bold;
    font-style: italic;
    color: Red;
}

.holidayRemark
{
    font-style: italic;
    color: Red;  
}

UPDATE: Mr. Jadhav's work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported license. Clicking on the link will take you to the page listing the license's terms.

Thursday, December 27, 2012

So I've been playing around with Eric Hynds' Multiselect Widget and I've encountered a pretty interesting situation that I think deserves mention. What the widget does is it hides the select tag and replaces it with a button, and it also appends a list of links that display the options in the original select list (this is of course a simplification, but for our purposes we just need this much detail). The widget provides links for a Check All and Uncheck All of the options, but in my case the page always scrolled up when clicking the links. It was most likely a result of the widget interacting negatively with the other stuff in place - the project was using MVC 3 and a host of other plugins/scripts/etc. As a workaround, I decided to overwrite the native code for the click event, but as it turns out the list of links that the widget appends to the body doesn't provide the div with an id attribute; worse, unlike the demos Mr. Hynds has on his site the appended lists weren't anywhere near the select list. I wouldn't be able to specify the parent-child path for the jQuery code.

I initially used the .ui-multiselect-all selector, but that posed more problems since I had two of the multiselect lists in the same page, and both used the same set of classes. Investigating the code provided a possible solution: in hiding the select list the code made use of an el variable, which was provided with a title property. The title property can be set in the select list.

So in the code, I added an id attribute for the menu that had a value equal the the title of the select list:



Then, I just needed to add a title attribute to the original select list:

<select id="selectID" class="classes" multiple="multiple" title="titleForMenu">
.....................
.....................
.....................
</select>

And now I had the proper id attributes to distinguish between the two multiselect lists' Check All and Uncheck All links.


$("#titleForMenu .ui-multiselect-all").click(function() {
     $("#titleForMenu .ui-multiselect-checkboxes input:checkbox").attr('checked', 'checked');
     $("#selectID").multiselect("getButton").text($("#titleForMenu .ui-multiselect-checkboxes  
                input:checkbox").length + " selected");
     return false;
});

$("#titleForMenu .ui-multiselect-none").click(function() {
     $("#titleForMenu .ui-multiselect-checkboxes input:checkbox").removeAttr('checked');
     $("#selectID").multiselect("getButton").text("Select options");
     return false;
});





Wednesday, December 26, 2012


I am now on my second run-through of Hitman: Absolution. I'm playing on Normal, and this time am particularly focused on getting Suit Only and Infiltrator challenges. At times I find myself wondering why I'd want to replay the same missions; even though getting things perfect seems reasonable, we are talking about a video game here. And each mission can't be completed without several hours of grief - that is if you're really talking about being perfect.

My standards have gone down a bit since playing this game. It's a consequence of having been a Thief player. I want to "ghost" through the entire level - nothing moved, nobody knocked out, nobody killed except for the target, no disguises, no NPC becoming suspicious. Just relying on timing to move through the level provides for great amounts of frustration until one accepts that the designers probably didn't design the thing that way. It's taught me much about patience and focus, playing as a bald genetically-engineered super-assassin; not to mention it's a pretty good distraction. So much so that the game has started to really eat into my training time so now I'm cutting back; thirty minutes a day should do it. Even then my mind occasionally strays, especially on some of the stickier points of execution.

For example, I've been recently trying to find a way to get the evidence in the Barber Shop part of the Shaving Lenny mission. On Normal, the evidence is on top of a widescreen TV that has four people surrounding it. Depending on which entrance you take those four may be joined by two more people, standing behind the four at angles that overlap blind spots. Beside the TV are stairs that lead up to an open area that has three hostiles, two playing pool and one seated to the side watching the other two. There is a room adjacent to the TV that opens to stairs; lingering on the stairs will invite an alarm as you are still within the line of sight of at least one guard.

The TV is up these stairs, to the right.

The answer, which I found after nearly sixteen hours of trying (I kid you not), was to leave a bomb that you start the level with in one of the upstairs rooms. Detonate the bomb once there are only six people in the room (which means you need to eliminate the two targets and subdue Lenny/wait for him to go on patrol first). Doing so will make them all look in the direction of the blast:



When this happens, take cover at the side of the leather chair that is closest the doorway beside the TV.


From here, and this is vitally important, WAIT. Usually, only one guard will run up the stairs, followed by a second or two before some others follow. This is the best outcome, and you can then go take the evidence, go back to that precise spot for cover, then walk through the door you came out of. However, it is still possible for all of them to start going for the stairs, and this is why the cover is important - you might get accidentally spotted so it's best to hang back and change your avatar's placement depending on who gets a whiff of you. The absolute worst scenario is if the guy who was sitting on the chair you're hiding behind turns around. In that case you have no choice but to reload - you only get one bomb, and any of the other incendiary devices in the level can't be detonated remotely. Not unless you're a good shot and can shoot a petroleum tank near the rooms I was talking about on the second-floor walkway from the first floor after distracting the NPC who'll be otherwise looking directly at you while you're aiming.

That was just for getting the evidence, by the way... Completing the other level objectives would take about the same amount of time to explain for each goal. It would be so much simpler to kill everybody in the building, and I myself am not proud to say that I copped out on my first playthrough and took the easily accessible Barber disguise. I guess to someone who's more used to the conventional type of games they would think that this is a whole lot of bother, and it is that, oh my yes. But the Hitman: Absolution world is quite a well-designed, complex one, and playing with that world is tons of fun. Take note that I used the word complex - there's a lot of rules that are not immediately apparent when you start out, and even with a thorough exploration it's still possible for the game to surprise you. A group of NPC's might move to investigate the sound you made, but they might not move in the order you saw on your last game, or maybe only a couple might move since the object you lobbed bounced after it landed.

To other beginner players - yes, NPC's will stop at the place that they last detected made sound - whether it be at the spot you suddenly stopped running or where that screwdriver landed after it bounced. Typically, the closest NPC will move to investigate anything less than an explosion - and for the purposes of keeping your sanity remember that when bouncing things off walls the thickness of the wall may as well be zero to the NPC you're trying to lure. )

That kind of randomness is something quite familiar. Difference being, when we screw up we can just reload the game; and with the game, we are very sure that we can win, by definition. Sticking to a higher standard seems easier then since the stakes aren't really that high.

Thursday, December 20, 2012

Imagine an office worker coming home after work. It's been a long day and though the job is bearable it's still work. He's looking forward to a simple but hearty dinner and time to himself until he sleeps and wakes up the next day. He seems like he's walked that same route for years. He walks alone at a steady pace. He doesn't notice the light turn green, he just walks when the vehicles disappear. He sees her, and it is a classic double take; she's talking to someone on her phone and isn't paying attention either. And somehow, she sees him. Those seconds were so long to him; were they the same for her?

She looks down, and a half-smile appears. Time restarts.

She smiled.


Sunday, December 16, 2012

There was a point when I had really begun to believe that all the amazing things had already been discovered,   that there was no more place for Thomas Alva Edisons in this world. A recent browse through a science magazine's archive of articles changed that - there were so many breakthroughs that occurred recently, it's possible that by the end of the current decade the face of the world would be completely different again. I say again because I managed to live through the technological revolution that started in the 1990's.

Perhaps it wasn't much of a revolution for most, but it was certainly an upheaval, those days: from having Internet service that you had to plug into your phone line and that gave that distinctive sound when connecting to 3G and WiFi technology. Cellphones, come to think of it - from blocky monsters that you could brain someone with to sleek multi-purpose PC's-in-a-pocket. I lived through the World Wide Web becoming a well-designed commercial sphere from its humble beginnings as a collection of static, painful-to-look-at pages.

There was a lot to create and find out then, and there is so much of the same going on today. Humanity is on a great adventure right now. Yet it seems like most of us are just along for the ride, and the reason I thought that there were no more Edisons was that they were too beyond me to be seen.

These people who have mastered their fields and open up new frontiers... how hard must they have worked for that privilege. How lucky they must have been to have things open up for them. How talented they must be, to recognize the opportunities come their way and make something out of what would ordinarily defeat others.

Mastery. It gives special powers over things pertaining to one's field, but is so difficult to achieve. I've read (and-re-read) Robert Greene's new book on the subject, hoping to find that moment of clarity by which one can establish structure to the chaos that is a life. I would recommend it to anyone, it is quite a good read; he has very reasonable things to say about developing oneself. But I do have misgivings: mastery is certainly something to aspire for, but I wonder if it is an automatic purveyor of fulfillment.

Reaching the pinnacle of your art requires so much sacrifice, and even then there is no guarantee that what you attained would affect anyone, much less last long enough to do so. Bruce Lee, for instance, died so young - what would his legacy have been if he did not have students like Taky Kimura or Dan Inosanto to continue his work? It's part of a trend in the martial arts - within any art's history you would see a handful of martial luminaries who are remembered and venerated by the later generations of students. No one seems to remember much about those who came between, those masters who bridged the gap and passed on their knowledge to the next generations. I suppose they would be of import in the sense that remembering their names helps establish the lineage of a teacher...

Even if you had the resources and luck to be the very best, there is still the question of whether it can support you, to pursue mastery of that area at all.

Mastery is a solo enterprise in the early phases of development, but it seems to me that upon reaching journeyman status the pursuit of mastery ceases to become an individual undertaking and more of a social one. A master's work must call to people, and people must in turn provide feedback to the master about his work. A master's work is never done, in that he must constantly strive for improvement; in this constant change it is still quite possible to deviate, no matter how old a hand one is. "Count no man happy until the end is known," and perhaps the same thing applies for mastery as it does happiness.

Saturday, December 15, 2012

I have been playing the Hitman: Absolution game the past month and just finished the story mode today. I've been a fan of the series since it began; I've played every single game, several times for some of them.

The first time I saw Hitman: Codename 47 it was the last disc the store had on stock. It was for display purposes since the game was already scratched. I had a choice between buying this or Thief: Gold; at the time I was looking for a new game to play and had fallen in love with the idea of stealth games. I would play Thief later on.

There is something about stealth games for me. I suppose at first it was being a cool character temporarily, being able to wield amazing toys and being scarily competent with them. The first stealth games were quite influenced by the standard first-person shooters, but had this twist - you had to figure out the line of sight of the target, get into a good position, not be detected, etc. It made for frustrating trial-and-error, especially later on when statistics got to be added to the mix. At that point "perfection" became of paramount importance.

I just wanted to play Hitman: Silent Assassin on a lark, just to see how things changed from the original. The missions were more interesting, the story was quite engaging enough to make me want to keep playing on. That game was what got me thoroughly hooked. In contrast, Hitman: Contracts was a slight letdown; I've only played it one-and-a-half times. Hitman: Blood Money was a joy - and that is all I have to say about that, it's just that good.

I've gotten so old, haha... the concept of Downloadable Content is so new to me. Hitman: Absolution is a different experience for me as well. Agent 47 moves so fluidly now, hiding behind things was so awkward before. He makes you feel even more like an elite operative. You can see where the development team tweaked the features that made Blood Money what it was - throwing things is not a hit-or-miss operation now, and NPC's reaction  to sounds are more natural (as well as easier to base strategies around). The whole thing has shades of the cinematic, and the range of what 47 can do has become so great. The HUD and player prompts have also been upgraded, but still betray their connection to Blood Money.

Far from its FPS roots, Hitman games have become more exercises in puzzle-solving. You explore the world and notice elements, evaluate them and figure out the proper execution of events to do something like get that final piece of evidence or get the body to that storage container at the other end of the level... There's minimalism involved as well - how to do it in the least time, without hurting or pacifying anyone other than the target, while affecting the environment only in the slightest. Hitman: Absolution surprised me in that there's a bit of improvisation involved - sometimes NPC's don't behave the way you expect them too, or they behave too erratically and you have to adjust. Maintaining cover against hunting enemies could be a minigame in itself.

There's a lot to master and do in the game, and I look forward to playing it over and over in the coming months. It's certainly given me an interest in learning about actual escape and evasion tactics.

Sunday, November 11, 2012

My last post about the T-ARA controversy had me thinking about why I made it. In all probability the past few months they have gone through will be as statistical noise - irrelevant compared to their career taken as a whole. In fact they seem to be recovering quickly. I suppose the only thing I accomplished in doing so was outing myself as a Queen.

(Yes, that is what they call their supporters. Queens.)

It was a pointless thing to do, but I still felt that I had to do it. I felt I needed to take a stand against the persecution as a matter of principle. There is no context where saying someone deserved to be in a car accident could ever be justified. Calling for someone to be infected with a terminal disease then raped or murdered is unconscionable.

Was the aim to teach the members a lesson? Then if they died or disappeared from the public eye, how would we know that they had learned? How could they practice "not being a bully" if we  take away their opportunity to do so? It seems like the message we're sending out with being so venomous is that some forms of bullying are fine, or perhaps that bullies should be more cunning in hiding their emotional terrorism.    

The appeal to altruism is a lie. What's been done to T-ARA is violence, pure aggression stemming from outrage. And outrage is a tricky emotion; where other emotions' causes would involve the individual in a personal way, outrage bases its trigger on the breaking of social codes that are present in the society the individual belongs to.  That means you don't have to be the wronged party to feel outrage. It also means that people can feel entitled to retaliate over things so inane as using a pot lid as a plate to eat ramen.

I suppose it derives from the sense that when someone crosses a rule they should be immediately punished. When a public figure prances about in front of us we expect him to know his place, that he is merely an entertainer subordinate to our own whims. If he stays long past our interest he becomes the target of scorn, and if he breaks a taboo then the opportunity for greater entertainment arises through his ruination. The anticipation of this greater entertainment as well as its playing out inspires deep emotions within us. For instance, when the Romans held their gladiatorial games it wasn't uncommon for women to be seized with a madness while watching the spectacle. The sight of bloodshed somehow ignited within them lusts that less scrupulous youths would take advantage of - an ancient form of date rape, if you will.

Now, people don't need to gather in amphitheatres; they have the equivalent of perpetual front-row seats. They are close enough to see all the gore and fallout, while at the same time they retain their anonymity and distance so they don't feel guilty over what others have to go through. 

Who gave us the authority, the right to be judge and jury? What qualifies us to be the enforcer of society's rules? I find no comfort in the fact that 50 years ago we were enforcing a completely different set of norms, or that we just need to change countries to find the same set of rules invalidated. 

I feel for every Tablo, Lindy Chamberlain, or Christine Collins out there. I feel for Park So Yeon, Jeon Boram, Ham Eun-jeong, Park Sun-young, Park Ji-yeon, and Ryu Hwa-young.    

Saturday, November 3, 2012

알고 있는 팬들만

I have a problem.

There is a group out there I really like, they can be easily identified if I mentioned their initials.  They seem to be very different from the usual celebrities that I get to know of. They've been doing quite well, except that they got into quite a nasty situation this year. It's become quite a big deal, and they are really having to endure a lot of pain as a result.

I don't really know them; all I know I got from reading things on the Internet or watching their appearances. I've never worked with them or talked to them or even met them. But their being around has made me smile and laugh more often than usual. I cringe inside when I see them having to go through awkward situations. My outlook in life has been a little bit brighter because of them, even though the obstacles I have to face are still as heavy and dark as ever.

Everyone wants answers on what truly happened with one of their members. People are feeling betrayed. But what I feel is gratitude, for what they have done for me so far. It's amazing, how they have the power to inspire someone from so far away. To someone who does not smile much at all, every barely-suppressed grin is a treasure. They have improved the texture of my life.

 I would like it if their persecution would stop. They are dedicated women, very strong and chasing after such a big dream. In no time at all the dream may end on its own, and I'd like it if the quality of their memories of this time would be as unblemished as possible. Continuing on punishing them like this is like polluting a river - everyone doesn't care that everybody else is doing the same thing, and so what was once a clean waterway soon becomes stagnant and dirty.

They're people. They fail to measure up too, sometimes. But they have dreams and people to support and loved ones who are affected when they are crucified by a few lines of text or a few minutes of video that have been taken the wrong way. If we take their livelihood away from them, it is not just them who will be inconvenienced. They're people - they couldn't have known what would happen to one of their own or what effect their words would have. Putting them on such high pedestals just makes them more liable to fall.  

My problem is that I have no power to act on this feeling. I am alone while the ones doing the hating are many. I am anonymous, but so are they. They are acting on what they hope for the most, and they are acting with such energy that I could never match them. I have no money or connections or skills that could be put to use. Indeed, I feel that no matter what I do right now the pain they will have to face won't be lessened by much.

But I've decided to live with that painful knowledge and do what I can. Though my best may not achieve my goal, doing so at least brings me a bit closer (hopefully). And perhaps my feelings will carry over, and like the magic that touched me one weekend the world could be made right again for them.   

Sunday, October 28, 2012

The best thing about living in a society is that a lot of things are guaranteed for you. There is no need to protect your territory, to be stronger or faster or meaner than those you encounter. There is no need to be particularly smart or exceptional, even - a good society supports its members regardless of mediocrity. This is because a citizen may yet find their calling and enrich the society by his existence; or at the very least perpetuate the society and its current culture. The support provided is part of a contract where in exchange the receivers of this support are expected to perform obligations that ensure the continued longevity of the provider.

Upon being born, we are provided support by our State. To me that seems more a debt incurred than anything. Unable to understand the contract, we are still provided for with the expectation that we will pay it back once we are considered to be of age. Feeling entitled to the rights we are told to have is quite the wrong way to think about it. We are mitochondria in the great Cell that is our society.

I wonder if that deadens us somewhat. Because we are in such a structured environment it becomes difficult to adopt a different mentality that is suited for the chaos outside. Even inside, there is still chaos; society is only able to partially tame the wildness of life.  But most of the time we see only what we are comfortable in telling ourselves to see. We impose our wants and fantasies on a world that is largely indifferent, when all that is really guaranteed to us is the journey and not the destination.

Life humbles us, that is a fact. Perhaps it is just luck that we have not been humbled more than others. But the journey - the struggle -  is something fortune cannot take away, so it seems right to be grateful for that. Indeed, it is probably the only thing any of us can call our own.

Tuesday, October 23, 2012

I got my profile picture from Nina Paley's blog. It was a quite nice piece and one day I'll tell her about my using it here. I find myself identifying with her stance on Free Culture, and I think of the profile picture as my personal tribute to her.

The image was chosen since it seemed apt in lots of ways. Parashurama the Axe-Wielding Brahmin as Ms. Paley identifies him wields, well, an axe; the Pi Quan of Hsing-I quan that I had the privilege to learn has the characteristic of an axe, splitting the target. But more importantly, Parashurama is an axe - he is a warrior who has honed himself as sharp as any blade. I identify with this process of honing, of taking away until what is left is able to do its purpose at its most efficient.

The honing leaves an edge, and martial arts seem to always function the best at the edges of things; indeed, they are probably for use during those times when life is on the edge, when there is uncertainty. My practice currently is about finding my own thing in this chaotic situation, of being unmoved as laid out in the "Tengu Geijutsuron," a book that combines ideas from many sources - many of which descended from concepts that in turn originated from India.

No less important to mention is Parashurama's dual nature. Call it a remnant of the boy in me; Neil Gaiman introduced me to the idea that little girls dream that they are secretly princesses, and perhaps for little boys it's that they are secretly gods. Of course, they dream that they are gods, but they believe they are actually pretty amazing heroes.

I used to wish to be something amazing, and for some time when the going would get tough I would still reserve a small measure of self-delusion that I was better than other people. The training that real life gives took that from me years ago, but I still do remember how comforting those fantasies were.

As I grow older I tend to see it happening again and again, things falling away from me like the sparks from a sharpening tool, a continuous honing until even my existence has been worn away. But Parashurama exists, and continues to exist even now. He is in the world. He is no symbol of hope that may never come, no King in the Mountain. He is in the world, doing what he can and leaving what little he can't do up to Heaven - where, as Vishnu, he does even more.  

  

Saturday, October 20, 2012

How I will write

I would like to set down standards that I could hold myself to with regard to writing. My digressions may not give much in the way of wisdom but at least no one will be able to fault my style.

The way I see it, each post amounts to an essay; I have been writing essays from a very early age, so there should be no problem there. Of course, all of us have written essays; the problem for me is how to do so well, or at least in a manner which would distinguish this blog. This blog, which up to now has absolutely no focus or overarching theme, nor could be expected to gain one in the very near future; this blog, which due to my lack of artistic talent won't be able to offer pictures or video anytime soon.  

For inspiration, I thought to look up Michel de Montaigne. It seemed like a good idea to get pointers from the author of the best examples of the form. I will someday have to read his work, but for now I knew how to go about things.

Essays are supposed to be short. They address subjects which the writer has personal experience about. The tone of a good essay is informal, even intimate - like two friends shooting the breeze over at a bar. An essay does not preach, it goes over its topic with objectivity. It is absent of any presumption or posturing.

This will be how I write.    

Friday, October 19, 2012

Hi all.

This is my first post. The first time is always hard, and as I am typing this I am coming to the uncomfortable realization that I really don't have anything amazing to say about anything, let alone such a historic occasion as the inaugural post of a blog; then again I am doing this in the spirit of making something, so please excuse the awkwardness.

I want to make something, is the intent I want to say lies behind the creation of this blog. I am no artist, no genius. I'm the average bloke who life has largely passed on by. I am largely lazy and unfocused and that is why I want to set out  with this blog - there are things I want to be and things I want to do, and I want to record stuff for the only audience I really want to be reading this.

By audience, I'm talking about the me years from now. Solipsistic, I know; I am a bit crazy.

There are some things I care about and these subjects will be mostly what goes into my blog. I promise I won't go into rants too often.