Sunday, June 3, 2007

On the Superiority of Questions over Answers

Answers can be wrong. Questions can only Be; they are a more pure, even if derivative, form of observation on reality. Moreover, answers require supposition and interpretation of reality, and thus the assertion of ego onto the objective world.

While both fall victim to the pitfalls of individual perception, it is the nature of questions to contain the ego within itself, and thus often serve to highlight it. Answers only server to disguise assumptions, or set up conflict with those who don't share them.

Consider:

Q: "Why are we here?"
A: "Because god put us here, made in his own image."

Which do you consider more profound, or likely to lead to an insight to existence?

Accumulating answers is the process of erecting walls, confining lines of reason into what one hopes is a gilded path to the Truth. Accumulating questions is the process of expanding new avenues of thought. Most importantly however, is the tendency, when one has gathered enough questions, for the correct path to fall naturally from observation, egolessly.

Saturday, June 2, 2007

On the Nature of Suffering

Suffering is what gives meaning to happiness. In this way suffering is as necessary to happiness as black is to white.

Without suffering, we could be the most fortunate people in existence, and never know it.

A hard road traveled is what makes the destination worth arriving at.

Today we went to Minato-mirai to celebrate the 150th anniversary of the opening of Yokohama harbor (and therefore all of Japan) to foreign traffic. The theme was "thanks to the harbor".

There was a lot of people there, and while we enjoyed the day-light festivities and sampled all the foreign festival cuisine, as the evening came, and the prospect of a serious fireworks display at 8:30pm, so did the people.

In principle, I like people. In practice however, whenever they manage into crowds, its a statistical certainty that they will start doing things that make them become, as a unit, stupid.
So for this reason, we decided to skip fighting with the crowd, and just pack it in early.

(If you want a visual, imagine a dad, gleefully video-taping the strapping young pride of his loins attempting to rip a branch off one of the carefully landscaped trees in the public park. Now imagine what I said to him.)

Its a shame, as we left there were some pretty amazing fireworks going up, but there was not much room, and little will for a fight with the crowds.

Wednesday, May 30, 2007

Conditional statements in C++ Template meta-programming

C++ Template meta-programming is a black-frackin-art -- one of which I am totally in awe of -- that consists entirely of exploiting the corner cases of the specifications type deduction rules.

For your edutaining pleasure, the implementation of is_const <T> in GCC:

  /// @brief  helper classes [4.3].   
template
<typename T, T v>
struct integral_constant {
static const T value = v;
typedef T value_type;
typedef integral_constant type;
};
typedef integral_constant true_type;
typedef integral_constant false_type;

   /// @brief  type properties [4.5.3].    
template
<typename>
struct is_const : public false_type { };

template<typename T>
struct is_const
: public true_type { };

How it works depends entirely on the template (partial) specialization features of C++. When you have:

template <typename T>
void fun (T val, const true_type&) { do_foo(); }

template <typename T>
void fun (T val, const false_type&) { do_bar(); }

int main() {
typename const int a_type;
typename int b_type;
a_type a = 5;
b_type b = 3;

fun (a, is_const<a_type>);
fun (b, is_const<b_type>);
}

Temporary objects of types is_const<a_type> and is_const<b_type>, respectively, are made. C++ will try to pick the best match for each parameter type from the list of available classes for is_const<T>. In the case of b_type, the only suitable match is the non-specialized definition, for a_type, the specialization is_const<const> is a better match. That way the overloaded function fun is sent, in the case of a an is_const type that derives from true_type, and in the case of b an is_const type that derives from false_type, and thus is able to dispatch to different routines based on the overload.

New research showing that altruism is a biological function of the brain.

I wonder what this means for all the people on my daily commute who pretend to be asleep when they should be offering their seat up to an old lady clutching on to her walking cane?

Sunday, May 27, 2007

Addendum to my post about sexual discrimination: stereotypes R baad m'kay.

Saturday, May 26, 2007

The only places I've found for english language computer books in Tokyo/Kanto is Junkudo in Ikebukuro, and Yurindo in Landmark Plaza (Sakuragi cho). If you don't live near either place, your best bet is Amazon.com.

Thursday, May 24, 2007

In one who exaggerates self
there is always adherence to "I".
Through that adherence there is attachment to pleasure.

Through attachment disadvantages are obscured
and advantages seen, whereby there is strong attachment,
and objects that are "mine" are taken up as means of acheiveing pleasure.

Hence, as long as there is attraction to self,
so long do you revolve in cyclic existence.
--

There is no Frigate like a Book
To take us Lands away
Nor any Coursers like a Page
Of prancing Poetry --
This Traverse may the poorest take
Without oppress of Toll --
How frugal is the Chariot
That bears the Human soul.

--

Wednesday, May 23, 2007

In response to Jono Bacon's post on (sexual) discrimination in open source and technology in general, I'd like to add some more concrete points.

So what puts women off technology?
A partial list:

  1. Aggressiveness
  2. Being viewed as a sex object
  3. Not being taken seriously
Aggressiveness

The technology field has a rather individualistic and meritocratic culture, which is necessary and good. But whether males are born or socialized with a desire to revert to chest-thumping behaviour during conflicts, such behaviours seem to often carry over into our technical discussions (totally unrelated to hunting for the tribe's dinner).

Perhaps its a sub-conscious matter of establishing an geeky alpha-male status -- I don't know. What I do know is that women have no such need or desire to be the subject of that aggression, and such displays are most likely to give offense and nothing more.

We all have a professional and personal duty to ensure only the best technology gets selected, so no one is going to tell you you cannot argue your point based on your unbiased evidence. What we should do however, is take a good hard look at how we argue our points.

Before you write your next flame, consider how it will be interpreted: as the reasoning of a well balanced adult, or the testosterone fueled temper-tantrum of an under-socialised adolescent?


Being viewed as a sex object

This one should be easy, but I guess it isn't.

How would you feel if you arrived for the latest symposium with a head full of new ideas you're burning to share with all your intellectual peers, but when you arrive you find everyone only wants to talk about your clothes and stare at your crotch?

Women are human beings first, talented professionals next, and females somewhere down the line -- wherever they want to put that designation according to their way. And if anyone dares beat me over the head with the tired line about "why do they wear skirts if they don't want to be looked at", I may become cross.

They do want to be look at as a woman, but long before that they want to be looked at as a complete human and peer first. If you do well enough treating them as respected peers to start with, you'll find they are far more receptive to being treated as a women later -- but thats a priviledge you earn, they're not objects.

That means its only ok to ask women professionals for their address or pictures if thats the same way you treat your male colleagues.

Not being taken seriously

Read the above for one reason why. The rest comes from the belief that women somehow don't do the same amount of work to get where they are.

Its just not true, any more than its true for men. I went completed my computer science degree with my now wife, and there was not one single advantage she had that any other student didn't. Period.